v1alpha1

package
v1.8.0 Latest Latest
Warning

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

Go to latest
Published: Mar 27, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the config v1alpha1 API group +kubebuilder:object:generate=true +groupName=config.rig.dev

Index

Constants

View Source
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

View Source
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

func (in *Auth) DeepCopy() *Auth

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Auth.

func (*Auth) DeepCopyInto added in v1.5.0

func (in *Auth) DeepCopyInto(out *Auth)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CertManagerConfig

type CertManagerConfig struct {
	// ClusterIssuer to use for issueing ingress certificates
	ClusterIssuer string `json:"clusterIssuer,omitempty"`

	// CreateCertificateResources specifies wether to create Certificate
	// resources. If this is not enabled we will use ingress annotations. This
	// is handy in environments where the ingress-shim isn't enabled.
	CreateCertificateResources bool `json:"createCertificateResources,omitempty"`
}

func (*CertManagerConfig) DeepCopy

func (in *CertManagerConfig) DeepCopy() *CertManagerConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertManagerConfig.

func (*CertManagerConfig) DeepCopyInto

func (in *CertManagerConfig) DeepCopyInto(out *CertManagerConfig)

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

func (in *Client) DeepCopy() *Client

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Client.

func (*Client) DeepCopyInto added in v1.5.0

func (in *Client) DeepCopyInto(out *Client)

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

func (in *Cluster) DeepCopy() *Cluster

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cluster.

func (*Cluster) DeepCopyInto added in v1.5.0

func (in *Cluster) DeepCopyInto(out *Cluster)

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.
	PathPrefix string `json:"pathPrefix,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

func (in *Email) DeepCopy() *Email

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Email.

func (*Email) DeepCopyInto added in v1.5.0

func (in *Email) DeepCopyInto(out *Email)

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

func (in *GitAuthor) DeepCopy() *GitAuthor

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitAuthor.

func (*GitAuthor) DeepCopyInto added in v1.5.0

func (in *GitAuthor) DeepCopyInto(out *GitAuthor)

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 IngressConfig

type IngressConfig struct {
	// Annotations for all ingress resources created.
	Annotations map[string]string `json:"annotations,omitempty"`

	// ClassName specifies the default ingress class to use for all ingress
	// resources created.
	ClassName string `json:"className,omitempty"`

	// PathType defines how ingress paths should be interpreted.
	// Allowed values: Exact, Prefix, ImplementationSpecific
	PathType networkingv1.PathType `json:"pathType,omitempty"`

	// DisableTLS for ingress resources generated. This is useful if a 3rd-party component
	// is handling the HTTPS TLS termination and certificates.
	DisableTLS *bool `json:"disableTLS,omitempty"`
}

func (*IngressConfig) DeepCopy

func (in *IngressConfig) DeepCopy() *IngressConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressConfig.

func (*IngressConfig) DeepCopyInto

func (in *IngressConfig) DeepCopyInto(out *IngressConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (IngressConfig) IsTLSDisabled added in v1.6.0

func (cfg IngressConfig) IsTLSDisabled() bool

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

func (in *Logging) DeepCopy() *Logging

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Logging.

func (*Logging) DeepCopyInto added in v1.5.0

func (in *Logging) DeepCopyInto(out *Logging)

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"`

	// Certmanager holds configuration for how the operator should create
	// certificates for ingress resources.
	Certmanager *CertManagerConfig `json:"certManager,omitempty"`

	// Service holds the configuration for service resources created by the
	// operator.
	Service ServiceConfig `json:"service,omitempty"`

	// Ingress holds the configuration for ingress resources created by the
	// operator.
	Ingress IngressConfig `json:"ingress,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 Pipeline added in v1.7.2

type Pipeline struct {
	// 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

func (in *Pipeline) DeepCopy() *Pipeline

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Pipeline.

func (*Pipeline) DeepCopyInto added in v1.7.2

func (in *Pipeline) DeepCopyInto(out *Pipeline)

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

func (in *Plugin) DeepCopy() *Plugin

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Plugin.

func (*Plugin) DeepCopyInto added in v1.7.0

func (in *Plugin) DeepCopyInto(out *Plugin)

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

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 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

func (in *SSO) DeepCopy() *SSO

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSO.

func (*SSO) DeepCopyInto added in v1.5.3

func (in *SSO) DeepCopyInto(out *SSO)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServiceConfig added in v1.5.3

type ServiceConfig struct {
	// Type of the service to generate. By default, services are of type ClusterIP.
	// Valid values are ClusterIP, NodePort.
	Type corev1.ServiceType `json:"type,omitempty"`
}

func (*ServiceConfig) DeepCopy added in v1.5.3

func (in *ServiceConfig) DeepCopy() *ServiceConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceConfig.

func (*ServiceConfig) DeepCopyInto added in v1.5.3

func (in *ServiceConfig) DeepCopyInto(out *ServiceConfig)

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, 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

func (in *Step) DeepCopy() *Step

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Step.

func (*Step) DeepCopyInto added in v1.7.0

func (in *Step) DeepCopyInto(out *Step)

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

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.

Jump to

Keyboard shortcuts

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