Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
379 changes: 232 additions & 147 deletions api/gen/proto/go/teleport/join/v1/joinservice.pb.go

Large diffs are not rendered by default.

224 changes: 209 additions & 15 deletions api/gen/proto/go/teleport/workloadidentity/v1/join_attrs.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 15 additions & 2 deletions api/proto/teleport/join/v1/joinservice.proto
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,20 @@ message TokenInit {
ClientParams client_params = 1;
}

// OIDCInit holds the OIDC identity token used for all OIDC-based join methods.
//
// The join flow for all OIDC-based join methods is:
// 1. client->server: ClientInit
// 2. server->client: ServerInit
// 3. client->server: OIDCInit
// 4. server->client: Result
message OIDCInit {
// ClientParams holds parameters for the specific type of client trying to join.
ClientParams client_params = 1;
// IdToken is the OIDC identity token.
bytes id_token = 2;
}

// BoundKeypairInit is sent from the client in response to the ServerInit
// message for the bound keypair join method.
// The server is expected to respond with a BoundKeypairChallenge.
Expand Down Expand Up @@ -312,8 +326,6 @@ message GivingUp {

// JoinRequest is the message type sent from the joining client to the server.
message JoinRequest {
reserved 8;
reserved "oidc_init";
oneof payload {
ClientInit client_init = 1;
TokenInit token_init = 2;
Expand All @@ -322,6 +334,7 @@ message JoinRequest {
IAMInit iam_init = 5;
GivingUp giving_up = 6;
EC2Init ec2_init = 7;
OIDCInit oidc_init = 8;
OracleInit oracle_init = 9;
}
}
Expand Down
47 changes: 47 additions & 0 deletions api/proto/teleport/legacy/types/types.proto
Original file line number Diff line number Diff line change
Expand Up @@ -1555,6 +1555,8 @@ message ProvisionTokenSpecV2 {
ProvisionTokenSpecV2BoundKeypair BoundKeypair = 19 [(gogoproto.jsontag) = "bound_keypair,omitempty"];
// AzureDevops allows the configuration of options specific to the "azure_devops" join method.
ProvisionTokenSpecV2AzureDevops AzureDevops = 20 [(gogoproto.jsontag) = "azure_devops,omitempty"];
// Env0 allows the configuration of options specific to the "env0" join method.
ProvisionTokenSpecV2Env0 Env0 = 21 [(gogoproto.jsontag) = "env0,omitempty"];
}

// ProvisionTokenSpecV2AzureDevops contains the Azure Devops-specific
Expand Down Expand Up @@ -2044,6 +2046,51 @@ message ProvisionTokenSpecV2Oracle {
repeated Rule Allow = 1 [(gogoproto.jsontag) = "allow,omitempty"];
}

// ProvisionTokenSpecV2Env0 contains env0-specific parts of the
// ProvisionTokenSpecV2.
message ProvisionTokenSpecV2Env0 {
// Rule is a set of properties the env0 environment might have to be allowed
// to use this provision token.
message Rule {
// OrganizationID is the unique organization identifier, corresponding to
// `organizationId` in an Env0 OIDC token.
string OrganizationID = 1 [(gogoproto.jsontag) = "organization_id,omitempty"];
// ProjectID is a unique project identifier, corresponding to `projectId` in
// an Env0 OIDC token.
string ProjectID = 2 [(gogoproto.jsontag) = "project_id,omitempty"];
// ProjectName is the name of the project under which the job was run
// corresponding to `projectName` in an Env0 OIDC token.
string ProjectName = 3 [(gogoproto.jsontag) = "project_name,omitempty"];
// TemplateID is the unique identifier of the Env0 template, corresponding
// to `templateId` in an Env0 OIDC token.
string TemplateID = 4 [(gogoproto.jsontag) = "template_id,omitempty"];
// TemplateName is the name of the Env0 template, corresponding to
// `templateName` in an Env0 OIDC token.
string TemplateName = 5 [(gogoproto.jsontag) = "template_name,omitempty"];
// EnvironmentID is the unique identifier of the Env0 environment,
// corresponding to `environmentId` in an Env0 OIDC token.
string EnvironmentID = 6 [(gogoproto.jsontag) = "environment_id,omitempty"];
// EnvironmentName is the name of the Env0 environment, corresponding to
// `environmentName` in an Env0 OIDC token.
string EnvironmentName = 7 [(gogoproto.jsontag) = "environment_name,omitempty"];
// WorkspaceName is the name of the Env0 workspace, corresponding to
// `workspaceName` in an Env0 OIDC token.
string WorkspaceName = 8 [(gogoproto.jsontag) = "workspace_name,omitempty"];
// DeploymentType is the env0 deployment type, such as "deploy", "destroy",
// etc. Corresponds to `deploymentType` in an Env0 OIDC token.
string DeploymentType = 9 [(gogoproto.jsontag) = "deployment_type,omitempty"];
// DeployerEmail is the email of the person that triggered the deployment,
// corresponding to `deployerEmail` in an Env0 OIDC token.
string DeployerEmail = 10 [(gogoproto.jsontag) = "deployer_email,omitempty"];
// Env0Tag is a custom tag value corresponding to `env0Tag` when
// `ENV0_OIDC_TAG` is set.
string Env0Tag = 11 [(gogoproto.jsontag) = "env0_tag,omitempty"];
}
// Allow is a list of Rules, jobs using this token must match at least one
// allow rule to use this token.
repeated Rule Allow = 1 [(gogoproto.jsontag) = "allow,omitempty"];
}

// ProvisionTokenSpecV2BoundKeypair contains configuration for bound_keypair
// type join tokens.
message ProvisionTokenSpecV2BoundKeypair {
Expand Down
Loading
Loading