Files
holos/docs/examples/namespaces.cue
Jeff McCune fd306aae76 Pod eso-creds-refresher authenticates to provisioner
This patch adds a ConfigMap and Pod to the eso-creds-refresher
component.  The Pod executes the gcloud container, impersonates the
eso-creds-refresher iam service account using workload identity, then
authenticates to the remote provisioner cluster.

This is the foundation for a script to automatically create Secret API
objects in a workload cluster which have a kubernetes service account
token ESO SecretStore resources can use to fetch secrets from the
provisioner cluster.

Once we have that script in place we can turn this Pod into a Job and
replace Vault.
2024-02-20 17:45:43 -08:00

26 lines
1008 B
CUE

package holos
// PlatformNamespace is a namespace to manage for Secret provisioning, SecretStore, etc...
#PlatformNamespace: {
name: string
}
// #PlatformNamespaces is a list of namespaces to manage across the platform.
#PlatformNamespaces: [...#PlatformNamespace]
// #CredsRefresher defines attributes for the external secrets credential refresher job.
#CredsRefresher: {
// name is the name of the job, component, and related resources.
name: "eso-creds-refresher"
// namespace is the namespace where the job runs.
namespace: "holos-system"
// project is the gcp project id hosting the provisioner cluster.
project: #InputKeys.gcpProjectID
// projectNumber is the gcp project number hosting the provisioner cluster.
projectNumber: #InputKeys.gcpProjectNumber
// iamsa is the iam service account email address.
iamServiceAccount: name + "@" + project + ".iam.gserviceaccount.com"
// region is the region of the provisioner cluster
region: string | *"us-central1" @tag(region, type=string)
}