diff --git a/README.md b/README.md index b560f950..896aa6cf 100644 --- a/README.md +++ b/README.md @@ -62,15 +62,15 @@ The current project status is: **Alpha - NOT PRODUCTION READY** ## Getting Started -* [Installing the Operator ](doc/operator/getting_started.md) -* [Deploying Zuul and dependencies with SF-Operator](doc/deployment/getting_started.md) +* [Installing the Operator ](https://softwarefactory-project.github.io/sf-operator/operator/getting_started.html) +* [Deploying Zuul and dependencies with SF-Operator](https://softwarefactory-project.github.io/sf-operator/deployment/getting_started.html) ## Documentation -* [Operator documentation](doc/operator/index.md): for OpenShift cluster administrators, this documentation covers installing SF-Operator and managing the operator's lifecycle. -* [Deployment documentation](doc/deployment/index.md): this documentation covers the essentials for people or teams who intend to deploy and manage Zuul and its dependencies through the SF-Operator. -* [Developer documentation](doc/developer/index.md): this documentation describes how to set up a development and testing environment to develop the SF-Operator. -* [CLI refererence](doc/cli/index.md) +* [Operator documentation](https://softwarefactory-project.github.io/sf-operator/operator/): for OpenShift cluster administrators, this documentation covers installing SF-Operator and managing the operator's lifecycle. +* [Deployment documentation](https://softwarefactory-project.github.io/sf-operator/deployment/): this documentation covers the essentials for people or teams who intend to deploy and manage Zuul and its dependencies through the SF-Operator. +* [Developer documentation](https://softwarefactory-project.github.io/sf-operator/developer/): this documentation describes how to set up a development and testing environment to develop the SF-Operator. +* [CLI refererence](https://softwarefactory-project.github.io/sf-operator/cli/) ## Getting Help Should you have any questions or feedback concerning the SF-Operator, you can: @@ -81,8 +81,8 @@ Should you have any questions or feedback concerning the SF-Operator, you can: ## Contributing -Refer to [CONTRIBUTING.md](CONTRIBUTING.md). +Refer to [CONTRIBUTING.md](https://github.com/softwarefactory-project/sf-operator/blob/master/CONTRIBUTING.md). ## Licence -Sf-operator is distributed under the [Apache License](LICENSE). +Sf-operator is distributed under the [Apache License](https://www.apache.org/licenses/LICENSE-2.0.txt). diff --git a/doc/README.md b/doc/README.md new file mode 120000 index 00000000..32d46ee8 --- /dev/null +++ b/doc/README.md @@ -0,0 +1 @@ +../README.md \ No newline at end of file diff --git a/doc/_config.yml b/doc/_config.yml new file mode 100644 index 00000000..c7c0cc16 --- /dev/null +++ b/doc/_config.yml @@ -0,0 +1,4 @@ +theme: cayman +source: doc/ +exclude: + - adr/adr-template.md diff --git a/doc/adr/index.md b/doc/adr/index.md index d130753b..51c26574 100644 --- a/doc/adr/index.md +++ b/doc/adr/index.md @@ -2,6 +2,20 @@ This directory contains decision records for sf-operator. -For new ADRs, please use [adr-template.md](adr-template.md) as basis. +For new ADRs, please use [adr-template.md](adr-template.md) as a boilerplate. More information on MADR is available at . General information about architectural decision records is available at . + +## Table of Contents + +1. [Use Markdown for ADRs](./0000-use-markdown-any-decision-records.md) +1. [Operator Configuration](./0001-operator-config.md) +1. [Zuul System config](./0002-zuul-system-config.md) +1. [Config update workflow - base system](./0003-config-update.md) +1. [Expose main.yaml to Zuul scheduler](./0004-zuul-main.md) +1. [Command line tool to setup an manage sf-operator deployment](./0005-ops-tooling.md) +1. [Operator and Operand Metrics Collection](./0006-monitoring.md) +1. [Edge certificates management](./0007-edge-cert.md) +1. [Config check and update jobs implementation](./0008-config-jobs.md) +1. [Database Agnosticity for SF Deployments](./0009-database-agnosticity.md) +1. [Usage of the upstream zuul-operator](./0010-zuul-operator-usage.md) \ No newline at end of file diff --git a/doc/cli/index.md b/doc/cli/index.md index 2fff10ea..b1ad8195 100644 --- a/doc/cli/index.md +++ b/doc/cli/index.md @@ -77,6 +77,7 @@ sfconfig operator delete [flags] ``` Flags: + | Argument | Type | Description | Default | |----------|------|-------|----| | -a, --all | boolean | executes all options in sequence|-| @@ -121,6 +122,7 @@ sfconfig sf delete [flags] ``` Flags: + | Argument | Type | Description | Default | |----------|------|-------|----| | -a, --all | boolean | executes --delete and --remove options in sequence|-| @@ -167,6 +169,7 @@ sfconfig nodepool-providers-secrets [flags] ``` Flags: + | Argument | Type | Description | Default | |----------|------|-------|----| | -d, --dump | boolean | Dump the providers secrets from the sf namespace to the local config (exclusive with '-u')|-| @@ -191,6 +194,7 @@ sfconfig zuul create-auth-token [flags] ``` Flags: + | Argument | Type | Description | Default | |----------|------|-------|----| | -x, --expires-in| int32 | The lifespan in seconds of the token. | 15 minutes (900s)| @@ -224,6 +228,7 @@ sfconfig bootstrap-tenant-config-repo [...] ``` Flags: + | Argument | Type | Description | Default | |----------|------|-------|----| | --connection |string | Name of the connection or a source|-| @@ -242,6 +247,7 @@ sfconfig gerrit [flags] ``` Flags: + | Argument | Type | Description | Default | |----------|------|-------|----| | --deploy | boolean | Deploy Gerrit on the cluster|-| @@ -257,6 +263,7 @@ Usage: sfconfig microshift [flags] Flags: + | Argument | Type | Description | Default | |----------|------|-------|----| | -i, --inventory |string | Specify ansible playbook inventory|-| @@ -274,6 +281,7 @@ sfconfig prometheus [flags] ``` Flags: + | Argument | Type | Description | Default | |----------|------|-------|----| | -f, --fqdn| string | The FQDN for prometheus (prometheus.FQDN)|sfop.dev| @@ -289,6 +297,7 @@ sfconfig runTests [flags] ``` Flags: + | Argument | Type | Description | Default | |----------|------|-------|----| | -e, --extra-var |string | Set extra variables, the format of each variable must be `key`=`value`|-| diff --git a/doc/deployment/config_repository.md b/doc/deployment/config_repository.md index e1905827..9b9000fd 100644 --- a/doc/deployment/config_repository.md +++ b/doc/deployment/config_repository.md @@ -35,7 +35,7 @@ This setup enables GitOps workflows on the configuration of your Zuul-based CI i ## Repository structure -For the config-check and config-update to work as expected, a specific file structure is expected in the config repository: +For the config-check and config-update to work as intended, a specific file structure is expected in the config repository: ``` / @@ -46,10 +46,12 @@ For the config-check and config-update to work as expected, a specific file stru |_ nodepool.yaml ``` -The file `zuul/main.yaml` holds the [tenants configuration](https://zuul-ci.org/docs/zuul/latest/tenants.html) that will be applied the deployment. +The file `zuul/main.yaml` holds the [tenants configuration](https://zuul-ci.org/docs/zuul/latest/tenants.html) that will be applied on the deployment. The file `nodepool.yaml` holds [the diskimages, labels and node providers configuration](https://zuul-ci.org/docs/nodepool/latest/configuration.html). +Any other file or folder will be ignored. + ## Setting up the repository As of the current version of the SF-Operator, Gerrit is the only supported hosting option for the config repository. You can follow the [developer's documentation to deploy a test Gerrit instance](../developer/howtos/index.md#gerrit) if needed. diff --git a/doc/deployment/crds.md b/doc/deployment/crds.md index c5bbb115..c8f88f10 100644 --- a/doc/deployment/crds.md +++ b/doc/deployment/crds.md @@ -5,7 +5,6 @@ This document gives details about the Custom Resource Definitions (CRDs) that th ## Table of Contents 1. [CRDs](#crds) -1. [Common properties](#common-properties) ## CRDs diff --git a/doc/deployment/delete.md b/doc/deployment/delete.md index c9b44b94..29b7a240 100644 --- a/doc/deployment/delete.md +++ b/doc/deployment/delete.md @@ -19,7 +19,7 @@ This removes the `my-sf` Custom Resource instance. ./tools/sfconfig sf delete -i ``` -However, **Persistent Volumes Claims** linked to the resource are not cleaned after the deletion of the software factory instance. +However, **Persistent Volume Claims** linked to the resource are not cleaned after the deletion of the software factory instance. > This is intended, so that it is easy to re-spin an instance with the same configuration and data. diff --git a/doc/deployment/getting_started.md b/doc/deployment/getting_started.md index d8787931..268f9a91 100644 --- a/doc/deployment/getting_started.md +++ b/doc/deployment/getting_started.md @@ -22,7 +22,7 @@ We recommend using a dedicated namespace to deploy your Software Factory. Furthe > Currently, the namespace must allow `privileged` containers to run. Indeed the `zuul-executor` container requires extra privileges because of [bubblewrap](https://github.com/containers/bubblewrap). -For this example we will create **sf** namespace. The last three commands below configure privileged access on this namespace; modify the commands accordingly if using an existing namespace. +In this example we will create a dedicated namespace called **sf**. Then the next three commands below configure privileged access on this namespace; modify the commands as needed if using a different namespace. > Note that these commands might need to be run by a user with enough privileges to create and modify namespaces and policies. @@ -33,7 +33,7 @@ kubectl label --overwrite ns sf pod-security.kubernetes.io/enforce-version=v1.24 oc adm policy add-scc-to-user privileged system:serviceaccount:sf:default ``` -Create a **SoftwareFactory** Custom Resource as a file named `my-sf.yaml`. Here is a minimal example that uses a default configuration; only the FQDN of the services is mandatory: +Create a **SoftwareFactory** Custom Resource as a file named `my-sf.yaml`. Here is a minimal example that uses a default configuration; only the base FQDN for the services is mandatory: ```yaml apiVersion: sf.softwarefactory-project.io/v1 diff --git a/doc/deployment/nodepool.md b/doc/deployment/nodepool.md index 11e95e98..8e32691c 100644 --- a/doc/deployment/nodepool.md +++ b/doc/deployment/nodepool.md @@ -29,6 +29,7 @@ The operator also includes backing services with bare bones support: > Although Zookeeper is deployed as a statefulset, modifying its replica count directly in its manifest will have no effect on the service itself - besides eventually creating unused pods. + ## Services configuration Configuring the Nodepool micro-services is done through the SoftwareFactory deployment's manifest. Many configuration parameters are exposed by The [SoftwareFactory Custom Resource spec](./../../config/crd/bases/sf.softwarefactory-project.io_softwarefactories.yaml). diff --git a/doc/developer/CONTRIBUTING.md b/doc/developer/CONTRIBUTING.md new file mode 120000 index 00000000..f939e75f --- /dev/null +++ b/doc/developer/CONTRIBUTING.md @@ -0,0 +1 @@ +../../CONTRIBUTING.md \ No newline at end of file diff --git a/doc/developer/index.md b/doc/developer/index.md index 1a98f232..6f13c1f6 100644 --- a/doc/developer/index.md +++ b/doc/developer/index.md @@ -4,7 +4,8 @@ Welcome to the developer documentation. You can find here what you need to spin ## Table of Contents -1. [Getting started](./getting_started.md) +1. [Contribution guidelines](./CONTRIBUTING.md) +1. [Setting up a development environment](./getting_started.md) 1. [Running MicroShift](./microshift.md) 1. [Running tests](./testing.md) 1. [Release sf-operator](./release.md) diff --git a/doc/index.md b/doc/index.md index f48adbb5..9f5010bb 100644 --- a/doc/index.md +++ b/doc/index.md @@ -1,5 +1,7 @@ # SF Operator documentation +Welcome to SF-Operator's documentation. To know more about the project's purpose, +please consult the [README](./README.md). ## Table of Contents 1. [Operator documentation](./operator/index.md) @@ -7,4 +9,4 @@ 1. [Developer documentation](./developer/index.md) 1. [End User documentation](./user/index.md) 1. [CLI reference](./cli/index.md) -1. [Architectural Decision Records](./adr/index.md) \ No newline at end of file +1. [Architectural Decision Records](./adr/index.md) diff --git a/doc/operator/index.md b/doc/operator/index.md index 29eab0f4..6bbe57e5 100644 --- a/doc/operator/index.md +++ b/doc/operator/index.md @@ -5,4 +5,4 @@ Welcome to the operator documentation. It covers information about installing an ## Table of Contents 1. [Getting started](./getting_started.md) -1. [Operator removal](./uninstall.md) \ No newline at end of file +1. [Uninstall the Operator](./uninstall.md) \ No newline at end of file diff --git a/doc/operator/uninstall.md b/doc/operator/uninstall.md index cd401c5c..07bef2c0 100644 --- a/doc/operator/uninstall.md +++ b/doc/operator/uninstall.md @@ -6,7 +6,7 @@ The `sfconfig` command offers the following option: ./tools/sfconfig operator delete [OPTIONS] OPTIONS - --subscription, -s - deletes Software Factory Operator's Subscription + --subscription, -s - deletes Software Factory Operator Subscription --catalogsource, -S - deletes Software Factory Catalog Source --clusterserviceversion, -c - deletes Software Factory Cluster Service Version --all, -a - executes all options in sequence