Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the config v1alpha1 API group +kubebuilder:object:generate=true +groupName=config.rig.dev
Index ¶
- Constants
- Variables
- type Auth
- type CapsuleMatch
- type CapsuleStep
- type Client
- type ClientDocker
- type ClientGit
- type ClientMailjet
- type ClientOperator
- type ClientPostgres
- type ClientSMTP
- type ClientSlack
- type Cluster
- type ClusterGit
- type ClusterType
- type CustomPlugin
- type DevRegistry
- type DockerRegistryCredentials
- type Email
- type EmailType
- type GitAuth
- type GitAuthor
- type GitCredentials
- type GitTemplates
- type HTTPSCredential
- type Logging
- type OIDCProvider
- type OIDCProviderIcon
- type OperatorConfig
- type PathPrefixes
- type Pipeline
- type PlatformConfig
- type Plugin
- type PrometheusServiceMonitor
- type Repository
- type SSHCredential
- type SSO
- type Step
- type VerticalPodAutoscaler
Constants ¶
const ( // EmailTypeNoEmail disables mail sending. EmailTypeNoEmail = "" // EmailTypeMailjet uses the mailjet API for sending emails. EmailTypeMailjet = "mailjet" // EmailTypeSMTP uses regular SMTP for sending emails. EmailTypeSMTP = "smtp" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "config.rig.dev", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type Auth ¶ added in v1.5.0
type Auth struct {
// Secret specifies a secret which will be used for jwt signatures.
Secret string `json:"secret,omitempty"`
// CertificateFile specifies a path to a PEM encoded certificate file which
// will be used for validating jwt signatures.
CertificateFile string `json:"certificateFile,omitempty"`
// CertificateKeyFile specifies a path to a PEM encoded certificate key
// which will be used for jwt signatures.
CertificateKeyFile string `json:"certificateKeyFile,omitempty"`
// DisablePasswords disables password authentication. This makes sense if
// you want to require SSO, as login method.
DisablePasswords bool `json:"disablePasswords,omitempty"`
// SSO specifies single sign on configuration.
SSO SSO `json:"sso,omitempty"`
// AllowRegister specifies if users are allowed to register new accounts.
AllowRegister bool `json:"allowRegister,omitempty"`
// IsVerified specifies if users are required to verify their email address.
RequireVerification bool `json:"requireVerification,omitempty"`
// SendWelcomeEmail specifies if a welcome email should be sent to new users.
// This will use the default email config
SendWelcomeEmail bool `json:"sendWelcomeEmail,omitempty"`
}
Auth specifies authentication configuration.
func (*Auth) DeepCopy ¶ added in v1.5.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Auth.
func (*Auth) DeepCopyInto ¶ added in v1.5.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CapsuleMatch ¶ added in v1.8.14
type CapsuleMatch struct {
// If set, only capsules in one of the namespaces given will have this step run.
Namespaces []string `json:"namespaces,omitempty"`
// If set, only execute the plugin on the capsules specified.
Names []string `json:"names,omitempty"`
// If set, only execute the plugin on the capsules matching the annotations.
Annotations map[string]string `json:"annotations,omitempty"`
// If set, will enable the step for the Rig platform which is a Capsule as well
EnableForPlatform bool `json:"enableForPlatform,omitempty"`
}
func (*CapsuleMatch) DeepCopy ¶ added in v1.8.14
func (in *CapsuleMatch) DeepCopy() *CapsuleMatch
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapsuleMatch.
func (*CapsuleMatch) DeepCopyInto ¶ added in v1.8.14
func (in *CapsuleMatch) DeepCopyInto(out *CapsuleMatch)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CapsuleStep ¶ added in v1.9.0
type CapsuleStep struct {
// The plugin to use for handling the capsule step.
// fx. "rigdev.ingress_routes" for routesStep will create an ingress resource per route.
// fx. "rigdev.deployment" for deploymentStep will use the default deployment plugin.
Plugin string `json:"plugin,omitempty"`
// Config is a string defining the plugin-specific configuration of the plugin.
Config string `json:"config,omitempty"`
}
func (*CapsuleStep) DeepCopy ¶ added in v1.9.0
func (in *CapsuleStep) DeepCopy() *CapsuleStep
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapsuleStep.
func (*CapsuleStep) DeepCopyInto ¶ added in v1.9.0
func (in *CapsuleStep) DeepCopyInto(out *CapsuleStep)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Client ¶ added in v1.5.0
type Client struct {
// Postgres holds configuration for the postgres client.
Postgres ClientPostgres `json:"postgres,omitempty"`
// Docker sets the host for the Docker client.
Docker ClientDocker `json:"docker,omitempty"`
// Deprecated: use 'client.mailjets' instead.
// Mailjet sets the API key and secret for the Mailjet client.
Mailjet ClientMailjet `json:"mailjet,omitempty"`
// Mailjets holds configuration for multiple mailjet clients.
// The key is the id of the client, which should be unique across Mailjet and SMTP clients.
Mailjets map[string]ClientMailjet `json:"mailjets,omitempty"`
// Deprecated: use 'client.smtps' instead.
// SMTP sets the host, port, username and password for the SMTP client.
SMTP ClientSMTP `json:"smtp,omitempty"`
// SMTPs holds configuration for muliple SMTP clients.
// The key is the id of the client, which should be unique across Mailjet and SMTP clients.
SMTPs map[string]ClientSMTP `json:"smtps,omitempty"`
// Operator sets the base url for the Operator client.
Operator ClientOperator `json:"operator,omitempty"`
// Slack holds configuration for sending slack messages. The key is the id of the client.
// For example the workspace in which the app is installed
Slack map[string]ClientSlack `json:"slack,omitempty"`
// Git client configuration for communicating with multiple repositories.
Git ClientGit `json:"git,omitempty"`
}
Client holds various client configuration
func (*Client) DeepCopy ¶ added in v1.5.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Client.
func (*Client) DeepCopyInto ¶ added in v1.5.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClientDocker ¶ added in v1.5.0
type ClientDocker struct {
// Host where the docker daemon can be reached.
Host string `json:"host,omitempty"`
}
ClientDocker specifies the configuration for the docker client.
func (*ClientDocker) DeepCopy ¶ added in v1.5.0
func (in *ClientDocker) DeepCopy() *ClientDocker
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientDocker.
func (*ClientDocker) DeepCopyInto ¶ added in v1.5.0
func (in *ClientDocker) DeepCopyInto(out *ClientDocker)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClientGit ¶ added in v1.9.1
type ClientGit struct {
// Auths the git client can behave as.
Auths []GitAuth `json:"auths,omitempty"`
// Author used when creating commits.
Author GitAuthor `json:"author,omitempty"`
}
func (*ClientGit) DeepCopy ¶ added in v1.9.1
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientGit.
func (*ClientGit) DeepCopyInto ¶ added in v1.9.1
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClientMailjet ¶ added in v1.5.0
type ClientMailjet struct {
// APIKey is the mailjet API key
APIKey string `json:"apiKey,omitempty"`
// SecretKey is the mailjet secret key
SecretKey string `json:"secretKey,omitempty"`
}
ClientMailjet specifes the configuration for the mailjet client.
func (*ClientMailjet) DeepCopy ¶ added in v1.5.0
func (in *ClientMailjet) DeepCopy() *ClientMailjet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientMailjet.
func (*ClientMailjet) DeepCopyInto ¶ added in v1.5.0
func (in *ClientMailjet) DeepCopyInto(out *ClientMailjet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClientOperator ¶ added in v1.5.0
type ClientOperator struct {
// BaseURL is the URL used to connect to the operator API
BaseURL string `json:"baseUrl,omitempty"`
}
ClientOperator specifies the configuration for the operator client.
func (*ClientOperator) DeepCopy ¶ added in v1.5.0
func (in *ClientOperator) DeepCopy() *ClientOperator
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientOperator.
func (*ClientOperator) DeepCopyInto ¶ added in v1.5.0
func (in *ClientOperator) DeepCopyInto(out *ClientOperator)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClientPostgres ¶ added in v1.5.0
type ClientPostgres struct {
// User is the database user used when connecting to the postgres database.
User string `json:"user,omitempty"`
// Password is the password used when connecting to the postgres database.
Password string `json:"password,omitempty"`
// Host is the host where the postgres database can be reached.
Host string `json:"host,omitempty"`
// Port is the port of the postgres database server.
Port int `json:"port,omitempty"`
// Database in the postgres server to use
Database string `json:"database,omitempty"`
// Insecure is wether to use SSL when connecting to the postgres server
Insecure bool `json:"insecure,omitempty"`
}
ClientPostgres specifies the configuration for the postgres client.
func (*ClientPostgres) DeepCopy ¶ added in v1.5.0
func (in *ClientPostgres) DeepCopy() *ClientPostgres
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientPostgres.
func (*ClientPostgres) DeepCopyInto ¶ added in v1.5.0
func (in *ClientPostgres) DeepCopyInto(out *ClientPostgres)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClientSMTP ¶ added in v1.5.0
type ClientSMTP struct {
// Host is the SMTP server host.
Host string `json:"host,omitempty"`
// Port is the SMTP server port to use.
Port int `json:"port,omitempty"`
// Username used when connecting to the SMTP server.
Username string `json:"username,omitempty"`
// Password used when connecting to the SMTP server.
Password string `json:"password,omitempty"`
}
ClientSMTP specifies the configuration for the SMTP client.
func (*ClientSMTP) DeepCopy ¶ added in v1.5.0
func (in *ClientSMTP) DeepCopy() *ClientSMTP
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientSMTP.
func (*ClientSMTP) DeepCopyInto ¶ added in v1.5.0
func (in *ClientSMTP) DeepCopyInto(out *ClientSMTP)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClientSlack ¶ added in v1.9.0
type ClientSlack struct {
// Slack authentication token.
Token string `json:"token,omitempty"`
}
func (*ClientSlack) DeepCopy ¶ added in v1.9.0
func (in *ClientSlack) DeepCopy() *ClientSlack
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientSlack.
func (*ClientSlack) DeepCopyInto ¶ added in v1.9.0
func (in *ClientSlack) DeepCopyInto(out *ClientSlack)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Cluster ¶ added in v1.5.0
type Cluster struct {
// URL to communicate to the cluster. If set, a Token and CertificateAuthority should
// be provided as well.
// If not set, the cluster is interpreted to be the cluster in which the platform runs.
URL string `json:"url,omitempty"`
// Token for communicating with the cluster. Available through a service-account's secret.
Token string `json:"token,omitempty"`
// Certificate authority for communicating with the cluster. Available through a service-account's secret.
CertificateAuthority string `json:"certificateAuthority,omitempty"`
// Type of the cluster - either `docker` or `k8s`.
Type ClusterType `json:"type,omitempty"`
// DevRegistry configuration
DevRegistry DevRegistry `json:"devRegistry,omitempty"`
// Git sets up gitops write back for this cluster.
Git ClusterGit `json:"git,omitempty"`
// If set, secrets will be created if needed, for pulling images.
CreatePullSecrets *bool `json:"createPullSecrets,omitempty"`
}
Cluster specifies cluster configuration
func (*Cluster) DeepCopy ¶ added in v1.5.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cluster.
func (*Cluster) DeepCopyInto ¶ added in v1.5.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterGit ¶ added in v1.5.0
type ClusterGit struct {
// URL is the git repository URL.
URL string `json:"url,omitempty"`
// Branch to commit changes to.
Branch string `json:"branch,omitempty"`
// PathPrefix path to commit to in git repository.
// Deprecated: Use `pathPrefixes` instead.
PathPrefix string `json:"pathPrefix,omitempty"`
// PathPrefixes path to commit to in git repository
PathPrefixes PathPrefixes `json:"pathPrefixes,omitempty"`
// Templates used for commit messages.
Templates GitTemplates `json:"templates,omitempty"`
// Credentials to use when connecting to git.
// Deprecated: Use `client.git.auths` instead.
Credentials GitCredentials `json:"credentials,omitempty"`
// Author used when creating commits.
// Deprecated: Use `client.git.author` instead.
Author GitAuthor `json:"author,omitempty"`
}
ClusterGit specifies configuration for git integration. This can be used to tie rig into a gitops setup.
func (*ClusterGit) DeepCopy ¶ added in v1.5.0
func (in *ClusterGit) DeepCopy() *ClusterGit
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterGit.
func (*ClusterGit) DeepCopyInto ¶ added in v1.5.0
func (in *ClusterGit) DeepCopyInto(out *ClusterGit)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterType ¶ added in v1.5.0
type ClusterType string
ClusterType is a cluster type.
const ( // ClusterTypeDocker is the docker cluster type. ClusterTypeDocker ClusterType = "docker" // ClusterTypeKubernetes is the kubernetes cluster type. ClusterTypeKubernetes ClusterType = "k8s" )
type CustomPlugin ¶ added in v1.7.2
type CustomPlugin struct {
// The container image which supplies the plugins
Image string `json:"image"`
}
func (*CustomPlugin) DeepCopy ¶ added in v1.7.2
func (in *CustomPlugin) DeepCopy() *CustomPlugin
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomPlugin.
func (*CustomPlugin) DeepCopyInto ¶ added in v1.7.2
func (in *CustomPlugin) DeepCopyInto(out *CustomPlugin)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DevRegistry ¶ added in v1.5.0
type DevRegistry struct {
// Host is the host used in image names when pushing to the registry from
// outside of the cluster.
Host string `json:"host,omitempty"`
// ClusterHost is the host where the registry can be reached from within
// the cluster. Any image which is named after `Host` will be rename to use
// `ClusterHost` instead. This ensures that the image can be pulled from
// within the cluster.
ClusterHost string `json:"clusterHost,omitempty"`
}
DevRegistry specifies configuration for the dev registry support.
func (*DevRegistry) DeepCopy ¶ added in v1.5.0
func (in *DevRegistry) DeepCopy() *DevRegistry
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DevRegistry.
func (*DevRegistry) DeepCopyInto ¶ added in v1.5.0
func (in *DevRegistry) DeepCopyInto(out *DevRegistry)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DockerRegistryCredentials ¶ added in v1.10.1
type DockerRegistryCredentials struct {
// Username for the docker registry.
Username string `json:"username,omitempty"`
// Password for the docker registry.
Password string `json:"password,omitempty"`
// Email for the docker registry.
Email string `json:"email,omitempty"`
}
func (*DockerRegistryCredentials) DeepCopy ¶ added in v1.10.1
func (in *DockerRegistryCredentials) DeepCopy() *DockerRegistryCredentials
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DockerRegistryCredentials.
func (*DockerRegistryCredentials) DeepCopyInto ¶ added in v1.10.1
func (in *DockerRegistryCredentials) DeepCopyInto(out *DockerRegistryCredentials)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Email ¶ added in v1.5.0
type Email struct {
// ID is the specified id an email configuration.
ID string `json:"id,omitempty"`
// From is who is set as the sender of rig emails.
From string `json:"from,omitempty"`
// Deprecated: ID for an email configuration is used instead.
Type EmailType `json:"type,omitempty"`
}
Email holds configuration for sending emails. Either using mailjet or using SMTP
func (*Email) DeepCopy ¶ added in v1.5.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Email.
func (*Email) DeepCopyInto ¶ added in v1.5.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EmailType ¶ added in v1.5.0
type EmailType string
EmailType represents a type of mailing provider
type GitAuth ¶ added in v1.9.1
type GitAuth struct {
// URL is a exact match for the repo-url this auth can be used for.
URL string `json:"url,omitempty"`
// URLPrefix is a prefix-match for the repo urls this auth can be used for.
URLPrefix string `json:"urlPrefix,omitempty"`
// WebHookSecret is the secret used to validate incoming webhooks.
WebHookSecret string `json:"webHookSecret,omitempty"`
// Credentials to use when connecting to git.
Credentials GitCredentials `json:"credentials,omitempty"`
}
func (*GitAuth) DeepCopy ¶ added in v1.9.1
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitAuth.
func (*GitAuth) DeepCopyInto ¶ added in v1.9.1
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitAuthor ¶ added in v1.5.0
type GitAuthor struct {
// Name of author
Name string `json:"name,omitempty"`
// Email of author
Email string `json:"email,omitempty"`
}
GitAuthor specifies a git commit author
func (*GitAuthor) DeepCopy ¶ added in v1.5.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitAuthor.
func (*GitAuthor) DeepCopyInto ¶ added in v1.5.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitCredentials ¶ added in v1.5.0
type GitCredentials struct {
// HTTPS specifies basic auth credentials.
HTTPS HTTPSCredential `json:"https,omitempty"`
// SSH specifies SSH credentials.
SSH SSHCredential `json:"ssh,omitempty"`
}
GitCredentials specifies how to authenticate against git.
func (*GitCredentials) DeepCopy ¶ added in v1.5.0
func (in *GitCredentials) DeepCopy() *GitCredentials
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitCredentials.
func (*GitCredentials) DeepCopyInto ¶ added in v1.5.0
func (in *GitCredentials) DeepCopyInto(out *GitCredentials)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitTemplates ¶ added in v1.5.0
type GitTemplates struct {
// Rollout specifies the template used for rollout commits.
Rollout string `json:"rollout,omitempty"`
// Delete specifies the template used for delete commits.
Delete string `json:"delete,omitempty"`
}
GitTemplates specifies the templates used for creating commits.
func (*GitTemplates) DeepCopy ¶ added in v1.5.0
func (in *GitTemplates) DeepCopy() *GitTemplates
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitTemplates.
func (*GitTemplates) DeepCopyInto ¶ added in v1.5.0
func (in *GitTemplates) DeepCopyInto(out *GitTemplates)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPSCredential ¶ added in v1.5.0
type HTTPSCredential struct {
// Username is the basic auth user name
Username string `json:"username,omitempty"`
// Password is the basic auth password
Password string `json:"password,omitempty"`
}
HTTPSCredential specifies basic auth credentials
func (*HTTPSCredential) DeepCopy ¶ added in v1.5.0
func (in *HTTPSCredential) DeepCopy() *HTTPSCredential
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPSCredential.
func (*HTTPSCredential) DeepCopyInto ¶ added in v1.5.0
func (in *HTTPSCredential) DeepCopyInto(out *HTTPSCredential)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Logging ¶ added in v1.5.0
type Logging struct {
// DevModeEnabled enables verbose logs and changes the logging format to be
// more human readable.
DevMode bool `json:"devMode,omitempty"`
// Level sets the granularity of logging.
Level zapcore.Level `json:"level,omitempty"`
}
Logging specifies logging configuration.
func (*Logging) DeepCopy ¶ added in v1.5.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Logging.
func (*Logging) DeepCopyInto ¶ added in v1.5.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OIDCProvider ¶ added in v1.5.3
type OIDCProvider struct {
// Name is a human-readable name of the provider. If set this will be used
// instead of the provider id (the key in
// `PlatformConfig.Auth.SSO.OIDCProviders`)
Name string `json:"name,omitempty"`
// IssuerURL is the URL for the OIDC issuer endpoint.
IssuerURL string `json:"issuerURL,omitempty"`
// ClientID is the OAuth client ID.
ClientID string `json:"clientID,omitempty"`
// ClientSecret is the OAuth client secret.
ClientSecret string `json:"clientSecret,omitempty"`
// AllowedDomains is a list of email domains to allow. If left empty any
// successful authentication on the provider is allowed.
AllowedDomains []string `json:"allowedDomains,omitempty"`
// Scopes is a list of additional scopes other than `openid`, `email` and
// `profile`.
Scopes []string `json:"scopes"`
// GroupsClaim is the path to a claim in the JWT containing a string or
// list of strings of group names.
GroupsClaim string `json:"groupsClaim,omitempty"`
// DisableJITGroups disables creation of groups found through OIDC in rig.
DisableJITGroups *bool `json:"disableJITGroups,omitempty"`
// GroupMapping is a mapping from OIDC provided group names to group names
// used in rig. If an OIDC provided group name is not provided in this
// mapping we will use the OIDC provided groupname in rig.
GroupMapping map[string]string `json:"groupMapping,omitempty"`
// Icon is what icon to show for this provider.
Icon OIDCProviderIcon `json:"icon,omitempty"`
// DisableUserMerging disallows merging their OIDC account with an existing user in rig.
// This effectively means, that if a user is created using OIDC, then it can only login
// using that OIDC provider.
DisableUserMerging *bool `json:"disableUserMerging,omitempty"`
}
OIDCProvider specifies an OIDC provider.
func (*OIDCProvider) DeepCopy ¶ added in v1.5.3
func (in *OIDCProvider) DeepCopy() *OIDCProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OIDCProvider.
func (*OIDCProvider) DeepCopyInto ¶ added in v1.5.3
func (in *OIDCProvider) DeepCopyInto(out *OIDCProvider)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OIDCProviderIcon ¶ added in v1.6.2
type OIDCProviderIcon string
OIDCProviderIcon is a string representing what provider icon should be shown on the login page. Valid options: "google", "azure", "aws", "facebook", "keycloak".
const ( OIDCProviderIconGoogle OIDCProviderIcon = "google" OIDCProviderIconAzure OIDCProviderIcon = "azure" OIDCProviderIconAWS OIDCProviderIcon = "aws" OIDCProviderIconFacebook OIDCProviderIcon = "facebook" OIDCProviderIconKeycloak OIDCProviderIcon = "keycloak" )
type OperatorConfig ¶
type OperatorConfig struct {
metav1.TypeMeta `json:",inline"`
// WebhooksEnabled sets wether or not webhooks should be enabled. When
// enabled a certificate should be mounted at the webhook server
// certificate path. Defaults to true if omitted.
WebhooksEnabled *bool `json:"webhooksEnabled,omitempty"`
// DevModeEnabled enables verbose logs and changes the logging format to be
// more human readable.
DevModeEnabled bool `json:"devModeEnabled,omitempty"`
// LeaderElectionEnabled enables leader election when running multiple
// instances of the operator.
LeaderElectionEnabled *bool `json:"leaderElectionEnabled,omitempty"`
// Pipeline defines the capsule controller pipeline
Pipeline Pipeline `json:"pipeline,omitempty"`
}
OperatorConfig is the Schema for the operator config API +kubebuilder:object:root=true
func (*OperatorConfig) DeepCopy ¶
func (in *OperatorConfig) DeepCopy() *OperatorConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatorConfig.
func (*OperatorConfig) DeepCopyInto ¶
func (in *OperatorConfig) DeepCopyInto(out *OperatorConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OperatorConfig) DeepCopyObject ¶
func (in *OperatorConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*OperatorConfig) Default ¶
func (c *OperatorConfig) Default() *OperatorConfig
type PathPrefixes ¶ added in v1.8.2
type PathPrefixes struct {
Capsule string `json:"capsule,omitempty"`
Project string `json:"project,omitempty"`
}
PathPrefixes is the (possibly templated) path prefix to commit to in git repository depending on which resource is being written.
func (*PathPrefixes) DeepCopy ¶ added in v1.8.2
func (in *PathPrefixes) DeepCopy() *PathPrefixes
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathPrefixes.
func (*PathPrefixes) DeepCopyInto ¶ added in v1.8.2
func (in *PathPrefixes) DeepCopyInto(out *PathPrefixes)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Pipeline ¶ added in v1.7.2
type Pipeline struct {
// How to handle the service account step of capsules in the cluster.
// Defaults to rigdev.service_account.
ServiceAccountStep CapsuleStep `json:"serviceAccountStep,omitempty"`
// How to handle the deployment step of capsules in the cluster.
// Defaults to rigdev.deployment.
DeploymentStep CapsuleStep `json:"deploymentStep,omitempty"`
// How to handle the routes for capsules in the cluster.
// If left empty, routes will not be handled.
RoutesStep CapsuleStep `json:"routesStep,omitempty"`
// How to handle the cronjob step of capsules in the cluster.
// Defaults to rigdev.cron_jobs
CronJobsStep CapsuleStep `json:"cronJobsStep,omitempty"`
// How to handle the VPA step of capsules in the cluster.
// If left empty, no VPAs will be created.
VPAStep CapsuleStep `json:"vpaStep,omitempty"`
// How to handle the service monitor step of capsules in the cluster.
// If left empty, no service monitors will be created.
// rigdev.service_monitor plugin spawns a Prometheus ServiceMonitor per capsule
// for use with a Prometheus Operator stack.
ServiceMonitorStep CapsuleStep `json:"serviceMonitorStep,omitempty"`
// Steps to perform as part of running the operator.
// +patchStrategy=merge
Steps []Step `json:"steps,omitempty"`
// CustomPlugins enables custom plugins to be injected into the
// operator. The plugins injected here can then be referenced in 'steps'
CustomPlugins []CustomPlugin `json:"customPlugins,omitempty"`
}
func (*Pipeline) DeepCopy ¶ added in v1.7.2
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Pipeline.
func (*Pipeline) DeepCopyInto ¶ added in v1.7.2
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PlatformConfig ¶ added in v1.5.0
type PlatformConfig struct {
metav1.TypeMeta `json:",inline"`
// Port sets the port the platform should listen on
Port int `json:"port,omitempty"`
// PublicUrl sets the public url for the platform. This is used for
// generating urls for the platform when using oauth2.
PublicURL string `json:"publicURL,omitempty"`
// TelemetryEnabled specifies wether or not we are allowed to collect usage
// data. Defaults to true.
TelemetryEnabled bool `json:"telemetryEnabled,omitempty"`
// Auth holds authentication configuration.
Auth Auth `json:"auth,omitempty"`
// Client holds configuration for clients used in the platform.
Client Client `json:"client,omitempty"`
// Repository specifies the type of db to use along with secret key
Repository Repository `json:"repository,omitempty"`
// Cluster holds cluster specific configuration
// Deprecated: Use `clusters` instead.
Cluster Cluster `json:"cluster,omitempty"`
// Email holds the default configuration for sending emails. Either using mailjet or using SMTP.
Email Email `json:"email,omitempty"`
// Logging holds information about the granularity of logging
Logging Logging `json:"logging,omitempty"`
// Clusters the platform has access to.
Clusters map[string]Cluster `json:"clusters,omitempty"`
// DockerRegistries holds configuration for multiple docker registries. The key is the host of the registry
DockerRegistries map[string]DockerRegistryCredentials `json:"dockerRegistries,omitempty"`
}
PlatformConfig is the Schema for the platform config API +kubebuilder:object:root=true
func NewDefaultPlatform ¶ added in v1.5.0
func NewDefaultPlatform() *PlatformConfig
func (*PlatformConfig) DeepCopy ¶ added in v1.5.0
func (in *PlatformConfig) DeepCopy() *PlatformConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlatformConfig.
func (*PlatformConfig) DeepCopyInto ¶ added in v1.5.0
func (in *PlatformConfig) DeepCopyInto(out *PlatformConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PlatformConfig) DeepCopyObject ¶ added in v1.5.0
func (in *PlatformConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*PlatformConfig) Migrate ¶ added in v1.9.1
func (cfg *PlatformConfig) Migrate()
func (*PlatformConfig) Validate ¶ added in v1.6.0
func (cfg *PlatformConfig) Validate() error
type Plugin ¶ added in v1.7.0
type Plugin struct {
// Optional tag which is readable by plugin when executed
Tag string `json:"tag,omitempty"`
// Name of the plugin to run.
Name string `json:"name,omitempty"`
// Config is a string defining the plugin-specific configuration of the plugin.
Config string `json:"config,omitempty"`
}
func (*Plugin) DeepCopy ¶ added in v1.7.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Plugin.
func (*Plugin) DeepCopyInto ¶ added in v1.7.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PrometheusServiceMonitor ¶ added in v1.5.0
type PrometheusServiceMonitor struct {
// Path is the path which Prometheus should query on ports. Defaults to /metrics if not set.
Path string `json:"path,omitempty"`
// PortName is the name of the port which Prometheus will query metrics on
PortName string `json:"portName"`
}
func (*PrometheusServiceMonitor) DeepCopy ¶ added in v1.5.0
func (in *PrometheusServiceMonitor) DeepCopy() *PrometheusServiceMonitor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusServiceMonitor.
func (*PrometheusServiceMonitor) DeepCopyInto ¶ added in v1.5.0
func (in *PrometheusServiceMonitor) DeepCopyInto(out *PrometheusServiceMonitor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Repository ¶ added in v1.5.0
type Repository struct {
// Store is what database will be used, can only be postgres.
Store string `json:"store,omitempty"`
// Secret is a secret key used for encrypting sensitive data before saving
// it in the database.
Secret string `json:"secret,omitempty"`
}
Repository specifies repository configuration
func (*Repository) DeepCopy ¶ added in v1.5.0
func (in *Repository) DeepCopy() *Repository
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Repository.
func (*Repository) DeepCopyInto ¶ added in v1.5.0
func (in *Repository) DeepCopyInto(out *Repository)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SSHCredential ¶ added in v1.5.0
type SSHCredential struct {
// PrivateKey is a PEM encoded SSH private key.
PrivateKey string `json:"privateKey,omitempty"`
// PrivateKeyPassword is an optional password for the SSH private key.
PrivateKeyPassword string `json:"password,omitempty"`
}
SSHCredential specifies SSH credentials
func (*SSHCredential) DeepCopy ¶ added in v1.5.0
func (in *SSHCredential) DeepCopy() *SSHCredential
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHCredential.
func (*SSHCredential) DeepCopyInto ¶ added in v1.5.0
func (in *SSHCredential) DeepCopyInto(out *SSHCredential)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SSO ¶ added in v1.5.3
type SSO struct {
// OIDCProviders specifies enabled OIDCProviders which can be used for
// login.
OIDCProviders map[string]OIDCProvider `json:"oidcProviders,omitempty"`
}
SSO specifies single sign on configuration.
func (*SSO) DeepCopy ¶ added in v1.5.3
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSO.
func (*SSO) DeepCopyInto ¶ added in v1.5.3
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Step ¶ added in v1.7.0
type Step struct {
// Optional tag which is readable by plugins when executed
Tag string `json:"tag,omitempty"`
// Match requirements for running the Step on a given Capsule.
Match CapsuleMatch `json:"match,omitempty"`
// Plugins to run as part of this step.
Plugins []Plugin `json:"plugins,omitempty"`
// If set, only capsules in one of the namespaces given will have this step run.
// Deprecated, use Match.Namespaces.
Namespaces []string `json:"namespaces,omitempty"`
// If set, only execute the plugin on the capsules specified.
// Deprecated, use Match.CapsuleNames.
Capsules []string `json:"capsules,omitempty"`
// If set, will enable the step for the Rig platform which is a Capsule as well
// Deprecated, use Match.EnableForPlatform.
EnableForPlatform bool `json:"enableForPlatform,omitempty"`
}
func (*Step) DeepCopy ¶ added in v1.7.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Step.
func (*Step) DeepCopyInto ¶ added in v1.7.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VerticalPodAutoscaler ¶ added in v1.6.0
type VerticalPodAutoscaler struct {
// Enabled enables the creation of a VerticalPodAutoscaler per capsule
Enabled bool `json:"enabled,omitempty"`
}
func (*VerticalPodAutoscaler) DeepCopy ¶ added in v1.6.0
func (in *VerticalPodAutoscaler) DeepCopy() *VerticalPodAutoscaler
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VerticalPodAutoscaler.
func (*VerticalPodAutoscaler) DeepCopyInto ¶ added in v1.6.0
func (in *VerticalPodAutoscaler) DeepCopyInto(out *VerticalPodAutoscaler)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.