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 Client
- type ClientDocker
- type ClientMailjet
- type ClientMongo
- type ClientOperator
- type ClientPostgres
- type ClientSMTP
- type Cluster
- type ClusterGit
- type ClusterType
- type CustomPlugin
- type DevRegistry
- type Email
- type EmailType
- type Environment
- 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 RoutesStep
- 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"` }
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 Client ¶ added in v1.5.0
type Client struct { // Postgres holds configuration for the postgres client. Postgres ClientPostgres `json:"postgres,omitempty"` // Mongo holds configuration for the Mongo client. Mongo ClientMongo `json:"mongo,omitempty"` // Docker sets the host for the Docker client. Docker ClientDocker `json:"docker,omitempty"` // Mailjet sets the API key and secret for the Mailjet client. Mailjet ClientMailjet `json:"mailjet,omitempty"` // SMTP sets the host, port, username and password for the SMTP client. SMTP ClientSMTP `json:"smtp,omitempty"` // Operator sets the base url for the Operator client. Operator ClientOperator `json:"operator,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 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 ClientMongo ¶ added in v1.5.0
type ClientMongo struct { // User is the database user used when connecting to the mongodb server. User string `json:"user,omitempty"` // Password is used when connecting to the mongodb server. Password string `json:"password,omitempty"` // Host of the mongo server. This is both the host and port. Host string `json:"host,omitempty"` }
ClientMongo specifies the configuration for the mongo client.
func (*ClientMongo) DeepCopy ¶ added in v1.5.0
func (in *ClientMongo) DeepCopy() *ClientMongo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientMongo.
func (*ClientMongo) DeepCopyInto ¶ added in v1.5.0
func (in *ClientMongo) DeepCopyInto(out *ClientMongo)
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 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. 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"` }
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"` // Credentials to use when connecting to git. Credentials GitCredentials `json:"credentials,omitempty"` // Author used when creating commits. Author GitAuthor `json:"author,omitempty"` // Templates used for commit messages. Templates GitTemplates `json:"templates,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 Email ¶ added in v1.5.0
type Email struct { // From is who is set as the sender of rig emails. From string `json:"from,omitempty"` // Type is what client rig should use to send emails. 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 Environment ¶ added in v1.5.3
type Environment struct { // Cluster name the environment is hosted in. Cluster string `json:"cluster,omitempty"` // NamespaceTemplate is used to generate the namespace name when configuring resources. // Default is to set the namespace equal to the project name. NamespaceTemplate string `json:"namespace_template,omitempty"` // Default is true if this environment should be preferred for per-environment operations. Default bool `json:"default,omitempty"` }
Environment configuration of a single environment.
func (*Environment) DeepCopy ¶ added in v1.5.3
func (in *Environment) DeepCopy() *Environment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Environment.
func (*Environment) DeepCopyInto ¶ added in v1.5.3
func (in *Environment) DeepCopyInto(out *Environment)
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"` // PrometheusServiceMonitor defines if Rig should spawn a Prometheus ServiceMonitor per capsule // for use with a Prometheus Operator stack. PrometheusServiceMonitor *PrometheusServiceMonitor `json:"prometheusServiceMonitor,omitempty"` // VerticalPodAutoscaler holds the configuration for the VerticalPodAutoscaler resources // potentially generated by the operator. VerticalPodAutoscaler VerticalPodAutoscaler `json:"verticalPodAutoscaler,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 routes for capsules in the cluster. RoutesStep RoutesStep `json:"routes_step,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 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"` // Environments of the platform. Each environment is backed by a cluster (allowing multi-tenant setups). Environments map[string]Environment `json:"environments,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) 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 be either postgres or mongodb. 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 RoutesStep ¶ added in v1.8.2
type RoutesStep struct { // The plugin to use for handling routes in capsule interfaces. If not set, // routes will not be handled. // fx. "rigdev.ingress_routes" will create an ingress resource per route. Plugin string `json:"plugin,omitempty"` // Config is a string defining the plugin-specific configuration of the plugin. Config string `json:"config,omitempty"` }
func (*RoutesStep) DeepCopy ¶ added in v1.8.2
func (in *RoutesStep) DeepCopy() *RoutesStep
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoutesStep.
func (*RoutesStep) DeepCopyInto ¶ added in v1.8.2
func (in *RoutesStep) DeepCopyInto(out *RoutesStep)
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"` // 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. Capsules []string `json:"capsules,omitempty"` // If set, will enable the step for the Rig platform which is a Capsule as well EnableForPlatform bool `json:"enableForPlatform,omitempty"` // If set, only execute the plugin on the matching capsules. Selector metav1.LabelSelector `json:"selector,omitempty"` // Plugins to run as part of this step. Plugins []Plugin `json:"plugins,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.