Commit Graph
427 Commits
Author SHA1 Message Date
Noah Stride ee6e527eaf WMI: Allow max TTL for X509 and JWT SVIDs to be configured (#53787)
* Add maximum_ttl fields to the WorkloadIdentity resource

* Update issuer service to respect configurable max TTLs

* Add tests for TTL specification

* Add validation logic & tests

* Update terraform provider

* Fix tbot max ttl limitations

* Clarify name of `ignoreMaximumTTL`

* Introduce `defaultTTL` constant

* Fix generation of jwt

* Update operator resources
2025-04-09 17:28:51 +00:00
Noah Stride 47ec6d7222 Operator support for WorkloadIdentity resource (#53484)
* Generate CRDs

* Update snapshots

* Add apis impl for WorkloadIdentity

* Add WorkloadIdentityReconciler

* Add test for WorkloadIdentityReconciler

* Update RBAC

* Update to include version in kind

* Fix license header

* Fix handling of well-known Struct type

* Ignore revsiion
2025-04-09 14:18:31 +00:00
Noah Stride 63e269a756 Operator support for Bot resource (#53453)
* Add `Bot` manifests

* Update protos

* Add Bot API resource impl

* Add reconciler

* Fix bot CRD "versions" name

* Fix Unmarshal/Marshal panic for 153 resources

* Fix update test

* Mispell Marshalling

* Generate docs page

* Update role.yaml

* Add TeleportBot to resource list

* Update contributing

* Try to update the versions per RFD160

* Update k8s rbac for new resource name

* Use proto binary encoding for Marshal/Unmarshal

* Clear out unversioned crd

* More efficient deepcopyinto

* Fix license

* Add unmarshal options for protojson

* Update golden

* Fix RBAC
2025-04-01 15:31:48 +00:00
Gavin Frazar 8d38eac6ce [docs] Fix role reference request_access docs (#53471)
* Fix request_access godoc

* Update terraform docs

* Update operator CRD docs
2025-03-26 22:43:56 +00:00
Noah Stride 7cbb46d2ed Support configuring StaticJWKS for the GitLab join method (#53386)
* Update protobuf

* Implement and test ValidateTokenWithJWKS

* Update join logic to use new method for static jwks

* Update Terraform Provider

* Update operator docs/files

* Update goldenfile
2025-03-25 18:03:09 +00:00
Hugo ShakaandJoao Ubaldo 8c8b3832c9 [buddy] helm: add support for secondFactors (#53274)
* Helm: add support for multiple second factors

* Helm: better handle webauthn

* Helm: add tests

* Helm: update contributing reference link

* Helm: add doc

* Helm: update default value

* helm: deprecate secondFactor and user secondFactors by default

---------

Co-authored-by: Joao Ubaldo <me@joaoubaldo.com>
2025-03-23 11:00:28 +00:00
Hugo Shaka 4fad952d20 helm: add topology spread constraints (#53276) 2025-03-21 14:50:43 +00:00
Paul Gottschling 0fbbeff50c Replace Notices with Docusaurus syntax (#52634)
Use Docusaurus syntax for admonitions so the docs engine does not need
to replace these. This is one step toward removing the
`remark-update-tags` plugin. See: gravitational/docs-website#94

Relevant commands are included below to make reproducing this work
easier.

1. Replace all `Notice` tags with `Admonition` tags.

2. Add `type="info"` if an Admonition is missing a type.

   To find instances:

   ```
   find docs/pages -name "*.mdx" -exec awk '
   BEGIN{a=0}
   a==0 && /<Admonition/{ a = 1 }
    a==1 && /type/{t = 1}
    a==1 && />/{ a = 0; if(t == 0) print FILENAME ":" FNR }' {} \;
   ```

3. Replace `type="notice"` with `type="note"`.

   To find instances:

   ```
   find docs/pages -name "*.mdx" -exec awk '
   BEGIN{a=0}
   a==0 && /<Admonition/{ a = 1 }
    a==1 && /type="notice"/{t = 1}
    a==1 && />/{ a = 0; if(t == 1) print FILENAME ":" FNR }' {} \;
   ```
2025-03-04 15:51:27 +00:00
Hugo Shaka 61e58e9d82 helm: Support tuning readiness probe (#52535)
* helm: support setting the readiness in teleport-cluster

* update snapshots

* fix typo
2025-02-26 22:34:25 +00:00
marie ecfce7ea23 docs: correcting links in examples directory (#52108) 2025-02-13 09:01:26 +00:00
Hugo ShakaandmaximumG d61d6bc46d feat(tbot): K8S Role creation is optional (#51919)
Fixes #51181.

K8S `Role` & `RoleBinding` are created by default. Their creation does not depends on the `ServiceAccount` creation anymore.

Co-authored-by: maximumG <maxime.gerges@backmarket.com>
2025-02-07 00:06:55 +00:00
Noah Stride 62c28bb692 tbot Helm Chart: Add ability to configure securityContext (#51817)
* Add ability to configure securityContext of tbot pods

* Newline at end of file
2025-02-05 09:09:57 +00:00
Andrew Burke a67d70b436 OCI join - add proto and client (#51444)
This change adds protos, the client, and a bunch of boilerplate
for the Oracle join method.
2025-01-29 20:11:16 +00:00
Steven Martin f6907d2bc1 Fix spelling in helm charts (#51544) 2025-01-28 14:11:59 +00:00
Hugo ShakaandTiago Silva 1b76f9743e kube-agent-update: Use the RFD-184 webapi proxy update protocol by default when possible (#50464)
* kube-agent-update: Use the RFD-184 webapi proxy update protocol by default when possible

* Update integrations/kube-agent-updater/cmd/teleport-kube-agent-updater/main.go

Co-authored-by: Tiago Silva <tiago.silva@goteleport.com>

* log update group

---------

Co-authored-by: Tiago Silva <tiago.silva@goteleport.com>
2025-01-17 22:35:10 +00:00
Bernard Kim 646329da7d operator: Support trusted_cluster resources (#49920)
* Add UpsertTrustedClusterV2 rpc

This supersedes UpsertTrustedCluster rpc. V2 performs resource name
validation.

* Replace confusing UpsertValidationTrustedCluster name

* Use UpsertTrustedClusterV2 in tests

* Address feedback

- Remove unnecessary ping
- Update error messages
- Use skipNameValidation consts
- Validate cluster name before establishing trust
- Do not reveal cluster name in error message
- Use BadParameter instead of CompareFailed

* Use webclient.Find

* Fix test/lint

* Allow label updates

* Fix test

* Update CRDs

1. Run `make manifests`.
2. Run `make -C crdgen update-protos`.
3. Run `make -C crdgen update-snapshot`.

* Implement trusted_cluster CRD

* Update docs

* Support secret lookup

* Update secret lookup docs

* Fix error handling

* Use V2

* Implement CreateTrustedClusterV2 and UpdateTrustedClusterV2

* Address feedback

* Minor fixes

* Use Create/Update instead of Upsert

* Update crdgen

* Update trusted_cluster tests

* Move V2 RPCs to the trust service

* crdgen

* Remove V2 suffix

* 2024 -> 2025

* Use slog
2025-01-13 17:21:09 +00:00
Paul Gottschling 4a2d8916d0 Remove v13 mentions in the docs (#50831)
* Remove v13 mentions in the docs

Our policy is to remove mentions of the version prior to the most recent
deprecated version.

This change includes mentions of v13 in Helm chart values file comments.

* Clarify distroless images in Helm values

Responds to hugoShaka feedback.
2025-01-08 19:37:21 +00:00
Cam Hutchison 909cc20a5d Update master for v18 (#47988)
The v17 release branch has been made, so update master so that it refers
to v18.
2024-12-31 15:48:49 +00:00
Hugo Shaka a399f77517 fixes an config indentation bug in the tbot chart (#50518) 2024-12-20 20:56:05 +00:00
Noah Stride 49c30832f7 Add workload_identity_labels to RoleCondition (#50071)
* Add WorkloadIdentityLabels field to role

* Wire up access checker

* Add validation for new field

* Update CRDs

* Add to terraform provider

* Mispel some words to keep the republic happy

* Add WorkloadIdentityLabelsExpression

* Update Terraform provider

* Add to operator CRD

* PLS RUN CLA CHECK
2024-12-12 11:46:19 +00:00
STeve (Xin) Huang 80a58fc82c GitHub proxy part 5: OAuth flow to retrieve GitHub identity (#49849)
* GitHub proxy part 5: OAuth flow to retrieve GitHub identity

* review comments round1

* review comments round 2 and update tsh git list

* make -C integrations/operator crd

* make -C integrations/terraform docs

* fix flaky test
2024-12-10 17:31:32 +00:00
milos-teleport 640a6d625e fix: Corrected postStart examples (#50001) 2024-12-10 14:53:04 +00:00
Paul Gottschling b975c0e5f5 Correct Vale lint errors in partials (#49798)
One edge case is the `structure.architecture-h2` warning in
`docs/pages/includes/database-access/rds-proxy.mdx`. This is technically
correct, since the "How it works" section is before the "Prerequisites"
section. We can determine whether this is a bug to fix in a separate
change.
2024-12-09 19:50:55 +00:00
78fabc0ce8 [buddy] feat(charts): Give the possibility to add labels on more resources (#49624)
* feat(charts): Give the possibility to add labels on more resources

Currently it's possible to add labels on Jobs but not on Pods created by the Job. Let's allow it.

Same problem on operator subchart for deployments and pod created by the deployment.

* Fix doc indentation

* fix typo

---------

Signed-off-by: Tiago Silva <tiago.silva@goteleport.com>
Co-authored-by: emmanuel.lagree <emmanuel.lagree@mirakl.com>
Co-authored-by: Emmanuel Lagrée <36861662+elagree@users.noreply.github.com>
2024-12-02 16:07:48 +00:00
STeve (Xin) Huang fae535b3df GitHub Proxy part 2: git_server resource, service, and RBAC (#49393)
* git_server resource and role.allow.github_permissions

* implicit RO on KindGitServer

* review comments

* fix ut

* make -C integrations/operator crd

* fix ut again

* make crds-up-to-date and make -C integrations/terraform docs
2024-11-27 16:12:30 +00:00
Steven Martin 47ef7b8012 update readme for kube agent (#49366) 2024-11-25 09:24:58 +00:00
Erik Tate a8bff10c86 adding SSHPortForwarding config to RoleOptions (#49165) 2024-11-22 20:20:12 +00:00
Steven Martin 06f5b38879 update links from helm charts (#49357)
* update links from helm charts

* update link for tokens info
2024-11-22 18:12:41 +00:00
Pawel Kopiczko 1a6f8d4c8a Add request.reason.mode to role conditions (proto only) (#49256)
This changes the proto type (+validation) only to declutter the original PR https://github.com/gravitational/teleport/pull/49124

The real changes are in

- api/proto/teleport/legacy/types/types.proto
- api/types/access_request.go
- lib/auth/auth_with_roles.go
- lib/auth/auth_with_roles_test.go

The rest is all generated.
2024-11-22 12:33:03 +00:00
Tim Buckleyandrosstimothy dee7a6f981 Machine ID: Add bitbucket join method for Bitbucket Pipelines joining (#48724)
* Add `bitbucket` join method for Bitbucket Pipelines joining

This adds a new `bitbucket` join method that Machine ID bots can use
to authenticate to Teleport from Bitbucket Pipelines CI runs.

* Add unit tests for bitbucket joining

This also fully adds `deployment_environment_uuid` which was found to
be missing.

* Fix imports

* Update tf docs

* Docs update

* Update generated TF resources

* Attempt to work around docs linter

* Add provision token tests

* Remove pipeline_uuid and step_uuid from protos

Also, fix deploment_environment_uuid field name.

* Remove references to removed fields in tests

* Switch to go-oidc/v3 and remove now-redundant nbf check

* Fix go.mod imports for the TF provider

* Fix event-handler go.mod

* Address review feedback; add 15s timeout to fetch provider metadata

* Update lib/bitbucket/token_validator.go

Co-authored-by: rosstimothy <39066650+rosstimothy@users.noreply.github.com>

* Fix build after constant rename

---------

Co-authored-by: rosstimothy <39066650+rosstimothy@users.noreply.github.com>
2024-11-21 23:05:58 +00:00
Hugo Shaka b123bd6761 Grant secret watch permission to the operator (#49324) 2024-11-21 14:54:28 +00:00
Hugo Shaka 7aed1f6bab Add reference page for tbot Helm chart (#49131)
* Add reference page for tbot Helm chart

* Update docs/pages/reference/helm-reference/tbot.mdx

* Update docs/pages/reference/helm-reference/tbot.mdx

* Apply suggestions from code review

* fix broken link

* trick the broken markdown link checker
2024-11-18 20:53:39 +00:00
Hugo Shaka 5ff52a5755 fix chart typos (#49073) 2024-11-15 19:28:29 +00:00
Hugo Shaka da307655a0 Fix teleport-cluster chart service account logic causing ArgoCD deployments to fail (#49066)
* teleport-cluster: Use separate SA in hooks when possible

* test that SAs are not created when hooks are disabled
2024-11-15 16:51:03 +00:00
Noah Stride c72a4f2be6 Support for joining Actions in un-reachable GitHub Enterprise Servers via Static JWKS (#48973)
* Add JWKS based validator for github tokens

* Extend proto

* Update auth srvr github join impl to support static jwks

* Ignore govet

* initialize with jwks validator

* Update docs

* Update terraform shizz

* Regenerate various things
2024-11-15 12:32:55 +00:00
Hugo Shaka ac2d3fdce5 Make teleport container do a graceful shutdown (#48893)
* Container image should try a graceful shutdown by default

* Make grace termination period configurable in teleport-kube-agent

* re-render docs
2024-11-13 22:18:58 +00:00
Tiago SilvaandGuntis Karulis 1dedb677d4 feat(helm-teleport-cluster): allow to override enterprise license name (#48874)
Signed-off-by: Guntis Karulis <guntis.karulis@gmail.com>
Signed-off-by: Tiago Silva <tiago.silva@goteleport.com>
Co-authored-by: Guntis Karulis <guntis.karulis@gmail.com>
2024-11-13 16:48:43 +00:00
Hugo Shaka 2ab11fa63c fix missing secret list permission for operator (#48896) 2024-11-13 15:24:05 +00:00
Steven MartinandPaul Gottschling 45aed5896f docs: update azure postgres mysql (#48726)
* docs: update azure postgres mysql

* docs: azure postgres mysql verbiage update

Co-authored-by: Paul Gottschling <paul.gottschling@goteleport.com>

* docs: remove admonition wrapper on instrs

* update links for generated content

---------

Co-authored-by: Paul Gottschling <paul.gottschling@goteleport.com>
2024-11-11 22:31:54 +00:00
Gus Luxton 6ac6025067 helm: Add serviceAccountName to pre-deploy jobs (#48530)
* helm: Add serviceAccountName to pre-deploy jobs

Fixes #48477

* Create separate serviceAccount resources for running pre-deploy hooks

* Clarification
2024-11-06 21:25:41 +00:00
Paul Gottschling b0e1f9c459 Make Event Handler addresses consistent (#48464)
Closes #43181

Address inconsistent information between the Event Handler README and
step-by-step guides by using the information in the step-by-step guides,
which is more in line with our current recommendations.
2024-11-06 13:31:42 +00:00
Lisa Kim a132be09d2 Add a new role.allow.request field called kubernetes_resources (#47173)
* Add a new role.allow.request field called kubernetes_resources

* Fix lint: update terraform docs
2024-11-01 03:47:00 +00:00
Maxim Dietz a0540c5afe feat: Update AccessList Proto with new fields, add utils (#47828)
- Add Hierarchy utils for nested AccessList validation and handling
- Update AccessList Protos with new fields
- Update AccessList and AccessListMember types and converters with new
  fields
2024-10-30 20:00:49 +00:00
Bartosz Leper ae2b549f99 Add Kubernetes access section to the role editor (#47674)
* Add Kubernetes access section to the role editor

* Review

* Update the k8s operator docs

This also removes the mention of valid values of the Kind field, as I don't
want the external documentation to point to Teleport source files.

* Update operator CRDs and Terraform resources
2024-10-24 14:52:27 +00:00
Trent Clarke 63ac9101bb Adds Identity Center account assignments to role conditions (#47793)
* Adds Identity Center account assignments to role conditions

* Update types.proto

* Review fixups

* Updates operator resources

* Add generated docs

* Terraform doc updates
2024-10-24 02:19:45 +00:00
Gus Luxton fc7bd61661 teleport-kube-agent: Propagate resources to post-install and post-delete Jobs (#47677) 2024-10-20 17:25:45 +00:00
Bernard Kim 4b008ce34e Support datadog plugin helm chart (#47075)
* Support datadog helm chart

* Support tbot integration

* Reduce doc duplication

* Remove default email

* Typo: Missing =

* Minor fixes
2024-10-18 21:28:56 +00:00
Gus Luxton d001054236 teleport-cluster: set automountServiceAccountToken to false on ServiceAccounts when using newer Kubernetes distributions (#47680) 2024-10-18 11:14:23 +00:00
Brian Joerger 94295c981c feat: SSO MFA - support for OIDC MaxAge (#47292)
* Add max age to oidc mfa settings.

* Validate oidc max age.

* Update error message.

* Upate terraform schema and docs and crds.
2024-10-16 20:19:18 +00:00
Erik Tate 750f8082dd adding note about terraform mappings for create_host_user_mode to host user creation guide (#47139) 2024-10-11 14:38:05 +00:00