InfoGrab Docs

tbot 차트 레퍼런스

요약

이 차트는 머신 및 워크로드 아이덴티티 에이전트인 TBot 인스턴스를 Kubernetes 클러스터에 배포합니다. 기본적으로 이 차트는 kubernetes 조인 방법을 사용하도록 설계되었지만, 위임된 조인 방법을 사용하도록 사용자 지정할 수 있습니다.

이 차트는 머신 및 워크로드 아이덴티티 에이전트인 TBot 인스턴스를 Kubernetes 클러스터에 배포합니다.

사용하려면 다음을 알아야 합니다:

기본적으로 이 차트는 kubernetes 조인 방법을 사용하도록 설계되었지만, 위임된 조인 방법을 사용하도록 사용자 지정할 수 있습니다. 이 차트에서 token 조인 방법을 사용하는 것은 권장하지 않습니다.

최소 구성#

이 기본 구성은 Teleport 자격증명 파일을 배포 네임스페이스에서 <helm-release-name>-out이라는 시크릿에 씁니다. 예를 들어 tbot-out입니다.

clusterName: "test.teleport.sh"
teleportProxyAddress: "test.teleport.sh:443"
token: "my-token"

전체 레퍼런스#

image#

Type Default
string "public.ecr.aws/gravitational/tbot-distroless"

image sets the container image used for tbot pods created by this chart.

You can override this to use your own tbot image rather than a Teleport-published image.

clusterName#

Type Default
string ""

clusterName should be the name of the Teleport cluster that your Bot will join. You can retrieve it by running tctl status.

For example: clusterName: "test.teleport.sh"

teleportProxyAddress#

Type Default
string ""

teleportProxyAddress is the teleport Proxy Service address the bot will connect to. This must contain the port number, usually 443 or 3080 for Proxy Service. Connecting to the Proxy Service is the most common and recommended way to connect to Teleport. This is mandatory to connect to Teleport Enterprise (Cloud)

This setting is mutually exclusive with teleportProxyAddress and is ignored if tbotConfig is set.

For example:

teleportProxyAddress: "test.teleport.sh:443"

teleportAuthAddress#

Type Default
string ""

teleportAuthAddress is the teleport Auth Service address the bot will connect to. This must contain the port number, usually 3025 for Auth Service. Direct Auth Service connection should be used when you are deploying the bot in the same Kubernetes cluster than your teleport-cluster Helm release and have direct access to the Auth Service. Else, you should prefer connecting via the Proxy Service.

This setting is mutually exclusive with teleportProxyAddress and is ignored if tbotConfig is set.

For example:

teleportAuthAddress: "teleport-auth.teleport-namespace.svc.cluster.local:3025"

defaultOutput#

defaultOutput controls the default output configured for the tbot agent. Ignored if tbotConfig is set.

defaultOutput.enabled#

Type Default
bool true

defaultOutput.enabled controls whether the default output is enabled.

argocd#

argocd configures tbot to synchronize Teleport-managed Kubernetes clusters to Argo CD. Ignored if tbotConfig is set.

argocd.enabled#

Type Default
bool false

argocd.enabled controls whether the Argo CD output is enabled.

argocd.clusterSelectors#

Type Default
list []

argocd.clusterSelectors determines which Kubernetes clusters will be synchronized to Argo CD.

For example:

clusterSelectors:
  - name: my-cluster-1
  - labels:
      environment: production

argocd.secretNamespace#

Type Default
string ""

argocd.secretNamespace determines to which Kubernetes namespace cluster secrets will be written (it must be the namespace in which Argo CD is running). Defaults to the current namespace.

argocd.secretNamePrefix#

Type Default
string ""

argocd.secretNamePrefix overrides the string that cluster secret names will be prefixed with. Defaults to "teleport.argocd-cluster".

argocd.secretLabels#

Type Default
object {}

argocd.secretLabels provides a set of labels that will be applied to cluster secrets. Label values can be Go template strings (rendered by tbot, not Helm) with the following variables:

  • {{.ClusterName}} - Name of the Teleport cluster
  • {{.KubeName}} - Name of the Kubernetes cluster resource
  • {{.Labels}} - Map of labels applied to the Kubernetes cluster resource that can be indexed using \{\{index .Labels "key"\}\}

If the label value is empty, the label will not be added to the secret.

argocd.secretAnnotations#

Type Default
object {}

argocd.secretAnnotations provides a set of annotations that will be applied to cluster secrets. Annotation values can be Go template strings (rendered by tbot, not Helm) with the following variables:

  • {{.ClusterName}} - Name of the Teleport cluster
  • {{.KubeName}} - Name of the Kubernetes cluster resource
  • {{.Labels}} - Map of labels applied to the Kubernetes cluster resource that can be indexed using \{\{index .Labels "key"\}\}

If the annotation value is empty, the annotation will not be added to the secret.

argocd.project#

Type Default
string ""

argocd.project sets the Argo CD project with which the Kubernetes clusters will be associated.

argocd.namespaces#

Type Default
list []

argocd.namespaces controls which Kubernetes namespaces the Argo CD clusters will be allowed to operate on.

argocd.clusterResources#

Type Default
bool false

argocd.clusterResources determines whether the Argo CD cluster is allowed to operate on cluster-scoped resources (only when argocd.namespaces is non-empty).

argocd.clusterNameTemplate#

Type Default
string ""

argocd.clusterNameTemplate determines the format of cluster names in Argo CD. It is a Go template string (rendered by tbot, not Helm) that supports the following variables:

  • {{.ClusterName}} - Name of the Teleport cluster
  • {{.KubeName}} - Name of the Kubernetes cluster resource
  • {{.Labels}} - Map of labels applied to the Kubernetes cluster resource that can be indexed using \{\{index .Labels "key"\}\}

By default, the following template will be used: "{{.ClusterName}}-{{.KubeName}}".

persistence#

persistence controls how the tbot agent stores its data.

Options:

  • "secret": uses a Kubernetes Secret.
  • "disabled": does not persist data. May impact ability to track bot deployment across its lifetime.

tbotConfig#

Type Default
object {}

tbotConfig contains YAML teleport configuration to pass to the tbot pods. The configuration will be merged with the chart-generated configuration and will take precedence in case of conflict. Try to prefer to use the more specific configuration values throughout this chart.

outputs#

Type Default
list []

outputs contains additional outputs to configure for the tbot agent. These should be in the same format as the outputs field in the tbot.yaml. Ignored if tbotConfig is set.

services#

Type Default
list []

services contains additional services to configure for the tbot agent. These should be in the same format as the services field in the tbot.yaml. Ignored if tbotConfig is set.

joinMethod#

Type Default
string "kubernetes"

joinMethod describes how tbot joins the Teleport cluster. See the join method reference for a list of supported values and detailed explanations. Ignored if tbotConfig is set.

token#

Type Default
string ""

token is the name of the token used by tbot to join the Teleport cluster. This value is not sensitive unless the joinMethod is set to "token". Defaults to release name. Ignored if tbotConfig is set.

teleportVersionOverride#

Type Default
string ""

teleportVersionOverride controls the tbot image version deployed by the chart.

Normally, the version of tbot matches the version of the chart. If you install chart version 15.0.0, you'll use tbot version 15.0.0. Upgrading tbot is done by upgrading the chart.

anonymousTelemetry#

Type Default
bool false

anonymousTelemetry controls whether anonymous telemetry is enabled.

debug#

Type Default
bool false

debug controls whether the tbot agent runs in debug mode.

serviceAccount#

serviceAccount controls the Kubernetes ServiceAccounts deployed and used by the chart.

serviceAccount.create#

Type Default
bool true

serviceAccount.create controls whether Helm Chart creates the Kubernetes ServiceAccount resources for the agent. When off, you are responsible for creating the appropriate ServiceAccount resources.

serviceAccount.name#

Type Default
string ""

serviceAccount.name sets the name of the ServiceAccount resource used by the chart. By default, the ServiceAccount has the name of the Helm release.

rbac#

rbac controls the Kubernetes Role and RoleBinding creation used by the serviceAccount

rbac.create#

Type Default
bool true

rbac.create controls whether Helm Chart creates the Kubernetes Role & RoleBindings resources for the Kubernetes SA. When off, you are responsible for creating the appropriate resources.

imagePullPolicy#

Type Default
string "IfNotPresent"

imagePullPolicy sets the pull policy for any pods created by the chart. See the Kubernetes documentation for more details.

extraLabels#

extraLabels contains additional Kubernetes labels to apply on the resources created by the chart. See the Kubernetes label documentation for more information.

extraLabels.role#

Type Default
object {}

extraLabels.role are labels to set on the Role.

extraLabels.roleBinding#

Type Default
object {}

extraLabels.roleBinding are labels to set on the RoleBinding.

extraLabels.config#

Type Default
object {}

extraLabels.config are labels to set on the ConfigMap.

extraLabels.deployment#

Type Default
object {}

extraLabels.deployment are labels to set on the Deployment or StatefulSet.

extraLabels.pod#

Type Default
object {}

extraLabels.pod are labels to set on the Pods created by the Deployment or StatefulSet.

extraLabels.serviceAccount#

Type Default
object {}

extraLabels.serviceAccount are labels to set on the ServiceAccount.

annotations#

annotations contains annotations to apply to the different Kubernetes objects created by the chart. See the Kubernetes annotation documentation for more details.

annotations.role#

Type Default
object {}

annotations.role are annotations to set on the Role.

annotations.roleBinding#

Type Default
object {}

annotations.roleBinding are annotations to set on the RoleBinding.

annotations.config#

Type Default
object {}

annotations.config contains the Kubernetes annotations put on the ConfigMap resource created by the chart.

annotations.deployment#

Type Default
object {}

annotations.deployment contains the Kubernetes annotations put on the Deployment or StatefulSet resource created by the chart.

annotations.pod#

Type Default
object {}

annotations.pod contains the Kubernetes annotations put on the Pod resources created by the chart.

annotations.serviceAccount#

Type Default
object {}

annotations.serviceAccount contains the Kubernetes annotations put on the ServiceAccount resource created by the chart.

resources#

Type Default
object {}

resources sets the resource requests/limits for any pods created by the chart. See the Kubernetes documentation for more details.

affinity#

Type Default
object {}

affinity sets the affinities for any pods created by the chart. See the Kubernetes documentation for more details.

tolerations#

Type Default
list []

tolerations sets the tolerations for any pods created by the chart. See the Kubernetes documentation for more details.

nodeSelector#

Type Default
object {}

nodeSelector sets the node selector for any pods created by the chart. See the Kubernetes documentation for more details.

imagePullSecrets#

Type Default
list []

imagePullSecrets sets the image pull secrets for any pods created by the chart. See the Kubernetes documentation for more details.

extraVolumes#

Type Default
list []

extraVolumes contains extra volumes to mount into the Teleport pods. See the Kubernetes volume documentation for more details.

For example:

extraVolumes:
- name: myvolume
  secret:
    secretName: testSecret

extraVolumeMounts#

Type Default
list []

extraVolumeMounts contains extra volumes mounts for the main Teleport container. See the Kubernetes volume documentation for more details.

For example:

extraVolumesMounts:
- name: myvolume
  mountPath: /path/on/host

extraArgs#

Type Default
list []

extraArgs contains extra arguments to pass to tbot start for the main tbot pod

extraEnv#

Type Default
list []

extraEnv contains extra environment variables to set in the main tbot pod.

For example:

extraEnv:
  - name: HTTPS_PROXY
    value: "http://username:password@my.proxy.host:3128"

securityContext#

Type Default
object null

securityContext sets the container security context for any pods created by the chart. See the Kubernetes documentation for more details.

By default, this is unset.

podSecurityContext#

Type Default
object null

podSecurityContext sets the pod security context for any pods created by the chart. See the Kubernetes documentation for more details.

By default, this is unset.

tbot 차트 레퍼런스

원문 보기
요약

이 차트는 머신 및 워크로드 아이덴티티 에이전트인 TBot 인스턴스를 Kubernetes 클러스터에 배포합니다. 기본적으로 이 차트는 kubernetes 조인 방법을 사용하도록 설계되었지만, 위임된 조인 방법을 사용하도록 사용자 지정할 수 있습니다.

이 차트는 머신 및 워크로드 아이덴티티 에이전트인 TBot 인스턴스를 Kubernetes 클러스터에 배포합니다.

사용하려면 다음을 알아야 합니다:

기본적으로 이 차트는 kubernetes 조인 방법을 사용하도록 설계되었지만, 위임된 조인 방법을 사용하도록 사용자 지정할 수 있습니다. 이 차트에서 token 조인 방법을 사용하는 것은 권장하지 않습니다.

최소 구성#

이 기본 구성은 Teleport 자격증명 파일을 배포 네임스페이스에서 <helm-release-name>-out이라는 시크릿에 씁니다. 예를 들어 tbot-out입니다.

clusterName: "test.teleport.sh"
teleportProxyAddress: "test.teleport.sh:443"
token: "my-token"

전체 레퍼런스#

image#

Type Default
string "public.ecr.aws/gravitational/tbot-distroless"

image sets the container image used for tbot pods created by this chart.

You can override this to use your own tbot image rather than a Teleport-published image.

clusterName#

Type Default
string ""

clusterName should be the name of the Teleport cluster that your Bot will join. You can retrieve it by running tctl status.

For example: clusterName: "test.teleport.sh"

teleportProxyAddress#

Type Default
string ""

teleportProxyAddress is the teleport Proxy Service address the bot will connect to. This must contain the port number, usually 443 or 3080 for Proxy Service. Connecting to the Proxy Service is the most common and recommended way to connect to Teleport. This is mandatory to connect to Teleport Enterprise (Cloud)

This setting is mutually exclusive with teleportProxyAddress and is ignored if tbotConfig is set.

For example:

teleportProxyAddress: "test.teleport.sh:443"

teleportAuthAddress#

Type Default
string ""

teleportAuthAddress is the teleport Auth Service address the bot will connect to. This must contain the port number, usually 3025 for Auth Service. Direct Auth Service connection should be used when you are deploying the bot in the same Kubernetes cluster than your teleport-cluster Helm release and have direct access to the Auth Service. Else, you should prefer connecting via the Proxy Service.

This setting is mutually exclusive with teleportProxyAddress and is ignored if tbotConfig is set.

For example:

teleportAuthAddress: "teleport-auth.teleport-namespace.svc.cluster.local:3025"

defaultOutput#

defaultOutput controls the default output configured for the tbot agent. Ignored if tbotConfig is set.

defaultOutput.enabled#

Type Default
bool true

defaultOutput.enabled controls whether the default output is enabled.

argocd#

argocd configures tbot to synchronize Teleport-managed Kubernetes clusters to Argo CD. Ignored if tbotConfig is set.

argocd.enabled#

Type Default
bool false

argocd.enabled controls whether the Argo CD output is enabled.

argocd.clusterSelectors#

Type Default
list []

argocd.clusterSelectors determines which Kubernetes clusters will be synchronized to Argo CD.

For example:

clusterSelectors:
  - name: my-cluster-1
  - labels:
      environment: production

argocd.secretNamespace#

Type Default
string ""

argocd.secretNamespace determines to which Kubernetes namespace cluster secrets will be written (it must be the namespace in which Argo CD is running). Defaults to the current namespace.

argocd.secretNamePrefix#

Type Default
string ""

argocd.secretNamePrefix overrides the string that cluster secret names will be prefixed with. Defaults to "teleport.argocd-cluster".

argocd.secretLabels#

Type Default
object {}

argocd.secretLabels provides a set of labels that will be applied to cluster secrets. Label values can be Go template strings (rendered by tbot, not Helm) with the following variables:

  • {{.ClusterName}} - Name of the Teleport cluster
  • {{.KubeName}} - Name of the Kubernetes cluster resource
  • {{.Labels}} - Map of labels applied to the Kubernetes cluster resource that can be indexed using \{\{index .Labels "key"\}\}

If the label value is empty, the label will not be added to the secret.

argocd.secretAnnotations#

Type Default
object {}

argocd.secretAnnotations provides a set of annotations that will be applied to cluster secrets. Annotation values can be Go template strings (rendered by tbot, not Helm) with the following variables:

  • {{.ClusterName}} - Name of the Teleport cluster
  • {{.KubeName}} - Name of the Kubernetes cluster resource
  • {{.Labels}} - Map of labels applied to the Kubernetes cluster resource that can be indexed using \{\{index .Labels "key"\}\}

If the annotation value is empty, the annotation will not be added to the secret.

argocd.project#

Type Default
string ""

argocd.project sets the Argo CD project with which the Kubernetes clusters will be associated.

argocd.namespaces#

Type Default
list []

argocd.namespaces controls which Kubernetes namespaces the Argo CD clusters will be allowed to operate on.

argocd.clusterResources#

Type Default
bool false

argocd.clusterResources determines whether the Argo CD cluster is allowed to operate on cluster-scoped resources (only when argocd.namespaces is non-empty).

argocd.clusterNameTemplate#

Type Default
string ""

argocd.clusterNameTemplate determines the format of cluster names in Argo CD. It is a Go template string (rendered by tbot, not Helm) that supports the following variables:

  • {{.ClusterName}} - Name of the Teleport cluster
  • {{.KubeName}} - Name of the Kubernetes cluster resource
  • {{.Labels}} - Map of labels applied to the Kubernetes cluster resource that can be indexed using \{\{index .Labels "key"\}\}

By default, the following template will be used: "{{.ClusterName}}-{{.KubeName}}".

persistence#

persistence controls how the tbot agent stores its data.

Options:

  • "secret": uses a Kubernetes Secret.
  • "disabled": does not persist data. May impact ability to track bot deployment across its lifetime.

tbotConfig#

Type Default
object {}

tbotConfig contains YAML teleport configuration to pass to the tbot pods. The configuration will be merged with the chart-generated configuration and will take precedence in case of conflict. Try to prefer to use the more specific configuration values throughout this chart.

outputs#

Type Default
list []

outputs contains additional outputs to configure for the tbot agent. These should be in the same format as the outputs field in the tbot.yaml. Ignored if tbotConfig is set.

services#

Type Default
list []

services contains additional services to configure for the tbot agent. These should be in the same format as the services field in the tbot.yaml. Ignored if tbotConfig is set.

joinMethod#

Type Default
string "kubernetes"

joinMethod describes how tbot joins the Teleport cluster. See the join method reference for a list of supported values and detailed explanations. Ignored if tbotConfig is set.

token#

Type Default
string ""

token is the name of the token used by tbot to join the Teleport cluster. This value is not sensitive unless the joinMethod is set to "token". Defaults to release name. Ignored if tbotConfig is set.

teleportVersionOverride#

Type Default
string ""

teleportVersionOverride controls the tbot image version deployed by the chart.

Normally, the version of tbot matches the version of the chart. If you install chart version 15.0.0, you'll use tbot version 15.0.0. Upgrading tbot is done by upgrading the chart.

anonymousTelemetry#

Type Default
bool false

anonymousTelemetry controls whether anonymous telemetry is enabled.

debug#

Type Default
bool false

debug controls whether the tbot agent runs in debug mode.

serviceAccount#

serviceAccount controls the Kubernetes ServiceAccounts deployed and used by the chart.

serviceAccount.create#

Type Default
bool true

serviceAccount.create controls whether Helm Chart creates the Kubernetes ServiceAccount resources for the agent. When off, you are responsible for creating the appropriate ServiceAccount resources.

serviceAccount.name#

Type Default
string ""

serviceAccount.name sets the name of the ServiceAccount resource used by the chart. By default, the ServiceAccount has the name of the Helm release.

rbac#

rbac controls the Kubernetes Role and RoleBinding creation used by the serviceAccount

rbac.create#

Type Default
bool true

rbac.create controls whether Helm Chart creates the Kubernetes Role & RoleBindings resources for the Kubernetes SA. When off, you are responsible for creating the appropriate resources.

imagePullPolicy#

Type Default
string "IfNotPresent"

imagePullPolicy sets the pull policy for any pods created by the chart. See the Kubernetes documentation for more details.

extraLabels#

extraLabels contains additional Kubernetes labels to apply on the resources created by the chart. See the Kubernetes label documentation for more information.

extraLabels.role#

Type Default
object {}

extraLabels.role are labels to set on the Role.

extraLabels.roleBinding#

Type Default
object {}

extraLabels.roleBinding are labels to set on the RoleBinding.

extraLabels.config#

Type Default
object {}

extraLabels.config are labels to set on the ConfigMap.

extraLabels.deployment#

Type Default
object {}

extraLabels.deployment are labels to set on the Deployment or StatefulSet.

extraLabels.pod#

Type Default
object {}

extraLabels.pod are labels to set on the Pods created by the Deployment or StatefulSet.

extraLabels.serviceAccount#

Type Default
object {}

extraLabels.serviceAccount are labels to set on the ServiceAccount.

annotations#

annotations contains annotations to apply to the different Kubernetes objects created by the chart. See the Kubernetes annotation documentation for more details.

annotations.role#

Type Default
object {}

annotations.role are annotations to set on the Role.

annotations.roleBinding#

Type Default
object {}

annotations.roleBinding are annotations to set on the RoleBinding.

annotations.config#

Type Default
object {}

annotations.config contains the Kubernetes annotations put on the ConfigMap resource created by the chart.

annotations.deployment#

Type Default
object {}

annotations.deployment contains the Kubernetes annotations put on the Deployment or StatefulSet resource created by the chart.

annotations.pod#

Type Default
object {}

annotations.pod contains the Kubernetes annotations put on the Pod resources created by the chart.

annotations.serviceAccount#

Type Default
object {}

annotations.serviceAccount contains the Kubernetes annotations put on the ServiceAccount resource created by the chart.

resources#

Type Default
object {}

resources sets the resource requests/limits for any pods created by the chart. See the Kubernetes documentation for more details.

affinity#

Type Default
object {}

affinity sets the affinities for any pods created by the chart. See the Kubernetes documentation for more details.

tolerations#

Type Default
list []

tolerations sets the tolerations for any pods created by the chart. See the Kubernetes documentation for more details.

nodeSelector#

Type Default
object {}

nodeSelector sets the node selector for any pods created by the chart. See the Kubernetes documentation for more details.

imagePullSecrets#

Type Default
list []

imagePullSecrets sets the image pull secrets for any pods created by the chart. See the Kubernetes documentation for more details.

extraVolumes#

Type Default
list []

extraVolumes contains extra volumes to mount into the Teleport pods. See the Kubernetes volume documentation for more details.

For example:

extraVolumes:
- name: myvolume
  secret:
    secretName: testSecret

extraVolumeMounts#

Type Default
list []

extraVolumeMounts contains extra volumes mounts for the main Teleport container. See the Kubernetes volume documentation for more details.

For example:

extraVolumesMounts:
- name: myvolume
  mountPath: /path/on/host

extraArgs#

Type Default
list []

extraArgs contains extra arguments to pass to tbot start for the main tbot pod

extraEnv#

Type Default
list []

extraEnv contains extra environment variables to set in the main tbot pod.

For example:

extraEnv:
  - name: HTTPS_PROXY
    value: "http://username:password@my.proxy.host:3128"

securityContext#

Type Default
object null

securityContext sets the container security context for any pods created by the chart. See the Kubernetes documentation for more details.

By default, this is unset.

podSecurityContext#

Type Default
object null

podSecurityContext sets the pod security context for any pods created by the chart. See the Kubernetes documentation for more details.

By default, this is unset.