Skip to main content

teleport-access-graph Chart Reference

Report an IssueView as Markdown

The teleport-access-graph Helm chart deploys the Access Graph service.

See Teleport Identity Security with Access Graph on Self-Hosted Clusters with Helm for more details.

Version Compatibility

The chart is versioned with the Access Graph service. No compatibility guarantees are ensured if the service and chart versions differ. It is strongly recommended to always align the chart and service versions by using the --version Helm flag.

postgres

postgres Database connection settings

postgres.connectionString

TypeDefault
string""

postgres.connectionString is the connection string to the PostgreSQL database. Use this only when not using a Kubernetes secret and not using AWS or Azure IAM authentication.

postgres.secretName

TypeDefault
string""

postgres.secretName is the name of an existing Kubernetes secret containing the connection string to the PostgreSQL database.

postgres.secretKey

TypeDefault
string"uri"

postgres.secretKey is the name of the secret key for the provided Kubernetes secret containing the connection string to the PostgreSQL database.

postgres.aws

postgres.aws contains optional AWS connection settings for using AWS IAM authentication. This is only required if you are using an AWS RDS or Aurora PostgreSQL database with IAM authentication.

postgres.aws.enabled

TypeDefault
boolfalse

postgres.aws.enabled enables IAM authentication for the PostgreSQL database.

postgres.aws.region

TypeDefault
string""

postgres.aws.region is the optional AWS region where the PostgreSQL database is located. If not set, the region will be inferred from the AWS_REGION environment variable.

postgres.azure

TypeDefault
object{"enabled":false}

postgres.azure contains optional settings for using Microsoft Entra ID authentication with Azure Database for PostgreSQL. This is only required if you are using an Azure Database for PostgreSQL.

postgres.azure.enabled

TypeDefault
boolfalse

postgres.azure.enabled enables Microsoft Entra ID authentication for the PostgreSQL database.

postgres.azure.tenantId

TypeDefault
string""

postgres.azure.tenantId is the Microsoft Entra ID tenant ID to use for authentication. If not set, the default tenant ID will be used.

postgres.connection_parameters

TypeDefault
objectnull

postgres.connection_parameters contains optional connection parameters configuration values for connecting to the database.

postgres.replica

TypeDefault
object{}

postgres.replica contains the database replica connection settings.

postgres.replica.connectionString

TypeDefault
string""

postgres.replica.connectionString is the connection string to the PostgreSQL database. It should be used only if you are not using a Kubernetes secret and AWS or Azure auth is enabled.

postgres.replica.secretName

TypeDefault
string""

postgres.replica.secretName is the name of an existing Kubernetes secret containing the connection string to the replica PostgreSQL database.

postgres.replica.secretKey

TypeDefault
string"uri"

postgres.replica.secretKey is the name of the secret key for the provided Kubernetes secret containing the connection string to the replica PostgreSQL database.

postgres.replica.connection_parameters

TypeDefault
objectnull

postgres.replica.connection_parameters contains optional connection parameters configuration values for connecting to the replica database.

tls

tls TLS settings for the main gRPC listener.

tls.existingSecretName

TypeDefault
string""

tls.existingSecretName is the name of an existing Kubernetes secret containing the certificate and its private key to use for the gRPC listener. The secret must be of type kubernetes.io/tls, see the Kubernetes documentation for more details.

Setting this is required, as Teleport Access Graph always operates via TLS-protected connections.

clusterHostCAs

TypeDefault
array[]

clusterHostCAs is a list of strings containing PEM-encoded Host CA certificates of Teleport clusters that are allowed to use this instance of TAG. Setting this to a non-empty array is required.

identity_activity_center

identity_activity_center contains options for the Identity Activity Center feature. This feature allows Access Graph to store security events in a central location and to query them using Athena, providing a way to analyze and correlate security events across multiple Teleport clusters.

identity_activity_center.enabled

TypeDefault
boolfalse

identity_activity_center.enabled enables the Identity Activity Center feature.

identity_activity_center.region

TypeDefault
string""

identity_activity_center.region the AWS region where the SQS queue, Athena database and S3 bucket are located.

identity_activity_center.database

TypeDefault
string""

identity_activity_center.database the name of the Athena database to use for storing security events.

identity_activity_center.table

TypeDefault
string""

identity_activity_center.table the name of the Athena table to use for storing security events.

identity_activity_center.workgroup

TypeDefault
string""

identity_activity_center.workgroup the name of the Athena workgroup to use for executing queries.

identity_activity_center.s3

TypeDefault
string""

identity_activity_center.s3 the S3 bucket to use for storing security events. Example: s3://bucket-events/data/

identity_activity_center.s3_results

TypeDefault
string""

identity_activity_center.s3_results the S3 bucket to use for storing results of Athena queries. Example: s3://bucket-events/results/

identity_activity_center.s3_large_files

TypeDefault
string""

identity_activity_center.s3_large_files the S3 bucket to use for storing large files that cannot be stored in the Athena database. This is used to store large files that cannot be shared via SQS, such as large JSON files. Example: s3://bucket-events/s3_large_files

identity_activity_center.sqs_queue_url

TypeDefault
string""

identity_activity_center.sqs_queue_url the URL of the SQS queue to use for processing security events.

identity_activity_center.maxmind_geoip_city_db_path

TypeDefault
string""

identity_activity_center.maxmind_geoip_city_db_path the path to the MaxMind GeoIP City database file. This is used to enrich security events with geolocation information. Use this together with the volumeMounts and volumes options to mount the database file into the TAG pod.

Example:

kubectl create secret generic maxmind-geoip-city-db --from-file=GeoLite2-City.mmdb

Then, add the following to your TAG deployment:

volumes:
- name: maxmind-geoip-city-db
  secret:
    secretName: maxmind-geoip-city-db
    optional: false
volumeMounts:
- name: maxmind-geoip-city-db
  mountPath: "/etc/maxmindGeoIP/"
  readOnly: true

identity_activity_center:
  ... # other options
  maxmind_geoip_city_db_path: "/etc/maxmindGeoIP/GeoLite2-City.mmdb"

If you do not want to use the MaxMind GeoIP City database, set this to an empty string.

service

TypeDefault
object{"grpcPort":443,"metricsPort":3000,"type":"ClusterIP"}

service contains options for the TAG Kubernetes service that the Chart exposes.

service.type

TypeDefault
string"ClusterIP"

service.type the type of Kubernetes service to create. The LoadBalancer type is only supported when using a Layer 4 (TCP) or lower load balancer. TAG expects to terminate its own TLS, as it uses mTLS to authenticate its clients.

service.grpcPort

TypeDefault
int443

service.grpcPort the port that the gRPC service is exposed on. This is the port that Teleport Auth Service and Proxy Service will need to connect to TAG on.

service.metricsPort

TypeDefault
int3000

service.metricsPort the port that the metrics service is exposed on. Requires metrics.enabled to be true.

replicaCount

TypeDefault
int2

replicaCount the number of TAG pods that should be deployed.

metrics

TypeDefault
object{"enabled":false,"pprof":false}

metrics contains options for the TAG metrics service.

metrics.enabled

TypeDefault
boolfalse

metrics.enabled enables the metrics service.

metrics.pprof

TypeDefault
boolfalse

metrics.pprof Enables pprof metrics endpoints

log

log contains logging settings for TAG.

log.level

TypeDefault
string"INFO"

log.level the minimum severity of log messages to output. Supported values are DEBUG, INFO, WARN and ERROR.

image

TypeDefault
object{"pullPolicy":"IfNotPresent","repository":"public.ecr.aws/gravitational/access-graph","tag":""}

image.tag

TypeDefault
string""

image.tag sets the version of the Teleport Access Graph image used. By default, this is the same as the Helm Chart version, i.e. TAG will be upgraded when you upgrade the Helm chart.

podAnnotations

TypeDefault
object{}

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

podLabels

TypeDefault
object{}

podLabels contains the Kubernetes labels put on the Pod resources created by the chart.

podSecurityContext

TypeDefault
object{"runAsGroup":65532,"runAsNonRoot":true,"runAsUser":65532}

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

The default value supports running under the restricted Pod Security Standard.

securityContext

TypeDefault
object{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"seccompProfile":{"type":"RuntimeDefault"}}

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

The default value supports running under the restricted Pod Security Standard.

extraEnv

TypeDefault
list[]

extraEnv allows specifying additional environment variables.

volumes

TypeDefault
array[]

volumes allows you to define additional volumes on the output Deployment definition.

nodeSelector

TypeDefault
object{}

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

tolerations

TypeDefault
list[]

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

affinity

TypeDefault
object{}

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

labels

TypeDefault
object{}

labels contains additional labels to add to the Pod Disruption Budget.