Skip to main content

TeleportAppV3

This guide is a comprehensive reference to the fields in the TeleportAppV3 resource, which you can apply after installing the Teleport Kubernetes operator.

resources.teleport.dev/v1

apiVersion: resources.teleport.dev/v1

FieldTypeDescription
apiVersionstringAPIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kindstringKind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadataobject
specobjectApp resource definition v3 from Teleport

spec

FieldTypeDescription
UserGroups[]stringUserGroups are a list of user group IDs that this app is associated with.
awsobjectAWS contains additional options for AWS applications.
cloudstringCloud identifies the cloud instance the app represents.
corsobjectCORSPolicy defines the Cross-Origin Resource Sharing settings for the app.
dynamic_labelsobjectDynamicLabels are the app's command labels.
identity_centerobjectIdentityCenter encasulates AWS identity-center specific information. Only valid for Identity Center account apps.
insecure_skip_verifybooleanInsecureSkipVerify disables app's TLS certificate verification.
integrationstringIntegration is the integration name that must be used to access this Application. Only applicable to AWS App Access. If present, the Application must use the Integration's credentials instead of ambient credentials to access Cloud APIs.
mcpobjectMCP contains MCP server related configurations.
public_addrstringPublicAddr is the public address the application is accessible at.
required_app_names[]stringRequiredAppNames is a list of app names that are required for this app to function. Any app listed here will be part of the authentication redirect flow and authenticate along side this app.
rewriteobjectRewrite is a list of rewriting rules to apply to requests and responses.
tcp_ports[]objectTCPPorts is a list of ports and port ranges that an app agent can forward connections to. Only applicable to TCP App Access. If this field is not empty, URI is expected to contain no port number and start with the tcp protocol.
uristringURI is the web app endpoint.
use_any_proxy_public_addrbooleanUseAnyProxyPublicAddr will rebuild this app's fqdn based on the proxy public addr that the request originated from. This should be true if your proxy has multiple proxy public addrs and you want the app to be accessible from any of them. If public_addr is explicitly set in the app spec, setting this value to true will overwrite that public address in the web UI.

spec.aws

FieldTypeDescription
external_idstringExternalID is the AWS External ID used when assuming roles in this app.
roles_anywhere_profileobjectRolesAnywhereProfile contains the IAM Roles Anywhere fields associated with this Application. These fields are set when performing the synchronization of AWS IAM Roles Anywhere Profiles into Teleport Apps.

spec.aws.roles_anywhere_profile

FieldTypeDescription
accept_role_session_namebooleanWhether this Roles Anywhere Profile accepts a custom role session name. When not supported, the AWS Session Name will be the X.509 certificate's serial number. When supported, the AWS Session Name will be the identity's username. This values comes from: https://docs.aws.amazon.com/rolesanywhere/latest/APIReference/API_ProfileDetail.html / acceptRoleSessionName
profile_arnstringProfileARN is the AWS IAM Roles Anywhere Profile ARN that originated this Teleport App.

spec.cors

FieldTypeDescription
allow_credentialsbooleanallow_credentials indicates whether credentials are allowed.
allowed_headers[]stringallowed_headers specifies which headers can be used when accessing the app.
allowed_methods[]stringallowed_methods specifies which methods are allowed when accessing the app.
allowed_origins[]stringallowed_origins specifies which origins are allowed to access the app.
exposed_headers[]stringexposed_headers indicates which headers are made available to scripts via the browser.
max_ageintegermax_age indicates how long (in seconds) the results of a preflight request can be cached.

spec.dynamic_labels

FieldTypeDescription
keystring
valueobject

spec.dynamic_labels.value

FieldTypeDescription
command[]stringCommand is a command to run
periodstringPeriod is a time between command runs
resultstringResult captures standard output

spec.identity_center

FieldTypeDescription
account_idstringAccount ID is the AWS-assigned ID of the account
permission_sets[]objectPermissionSets lists the available permission sets on the given account

spec.identity_center.permission_sets items

FieldTypeDescription
arnstringARN is the fully-formed ARN of the Permission Set.
assignment_namestringAssignmentID is the ID of the Teleport Account Assignment resource that represents this permission being assigned on the enclosing Account.
namestringName is the human-readable name of the Permission Set.

spec.mcp

FieldTypeDescription
args[]stringArgs to execute with the command.
commandstringCommand to launch stdio-based MCP servers.
run_as_host_userstringRunAsHostUser is the host user account under which the command will be executed. Required for stdio-based MCP servers.

spec.rewrite

FieldTypeDescription
headers[]objectHeaders is a list of headers to inject when passing the request over to the application.
jwt_claimsstringJWTClaims configures whether roles/traits are included in the JWT token.
redirect[]stringRedirect defines a list of hosts which will be rewritten to the public address of the application if they occur in the "Location" header.

spec.rewrite.headers items

FieldTypeDescription
namestringName is the http header name.
valuestringValue is the http header value.

spec.tcp_ports items

FieldTypeDescription
end_portintegerEndPort describes the end of the range, inclusive. If set, it must be between 2 and 65535 and be greater than Port when describing a port range. When omitted or set to zero, it signifies that the port range defines a single port.
portintegerPort describes the start of the range. It must be between 1 and 65535.