NOTE: This replaces ocp-cluster-addons
A GitOps template repository for managing RHDP CI environments using Helm charts and ArgoCD ApplicationSets.
There are three major components to this system:
- Platform (not implemented yet)
- Infrastructure
- Tenant
- Bootstrap complete solution (to pre-deploy infra and all tenants. For an event, for example).
- Deploying an app via simple OpenShift/Kubernetes YAML Manifests
- Deploying Helm Charts that are local to the repository
- Deploying Helm Charts from an external repository
-
Running the helm chart
/bootstrapwill deploy both the cluster-wide shared services and tenant-specific resources. -
Running the helm chart
/platform/bootstrapwill set up the OCP cluster's preliminaries. FOR DEMO STAFF ONLY. NOT IMPLEMENTED YET. -
Running the helm chart
/infra/bootstrapwill set up all cluster-wide shared resources. -
Running the helm chart
/tenant/bootstrapwill set up tenant-specific resources for ONE tenant. -
Subsequent runs of the
/tenant/bootstrapchart will create additional tenants.
NB: Deploying multiple tenants at once is not yet implemented. See bootstrap/scratch/applicationset-tenant.yaml
bootstrap/- Helm chart for initial environment setup and ArgoCD ApplicationSet generationtemplates/applicationset-workspace.yaml- ApplicationSet that generates per-user workspace apps (inscratchfor now)
infra/bootstrap/- Helm chart to set up operators and other infrastructure resourcesinfra/webterminal/- Helm chart to depoy the cluster-wide web terminalinfra/<your helm chart>/- Your local helm charts to set resources shared by the tenanttenant/bootstrap/- Helm chart to deploy all tenant resourcestenant/workspace/- Helm chart for workspace resources (namespaces, RBAC, etc.)tenant/<your helm chart>/- Your local helm charts for tenant-specific resources
- Use
core_workloads.ocp4_workload_gitops_bootstrapto bootstrap the GitOps environment- Indicate the repo_url of your automation repo:
ocp4_workload_gitops_bootstrap_repo_url: https://github.com/rhpds/ci-template-gitops.git - Indicate the revision of your automation repo:
ocp4_workload_gitops_bootstrap_repo_revision: gitops-example - Indicate the name of the bootstrap application. This will automatically set the path to the proper bootstrap chart.
- Possible values are
- "bootstrap" to deploy infra and tenant
- "bootstrap-infra" to deploy infra
- "bootstrap-tenant" to deploy tenant. ArgoCD Application will be named
boostrap-tenant-GUID
ocp4_workload_gitops_bootstrap_application_name: "bootstrap-infra"
- Possible values are
- Indicate appropriate helm values for the bootstrap chart you're addressing:
ocp4_workload_gitops_bootstrap_helm_values: # For reference: The `deployer` variables are defined by the gitops_boostrap workload # deployer: # domain: "{{ lookup('agnosticd_user_data', 'openshift_cluster_ingress_domain') }}" # apiUrl: "{{ lookup('agnosticd_user_data', 'openshift_api_url') }}" user: count: "{{ user_count }}" prefix: "user" webterminal: #startingCSV: webterminal.v1.13.0 git: repoURL: https://github.com/rhpds/ocp-cluster-addons.git targetRevision: v1.5.0 ```
- Indicate the repo_url of your automation repo:
- Configure user settings in
bootstrap/values.yaml - Deploy the bootstrap chart to create ArgoCD ApplicationSets and Applications
- ApplicationSets automatically deploy individual workspaces for each user
The bootstrap chart should generate workspace applications based on user count and prefix configuration, enabling multi-user CI environments.