Files
teleport/integrations/lib
Dan Upton 580326165b Add Beam protobuf definition and backend service (#64863)
* Add `Beam` resource protobuf definition

* Add beams backend service

* Fix test and lint failures

* Delete all beam alias leases on `DeleteAllBeams`

* Apply PR feedback

* Restructure beam storage service

Following comments on the PR and a Slack conversation with Edorado, this commit
restructures the storage service interface to reflect how it'll actually be used.

For example, we now write the beam and its supporting resources in one atomic
operation, rather than lots of little fallible writes.

It also incorporates other feedback such as adding a field to track the
provision state of the actual beam VM.

* Use `types.GetExpiry` helper to avoid protobuf epoch issues

* Fix linting errors

* Store `DelegationSession` with beam resources

Also remove duplicate `itemFromWorkloadIdentity` definition

* Remove cross-service dependency

Following @espadolini's comment, the `BeamService` is no longer responsible for
writing the actual node, app, token, etc. records to the backend. Instead, those
services expose `AppendPut*Actions` and `AppendDelete*Actions` methods and it's
the caller's responsibility to call `Backend.AtomicWrite` with them.

* Move `Append*Actions` methods to "internal" service interfaces

* Fix test errors in tests

* Store users without secrets

* Rename user methods for clarity about what's included or not

* Fix accidental cache usage

* Fix broken reference from master

* Do not set an expiry on beam alias

In case the alias gets reassigned before the original beam is cleaned up
2026-04-08 11:25:06 +00:00
..
2025-04-24 18:59:25 +00:00
2025-06-18 17:39:13 +00:00