Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle cluster metadata for GitOps modules #579

Open
seansund opened this issue Apr 10, 2023 · 0 comments
Open

Handle cluster metadata for GitOps modules #579

seansund opened this issue Apr 10, 2023 · 0 comments

Comments

@seansund
Copy link
Member

Currently if the gitops modules need cluster metadata (ingress subdomain, cluster type, etc), they include a direct dependency on the cluster module OR hard code the values, particularly for cluster type. The gitops modules that install operators also include a dependency on the OLM module to get the namespace locations then make some major assumptions about the operator configuration (mostly assuming we are installing on OpenShift).

As we move to support vanilla kubernetes clusters, we need to have more metadata available and do it in a way that is appropriate for GitOps (i.e. not have direct dependency on the cluster). The way we are proposing to handle this is by storing the metadata in the GitOps repo. There are two main categories of metadata to include:

Cluster info

  • Ingress subdomain(s) - since there may be multiple, there should at least be a default to start, other named subdomains can be added
  • Cluster type: kubernetes or openshift
  • Kubernetes version
  • OpenShift version (if applicable)

Operator info

  • Package manifests (lists operator names, catalog source, catalog namespace, and channel(s))
  • Operator namespace (namespace where cluster-wide operators are installed)

This information will be stored in yaml files in the gitops repo. Since the gitops repo supports multiple tenants, the files will be stored in directories based on the cluster name.

To access this information we we will provide a data source in the Gitops terraform provider to retrieve the necessary information from the gitops repo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant