* add UserDisplay message for user display values
* add tests for access list display API and remove unused conversion helper
* simplify comments in access list API and related types
* use status field for ACL member and owner displays
* Clarify UserDisplay documentation to explain message states and user presence
* Remove JSON serialization for OwnerDisplays and Status fields in access list types
* Clarify comments in AccessListMember and Status structs to indicate that certain fields are ignored during marshaling to prevent user confusion.
* Generic OIDC joining: protos
This adds proto changes to support generic OIDC joining.
* Remove oneof for gogoproto compat; include scoped token conversion
* Update audience comment and fix typos
* Remove GenericOIDC from join methods list for now
It should only be added alongside the actual implementation changes.
* Fix typo/lint
* Run `make gen-resource-docs`
* Update CRDs
* Remove scoped token oneof due to terraform generator bug
* Update token conversion after oneof removal, disable depguard lint
* Update tf docs
* Fix loss of must_match_fields and add roundtrip test
Our jsoniter-based FastMarshal and FastUnmarshal were silently
discarding `must_match_fields` content. This adds a custom marshal
and unmarshal impl for the generic_oidc field (as used in other
proto types) and tests to ensure the field roundtrips properly.
* Switch to struct wrapper for struct field
Parsing the whole resource with a gogo-based wrapper resulted in
different casing rules which led to fields getting dropped, but only
when actually parsed to/from JSON, so the existing tests didn't catch
it.
This switches to using a struct wrapper similar to api/events/ (and
in fact mostly copied from it) with a casttype set in types.proto. It
applies the unmarshal fix to just that field and avoids field naming
issues. A test that actually roundtrips from JSON has also been added.
* nolint for the struct wrapper
* Unmarshal via gogo directly from proto wire format
This converts structpb to a gogo struct by serializing directly to
the proto wire format instead of via jsonpb. It should be a bit more
efficient and clear the depguard lint at the same time.
* chore: Bump /x/image and go-pkcs12
* chore: Bump github.com/sigstore/cosign/v3 to v3.0.6
* make go-mod-tidy-all
* make grpc
* Keep k8s.io/ modules in lockstep
* make go-mod-tidy-all
All of the changes here are mechanical conversions generated from
open2opaque rewrite -levels=red./.... This concludes the conversion of
teleport to consume the opaque APIs. The corresponding changes in
teleport.e must be completed prior to switching entirely to opaque codegen.
See https://protobuf.dev/reference/go/opaque-migration/ for more details.
The Lint job was also updated to prevent any Open API uses until we can
fully convert to the Opaque API.
* Add audit event for Classifier delete, docs, and web UI support
* Add failure code for the Classifier delete audit event
* Add web UI and docs support for Classifier audit failure codes
* Add Terraform schema for the Classifier resource
* Regenerate Classifier Terraform schema for tri-state action enums
* Generate Xcode project for Verify
* Set Swift version to 6; remove macOS and Vision as destinations
* Handle `teleport://` links and add enrollment screen
* Avoid building macOS-specific stuff on iOS
This is needed for gomobile to build our stuff from lib/mobile from the
next commit.
* Add `lib/mobile/verify/enroll` compiled with gomobile
* `lib/mobile`: Temporarily use private Device Trust service
The public gRPC service exists on the demo branch but not on this
branch. In order to make it possible to compile
`lib/mobile/verify/enroll`, temporarily use the private service which
has similar RPCs.
* Run `make go-mod-tidy-all`
* Make Swift app connect to public DT service on "Request Now" tap
* mobile: Add sheet for enroll request status
* Revert go.mod changes
This reverts commit b9af7a7614 and
2c00ecd7fa.
* Add `build.assets/tools/gomobile`
* Move gomobile back to main go.mod
This reverts commits 9b2a6c4ea3 and
a83c2959fa.
This pulls in the latest OCI SDK in order to interact
with recently introduced regions.
This includes the following regions:
- ap-kulai-2
- sa-riodejaneiro-1
- af-casablanca-1
- me-alrayyan-1
* reversetunnel: support tracker discovery ttl and disconnects
This adds agent side support for tracker ttl to be configured
per proxy over discovery requests.
This gives us flexibility of lowering the tracker ttl server side.
Lowering the ttl has the benefit of dropping proxies from the tracker
sooner allowing the agent to attempt to reconnect to proxies sooner.
This change also adds agent disconnects. This only occurs if a disconnect
threshold is configured in the cluster network config.
A proxy is only ever considered for disconnect if its in the desired
set and the agent has more connections than configured.
The agent will disconnect from proxies with the highest smoothed rtt.
The agent will not disconnect from proxies during a rollout where
the group/generation is changed or from unhealthy proxies which
are no longer tracked.
* fix lint
* stop agent in background and use testsync
* remove gogoproto and move to disconnect_threshold_seconds
* remove fake clock from tracker
* simplify conditions and nesting
* update comment about proxy disconnects
* generate terraform
* move now inside lock
* add else for smoothedRTT calculation
* rename disconnect to disconnectCandidate for clarity
* add comment for tryDisconnect usage
* rearange some checks in tryDisconnect
* fix test comment
* preserve cloud managed cnf fields on update/upsert
* Add a Configuring Teleport docs section
Make the how-to guides for managing Teleport resources with
Infrastructure as Code tools more prominent by placing them in a
Configuring Teleport section next to other foundational docs sections,
e.g., Installation and Upgrading. Frame the task of managing Teleport
with IaC as part of the broader task of configuring Teleport.
To do so, move the introduction of the "Static and Dynamic Resources"
page to a landing page for the new Configuration section. Move the
remaining part of that page to the References section, since it's an
advanced guide and more of a reference than a set of how-to
instructions.
This change also structures the Infrastructure as Code landing page into
a Configure Teleport landing page by including links to guides for
static as well as dynamic configuration. This adds clarity to the docs
since users won't immediately know that Teleport exposes these two
configuration variants.
* Update internal links
* Fix issues with the Configuring Teleport section
- Update the static/dynamic field table to use the correct field name,
`spec.mode`.
- Change "Managing Resources" to "Resource Guides" for clarity, since
all sections in Configuring Teleport would be about managing
resources.
- Reorder Configuration sidebar sections to move Resource Guides last
and tctl before Terraform and Kubernetes.
VERSION can be empty if there is an error running get-version.
Quote the arg so that empty VERSION is detected and returns
an error when running make docs.
* Update Go version to v1.26.4
* Rm GO_VERSION from Makefile/Dockerfile and rely on go.mod to inform Go version. Update code to adhere to 1.26 deprecation/changes.
Signed-off-by: Chris Thach <chris.thach@goteleport.com>
* Bump e to 54d1d0cb67b71860b943de477b3146d32ccdd74a.
Signed-off-by: Chris Thach <chris.thach@goteleport.com>
---------
Signed-off-by: Chris Thach <chris.thach@goteleport.com>
Co-authored-by: teleport-renovate[bot] <275214890+teleport-renovate[bot]@users.noreply.github.com>
Co-authored-by: Chris Thach <chris.thach@goteleport.com>
* Convert existing non-gogo codegen to the Hybrid API
Contributes to https://github.com/gravitational/teleport/issues/66776.
All existing protos explicitly set to API_OPEN have been change to
API_HBYRID. The new codegen was performed via make grpc. There are no
other functional changes to the code to start consuming the Hybrid API
those will come later. The intent is to get all Hybrid codegen in and
backported to ease the transition.
* Initial migration to the Opaque API
Contributes to https://github.com/gravitational/teleport/issues/66776.
All of the changes here are mechanical conversions generated from
`open2opaque rewrite -levels=green ./...`. There will be a follow up
to this in teleport.e which does the same. Once all changes have been
merged the process will be repeated with -levels=yellow followed by
-levels=red.
See https://protobuf.dev/reference/go/opaque-migration/ for more
details.
* Add property-based testing for RDPState
* Move max screen size to separate test to avoid 8192x8192 framebuffer allocation
* Be consistent with avoiding IronRDP OOB
* Move rapid draws to outside of the run
* Fix bug in test util WrapFastPathPDU
* Reduce allocations in CI, fix row byte calculatino
Replace the functions in the scopes package to infer if scoped features
are enabled with a concrete struct that is injected to consumers. This
permits tests to toggle scopes features without having to specify environment
variables.