Application definitions, mostly helm charts defining the way to deploy an application.
The public configurations per environment are also in this repository due to an argocd constraints.
The deployment of these applications is done by ArgoCD.
The public configurations per environment are also in this repository due to argocd
constraints. The deployment of these applications is done by ArgoCD.
Bootstrap ArgoCD
----------------
Prerequisite: A working kubernetes cluster sized to your needs. At SoftwareHeritage, we chose to
deploy a small cluster of 2 nodes which looks enough for our dozen of applications.
Prerequisite: A working kubernetes cluster sized to your needs. At SoftwareHeritage, we
chose to deploy a small cluster of 2 nodes which looks enough for our dozen of
applications.
Install ArgoCD
~~~~~~~~~~~~~~
TODO: Detail how it was done in the swh environment
Some working notes are available in a `Readme.md in the k8s-clusters-conf repository <https://archive.softwareheritage.org/swh:1:cnt:f3594c8ccfe1f00abf09d49ffa640ea8f22a1440;origin=https://forge.softwareheritage.org/source/k8s-clusters-conf.git;visit=swh:1:snp:66a35583e901a1a5a62b4097fcd64e822316e80e;anchor=swh:1:rev:f0c609c40c463d39bd12f912570c34eebe0f217d;path=/README.md>`__.
It's based on the official `ArgoCD documentation <https://argo-cd.readthedocs.io/en/stable/cli_installation/>`__
Some working notes are available in a `Readme.md in the k8s-clusters-conf repository
To do so some manual installation steps are needed:
To do so, some manual installation steps are needed:
- Clone the ``k8s-private-data`` and ``k8s-clusters-conf`` repositories locally (or directly the `sysadm-environment repository <https://forge.softwareheritage.org/source/sysadm-environment/>`__)
- Clone the ``k8s-private-data`` and ``k8s-clusters-conf`` repositories locally (or
.. warning:: We are trying when it's possible to always use helm charts to deploy a service.
.. warning:: When possible, we try to use helm charts to deploy service.
You can find some other applications used to deploy helm based services in the repository.
You can find some other applications used to deploy helm based services in the
repository.
More information about the application configuration can also be found in the `official ArgoCD documentation <https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/>`__
More information about the application configuration can also be found in the `official
This documentation is based on the `official user management documentation <https://archive.softwareheritage.org/swh:1:cnt:c0a70eae47429de31f5eb3eb707ad2a498bee0ab;origin=https://github.com/argoproj/argo-cd;visit=swh:1:snp:2ea44c7c86241d081851907e778a41260304d898;anchor=swh:1:rev:a773b1effb6f59be14176c6402a9a69c4b480275;path=/docs/operator-manual/user-management/index.md>`__ (archived link)
This documentation is based on the `official user management documentation
@@ -148,8 +168,12 @@ The argocd cli will be necessary to perform some action relative to the user man
Add a user
~~~~~~~~~~
- Add the user on the `argo-cm.yaml <https://gitlab.softwareheritage.org/infra/ci-cd/k8s-clusters-conf/-/blob/87aa53624d61601b31697d312254aa3c57a6227d/argocd/configmaps/argocd-cm.yaml>`__ file
- Add the user role on the `argocd-rbac-cm.yaml <https://gitlab.softwareheritage.org/infra/ci-cd/k8s-clusters-conf/-/blob/87aa53624d61601b31697d312254aa3c57a6227d/argocd/configmaps/argocd-rbac-cm.yaml>`__ file
If no role is specified, the user will only have a read-only access
.. code:: yaml
...
...
@@ -176,7 +200,9 @@ Add a user
Disable a user
~~~~~~~~~~~~~~
- Add the following line in the `argocd-cm.yaml <https://gitlab.softwareheritage.org/infra/ci-cd/k8s-clusters-conf/-/blob/87aa53624d61601b31697d312254aa3c57a6227d/argocd/configmaps/argocd-cm.yaml>`__ file