diff --git a/chart/drupalsite-operator/olm-catalog/drupalsite-operator/drupalsite-operator.package.yaml b/chart/drupalsite-operator/olm-catalog/drupalsite-operator/drupalsite-operator.package.yaml new file mode 100644 index 0000000000000000000000000000000000000000..72ef5e31b945ea805952d871040548da6f6fa4ba --- /dev/null +++ b/chart/drupalsite-operator/olm-catalog/drupalsite-operator/drupalsite-operator.package.yaml @@ -0,0 +1,5 @@ +channels: +- currentCSV: drupalsite-operator.v0.0.1 + name: alpha +defaultChannel: alpha +packageName: drupalsite-operator diff --git a/chart/drupalsite-operator/templates/clusterserviceversion.yaml b/chart/drupalsite-operator/templates/clusterserviceversion.yaml new file mode 100644 index 0000000000000000000000000000000000000000..fc6003c996f4db4835d441471556d63f9ea6e6c0 --- /dev/null +++ b/chart/drupalsite-operator/templates/clusterserviceversion.yaml @@ -0,0 +1,484 @@ +# This CSV resource tells OLM how to publish our operator. See OLM doc for details: https://github.com/operator-framework/olm-book/ +# Usually operators managed by OLM are deployed via the OLM catalog. But we skip the catalog because: +# 1. we are only interested in the UI part, and it requires a CSV. For the webeos use case, other OLM features are not useful. +# 2. this operator is part of a large set of components to support webeos, and we prefer using the same +# methods to deploy and upgrade this operator as the rest (i.e. using ArgoCD and Helm charts) +# When this CSV gets created, the olm-operator will look for the OperatorGroup resource in the same namespace +# and _copy_ the CSV to each target namespace (all namespaces in this case). +# The operator then shows up in the catalog as "Installed operators" in the Openshift console of the projects where the CSV +# was copied to. And users can create CRs with a UI generated from this CSV's `spec.customresourcedefinitions.owned.specDescriptors` +# IMPORTANT NOTE: the CSV is only ever copied once to each destination project. If we make changes to it, +# the change will NOT be propagated to projects that have a copy of a previous version. +# As a workaround, we use the Helm Release.Revision as the CSV version; this way, a new CSV version is generated +# automatically whenever there's a Helm upgrade (done by ArgoCD) and this is a new CSV from OLM's point of view. +# The old CSV is removed, and the new one copied to all namespaces. +apiVersion: operators.coreos.com/v1alpha1 +kind: ClusterServiceVersion +metadata: + annotations: + # the CSV is copied in all namespaces, make sure ArgoCD won't remove the copies! + argocd.argoproj.io/compare-options: IgnoreExtraneous + alm-examples: |- + [ + { + "apiVersion": "drupal.webservices.cern.ch/v1alpha1", + "kind": "DrupalSite", + "metadata": { + "name": "mysite" + }, + "spec": { + "publish": false, + "drupalVersion": "8.9.13", + "environment": { + "name": "dev", + "qosClass": "standard", + } + } + } + ] + capabilities: Basic Install + # OLM does not support in-place changes of the CSV, we must generate a new CSV for each change. + # With deployment by Helm chart/ArgoCD, this will result in a new CR name and the old CR name will be deleted. + # NB: this means that the CR name will typically be different in different clusters, depending on the number of changes deployed to that specific cluster. + # If we were using the OLM for deployment, we'd need to properly create new versions (see `using-olm-catalog` branch for that approach) + name: drupalsite-operator-{{ .Release.Revision }} +spec: + apiservicedefinitions: {} + customresourcedefinitions: + owned: + - displayName: "Create Drupal website" + # see https://docs.openshift.com/container-platform/4.1/applications/operator_sdk/osdk-generating-csvs.html#osdk-crds_osdk-generating-csvs + version: v1alpha1 + kind: DrupalSite + name: drupalsites.drupal.webservices.cern.ch + resources: [] + specDescriptors: + - description: Which version of the [CERN Drupal distribution](https://gitlab.cern.ch/drupal/paas/composer-drupal-project) to start from + displayName: Drupal version + path: drupalVersion + x-descriptors: + # list of field rendering options in https://github.com/openshift/console/blob/b0f60e476dbd5eab74a3de76bf13d0d1c865c9bf/frontend/packages/operator-lifecycle-manager/src/components/descriptors/reference/reference.md + - 'urn:alm:descriptor:com.tectonic.ui:text' + + - description: Should the site become accessible to the internet? + displayName: Publish + path: publish + x-descriptors: + - 'urn:alm:descriptor:com.tectonic.ui:booleanSwitch' + + - description: Many branches of the website can exist in the same project for development and testing purposes. + Set "production" for the public website, or any other value for branches. + displayName: Environment name + path: environment.name + x-descriptors: + - 'urn:alm:descriptor:com.tectonic.ui:text' + + - description: Request appropriate default configurations and resources for the requirements of your website. + Is this a "critical", "standard", or "eco" website? + displayName: Quality of Service class + path: environment.qosClass + x-descriptors: + - 'urn:alm:descriptor:com.tectonic.ui:select:critical' + - 'urn:alm:descriptor:com.tectonic.ui:select:standard' + - 'urn:alm:descriptor:com.tectonic.ui:select:eco' + + - description: (advanced) Provide additional settings to your website in a git repository + displayName: Extra configs repo + path: environment.extraConfigRepo + x-descriptors: + - 'urn:alm:descriptor:com.tectonic.ui:text' + + + # - displayName: Type of authorization + # description: The type of authorization to apply. `NoAccess` results in `Require all denied` and prevents access to the folder contents via the web. + # `Anonymous` results in `Require all granted` and grants access without authentication. + # `CernRole` results in `Require claim cern_role:<value of cernRole>`. + # path: folderConfiguration[0].authorization.authorizationMode + # x-descriptors: + # - 'urn:alm:descriptor:com.tectonic.ui:select:NoAccess' + # - 'urn:alm:descriptor:com.tectonic.ui:select:CernRole' + # - 'urn:alm:descriptor:com.tectonic.ui:select:Anonymous' + + # - displayName: Authorized CERN Role + # description: The role to require when type is `CernRole`. This role must be defined in the Application Portal (by default, a role `default-role` is created for all sites with all CERN and EduGain users). + # path: folderConfiguration[0].authorization.authorizedCernRole + # x-descriptors: + # - 'urn:alm:descriptor:com.tectonic.ui:text' + # - 'urn:alm:descriptor:com.tectonic.ui:fieldDependency:configuration[0].authorization.authorizationMode:CernRole' + + + statusDescriptors: [] # TODO + description: >- + Create Drupal websites + + description: Create Drupal websites + displayName: DrupalSite operator + icon: + # Drupal logo + # wget https://upload.wikimedia.org/wikipedia/commons/thumb/7/75/Druplicon.vector.svg/1200px-Druplicon.vector.svg.png + # Initial SVG logo is big, to reduce size of CSV resources (which are copied in _each_ namespace) + # convert to PNG then scale to 64 pixels wide and base64-encode. + - base64data: |- + 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 + 5Wi84/sPPWD5Vz3wj5kgGUEYuf8GGOSsjq8Zaz8AAAGEaUNDUElDQyBwcm9maWxlAAB4nH2RPUjD + UBSFT1OlIhURO6g4ZKhOFkRFHLUKRagQaoVWHUxe+gdNGpIUF0fBteDgz2LVwcVZVwdXQRD8AXFz + c1J0kRLvSwotYrzweB/n3XN47z5AqJeZZnWMA5pum6lEXMxkV8XQKwT0IYAgBmVmGXOSlIRvfd1T + J9VdjGf59/1ZPWrOYkBAJJ5lhmkTbxBPb9oG533iCCvKKvE58ZhJFyR+5Lri8RvngssCz4yY6dQ8 + cYRYLLSx0sasaGrEU8RRVdMpX8h4rHLe4qyVq6x5T/7CcE5fWeY6rWEksIglSBChoIoSyrARo10n + xUKKzuM+/iHXL5FLIVcJjBwLqECD7PrB/+D3bK385ISXFI4DnS+O8zEChHaBRs1xvo8dp3ECBJ+B + K73lr9SBmU/Say0tegT0bgMX1y1N2QMud4CBJ0M2ZVcK0hLyeeD9jL4pC/TfAt1r3tya5zh9ANI0 + q+QNcHAIjBYoe93n3V3tc/u3pzm/H+SHcm6vdPSyAAAR+2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAA + AAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4K + PHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNC40 + LjAtRXhpdjIiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAy + LzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAg + eG1sbnM6aXB0Y0V4dD0iaHR0cDovL2lwdGMub3JnL3N0ZC9JcHRjNHhtcEV4dC8yMDA4LTAyLTI5 + LyIKICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAg + eG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2 + ZW50IyIKICAgIHhtbG5zOnBsdXM9Imh0dHA6Ly9ucy51c2VwbHVzLm9yZy9sZGYveG1wLzEuMC8i + CiAgICB4bWxuczpHSU1QPSJodHRwOi8vd3d3LmdpbXAub3JnL3htcC8iCiAgICB4bWxuczpkYz0i + aHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8v + bnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wLyIKICAgeG1wTU06RG9jdW1lbnRJRD0iZ2ltcDpkb2NpZDpnaW1wOmYxNTE4N2Ix + LTBiMzgtNDQyNS1hYjIzLTFiMDY3MzRlYjNjMiIKICAgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlp + ZDoyOTgzNmMzYi1jZTIwLTQ3ZGQtOTczZS01ZTU3NzkyMjljZDUiCiAgIHhtcE1NOk9yaWdpbmFs + RG9jdW1lbnRJRD0ieG1wLmRpZDplNTkxNzFmZC05YTNiLTQxZDEtODJmOS0yM2MwOWZhMTVjNTMi + CiAgIEdJTVA6QVBJPSIyLjAiCiAgIEdJTVA6UGxhdGZvcm09IkxpbnV4IgogICBHSU1QOlRpbWVT + dGFtcD0iMTYxMzUyMzgyNzMxOTY2OCIKICAgR0lNUDpWZXJzaW9uPSIyLjEwLjIyIgogICBkYzpG + b3JtYXQ9ImltYWdlL3BuZyIKICAgdGlmZjpPcmllbnRhdGlvbj0iMSIKICAgeG1wOkNyZWF0b3JU + b29sPSJHSU1QIDIuMTAiPgogICA8aXB0Y0V4dDpMb2NhdGlvbkNyZWF0ZWQ+CiAgICA8cmRmOkJh + Zy8+CiAgIDwvaXB0Y0V4dDpMb2NhdGlvbkNyZWF0ZWQ+CiAgIDxpcHRjRXh0OkxvY2F0aW9uU2hv + d24+CiAgICA8cmRmOkJhZy8+CiAgIDwvaXB0Y0V4dDpMb2NhdGlvblNob3duPgogICA8aXB0Y0V4 + dDpBcnR3b3JrT3JPYmplY3Q+CiAgICA8cmRmOkJhZy8+CiAgIDwvaXB0Y0V4dDpBcnR3b3JrT3JP + YmplY3Q+CiAgIDxpcHRjRXh0OlJlZ2lzdHJ5SWQ+CiAgICA8cmRmOkJhZy8+CiAgIDwvaXB0Y0V4 + dDpSZWdpc3RyeUlkPgogICA8eG1wTU06SGlzdG9yeT4KICAgIDxyZGY6U2VxPgogICAgIDxyZGY6 + bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJzYXZlZCIKICAgICAgc3RFdnQ6Y2hhbmdlZD0iLyIKICAg + ICAgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpiMzAzYzEwNC05NGNkLTQxZjUtOWU3NS1mYjY3 + ZDhjZGNiM2IiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkdpbXAgMi4xMCAoTGludXgpIgog + ICAgICBzdEV2dDp3aGVuPSIrMDE6MDAiLz4KICAgICA8cmRmOmxpCiAgICAgIHN0RXZ0OmFjdGlv + bj0ic2F2ZWQiCiAgICAgIHN0RXZ0OmNoYW5nZWQ9Ii8iCiAgICAgIHN0RXZ0Omluc3RhbmNlSUQ9 + InhtcC5paWQ6Y2VhYWRmYTAtNTBjOS00YTI4LWE5ZTctNjgwZGUzNmFiOTVkIgogICAgICBzdEV2 + dDpzb2Z0d2FyZUFnZW50PSJHaW1wIDIuMTAgKExpbnV4KSIKICAgICAgc3RFdnQ6d2hlbj0iKzAx + OjAwIi8+CiAgICAgPHJkZjpsaQogICAgICBzdEV2dDphY3Rpb249InNhdmVkIgogICAgICBzdEV2 + dDpjaGFuZ2VkPSIvIgogICAgICBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmYzNWVkZDllLWU2 + ZTUtNDgzOC05M2U4LWQwODc0NzU0NTljZSIKICAgICAgc3RFdnQ6c29mdHdhcmVBZ2VudD0iR2lt + cCAyLjEwIChMaW51eCkiCiAgICAgIHN0RXZ0OndoZW49IiswMTowMCIvPgogICAgIDxyZGY6bGkK + ICAgICAgc3RFdnQ6YWN0aW9uPSJzYXZlZCIKICAgICAgc3RFdnQ6Y2hhbmdlZD0iLyIKICAgICAg + c3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo3MjI4ODA5OS0yOGYzLTQ0MmMtYjg0Mi1hNTZhNzMx + OTRjYzUiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkdpbXAgMi4xMCAoTGludXgpIgogICAg + ICBzdEV2dDp3aGVuPSIrMDE6MDAiLz4KICAgIDwvcmRmOlNlcT4KICAgPC94bXBNTTpIaXN0b3J5 + PgogICA8cGx1czpJbWFnZVN1cHBsaWVyPgogICAgPHJkZjpTZXEvPgogICA8L3BsdXM6SW1hZ2VT + dXBwbGllcj4KICAgPHBsdXM6SW1hZ2VDcmVhdG9yPgogICAgPHJkZjpTZXEvPgogICA8L3BsdXM6 + SW1hZ2VDcmVhdG9yPgogICA8cGx1czpDb3B5cmlnaHRPd25lcj4KICAgIDxyZGY6U2VxLz4KICAg + PC9wbHVzOkNvcHlyaWdodE93bmVyPgogICA8cGx1czpMaWNlbnNvcj4KICAgIDxyZGY6U2VxLz4K + ICAgPC9wbHVzOkxpY2Vuc29yPgogIDwvcmRmOkRlc2NyaXB0aW9uPgogPC9yZGY6UkRGPgo8L3g6 + eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+iLvgQAAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAL + EwAACxMBAJqcGAAAAAd0SU1FB+UCEQEDL5kGR6YAABYNSURBVHja7Zx5cFXXle5/Z7qDrqSreUQS + kgAJCYMAM2PHjDZg3DZxJ54SJ52XxJ043e7YeCJup5K0wcTtdF51vXovcaer45e8PDudwUZgOk5s + YyYzmRmEJEBonq+u7nTG3X9cMGAEkkBgYvJVURJVV+fs85211/rWt/e+EtcDlq/y4jj3gthG9Zo6 + rlPI18UodN29uCBjRUVy4vdYvirtL2RdCkEz8bO3VhZOr7zpXkVRf8CyVQl/IesiGFeYklFamFky + eXyx5soa+0U07VHufMbzF7I+jkUrpXljs6fkZqalFOUm403K8JFa8CSK+35WfF/+C1nnIDfZp6Um + JzyQl5NJapIbVVYgJTcdf85qTP3z1xNZ6ic9gERJLJxSWXJLSrIPVYsgS4CsQnpRNsJey13PRRBO + NW/+k3VjR1bFo3l3VhU9M392lQYQNR1scWZkCqSPHkVK3stIyt3c9bxy45J1+9P+Ly0ve/arn5s/ + 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 + mediatype: "image/png" + install: + spec: + # We will manage the deployment and RBAC with the Helm chart, so as to + # be consistent with the rest of OKD4 cluster configuration. + # The OLM has nothing to provision. + deployments: [] + permissions: [] + # this is the only strategy available + strategy: deployment + installModes: + - supported: true + type: OwnNamespace + - supported: true + type: SingleNamespace + - supported: false + type: MultiNamespace + - supported: true + type: AllNamespaces + keywords: + - "" + maintainers: + - name: CERN Drupal service + email: drupal-admins@cern.ch + maturity: alpha + provider: + name: CERN Web Frameworks + url: https://cern.ch/web + # Use fixed version since we generate a new CSV with each change (see `metadata.name`) + version: 0.0.1 diff --git a/chart/drupalsite-operator/templates/operatorgroup.yaml b/chart/drupalsite-operator/templates/operatorgroup.yaml new file mode 100644 index 0000000000000000000000000000000000000000..54844f65092e6dc1518d6b09d8a437826d6d488c --- /dev/null +++ b/chart/drupalsite-operator/templates/operatorgroup.yaml @@ -0,0 +1,12 @@ +# configures the namespaces where our operator is made available. +# The OperatorGroup applies to all operators (CSVs) in its parent namespace. +apiVersion: operators.coreos.com/v1 +kind: OperatorGroup +metadata: + annotations: + # this annotation will be managed by the OLM. If we set it, ArgoCD will be continuously out of sync. + # olm.providedAPIs: DrupalSite.v1alpha1.drupal.webservices.cern.ch + name: drupalsite-operator +spec: {} +# spec.targetNamespaces is not set, this means deploy to all namespaces +# (OLM will copy the operator CSV to each namespace in the cluster!)