From 20eae462b3b58be300f2dd8bb69d0b74616c2f0f Mon Sep 17 00:00:00 2001 From: Willy Kloucek Date: Tue, 17 Nov 2020 07:59:48 +0100 Subject: [PATCH 1/3] fix exit path for commands templates --- accounts/templates/CONFIGURATION.tmpl | 4 ++-- docs/extensions/accounts/_index.md | 4 +--- glauth/templates/CONFIGURATION.tmpl | 4 ++-- konnectd/templates/CONFIGURATION.tmpl | 4 ++-- ocis-phoenix/templates/CONFIGURATION.tmpl | 4 ++-- ocis/templates/CONFIGURATION.tmpl | 4 ++-- ocs/templates/CONFIGURATION.tmpl | 4 ++-- proxy/templates/CONFIGURATION.tmpl | 4 ++-- settings/templates/CONFIGURATION.tmpl | 4 ++-- storage/templates/CONFIGURATION.tmpl | 4 ++-- store/templates/CONFIGURATION.tmpl | 4 ++-- thumbnails/templates/CONFIGURATION.tmpl | 4 ++-- webdav/templates/CONFIGURATION.tmpl | 4 ++-- 13 files changed, 25 insertions(+), 27 deletions(-) diff --git a/accounts/templates/CONFIGURATION.tmpl b/accounts/templates/CONFIGURATION.tmpl index ab6a93bbf0..595c23873c 100644 --- a/accounts/templates/CONFIGURATION.tmpl +++ b/accounts/templates/CONFIGURATION.tmpl @@ -3,8 +3,8 @@ title: "Configuration" date: "{{ date "2006-01-02T15:04:05-0700" now }}" weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/accounts -geekdocFilePath: configuration.md +geekdocEditPath: edit/master/accounts/templates +geekdocFilePath: CONFIGURATION.tmpl --- {{- define "options"}} {{ $fnName := (last . ).Flags -}} diff --git a/docs/extensions/accounts/_index.md b/docs/extensions/accounts/_index.md index bcd0f17022..cdd6471286 100644 --- a/docs/extensions/accounts/_index.md +++ b/docs/extensions/accounts/_index.md @@ -7,14 +7,12 @@ geekdocEditPath: edit/master/docs/extensions/accounts geekdocFilePath: _index.md --- -[![GitHub](https://img.shields.io/github/license/owncloud/ocis-hello)](https://github.com/owncloud/ocis-hello/blob/master/LICENSE) - ## Abstract OCIS needs to be able to identify users. Whithout a non reassignable and persistend account ID share metadata cannot be reliably persisted. `ocis-accounts` allows exchanging oidc claims for a uuid. Using a uuid allows users to change the login, mail or even openid connect provider without breaking any persisted metadata that might have been attached to it. - persists accounts - uses graph api properties - -ldap can be synced using the onpremise* attributes +- ldap can be synced using the onpremise* attributes ## Table of Contents diff --git a/glauth/templates/CONFIGURATION.tmpl b/glauth/templates/CONFIGURATION.tmpl index 4ad392c934..977db726fe 100644 --- a/glauth/templates/CONFIGURATION.tmpl +++ b/glauth/templates/CONFIGURATION.tmpl @@ -3,8 +3,8 @@ title: "Configuration" date: "{{ date "2006-01-02T15:04:05-0700" now }}" weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/glauth -geekdocFilePath: configuration.md +geekdocEditPath: edit/master/glauth/templates +geekdocFilePath: CONFIGURATION.tmpl --- {{- define "options"}} {{ $fnName := (last . ).Flags -}} diff --git a/konnectd/templates/CONFIGURATION.tmpl b/konnectd/templates/CONFIGURATION.tmpl index 5c22a76626..445eec7e0f 100644 --- a/konnectd/templates/CONFIGURATION.tmpl +++ b/konnectd/templates/CONFIGURATION.tmpl @@ -3,8 +3,8 @@ title: "Configuration" date: "{{ date "2006-01-02T15:04:05-0700" now }}" weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/konnectd -geekdocFilePath: configuration.md +geekdocEditPath: edit/master/konnectd/templates +geekdocFilePath: CONFIGURATION.tmpl --- {{- define "options"}} {{ $fnName := (last . ).Flags -}} diff --git a/ocis-phoenix/templates/CONFIGURATION.tmpl b/ocis-phoenix/templates/CONFIGURATION.tmpl index e07cad149e..3b7584936c 100644 --- a/ocis-phoenix/templates/CONFIGURATION.tmpl +++ b/ocis-phoenix/templates/CONFIGURATION.tmpl @@ -3,8 +3,8 @@ title: "Configuration" date: "{{ date "2006-01-02T15:04:05-0700" now }}" weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/phoenix -geekdocFilePath: configuration.md +geekdocEditPath: edit/master/phoenix/templates +geekdocFilePath: CONFIGURATION.tmpl --- {{- define "options"}} {{ $fnName := (last . ).Flags -}} diff --git a/ocis/templates/CONFIGURATION.tmpl b/ocis/templates/CONFIGURATION.tmpl index aa13550126..55b2249ed2 100644 --- a/ocis/templates/CONFIGURATION.tmpl +++ b/ocis/templates/CONFIGURATION.tmpl @@ -3,8 +3,8 @@ title: "Configuration" date: "{{ date "2006-01-02T15:04:05-0700" now }}" weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/ocis -geekdocFilePath: configuration.md +geekdocEditPath: edit/master/ocis/templates +geekdocFilePath: CONFIGURATION.tmpl --- {{- define "options"}} {{ $fnName := (last . ).Flags -}} diff --git a/ocs/templates/CONFIGURATION.tmpl b/ocs/templates/CONFIGURATION.tmpl index 7f5cea214d..a8138a4406 100644 --- a/ocs/templates/CONFIGURATION.tmpl +++ b/ocs/templates/CONFIGURATION.tmpl @@ -3,8 +3,8 @@ title: "Configuration" date: "{{ date "2006-01-02T15:04:05-0700" now }}" weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/ocs -geekdocFilePath: configuration.md +geekdocEditPath: edit/master/ocs/templates +geekdocFilePath: CONFIGURATION.tmpl --- {{- define "options"}} {{ $fnName := (last . ).Flags -}} diff --git a/proxy/templates/CONFIGURATION.tmpl b/proxy/templates/CONFIGURATION.tmpl index b45332570d..32bf527d50 100644 --- a/proxy/templates/CONFIGURATION.tmpl +++ b/proxy/templates/CONFIGURATION.tmpl @@ -3,8 +3,8 @@ title: "Configuration" date: "{{ date "2006-01-02T15:04:05-0700" now }}" weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/proxy -geekdocFilePath: configuration.md +geekdocEditPath: edit/master/proxy/templates +geekdocFilePath: CONFIGURATION.tmpl --- {{- define "options"}} {{ $fnName := (last . ).Flags -}} diff --git a/settings/templates/CONFIGURATION.tmpl b/settings/templates/CONFIGURATION.tmpl index 0c9ffef86d..41797f6ee6 100644 --- a/settings/templates/CONFIGURATION.tmpl +++ b/settings/templates/CONFIGURATION.tmpl @@ -3,8 +3,8 @@ title: "Configuration" date: "{{ date "2006-01-02T15:04:05-0700" now }}" weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/settings -geekdocFilePath: configuration.md +geekdocEditPath: edit/master/settings/templates +geekdocFilePath: CONFIGURATION.tmpl --- {{- define "options"}} {{ $fnName := (last . ).Flags -}} diff --git a/storage/templates/CONFIGURATION.tmpl b/storage/templates/CONFIGURATION.tmpl index 0d9ae1ab7e..a94a75dc42 100644 --- a/storage/templates/CONFIGURATION.tmpl +++ b/storage/templates/CONFIGURATION.tmpl @@ -3,8 +3,8 @@ title: "Configuration" date: "{{ date "2006-01-02T15:04:05-0700" now }}" weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/storage -geekdocFilePath: configuration.md +geekdocEditPath: edit/master/storage/templates +geekdocFilePath: CONFIGURATION.tmpl --- {{- define "options"}} {{ $fnName := (last . ).Flags -}} diff --git a/store/templates/CONFIGURATION.tmpl b/store/templates/CONFIGURATION.tmpl index a200e322ef..7f63464e43 100644 --- a/store/templates/CONFIGURATION.tmpl +++ b/store/templates/CONFIGURATION.tmpl @@ -3,8 +3,8 @@ title: "Configuration" date: "{{ date "2006-01-02T15:04:05-0700" now }}" weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/store -geekdocFilePath: configuration.md +geekdocEditPath: edit/master/store/templates +geekdocFilePath: CONFIGURATION.tmpl --- {{- define "options"}} {{ $fnName := (last . ).Flags -}} diff --git a/thumbnails/templates/CONFIGURATION.tmpl b/thumbnails/templates/CONFIGURATION.tmpl index 96039e8caa..863eac694c 100644 --- a/thumbnails/templates/CONFIGURATION.tmpl +++ b/thumbnails/templates/CONFIGURATION.tmpl @@ -3,8 +3,8 @@ title: "Configuration" date: "{{ date "2006-01-02T15:04:05-0700" now }}" weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/thumbnails -geekdocFilePath: configuration.md +geekdocEditPath: edit/master/thumbnails/templates +geekdocFilePath: CONFIGURATION.tmpl --- {{- define "options"}} {{ $fnName := (last . ).Flags -}} diff --git a/webdav/templates/CONFIGURATION.tmpl b/webdav/templates/CONFIGURATION.tmpl index 38c55396e6..ec4f2d0815 100644 --- a/webdav/templates/CONFIGURATION.tmpl +++ b/webdav/templates/CONFIGURATION.tmpl @@ -3,8 +3,8 @@ title: "Configuration" date: "{{ date "2006-01-02T15:04:05-0700" now }}" weight: 20 geekdocRepo: https://github.com/owncloud/ocis -geekdocEditPath: edit/master/docs/extensions/webdav -geekdocFilePath: configuration.md +geekdocEditPath: edit/master/webdav/templates +geekdocFilePath: CONFIGURATION.tmpl --- {{- define "options"}} {{ $fnName := (last . ).Flags -}} From f2a1c0614546a614787edfc353ad40026945a26d Mon Sep 17 00:00:00 2001 From: Willy Kloucek Date: Tue, 17 Nov 2020 11:05:14 +0100 Subject: [PATCH 2/3] fix typos, force oCIS and add links --- accounts/templates/CONFIGURATION.tmpl | 2 +- docs/_index.md | 18 +++++--- docs/extensions/accounts/_index.md | 2 +- docs/extensions/accounts/getting-started.md | 46 ------------------- .../ocis-phoenix/getting-started.md | 2 +- docs/extensions/ocis-phoenix/releasing.md | 2 +- docs/extensions/proxy/_index.md | 2 +- docs/extensions/settings/getting-started.md | 2 +- docs/extensions/settings/glossary.md | 2 +- docs/extensions/store/getting-started.md | 2 +- docs/extensions/thumbnails/getting-started.md | 2 +- docs/extensions/webdav/getting-started.md | 2 +- docs/ocis/_index.md | 18 ++++---- docs/ocis/deployment/ocis_oc10_backend.md | 2 +- docs/ocis/deployment/ocis_traefik.md | 2 +- docs/ocis/development/building.md | 4 +- docs/ocis/development/getting-started.md | 2 +- docs/ocis/development/testing.md | 2 +- docs/ocis/eos.md | 2 +- glauth/templates/CONFIGURATION.tmpl | 2 +- konnectd/templates/CONFIGURATION.tmpl | 2 +- ocis-phoenix/templates/CONFIGURATION.tmpl | 2 +- ocis/docker/eos-ocis-dev/README.md | 2 +- ocis/docker/eos-ocis/README.md | 2 +- ocs/templates/CONFIGURATION.tmpl | 2 +- proxy/templates/CONFIGURATION.tmpl | 2 +- settings/templates/CONFIGURATION.tmpl | 2 +- storage/templates/CONFIGURATION.tmpl | 2 +- store/templates/CONFIGURATION.tmpl | 2 +- thumbnails/templates/CONFIGURATION.tmpl | 2 +- webdav/templates/CONFIGURATION.tmpl | 2 +- 31 files changed, 49 insertions(+), 91 deletions(-) diff --git a/accounts/templates/CONFIGURATION.tmpl b/accounts/templates/CONFIGURATION.tmpl index 595c23873c..c5d669edd8 100644 --- a/accounts/templates/CONFIGURATION.tmpl +++ b/accounts/templates/CONFIGURATION.tmpl @@ -41,7 +41,7 @@ For this configuration to be picked up, have a look at your extension `root` com So far we support the file formats `JSON` and `YAML`, if you want to get a full example configuration just take a look at [our repository](https://github.com/owncloud/ocis/tree/master/config), there you can always see the latest configuration format. These example configurations include all available options and the default values. The configuration file will be automatically loaded if it's placed at `/etc/ocis/ocis.yml`, `${HOME}/.ocis/ocis.yml` or `$(pwd)/config/ocis.yml`. -### Envrionment variables +### Environment variables If you prefer to configure the service with environment variables you can see the available variables below. diff --git a/docs/_index.md b/docs/_index.md index 81065208ac..be9104e36d 100644 --- a/docs/_index.md +++ b/docs/_index.md @@ -4,10 +4,15 @@ title: ownCloud ## Developer Documentation -Welcome to our developer documentation. Here you can find documentation for developers on -- The oCIS server +Welcome to our developer documentation. Here you can find developer documentation on: + +- [oCIS](https://owncloud.github.io/ocis/) server - oCIS extensions -- All Client, like Android, iOS, and the Desktop Client +- Clients, like: + - [Phoenix](https://github.com/owncloud/phoenix) - the new web frontend for oCIS and ownCloud + - [ownCloud Android app](https://github.com/owncloud/android) + - [ownCloud iOS app](https://github.com/owncloud/ios-app) + - [ownCloud Desktop Syncing Client](https://github.com/owncloud/client) - Integrations ## We love open source @@ -19,11 +24,10 @@ You can also find all client sources on github. ## Join us -The oCIS server repository on github is a good entrypoint for you to join the project. But we also develop clients for iOS, Android, Desktop and Web. +The oCIS server repository on github is a good entry point for you to join the project. But we also develop clients for iOS, Android, Desktop and Web. -For communication on development you can join our public chat https://talk.owncloud.com +For communication on development you can join our public chat [talk.owncloud.com](https://talk.owncloud.com) -If you want to help and improve ownCloud, start coding or open issues on github in the related repositiory. +If you want to help and improve ownCloud or oCIS, start coding or open issues on github in the related repository. We are very happy to hear your feedback and ideas! - diff --git a/docs/extensions/accounts/_index.md b/docs/extensions/accounts/_index.md index cdd6471286..c701c32eaf 100644 --- a/docs/extensions/accounts/_index.md +++ b/docs/extensions/accounts/_index.md @@ -8,7 +8,7 @@ geekdocFilePath: _index.md --- ## Abstract -OCIS needs to be able to identify users. Whithout a non reassignable and persistend account ID share metadata cannot be reliably persisted. `ocis-accounts` allows exchanging oidc claims for a uuid. Using a uuid allows users to change the login, mail or even openid connect provider without breaking any persisted metadata that might have been attached to it. +oCIS needs to be able to identify users. Without a non reassignable and persistent account ID share metadata cannot be reliably persisted. `accounts` allows exchanging oidc claims for a uuid. Using a uuid allows users to change the login, mail or even openid connect provider without breaking any persisted metadata that might have been attached to it. - persists accounts - uses graph api properties diff --git a/docs/extensions/accounts/getting-started.md b/docs/extensions/accounts/getting-started.md index 79842c93fb..fa2f567ba9 100644 --- a/docs/extensions/accounts/getting-started.md +++ b/docs/extensions/accounts/getting-started.md @@ -20,49 +20,3 @@ TBD ### Binaries TBD - -## Configuration - -We provide overall three different variants of configuration. The variant based on environment variables and commandline flags are split up into global values and command-specific values. - -### Envrionment variables - -If you prefer to configure the service with environment variables you can see the available variables below. - -#### Server - -OCIS_ACCOUNTS_NAME -: Name of the accounts service. It will be part of the namespace. - -OCIS_ACCOUNTS_NAMESPACE -: Namespace of the accounts service. - -OCIS_ACCOUNTS_ADDRESS -: Endpoint for the grpc service endpoint. - -### Commandline flags - -If you prefer to configure the service with commandline flags you can see the available variables below. - -### Configuration file - -So far we support the file formats `JSON` and `YAML`, if you want to get a full example configuration just take a look at [our repository](https://github.com/owncloud/ocis/accounts/tree/master/pkg/config), there you can always see the latest configuration format. These example configurations include all available options and the default values. The configuration file will be automatically loaded if it's placed at `/etc/ocis/accounts.yml`, `${HOME}/.ocis/accounts.yml` or `$(pwd)/config/accounts.yml`. - -## Usage - -The program provides a few sub-commands on execution. The available configuration methods have already been mentioned above. Generally you can always see a formated help output if you execute the binary via `ocis-accounts --help`. - -### Server - -The server command is used to start the grpc server. For further help please execute: - -{{< highlight txt >}} -accounts server --help -{{< / highlight >}} - -### Version -The version command lists the versions of all running instances. For further help please execute: - -{{< highlight txt >}} -accounts version --help -{{< /highlight >}} diff --git a/docs/extensions/ocis-phoenix/getting-started.md b/docs/extensions/ocis-phoenix/getting-started.md index 95d57baa94..b35f10e81f 100644 --- a/docs/extensions/ocis-phoenix/getting-started.md +++ b/docs/extensions/ocis-phoenix/getting-started.md @@ -25,7 +25,7 @@ TBD We provide overall three different variants of configuration. The variant based on environment variables and commandline flags are split up into global values and command-specific values. -### Envrionment variables +### Environment variables If you prefer to configure the service with environment variables you can see the available variables below. diff --git a/docs/extensions/ocis-phoenix/releasing.md b/docs/extensions/ocis-phoenix/releasing.md index 4d80122fcc..a0edfe8533 100644 --- a/docs/extensions/ocis-phoenix/releasing.md +++ b/docs/extensions/ocis-phoenix/releasing.md @@ -10,7 +10,7 @@ geekdocFilePath: releasing.md ## Releasing -The next generation Web Frontend is shipped as an ocis Extension. The `ocis-phoenix` extension is also embedded in the single binary and part of the `ocis server` command. +The next generation Web Frontend is shipped as an oCIS Extension. The `ocis-phoenix` extension is also embedded in the single binary and part of the `ocis server` command. To update this package within all the deliveries, we need to update the package in the following chain from the bottom to the top. diff --git a/docs/extensions/proxy/_index.md b/docs/extensions/proxy/_index.md index 71858199e0..541be599f3 100644 --- a/docs/extensions/proxy/_index.md +++ b/docs/extensions/proxy/_index.md @@ -5,4 +5,4 @@ geekdocEditPath: edit/master/docs/extensions/proxy geekdocFilePath: _index.md --- -This service provides a basic proxy in front of the public ocis services. +This service provides a basic proxy in front of the public oCIS services. diff --git a/docs/extensions/settings/getting-started.md b/docs/extensions/settings/getting-started.md index de39ce398c..571a825270 100644 --- a/docs/extensions/settings/getting-started.md +++ b/docs/extensions/settings/getting-started.md @@ -25,7 +25,7 @@ TBD We provide overall three different variants of configuration. The variant based on environment variables and commandline flags are split up into global values and command-specific values. -### Envrionment variables +### Environment variables If you prefer to configure the service with environment variables you can see the available variables below. diff --git a/docs/extensions/settings/glossary.md b/docs/extensions/settings/glossary.md index fe01c773ae..4e7afb8386 100644 --- a/docs/extensions/settings/glossary.md +++ b/docs/extensions/settings/glossary.md @@ -32,7 +32,7 @@ In the context of this extension and oCIS in general, we are using the following ### Settings Bundle - Collection of related settings -- Registered by an ocis extension +- Registered by an oCIS extension ### Settings Value diff --git a/docs/extensions/store/getting-started.md b/docs/extensions/store/getting-started.md index 6be81110d7..6bc739ebf3 100644 --- a/docs/extensions/store/getting-started.md +++ b/docs/extensions/store/getting-started.md @@ -25,7 +25,7 @@ TBD We provide overall three different variants of configuration. The variant based on environment variables and commandline flags are split up into global values and command-specific values. -### Envrionment variables +### Environment variables If you prefer to configure the service with environment variables you can see the available variables below. diff --git a/docs/extensions/thumbnails/getting-started.md b/docs/extensions/thumbnails/getting-started.md index 544e29c527..99aee374ce 100644 --- a/docs/extensions/thumbnails/getting-started.md +++ b/docs/extensions/thumbnails/getting-started.md @@ -25,7 +25,7 @@ TBD We provide overall three different variants of configuration. The variant based on environment variables and commandline flags are split up into global values and command-specific values. -### Envrionment variables +### Environment variables If you prefer to configure the service with environment variables you can see the available variables below. diff --git a/docs/extensions/webdav/getting-started.md b/docs/extensions/webdav/getting-started.md index 812a4eb995..d975cb3bcb 100644 --- a/docs/extensions/webdav/getting-started.md +++ b/docs/extensions/webdav/getting-started.md @@ -25,7 +25,7 @@ TBD We provide overall three different variants of configuration. The variant based on environment variables and commandline flags are split up into global values and command-specific values. -#### Envrionment variables +#### Environment variables If you prefer to configure the service with environment variables you can see the available variables below. diff --git a/docs/ocis/_index.md b/docs/ocis/_index.md index 59d02847f3..dc7040a772 100644 --- a/docs/ocis/_index.md +++ b/docs/ocis/_index.md @@ -1,5 +1,5 @@ --- -title: "oCIS" +title: "oCIS - ownCloud Infinite Scale" date: 2020-02-27T20:35:00+01:00 weight: -10 geekdocRepo: https://github.com/owncloud/ocis @@ -11,27 +11,27 @@ geekdocFilePath: _index.md ## ownCloud Infinite Scale -Welcome to oCIS! We develop a modern file-sync and share plattform, based on our knowledge and experience with the PHP ownCloud server project. +Welcome to oCIS, the modern file-sync and share platform, which is based on our knowledge and experience with the PHP based [ownCloud server](https://owncloud.com/#server). -### oCIS Server +### oCIS server -The oCIS server implementation follows go-lang best practices and is based on the [go-micro](https://go-micro.dev/) framework and [REVA](https://reva.link/). We love and stick to [12 Factor](https://12factor.net/). +The oCIS server implementation follows [Go](https://golang.org/) best practices and is based on the [go-micro](https://go-micro.dev/) framework and [REVA](https://reva.link/). We love and stick to [12 Factor](https://12factor.net/). oCIS is a micro-service based server, which allows scale-out of individual services to meet your specific performance requirements. -We run a huge test suite, which was originated in ownCloud 10 and continues to grow. +We run a huge [test suite](https://github.com/owncloud/core/tree/master/tests), which was originated in ownCloud 10 and continues to grow. ### Architecture Overview {{< mermaid class="text-center">}} graph TD -ocis-proxy --> - ocis-konnectd & ocis-phoenix & ocis-thumbnails & ocis-ocs & ocis-webdav +proxy --> + konnectd & ocis-phoenix & thumbnails & ocs & webdav ocis-phoenix --> ocis-reva-fronted ocis-reva-fronted --> ocis-reva-gateway -ocis-konnectd --> ocis-glauth +konnectd --> glauth -ocis-reva-gateway --> ocis-reva-users +ocis-reva-gateway --> accounts ocis-reva-gateway --> ocis-reva-authbasic ocis-reva-gateway --> ocis-reva-auth-bearer diff --git a/docs/ocis/deployment/ocis_oc10_backend.md b/docs/ocis/deployment/ocis_oc10_backend.md index b89405271a..3a2e28ff71 100644 --- a/docs/ocis/deployment/ocis_oc10_backend.md +++ b/docs/ocis/deployment/ocis_oc10_backend.md @@ -57,7 +57,7 @@ The described setup can also be used to do a zero-downtime migration from ownClo `$ sudo chmod +x /usr/local/bin/docker-compose` -* Environment variables for OCIS Stack are provided by .env file +* Environment variables for oCIS Stack are provided by .env file ### Setup on server diff --git a/docs/ocis/deployment/ocis_traefik.md b/docs/ocis/deployment/ocis_traefik.md index 8a4aabfc43..8d496768e8 100644 --- a/docs/ocis/deployment/ocis_traefik.md +++ b/docs/ocis/deployment/ocis_traefik.md @@ -49,7 +49,7 @@ geekdocFilePath: ocis_traefik.md `$ sudo chmod +x /usr/local/bin/docker-compose` -* Environment variables for OCIS Stack are provided by .env file +* Environment variables for oCIS Stack are provided by .env file ### Setup on server diff --git a/docs/ocis/development/building.md b/docs/ocis/development/building.md index b4551d90e0..190af94a47 100644 --- a/docs/ocis/development/building.md +++ b/docs/ocis/development/building.md @@ -20,9 +20,9 @@ git clone https://github.com/owncloud/ocis.git cd ocis {{< / highlight >}} -## Build the ocis binary +## Build the oCIS binary -The ocis binary source is in the ocis/ocis folder. In this folder you can build the ocis binary: +The oCIS binary source is in the ocis/ocis folder. In this folder you can build the ocis binary: {{< highlight txt >}} make generate diff --git a/docs/ocis/development/getting-started.md b/docs/ocis/development/getting-started.md index 679dd7f2be..b87370d0d0 100644 --- a/docs/ocis/development/getting-started.md +++ b/docs/ocis/development/getting-started.md @@ -19,7 +19,7 @@ To build and run your local ocis code with default storage driver docker run --rm -ti --name ocis -v $PWD:/ocis -p 9200:9200 owncloud/eos-ocis-dev ``` -The eos-ocis-dev container will build and run ocis using the owncloud storage driver and store files in the container at `/var/tmp/reva/data//files` +The eos-ocis-dev container will build and run oCIS using the ownCloud storage driver and store files in the container at `/var/tmp/reva/data//files` To check the uploaded files start digging with: `docker exec -it ocis ls -l /var/tmp/reva/` diff --git a/docs/ocis/development/testing.md b/docs/ocis/development/testing.md index 3fd74cce3f..329a8c263b 100644 --- a/docs/ocis/development/testing.md +++ b/docs/ocis/development/testing.md @@ -10,7 +10,7 @@ geekdocFilePath: testing.md ## Acceptance tests -We are using the ownCloud 10 acceptance testsuite against ocis. To set this up you need the owncloud 10 core repo, a ldap server that the acceptance tests can use to manage users, a redis server for file-versions and the ocis code. +We are using the ownCloud 10 acceptance testsuite against ocis. To set this up you need the owncloud 10 core repo, a ldap server that the acceptance tests can use to manage users, a redis server for file-versions and the oCIS code. ### Getting the tests diff --git a/docs/ocis/eos.md b/docs/ocis/eos.md index ff1b94b39a..8801b44ae5 100644 --- a/docs/ocis/eos.md +++ b/docs/ocis/eos.md @@ -9,7 +9,7 @@ geekdocFilePath: eos.md {{< toc >}} -OCIS can be configured to run on top of [eos](https://eos.web.cern.ch/). While the [eos documentation](http://eos-docs.web.cern.ch/) does cover a lot of topics it leaves out some details that you may have to either pull from various [docker containers](https://gitlab.cern.ch/eos/eos-docker), the [forums](https://eos-community.web.cern.ch/) or even the [source](https://github.com/cern-eos/eos) itself. +oCIS can be configured to run on top of [eos](https://eos.web.cern.ch/). While the [eos documentation](http://eos-docs.web.cern.ch/) does cover a lot of topics it leaves out some details that you may have to either pull from various [docker containers](https://gitlab.cern.ch/eos/eos-docker), the [forums](https://eos-community.web.cern.ch/) or even the [source](https://github.com/cern-eos/eos) itself. This document is a work in progress of the current setup. diff --git a/glauth/templates/CONFIGURATION.tmpl b/glauth/templates/CONFIGURATION.tmpl index 977db726fe..7b939478d0 100644 --- a/glauth/templates/CONFIGURATION.tmpl +++ b/glauth/templates/CONFIGURATION.tmpl @@ -41,7 +41,7 @@ For this configuration to be picked up, have a look at your extension `root` com So far we support the file formats `JSON` and `YAML`, if you want to get a full example configuration just take a look at [our repository](https://github.com/owncloud/ocis/tree/master/config), there you can always see the latest configuration format. These example configurations include all available options and the default values. The configuration file will be automatically loaded if it's placed at `/etc/ocis/ocis.yml`, `${HOME}/.ocis/ocis.yml` or `$(pwd)/config/ocis.yml`. -### Envrionment variables +### Environment variables If you prefer to configure the service with environment variables you can see the available variables below. diff --git a/konnectd/templates/CONFIGURATION.tmpl b/konnectd/templates/CONFIGURATION.tmpl index 445eec7e0f..928157c352 100644 --- a/konnectd/templates/CONFIGURATION.tmpl +++ b/konnectd/templates/CONFIGURATION.tmpl @@ -41,7 +41,7 @@ For this configuration to be picked up, have a look at your extension `root` com So far we support the file formats `JSON` and `YAML`, if you want to get a full example configuration just take a look at [our repository](https://github.com/owncloud/ocis/tree/master/config), there you can always see the latest configuration format. These example configurations include all available options and the default values. The configuration file will be automatically loaded if it's placed at `/etc/ocis/ocis.yml`, `${HOME}/.ocis/ocis.yml` or `$(pwd)/config/ocis.yml`. -### Envrionment variables +### Environment variables If you prefer to configure the service with environment variables you can see the available variables below. diff --git a/ocis-phoenix/templates/CONFIGURATION.tmpl b/ocis-phoenix/templates/CONFIGURATION.tmpl index 3b7584936c..7ae23b1c0b 100644 --- a/ocis-phoenix/templates/CONFIGURATION.tmpl +++ b/ocis-phoenix/templates/CONFIGURATION.tmpl @@ -41,7 +41,7 @@ For this configuration to be picked up, have a look at your extension `root` com So far we support the file formats `JSON` and `YAML`, if you want to get a full example configuration just take a look at [our repository](https://github.com/owncloud/ocis/tree/master/config), there you can always see the latest configuration format. These example configurations include all available options and the default values. The configuration file will be automatically loaded if it's placed at `/etc/ocis/ocis.yml`, `${HOME}/.ocis/ocis.yml` or `$(pwd)/config/ocis.yml`. -### Envrionment variables +### Environment variables If you prefer to configure the service with environment variables you can see the available variables below. diff --git a/ocis/docker/eos-ocis-dev/README.md b/ocis/docker/eos-ocis-dev/README.md index 6f4b3c384f..a2e6e9f7a7 100644 --- a/ocis/docker/eos-ocis-dev/README.md +++ b/ocis/docker/eos-ocis-dev/README.md @@ -1,4 +1,4 @@ -# Docker image for ocis development with eos +# Docker image for oCIS development with eos Image is based on [owncloud/eos-base](https://hub.docker.com/r/owncloud/eos-base) from [eos-stack](https://github.com/owncloud-docker/eos-stack) diff --git a/ocis/docker/eos-ocis/README.md b/ocis/docker/eos-ocis/README.md index bacad37384..b987ec27b6 100644 --- a/ocis/docker/eos-ocis/README.md +++ b/ocis/docker/eos-ocis/README.md @@ -1,4 +1,4 @@ -# Docker image for ocis running on eos +# Docker image for oCIS running on eos Image is based on [owncloud/eos-base](https://hub.docker.com/r/owncloud/eos-base) from [eos-stack](https://github.com/owncloud-docker/eos-stack) diff --git a/ocs/templates/CONFIGURATION.tmpl b/ocs/templates/CONFIGURATION.tmpl index a8138a4406..5c190dbe1e 100644 --- a/ocs/templates/CONFIGURATION.tmpl +++ b/ocs/templates/CONFIGURATION.tmpl @@ -41,7 +41,7 @@ For this configuration to be picked up, have a look at your extension `root` com So far we support the file formats `JSON` and `YAML`, if you want to get a full example configuration just take a look at [our repository](https://github.com/owncloud/ocis/tree/master/config), there you can always see the latest configuration format. These example configurations include all available options and the default values. The configuration file will be automatically loaded if it's placed at `/etc/ocis/ocis.yml`, `${HOME}/.ocis/ocis.yml` or `$(pwd)/config/ocis.yml`. -### Envrionment variables +### Environment variables If you prefer to configure the service with environment variables you can see the available variables below. diff --git a/proxy/templates/CONFIGURATION.tmpl b/proxy/templates/CONFIGURATION.tmpl index 32bf527d50..bedf5af16a 100644 --- a/proxy/templates/CONFIGURATION.tmpl +++ b/proxy/templates/CONFIGURATION.tmpl @@ -41,7 +41,7 @@ For this configuration to be picked up, have a look at your extension `root` com So far we support the file formats `JSON` and `YAML`, if you want to get a full example configuration just take a look at [our repository](https://github.com/owncloud/ocis/tree/master/config), there you can always see the latest configuration format. These example configurations include all available options and the default values. The configuration file will be automatically loaded if it's placed at `/etc/ocis/ocis.yml`, `${HOME}/.ocis/ocis.yml` or `$(pwd)/config/ocis.yml`. -### Envrionment variables +### Environment variables If you prefer to configure the service with environment variables you can see the available variables below. diff --git a/settings/templates/CONFIGURATION.tmpl b/settings/templates/CONFIGURATION.tmpl index 41797f6ee6..1e24058bf2 100644 --- a/settings/templates/CONFIGURATION.tmpl +++ b/settings/templates/CONFIGURATION.tmpl @@ -41,7 +41,7 @@ For this configuration to be picked up, have a look at your extension `root` com So far we support the file formats `JSON` and `YAML`, if you want to get a full example configuration just take a look at [our repository](https://github.com/owncloud/ocis/tree/master/config), there you can always see the latest configuration format. These example configurations include all available options and the default values. The configuration file will be automatically loaded if it's placed at `/etc/ocis/ocis.yml`, `${HOME}/.ocis/ocis.yml` or `$(pwd)/config/ocis.yml`. -### Envrionment variables +### Environment variables If you prefer to configure the service with environment variables you can see the available variables below. diff --git a/storage/templates/CONFIGURATION.tmpl b/storage/templates/CONFIGURATION.tmpl index a94a75dc42..096c42cfef 100644 --- a/storage/templates/CONFIGURATION.tmpl +++ b/storage/templates/CONFIGURATION.tmpl @@ -54,7 +54,7 @@ For this configuration to be picked up, have a look at your extension `root` com So far we support the file formats `JSON` and `YAML`, if you want to get a full example configuration just take a look at [our repository](https://github.com/owncloud/ocis/tree/master/config), there you can always see the latest configuration format. These example configurations include all available options and the default values. The configuration file will be automatically loaded if it's placed at `/etc/ocis/ocis.yml`, `${HOME}/.ocis/ocis.yml` or `$(pwd)/config/ocis.yml`. -### Envrionment variables +### Environment variables If you prefer to configure the service with environment variables you can see the available variables below. diff --git a/store/templates/CONFIGURATION.tmpl b/store/templates/CONFIGURATION.tmpl index 7f63464e43..6b6ec0bf76 100644 --- a/store/templates/CONFIGURATION.tmpl +++ b/store/templates/CONFIGURATION.tmpl @@ -41,7 +41,7 @@ For this configuration to be picked up, have a look at your extension `root` com So far we support the file formats `JSON` and `YAML`, if you want to get a full example configuration just take a look at [our repository](https://github.com/owncloud/ocis/tree/master/config), there you can always see the latest configuration format. These example configurations include all available options and the default values. The configuration file will be automatically loaded if it's placed at `/etc/ocis/ocis.yml`, `${HOME}/.ocis/ocis.yml` or `$(pwd)/config/ocis.yml`. -### Envrionment variables +### Environment variables If you prefer to configure the service with environment variables you can see the available variables below. diff --git a/thumbnails/templates/CONFIGURATION.tmpl b/thumbnails/templates/CONFIGURATION.tmpl index 863eac694c..e45aa1ad52 100644 --- a/thumbnails/templates/CONFIGURATION.tmpl +++ b/thumbnails/templates/CONFIGURATION.tmpl @@ -41,7 +41,7 @@ For this configuration to be picked up, have a look at your extension `root` com So far we support the file formats `JSON` and `YAML`, if you want to get a full example configuration just take a look at [our repository](https://github.com/owncloud/ocis/tree/master/config), there you can always see the latest configuration format. These example configurations include all available options and the default values. The configuration file will be automatically loaded if it's placed at `/etc/ocis/ocis.yml`, `${HOME}/.ocis/ocis.yml` or `$(pwd)/config/ocis.yml`. -### Envrionment variables +### Environment variables If you prefer to configure the service with environment variables you can see the available variables below. diff --git a/webdav/templates/CONFIGURATION.tmpl b/webdav/templates/CONFIGURATION.tmpl index ec4f2d0815..559344f674 100644 --- a/webdav/templates/CONFIGURATION.tmpl +++ b/webdav/templates/CONFIGURATION.tmpl @@ -41,7 +41,7 @@ For this configuration to be picked up, have a look at your extension `root` com So far we support the file formats `JSON` and `YAML`, if you want to get a full example configuration just take a look at [our repository](https://github.com/owncloud/ocis/tree/master/config), there you can always see the latest configuration format. These example configurations include all available options and the default values. The configuration file will be automatically loaded if it's placed at `/etc/ocis/ocis.yml`, `${HOME}/.ocis/ocis.yml` or `$(pwd)/config/ocis.yml`. -### Envrionment variables +### Environment variables If you prefer to configure the service with environment variables you can see the available variables below. From e91d67e29a0762fa8d00971f86414264ff901691 Mon Sep 17 00:00:00 2001 From: Willy Kloucek Date: Thu, 19 Nov 2020 14:22:34 +0100 Subject: [PATCH 3/3] [docs-only] work on getting started and deployment examples docs --- docs/ocis/_index.md | 13 +- docs/ocis/deployment/_index.md | 15 +- docs/ocis/deployment/bridge.md | 2 +- ...ernal_konnectd.md => ocis_external_idp.md} | 66 ++--- docs/ocis/deployment/ocis_oc10_backend.md | 63 ++--- docs/ocis/deployment/ocis_traefik.md | 60 ++--- docs/ocis/deployment/preparing_server.md | 67 +++++ docs/ocis/development/_index.md | 2 - docs/ocis/getting-started.md | 236 ++++-------------- docs/ocis/metrics.md | 109 ++++++++ 10 files changed, 297 insertions(+), 336 deletions(-) rename docs/ocis/deployment/{ocis_external_konnectd.md => ocis_external_idp.md} (69%) create mode 100644 docs/ocis/deployment/preparing_server.md create mode 100644 docs/ocis/metrics.md diff --git a/docs/ocis/_index.md b/docs/ocis/_index.md index dc7040a772..57727f9961 100644 --- a/docs/ocis/_index.md +++ b/docs/ocis/_index.md @@ -24,19 +24,10 @@ We run a huge [test suite](https://github.com/owncloud/core/tree/master/tests), {{< mermaid class="text-center">}} graph TD proxy --> - konnectd & ocis-phoenix & thumbnails & ocs & webdav + konnectd & ocis-phoenix & thumbnails & ocs & webdav & storage & accounts & store & settings -ocis-phoenix --> ocis-reva-fronted -ocis-reva-fronted --> ocis-reva-gateway konnectd --> glauth +storage --> REVA -ocis-reva-gateway --> accounts -ocis-reva-gateway --> ocis-reva-authbasic -ocis-reva-gateway --> ocis-reva-auth-bearer - -ocis-reva-gateway --> ocis-reva-sharing -ocis-reva-gateway --> ocis-reva-storage-home-* -ocis-reva-storage-home-* --> ocis-reva-storage-home-*-data -ocis-reva-sharing --> redis {{< /mermaid >}} diff --git a/docs/ocis/deployment/_index.md b/docs/ocis/deployment/_index.md index 1ebcd9fa41..d308ed69f0 100644 --- a/docs/ocis/deployment/_index.md +++ b/docs/ocis/deployment/_index.md @@ -9,16 +9,15 @@ geekdocFilePath: _index.md {{< toc >}} -## Deployments Scenarios and Examples -This section handles deployments and operations for admins. If you are looking for a development setup, start with +## Deployments scenarios and examples +This section handles deployments and operations for admins. If you are looking for a development setup, start with [Getting started](https://owncloud.github.io/ocis/getting-started/). -### Setup oCIS -oCIS deployments are super simple, yet there are many configrations possible for advanced setups. +### Setup oCIS on your server +oCIS deployments are super simple, yet there are many configurations possible for advanced setups. -- Basic setup - download and run -- Pick services and manage them individually -- SSL offloading with Traefik -- Use an external IDP +- [Basic oCIS setup]({{< ref "basic-remote-setup.md" >}}) - configure domain, certificates and port +- [oCIS setup with Traefik for ssl termination]({{< ref "ocis_traefik.md" >}}) +- [oCIS setup with external OIDC IDP]({{< ref "ocis_external_idp.md" >}}) ### Migrate an existing ownCloud 10 You can run ownCloud 10 and oCIS together. This allows you to use new parts of oCIS already with ownCloud 10 and also to have a smooth transition for users from ownCloud 10 to oCIS. diff --git a/docs/ocis/deployment/bridge.md b/docs/ocis/deployment/bridge.md index 9f276170a5..079e3c1026 100644 --- a/docs/ocis/deployment/bridge.md +++ b/docs/ocis/deployment/bridge.md @@ -1,6 +1,6 @@ --- title: "Bridge" -date: 2020-02-27T20:35:00+01:00 +date: 2022-02-27T20:35:00+01:00 weight: 30 geekdocRepo: https://github.com/owncloud/ocis geekdocEditPath: edit/master/docs/ocis/deployment diff --git a/docs/ocis/deployment/ocis_external_konnectd.md b/docs/ocis/deployment/ocis_external_idp.md similarity index 69% rename from docs/ocis/deployment/ocis_external_konnectd.md rename to docs/ocis/deployment/ocis_external_idp.md index 6f8b2eb64b..e61ba1808b 100644 --- a/docs/ocis/deployment/ocis_external_konnectd.md +++ b/docs/ocis/deployment/ocis_external_idp.md @@ -1,59 +1,36 @@ --- -title: "ocis with konnectd on external node deployment scenario" +title: "oCIS with external IDP" date: 2020-10-12T14:39:00+01:00 weight: 26 geekdocRepo: https://github.com/owncloud/ocis geekdocEditPath: edit/master/docs/ocis/deployment -geekdocFilePath: ocis_external_konnectd.md +geekdocFilePath: ocis_external_idp.md --- {{< toc >}} -This scenario shows how to setup ocis with konnectd as idp running on a separate node. Both node are having separate domains pointing on the servers. +This scenario shows how to setup oCIS and konnectd as external IDP (identity provider). Both have separate domains and will be configured to work together. ## Overview -* ocis and konnectd running on linux nodes behind traefik as reverse proxy -* Cloudflare DNS is resolving the domains -* Letsencrypt provides ssl certificates for the domains -* Traefik docker container terminates ssl and forwards http requests to the services +* Server 1: oCIS running behind traefik as reverse proxy +* Server 2: IDP running behind traefik as reverse proxy +* Valid ssl certificates for the domains for ssl termination -## Nodes +[Find this example on GitHub](https://github.com/owncloud/ocis/tree/master/deployments/examples/ocis_external_konnectd) + + + +## Server Deployment ### Requirements -* Server running Ubuntu 20.04 is public availible with a static ip address -* Two A-records for both domains are pointing on the servers ip address -* Create user +* 2 Linux servers, each with docker and docker-compose installed +* Two domains set up and pointing to the target server - `$ sudo adduser username` +See also [example server setup]({{< ref "preparing_server.md" >}}) -* Add user to sudo group - - `$ sudo usermod -aG sudo username` - -* Add users pub key to `~/.ssh/authorized_keys` -* Setup ssh to permit authorisation only by ssh key -* Install docker - - `$ sudo apt install docker.io` - -* Add user to docker group - - `$ sudo usermod -aG docker username` - -* Install docker-compose via - - `$ sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose` - - (docker compose version 1.27.4 as of today) -* Make docker-compose executable - - `$ sudo chmod +x /usr/local/bin/docker-compose` - -* Environment variables for OCIS Stack are provided by .env file - -### Setup on ocis server +### Install oCIS server * Clone ocis repository @@ -77,7 +54,7 @@ This scenario shows how to setup ocis with konnectd as idp running on a separate `docker-compose up -d` -### Setup on idp server +### Install IDP server * Clone ocis repository @@ -105,11 +82,7 @@ This scenario shows how to setup ocis with konnectd as idp running on a separate `docker-compose up -d` -### Stack - -On both nodes, a traefik dokcer container is terminating ssl and forwards the http requests to the services. The nodes are named according to their services. - -### Config +### Configuration #### Repository structure @@ -192,3 +165,8 @@ ocis: - 9125:9125 ... ``` + +## Local setup +For simple local ocis setup see [Getting started]({{< ref "../getting-started.md" >}}) + +Local setup coming soon \ No newline at end of file diff --git a/docs/ocis/deployment/ocis_oc10_backend.md b/docs/ocis/deployment/ocis_oc10_backend.md index 3a2e28ff71..08144c7692 100644 --- a/docs/ocis/deployment/ocis_oc10_backend.md +++ b/docs/ocis/deployment/ocis_oc10_backend.md @@ -1,5 +1,5 @@ --- -title: "ocis frontend with oc10 backend deployment scenario" +title: "ownCloud Web with ownCloud 10" date: 2020-10-12T14:04:00+01:00 weight: 25 geekdocRepo: https://github.com/owncloud/ocis @@ -9,58 +9,35 @@ geekdocFilePath: ocis_frontend_oc10_backend.md {{< toc >}} -This deployment scenario shows how to use ocis as frontend for an existing ownCloud 10 production installation. It enables -ownCloud 10 users to log in and work with their files using the new ocis-web UI. While the scenario includes +This deployment scenario shows how to use ownCloud Web as frontend for an existing ownCloud 10 production installation. It enables +ownCloud 10 users to log in and work with their files using the new ownCloud Web. While the scenario includes an ownCloud 10 instance, it only exists to show the necessary configuration for your already existing ownCloud 10 installation. -The described setup can also be used to do a zero-downtime migration from ownCloud 10 to ocis. - ## Overview -### Node Setup +* oCIS setup serving ownCloud Web +* ownCloud 10 setup connected to oCIS +* DNS is resolving one domain for ocis and one for oc10 +* Valid ssl certificates for the domains for ssl termination -* ocis and oc10 running as docker containers behind traefik as reverse proxy -* Cloudflare DNS is resolving one domain for ocis and one for oc10 -* Letsencrypt is providing valid ssl certificate for both domains +[Find this example on GitHub](https://github.com/owncloud/ocis/tree/master/deployments/examples/ocis_external_konnectd) -## Node Deployment +## Server Deployment ### Requirements -* Server running Ubuntu 20.04 is publicly available with a static ip address -* Two A-records for both domains are pointing to the servers ip address -* Create user +* Linux server(s) with docker and docker-compose installed +* Two domains set up and pointing to your server(s) - `$ sudo adduser username` - -* Add user to sudo group - - `$ sudo usermod -aG sudo username` - -* Add users pub key to `~/.ssh/authorized_keys` -* Setup ssh to permit authorisation only by ssh key -* Install docker - - `$ sudo apt install docker.io` - -* Add user to docker group - - `$ sudo usermod -aG docker username` - -* Install docker-compose via - - `$ sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose` - - (docker compose version 1.27.4 as of today) -* Make docker-compose executable - - `$ sudo chmod +x /usr/local/bin/docker-compose` - -* Environment variables for oCIS Stack are provided by .env file +See also [example server setup]({{< ref "preparing_server.md" >}}) ### Setup on server +The application stack is separated in docker containers. One is a traefik proxy which is terminating ssl and forwards the https requests to the internal docker network. Additionally, traefik is creating two certificates that are stored in the file `letsencrypt/acme.json` of the users home directory. In a local setup, this traefik is not included. +The next container is the ocis server which is exposing the webservice on port 9200 to traefik and provides the oidc provider `konnectd` to owncloud. +oc10 is running as a three container setup out of owncloud-server, a db container and a redis container as memcache storage. + * Clone ocis repository `git clone https://github.com/owncloud/ocis.git` @@ -84,11 +61,6 @@ The described setup can also be used to do a zero-downtime migration from ownClo The domains from your `.env` will be used for building the configuration files during the docker start. -### Stack - -The application stack is separated in docker containers. One is a traefik proxy which is terminating ssl and forwards the https requests to the internal docker network. Additionally, traefik is creating two certificates that are stored in the file `letsencrypt/acme.json` of the users home directory. In a local setup, this traefik is not included. -The next container is the ocis server which is exposing the webservice on port 9200 to traefik and provides the oidc provider `konnectd` to owncloud. -oc10 is running as a three container setup out of owncloud-server, a db container and a redis container as memcache storage. ### Config @@ -366,7 +338,8 @@ Constraints: In this setup it's mandatory that the user has an email address set Especially the default admin user doesn't have an email assigned. If your admin user doesn't have an email address, yet, please set one: `docker-compose exec owncloud occ user:modify admin email "admin@example.org"` -## Local deployment +## Local setup +For simple local ocis setup see [Getting started]({{< ref "../getting-started.md" >}}) If you want to start the bridge setup on your local development machine, there are a few steps necessary: diff --git a/docs/ocis/deployment/ocis_traefik.md b/docs/ocis/deployment/ocis_traefik.md index 8d496768e8..8af55d476e 100644 --- a/docs/ocis/deployment/ocis_traefik.md +++ b/docs/ocis/deployment/ocis_traefik.md @@ -1,5 +1,5 @@ --- -title: "ocis with traefik deployment scenario" +title: "oCIS with Traefik" date: 2020-10-12T14:04:00+01:00 weight: 24 geekdocRepo: https://github.com/owncloud/ocis @@ -11,47 +11,27 @@ geekdocFilePath: ocis_traefik.md ## Overview -* ocis running on a hcloud node behind traefik as reverse proxy -* Cloudflare DNS is resolving the domain -* Letsencrypt provides a ssl certificate for the domain -* Traefik docker container terminates ssl and forwards http requests to ocis +* oCIS running behind traefik as reverse proxy +* Valid ssl certificates for the domains for ssl termination -## Node +[Find this example on GitHub](https://github.com/owncloud/ocis/tree/master/deployments/examples/ocis_traefik) + + + +## Server Deployment ### Requirements -* Server running Ubuntu 20.04 is public availible with a static ip address -* Two A-records for both domains are pointing on the servers ip address -* Create user +* Linux server(s) with docker and docker-compose installed +* Two domains set up and pointing to your server(s) - `$ sudo adduser username` +See also [example server setup]({{< ref "preparing_server.md" >}}) -* Add user to sudo group - `$ sudo usermod -aG sudo username` +### Install oCIS and Traefik -* Add users pub key to `~/.ssh/authorized_keys` -* Setup ssh to permit authorisation only by ssh key -* Install docker - - `$ sudo apt install docker.io` - -* Add user to docker group - - `$ sudo usermod -aG docker username` - -* Install docker-compose via - - `$ sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose` - - (docker compose version 1.27.4 as of today) -* Make docker-compose executable - - `$ sudo chmod +x /usr/local/bin/docker-compose` - -* Environment variables for oCIS Stack are provided by .env file - -### Setup on server +The application stack contains two containers. The first one is a traefik proxy which is terminating ssl and forwards the requests to the internal docker network. Additional, traefik is creating a certificate that is stored in `acme.json` in the folder `letsencrypt` inside the users home directory. +The second one is th ocis server which is exposing the webservice on port 9200 to traefik. * Clone ocis repository @@ -77,12 +57,7 @@ geekdocFilePath: ocis_traefik.md `docker-compose up -d` -### Stack - -The application stack contains two containers. The first one is a traefik proxy which is terminating ssl and forwards the requests to the internal docker network. Additional, traefik is creating a certificate that is stored in `acme.json` in the folder `letsencrypt` inside the users home directory. -The second one is th ocis server which is exposing the webservice on port 9200 to traefic. - -### Config +### Configuration Edit docker-compose.yml file to fit your domain setup @@ -146,3 +121,8 @@ To make it availible for ocis inside of the container, `config` hast to be mount KONNECTD_IDENTIFIER_REGISTRATION_CONF: "/etc/ocis/identifier-registration.yml" ... ``` + +## Local setup +For simple local ocis setup see [Getting started]({{< ref "../getting-started.md" >}}) + +Local setup with Traefik coming soon \ No newline at end of file diff --git a/docs/ocis/deployment/preparing_server.md b/docs/ocis/deployment/preparing_server.md new file mode 100644 index 0000000000..5e6bba68e4 --- /dev/null +++ b/docs/ocis/deployment/preparing_server.md @@ -0,0 +1,67 @@ +--- +title: "Preparing a server" +date: 2020-10-12T14:04:00+01:00 +weight: 10 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/ocis/deployment +geekdocFilePath: preparing_server.md +--- + +{{< toc >}} + + +## Example for Hetzner Cloud +* create server on Hetzner Cloud. Set labels "owner" and "for". Example for hcloud cli: +`hcloud server create --type cx21 --image ubuntu-20.04 --ssh-key admin --name ocis-server --label owner=admin --label for=testing` + +* Configure DNS A-records for needed domains pointing on the servers ip address, for example in CloudFlare + +* Access server via ssh as root + +* Create a new user + + `$ adduser --disabled-password --gecos "" admin` + +* Add user to sudo group + + `$ usermod -aG sudo admin` + +* Install docker + + ``` + apt update + apt install docker.io + ``` + +* Add user to docker group + + `usermod -aG docker admin` + +* Install docker-compose via + + `curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose` + + (docker compose version 1.27.4 as of today) +* Make docker-compose executable + + `chmod +x /usr/local/bin/docker-compose` + + +* Add users pub key to + ``` + mkdir /home/admin/.ssh + echo "" >> /home/admin/.ssh/authorized_keys` + chown admin:admin -R /home/admin/.ssh + ``` + +* Secure ssh daemon by editing `/etc/ssh/sshd_config` + ``` + PermitRootLogin no + ChallengeResponseAuthentication no + PasswordAuthentication no + UsePAM no + ``` + +* restart sshd server to apply settings `systemctl restart sshd` + +* Login as the user you created diff --git a/docs/ocis/development/_index.md b/docs/ocis/development/_index.md index 9730473efe..c3fc859271 100644 --- a/docs/ocis/development/_index.md +++ b/docs/ocis/development/_index.md @@ -8,5 +8,3 @@ geekdocFilePath: _index.md --- {{< toc >}} - -## Deployments Scenarios and Examples diff --git a/docs/ocis/getting-started.md b/docs/ocis/getting-started.md index d3c14b70c7..6b01901d68 100644 --- a/docs/ocis/getting-started.md +++ b/docs/ocis/getting-started.md @@ -9,79 +9,43 @@ geekdocFilePath: getting-started.md {{< toc >}} -## Installation +## Run oCIS + +We are distributing oCIS as binaries and Docker images. + +You can find more deployments examples in the [deployment section](https://owncloud.github.io/ocis/deployment/) + +### Binaries + +The binaries for different platforms are downloadable at [our download mirror](https://download.owncloud.com/ocis/ocis/) or on [GitHub](https://github.com/owncloud/ocis/releases). Latest binaries from the master branch can be found at [our download mirrors testing section](https://download.owncloud.com/ocis/ocis/testing/). + +```console +# for mac +curl https://download.owncloud.com/ocis/ocis/testing/ocis-testing-darwin-amd64 --output ocis +# for linux +curl https://download.owncloud.com/ocis/ocis/testing/ocis-testing-linux-amd64 --output ocis +# make binary executable +chmod +x ocis +./ocis server +``` + +The default primary storage location is `/var/tmp/`. You can change that value by configuration. -So far we are offering two different variants for the installation. You can choose between [Docker](https://www.docker.com/) or pre-built binaries which are stored on our download mirrors and GitHub releases. Maybe we will also provide system packages for the major distributions later if we see the need for it. ### Docker -Docker images for ocis are hosted on https://hub.docker.com/r/owncloud/ocis. +Docker images for oCIS are available on [Docker Hub](https://hub.docker.com/r/owncloud/ocis). The `latest` tag always reflects the current master branch. ```console docker pull owncloud/ocis +docker run --rm -ti -p 9200:9200 owncloud/ocis ``` -#### Dependencies - -- Running ocis currently needs a working Redis caching server -- The default storage location in the container is `/var/tmp/reva/data`. You may want to create a volume to persist the files in the primary storage - -#### Docker compose - -You can use our docker-compose [playground example](https://github.com/owncloud-docker/compose-playground/tree/master/ocis) to run ocis with dependencies with a single command in a docker network. - -```console -git clone git@github.com:owncloud-docker/compose-playground.git -cd compose-playground/ocis -docker-compose -f ocis.yml -f ../cache/redis-ocis.yml up -``` - -### Binaries - -The pre-built binaries for different platforms are downloadable at https://download.owncloud.com/ocis/ocis/ . Specific releases are organized in separate folders. They are in sync which every release tag on GitHub. The binaries from the current master branch can be found in https://download.owncloud.com/ocis/ocis/testing/ - -```console -curl https://download.owncloud.com/ocis/ocis/1.0.0-beta1/ocis-1.0.0-beta1-darwin-amd64 --output ocis -chmod +x ocis -./ocis server -``` - -#### Dependencies - -- Running ocis currently needs a working Redis caching server -- The default promary storage location is `/var/tmp/reva/data`. You can change that value by configuration. - ## Usage -The program provides a few sub-commands on execution. The available configuration methods have already been mentioned above. Generally you can always see a formated help output if you execute the binary via `ocis --help`. - -### Server - -The server command is used to start the http and debug server on two addresses within a single process. The http server is serving the general webservice while the debug server is used for health check, readiness check and to server the metrics mentioned below. For further help please execute: - -{{< highlight txt >}} -ocis server --help -{{< / highlight >}} - -### Health - -The health command is used to execute a health check, if the exit code equals zero the service should be up and running, if the exist code is greater than zero the service is not in a healthy state. Generally this command is used within our Docker containers, it could also be used within Kubernetes. - -{{< highlight txt >}} -ocis health --help -{{< / highlight >}} - -## Quickstart for Developers - -Following https://github.com/owncloud/ocis#development - -```console -git clone https://github.com/owncloud/ocis.git -cd ocis -make generate build -``` +### Login to oCIS Web Open https://localhost:9200 and login using one of the demo accounts: @@ -97,138 +61,40 @@ moss:vista admin:admin ``` -## Runtime +### Basic Commands -Included with the ocis binary is embedded a go-micro runtime that is in charge of starting services as a fork of the master process. This provides complete control over the services. Ocis extensions can be added as part of this runtime. +The program provides a few sub-commands on execution. The available configuration methods have already been mentioned above. Generally you can always see a formatted help output if you execute the binary via `ocis --help`. -```console -./bin/ocis micro -``` +The server command is used to start the http and debug server on two addresses within a single process. The http server is serving the general web service while the debug server is used for health check, readiness check and to server the metrics mentioned below. -This will currently boot: +To start oCIS server: -```console -com.owncloud.api -com.owncloud.http.broker -com.owncloud.proxy -com.owncloud.registry -com.owncloud.router -com.owncloud.runtime -com.owncloud.web -go.micro.http.broker -``` +{{< highlight txt >}} +ocis server +{{< / highlight >}} -Further ocis extensions can be added to the runtime via the ocis command like: +The list command prints all running oCIS services. +{{< highlight txt >}} +ocis list +{{< / highlight >}} -```console -./bin/ocis hello -``` +To stop a particular extension: +{{< highlight txt >}} +ocis server kill phoenix +{{< / highlight >}} -Which will register: +To start a particular extension: +{{< highlight txt >}} +ocis server run phoenix +{{< / highlight >}} -```console -com.owncloud.web.hello -com.owncloud.api.hello -``` +The version command prints the version of your installed oCIS. +{{< highlight txt >}} +ocis --version +{{< / highlight >}} -To the list of available services. +The health command is used to execute a health check, if the exit code equals zero the service should be up and running, if the exist code is greater than zero the service is not in a healthy state. Generally this command is used within our Docker containers, it could also be used within Kubernetes. -## Metrics - -This service provides some [Prometheus](https://prometheus.io/) metrics through the debug endpoint, you can optionally secure the metrics endpoint by some random token, which got to be configured through one of the flag `--debug-token` or the environment variable `OCIS_DEBUG_TOKEN` mentioned above. By default the metrics endpoint is bound to `http://0.0.0.0:8001/metrics`. - -go_gc_duration_seconds -: A summary of the GC invocation durations - -go_gc_duration_seconds_sum -: A summary of the GC invocation durations - -go_gc_duration_seconds_count -: A summary of the GC invocation durations - -go_goroutines -: Number of goroutines that currently exist - -go_info -: Information about the Go environment - -go_memstats_alloc_bytes -: Number of bytes allocated and still in use - -go_memstats_alloc_bytes_total -: Total number of bytes allocated, even if freed - -go_memstats_buck_hash_sys_bytes -: Number of bytes used by the profiling bucket hash table - -go_memstats_frees_total -: Total number of frees - -go_memstats_gc_cpu_fraction -: The fraction of this program's available CPU time used by the GC since the program started - -go_memstats_gc_sys_bytes -: Number of bytes used for garbage collection system metadata - -go_memstats_heap_alloc_bytes -: Number of heap bytes allocated and still in use - -go_memstats_heap_idle_bytes -: Number of heap bytes waiting to be used - -go_memstats_heap_inuse_bytes -: Number of heap bytes that are in use - -go_memstats_heap_objects -: Number of allocated objects - -go_memstats_heap_released_bytes -: Number of heap bytes released to OS - -go_memstats_heap_sys_bytes -: Number of heap bytes obtained from system - -go_memstats_last_gc_time_seconds -: Number of seconds since 1970 of last garbage collection - -go_memstats_lookups_total -: Total number of pointer lookups - -go_memstats_mallocs_total -: Total number of mallocs - -go_memstats_mcache_inuse_bytes -: Number of bytes in use by mcache structures - -go_memstats_mcache_sys_bytes -: Number of bytes used for mcache structures obtained from system - -go_memstats_mspan_inuse_bytes -: Number of bytes in use by mspan structures - -go_memstats_mspan_sys_bytes -: Number of bytes used for mspan structures obtained from system - -go_memstats_next_gc_bytes -: Number of heap bytes when next garbage collection will take place - -go_memstats_other_sys_bytes -: Number of bytes used for other system allocations - -go_memstats_stack_inuse_bytes -: Number of bytes in use by the stack allocator - -go_memstats_stack_sys_bytes -: Number of bytes obtained from system for stack allocator - -go_memstats_sys_bytes -: Number of bytes obtained from system - -go_threads -: Number of OS threads created - -promhttp_metric_handler_requests_in_flight -: Current number of scrapes being served - -promhttp_metric_handler_requests_total -: Total number of scrapes by HTTP status code +{{< highlight txt >}} +ocis health --help +{{< / highlight >}} \ No newline at end of file diff --git a/docs/ocis/metrics.md b/docs/ocis/metrics.md new file mode 100644 index 0000000000..6923e951d6 --- /dev/null +++ b/docs/ocis/metrics.md @@ -0,0 +1,109 @@ +--- +title: "Metrics" +date: 2020-05-04T20:47:00+01:00 +weight: 43 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/ocis +geekdocFilePath: metrics.md +--- + + +## Metrics + +This service provides some [Prometheus](https://prometheus.io/) metrics through the debug endpoint, you can optionally secure the metrics endpoint by some random token, which got to be configured through one of the flag `--debug-token` or the environment variable `OCIS_DEBUG_TOKEN` mentioned above. By default the metrics endpoint is bound to `http://0.0.0.0:8001/metrics`. + +go_gc_duration_seconds +: A summary of the GC invocation durations + +go_gc_duration_seconds_sum +: A summary of the GC invocation durations + +go_gc_duration_seconds_count +: A summary of the GC invocation durations + +go_goroutines +: Number of goroutines that currently exist + +go_info +: Information about the Go environment + +go_memstats_alloc_bytes +: Number of bytes allocated and still in use + +go_memstats_alloc_bytes_total +: Total number of bytes allocated, even if freed + +go_memstats_buck_hash_sys_bytes +: Number of bytes used by the profiling bucket hash table + +go_memstats_frees_total +: Total number of frees + +go_memstats_gc_cpu_fraction +: The fraction of this program's available CPU time used by the GC since the program started + +go_memstats_gc_sys_bytes +: Number of bytes used for garbage collection system metadata + +go_memstats_heap_alloc_bytes +: Number of heap bytes allocated and still in use + +go_memstats_heap_idle_bytes +: Number of heap bytes waiting to be used + +go_memstats_heap_inuse_bytes +: Number of heap bytes that are in use + +go_memstats_heap_objects +: Number of allocated objects + +go_memstats_heap_released_bytes +: Number of heap bytes released to OS + +go_memstats_heap_sys_bytes +: Number of heap bytes obtained from system + +go_memstats_last_gc_time_seconds +: Number of seconds since 1970 of last garbage collection + +go_memstats_lookups_total +: Total number of pointer lookups + +go_memstats_mallocs_total +: Total number of mallocs + +go_memstats_mcache_inuse_bytes +: Number of bytes in use by mcache structures + +go_memstats_mcache_sys_bytes +: Number of bytes used for mcache structures obtained from system + +go_memstats_mspan_inuse_bytes +: Number of bytes in use by mspan structures + +go_memstats_mspan_sys_bytes +: Number of bytes used for mspan structures obtained from system + +go_memstats_next_gc_bytes +: Number of heap bytes when next garbage collection will take place + +go_memstats_other_sys_bytes +: Number of bytes used for other system allocations + +go_memstats_stack_inuse_bytes +: Number of bytes in use by the stack allocator + +go_memstats_stack_sys_bytes +: Number of bytes obtained from system for stack allocator + +go_memstats_sys_bytes +: Number of bytes obtained from system + +go_threads +: Number of OS threads created + +promhttp_metric_handler_requests_in_flight +: Current number of scrapes being served + +promhttp_metric_handler_requests_total +: Total number of scrapes by HTTP status code