Adding New Resources
Pre-requisites
Section titled “Pre-requisites”- The resource has network access to the Teleport Cluster’s proxy (internal.production.teleport.gitlab.net).
- The resource has access to a join method (default is GCP)
Adding virtual machines (via Chef)
Section titled “Adding virtual machines (via Chef)”- Ensure that the gitlab-teleport cookbook is in the runlist (see chef-repo).
- Ensure that the
environmentandserviceattributes are set. - Ensure that the join method is configured via the
configattribute.
Note that the cookbook may also be used to deploy a Teleport bot service (Machine & Workload Identity).
Adding kubernetes resources (via Helm)
Section titled “Adding kubernetes resources (via Helm)”- Add the new cluster resources to the Teleport Agent chart.
- Ensure that the
labels.environmentandlabels.serviceattributes are set. - Ensure that the join method is configured via the
joinParamsattribute.
Manual approach (avoid doing this, use IaC approaches instead)
Section titled “Manual approach (avoid doing this, use IaC approaches instead)”- On your local machine, log into tsh.
- Use
tctl tokens add --ttl=5m --type=nodeto generate a new token. - On the resource node, stop teleport with
systemctl stop teleport. - On the resource node, edit the
/etc/teleport/config.yamlfile, and add the generated token to thetoken_namefield. - Start up the teleport service again on the resource node:
systemctl start teleport.
Updating Roles
Section titled “Updating Roles”Ensure that the labels applied to the resource match existing roles so that the correct users can access it.
If you have added a new db-type (for example), you may need to add it to
existing roles defined in Terraform.
Here
is an example merge request to add the new sec db-type to existing roles.