Space Helm Chart Reference

This reference provides detailed documentation on the Upbound Space Helm chart. This Helm chart contains configuration values for installation, configuration, and management of an Upbound Space deployment.

KeyTypeDefaultDescription
accountstring"notdemo"The Upbound organization this installation is associated with.
api.extraVolumeslist[]None
api.prometheus.podMonitor.enabledboolfalseNone
api.prometheus.podMonitor.intervalstring"30s"None
api.proxy.extraArgslist[]None
api.proxy.extraEnvlist[]None
api.proxy.extraVolumeMountslist[]None
api.proxy.image.pullPolicystring"IfNotPresent"None
api.proxy.image.repositorystring"hyperspace"None
api.proxy.image.tagstring""None
api.proxy.resources.limits.cpustring"1000m"None
api.proxy.resources.limits.memorystring"200Mi"None
api.proxy.resources.requests.cpustring"100m"None
api.proxy.resources.requests.memorystring"50Mi"None
api.proxy.service.api.portint8443None
api.proxy.service.metrics.portint8085None
api.secretRefs.tlsSecretNamestring"mxp-hostcluster-certs"None
api.secretRefs.tokenSigningstring"cert-token-signing-gateway"None
api.serviceAccountobject{"annotations":{},"create":true,"name":"mxe-api"}None
api.serviceAccount.annotationsobject{}None
api.serviceAccount.createbooltrueNone
api.serviceAccount.namestring"mxe-api"None
authenticationobject{"hubIdentities":true,"structuredConfig":""}Authentication options
authentication.hubIdentitiesbooltrueThis enables respecting built in Kubernetes identities (clientcertificate, managed kubernetes OIDC, Kubernetes Groups, etc) specified within the Connected Space’s hub.
authentication.structuredConfigstring""Enables consumption of JWT Authenticators via Authentication Configuration per https://kubernetes.io/docs/reference/access-authn-authz/authentication/#using-authentication-configuration
The below property takes the name of a configmap that contains a structured authentication configuration.
authorizationobject{"hubRBAC":true}Authorization options
authorization.hubRBACbooltrueThis enables respecting built in Kubernetes Roles and RoleBindings for the resources included in the Space’s installation.
billing.enabledboolfalseNone
billing.storage.awsobject{"bucket":"","endpoint":"","region":"","tls":{"alpnProtocols":[],"ca.crt":false,"tls.crt":false,"tls.key":false,"verifyCertificate":true,"verifyHostname":true}}None
billing.storage.aws.bucketstring""See billing.storage.secretRef for authentication.
Required if billing.storage.provider=aws.
billing.storage.aws.endpointstring""None
billing.storage.aws.regionstring""Required if billing.storage.provider=aws.
billing.storage.aws.tlsobject{"alpnProtocols":[],"ca.crt":false,"tls.crt":false,"tls.key":false,"verifyCertificate":true,"verifyHostname":true}None
billing.storage.aws.tls.“ca.crt”boolfalseSee billing.storage.secretRef.
Set to true if the corresponding key is defined in the secret referenced by billing.storage.secretRef.name.
billing.storage.aws.tls.“tls.crt”boolfalseNone
billing.storage.aws.tls.“tls.key”boolfalseNone
billing.storage.aws.tls.alpnProtocolslist[]None
billing.storage.aws.tls.verifyCertificatebooltrueNone
billing.storage.aws.tls.verifyHostnamebooltrueNone
billing.storage.azureobject{"connectionString":"","container":"","endpoint":"","storageAccount":""}None
billing.storage.azure.connectionStringstring""None
billing.storage.azure.containerstring""See billing.storage.secretRef for authentication.
Required if billing.storage.provider=azure.
billing.storage.azure.endpointstring""None
billing.storage.azure.storageAccountstring""None
billing.storage.gcpobject{"bucket":"","tls":{"alpnProtocols":[],"ca.crt":false,"tls.crt":false,"tls.key":false,"verifyCertificate":true,"verifyHostname":true}}None
billing.storage.gcp.bucketstring""Required if billing.storage.provider=gcp.
billing.storage.gcp.tlsobject{"alpnProtocols":[],"ca.crt":false,"tls.crt":false,"tls.key":false,"verifyCertificate":true,"verifyHostname":true}See billing.storage.secretRef for authentication.
billing.storage.gcp.tls.“ca.crt”boolfalseSee billing.storage.secretRef.
Set to true if the corresponding key is defined in the secret referenced by billing.storage.secretRef.name.
billing.storage.gcp.tls.“tls.crt”boolfalseNone
billing.storage.gcp.tls.“tls.key”boolfalseNone
billing.storage.gcp.tls.alpnProtocolslist[]None
billing.storage.gcp.tls.verifyCertificatebooltrueNone
billing.storage.gcp.tls.verifyHostnamebooltrueNone
billing.storage.providerstring""Required if billing.enabled=true. Must be one of aws, gcp, azure
billing.storage.secretRefobject{"name":"billing-storage"}None
billing.storage.secretRef.namestring"billing-storage"Required if billing.enabled=true. The secret may contain any of these keys for configuring authentication:
AWS_ACCESS_KEY_ID: AWS access key ID. Used when provider is aws.
AWS_SECRET_ACCESS_KEY: AWS secret access key. Used when provider is aws.
AZURE_TENANT_ID: Azure tenant ID. Used when provider is azure.
AZURE_CLIENT_ID: Azure client ID. Used when provider is azure.
AZURE_CLIENT_SECRET: Azure client secret. Used when provider is azure.
AZURE_USERNAME: Azure username. Used when provider is azure.
AZURE_PASSWORD: Azure username. Used when provider is azure.
google_application_credentials: GCP service account key JSON. Used when provider is gcp.
The secret may also contain any of the following keys for configuring TLS. The corresponding value at billing.storage..tls. must also be set to true.
“ca.crt”: Custom CA certificate. Used when provider is aws or gcp.
“tls.crt”: Custom TLS certificate. Used when provider is aws or gcp.
“tls.key”: Custom TLS key. Used when provider is aws or gcp.
certificatesobject{"clusterResourceNamespace":"cert-manager","provision":true,"space":{"clusterIssuer":"spaces-selfsigned"}}Given cert-manager is a requirement for installation, certificates specifies the general configurations for the certificates required for the installation to function.
certificates.clusterResourceNamespacestring"cert-manager"Specifies the cluster resource namespace for the cert-manager installation.
https://cert-manager.io/docs/configuration/#cluster-resource-namespace
certificates.provisionbooltrueSpecifies if the chart should provision the certificate resources included in this chart. Operators can opt to provision their own certificates instead, however care should be made to ensure the certificates match the expected:
* Shared Certificate Authority
* Algorithm. (ECDSA)
certificates.spaceobject{"clusterIssuer":"spaces-selfsigned"}None
certificates.space.clusterIssuerstring"spaces-selfsigned"The clusterIssuer for the space. Most certificates used at the space level are derived from this issuer.
clusterTypestring"kind"Specifies the cluster type that this installation is being installed into. Valid options are: aks, eks, gke, kind.
controlPlanes.container.mxpCharts.tagstring""None
controlPlanes.container.mxpGateway.repositorystring"hyperspace"None
controlPlanes.container.mxpGateway.tagstring""None
controlPlanes.container.mxpKsmConfig.repositorystring"hyperspace"None
controlPlanes.container.mxpKsmConfig.tagstring""None
controlPlanes.etcd.persistence.sizestring"5Gi"Set storage class backing the vcluster etcd PVCs
storageClassName: ''
controlPlanes.etcd.resources.requests.cpustring"170m"
controlPlanes.etcd.resources.requests.memorystring"350Mi"
controlPlanes.ingress.annotationsobject{}None
controlPlanes.k8sVersionstring"v1.30.4"
controlPlanes.mxpController.serviceAccount.annotationsobject{}
controlPlanes.policies.limitRange.enabledbooltrueNone
controlPlanes.syncer.resources.limits.cpustring"1000m"None
controlPlanes.syncer.resources.limits.memorystring"1024Mi"None
controlPlanes.syncer.resources.requests.cpustring"20m"None
controlPlanes.syncer.resources.requests.memorystring"150Mi"None
controlPlanes.uxp.enableCompositionFunctionsbooltrueNone
controlPlanes.uxp.enableEnvironmentConfigsbooltrueNone
controlPlanes.uxp.enableProviderIdentityboolfalseNone
controlPlanes.uxp.enableSSAClaimsboolfalseNone
controlPlanes.uxp.enableUsagesbooltrueNone
controlPlanes.uxp.metrics.enabledbooltrueNone
controlPlanes.uxp.registryOverridestring""override the default package registry for Crossplane
controlPlanes.uxp.repositorystring"https://charts.upbound.io/stable"None
controlPlanes.uxp.resourcesCrossplane.limits.cpustring"400m"None
controlPlanes.uxp.resourcesCrossplane.limits.memorystring"500Mi"None
controlPlanes.uxp.resourcesCrossplane.requests.cpustring"370m"None
controlPlanes.uxp.resourcesCrossplane.requests.memorystring"400Mi"None
controlPlanes.uxp.resourcesRBACManager.limits.cpustring"50m"None
controlPlanes.uxp.resourcesRBACManager.limits.memorystring"300Mi"None
controlPlanes.uxp.resourcesRBACManager.requests.cpustring"25m"None
controlPlanes.uxp.resourcesRBACManager.requests.memorystring"256Mi"None
controlPlanes.uxp.serviceAccount.customAnnotationsobject{}None
controlPlanes.uxp.versionstring"1.15.3-up.1"None
controlPlanes.uxp.xgql.enabledbooltrueNone
controlPlanes.uxp.xgql.replicasint1None
controlPlanes.uxp.xgql.resourcesobject{"limits":{"cpu":"500m","memory":"1Gi"},"requests":{"cpu":"50m","memory":"50Mi"}}None
controlPlanes.uxp.xgql.resources.limits.memorystring"1Gi"None
controlPlanes.uxp.xgql.resources.requests.cpustring"50m"None
controlPlanes.uxp.xgql.resources.requests.memorystring"50Mi"None
controlPlanes.uxp.xgql.versionstring"v0.2.0-rc.0.153.g0a1d4ae"None
controlPlanes.vector.affinityobject{}Configure affinity rules for Vector Pods.
controlPlanes.vector.debugboolfalseNone
controlPlanes.vector.enabledbooltrueNone
controlPlanes.vector.nodeSelectorobject{}Configure a nodeSelector for Vector Pods.
controlPlanes.vector.persistence.enabledboolfalseSet enabled to true to run Vector as a statefulset with each replica backed by a persistent volume and enable disk buffers for selected sinks. When set to false, Vector is run as a deployment with memory buffers.
controlPlanes.vector.persistence.sizestring"1Gi"size must be at least the sum of all buffer.maxSize values with overhead for other Vector data. If you define this you should also define all sink buffer.maxSize values.
controlPlanes.vector.replicasint1None
controlPlanes.vector.resources.limitsobject{}None
controlPlanes.vector.resources.requestsobject{"cpu":"200m","memory":"256Mi"}None
controlPlanes.vector.resources.requests.cpustring"200m"None
controlPlanes.vector.resources.requests.memorystring"256Mi"None
controlPlanes.vector.service.enabledboolfalseNone
controlPlanes.vector.sinks.usage.buffer.maxEventsint500String containing max number of events to buffer in memory.
Relevant when mxp.vector.persistence.enabled=false.
controlPlanes.vector.sinks.usage.buffer.maxSizeint268435488String containing max size of disk buffer in bytes. Must fit with other buffer.maxSize values in mxp.vector.persistence.size.
Relevant when mxp.vector.persistence.enabled=true.
~256 MiB, minimum allowed
controlPlanes.vector.tolerationslist[]Configure Vector Pods to be scheduled on tainted nodes.
controlPlanes.vector.topologySpreadConstraintslist[]Configure topology spread constraints for Vector Pods. Valid for the “Aggregator” and “Stateless-Aggregator” roles.
controlPlanes.vector.versionstring"0.22.1"None
controllerobject{"controller":{"extraArgs":[],"extraEnv":[],"extraVolumeMounts":[],"image":{"pullPolicy":"IfNotPresent","repository":"hyperspace","tag":""},"resources":{"limits":{"cpu":"1000m","memory":"2000Mi"},"requests":{"cpu":"100m","memory":"500Mi"}},"service":{"metrics":{"port":8085},"webhook":{"port":9443}}},"crossplane":{"supportedVersions":["1.14.1-up.1","1.14.2-up.1","1.14.3-up.1","1.14.4-up.1","1.14.5-up.1","1.14.6-up.1","1.14.7-up.1","1.14.8-up.1","1.14.9-up.1","1.15.0-up.1","1.15.1-up.1","1.15.2-up.1","1.15.3-up.1","1.16.0-up.1"],"versionsController":{"enabled":true}},"extraVolumes":[],"kcp":{"enabled":false},"mxeInit":{"extraArgs":[],"extraEnv":[],"extraVolumeMounts":[],"image":{"pullPolicy":"IfNotPresent","repository":"hyperspace","tag":""}},"prometheus":{"podMonitor":{"enabled":false,"interval":"30s"}},"secretRefs":{"adminSigning":"cert-admin-signing","ingressCA":"mxe-router-tls"},"serviceAccount":{"annotations":{},"create":true,"name":""},"webhookInit":{"extraArgs":[],"extraEnv":[],"extraVolumeMounts":[],"image":{"pullPolicy":"IfNotPresent","repository":"hyperspace","tag":""}}}Configurations for the space controller deployment.
controller.controllerobject{"extraArgs":[],"extraEnv":[],"extraVolumeMounts":[],"image":{"pullPolicy":"IfNotPresent","repository":"hyperspace","tag":""},"resources":{"limits":{"cpu":"1000m","memory":"2000Mi"},"requests":{"cpu":"100m","memory":"500Mi"}},"service":{"metrics":{"port":8085},"webhook":{"port":9443}}}None
controller.controller.extraArgslist[]None
controller.controller.extraEnvlist[]None
controller.controller.extraVolumeMountslist[]None
controller.controller.imageobject{"pullPolicy":"IfNotPresent","repository":"hyperspace","tag":""}None
controller.controller.image.pullPolicystring"IfNotPresent"None
controller.controller.image.repositorystring"hyperspace"None
controller.controller.image.tagstring""None
controller.controller.resourcesobject{"limits":{"cpu":"1000m","memory":"2000Mi"},"requests":{"cpu":"100m","memory":"500Mi"}}None
controller.controller.resources.limitsobject{"cpu":"1000m","memory":"2000Mi"}None
controller.controller.resources.limits.cpustring"1000m"None
controller.controller.resources.limits.memorystring"2000Mi"None
controller.controller.resources.requestsobject{"cpu":"100m","memory":"500Mi"}None
controller.controller.resources.requests.cpustring"100m"None
controller.controller.resources.requests.memorystring"500Mi"None
controller.controller.serviceobject{"metrics":{"port":8085},"webhook":{"port":9443}}None
controller.controller.service.metricsobject{"port":8085}None
controller.controller.service.metrics.portint8085None
controller.controller.service.webhookobject{"port":9443}None
controller.controller.service.webhook.portint9443None
controller.crossplaneobject{"supportedVersions":["1.14.1-up.1","1.14.2-up.1","1.14.3-up.1","1.14.4-up.1","1.14.5-up.1","1.14.6-up.1","1.14.7-up.1","1.14.8-up.1","1.14.9-up.1","1.15.0-up.1","1.15.1-up.1","1.15.2-up.1","1.15.3-up.1","1.16.0-up.1"],"versionsController":{"enabled":true}}None
controller.crossplane.supportedVersionslist["1.14.1-up.1","1.14.2-up.1","1.14.3-up.1","1.14.4-up.1","1.14.5-up.1","1.14.6-up.1","1.14.7-up.1","1.14.8-up.1","1.14.9-up.1","1.15.0-up.1","1.15.1-up.1","1.15.2-up.1","1.15.3-up.1","1.16.0-up.1"]None
controller.crossplane.supportedVersions[0]string"1.14.1-up.1"None
controller.crossplane.supportedVersions[10]string"1.15.1-up.1"None
controller.crossplane.supportedVersions[11]string"1.15.2-up.1"None
controller.crossplane.supportedVersions[12]string"1.15.3-up.1"None
controller.crossplane.supportedVersions[13]string"1.16.0-up.1"None
controller.crossplane.supportedVersions[1]string"1.14.2-up.1"None
controller.crossplane.supportedVersions[2]string"1.14.3-up.1"None
controller.crossplane.supportedVersions[3]string"1.14.4-up.1"None
controller.crossplane.supportedVersions[4]string"1.14.5-up.1"None
controller.crossplane.supportedVersions[5]string"1.14.6-up.1"None
controller.crossplane.supportedVersions[6]string"1.14.7-up.1"None
controller.crossplane.supportedVersions[7]string"1.14.8-up.1"None
controller.crossplane.supportedVersions[8]string"1.14.9-up.1"None
controller.crossplane.supportedVersions[9]string"1.15.0-up.1"None
controller.crossplane.versionsControllerobject{"enabled":true}None
controller.crossplane.versionsController.enabledbooltrueThis flag enables the versionsController. When set to true, the controller will manage Crossplane versions configmap. If disabled, default behavior will be supportedVersions will applied without automatic updates.
controller.extraVolumeslist[]None
controller.kcpobject{"enabled":false}None
controller.kcp.enabledboolfalseNone
controller.mxeInitobject{"extraArgs":[],"extraEnv":[],"extraVolumeMounts":[],"image":{"pullPolicy":"IfNotPresent","repository":"hyperspace","tag":""}}None
controller.mxeInit.extraArgslist[]None
controller.mxeInit.extraEnvlist[]None
controller.mxeInit.extraVolumeMountslist[]None
controller.mxeInit.imageobject{"pullPolicy":"IfNotPresent","repository":"hyperspace","tag":""}None
controller.mxeInit.image.pullPolicystring"IfNotPresent"None
controller.mxeInit.image.repositorystring"hyperspace"None
controller.mxeInit.image.tagstring""None
controller.prometheusobject{"podMonitor":{"enabled":false,"interval":"30s"}}None
controller.prometheus.podMonitorobject{"enabled":false,"interval":"30s"}None
controller.prometheus.podMonitor.enabledboolfalseNone
controller.prometheus.podMonitor.intervalstring"30s"None
controller.secretRefsobject{"adminSigning":"cert-admin-signing","ingressCA":"mxe-router-tls"}None
controller.secretRefs.adminSigningstring"cert-admin-signing"None
controller.secretRefs.ingressCAstring"mxe-router-tls"None
controller.serviceAccountobject{"annotations":{},"create":true,"name":""}None
controller.serviceAccount.annotationsobject{}None
controller.serviceAccount.createbooltrueNone
controller.serviceAccount.namestring""None
controller.webhookInitobject{"extraArgs":[],"extraEnv":[],"extraVolumeMounts":[],"image":{"pullPolicy":"IfNotPresent","repository":"hyperspace","tag":""}}None
controller.webhookInit.extraArgslist[]None
controller.webhookInit.extraEnvlist[]None
controller.webhookInit.extraVolumeMountslist[]None
controller.webhookInit.imageobject{"pullPolicy":"IfNotPresent","repository":"hyperspace","tag":""}None
controller.webhookInit.image.pullPolicystring"IfNotPresent"None
controller.webhookInit.image.repositorystring"hyperspace"None
controller.webhookInit.image.tagstring""None
deletionPolicystring"Delete"Specifies if the supporting APIs for the Spaces deployment should be handled on a deletion request. Possible options are “Delete” or “Orphan”. If “Delete” is specified, on performing a ‘helm uninstall’, the Crossplane configurations that support the installation will also be deleted along with the resources that make the spaces installation.
featuresobject{"alpha":{"apollo":{"apiserver":{"extraArgs":[],"extraEnv":[],"image":{"pullPolicy":"IfNotPresent","repository":"hyperspace","tag":""},"resources":{"limits":{"cpu":"1000m","memory":"500Mi"},"requests":{"cpu":"100m","memory":"200Mi"}},"service":{"api":{"port":8443},"metrics":{"port":8085},"type":"ClusterIP"}},"enabled":false,"prometheus":{"podMonitor":{"enabled":false,"interval":"30s"}},"secretRefs":{"tlsSecretName":"mxp-hostcluster-certs","tokenSigning":"cert-token-signing-gateway"},"serviceAccount":{"annotations":{},"create":true,"name":"mxe-apollo"},"storage":{"postgres":{"connection":{"apollo":{"credentials":{"format":"","secret":{"name":""},"user":""},"sslmode":"","url":""},"ca":{"name":""},"credentials":{"format":"pgpass","secret":{"name":""},"user":""},"database":"upbound","sslmode":"require","syncer":{"credentials":{"format":"","secret":{"name":""},"user":""},"sslmode":"","url":""},"url":""}}},"syncer":{"debug":false,"image":{"pullPolicy":"IfNotPresent","repository":"hyperspace","tag":""},"metrics":{"enabled":true},"resources":{"limits":{"cpu":"1000m","memory":"1024Mi"},"requests":{"cpu":"100m","memory":"150Mi"}}}},"argocdPlugin":{"enabled":false,"target":{"externalCluster":{"enabled":false,"secret":{"key":"kubeconfig","name":"kubeconfig"}},"secretNamespace":"argocd"}},"featuresAnnotation":{"enabled":false},"inControlPlaneOverride":{"enabled":false},"observability":{"enabled":false},"sharedBackup":{"enabled":false},"sharedSecrets":{"enabled":false},"simulations":{"enabled":false},"upboundPolicy":{"enabled":false},"upboundRBAC":{"enabled":false}},"beta":{}}None
features.alphaobject{"apollo":{"apiserver":{"extraArgs":[],"extraEnv":[],"image":{"pullPolicy":"IfNotPresent","repository":"hyperspace","tag":""},"resources":{"limits":{"cpu":"1000m","memory":"500Mi"},"requests":{"cpu":"100m","memory":"200Mi"}},"service":{"api":{"port":8443},"metrics":{"port":8085},"type":"ClusterIP"}},"enabled":false,"prometheus":{"podMonitor":{"enabled":false,"interval":"30s"}},"secretRefs":{"tlsSecretName":"mxp-hostcluster-certs","tokenSigning":"cert-token-signing-gateway"},"serviceAccount":{"annotations":{},"create":true,"name":"mxe-apollo"},"storage":{"postgres":{"connection":{"apollo":{"credentials":{"format":"","secret":{"name":""},"user":""},"sslmode":"","url":""},"ca":{"name":""},"credentials":{"format":"pgpass","secret":{"name":""},"user":""},"database":"upbound","sslmode":"require","syncer":{"credentials":{"format":"","secret":{"name":""},"user":""},"sslmode":"","url":""},"url":""}}},"syncer":{"debug":false,"image":{"pullPolicy":"IfNotPresent","repository":"hyperspace","tag":""},"metrics":{"enabled":true},"resources":{"limits":{"cpu":"1000m","memory":"1024Mi"},"requests":{"cpu":"100m","memory":"150Mi"}}}},"argocdPlugin":{"enabled":false,"target":{"externalCluster":{"enabled":false,"secret":{"key":"kubeconfig","name":"kubeconfig"}},"secretNamespace":"argocd"}},"featuresAnnotation":{"enabled":false},"inControlPlaneOverride":{"enabled":false},"observability":{"enabled":false},"sharedBackup":{"enabled":false},"sharedSecrets":{"enabled":false},"simulations":{"enabled":false},"upboundPolicy":{"enabled":false},"upboundRBAC":{"enabled":false}}NOTE: Alpha features are subject to removal or breaking changes without notice, and generally not considered ready for use in production. They have to be optional even if they are enabled.
features.alpha.apolloobject{"apiserver":{"extraArgs":[],"extraEnv":[],"image":{"pullPolicy":"IfNotPresent","repository":"hyperspace","tag":""},"resources":{"limits":{"cpu":"1000m","memory":"500Mi"},"requests":{"cpu":"100m","memory":"200Mi"}},"service":{"api":{"port":8443},"metrics":{"port":8085},"type":"ClusterIP"}},"enabled":false,"prometheus":{"podMonitor":{"enabled":false,"interval":"30s"}},"secretRefs":{"tlsSecretName":"mxp-hostcluster-certs","tokenSigning":"cert-token-signing-gateway"},"serviceAccount":{"annotations":{},"create":true,"name":"mxe-apollo"},"storage":{"postgres":{"connection":{"apollo":{"credentials":{"format":"","secret":{"name":""},"user":""},"sslmode":"","url":""},"ca":{"name":""},"credentials":{"format":"pgpass","secret":{"name":""},"user":""},"database":"upbound","sslmode":"require","syncer":{"credentials":{"format":"","secret":{"name":""},"user":""},"sslmode":"","url":""},"url":""}}},"syncer":{"debug":false,"image":{"pullPolicy":"IfNotPresent","repository":"hyperspace","tag":""},"metrics":{"enabled":true},"resources":{"limits":{"cpu":"1000m","memory":"1024Mi"},"requests":{"cpu":"100m","memory":"150Mi"}}}}Configurations for the apollo deployment.
features.alpha.apollo.apiserverobject{"extraArgs":[],"extraEnv":[],"image":{"pullPolicy":"IfNotPresent","repository":"hyperspace","tag":""},"resources":{"limits":{"cpu":"1000m","memory":"500Mi"},"requests":{"cpu":"100m","memory":"200Mi"}},"service":{"api":{"port":8443},"metrics":{"port":8085},"type":"ClusterIP"}}None
features.alpha.apollo.apiserver.extraArgslist[]None
features.alpha.apollo.apiserver.extraEnvlist[]None
features.alpha.apollo.apiserver.imageobject{"pullPolicy":"IfNotPresent","repository":"hyperspace","tag":""}None
features.alpha.apollo.apiserver.image.pullPolicystring"IfNotPresent"None
features.alpha.apollo.apiserver.image.repositorystring"hyperspace"None
features.alpha.apollo.apiserver.image.tagstring""None
features.alpha.apollo.apiserver.resourcesobject{"limits":{"cpu":"1000m","memory":"500Mi"},"requests":{"cpu":"100m","memory":"200Mi"}}None
features.alpha.apollo.apiserver.resources.limitsobject{"cpu":"1000m","memory":"500Mi"}None
features.alpha.apollo.apiserver.resources.limits.cpustring"1000m"None
features.alpha.apollo.apiserver.resources.limits.memorystring"500Mi"None
features.alpha.apollo.apiserver.resources.requestsobject{"cpu":"100m","memory":"200Mi"}None
features.alpha.apollo.apiserver.resources.requests.cpustring"100m"None
features.alpha.apollo.apiserver.resources.requests.memorystring"200Mi"None
features.alpha.apollo.apiserver.serviceobject{"api":{"port":8443},"metrics":{"port":8085},"type":"ClusterIP"}None
features.alpha.apollo.apiserver.service.apiobject{"port":8443}None
features.alpha.apollo.apiserver.service.api.portint8443None
features.alpha.apollo.apiserver.service.metricsobject{"port":8085}None
features.alpha.apollo.apiserver.service.metrics.portint8085None
features.alpha.apollo.apiserver.service.typestring"ClusterIP"None
features.alpha.apollo.enabledboolfalseNone
features.alpha.apollo.prometheusobject{"podMonitor":{"enabled":false,"interval":"30s"}}None
features.alpha.apollo.prometheus.podMonitorobject{"enabled":false,"interval":"30s"}None
features.alpha.apollo.prometheus.podMonitor.enabledboolfalseNone
features.alpha.apollo.prometheus.podMonitor.intervalstring"30s"None
features.alpha.apollo.secretRefsobject{"tlsSecretName":"mxp-hostcluster-certs","tokenSigning":"cert-token-signing-gateway"}None
features.alpha.apollo.secretRefs.tlsSecretNamestring"mxp-hostcluster-certs"None
features.alpha.apollo.secretRefs.tokenSigningstring"cert-token-signing-gateway"None
features.alpha.apollo.serviceAccountobject{"annotations":{},"create":true,"name":"mxe-apollo"}None
features.alpha.apollo.serviceAccount.annotationsobject{}None
features.alpha.apollo.serviceAccount.createbooltrueNone
features.alpha.apollo.serviceAccount.namestring"mxe-apollo"None
features.alpha.apollo.storageobject{"postgres":{"connection":{"apollo":{"credentials":{"format":"","secret":{"name":""},"user":""},"sslmode":"","url":""},"ca":{"name":""},"credentials":{"format":"pgpass","secret":{"name":""},"user":""},"database":"upbound","sslmode":"require","syncer":{"credentials":{"format":"","secret":{"name":""},"user":""},"sslmode":"","url":""},"url":""}}}None
features.alpha.apollo.storage.postgresobject{"connection":{"apollo":{"credentials":{"format":"","secret":{"name":""},"user":""},"sslmode":"","url":""},"ca":{"name":""},"credentials":{"format":"pgpass","secret":{"name":""},"user":""},"database":"upbound","sslmode":"require","syncer":{"credentials":{"format":"","secret":{"name":""},"user":""},"sslmode":"","url":""},"url":""}}None
features.alpha.apollo.storage.postgres.connectionobject{"apollo":{"credentials":{"format":"","secret":{"name":""},"user":""},"sslmode":"","url":""},"ca":{"name":""},"credentials":{"format":"pgpass","secret":{"name":""},"user":""},"database":"upbound","sslmode":"require","syncer":{"credentials":{"format":"","secret":{"name":""},"user":""},"sslmode":"","url":""},"url":""}None
features.alpha.apollo.storage.postgres.connection.apolloobject{"credentials":{"format":"","secret":{"name":""},"user":""},"sslmode":"","url":""}None
features.alpha.apollo.storage.postgres.connection.apollo.credentialsobject{"format":"","secret":{"name":""},"user":""}None
features.alpha.apollo.storage.postgres.connection.apollo.credentials.formatstring""None
features.alpha.apollo.storage.postgres.connection.apollo.credentials.secretobject{"name":""}None
features.alpha.apollo.storage.postgres.connection.apollo.credentials.secret.namestring""None
features.alpha.apollo.storage.postgres.connection.apollo.credentials.userstring""None
features.alpha.apollo.storage.postgres.connection.apollo.sslmodestring""None
features.alpha.apollo.storage.postgres.connection.apollo.urlstring""None
features.alpha.apollo.storage.postgres.connection.caobject{"name":""}None
features.alpha.apollo.storage.postgres.connection.ca.namestring""None
features.alpha.apollo.storage.postgres.connection.credentialsobject{"format":"pgpass","secret":{"name":""},"user":""}None
features.alpha.apollo.storage.postgres.connection.credentials.secretobject{"name":""}None
features.alpha.apollo.storage.postgres.connection.credentials.secret.namestring""None
features.alpha.apollo.storage.postgres.connection.credentials.userstring""None
features.alpha.apollo.storage.postgres.connection.databasestring"upbound"None
features.alpha.apollo.storage.postgres.connection.sslmodestring"require"None
features.alpha.apollo.storage.postgres.connection.syncerobject{"credentials":{"format":"","secret":{"name":""},"user":""},"sslmode":"","url":""}None
features.alpha.apollo.storage.postgres.connection.syncer.credentialsobject{"format":"","secret":{"name":""},"user":""}None
features.alpha.apollo.storage.postgres.connection.syncer.credentials.formatstring""None
features.alpha.apollo.storage.postgres.connection.syncer.credentials.secretobject{"name":""}None
features.alpha.apollo.storage.postgres.connection.syncer.credentials.secret.namestring""None
features.alpha.apollo.storage.postgres.connection.syncer.credentials.userstring""None
features.alpha.apollo.storage.postgres.connection.syncer.sslmodestring""None
features.alpha.apollo.storage.postgres.connection.syncer.urlstring""None
features.alpha.apollo.storage.postgres.connection.urlstring""None
features.alpha.apollo.syncerobject{"debug":false,"image":{"pullPolicy":"IfNotPresent","repository":"hyperspace","tag":""},"metrics":{"enabled":true},"resources":{"limits":{"cpu":"1000m","memory":"1024Mi"},"requests":{"cpu":"100m","memory":"150Mi"}}}None
features.alpha.apollo.syncer.debugboolfalseNone
features.alpha.apollo.syncer.imageobject{"pullPolicy":"IfNotPresent","repository":"hyperspace","tag":""}None
features.alpha.apollo.syncer.image.pullPolicystring"IfNotPresent"None
features.alpha.apollo.syncer.image.repositorystring"hyperspace"None
features.alpha.apollo.syncer.image.tagstring""None
features.alpha.apollo.syncer.metricsobject{"enabled":true}None
features.alpha.apollo.syncer.metrics.enabledbooltrueNone
features.alpha.apollo.syncer.resourcesobject{"limits":{"cpu":"1000m","memory":"1024Mi"},"requests":{"cpu":"100m","memory":"150Mi"}}None
features.alpha.apollo.syncer.resources.limitsobject{"cpu":"1000m","memory":"1024Mi"}None
features.alpha.apollo.syncer.resources.limits.cpustring"1000m"None
features.alpha.apollo.syncer.resources.limits.memorystring"1024Mi"None
features.alpha.apollo.syncer.resources.requestsobject{"cpu":"100m","memory":"150Mi"}None
features.alpha.apollo.syncer.resources.requests.cpustring"100m"None
features.alpha.apollo.syncer.resources.requests.memorystring"150Mi"None
features.alpha.argocdPluginobject{"enabled":false,"target":{"externalCluster":{"enabled":false,"secret":{"key":"kubeconfig","name":"kubeconfig"}},"secretNamespace":"argocd"}}None
features.alpha.argocdPlugin.enabledboolfalseNone
features.alpha.argocdPlugin.targetobject{"externalCluster":{"enabled":false,"secret":{"key":"kubeconfig","name":"kubeconfig"}},"secretNamespace":"argocd"}None
features.alpha.argocdPlugin.target.externalClusterobject{"enabled":false,"secret":{"key":"kubeconfig","name":"kubeconfig"}}The secret name and key for the kubeconfig of the external cluster. This is used by the argocd plugin to connect to the external cluster in case ArgoCD does not run in the same cluster as Spaces. If not specified, defaults to in-cluster credentials.
features.alpha.argocdPlugin.target.externalCluster.enabledboolfalseNone
features.alpha.argocdPlugin.target.externalCluster.secretobject{"key":"kubeconfig","name":"kubeconfig"}None
features.alpha.argocdPlugin.target.externalCluster.secret.keystring"kubeconfig"None
features.alpha.argocdPlugin.target.externalCluster.secret.namestring"kubeconfig"None
features.alpha.argocdPlugin.target.secretNamespacestring"argocd"None
features.alpha.featuresAnnotationobject{"enabled":false}None
features.alpha.featuresAnnotation.enabledboolfalseNone
features.alpha.inControlPlaneOverride.enabledboolfalseThis enables the InControlPlaneOverride API to allow hierarchical configuration overrides in the control planes.
features.alpha.observabilityobject{"enabled":false}None
features.alpha.observability.enabledboolfalseThis enables the observability feature within this space.
Enabling observability requires OpenTelemetry Operator for Kubernetes to be installed in the cluster. See https://opentelemetry.io/docs/kubernetes/operator/
features.alpha.sharedBackupobject{"enabled":false}None
features.alpha.sharedBackup.enabledboolfalseThis enables backup and restore of control planes using Shared resources.
features.alpha.sharedSecretsobject{"enabled":false}SharedSecrets enables the ability to use the SharedSecrets feature within this space.
features.alpha.sharedSecrets.enabledboolfalseNone
features.alpha.simulations.enabledboolfalseThis enables simulating changes to a control plane.
features.alpha.upboundPolicyobject{"enabled":false}None
features.alpha.upboundPolicy.enabledboolfalseThis enables the SharedUpboundPolicy API within this space.
features.alpha.upboundRBACobject{"enabled":false}None
features.alpha.upboundRBAC.enabledboolfalseThis enables respecting Upbound Authorization management within the space. This will include new APIs for binding Objects to identities supplied by Upbound.
features.betaobject{}Beta features are on by default, but may be disabled here. Beta features are considered to be well tested, and will not be removed completely without being marked deprecated for at least two releases.
hostCluster.provider.helm.versionstring"v0.19.0"None
hostCluster.provider.kubernetes.versionstring"v0.14.0"None
hostCluster.uxp.metricsobject{"enabled":true}None
hostCluster.uxp.versionstring"1.15.3-up.1"None
imagePullSecretslist[{"name":"upbound-pull-secret"}]NOTE: only an imagePullSecret of “upbound-pull-secret” is currently supported.
imagePullSecrets[0]object{"name":"upbound-pull-secret"}None
ingressobject{"annotations":{},"host":"proxy.upbound-127.0.0.1.nip.io","provision":true}Configurations for external requests coming into the space.
ingress.annotationsobject{}Allows setting ingress annotations for the external facing Ingress that terminates at the mxe-router deployment.
ingress.hoststring"proxy.upbound-127.0.0.1.nip.io"Specifies the externally routable hostname used for routing requests to individual control planes.
ingress.provisionbooltrueSpecifies whether the helm chart should create an Ingress resource for routing requests to the spaces-router.
observabilityobject{"collectors":{"repository":"opentelemetry-collector-spaces","resources":{"limits":{"cpu":"100m","memory":"1Gi"},"requests":{"cpu":"10m","memory":"100Mi"}},"tag":""},"spacesCollector":{"config":{"exportPipeline":{"logs":[],"metrics":[]},"exporters":{"debug":null}},"repository":"opentelemetry-collector-spaces","resources":{"limits":{"cpu":100,"memory":"1Gi"},"requests":{"cpu":"10m","memory":"100Mi"}},"tag":""}}None
observability.collectorsobject{"repository":"opentelemetry-collector-spaces","resources":{"limits":{"cpu":"100m","memory":"1Gi"},"requests":{"cpu":"10m","memory":"100Mi"}},"tag":""}Observability configuration to collect metrics and traces ( and logs in the future) from the Control Plane.
Use SharedTelemetryConfig API to configure the exporters for Control Planes and Control Plane Groups.
Control Plane telemetry collection is disabled by default and gated by the “features.alpha.observability.enabled” parameter.
observability.collectors.repositorystring"opentelemetry-collector-spaces"None
observability.collectors.resourcesobject{"limits":{"cpu":"100m","memory":"1Gi"},"requests":{"cpu":"10m","memory":"100Mi"}}None
observability.collectors.resources.limitsobject{"cpu":"100m","memory":"1Gi"}None
observability.collectors.resources.limits.cpustring"100m"None
observability.collectors.resources.limits.memorystring"1Gi"None
observability.collectors.resources.requestsobject{"cpu":"10m","memory":"100Mi"}None
observability.collectors.resources.requests.cpustring"10m"None
observability.collectors.resources.requests.memorystring"100Mi"None
observability.collectors.tagstring""None
observability.spacesCollectorobject{"config":{"exportPipeline":{"logs":[],"metrics":[]},"exporters":{"debug":null}},"repository":"opentelemetry-collector-spaces","resources":{"limits":{"cpu":100,"memory":"1Gi"},"requests":{"cpu":"10m","memory":"100Mi"}},"tag":""}Observability configuration to collect metric and logs from the Spaces machinery and send them to the specified exporters.
observability.spacesCollector.configobject{"exportPipeline":{"logs":[],"metrics":[]},"exporters":{"debug":null}}None
observability.spacesCollector.config.exportPipeline.logslist[]None
observability.spacesCollector.config.exportPipeline.metricslist[]None
observability.spacesCollector.config.exportersobject{"debug":null}To export observability data, configure the exporters here and update the exportPipeline to include the exporters you want to use per telemetry type.
observability.spacesCollector.config.exporters.debugstringnilNone
observability.spacesCollector.repositorystring"opentelemetry-collector-spaces"None
observability.spacesCollector.resourcesobject{"limits":{"cpu":100,"memory":"1Gi"},"requests":{"cpu":"10m","memory":"100Mi"}}None
observability.spacesCollector.resources.limitsobject{"cpu":100,"memory":"1Gi"}None
observability.spacesCollector.resources.limits.cpuint100None
observability.spacesCollector.resources.limits.memorystring"1Gi"None
observability.spacesCollector.resources.requestsobject{"cpu":"10m","memory":"100Mi"}None
observability.spacesCollector.resources.requests.cpustring"10m"None
observability.spacesCollector.resources.requests.memorystring"100Mi"None
observability.spacesCollector.tagstring""None
registrystring"xpkg.upbound.io/spaces-artifacts"Specifies the registry where the containers used in the spaces deployment are served from.
routerobject{"controlPlane":{"extraArgs":[],"extraEnv":[],"extraVolumeMounts":[],"image":{"pullPolicy":"IfNotPresent","repository":"hyperspace","tag":""},"resources":{"limits":{"cpu":"1000m","memory":"1000Mi"},"requests":{"cpu":"100m","memory":"100Mi"}},"service":{"auth":{"port":9000},"grpc":{"port":8081},"http":{"port":9091},"metrics":{"port":8085},"privateHttp":{"port":9092}}},"extraVolumes":[],"hpa":{"enabled":false,"maxReplicas":5,"minReplicas":1,"targetCPUUtilizationPercentage":80},"prometheus":{"podMonitor":{"enabled":false,"interval":"30s"}},"proxy":{"extraArgs":[],"extraEnv":[],"extraVolumeMounts":[],"image":{"pullPolicy":"IfNotPresent","repository":"envoy","tag":"v1.26-latest"},"resources":{"limits":{"cpu":"1000m","memory":"200Mi"},"requests":{"cpu":"100m","memory":"50Mi"}},"service":{"annotations":{},"http":{"port":8443},"type":"ClusterIP"}},"replicaCount":1,"secretRefs":{"adminValidating":"cert-admin-signing","gatewaySigning":"cert-token-signing-gateway","tlsSecretName":"mxp-hostcluster-certs"},"serviceAccount":{"annotations":{},"create":true,"name":""}}Configurations for the space router deployment.
router.controlPlaneobject{"extraArgs":[],"extraEnv":[],"extraVolumeMounts":[],"image":{"pullPolicy":"IfNotPresent","repository":"hyperspace","tag":""},"resources":{"limits":{"cpu":"1000m","memory":"1000Mi"},"requests":{"cpu":"100m","memory":"100Mi"}},"service":{"auth":{"port":9000},"grpc":{"port":8081},"http":{"port":9091},"metrics":{"port":8085},"privateHttp":{"port":9092}}}None
router.controlPlane.extraArgslist[]None
router.controlPlane.extraEnvlist[]None
router.controlPlane.extraVolumeMountslist[]None
router.controlPlane.imageobject{"pullPolicy":"IfNotPresent","repository":"hyperspace","tag":""}None
router.controlPlane.image.pullPolicystring"IfNotPresent"None
router.controlPlane.image.repositorystring"hyperspace"None
router.controlPlane.image.tagstring""None
router.controlPlane.resourcesobject{"limits":{"cpu":"1000m","memory":"1000Mi"},"requests":{"cpu":"100m","memory":"100Mi"}}None
router.controlPlane.resources.limitsobject{"cpu":"1000m","memory":"1000Mi"}None
router.controlPlane.resources.limits.cpustring"1000m"None
router.controlPlane.resources.limits.memorystring"1000Mi"None
router.controlPlane.resources.requestsobject{"cpu":"100m","memory":"100Mi"}None
router.controlPlane.resources.requests.cpustring"100m"None
router.controlPlane.resources.requests.memorystring"100Mi"None
router.controlPlane.serviceobject{"auth":{"port":9000},"grpc":{"port":8081},"http":{"port":9091},"metrics":{"port":8085},"privateHttp":{"port":9092}}None
router.controlPlane.service.authobject{"port":9000}None
router.controlPlane.service.auth.portint9000None
router.controlPlane.service.grpcobject{"port":8081}None
router.controlPlane.service.grpc.portint8081None
router.controlPlane.service.httpobject{"port":9091}None
router.controlPlane.service.http.portint9091None
router.controlPlane.service.metricsobject{"port":8085}None
router.controlPlane.service.metrics.portint8085None
router.controlPlane.service.privateHttpobject{"port":9092}None
router.controlPlane.service.privateHttp.portint9092None
router.extraVolumeslist[]None
router.hpaobject{"enabled":false,"maxReplicas":5,"minReplicas":1,"targetCPUUtilizationPercentage":80}None
router.hpa.enabledboolfalseNone
router.hpa.maxReplicasint5None
router.hpa.minReplicasint1None
router.hpa.targetCPUUtilizationPercentageint80None
router.prometheusobject{"podMonitor":{"enabled":false,"interval":"30s"}}None
router.prometheus.podMonitorobject{"enabled":false,"interval":"30s"}None
router.prometheus.podMonitor.enabledboolfalseNone
router.prometheus.podMonitor.intervalstring"30s"None
router.proxyobject{"extraArgs":[],"extraEnv":[],"extraVolumeMounts":[],"image":{"pullPolicy":"IfNotPresent","repository":"envoy","tag":"v1.26-latest"},"resources":{"limits":{"cpu":"1000m","memory":"200Mi"},"requests":{"cpu":"100m","memory":"50Mi"}},"service":{"annotations":{},"http":{"port":8443},"type":"ClusterIP"}}None
router.proxy.extraArgslist[]None
router.proxy.extraEnvlist[]None
router.proxy.extraVolumeMountslist[]None
router.proxy.imageobject{"pullPolicy":"IfNotPresent","repository":"envoy","tag":"v1.26-latest"}None
router.proxy.image.pullPolicystring"IfNotPresent"None
router.proxy.image.repositorystring"envoy"None
router.proxy.image.tagstring"v1.26-latest"None
router.proxy.resourcesobject{"limits":{"cpu":"1000m","memory":"200Mi"},"requests":{"cpu":"100m","memory":"50Mi"}}None
router.proxy.resources.limitsobject{"cpu":"1000m","memory":"200Mi"}None
router.proxy.resources.limits.cpustring"1000m"None
router.proxy.resources.limits.memorystring"200Mi"None
router.proxy.resources.requestsobject{"cpu":"100m","memory":"50Mi"}None
router.proxy.resources.requests.cpustring"100m"None
router.proxy.resources.requests.memorystring"50Mi"None
router.proxy.serviceobject{"annotations":{},"http":{"port":8443},"type":"ClusterIP"}None
router.proxy.service.annotationsobject{}None
router.proxy.service.httpobject{"port":8443}None
router.proxy.service.http.portint8443None
router.proxy.service.typestring"ClusterIP"None
router.replicaCountint1None
router.secretRefsobject{"adminValidating":"cert-admin-signing","gatewaySigning":"cert-token-signing-gateway","tlsSecretName":"mxp-hostcluster-certs"}None
router.secretRefs.adminValidatingstring"cert-admin-signing"None
router.secretRefs.gatewaySigningstring"cert-token-signing-gateway"None
router.secretRefs.tlsSecretNamestring"mxp-hostcluster-certs"None
router.serviceAccountobject{"annotations":{},"create":true,"name":""}None
router.serviceAccount.annotationsobject{}None
router.serviceAccount.createbooltrueNone
router.serviceAccount.namestring""None
spaceobject{"labels":{}}Configurations that are applied consistently across the space.
space.labelsobject{}Labels that are applied to all Deployments, Pods, Services, and StatefulSets managed by the Space.
versionstring""Overall artifact version that affects xpkgs and related components.
xpkg.mxeCompositionTemplates.repositorystring"mxe-composition-templates"None
xpkg.mxeCompositionTemplates.tagstring""None
xpkg.mxpControlPlane.repositorystring"mxp-control-plane"None
xpkg.mxpControlPlane.tagstring""None
xpkg.mxpHostCluster.repositorystring"mxp-host-cluster"None
xpkg.mxpHostCluster.tagstring""None
xpkg.providerHostCluster.repositorystring"provider-host-cluster"None
xpkg.providerHostCluster.tagstring""None
xpkg.pullPolicystring"IfNotPresent"None