config

package
v1.136.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 9, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Protocol_name = map[int32]string{
		0: "PROTOCOL_UNSPECIFIED",
		1: "PROTOCOL_HTTP",
		2: "PROTOCOL_GRPC",
	}
	Protocol_value = map[string]int32{
		"PROTOCOL_UNSPECIFIED": 0,
		"PROTOCOL_HTTP":        1,
		"PROTOCOL_GRPC":        2,
	}
)

Enum value maps for Protocol.

View Source
var (
	Database_Driver_name = map[int32]string{
		0: "DRIVER_UNSPECIFIED",
		1: "DRIVER_POSTGRES",
		2: "DRIVER_YUGABYTE",
	}
	Database_Driver_value = map[string]int32{
		"DRIVER_UNSPECIFIED": 0,
		"DRIVER_POSTGRES":    1,
		"DRIVER_YUGABYTE":    2,
	}
)

Enum value maps for Database_Driver.

View Source
var (
	Database_SslMode_name = map[int32]string{
		0: "SSL_MODE_UNSPECIFIED",
		1: "SSL_MODE_DISABLE",
		2: "SSL_MODE_REQUIRE",
		3: "SSL_MODE_VERIFY_CA",
		4: "SSL_MODE_VERIFY_FULL",
	}
	Database_SslMode_value = map[string]int32{
		"SSL_MODE_UNSPECIFIED": 0,
		"SSL_MODE_DISABLE":     1,
		"SSL_MODE_REQUIRE":     2,
		"SSL_MODE_VERIFY_CA":   3,
		"SSL_MODE_VERIFY_FULL": 4,
	}
)

Enum value maps for Database_SslMode.

View Source
var (
	// Bounds the port numerically, which `[0-9]{1,5}` alone would not (it accepts
	// :99999). The host part is optional, so ":5005" means all interfaces; port 0
	// is allowed deliberately, for tests that want a free port.
	//
	// optional bool listen_address = 60001;
	E_ListenAddress = &file_proto_config_rules_proto_extTypes[0]
	// Mirrors platformconfig.DatabaseConfig: a host starting with a slash is a
	// UNIX socket directory (Omnibus ships PostgreSQL socket only), anything else
	// must be a hostname or IP as string.address would require.
	//
	// optional bool database_host = 60003;
	E_DatabaseHost = &file_proto_config_rules_proto_extTypes[1]
	// A listener's or the probe's bind host. Unlike database_host it is never a socket
	// directory: an absent host, not a path, means every interface.
	//
	// optional bool bind_host = 60004;
	E_BindHost = &file_proto_config_rules_proto_extTypes[2]
	// Applied to both AuthConfig.oauth_client.providers and
	// AuthSecrets.oauth_providers, whose keys must agree: one names a provider,
	// the other carries its credentials.
	//
	// optional bool oauth_provider_name = 60002;
	E_OauthProviderName = &file_proto_config_rules_proto_extTypes[3]
)

Extension fields to validate.StringRules.

View Source
var File_proto_config_assembly_proto protoreflect.FileDescriptor
View Source
var File_proto_config_auth_proto protoreflect.FileDescriptor
View Source
var File_proto_config_common_proto protoreflect.FileDescriptor
View Source
var File_proto_config_dataaccess_proto protoreflect.FileDescriptor
View Source
var File_proto_config_migration_proto protoreflect.FileDescriptor
View Source
var File_proto_config_rules_proto protoreflect.FileDescriptor
View Source
var File_proto_config_secrets_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type Assembly added in v1.119.0

type Assembly struct {

	// The binary's name, which the binary checks against its own.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The domains this process hosts. The binary refuses a profile whose list is not exactly
	// the modules it was built with.
	Domains []string `protobuf:"bytes,2,rep,name=domains,proto3" json:"domains,omitempty"`
	// One socket per protocol: a domain's gRPC handlers bind to the PROTOCOL_GRPC listener and
	// its routes to the PROTOCOL_HTTP one. The binary checks, when a domain registers its
	// handlers, that a listener serves each protocol the domain needs.
	Listeners []*Listener `protobuf:"bytes,3,rep,name=listeners,proto3" json:"listeners,omitempty"`
	// labkit's /-/metrics, /-/liveness and /-/readiness. Framework-owned, so not a listener.
	Probe *Probe `protobuf:"bytes,4,opt,name=probe,proto3,oneof" json:"probe,omitempty"`
	// contains filtered or unexported fields
}

Assembly is the process this file configures: its name, its domains and its sockets. LabBench's Assembly has the same shape. Host on a listener is IAM's addition: Omnibus binds every IAM port on the loopback interface behind NGINX.

func (*Assembly) Descriptor deprecated added in v1.119.0

func (*Assembly) Descriptor() ([]byte, []int)

Deprecated: Use Assembly.ProtoReflect.Descriptor instead.

func (*Assembly) GetDomains added in v1.119.0

func (x *Assembly) GetDomains() []string

func (*Assembly) GetListeners added in v1.119.0

func (x *Assembly) GetListeners() []*Listener

func (*Assembly) GetName added in v1.119.0

func (x *Assembly) GetName() string

func (*Assembly) GetProbe added in v1.119.0

func (x *Assembly) GetProbe() *Probe

func (*Assembly) ProtoMessage added in v1.119.0

func (*Assembly) ProtoMessage()

func (*Assembly) ProtoReflect added in v1.119.0

func (x *Assembly) ProtoReflect() protoreflect.Message

func (*Assembly) Reset added in v1.119.0

func (x *Assembly) Reset()

func (*Assembly) String added in v1.119.0

func (x *Assembly) String() string

type AssemblyConfig added in v1.119.0

type AssemblyConfig struct {
	Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
	// Relative to this file's directory, or absolute for a deployed mount.
	SecretsFile *string   `protobuf:"bytes,2,opt,name=secrets_file,json=secretsFile,proto3,oneof" json:"secrets_file,omitempty"`
	Platform    *Platform `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform,omitempty"`
	Assembly    *Assembly `protobuf:"bytes,4,opt,name=assembly,proto3" json:"assembly,omitempty"`
	// The domain blocks, each present exactly when assembly.domains lists it.
	Auth       *AuthDomain         `protobuf:"bytes,5,opt,name=auth,proto3,oneof" json:"auth,omitempty"`
	DataAccess *DataAccessDomain   `protobuf:"bytes,6,opt,name=data_access,json=dataAccess,proto3,oneof" json:"data_access,omitempty"`
	Secrets    *AssemblySecretRefs `protobuf:"bytes,12,opt,name=secrets,proto3,oneof" json:"secrets,omitempty"`
	// contains filtered or unexported fields
}

AssemblyConfig is the profile of `iam serve all`, shaped after LabBench's assembly. One complete file per environment, found through CONFIG_DIR or CONFIG_PATH. Domain blocks never name a port or a token; the assembly owns those. Secrets live in a separate file (AssemblySecrets) or in the files the secrets block references.

version, secrets_file, platform and secrets keep MigrationConfig's names and numbers, so `iam db migrate` reads the same file.

func (*AssemblyConfig) Descriptor deprecated added in v1.119.0

func (*AssemblyConfig) Descriptor() ([]byte, []int)

Deprecated: Use AssemblyConfig.ProtoReflect.Descriptor instead.

func (*AssemblyConfig) GetAssembly added in v1.119.0

func (x *AssemblyConfig) GetAssembly() *Assembly

func (*AssemblyConfig) GetAuth added in v1.119.0

func (x *AssemblyConfig) GetAuth() *AuthDomain

func (*AssemblyConfig) GetDataAccess added in v1.119.0

func (x *AssemblyConfig) GetDataAccess() *DataAccessDomain

func (*AssemblyConfig) GetPlatform added in v1.119.0

func (x *AssemblyConfig) GetPlatform() *Platform

func (*AssemblyConfig) GetSecrets added in v1.119.0

func (x *AssemblyConfig) GetSecrets() *AssemblySecretRefs

func (*AssemblyConfig) GetSecretsFile added in v1.119.0

func (x *AssemblyConfig) GetSecretsFile() string

func (*AssemblyConfig) GetVersion added in v1.119.0

func (x *AssemblyConfig) GetVersion() int32

func (*AssemblyConfig) ProtoMessage added in v1.119.0

func (*AssemblyConfig) ProtoMessage()

func (*AssemblyConfig) ProtoReflect added in v1.119.0

func (x *AssemblyConfig) ProtoReflect() protoreflect.Message

func (*AssemblyConfig) Reset added in v1.119.0

func (x *AssemblyConfig) Reset()

func (*AssemblyConfig) String added in v1.119.0

func (x *AssemblyConfig) String() string

type AssemblySecretRefs added in v1.119.0

type AssemblySecretRefs struct {
	Database       *DatabaseSecretRefs               `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"`
	ServiceTokens  *ServiceTokenRefs                 `protobuf:"bytes,2,opt,name=service_tokens,json=serviceTokens,proto3" json:"service_tokens,omitempty"`
	Oauth          *OauthSecretRefs                  `protobuf:"bytes,3,opt,name=oauth,proto3" json:"oauth,omitempty"`
	OauthProviders map[string]*OauthClientSecretRefs `` /* 177-byte string literal not displayed */
	// contains filtered or unexported fields
}

AssemblySecretRefs has the AuthSecretRefs shape: the refs of everything either domain needs.

func (*AssemblySecretRefs) Descriptor deprecated added in v1.119.0

func (*AssemblySecretRefs) Descriptor() ([]byte, []int)

Deprecated: Use AssemblySecretRefs.ProtoReflect.Descriptor instead.

func (*AssemblySecretRefs) GetDatabase added in v1.119.0

func (x *AssemblySecretRefs) GetDatabase() *DatabaseSecretRefs

func (*AssemblySecretRefs) GetOauth added in v1.119.0

func (x *AssemblySecretRefs) GetOauth() *OauthSecretRefs

func (*AssemblySecretRefs) GetOauthProviders added in v1.119.0

func (x *AssemblySecretRefs) GetOauthProviders() map[string]*OauthClientSecretRefs

func (*AssemblySecretRefs) GetServiceTokens added in v1.119.0

func (x *AssemblySecretRefs) GetServiceTokens() *ServiceTokenRefs

func (*AssemblySecretRefs) ProtoMessage added in v1.119.0

func (*AssemblySecretRefs) ProtoMessage()

func (*AssemblySecretRefs) ProtoReflect added in v1.119.0

func (x *AssemblySecretRefs) ProtoReflect() protoreflect.Message

func (*AssemblySecretRefs) Reset added in v1.119.0

func (x *AssemblySecretRefs) Reset()

func (*AssemblySecretRefs) String added in v1.119.0

func (x *AssemblySecretRefs) String() string

type AssemblySecrets added in v1.119.0

type AssemblySecrets struct {
	Version        int32                              `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
	Database       *DatabaseSecrets                   `protobuf:"bytes,2,opt,name=database,proto3,oneof" json:"database,omitempty"`
	ServiceTokens  *ServiceTokens                     `protobuf:"bytes,3,opt,name=service_tokens,json=serviceTokens,proto3,oneof" json:"service_tokens,omitempty"`
	Oauth          *OauthSecrets                      `protobuf:"bytes,4,opt,name=oauth,proto3,oneof" json:"oauth,omitempty"`
	OauthProviders map[string]*OauthClientCredentials `` /* 177-byte string literal not displayed */
	// contains filtered or unexported fields
}

AssemblySecrets is the secrets file of an assembly profile (assembly.proto). It has the AuthSecrets shape: service_tokens is the one token every caller of the process presents, and the OAuth material is needed only when the profile hosts auth. This file cannot see the profile's domains, so pkg/config checks that at load, like every required secret.

func (*AssemblySecrets) Descriptor deprecated added in v1.119.0

func (*AssemblySecrets) Descriptor() ([]byte, []int)

Deprecated: Use AssemblySecrets.ProtoReflect.Descriptor instead.

func (*AssemblySecrets) GetDatabase added in v1.119.0

func (x *AssemblySecrets) GetDatabase() *DatabaseSecrets

func (*AssemblySecrets) GetOauth added in v1.119.0

func (x *AssemblySecrets) GetOauth() *OauthSecrets

func (*AssemblySecrets) GetOauthProviders added in v1.119.0

func (x *AssemblySecrets) GetOauthProviders() map[string]*OauthClientCredentials

func (*AssemblySecrets) GetServiceTokens added in v1.119.0

func (x *AssemblySecrets) GetServiceTokens() *ServiceTokens

func (*AssemblySecrets) GetVersion added in v1.119.0

func (x *AssemblySecrets) GetVersion() int32

func (*AssemblySecrets) ProtoMessage added in v1.119.0

func (*AssemblySecrets) ProtoMessage()

func (*AssemblySecrets) ProtoReflect added in v1.119.0

func (x *AssemblySecrets) ProtoReflect() protoreflect.Message

func (*AssemblySecrets) Reset added in v1.119.0

func (x *AssemblySecrets) Reset()

func (*AssemblySecrets) String added in v1.119.0

func (x *AssemblySecrets) String() string

type AuthConfig

type AuthConfig struct {

	// Asserted, not just recorded: LabKit ignores a version mismatch when no
	// migration is registered. To roll a version, widen to `in: [1, 2]`, ship the
	// migration, narrow again.
	Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
	// Relative to this file's directory, so CONFIG_DIR alone reaches every input.
	// Deployed environments use an absolute path because `appConfig` renders only
	// one file into CONFIG_DIR and secrets arrive on a separate mount. Omitted
	// when `secrets` references every secret the service needs.
	SecretsFile *string   `protobuf:"bytes,2,opt,name=secrets_file,json=secretsFile,proto3,oneof" json:"secrets_file,omitempty"`
	Platform    *Platform `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform,omitempty"`
	// Default to ":5004" and ":8084" respectively when omitted.
	GrpcAddress *string `protobuf:"bytes,4,opt,name=grpc_address,json=grpcAddress,proto3,oneof" json:"grpc_address,omitempty"`
	HttpAddress *string `protobuf:"bytes,5,opt,name=http_address,json=httpAddress,proto3,oneof" json:"http_address,omitempty"`
	// Metrics listen address. Defaults to ":9090" when omitted.
	MetricsAddress *string `protobuf:"bytes,11,opt,name=metrics_address,json=metricsAddress,proto3,oneof" json:"metrics_address,omitempty"`
	// Externally reachable base URL, used to build OAuth redirect URIs.
	BaseUrl string       `protobuf:"bytes,6,opt,name=base_url,json=baseUrl,proto3" json:"base_url,omitempty"`
	Oauth   *OauthServer `protobuf:"bytes,7,opt,name=oauth,proto3" json:"oauth,omitempty"`
	// Omitting this block, or leaving `providers` empty, disables third-party
	// sign-in.
	OauthClient *OauthClient `protobuf:"bytes,8,opt,name=oauth_client,json=oauthClient,proto3,oneof" json:"oauth_client,omitempty"`
	// Required, not optional: the legacy loader validated allowed_origins for every
	// service, so leaving this optional would let an auth deployment come up with no
	// origins at all. `required` also propagates the nested min_items rule.
	Cors *Cors `protobuf:"bytes,9,opt,name=cors,proto3" json:"cors,omitempty"`
	// The single GitLab URL this deployment talks to: the instance third-party
	// identities are linked into (OauthClient's sign-in flow) and, fronted by
	// gitlab-http-router, the entry point used to reach every configured Cell
	// (OauthServer.cells) via a routing-hint cookie rather than a per-Cell
	// address. One field, not two: in every real deployment these are the same
	// URL, and IAM has no reason to track them as separate endpoints.
	GitlabUrl *string `protobuf:"bytes,10,opt,name=gitlab_url,json=gitlabUrl,proto3,oneof" json:"gitlab_url,omitempty"`
	// Each reference names a file to read one secret from at start; see SecretRef
	// in common.proto.
	Secrets *AuthSecretRefs `protobuf:"bytes,12,opt,name=secrets,proto3,oneof" json:"secrets,omitempty"`
	// contains filtered or unexported fields
}

AuthConfig is the whole configuration of iam-auth: an OAuth 2.0 / OIDC authorization server (gRPC + HTTP) and an OAuth client for third-party providers. One complete file per environment; there is no layering. The path comes from $CONFIG_DIR/config.yaml, else $CONFIG_PATH, else a committed local profile. Secret material lives in a separate file (see AuthSecrets).

func (*AuthConfig) Descriptor deprecated

func (*AuthConfig) Descriptor() ([]byte, []int)

Deprecated: Use AuthConfig.ProtoReflect.Descriptor instead.

func (*AuthConfig) GetBaseUrl

func (x *AuthConfig) GetBaseUrl() string

func (*AuthConfig) GetCors

func (x *AuthConfig) GetCors() *Cors

func (*AuthConfig) GetGitlabUrl added in v1.54.0

func (x *AuthConfig) GetGitlabUrl() string

func (*AuthConfig) GetGrpcAddress

func (x *AuthConfig) GetGrpcAddress() string

func (*AuthConfig) GetHttpAddress

func (x *AuthConfig) GetHttpAddress() string

func (*AuthConfig) GetMetricsAddress added in v1.66.0

func (x *AuthConfig) GetMetricsAddress() string

func (*AuthConfig) GetOauth

func (x *AuthConfig) GetOauth() *OauthServer

func (*AuthConfig) GetOauthClient

func (x *AuthConfig) GetOauthClient() *OauthClient

func (*AuthConfig) GetPlatform

func (x *AuthConfig) GetPlatform() *Platform

func (*AuthConfig) GetSecrets added in v1.102.0

func (x *AuthConfig) GetSecrets() *AuthSecretRefs

func (*AuthConfig) GetSecretsFile

func (x *AuthConfig) GetSecretsFile() string

func (*AuthConfig) GetVersion

func (x *AuthConfig) GetVersion() int32

func (*AuthConfig) ProtoMessage

func (*AuthConfig) ProtoMessage()

func (*AuthConfig) ProtoReflect

func (x *AuthConfig) ProtoReflect() protoreflect.Message

func (*AuthConfig) Reset

func (x *AuthConfig) Reset()

func (*AuthConfig) String

func (x *AuthConfig) String() string

type AuthDomain added in v1.119.0

type AuthDomain struct {
	BaseUrl     string       `protobuf:"bytes,6,opt,name=base_url,json=baseUrl,proto3" json:"base_url,omitempty"`
	Oauth       *OauthServer `protobuf:"bytes,7,opt,name=oauth,proto3" json:"oauth,omitempty"`
	OauthClient *OauthClient `protobuf:"bytes,8,opt,name=oauth_client,json=oauthClient,proto3,oneof" json:"oauth_client,omitempty"`
	GitlabUrl   *string      `protobuf:"bytes,10,opt,name=gitlab_url,json=gitlabUrl,proto3,oneof" json:"gitlab_url,omitempty"`
	// contains filtered or unexported fields
}

AuthDomain is the auth service inside an assembly: AuthConfig without the fields the assembly owns (addresses, cors, secrets). Field numbers and rules are AuthConfig's, which a test pins.

func (*AuthDomain) Descriptor deprecated added in v1.119.0

func (*AuthDomain) Descriptor() ([]byte, []int)

Deprecated: Use AuthDomain.ProtoReflect.Descriptor instead.

func (*AuthDomain) GetBaseUrl added in v1.119.0

func (x *AuthDomain) GetBaseUrl() string

func (*AuthDomain) GetGitlabUrl added in v1.119.0

func (x *AuthDomain) GetGitlabUrl() string

func (*AuthDomain) GetOauth added in v1.119.0

func (x *AuthDomain) GetOauth() *OauthServer

func (*AuthDomain) GetOauthClient added in v1.119.0

func (x *AuthDomain) GetOauthClient() *OauthClient

func (*AuthDomain) ProtoMessage added in v1.119.0

func (*AuthDomain) ProtoMessage()

func (*AuthDomain) ProtoReflect added in v1.119.0

func (x *AuthDomain) ProtoReflect() protoreflect.Message

func (*AuthDomain) Reset added in v1.119.0

func (x *AuthDomain) Reset()

func (*AuthDomain) String added in v1.119.0

func (x *AuthDomain) String() string

type AuthSecretRefs added in v1.102.0

type AuthSecretRefs struct {
	Database      *DatabaseSecretRefs `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"`
	ServiceTokens *ServiceTokenRefs   `protobuf:"bytes,2,opt,name=service_tokens,json=serviceTokens,proto3" json:"service_tokens,omitempty"`
	Oauth         *OauthSecretRefs    `protobuf:"bytes,3,opt,name=oauth,proto3" json:"oauth,omitempty"`
	// Keyed as in AuthConfig.oauth_client.providers.
	OauthProviders map[string]*OauthClientSecretRefs `` /* 177-byte string literal not displayed */
	// contains filtered or unexported fields
}

AuthSecretRefs mirrors AuthSecrets in secrets.proto, one reference per field.

func (*AuthSecretRefs) Descriptor deprecated added in v1.102.0

func (*AuthSecretRefs) Descriptor() ([]byte, []int)

Deprecated: Use AuthSecretRefs.ProtoReflect.Descriptor instead.

func (*AuthSecretRefs) GetDatabase added in v1.102.0

func (x *AuthSecretRefs) GetDatabase() *DatabaseSecretRefs

func (*AuthSecretRefs) GetOauth added in v1.102.0

func (x *AuthSecretRefs) GetOauth() *OauthSecretRefs

func (*AuthSecretRefs) GetOauthProviders added in v1.102.0

func (x *AuthSecretRefs) GetOauthProviders() map[string]*OauthClientSecretRefs

func (*AuthSecretRefs) GetServiceTokens added in v1.102.0

func (x *AuthSecretRefs) GetServiceTokens() *ServiceTokenRefs

func (*AuthSecretRefs) ProtoMessage added in v1.102.0

func (*AuthSecretRefs) ProtoMessage()

func (*AuthSecretRefs) ProtoReflect added in v1.102.0

func (x *AuthSecretRefs) ProtoReflect() protoreflect.Message

func (*AuthSecretRefs) Reset added in v1.102.0

func (x *AuthSecretRefs) Reset()

func (*AuthSecretRefs) String added in v1.102.0

func (x *AuthSecretRefs) String() string

type AuthSecrets

type AuthSecrets struct {
	Version  int32            `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
	Database *DatabaseSecrets `protobuf:"bytes,2,opt,name=database,proto3,oneof" json:"database,omitempty"`
	// The token iam-auth requires of its own callers.
	ServiceTokens *ServiceTokens `protobuf:"bytes,3,opt,name=service_tokens,json=serviceTokens,proto3,oneof" json:"service_tokens,omitempty"`
	Oauth         *OauthSecrets  `protobuf:"bytes,4,opt,name=oauth,proto3,oneof" json:"oauth,omitempty"`
	// Keyed as in AuthConfig.oauth_client.providers.
	OauthProviders map[string]*OauthClientCredentials `` /* 177-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*AuthSecrets) Descriptor deprecated

func (*AuthSecrets) Descriptor() ([]byte, []int)

Deprecated: Use AuthSecrets.ProtoReflect.Descriptor instead.

func (*AuthSecrets) GetDatabase

func (x *AuthSecrets) GetDatabase() *DatabaseSecrets

func (*AuthSecrets) GetOauth

func (x *AuthSecrets) GetOauth() *OauthSecrets

func (*AuthSecrets) GetOauthProviders

func (x *AuthSecrets) GetOauthProviders() map[string]*OauthClientCredentials

func (*AuthSecrets) GetServiceTokens

func (x *AuthSecrets) GetServiceTokens() *ServiceTokens

func (*AuthSecrets) GetVersion

func (x *AuthSecrets) GetVersion() int32

func (*AuthSecrets) ProtoMessage

func (*AuthSecrets) ProtoMessage()

func (*AuthSecrets) ProtoReflect

func (x *AuthSecrets) ProtoReflect() protoreflect.Message

func (*AuthSecrets) Reset

func (x *AuthSecrets) Reset()

func (*AuthSecrets) String

func (x *AuthSecrets) String() string

type CellConfig added in v1.54.0

type CellConfig struct {
	Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// contains filtered or unexported fields
}

CellConfig identifies a GitLab Cell whose OAuth discovery keys IAM aggregates. Cells are reached through AuthConfig.gitlab_url, not a per-Cell address, so only the ID is needed here.

func (*CellConfig) Descriptor deprecated added in v1.54.0

func (*CellConfig) Descriptor() ([]byte, []int)

Deprecated: Use CellConfig.ProtoReflect.Descriptor instead.

func (*CellConfig) GetId added in v1.54.0

func (x *CellConfig) GetId() int32

func (*CellConfig) ProtoMessage added in v1.54.0

func (*CellConfig) ProtoMessage()

func (*CellConfig) ProtoReflect added in v1.54.0

func (x *CellConfig) ProtoReflect() protoreflect.Message

func (*CellConfig) Reset added in v1.54.0

func (x *CellConfig) Reset()

func (*CellConfig) String added in v1.54.0

func (x *CellConfig) String() string

type Cors

type Cors struct {
	AllowedOrigins []string `protobuf:"bytes,1,rep,name=allowed_origins,json=allowedOrigins,proto3" json:"allowed_origins,omitempty"`
	// Omitting these defaults them to the methods and headers the handler sends
	// today.
	AllowedMethods   []string `protobuf:"bytes,2,rep,name=allowed_methods,json=allowedMethods,proto3" json:"allowed_methods,omitempty"`
	AllowedHeaders   []string `protobuf:"bytes,3,rep,name=allowed_headers,json=allowedHeaders,proto3" json:"allowed_headers,omitempty"`
	AllowCredentials *bool    `protobuf:"varint,4,opt,name=allow_credentials,json=allowCredentials,proto3,oneof" json:"allow_credentials,omitempty"` // omitted: false, matching configs/base.toml
	MaxAge           *int32   `protobuf:"varint,5,opt,name=max_age,json=maxAge,proto3,oneof" json:"max_age,omitempty"`                               // omitted: 300
	// contains filtered or unexported fields
}

Cors is the policy of a process's HTTP listener. AuthConfig carries it at the root and an assembly profile under platform (Platform.cors); only auth serves browser traffic today.

func (*Cors) Descriptor deprecated

func (*Cors) Descriptor() ([]byte, []int)

Deprecated: Use Cors.ProtoReflect.Descriptor instead.

func (*Cors) GetAllowCredentials

func (x *Cors) GetAllowCredentials() bool

func (*Cors) GetAllowedHeaders

func (x *Cors) GetAllowedHeaders() []string

func (*Cors) GetAllowedMethods

func (x *Cors) GetAllowedMethods() []string

func (*Cors) GetAllowedOrigins

func (x *Cors) GetAllowedOrigins() []string

func (*Cors) GetMaxAge

func (x *Cors) GetMaxAge() int32

func (*Cors) ProtoMessage

func (*Cors) ProtoMessage()

func (*Cors) ProtoReflect

func (x *Cors) ProtoReflect() protoreflect.Message

func (*Cors) Reset

func (x *Cors) Reset()

func (*Cors) String

func (x *Cors) String() string

type DataAccessConfig

type DataAccessConfig struct {

	// See AuthConfig.version.
	Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
	// See AuthConfig.secrets_file.
	SecretsFile *string   `protobuf:"bytes,2,opt,name=secrets_file,json=secretsFile,proto3,oneof" json:"secrets_file,omitempty"`
	Platform    *Platform `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform,omitempty"`
	// Defaults to ":5005" when omitted. Must match `containerPort` in
	// .runway/fairway.yaml.
	GrpcAddress *string `protobuf:"bytes,4,opt,name=grpc_address,json=grpcAddress,proto3,oneof" json:"grpc_address,omitempty"`
	// Prometheus scrape endpoint, separate from the gRPC port. Defaults to ":9090"
	// when omitted.
	// Must match `metrics: - port:` in .runway/fairway.yaml.
	MetricsAddress *string   `protobuf:"bytes,5,opt,name=metrics_address,json=metricsAddress,proto3,oneof" json:"metrics_address,omitempty"`
	Auth           *UserAuth `protobuf:"bytes,6,opt,name=auth,proto3" json:"auth,omitempty"`
	// See AuthConfig.secrets.
	Secrets *DataAccessSecretRefs `protobuf:"bytes,12,opt,name=secrets,proto3,oneof" json:"secrets,omitempty"`
	// contains filtered or unexported fields
}

DataAccessConfig is the whole configuration of iam-data-access, which composes the Lookup and Update gRPC APIs behind a single port and two layers of authentication: a shared service token, then a user JWT. Nothing about OAuth is reachable from here — that is iam-auth's schema.

One complete file per environment, resolved as described on AuthConfig. Secret material lives in a separate file (see DataAccessSecrets).

func (*DataAccessConfig) Descriptor deprecated

func (*DataAccessConfig) Descriptor() ([]byte, []int)

Deprecated: Use DataAccessConfig.ProtoReflect.Descriptor instead.

func (*DataAccessConfig) GetAuth

func (x *DataAccessConfig) GetAuth() *UserAuth

func (*DataAccessConfig) GetGrpcAddress

func (x *DataAccessConfig) GetGrpcAddress() string

func (*DataAccessConfig) GetMetricsAddress

func (x *DataAccessConfig) GetMetricsAddress() string

func (*DataAccessConfig) GetPlatform

func (x *DataAccessConfig) GetPlatform() *Platform

func (*DataAccessConfig) GetSecrets added in v1.102.0

func (x *DataAccessConfig) GetSecrets() *DataAccessSecretRefs

func (*DataAccessConfig) GetSecretsFile

func (x *DataAccessConfig) GetSecretsFile() string

func (*DataAccessConfig) GetVersion

func (x *DataAccessConfig) GetVersion() int32

func (*DataAccessConfig) ProtoMessage

func (*DataAccessConfig) ProtoMessage()

func (*DataAccessConfig) ProtoReflect

func (x *DataAccessConfig) ProtoReflect() protoreflect.Message

func (*DataAccessConfig) Reset

func (x *DataAccessConfig) Reset()

func (*DataAccessConfig) String

func (x *DataAccessConfig) String() string

type DataAccessDomain added in v1.119.0

type DataAccessDomain struct {
	Auth *UserAuth `protobuf:"bytes,6,opt,name=auth,proto3" json:"auth,omitempty"`
	// contains filtered or unexported fields
}

DataAccessDomain is the data-access service inside an assembly: DataAccessConfig without the fields the assembly owns.

func (*DataAccessDomain) Descriptor deprecated added in v1.119.0

func (*DataAccessDomain) Descriptor() ([]byte, []int)

Deprecated: Use DataAccessDomain.ProtoReflect.Descriptor instead.

func (*DataAccessDomain) GetAuth added in v1.119.0

func (x *DataAccessDomain) GetAuth() *UserAuth

func (*DataAccessDomain) ProtoMessage added in v1.119.0

func (*DataAccessDomain) ProtoMessage()

func (*DataAccessDomain) ProtoReflect added in v1.119.0

func (x *DataAccessDomain) ProtoReflect() protoreflect.Message

func (*DataAccessDomain) Reset added in v1.119.0

func (x *DataAccessDomain) Reset()

func (*DataAccessDomain) String added in v1.119.0

func (x *DataAccessDomain) String() string

type DataAccessSecretRefs added in v1.102.0

type DataAccessSecretRefs struct {
	Database      *DatabaseSecretRefs `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"`
	ServiceTokens *ServiceTokenRefs   `protobuf:"bytes,2,opt,name=service_tokens,json=serviceTokens,proto3" json:"service_tokens,omitempty"`
	// contains filtered or unexported fields
}

DataAccessSecretRefs mirrors DataAccessSecrets in secrets.proto.

func (*DataAccessSecretRefs) Descriptor deprecated added in v1.102.0

func (*DataAccessSecretRefs) Descriptor() ([]byte, []int)

Deprecated: Use DataAccessSecretRefs.ProtoReflect.Descriptor instead.

func (*DataAccessSecretRefs) GetDatabase added in v1.102.0

func (x *DataAccessSecretRefs) GetDatabase() *DatabaseSecretRefs

func (*DataAccessSecretRefs) GetServiceTokens added in v1.102.0

func (x *DataAccessSecretRefs) GetServiceTokens() *ServiceTokenRefs

func (*DataAccessSecretRefs) ProtoMessage added in v1.102.0

func (*DataAccessSecretRefs) ProtoMessage()

func (*DataAccessSecretRefs) ProtoReflect added in v1.102.0

func (x *DataAccessSecretRefs) ProtoReflect() protoreflect.Message

func (*DataAccessSecretRefs) Reset added in v1.102.0

func (x *DataAccessSecretRefs) Reset()

func (*DataAccessSecretRefs) String added in v1.102.0

func (x *DataAccessSecretRefs) String() string

type DataAccessSecrets

type DataAccessSecrets struct {
	Version  int32            `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
	Database *DatabaseSecrets `protobuf:"bytes,2,opt,name=database,proto3,oneof" json:"database,omitempty"`
	// The token iam-data-access requires of its own callers. When iam-auth becomes
	// one of those callers it gains a separate client credential; it does not
	// borrow this one.
	ServiceTokens *ServiceTokens `protobuf:"bytes,3,opt,name=service_tokens,json=serviceTokens,proto3,oneof" json:"service_tokens,omitempty"`
	// contains filtered or unexported fields
}

func (*DataAccessSecrets) Descriptor deprecated

func (*DataAccessSecrets) Descriptor() ([]byte, []int)

Deprecated: Use DataAccessSecrets.ProtoReflect.Descriptor instead.

func (*DataAccessSecrets) GetDatabase

func (x *DataAccessSecrets) GetDatabase() *DatabaseSecrets

func (*DataAccessSecrets) GetServiceTokens

func (x *DataAccessSecrets) GetServiceTokens() *ServiceTokens

func (*DataAccessSecrets) GetVersion

func (x *DataAccessSecrets) GetVersion() int32

func (*DataAccessSecrets) ProtoMessage

func (*DataAccessSecrets) ProtoMessage()

func (*DataAccessSecrets) ProtoReflect

func (x *DataAccessSecrets) ProtoReflect() protoreflect.Message

func (*DataAccessSecrets) Reset

func (x *DataAccessSecrets) Reset()

func (*DataAccessSecrets) String

func (x *DataAccessSecrets) String() string

type Database

type Database struct {

	// driver and ssl_mode sit here rather than in a source arm because Fairway can
	// express neither (no yugabyte backend type, no ssl field), so both must be
	// stated whichever source is used. driver also picks the goose migration dir.
	Driver Database_Driver `protobuf:"varint,1,opt,name=driver,proto3,enum=gitlab.iam.config.v1.Database_Driver" json:"driver,omitempty"`
	// Mandatory: `defined_only` alone would let an omitted key take
	// SSL_MODE_UNSPECIFIED. The legacy platformconfig/database.go refused to boot
	// without it, and Fairway cannot supply it either (fairway#36).
	SslMode Database_SslMode `` /* 126-byte string literal not displayed */
	// Declared, not discovered: infrastructure.DefaultConfig() keeps the result of
	// its first read, including a failure, for the life of the process, so
	// environments without a Fairway chart must never reach it.
	//
	// Types that are valid to be assigned to Source:
	//
	//	*Database_Infrastructure
	//	*Database_Endpoint
	Source isDatabase_Source `protobuf_oneof:"source"`
	// Pgx pool property, not endpoint. Omit for default max(4, NumCPU) per node.
	MaxConnections *int32 `protobuf:"varint,5,opt,name=max_connections,json=maxConnections,proto3,oneof" json:"max_connections,omitempty"`
	// An idle floor above the ceiling is accepted silently by pgx and never
	// reached, hence the two CEL rules above.
	MinIdleConnections *int32 `protobuf:"varint,6,opt,name=min_idle_connections,json=minIdleConnections,proto3,oneof" json:"min_idle_connections,omitempty"`
	// contains filtered or unexported fields
}

func (*Database) Descriptor deprecated

func (*Database) Descriptor() ([]byte, []int)

Deprecated: Use Database.ProtoReflect.Descriptor instead.

func (*Database) GetDriver

func (x *Database) GetDriver() Database_Driver

func (*Database) GetEndpoint

func (x *Database) GetEndpoint() *Endpoint

func (*Database) GetInfrastructure

func (x *Database) GetInfrastructure() *Infrastructure

func (*Database) GetMaxConnections added in v1.43.0

func (x *Database) GetMaxConnections() int32

func (*Database) GetMinIdleConnections added in v1.43.0

func (x *Database) GetMinIdleConnections() int32

func (*Database) GetSource

func (x *Database) GetSource() isDatabase_Source

func (*Database) GetSslMode

func (x *Database) GetSslMode() Database_SslMode

func (*Database) ProtoMessage

func (*Database) ProtoMessage()

func (*Database) ProtoReflect

func (x *Database) ProtoReflect() protoreflect.Message

func (*Database) Reset

func (x *Database) Reset()

func (*Database) String

func (x *Database) String() string

type DatabaseSecretRefs added in v1.102.0

type DatabaseSecretRefs struct {
	Username          *SecretRef `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
	Password          *SecretRef `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
	MigrationUsername *SecretRef `protobuf:"bytes,3,opt,name=migration_username,json=migrationUsername,proto3" json:"migration_username,omitempty"`
	MigrationPassword *SecretRef `protobuf:"bytes,4,opt,name=migration_password,json=migrationPassword,proto3" json:"migration_password,omitempty"`
	// contains filtered or unexported fields
}

DatabaseSecretRefs mirrors DatabaseSecrets in secrets.proto.

func (*DatabaseSecretRefs) Descriptor deprecated added in v1.102.0

func (*DatabaseSecretRefs) Descriptor() ([]byte, []int)

Deprecated: Use DatabaseSecretRefs.ProtoReflect.Descriptor instead.

func (*DatabaseSecretRefs) GetMigrationPassword added in v1.102.0

func (x *DatabaseSecretRefs) GetMigrationPassword() *SecretRef

func (*DatabaseSecretRefs) GetMigrationUsername added in v1.102.0

func (x *DatabaseSecretRefs) GetMigrationUsername() *SecretRef

func (*DatabaseSecretRefs) GetPassword added in v1.102.0

func (x *DatabaseSecretRefs) GetPassword() *SecretRef

func (*DatabaseSecretRefs) GetUsername added in v1.102.0

func (x *DatabaseSecretRefs) GetUsername() *SecretRef

func (*DatabaseSecretRefs) ProtoMessage added in v1.102.0

func (*DatabaseSecretRefs) ProtoMessage()

func (*DatabaseSecretRefs) ProtoReflect added in v1.102.0

func (x *DatabaseSecretRefs) ProtoReflect() protoreflect.Message

func (*DatabaseSecretRefs) Reset added in v1.102.0

func (x *DatabaseSecretRefs) Reset()

func (*DatabaseSecretRefs) String added in v1.102.0

func (x *DatabaseSecretRefs) String() string

type DatabaseSecrets

type DatabaseSecrets struct {

	// Service role (DML only). The whole block must be absent when
	// platform.database names the `infrastructure` source; the loader rejects it
	// there.
	Username *string `protobuf:"bytes,1,opt,name=username,proto3,oneof" json:"username,omitempty"`
	// sensitive: must never appear in logs or error messages.
	Password *string `protobuf:"bytes,2,opt,name=password,proto3,oneof" json:"password,omitempty"`
	// Migration role (DDL), for the `endpoint` source and the TOML files. Used
	// only by cmd/migrate, which errors clearly if it is missing.
	MigrationUsername *string `protobuf:"bytes,3,opt,name=migration_username,json=migrationUsername,proto3,oneof" json:"migration_username,omitempty"`
	// sensitive: must never appear in logs or error messages.
	MigrationPassword *string `protobuf:"bytes,4,opt,name=migration_password,json=migrationPassword,proto3,oneof" json:"migration_password,omitempty"`
	// contains filtered or unexported fields
}

func (*DatabaseSecrets) Descriptor deprecated

func (*DatabaseSecrets) Descriptor() ([]byte, []int)

Deprecated: Use DatabaseSecrets.ProtoReflect.Descriptor instead.

func (*DatabaseSecrets) GetMigrationPassword

func (x *DatabaseSecrets) GetMigrationPassword() string

func (*DatabaseSecrets) GetMigrationUsername

func (x *DatabaseSecrets) GetMigrationUsername() string

func (*DatabaseSecrets) GetPassword

func (x *DatabaseSecrets) GetPassword() string

func (*DatabaseSecrets) GetUsername

func (x *DatabaseSecrets) GetUsername() string

func (*DatabaseSecrets) ProtoMessage

func (*DatabaseSecrets) ProtoMessage()

func (*DatabaseSecrets) ProtoReflect

func (x *DatabaseSecrets) ProtoReflect() protoreflect.Message

func (*DatabaseSecrets) Reset

func (x *DatabaseSecrets) Reset()

func (*DatabaseSecrets) String

func (x *DatabaseSecrets) String() string

type Database_Driver

type Database_Driver int32
const (
	Database_DRIVER_UNSPECIFIED Database_Driver = 0
	Database_DRIVER_POSTGRES    Database_Driver = 1
	Database_DRIVER_YUGABYTE    Database_Driver = 2
)

func (Database_Driver) Descriptor

func (Database_Driver) Enum

func (x Database_Driver) Enum() *Database_Driver

func (Database_Driver) EnumDescriptor deprecated

func (Database_Driver) EnumDescriptor() ([]byte, []int)

Deprecated: Use Database_Driver.Descriptor instead.

func (Database_Driver) Number

func (Database_Driver) String

func (x Database_Driver) String() string

func (Database_Driver) Type

type Database_Endpoint

type Database_Endpoint struct {
	Endpoint *Endpoint `protobuf:"bytes,4,opt,name=endpoint,proto3,oneof"`
}

type Database_Infrastructure

type Database_Infrastructure struct {
	Infrastructure *Infrastructure `protobuf:"bytes,3,opt,name=infrastructure,proto3,oneof"`
}

type Database_SslMode

type Database_SslMode int32
const (
	Database_SSL_MODE_UNSPECIFIED Database_SslMode = 0
	Database_SSL_MODE_DISABLE     Database_SslMode = 1
	Database_SSL_MODE_REQUIRE     Database_SslMode = 2
	Database_SSL_MODE_VERIFY_CA   Database_SslMode = 3
	Database_SSL_MODE_VERIFY_FULL Database_SslMode = 4
)

func (Database_SslMode) Descriptor

func (Database_SslMode) Enum

func (Database_SslMode) EnumDescriptor deprecated

func (Database_SslMode) EnumDescriptor() ([]byte, []int)

Deprecated: Use Database_SslMode.Descriptor instead.

func (Database_SslMode) Number

func (Database_SslMode) String

func (x Database_SslMode) String() string

func (Database_SslMode) Type

type Endpoint

type Endpoint struct {
	Host         string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
	Port         int32  `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
	DatabaseName string `protobuf:"bytes,3,opt,name=database_name,json=databaseName,proto3" json:"database_name,omitempty"`
	// pool_host and pool_port name a connection pooler in front of host:port.
	// When only one is set, the other defaults to host or port. The service
	// connects through the pooler; migrations connect to host:port directly.
	PoolHost *string `protobuf:"bytes,4,opt,name=pool_host,json=poolHost,proto3,oneof" json:"pool_host,omitempty"`
	PoolPort *int32  `protobuf:"varint,5,opt,name=pool_port,json=poolPort,proto3,oneof" json:"pool_port,omitempty"`
	// contains filtered or unexported fields
}

Endpoint carries the fields Fairway itself could supply, stated by hand for Omnibus, local dev and CI, which have no infrastructure file. Under `infrastructure` they come from postgresql.*, with database_name falling back to the mounted secret's format-specific key (CNPG: dbname). Under `endpoint` the credentials come from the secrets file.

func (*Endpoint) Descriptor deprecated

func (*Endpoint) Descriptor() ([]byte, []int)

Deprecated: Use Endpoint.ProtoReflect.Descriptor instead.

func (*Endpoint) GetDatabaseName

func (x *Endpoint) GetDatabaseName() string

func (*Endpoint) GetHost

func (x *Endpoint) GetHost() string

func (*Endpoint) GetPoolHost added in v1.120.0

func (x *Endpoint) GetPoolHost() string

func (*Endpoint) GetPoolPort added in v1.120.0

func (x *Endpoint) GetPoolPort() int32

func (*Endpoint) GetPort

func (x *Endpoint) GetPort() int32

func (*Endpoint) ProtoMessage

func (*Endpoint) ProtoMessage()

func (*Endpoint) ProtoReflect

func (x *Endpoint) ProtoReflect() protoreflect.Message

func (*Endpoint) Reset

func (x *Endpoint) Reset()

func (*Endpoint) String

func (x *Endpoint) String() string

type Grpc

type Grpc struct {

	// Reflection is a stream RPC, so the unary service-token interceptors do not
	// cover it: it is unauthenticated wherever it is on. Omitting the block turns
	// reflection off.
	EnableReflection *bool `protobuf:"varint,1,opt,name=enable_reflection,json=enableReflection,proto3,oneof" json:"enable_reflection,omitempty"`
	// contains filtered or unexported fields
}

func (*Grpc) Descriptor deprecated

func (*Grpc) Descriptor() ([]byte, []int)

Deprecated: Use Grpc.ProtoReflect.Descriptor instead.

func (*Grpc) GetEnableReflection

func (x *Grpc) GetEnableReflection() bool

func (*Grpc) ProtoMessage

func (*Grpc) ProtoMessage()

func (*Grpc) ProtoReflect

func (x *Grpc) ProtoReflect() protoreflect.Message

func (*Grpc) Reset

func (x *Grpc) Reset()

func (*Grpc) String

func (x *Grpc) String() string

type Http

type Http struct {

	// Omitting these defaults them to 30s read, 30s write, 60s idle.
	ReadTimeout  *durationpb.Duration `protobuf:"bytes,1,opt,name=read_timeout,json=readTimeout,proto3,oneof" json:"read_timeout,omitempty"`
	WriteTimeout *durationpb.Duration `protobuf:"bytes,2,opt,name=write_timeout,json=writeTimeout,proto3,oneof" json:"write_timeout,omitempty"`
	IdleTimeout  *durationpb.Duration `protobuf:"bytes,3,opt,name=idle_timeout,json=idleTimeout,proto3,oneof" json:"idle_timeout,omitempty"`
	// contains filtered or unexported fields
}

func (*Http) Descriptor deprecated

func (*Http) Descriptor() ([]byte, []int)

Deprecated: Use Http.ProtoReflect.Descriptor instead.

func (*Http) GetIdleTimeout

func (x *Http) GetIdleTimeout() *durationpb.Duration

func (*Http) GetReadTimeout

func (x *Http) GetReadTimeout() *durationpb.Duration

func (*Http) GetWriteTimeout

func (x *Http) GetWriteTimeout() *durationpb.Duration

func (*Http) ProtoMessage

func (*Http) ProtoMessage()

func (*Http) ProtoReflect

func (x *Http) ProtoReflect() protoreflect.Message

func (*Http) Reset

func (x *Http) Reset()

func (*Http) String

func (x *Http) String() string

type Infrastructure

type Infrastructure struct {

	// Both unset: LabKit's default locations. Both set: build the infrastructure
	// config by hand from these paths.
	Path       *string `protobuf:"bytes,1,opt,name=path,proto3,oneof" json:"path,omitempty"`
	SecretsDir *string `protobuf:"bytes,2,opt,name=secrets_dir,json=secretsDir,proto3,oneof" json:"secrets_dir,omitempty"`
	// contains filtered or unexported fields
}

func (*Infrastructure) Descriptor deprecated

func (*Infrastructure) Descriptor() ([]byte, []int)

Deprecated: Use Infrastructure.ProtoReflect.Descriptor instead.

func (*Infrastructure) GetPath

func (x *Infrastructure) GetPath() string

func (*Infrastructure) GetSecretsDir

func (x *Infrastructure) GetSecretsDir() string

func (*Infrastructure) ProtoMessage

func (*Infrastructure) ProtoMessage()

func (*Infrastructure) ProtoReflect

func (x *Infrastructure) ProtoReflect() protoreflect.Message

func (*Infrastructure) Reset

func (x *Infrastructure) Reset()

func (*Infrastructure) String

func (x *Infrastructure) String() string

type Issuer

type Issuer struct {
	Url     string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
	KeysUrl string `protobuf:"bytes,2,opt,name=keys_url,json=keysUrl,proto3" json:"keys_url,omitempty"`
	// contains filtered or unexported fields
}

Issuer is one trusted token issuer and the JWKS endpoint its keys are fetched from. keys_url is not derived from url: GitLab serves Cloud Connector keys from a path that is not the issuer's well-known location.

func (*Issuer) Descriptor deprecated

func (*Issuer) Descriptor() ([]byte, []int)

Deprecated: Use Issuer.ProtoReflect.Descriptor instead.

func (*Issuer) GetKeysUrl

func (x *Issuer) GetKeysUrl() string

func (*Issuer) GetUrl

func (x *Issuer) GetUrl() string

func (*Issuer) ProtoMessage

func (*Issuer) ProtoMessage()

func (*Issuer) ProtoReflect

func (x *Issuer) ProtoReflect() protoreflect.Message

func (*Issuer) Reset

func (x *Issuer) Reset()

func (*Issuer) String

func (x *Issuer) String() string

type Listener added in v1.119.0

type Listener struct {

	// Names the socket in logs and errors.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The interface to bind; every interface when omitted.
	Host     *string  `protobuf:"bytes,2,opt,name=host,proto3,oneof" json:"host,omitempty"`
	Port     uint32   `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"`
	Protocol Protocol `protobuf:"varint,4,opt,name=protocol,proto3,enum=gitlab.iam.config.v1.Protocol" json:"protocol,omitempty"`
	// contains filtered or unexported fields
}

Listener is one published socket: LabBench's port and protocol, plus the host it binds.

func (*Listener) Descriptor deprecated added in v1.119.0

func (*Listener) Descriptor() ([]byte, []int)

Deprecated: Use Listener.ProtoReflect.Descriptor instead.

func (*Listener) GetHost added in v1.119.0

func (x *Listener) GetHost() string

func (*Listener) GetName added in v1.119.0

func (x *Listener) GetName() string

func (*Listener) GetPort added in v1.119.0

func (x *Listener) GetPort() uint32

func (*Listener) GetProtocol added in v1.119.0

func (x *Listener) GetProtocol() Protocol

func (*Listener) ProtoMessage added in v1.119.0

func (*Listener) ProtoMessage()

func (*Listener) ProtoReflect added in v1.119.0

func (x *Listener) ProtoReflect() protoreflect.Message

func (*Listener) Reset added in v1.119.0

func (x *Listener) Reset()

func (*Listener) String added in v1.119.0

func (x *Listener) String() string

type MigrationConfig added in v1.88.0

type MigrationConfig struct {

	// See AuthConfig.version.
	Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
	// See AuthConfig.secrets_file.
	SecretsFile *string   `protobuf:"bytes,2,opt,name=secrets_file,json=secretsFile,proto3,oneof" json:"secrets_file,omitempty"`
	Platform    *Platform `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform,omitempty"`
	// See AuthConfig.secrets.
	Secrets *MigrationSecretRefs `protobuf:"bytes,12,opt,name=secrets,proto3,oneof" json:"secrets,omitempty"`
	// contains filtered or unexported fields
}

MigrationConfig is the root the migrate command reads: the fields AuthConfig and DataAccessConfig share, under the same names and numbers. The loader ignores keys it does not know, so either service's config file parses as it; the command ships in every image and has no service name to pick a root by.

func (*MigrationConfig) Descriptor deprecated added in v1.88.0

func (*MigrationConfig) Descriptor() ([]byte, []int)

Deprecated: Use MigrationConfig.ProtoReflect.Descriptor instead.

func (*MigrationConfig) GetPlatform added in v1.88.0

func (x *MigrationConfig) GetPlatform() *Platform

func (*MigrationConfig) GetSecrets added in v1.102.0

func (x *MigrationConfig) GetSecrets() *MigrationSecretRefs

func (*MigrationConfig) GetSecretsFile added in v1.88.0

func (x *MigrationConfig) GetSecretsFile() string

func (*MigrationConfig) GetVersion added in v1.88.0

func (x *MigrationConfig) GetVersion() int32

func (*MigrationConfig) ProtoMessage added in v1.88.0

func (*MigrationConfig) ProtoMessage()

func (*MigrationConfig) ProtoReflect added in v1.88.0

func (x *MigrationConfig) ProtoReflect() protoreflect.Message

func (*MigrationConfig) Reset added in v1.88.0

func (x *MigrationConfig) Reset()

func (*MigrationConfig) String added in v1.88.0

func (x *MigrationConfig) String() string

type MigrationSecretRefs added in v1.102.0

type MigrationSecretRefs struct {
	Database *DatabaseSecretRefs `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"`
	// contains filtered or unexported fields
}

MigrationSecretRefs is the database block of either service's `secrets`.

func (*MigrationSecretRefs) Descriptor deprecated added in v1.102.0

func (*MigrationSecretRefs) Descriptor() ([]byte, []int)

Deprecated: Use MigrationSecretRefs.ProtoReflect.Descriptor instead.

func (*MigrationSecretRefs) GetDatabase added in v1.102.0

func (x *MigrationSecretRefs) GetDatabase() *DatabaseSecretRefs

func (*MigrationSecretRefs) ProtoMessage added in v1.102.0

func (*MigrationSecretRefs) ProtoMessage()

func (*MigrationSecretRefs) ProtoReflect added in v1.102.0

func (x *MigrationSecretRefs) ProtoReflect() protoreflect.Message

func (*MigrationSecretRefs) Reset added in v1.102.0

func (x *MigrationSecretRefs) Reset()

func (*MigrationSecretRefs) String added in v1.102.0

func (x *MigrationSecretRefs) String() string

type MigrationSecrets added in v1.88.0

type MigrationSecrets struct {
	Version  int32            `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
	Database *DatabaseSecrets `protobuf:"bytes,2,opt,name=database,proto3,oneof" json:"database,omitempty"`
	// contains filtered or unexported fields
}

MigrationSecrets is what the migrate command reads from a service's secrets file: the database block, which is all it needs. The loader ignores the other keys, so either service's file parses as this message (see MigrationConfig).

func (*MigrationSecrets) Descriptor deprecated added in v1.88.0

func (*MigrationSecrets) Descriptor() ([]byte, []int)

Deprecated: Use MigrationSecrets.ProtoReflect.Descriptor instead.

func (*MigrationSecrets) GetDatabase added in v1.88.0

func (x *MigrationSecrets) GetDatabase() *DatabaseSecrets

func (*MigrationSecrets) GetVersion added in v1.88.0

func (x *MigrationSecrets) GetVersion() int32

func (*MigrationSecrets) ProtoMessage added in v1.88.0

func (*MigrationSecrets) ProtoMessage()

func (*MigrationSecrets) ProtoReflect added in v1.88.0

func (x *MigrationSecrets) ProtoReflect() protoreflect.Message

func (*MigrationSecrets) Reset added in v1.88.0

func (x *MigrationSecrets) Reset()

func (*MigrationSecrets) String added in v1.88.0

func (x *MigrationSecrets) String() string

type OauthClient

type OauthClient struct {

	// Closed key set: each name selects a distinct construction path in
	// auth/oauth/client, so an unknown key would be silently ignored.
	Providers map[string]*OauthProvider `` /* 145-byte string literal not displayed */
	// contains filtered or unexported fields
}

OauthClient configures IAM as an OAuth client, for "sign in with ..." flows.

func (*OauthClient) Descriptor deprecated

func (*OauthClient) Descriptor() ([]byte, []int)

Deprecated: Use OauthClient.ProtoReflect.Descriptor instead.

func (*OauthClient) GetProviders

func (x *OauthClient) GetProviders() map[string]*OauthProvider

func (*OauthClient) ProtoMessage

func (*OauthClient) ProtoMessage()

func (*OauthClient) ProtoReflect

func (x *OauthClient) ProtoReflect() protoreflect.Message

func (*OauthClient) Reset

func (x *OauthClient) Reset()

func (*OauthClient) String

func (x *OauthClient) String() string

type OauthClientCredentials

type OauthClientCredentials struct {
	ClientId *string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3,oneof" json:"client_id,omitempty"`
	// sensitive: must never appear in logs or error messages.
	ClientSecret *string `protobuf:"bytes,2,opt,name=client_secret,json=clientSecret,proto3,oneof" json:"client_secret,omitempty"`
	// contains filtered or unexported fields
}

func (*OauthClientCredentials) Descriptor deprecated

func (*OauthClientCredentials) Descriptor() ([]byte, []int)

Deprecated: Use OauthClientCredentials.ProtoReflect.Descriptor instead.

func (*OauthClientCredentials) GetClientId

func (x *OauthClientCredentials) GetClientId() string

func (*OauthClientCredentials) GetClientSecret

func (x *OauthClientCredentials) GetClientSecret() string

func (*OauthClientCredentials) ProtoMessage

func (*OauthClientCredentials) ProtoMessage()

func (*OauthClientCredentials) ProtoReflect

func (x *OauthClientCredentials) ProtoReflect() protoreflect.Message

func (*OauthClientCredentials) Reset

func (x *OauthClientCredentials) Reset()

func (*OauthClientCredentials) String

func (x *OauthClientCredentials) String() string

type OauthClientSecretRefs added in v1.102.0

type OauthClientSecretRefs struct {
	ClientId     *SecretRef `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"`
	ClientSecret *SecretRef `protobuf:"bytes,2,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"`
	// contains filtered or unexported fields
}

func (*OauthClientSecretRefs) Descriptor deprecated added in v1.102.0

func (*OauthClientSecretRefs) Descriptor() ([]byte, []int)

Deprecated: Use OauthClientSecretRefs.ProtoReflect.Descriptor instead.

func (*OauthClientSecretRefs) GetClientId added in v1.102.0

func (x *OauthClientSecretRefs) GetClientId() *SecretRef

func (*OauthClientSecretRefs) GetClientSecret added in v1.102.0

func (x *OauthClientSecretRefs) GetClientSecret() *SecretRef

func (*OauthClientSecretRefs) ProtoMessage added in v1.102.0

func (*OauthClientSecretRefs) ProtoMessage()

func (*OauthClientSecretRefs) ProtoReflect added in v1.102.0

func (x *OauthClientSecretRefs) ProtoReflect() protoreflect.Message

func (*OauthClientSecretRefs) Reset added in v1.102.0

func (x *OauthClientSecretRefs) Reset()

func (*OauthClientSecretRefs) String added in v1.102.0

func (x *OauthClientSecretRefs) String() string

type OauthProvider

type OauthProvider struct {
	Issuer      *string `protobuf:"bytes,1,opt,name=issuer,proto3,oneof" json:"issuer,omitempty"`
	AuthUrl     *string `protobuf:"bytes,2,opt,name=auth_url,json=authUrl,proto3,oneof" json:"auth_url,omitempty"`
	TokenUrl    *string `protobuf:"bytes,3,opt,name=token_url,json=tokenUrl,proto3,oneof" json:"token_url,omitempty"`
	UserInfoUrl *string `protobuf:"bytes,4,opt,name=user_info_url,json=userInfoUrl,proto3,oneof" json:"user_info_url,omitempty"`
	// Omitting this uses the provider's conventional scopes, from pkg/config.
	// No min_items: repeated fields have no presence, so that would make the
	// default unreachable (see common.proto).
	Scopes []string `protobuf:"bytes,5,rep,name=scopes,proto3" json:"scopes,omitempty"`
	// contains filtered or unexported fields
}

OauthProvider is one third-party provider. Setting `issuer` selects OIDC discovery; otherwise the explicit endpoints are used, and overriding them is what makes GitHub Enterprise / Bitbucket Data Center reachable.

"issuer, or a complete endpoint set" is enforced in Go, not here: pkg/config supplies the golang.org/x/oauth2 defaults and protovalidate runs first, so a rule here would reject a valid github block that omits them.

func (*OauthProvider) Descriptor deprecated

func (*OauthProvider) Descriptor() ([]byte, []int)

Deprecated: Use OauthProvider.ProtoReflect.Descriptor instead.

func (*OauthProvider) GetAuthUrl

func (x *OauthProvider) GetAuthUrl() string

func (*OauthProvider) GetIssuer

func (x *OauthProvider) GetIssuer() string

func (*OauthProvider) GetScopes

func (x *OauthProvider) GetScopes() []string

func (*OauthProvider) GetTokenUrl

func (x *OauthProvider) GetTokenUrl() string

func (*OauthProvider) GetUserInfoUrl

func (x *OauthProvider) GetUserInfoUrl() string

func (*OauthProvider) ProtoMessage

func (*OauthProvider) ProtoMessage()

func (*OauthProvider) ProtoReflect

func (x *OauthProvider) ProtoReflect() protoreflect.Message

func (*OauthProvider) Reset

func (x *OauthProvider) Reset()

func (*OauthProvider) String

func (x *OauthProvider) String() string

type OauthSecretRefs added in v1.102.0

type OauthSecretRefs struct {
	HmacSecret *SecretRef `protobuf:"bytes,1,opt,name=hmac_secret,json=hmacSecret,proto3" json:"hmac_secret,omitempty"`
	// The file holds the PEM itself; pkg/config encodes it as signing_key expects.
	SigningKey *SecretRef `protobuf:"bytes,2,opt,name=signing_key,json=signingKey,proto3" json:"signing_key,omitempty"`
	// contains filtered or unexported fields
}

func (*OauthSecretRefs) Descriptor deprecated added in v1.102.0

func (*OauthSecretRefs) Descriptor() ([]byte, []int)

Deprecated: Use OauthSecretRefs.ProtoReflect.Descriptor instead.

func (*OauthSecretRefs) GetHmacSecret added in v1.102.0

func (x *OauthSecretRefs) GetHmacSecret() *SecretRef

func (*OauthSecretRefs) GetSigningKey added in v1.102.0

func (x *OauthSecretRefs) GetSigningKey() *SecretRef

func (*OauthSecretRefs) ProtoMessage added in v1.102.0

func (*OauthSecretRefs) ProtoMessage()

func (*OauthSecretRefs) ProtoReflect added in v1.102.0

func (x *OauthSecretRefs) ProtoReflect() protoreflect.Message

func (*OauthSecretRefs) Reset added in v1.102.0

func (x *OauthSecretRefs) Reset()

func (*OauthSecretRefs) String added in v1.102.0

func (x *OauthSecretRefs) String() string

type OauthSecrets

type OauthSecrets struct {

	// sensitive. Signs opaque authorization codes and refresh tokens.
	HmacSecret *string `protobuf:"bytes,1,opt,name=hmac_secret,json=hmacSecret,proto3,oneof" json:"hmac_secret,omitempty"`
	// A base64-encoded PKCS#8 PEM RSA private key
	// staging/production inject it as SERVICES_AUTH_OAUTH_SIGNING_KEY, and
	// dev/CI use the fixed key in configs/auth/secrets.local.yaml (the same key
	// as configs/environments/secrets.toml)
	// sensitive.
	SigningKey *string `protobuf:"bytes,2,opt,name=signing_key,json=signingKey,proto3,oneof" json:"signing_key,omitempty"`
	// contains filtered or unexported fields
}

func (*OauthSecrets) Descriptor deprecated

func (*OauthSecrets) Descriptor() ([]byte, []int)

Deprecated: Use OauthSecrets.ProtoReflect.Descriptor instead.

func (*OauthSecrets) GetHmacSecret

func (x *OauthSecrets) GetHmacSecret() string

func (*OauthSecrets) GetSigningKey added in v1.45.3

func (x *OauthSecrets) GetSigningKey() string

func (*OauthSecrets) ProtoMessage

func (*OauthSecrets) ProtoMessage()

func (*OauthSecrets) ProtoReflect

func (x *OauthSecrets) ProtoReflect() protoreflect.Message

func (*OauthSecrets) Reset

func (x *OauthSecrets) Reset()

func (*OauthSecrets) String

func (x *OauthSecrets) String() string

type OauthServer

type OauthServer struct {

	// The `iss` claim, and the base for the OIDC discovery document.
	Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"`
	// Rails routes: where to send an unauthenticated user, and where to approve
	// a client's scopes.
	LoginUrl   string `protobuf:"bytes,2,opt,name=login_url,json=loginUrl,proto3" json:"login_url,omitempty"`
	ConsentUrl string `protobuf:"bytes,3,opt,name=consent_url,json=consentUrl,proto3" json:"consent_url,omitempty"`
	// The `aud` claim on issued access tokens (RFC 9068). Defaults to
	// "gitlab-rails" when omitted.
	AccessTokenAudience *string `` /* 126-byte string literal not displayed */
	// How long a fetched JWKS is cached. Omitting it leaves 0, which is what the
	// service resolves today; changing that is deliberately out of scope here.
	JwksCacheDuration *durationpb.Duration `protobuf:"bytes,5,opt,name=jwks_cache_duration,json=jwksCacheDuration,proto3,oneof" json:"jwks_cache_duration,omitempty"`
	// GitLab Rails' `/api/v4/iam/userinfo` endpoint. Called at token-exchange
	// time to fetch ID token claims, authenticated with the access token
	// minted for the same exchange as a bearer credential (see
	// core.ClaimsEnrichedIDTokenHandler). Unlike the OIDC `/oauth/userinfo`
	// endpoint, this one accepts only an IAM-issued OAuth JWT.
	//
	// SECURITY-SENSITIVE: every openid-scoped token exchange sends a bearer
	// access token to this URL. Must resolve to a trusted, TLS-protected
	// GitLab Rails instance; never an attacker-controlled address.
	UserInfoUrl string `protobuf:"bytes,6,opt,name=user_info_url,json=userInfoUrl,proto3" json:"user_info_url,omitempty"`
	// Cells whose OAuth discovery keys IAM aggregates at /oauth/discovery/keys.
	// max_items added for linting, we should not hit this limit
	Cells []*CellConfig `protobuf:"bytes,7,rep,name=cells,proto3" json:"cells,omitempty"`
	// Every DCR app must have an org_id. Set it to the default org uuid of the
	// GitLab instance IAM is deployed against.
	// See https://gitlab.com/gitlab-org/auth/iam/-/blob/main/auth/config/oauth_server.go#L14
	DynamicClientOrganizationId string `` /* 146-byte string literal not displayed */
	// contains filtered or unexported fields
}

OauthServer configures IAM acting as an authorization server.

func (*OauthServer) Descriptor deprecated

func (*OauthServer) Descriptor() ([]byte, []int)

Deprecated: Use OauthServer.ProtoReflect.Descriptor instead.

func (*OauthServer) GetAccessTokenAudience

func (x *OauthServer) GetAccessTokenAudience() string

func (*OauthServer) GetCells added in v1.54.0

func (x *OauthServer) GetCells() []*CellConfig

func (*OauthServer) GetConsentUrl

func (x *OauthServer) GetConsentUrl() string

func (*OauthServer) GetDynamicClientOrganizationId added in v1.64.0

func (x *OauthServer) GetDynamicClientOrganizationId() string

func (*OauthServer) GetIssuer

func (x *OauthServer) GetIssuer() string

func (*OauthServer) GetJwksCacheDuration

func (x *OauthServer) GetJwksCacheDuration() *durationpb.Duration

func (*OauthServer) GetLoginUrl

func (x *OauthServer) GetLoginUrl() string

func (*OauthServer) GetUserInfoUrl added in v1.45.2

func (x *OauthServer) GetUserInfoUrl() string

func (*OauthServer) ProtoMessage

func (*OauthServer) ProtoMessage()

func (*OauthServer) ProtoReflect

func (x *OauthServer) ProtoReflect() protoreflect.Message

func (*OauthServer) Reset

func (x *OauthServer) Reset()

func (*OauthServer) String

func (x *OauthServer) String() string

type Platform

type Platform struct {
	Database *Database `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"`
	// Omitting a block leaves its fields at their Go defaults — see the note above.
	Grpc *Grpc `protobuf:"bytes,2,opt,name=grpc,proto3,oneof" json:"grpc,omitempty"`
	Http *Http `protobuf:"bytes,3,opt,name=http,proto3,oneof" json:"http,omitempty"`
	// Read from an assembly profile only. AuthConfig and DataAccessConfig reject a value here.
	// AuthConfig keeps its root-level cors until iam-auth moves to that root.
	Cors *Cors `protobuf:"bytes,4,opt,name=cors,proto3,oneof" json:"cors,omitempty"`
	// contains filtered or unexported fields
}

func (*Platform) Descriptor deprecated

func (*Platform) Descriptor() ([]byte, []int)

Deprecated: Use Platform.ProtoReflect.Descriptor instead.

func (*Platform) GetCors added in v1.119.0

func (x *Platform) GetCors() *Cors

func (*Platform) GetDatabase

func (x *Platform) GetDatabase() *Database

func (*Platform) GetGrpc

func (x *Platform) GetGrpc() *Grpc

func (*Platform) GetHttp

func (x *Platform) GetHttp() *Http

func (*Platform) ProtoMessage

func (*Platform) ProtoMessage()

func (*Platform) ProtoReflect

func (x *Platform) ProtoReflect() protoreflect.Message

func (*Platform) Reset

func (x *Platform) Reset()

func (*Platform) String

func (x *Platform) String() string

type Probe added in v1.119.0

type Probe struct {
	Host *string `protobuf:"bytes,1,opt,name=host,proto3,oneof" json:"host,omitempty"`
	Port *uint32 `protobuf:"varint,2,opt,name=port,proto3,oneof" json:"port,omitempty"`
	// contains filtered or unexported fields
}

Probe is the socket labkit's probe server binds: every interface and port 9090 when omitted.

func (*Probe) Descriptor deprecated added in v1.119.0

func (*Probe) Descriptor() ([]byte, []int)

Deprecated: Use Probe.ProtoReflect.Descriptor instead.

func (*Probe) GetHost added in v1.119.0

func (x *Probe) GetHost() string

func (*Probe) GetPort added in v1.119.0

func (x *Probe) GetPort() uint32

func (*Probe) ProtoMessage added in v1.119.0

func (*Probe) ProtoMessage()

func (*Probe) ProtoReflect added in v1.119.0

func (x *Probe) ProtoReflect() protoreflect.Message

func (*Probe) Reset added in v1.119.0

func (x *Probe) Reset()

func (*Probe) String added in v1.119.0

func (x *Probe) String() string

type Protocol added in v1.119.0

type Protocol int32

Protocol is the wire protocol a Listener serves, numbered as in LabBench.

const (
	Protocol_PROTOCOL_UNSPECIFIED Protocol = 0
	Protocol_PROTOCOL_HTTP        Protocol = 1
	Protocol_PROTOCOL_GRPC        Protocol = 2
)

func (Protocol) Descriptor added in v1.119.0

func (Protocol) Descriptor() protoreflect.EnumDescriptor

func (Protocol) Enum added in v1.119.0

func (x Protocol) Enum() *Protocol

func (Protocol) EnumDescriptor deprecated added in v1.119.0

func (Protocol) EnumDescriptor() ([]byte, []int)

Deprecated: Use Protocol.Descriptor instead.

func (Protocol) Number added in v1.119.0

func (x Protocol) Number() protoreflect.EnumNumber

func (Protocol) String added in v1.119.0

func (x Protocol) String() string

func (Protocol) Type added in v1.119.0

type SecretRef added in v1.102.0

type SecretRef struct {

	// Types that are valid to be assigned to Source:
	//
	//	*SecretRef_File
	Source isSecretRef_Source `protobuf_oneof:"source"`
	// contains filtered or unexported fields
}

SecretRef names where a secret's value is read from at start. A config file carries the reference only; the value never enters it. A secret comes from the secrets file or from a reference, never both; pkg/config rejects a required secret that neither supplies.

func (*SecretRef) Descriptor deprecated added in v1.102.0

func (*SecretRef) Descriptor() ([]byte, []int)

Deprecated: Use SecretRef.ProtoReflect.Descriptor instead.

func (*SecretRef) GetFile added in v1.102.0

func (x *SecretRef) GetFile() string

func (*SecretRef) GetSource added in v1.102.0

func (x *SecretRef) GetSource() isSecretRef_Source

func (*SecretRef) ProtoMessage added in v1.102.0

func (*SecretRef) ProtoMessage()

func (*SecretRef) ProtoReflect added in v1.102.0

func (x *SecretRef) ProtoReflect() protoreflect.Message

func (*SecretRef) Reset added in v1.102.0

func (x *SecretRef) Reset()

func (*SecretRef) String added in v1.102.0

func (x *SecretRef) String() string

type SecretRef_File added in v1.102.0

type SecretRef_File struct {
	// Absolute path of a file that holds the value, such as one key of a
	// mounted Kubernetes Secret. Read once at start, surrounding whitespace
	// dropped, must not be empty.
	File string `protobuf:"bytes,1,opt,name=file,proto3,oneof"`
}

type ServiceTokenRefs added in v1.102.0

type ServiceTokenRefs struct {
	ServiceToken     *SecretRef `protobuf:"bytes,1,opt,name=service_token,json=serviceToken,proto3" json:"service_token,omitempty"`
	NextServiceToken *SecretRef `protobuf:"bytes,2,opt,name=next_service_token,json=nextServiceToken,proto3" json:"next_service_token,omitempty"`
	// contains filtered or unexported fields
}

ServiceTokenRefs mirrors ServiceTokens in secrets.proto.

func (*ServiceTokenRefs) Descriptor deprecated added in v1.102.0

func (*ServiceTokenRefs) Descriptor() ([]byte, []int)

Deprecated: Use ServiceTokenRefs.ProtoReflect.Descriptor instead.

func (*ServiceTokenRefs) GetNextServiceToken added in v1.102.0

func (x *ServiceTokenRefs) GetNextServiceToken() *SecretRef

func (*ServiceTokenRefs) GetServiceToken added in v1.102.0

func (x *ServiceTokenRefs) GetServiceToken() *SecretRef

func (*ServiceTokenRefs) ProtoMessage added in v1.102.0

func (*ServiceTokenRefs) ProtoMessage()

func (*ServiceTokenRefs) ProtoReflect added in v1.102.0

func (x *ServiceTokenRefs) ProtoReflect() protoreflect.Message

func (*ServiceTokenRefs) Reset added in v1.102.0

func (x *ServiceTokenRefs) Reset()

func (*ServiceTokenRefs) String added in v1.102.0

func (x *ServiceTokenRefs) String() string

type ServiceTokens

type ServiceTokens struct {

	// sensitive: must never appear in logs or error messages.
	ServiceToken *string `protobuf:"bytes,1,opt,name=service_token,json=serviceToken,proto3,oneof" json:"service_token,omitempty"`
	// sensitive. Accepted alongside service_token during rotation; empty otherwise.
	NextServiceToken *string `protobuf:"bytes,2,opt,name=next_service_token,json=nextServiceToken,proto3,oneof" json:"next_service_token,omitempty"`
	// contains filtered or unexported fields
}

func (*ServiceTokens) Descriptor deprecated

func (*ServiceTokens) Descriptor() ([]byte, []int)

Deprecated: Use ServiceTokens.ProtoReflect.Descriptor instead.

func (*ServiceTokens) GetNextServiceToken

func (x *ServiceTokens) GetNextServiceToken() string

func (*ServiceTokens) GetServiceToken

func (x *ServiceTokens) GetServiceToken() string

func (*ServiceTokens) ProtoMessage

func (*ServiceTokens) ProtoMessage()

func (*ServiceTokens) ProtoReflect

func (x *ServiceTokens) ProtoReflect() protoreflect.Message

func (*ServiceTokens) Reset

func (x *ServiceTokens) Reset()

func (*ServiceTokens) String

func (x *ServiceTokens) String() string

type UserAuth

type UserAuth struct {

	// Issuers whose tokens are accepted. At least one is required: with none, the
	// service would reject every request.
	Issuers []*Issuer `protobuf:"bytes,1,rep,name=issuers,proto3" json:"issuers,omitempty"`
	// Keys URLs must be https: the JWKS they serve decides which tokens are
	// trusted. True also admits http, for local setups only.
	AllowInsecureKeysUrls *bool `` /* 135-byte string literal not displayed */
	// Audiences accepted in the `aud` claim. Checked twice on purpose:
	// pkg/userauth/config.go validates it separately and cannot import these
	// protos, so repeating the set here catches a typo at config load.
	ExpectedAudiences []string `protobuf:"bytes,2,rep,name=expected_audiences,json=expectedAudiences,proto3" json:"expected_audiences,omitempty"`
	// contains filtered or unexported fields
}

UserAuth configures verification of end-user JWTs presented to data-access.

func (*UserAuth) Descriptor deprecated

func (*UserAuth) Descriptor() ([]byte, []int)

Deprecated: Use UserAuth.ProtoReflect.Descriptor instead.

func (*UserAuth) GetAllowInsecureKeysUrls added in v1.122.4

func (x *UserAuth) GetAllowInsecureKeysUrls() bool

func (*UserAuth) GetExpectedAudiences

func (x *UserAuth) GetExpectedAudiences() []string

func (*UserAuth) GetIssuers

func (x *UserAuth) GetIssuers() []*Issuer

func (*UserAuth) ProtoMessage

func (*UserAuth) ProtoMessage()

func (*UserAuth) ProtoReflect

func (x *UserAuth) ProtoReflect() protoreflect.Message

func (*UserAuth) Reset

func (x *UserAuth) Reset()

func (*UserAuth) String

func (x *UserAuth) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL