Documentation
¶
Index ¶
- Variables
- type Assembly
- func (*Assembly) Descriptor() ([]byte, []int)deprecated
- func (x *Assembly) GetDomains() []string
- func (x *Assembly) GetListeners() []*Listener
- func (x *Assembly) GetName() string
- func (x *Assembly) GetProbe() *Probe
- func (*Assembly) ProtoMessage()
- func (x *Assembly) ProtoReflect() protoreflect.Message
- func (x *Assembly) Reset()
- func (x *Assembly) String() string
- type AssemblyConfig
- func (*AssemblyConfig) Descriptor() ([]byte, []int)deprecated
- func (x *AssemblyConfig) GetAssembly() *Assembly
- func (x *AssemblyConfig) GetAuth() *AuthDomain
- func (x *AssemblyConfig) GetDataAccess() *DataAccessDomain
- func (x *AssemblyConfig) GetPlatform() *Platform
- func (x *AssemblyConfig) GetSecrets() *AssemblySecretRefs
- func (x *AssemblyConfig) GetSecretsFile() string
- func (x *AssemblyConfig) GetVersion() int32
- func (*AssemblyConfig) ProtoMessage()
- func (x *AssemblyConfig) ProtoReflect() protoreflect.Message
- func (x *AssemblyConfig) Reset()
- func (x *AssemblyConfig) String() string
- type AssemblySecretRefs
- func (*AssemblySecretRefs) Descriptor() ([]byte, []int)deprecated
- func (x *AssemblySecretRefs) GetDatabase() *DatabaseSecretRefs
- func (x *AssemblySecretRefs) GetOauth() *OauthSecretRefs
- func (x *AssemblySecretRefs) GetOauthProviders() map[string]*OauthClientSecretRefs
- func (x *AssemblySecretRefs) GetServiceTokens() *ServiceTokenRefs
- func (*AssemblySecretRefs) ProtoMessage()
- func (x *AssemblySecretRefs) ProtoReflect() protoreflect.Message
- func (x *AssemblySecretRefs) Reset()
- func (x *AssemblySecretRefs) String() string
- type AssemblySecrets
- func (*AssemblySecrets) Descriptor() ([]byte, []int)deprecated
- func (x *AssemblySecrets) GetDatabase() *DatabaseSecrets
- func (x *AssemblySecrets) GetOauth() *OauthSecrets
- func (x *AssemblySecrets) GetOauthProviders() map[string]*OauthClientCredentials
- func (x *AssemblySecrets) GetServiceTokens() *ServiceTokens
- func (x *AssemblySecrets) GetVersion() int32
- func (*AssemblySecrets) ProtoMessage()
- func (x *AssemblySecrets) ProtoReflect() protoreflect.Message
- func (x *AssemblySecrets) Reset()
- func (x *AssemblySecrets) String() string
- type AuthConfig
- func (*AuthConfig) Descriptor() ([]byte, []int)deprecated
- func (x *AuthConfig) GetBaseUrl() string
- func (x *AuthConfig) GetCors() *Cors
- func (x *AuthConfig) GetGitlabUrl() string
- func (x *AuthConfig) GetGrpcAddress() string
- func (x *AuthConfig) GetHttpAddress() string
- func (x *AuthConfig) GetMetricsAddress() string
- func (x *AuthConfig) GetOauth() *OauthServer
- func (x *AuthConfig) GetOauthClient() *OauthClient
- func (x *AuthConfig) GetPlatform() *Platform
- func (x *AuthConfig) GetSecrets() *AuthSecretRefs
- func (x *AuthConfig) GetSecretsFile() string
- func (x *AuthConfig) GetVersion() int32
- func (*AuthConfig) ProtoMessage()
- func (x *AuthConfig) ProtoReflect() protoreflect.Message
- func (x *AuthConfig) Reset()
- func (x *AuthConfig) String() string
- type AuthDomain
- func (*AuthDomain) Descriptor() ([]byte, []int)deprecated
- func (x *AuthDomain) GetBaseUrl() string
- func (x *AuthDomain) GetGitlabUrl() string
- func (x *AuthDomain) GetOauth() *OauthServer
- func (x *AuthDomain) GetOauthClient() *OauthClient
- func (*AuthDomain) ProtoMessage()
- func (x *AuthDomain) ProtoReflect() protoreflect.Message
- func (x *AuthDomain) Reset()
- func (x *AuthDomain) String() string
- type AuthSecretRefs
- func (*AuthSecretRefs) Descriptor() ([]byte, []int)deprecated
- func (x *AuthSecretRefs) GetDatabase() *DatabaseSecretRefs
- func (x *AuthSecretRefs) GetOauth() *OauthSecretRefs
- func (x *AuthSecretRefs) GetOauthProviders() map[string]*OauthClientSecretRefs
- func (x *AuthSecretRefs) GetServiceTokens() *ServiceTokenRefs
- func (*AuthSecretRefs) ProtoMessage()
- func (x *AuthSecretRefs) ProtoReflect() protoreflect.Message
- func (x *AuthSecretRefs) Reset()
- func (x *AuthSecretRefs) String() string
- type AuthSecrets
- func (*AuthSecrets) Descriptor() ([]byte, []int)deprecated
- func (x *AuthSecrets) GetDatabase() *DatabaseSecrets
- func (x *AuthSecrets) GetOauth() *OauthSecrets
- func (x *AuthSecrets) GetOauthProviders() map[string]*OauthClientCredentials
- func (x *AuthSecrets) GetServiceTokens() *ServiceTokens
- func (x *AuthSecrets) GetVersion() int32
- func (*AuthSecrets) ProtoMessage()
- func (x *AuthSecrets) ProtoReflect() protoreflect.Message
- func (x *AuthSecrets) Reset()
- func (x *AuthSecrets) String() string
- type CellConfig
- type Cors
- func (*Cors) Descriptor() ([]byte, []int)deprecated
- func (x *Cors) GetAllowCredentials() bool
- func (x *Cors) GetAllowedHeaders() []string
- func (x *Cors) GetAllowedMethods() []string
- func (x *Cors) GetAllowedOrigins() []string
- func (x *Cors) GetMaxAge() int32
- func (*Cors) ProtoMessage()
- func (x *Cors) ProtoReflect() protoreflect.Message
- func (x *Cors) Reset()
- func (x *Cors) String() string
- type DataAccessConfig
- func (*DataAccessConfig) Descriptor() ([]byte, []int)deprecated
- func (x *DataAccessConfig) GetAuth() *UserAuth
- func (x *DataAccessConfig) GetGrpcAddress() string
- func (x *DataAccessConfig) GetMetricsAddress() string
- func (x *DataAccessConfig) GetPlatform() *Platform
- func (x *DataAccessConfig) GetSecrets() *DataAccessSecretRefs
- func (x *DataAccessConfig) GetSecretsFile() string
- func (x *DataAccessConfig) GetVersion() int32
- func (*DataAccessConfig) ProtoMessage()
- func (x *DataAccessConfig) ProtoReflect() protoreflect.Message
- func (x *DataAccessConfig) Reset()
- func (x *DataAccessConfig) String() string
- type DataAccessDomain
- type DataAccessSecretRefs
- func (*DataAccessSecretRefs) Descriptor() ([]byte, []int)deprecated
- func (x *DataAccessSecretRefs) GetDatabase() *DatabaseSecretRefs
- func (x *DataAccessSecretRefs) GetServiceTokens() *ServiceTokenRefs
- func (*DataAccessSecretRefs) ProtoMessage()
- func (x *DataAccessSecretRefs) ProtoReflect() protoreflect.Message
- func (x *DataAccessSecretRefs) Reset()
- func (x *DataAccessSecretRefs) String() string
- type DataAccessSecrets
- func (*DataAccessSecrets) Descriptor() ([]byte, []int)deprecated
- func (x *DataAccessSecrets) GetDatabase() *DatabaseSecrets
- func (x *DataAccessSecrets) GetServiceTokens() *ServiceTokens
- func (x *DataAccessSecrets) GetVersion() int32
- func (*DataAccessSecrets) ProtoMessage()
- func (x *DataAccessSecrets) ProtoReflect() protoreflect.Message
- func (x *DataAccessSecrets) Reset()
- func (x *DataAccessSecrets) String() string
- type Database
- func (*Database) Descriptor() ([]byte, []int)deprecated
- func (x *Database) GetDriver() Database_Driver
- func (x *Database) GetEndpoint() *Endpoint
- func (x *Database) GetInfrastructure() *Infrastructure
- func (x *Database) GetMaxConnections() int32
- func (x *Database) GetMinIdleConnections() int32
- func (x *Database) GetSource() isDatabase_Source
- func (x *Database) GetSslMode() Database_SslMode
- func (*Database) ProtoMessage()
- func (x *Database) ProtoReflect() protoreflect.Message
- func (x *Database) Reset()
- func (x *Database) String() string
- type DatabaseSecretRefs
- func (*DatabaseSecretRefs) Descriptor() ([]byte, []int)deprecated
- func (x *DatabaseSecretRefs) GetMigrationPassword() *SecretRef
- func (x *DatabaseSecretRefs) GetMigrationUsername() *SecretRef
- func (x *DatabaseSecretRefs) GetPassword() *SecretRef
- func (x *DatabaseSecretRefs) GetUsername() *SecretRef
- func (*DatabaseSecretRefs) ProtoMessage()
- func (x *DatabaseSecretRefs) ProtoReflect() protoreflect.Message
- func (x *DatabaseSecretRefs) Reset()
- func (x *DatabaseSecretRefs) String() string
- type DatabaseSecrets
- func (*DatabaseSecrets) Descriptor() ([]byte, []int)deprecated
- func (x *DatabaseSecrets) GetMigrationPassword() string
- func (x *DatabaseSecrets) GetMigrationUsername() string
- func (x *DatabaseSecrets) GetPassword() string
- func (x *DatabaseSecrets) GetUsername() string
- func (*DatabaseSecrets) ProtoMessage()
- func (x *DatabaseSecrets) ProtoReflect() protoreflect.Message
- func (x *DatabaseSecrets) Reset()
- func (x *DatabaseSecrets) String() string
- type Database_Driver
- func (Database_Driver) Descriptor() protoreflect.EnumDescriptor
- func (x Database_Driver) Enum() *Database_Driver
- func (Database_Driver) EnumDescriptor() ([]byte, []int)deprecated
- func (x Database_Driver) Number() protoreflect.EnumNumber
- func (x Database_Driver) String() string
- func (Database_Driver) Type() protoreflect.EnumType
- type Database_Endpoint
- type Database_Infrastructure
- type Database_SslMode
- func (Database_SslMode) Descriptor() protoreflect.EnumDescriptor
- func (x Database_SslMode) Enum() *Database_SslMode
- func (Database_SslMode) EnumDescriptor() ([]byte, []int)deprecated
- func (x Database_SslMode) Number() protoreflect.EnumNumber
- func (x Database_SslMode) String() string
- func (Database_SslMode) Type() protoreflect.EnumType
- type Endpoint
- func (*Endpoint) Descriptor() ([]byte, []int)deprecated
- func (x *Endpoint) GetDatabaseName() string
- func (x *Endpoint) GetHost() string
- func (x *Endpoint) GetPoolHost() string
- func (x *Endpoint) GetPoolPort() int32
- func (x *Endpoint) GetPort() int32
- func (*Endpoint) ProtoMessage()
- func (x *Endpoint) ProtoReflect() protoreflect.Message
- func (x *Endpoint) Reset()
- func (x *Endpoint) String() string
- type Grpc
- type Http
- func (*Http) Descriptor() ([]byte, []int)deprecated
- func (x *Http) GetIdleTimeout() *durationpb.Duration
- func (x *Http) GetReadTimeout() *durationpb.Duration
- func (x *Http) GetWriteTimeout() *durationpb.Duration
- func (*Http) ProtoMessage()
- func (x *Http) ProtoReflect() protoreflect.Message
- func (x *Http) Reset()
- func (x *Http) String() string
- type Infrastructure
- func (*Infrastructure) Descriptor() ([]byte, []int)deprecated
- func (x *Infrastructure) GetPath() string
- func (x *Infrastructure) GetSecretsDir() string
- func (*Infrastructure) ProtoMessage()
- func (x *Infrastructure) ProtoReflect() protoreflect.Message
- func (x *Infrastructure) Reset()
- func (x *Infrastructure) String() string
- type Issuer
- type Listener
- func (*Listener) Descriptor() ([]byte, []int)deprecated
- func (x *Listener) GetHost() string
- func (x *Listener) GetName() string
- func (x *Listener) GetPort() uint32
- func (x *Listener) GetProtocol() Protocol
- func (*Listener) ProtoMessage()
- func (x *Listener) ProtoReflect() protoreflect.Message
- func (x *Listener) Reset()
- func (x *Listener) String() string
- type MigrationConfig
- func (*MigrationConfig) Descriptor() ([]byte, []int)deprecated
- func (x *MigrationConfig) GetPlatform() *Platform
- func (x *MigrationConfig) GetSecrets() *MigrationSecretRefs
- func (x *MigrationConfig) GetSecretsFile() string
- func (x *MigrationConfig) GetVersion() int32
- func (*MigrationConfig) ProtoMessage()
- func (x *MigrationConfig) ProtoReflect() protoreflect.Message
- func (x *MigrationConfig) Reset()
- func (x *MigrationConfig) String() string
- type MigrationSecretRefs
- func (*MigrationSecretRefs) Descriptor() ([]byte, []int)deprecated
- func (x *MigrationSecretRefs) GetDatabase() *DatabaseSecretRefs
- func (*MigrationSecretRefs) ProtoMessage()
- func (x *MigrationSecretRefs) ProtoReflect() protoreflect.Message
- func (x *MigrationSecretRefs) Reset()
- func (x *MigrationSecretRefs) String() string
- type MigrationSecrets
- func (*MigrationSecrets) Descriptor() ([]byte, []int)deprecated
- func (x *MigrationSecrets) GetDatabase() *DatabaseSecrets
- func (x *MigrationSecrets) GetVersion() int32
- func (*MigrationSecrets) ProtoMessage()
- func (x *MigrationSecrets) ProtoReflect() protoreflect.Message
- func (x *MigrationSecrets) Reset()
- func (x *MigrationSecrets) String() string
- type OauthClient
- type OauthClientCredentials
- func (*OauthClientCredentials) Descriptor() ([]byte, []int)deprecated
- func (x *OauthClientCredentials) GetClientId() string
- func (x *OauthClientCredentials) GetClientSecret() string
- func (*OauthClientCredentials) ProtoMessage()
- func (x *OauthClientCredentials) ProtoReflect() protoreflect.Message
- func (x *OauthClientCredentials) Reset()
- func (x *OauthClientCredentials) String() string
- type OauthClientSecretRefs
- func (*OauthClientSecretRefs) Descriptor() ([]byte, []int)deprecated
- func (x *OauthClientSecretRefs) GetClientId() *SecretRef
- func (x *OauthClientSecretRefs) GetClientSecret() *SecretRef
- func (*OauthClientSecretRefs) ProtoMessage()
- func (x *OauthClientSecretRefs) ProtoReflect() protoreflect.Message
- func (x *OauthClientSecretRefs) Reset()
- func (x *OauthClientSecretRefs) String() string
- type OauthProvider
- func (*OauthProvider) Descriptor() ([]byte, []int)deprecated
- func (x *OauthProvider) GetAuthUrl() string
- func (x *OauthProvider) GetIssuer() string
- func (x *OauthProvider) GetScopes() []string
- func (x *OauthProvider) GetTokenUrl() string
- func (x *OauthProvider) GetUserInfoUrl() string
- func (*OauthProvider) ProtoMessage()
- func (x *OauthProvider) ProtoReflect() protoreflect.Message
- func (x *OauthProvider) Reset()
- func (x *OauthProvider) String() string
- type OauthSecretRefs
- func (*OauthSecretRefs) Descriptor() ([]byte, []int)deprecated
- func (x *OauthSecretRefs) GetHmacSecret() *SecretRef
- func (x *OauthSecretRefs) GetSigningKey() *SecretRef
- func (*OauthSecretRefs) ProtoMessage()
- func (x *OauthSecretRefs) ProtoReflect() protoreflect.Message
- func (x *OauthSecretRefs) Reset()
- func (x *OauthSecretRefs) String() string
- type OauthSecrets
- func (*OauthSecrets) Descriptor() ([]byte, []int)deprecated
- func (x *OauthSecrets) GetHmacSecret() string
- func (x *OauthSecrets) GetSigningKey() string
- func (*OauthSecrets) ProtoMessage()
- func (x *OauthSecrets) ProtoReflect() protoreflect.Message
- func (x *OauthSecrets) Reset()
- func (x *OauthSecrets) String() string
- type OauthServer
- func (*OauthServer) Descriptor() ([]byte, []int)deprecated
- func (x *OauthServer) GetAccessTokenAudience() string
- func (x *OauthServer) GetCells() []*CellConfig
- func (x *OauthServer) GetConsentUrl() string
- func (x *OauthServer) GetDynamicClientOrganizationId() string
- func (x *OauthServer) GetIssuer() string
- func (x *OauthServer) GetJwksCacheDuration() *durationpb.Duration
- func (x *OauthServer) GetLoginUrl() string
- func (x *OauthServer) GetUserInfoUrl() string
- func (*OauthServer) ProtoMessage()
- func (x *OauthServer) ProtoReflect() protoreflect.Message
- func (x *OauthServer) Reset()
- func (x *OauthServer) String() string
- type Platform
- func (*Platform) Descriptor() ([]byte, []int)deprecated
- func (x *Platform) GetCors() *Cors
- func (x *Platform) GetDatabase() *Database
- func (x *Platform) GetGrpc() *Grpc
- func (x *Platform) GetHttp() *Http
- func (*Platform) ProtoMessage()
- func (x *Platform) ProtoReflect() protoreflect.Message
- func (x *Platform) Reset()
- func (x *Platform) String() string
- type Probe
- type Protocol
- type SecretRef
- type SecretRef_File
- type ServiceTokenRefs
- func (*ServiceTokenRefs) Descriptor() ([]byte, []int)deprecated
- func (x *ServiceTokenRefs) GetNextServiceToken() *SecretRef
- func (x *ServiceTokenRefs) GetServiceToken() *SecretRef
- func (*ServiceTokenRefs) ProtoMessage()
- func (x *ServiceTokenRefs) ProtoReflect() protoreflect.Message
- func (x *ServiceTokenRefs) Reset()
- func (x *ServiceTokenRefs) String() string
- type ServiceTokens
- func (*ServiceTokens) Descriptor() ([]byte, []int)deprecated
- func (x *ServiceTokens) GetNextServiceToken() string
- func (x *ServiceTokens) GetServiceToken() string
- func (*ServiceTokens) ProtoMessage()
- func (x *ServiceTokens) ProtoReflect() protoreflect.Message
- func (x *ServiceTokens) Reset()
- func (x *ServiceTokens) String() string
- type UserAuth
- func (*UserAuth) Descriptor() ([]byte, []int)deprecated
- func (x *UserAuth) GetAllowInsecureKeysUrls() bool
- func (x *UserAuth) GetExpectedAudiences() []string
- func (x *UserAuth) GetIssuers() []*Issuer
- func (*UserAuth) ProtoMessage()
- func (x *UserAuth) ProtoReflect() protoreflect.Message
- func (x *UserAuth) Reset()
- func (x *UserAuth) String() string
Constants ¶
This section is empty.
Variables ¶
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.
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.
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.
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.
var File_proto_config_assembly_proto protoreflect.FileDescriptor
var File_proto_config_auth_proto protoreflect.FileDescriptor
var File_proto_config_common_proto protoreflect.FileDescriptor
var File_proto_config_dataaccess_proto protoreflect.FileDescriptor
var File_proto_config_migration_proto protoreflect.FileDescriptor
var File_proto_config_rules_proto protoreflect.FileDescriptor
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) GetDomains ¶ added in v1.119.0
func (*Assembly) GetListeners ¶ added in v1.119.0
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
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) GetAllowCredentials ¶
func (*Cors) GetAllowedHeaders ¶
func (*Cors) GetAllowedMethods ¶
func (*Cors) GetAllowedOrigins ¶
func (*Cors) ProtoMessage ¶
func (*Cors) ProtoMessage()
func (*Cors) ProtoReflect ¶
func (x *Cors) ProtoReflect() protoreflect.Message
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) GetDriver ¶
func (x *Database) GetDriver() Database_Driver
func (*Database) GetEndpoint ¶
func (*Database) GetInfrastructure ¶
func (x *Database) GetInfrastructure() *Infrastructure
func (*Database) GetMaxConnections ¶ added in v1.43.0
func (*Database) GetMinIdleConnections ¶ added in v1.43.0
func (*Database) GetSslMode ¶
func (x *Database) GetSslMode() Database_SslMode
func (*Database) ProtoMessage ¶
func (*Database) ProtoMessage()
func (*Database) ProtoReflect ¶
func (x *Database) ProtoReflect() protoreflect.Message
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) Descriptor() protoreflect.EnumDescriptor
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 (x Database_Driver) Number() protoreflect.EnumNumber
func (Database_Driver) String ¶
func (x Database_Driver) String() string
func (Database_Driver) Type ¶
func (Database_Driver) Type() protoreflect.EnumType
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) Descriptor() protoreflect.EnumDescriptor
func (Database_SslMode) Enum ¶
func (x Database_SslMode) Enum() *Database_SslMode
func (Database_SslMode) EnumDescriptor
deprecated
func (Database_SslMode) EnumDescriptor() ([]byte, []int)
Deprecated: Use Database_SslMode.Descriptor instead.
func (Database_SslMode) Number ¶
func (x Database_SslMode) Number() protoreflect.EnumNumber
func (Database_SslMode) String ¶
func (x Database_SslMode) String() string
func (Database_SslMode) Type ¶
func (Database_SslMode) Type() protoreflect.EnumType
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) GetDatabaseName ¶
func (*Endpoint) GetPoolHost ¶ added in v1.120.0
func (*Endpoint) GetPoolPort ¶ added in v1.120.0
func (*Endpoint) ProtoMessage ¶
func (*Endpoint) ProtoMessage()
func (*Endpoint) ProtoReflect ¶
func (x *Endpoint) ProtoReflect() protoreflect.Message
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) GetEnableReflection ¶
func (*Grpc) ProtoMessage ¶
func (*Grpc) ProtoMessage()
func (*Grpc) ProtoReflect ¶
func (x *Grpc) ProtoReflect() protoreflect.Message
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) 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
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) GetKeysUrl ¶
func (*Issuer) ProtoMessage ¶
func (*Issuer) ProtoMessage()
func (*Issuer) ProtoReflect ¶
func (x *Issuer) ProtoReflect() protoreflect.Message
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) GetProtocol ¶ added in v1.119.0
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
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) GetDatabase ¶
func (*Platform) ProtoMessage ¶
func (*Platform) ProtoMessage()
func (*Platform) ProtoReflect ¶
func (x *Platform) ProtoReflect() protoreflect.Message
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) ProtoMessage ¶ added in v1.119.0
func (*Probe) ProtoMessage()
func (*Probe) ProtoReflect ¶ added in v1.119.0
func (x *Probe) ProtoReflect() protoreflect.Message
type Protocol ¶ added in v1.119.0
type Protocol int32
Protocol is the wire protocol a Listener serves, numbered as in LabBench.
func (Protocol) Descriptor ¶ added in v1.119.0
func (Protocol) Descriptor() protoreflect.EnumDescriptor
func (Protocol) EnumDescriptor
deprecated
added in
v1.119.0
func (Protocol) Number ¶ added in v1.119.0
func (x Protocol) Number() protoreflect.EnumNumber
func (Protocol) Type ¶ added in v1.119.0
func (Protocol) Type() protoreflect.EnumType
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) ProtoMessage ¶ added in v1.102.0
func (*SecretRef) ProtoMessage()
func (*SecretRef) ProtoReflect ¶ added in v1.102.0
func (x *SecretRef) ProtoReflect() protoreflect.Message
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) GetAllowInsecureKeysUrls ¶ added in v1.122.4
func (*UserAuth) GetExpectedAudiences ¶
func (*UserAuth) GetIssuers ¶
func (*UserAuth) ProtoMessage ¶
func (*UserAuth) ProtoMessage()
func (*UserAuth) ProtoReflect ¶
func (x *UserAuth) ProtoReflect() protoreflect.Message