mirror of
https://github.com/gravitational/teleport.git
synced 2026-10-25 10:40:02 +08:00
* Added proxy-only helm chart * dleted unused text fixtures * Deleted empty snapshots * unused helmignore * deleted debugging * Switch empty join_params from values file to set to avoid lint-helm make target bug * Put static join tokens in secert * Remove PSP support * Added token secret to validation hook * fixed hook name in test * Made example use more realistic kube+oidc token * Set correct hook weight for secret * Better validation of token secerts * Fixed cluster ref in readme example * Fixed typo in Account * Preserve all join params * Make tmp secret for install only * Fixed wrong context for volumes calls * Don't support creating token secret for upgrades * Added optional audience to projected SA token * Deleted unneeded snapshot * Fixed merged proxy values for join token secret * Ensures hook secret is created for proxy override * Wrote docs * Allowed empty value for proxyProtocol * Fixed doc spelling errors * Wrote index page for teleport-proxy chart * Ensure bound keypair values are only in secrets * Fixed extra whitespace * fixed auth-token path and related tests * Removed token and bound_keypair support * Fixed lint version after rebase to helm4 link fix * Corrected overrides for serviceAccountToken* settings * corrected doc links * Documented validation intent * Fix doc links * Fixed tls-routing doc link * Fix arch doc ref * arch link fix again * forgot to checking vales * Fix vale findings * Update examples/chart/teleport-proxy/values.yaml Co-authored-by: Hugo Shaka <hugo.hervieux@goteleport.com> * Fixed missing docs secions due to -- vs - * Address code review comments * Switched helm values to camelCase * Removed legacy proxy key * Remove legacy replica count munging * Added Azure support to joinParams * Fix unescaped doc chars * Fixed doc heading and link * fixed heading * fixed vale checks * code review fixes for values * Added updated generated doc page * Updated for helm unittest 1.0.3 * Fixed config version for scratch chart mode * Remove unneeded license from proxy chart * Clarified Anycast support in comment * Clarified cluster name docs * Noted limited purpose of chart * Made various bits of docs admonitions * Advised against using serviceAccountToken values * Removed ACME support * Fixed incorrect link * fixed mdx/mxd doc extention conflation * Fixed doc lint issues * Removed serviceAccountToken custom fields * Corrected docs on join token creation * Corrected example token expiry in docs and unneded doc link in README * Fixed spelling * Fixed tctl create command --------- Co-authored-by: Hugo Shaka <hugo.hervieux@goteleport.com>
teleport-proxy-lib
Library chart to deploy the Teleport proxy.
See examples/chart/lib/README.md for the repo-wide library-chart conventions.
Public template
teleport-proxy-lib.all
Renders the manifests to deploy a Teleport proxy as a multi-document YAML stream; manifests for disabled features are omitted. Call it with the consumer's root context:
{{- include "teleport-proxy-lib.all" . -}}
Inputs are read from top-level .Values.* (plus .Release, .Chart,
.Capabilities).
Values
acme,acmeEmail,acmeURI— obtain the proxy certificate via ACME/Let's Encrypt (proxy_service.acme); mutually exclusive withtls.existingSecretName.annotations— per-manifest annotations, keyed by manifest (config,deployment,pod,service,serviceAccount,ingress,certSecret); applied only to the matching manifest.chartMode— config generation:standalone(full proxy config) orscratch(minimal — supply the rest viateleportConfig).clusterName— proxy hostname; default forproxy_service.public_addr(clusterName:443) and cert-manager SAN. Must not contain a port.extraArgs— extrateleportCLI args (containerargs).extraContainers— sidecar containers.extraEnv— extra container environment variables.extraLabels— per-manifest extra labels, keyed likeannotations(plusjob,jobPod,podDisruptionBudget).extraVolumes,extraVolumeMounts— extra pod volumes / mounts.goMemLimitRatio— setsGOMEMLIMITto memory-limit × ratio (Go runtime).highAvailability.certManager— issue the proxy cert via cert-manager (issuerName/issuerKind/issuerGroup,addCommonName,addPublicAddrs).highAvailability.minReadySeconds— DeploymentminReadySeconds.highAvailability.podDisruptionBudget— create a PodDisruptionBudget.highAvailability.replicaCount,forceHAReplicas— replica count; replicable deployments (cert-manager / existing TLS secret / ingress) are bumped to ≥2 unlessforceHAReplicashonors the count as-is.highAvailability.requireAntiAffinity— require pods on separate nodes (hard anti-affinity).image,enterpriseImage,enterprise— container image;enterprise: trueselectsenterpriseImage. Tag comes fromteleportVersionOverride/chart version.imagePullPolicy,imagePullSecrets— image pull policy and secrets.ingress— optionally create an Ingress routing to the Service (requiresproxyListenerMode: multiplex); sub-keysuseExisting,suppressAutomaticWildcards,spec.initContainers— extra init containers (Default teleport volume mounts are added unlessskipDefaultVolumeMountskey is set. This non-k8s key is revmoed. All other keys are standard k8s init-container YAML.)insecureSkipProxyTLSVerify— adds--insecureto theteleportargs; skips proxy TLS certificate verification (dev only).jobResources— resources for thevalidateConfigOnDeployJob.kubePublicAddr—proxy_service.kube_public_addr.log,logLevel—teleport.logseverity/output/format;logLevelis a legacy alias forlog.level.mongoPublicAddr—proxy_service.mongo_public_addr.mysqlPublicAddr—proxy_service.mysql_public_addr.nameOverride— overrides theapp.kubernetes.io/namelabel.nodeSelector,affinity,tolerations— pod scheduling; settingaffinityreplaces the chart's default anti-affinity.podSecurityContext,securityContext— pod / container security context.postgresPublicAddr—proxy_service.postgres_public_addr.postStart— containerpostStartlifecycle hook command.priorityClassName— pod priority class.probeTimeoutSeconds,readinessProbe— liveness/readiness probe timeout and readiness thresholds.proxyListenerMode—multiplex(single TLS port) vsseparateper-protocol listeners (TLS routing); drives the listeners/ports in the config, Deployment, and Service.proxyProtocol— setsproxy_service.proxy_protocol.publicAddr—proxy_service.public_addr(defaults toclusterName:443).resources— main container resources (also the default forinitContainers).separateMongoListener— expose a dedicated Mongo listener (proxy_service.mongo_listen_addr- port 27017) instead of multiplexing.
separatePostgresListener— expose a dedicated Postgres listener (proxy_service.postgres_listen_addr- Service/Deployment port 5432) instead of multiplexing.
service,service.type— the Service that exposes the proxy (defaultLoadBalancer);service.specis merged in. Always created — the primary way to reach the proxy.serviceAccount—createthe ServiceAccount and itsname(used verbatim — no suffix appended).serviceAccountTokenAudience— optional audience for the projected Kubernetes service-account token mounted into the proxy pod.serviceAccountTokenExpirationSeconds— optional TTL for the projected Kubernetes service-account token mounted into the proxy pod.sshPublicAddr—proxy_service.ssh_public_addr.teleportAuthService— setsteleport.auth_server.teleportConfig— rawteleport.yamloverrides, deep-merged over the generated config.teleportVersionOverride— image tag / Teleport version (defaults to the chart version).terminationGracePeriodSeconds— pod termination grace period.tls.existingCASecretName,tls.existingCASecretKeyName— mount an extra CA Secret and pointSSL_CERT_FILEat the named key (trust a private CA).tls.existingSecretName— mount an existing TLS Secret as the proxy keypair (proxy_service.https_keypairs) instead of ACME/cert-manager.tunnelPublicAddr—proxy_service.tunnel_public_addr.validateConfigOnDeploy— run a pre-install/pre-upgrade Helm hook Job that executesteleport configure --teston the rendered config before rollout.