v1

package
v0.0.27 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: 5 Imported by: 0

Documentation

Overview

Package v1 contains API Schema definitions for the sf v1 API group +kubebuilder:object:generate=true +groupName=sf.softwarefactory-project.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "sf.softwarefactory-project.io", Version: "v1"}

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

func GetGerritConnectionsName

func GetGerritConnectionsName(spec *ZuulSpec) []string

func GetGitConnectionsName

func GetGitConnectionsName(spec *ZuulSpec) []string

func GetGitHubConnectionsName

func GetGitHubConnectionsName(spec *ZuulSpec) []string

func GetGitHubConnectionsSecretName

func GetGitHubConnectionsSecretName(spec *ZuulSpec) []string

func GetGitLabConnectionsName

func GetGitLabConnectionsName(spec *ZuulSpec) []string

func GetGitLabConnectionsSecretName

func GetGitLabConnectionsSecretName(spec *ZuulSpec) []string

func GetPagureConnectionsName

func GetPagureConnectionsName(spec *ZuulSpec) []string

func GetPagureConnectionsSecretName

func GetPagureConnectionsSecretName(spec *ZuulSpec) []string

Types

type BaseSpec

type BaseSpec struct{}

func (*BaseSpec) DeepCopy

func (in *BaseSpec) DeepCopy() *BaseSpec

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

func (*BaseSpec) DeepCopyInto

func (in *BaseSpec) DeepCopyInto(out *BaseSpec)

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

type BaseStatus added in v0.0.22

type BaseStatus struct {
	// The deployment status.
	Ready bool `json:"ready,omitempty"`
	// The Generation of the related Custom Resource that was last processed by the operator controller
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// The name of the operator handling this Custom Resource's reconciliation
	ReconciledBy string `json:"reconciledBy,omitempty"`
	// Information about ongoing or completed reconciliation processes between the Log server spec and the observed state of the cluster
	Conditions []metav1.Condition `json:"conditions,omitempty" optional:"true"`
}

BaseStatus struct which defines the observed state for a Controller Do not use this directy, it must be derived from.

func (*BaseStatus) DeepCopy added in v0.0.22

func (in *BaseStatus) DeepCopy() *BaseStatus

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

func (*BaseStatus) DeepCopyInto added in v0.0.22

func (in *BaseStatus) DeepCopyInto(out *BaseStatus)

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

type ConfigRepositoryLocationSpec added in v0.0.21

type ConfigRepositoryLocationSpec struct {
	// Base URL to use to perform git-related actions on the config repository. For example, if hosted on GitHub, the Base URL would be `https://github.com/<username>/`
	// +kubebuilder:validation:Pattern:=`^https?:\/\/.+$`
	BaseURL string `json:"base-url"`
	// The name of the `config` repository. This value is appended to `base-url` to clone the repository
	// +kubebuilder:validation:MinLength:=1
	Name string `json:"name"`
	// Name of the Zuul connection through which Zuul can handle git events on the config repository
	// +kubebuilder:validation:MinLength:=1
	ZuulConnectionName string `json:"zuul-connection-name"`
	// Public URL of the k8s cluster API. This is useful when running zuul executors outside
	// of the cluster. This is mainly used for config-update secret generation
	ClusterAPIURL string `json:"k8s-api-url,omitempty"`
	// Public HOST of the default logserver. This is useful when running zuul executors outside
	// of the cluster. This is mainly used for config-update secret generation
	LogserverHost string `json:"logserver-host,omitempty"`
}

func (*ConfigRepositoryLocationSpec) DeepCopy added in v0.0.21

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

func (*ConfigRepositoryLocationSpec) DeepCopyInto added in v0.0.21

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

type ElasticSearchConnection

type ElasticSearchConnection struct {
	// How the connection will be named in Zuul's configuration and appear in zuul-web
	Name string `json:"name"`
	// [uri](https://zuul-ci.org/docs/zuul/latest/drivers/elasticsearch.html#attr-%3CElasticsearch%20connection%3E.uri)
	URI string `json:"uri"`
	// [useSSL](https://zuul-ci.org/docs/zuul/latest/drivers/elasticsearch.html#attr-%3CElasticsearch%20connection%3E.use_ssl)
	UseSSL *bool `json:"useSSL,omitempty"`
	// [verifyCerts](https://zuul-ci.org/docs/zuul/latest/drivers/elasticsearch.html#attr-%3CElasticsearch%20connection%3E.verify_certs)
	VerifyCerts *bool `json:"verifyCerts,omitempty"`
}

Describes a Zuul connection using the [ElasticSearch driver](https://zuul-ci.org/docs/zuul/latest/drivers/elasticsearch.html#connection-configuration). When an optional parameter is not specified then Zuul's defaults apply

func (*ElasticSearchConnection) DeepCopy

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

func (*ElasticSearchConnection) DeepCopyInto

func (in *ElasticSearchConnection) DeepCopyInto(out *ElasticSearchConnection)

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

type FluentBitForwarderSpec

type FluentBitForwarderSpec struct {
	// The Host for the Fluent Bit HTTP Input to forward logs to.
	HTTPInputHost string `json:"httpInputHost"`
	// The (optional) port on which to forward logs to, defaults to 80.
	// +kubebuilder:default:=80
	HTTPInputPort int32 `json:"httpInputPort,omitempty"`
	// +kubebuilder:default:=false
	// +optional
	// Run fluent bit sidecars in debug mode. This will output forwarded payloads and additional info in the sidecar's logs. Defaults to false.
	Debug *bool `json:"debug,omitempty"`
}

func (*FluentBitForwarderSpec) DeepCopy

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

func (*FluentBitForwarderSpec) DeepCopyInto

func (in *FluentBitForwarderSpec) DeepCopyInto(out *FluentBitForwarderSpec)

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

type GerritConnection

type GerritConnection struct {
	// How the connection will be named in Zuul's configuration and appear in zuul-web
	Name string `json:"name"`
	// The gerrit server hostname. Equivalent to the [server](https://zuul-ci.org/docs/zuul/latest/drivers/gerrit.html#attr-%3Cgerrit%20connection%3E.server) parameter.
	Hostname string `json:"hostname"`
	// SSH port number to the Gerrit instance. Equivalent to the [port](https://zuul-ci.org/docs/zuul/latest/drivers/gerrit.html#attr-%3Cgerrit%20ssh%20connection%3E.port) parameter.
	// +kubebuilder:validation:Minimum:=1024
	// +kubebuilder:validation:Maximum:=65535
	Port uint16 `json:"port,omitempty"`
	// URL to Gerrit's web interface. the [baseurl](https://zuul-ci.org/docs/zuul/latest/drivers/gerrit.html#attr-%3Cgerrit%20connection%3E.baseurl) parameter.
	// +kubebuilder:validation:Pattern:=`^https?:\/\/.+$`
	Puburl string `json:"puburl,omitempty"`
	// Username that Zuul will use to authenticate on the Gerrit instance. Equivalent to the [user](https://zuul-ci.org/docs/zuul/latest/drivers/gerrit.html#attr-%3Cgerrit%20connection%3E.user) parameter.
	Username string `json:"username,omitempty"`
	// The canonical hostname associated with the git repositories on the Gerrit server. Equivalent to the [canonical_hostname](https://zuul-ci.org/docs/zuul/latest/drivers/gerrit.html#attr-%3Cgerrit%20connection%3E.canonical_hostname) parameter.
	Canonicalhostname string `json:"canonicalhostname,omitempty"`
	// The name of a Kubernetes secret holding the Gerrit user's API Password. The secret's data must have a key called "password". Equivalent to the [password](https://zuul-ci.org/docs/zuul/latest/drivers/gerrit.html#attr-%3Cgerrit%20ssh%20connection%3E.password) parameter.
	Password string `json:"password,omitempty"`
	// The name of a Kubernetes secret holding the Gerrit user's SSH key. The secret's data must have a key called "priv".
	Sshkey string `json:"sshkey,omitempty"`
	// Set to true to force git operations over SSH even if the password attribute is set. Equivalent to the [git_over_ssh](https://zuul-ci.org/docs/zuul/latest/drivers/gerrit.html#attr-%3Cgerrit%20ssh%20connection%3E.git_over_ssh) parameter.
	GitOverSSH bool `json:"git-over-ssh,omitempty"`
	// Disable SSL certificate verification with the Gerrit instance when set to false. Equivalent to the [verify_ssl](https://zuul-ci.org/docs/zuul/latest/drivers/gerrit.html#attr-%3Cgerrit%20ssh%20connection%3E.verify_ssl) parameter.
	VerifySSL *bool `json:"verifyssl,omitempty"`
}

Describes a Zuul connection using the [gerrit driver](https://zuul-ci.org/docs/zuul/latest/drivers/gerrit.html#connection-configuration) When an optional parameter is not specified then Zuul's defaults apply

func (*GerritConnection) DeepCopy

func (in *GerritConnection) DeepCopy() *GerritConnection

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

func (*GerritConnection) DeepCopyInto

func (in *GerritConnection) DeepCopyInto(out *GerritConnection)

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

type GitConnection

type GitConnection struct {
	// How the connection will be named in Zuul's configuration and appear in zuul-web
	Name string `json:"name"`
	// [baseurl](https://zuul-ci.org/docs/zuul/latest/drivers/git.html#attr-%3Cgit%20connection%3E.baseurl)
	// +kubebuilder:validation:Pattern:=`^(https?|git):\/\/.+$`
	Baseurl string `json:"baseurl"`
	// [poolDelay](https://zuul-ci.org/docs/zuul/latest/drivers/git.html#attr-%3Cgit%20connection%3E.poll_delays)
	PollDelay int32 `json:"pollDelay,omitempty"`
}

Describes a Zuul connection using the [git driver](https://zuul-ci.org/docs/zuul/latest/drivers/git.html#connection-configuration). When an optional parameter is not specified then Zuul's defaults apply

func (*GitConnection) DeepCopy

func (in *GitConnection) DeepCopy() *GitConnection

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

func (*GitConnection) DeepCopyInto

func (in *GitConnection) DeepCopyInto(out *GitConnection)

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

type GitHubConnection

type GitHubConnection struct {
	// How the connection will be named in Zuul's configuration and appear in zuul-web
	Name string `json:"name"`
	// GitHub [appID](https://zuul-ci.org/docs/zuul/latest/drivers/github.html#attr-%3Cgithub%20connection%3E.app_id)
	// +optional
	AppID int `json:"appID,omitempty"`
	// Name of the secret which contains the following keys:
	// [app_key](https://zuul-ci.org/docs/zuul/latest/drivers/github.html#attr-%3Cgithub%20connection%3E.app_key) must be defined if appId is defined
	// [api_token(optional)](https://zuul-ci.org/docs/zuul/latest/drivers/github.html#attr-%3Cgithub%20connection%3E.api_token)
	// [webhook_token (optional)](https://zuul-ci.org/docs/zuul/latest/drivers/github.html#attr-%3Cgithub%20connection%3E.webhook_token)
	// The keys must have the same name as above
	// +optional
	Secrets string `json:"secrets,omitempty"`
	// the [server](https://zuul-ci.org/docs/zuul/latest/drivers/github.html#attr-%3Cgithub%20connection%3E.server)
	// +optional
	Server string `json:"server,omitempty"`
	// the [canonical_hostname](https://zuul-ci.org/docs/zuul/latest/drivers/github.html#attr-%3Cgithub%20connection%3E.canonical_hostname) parameter
	// +optional
	Canonicalhostname string `json:"canonicalHostname,omitempty"`
	// the [verify_ssl](https://zuul-ci.org/docs/zuul/latest/drivers/github.html#attr-%3Cgithub%20connection%3E.verify_ssl) parameter
	// +kubebuilder:default:=true
	// +optional
	VerifySSL bool `json:"verifySsl,omitempty"`
}

Describes a Zuul connection using the [github driver](https://zuul-ci.org/docs/zuul/latest/drivers/github.html#).

func (*GitHubConnection) DeepCopy

func (in *GitHubConnection) DeepCopy() *GitHubConnection

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

func (*GitHubConnection) DeepCopyInto

func (in *GitHubConnection) DeepCopyInto(out *GitHubConnection)

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

type GitLabConnection

type GitLabConnection struct {
	// How the connection will be named in Zuul's configuration and appear in zuul-web
	Name string `json:"name"`
	// the [server](https://zuul-ci.org/docs/zuul/latest/drivers/gitlab.html#attr-%3Cgitlab%20connection%3E.server)
	Server string `json:"server,omitempty"`
	// the [canonicalHostname](https://zuul-ci.org/docs/zuul/latest/drivers/gitlab.html#attr-%3Cgitlab%20connection%3E.canonical_hostname)
	CanonicalHostname string `json:"canonicalHostname,omitempty"`
	// the (baseUrl)[https://zuul-ci.org/docs/zuul/latest/drivers/gitlab.html#attr-%3Cgitlab%20connection%3E.baseurl)
	BaseURL string `json:"baseUrl,omitempty"`
	// Name of the secret which containes the following keys:
	// the [api_token](https://zuul-ci.org/docs/zuul/latest/drivers/gitlab.html#attr-%3Cgitlab%20connection%3E.api_token)
	// the [api_token_name](https://zuul-ci.org/docs/zuul/latest/drivers/gitlab.html#attr-%3Cgitlab%20connection%3E.api_token_name)
	// the [webhook_token](https://zuul-ci.org/docs/zuul/latest/drivers/gitlab.html#attr-%3Cgitlab%20connection%3E.webhook_token)
	// +kubebuilder:validation:MinLength:=1
	Secrets string `json:"secrets"`
	// the [apiTokenName](https://zuul-ci.org/docs/zuul/latest/drivers/gitlab.html#attr-%3Cgitlab%20connection%3E.api_token_name)
	APITokenName string `json:"apiTokenName,omitempty"`
	// the [cloneUrl](https://zuul-ci.org/docs/zuul/latest/drivers/gitlab.html#attr-%3Cgitlab%20connection%3E.cloneurl)
	CloneURL string `json:"cloneUrl,omitempty"`
	// the [keepAlive](https://zuul-ci.org/docs/zuul/latest/drivers/gitlab.html#attr-%3Cgitlab%20connection%3E.keepalive)
	// +kubebuilder:validation:Minimum:=0
	KeepAlive uint8 `json:"keepAlive,omitempty"`
	// the [disableConnectionPool](https://zuul-ci.org/docs/zuul/latest/drivers/gitlab.html#attr-%3Cgitlab%20connection%3E.disable_connection_pool)
	DisableConnectionPool bool `json:"disableConnectionPool,omitempty"`
}

Describes a Zuul connection using the [gitlab driver](https://zuul-ci.org/docs/zuul/latest/drivers/gitlab.html#gitlab).

func (*GitLabConnection) DeepCopy

func (in *GitLabConnection) DeepCopy() *GitLabConnection

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

func (*GitLabConnection) DeepCopyInto

func (in *GitLabConnection) DeepCopyInto(out *GitLabConnection)

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

type GitServerSpec

type GitServerSpec struct {
	Storage StorageSpec `json:"storage,omitempty"`
}

func (*GitServerSpec) DeepCopy

func (in *GitServerSpec) DeepCopy() *GitServerSpec

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

func (*GitServerSpec) DeepCopyInto

func (in *GitServerSpec) DeepCopyInto(out *GitServerSpec)

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

type LEServer

type LEServer string

+kubebuilder:validation:Enum=prod;staging +kubebuilder:default:=staging

const (
	// LEServerProd set the LetsEncrypt server to Production
	LEServerProd LEServer = "prod"

	// LEServerProd set the LetsEncrypt server to Staging
	LEServerStaging LEServer = "staging"
)

type LetsEncryptSpec

type LetsEncryptSpec struct {
	// Specify the Lets encrypt server.
	// Valid values are:
	// "staging",
	// "prod"
	Server LEServer `json:"server"`
}

func (*LetsEncryptSpec) DeepCopy

func (in *LetsEncryptSpec) DeepCopy() *LetsEncryptSpec

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

func (*LetsEncryptSpec) DeepCopyInto

func (in *LetsEncryptSpec) DeepCopyInto(out *LetsEncryptSpec)

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

type LogLevel

type LogLevel string

+kubebuilder:validation:Enum=INFO;WARN;DEBUG +kubebuilder:default:=INFO

const (
	// InfoLogLevel set log level to INFO
	InfoLogLevel LogLevel = "INFO"

	// WarnLogLevel set log level to WARN
	WarnLogLevel LogLevel = "WARN"

	// DebugLogLevel set log level to DEBUG
	DebugLogLevel LogLevel = "DEBUG"
)

type LogServer

type LogServer struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   LogServerSpec   `json:"spec,omitempty"`
	Status LogServerStatus `json:"status,omitempty"`
}

LogServer is the Schema for the LogServers API

func (*LogServer) DeepCopy

func (in *LogServer) DeepCopy() *LogServer

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

func (*LogServer) DeepCopyInto

func (in *LogServer) DeepCopyInto(out *LogServer)

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

func (*LogServer) DeepCopyObject

func (in *LogServer) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type LogServerList

type LogServerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []LogServer `json:"items"`
}

LogServerList contains a list of LogServer

func (*LogServerList) DeepCopy

func (in *LogServerList) DeepCopy() *LogServerList

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

func (*LogServerList) DeepCopyInto

func (in *LogServerList) DeepCopyInto(out *LogServerList)

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

func (*LogServerList) DeepCopyObject

func (in *LogServerList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type LogServerSpec

type LogServerSpec struct {
	// The fully qualified domain name to use with the log server. Logs will be served at https://`FQDN`/logs/
	FQDN string `json:"fqdn"`
	// LetsEncrypt settings for enabling using LetsEncrypt for Routes/TLS
	LetsEncrypt *LetsEncryptSpec `json:"LetsEncrypt,omitempty"`
	// Default storage class to use with Persistent Volume Claims issued by this resource. Consult your cluster's configuration to see what storage classes are available and recommended for your use case.
	StorageClassName string `json:"storageClassName,omitempty"`
	// The SSH public key, encoded as base64, to use to authorize file transfers on the log server
	AuthorizedSSHKey string `json:"authorizedSSHKey"`
	// General runtime settings for the log server
	Settings LogServerSpecSettings `json:"settings,omitempty"`
}

LogServerSpec defines the desired state of LogServer

func (*LogServerSpec) DeepCopy

func (in *LogServerSpec) DeepCopy() *LogServerSpec

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

func (*LogServerSpec) DeepCopyInto

func (in *LogServerSpec) DeepCopyInto(out *LogServerSpec)

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

type LogServerSpecSettings

type LogServerSpecSettings struct {
	// Logs retention time in days. Logs older than this setting in days will be purged by a pruning cronjob. Defaults to 60 days
	// +kubebuilder:default:=60
	// +kubebuilder:validation:Minimum:=1
	RetentionDays int `json:"retentionDays,omitempty"`
	// The frequency, in seconds, at which the log pruning cronjob is running. Defaults to 3600s, i.e. logs are checked for pruning every hour
	// +kubebuilder:default:=3600
	// +kubebuilder:validation:Minimum:=1
	LoopDelay int `json:"loopDelay,omitempty"`
	// Storage-related settings
	Storage StorageSpec `json:"storage,omitempty"`
}

func (*LogServerSpecSettings) DeepCopy

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

func (*LogServerSpecSettings) DeepCopyInto

func (in *LogServerSpecSettings) DeepCopyInto(out *LogServerSpecSettings)

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

type LogServerStatus

type LogServerStatus BaseStatus

LogServerStatus defines the observed state of a Log server

func (*LogServerStatus) DeepCopy

func (in *LogServerStatus) DeepCopy() *LogServerStatus

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

func (*LogServerStatus) DeepCopyInto

func (in *LogServerStatus) DeepCopyInto(out *LogServerStatus)

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

type MariaDBSpec

type MariaDBSpec struct {
	// Storage parameters related to mariaDB's data
	DBStorage StorageSpec `json:"dbStorage"`
	// Storage parameters related to the database's logging
	LogStorage StorageSpec `json:"logStorage"`
}

func (*MariaDBSpec) DeepCopy

func (in *MariaDBSpec) DeepCopy() *MariaDBSpec

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

func (*MariaDBSpec) DeepCopyInto

func (in *MariaDBSpec) DeepCopyInto(out *MariaDBSpec)

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

type NodepoolBuilderSpec

type NodepoolBuilderSpec struct {
	// Storage related settings
	Storage StorageSpec `json:"storage,omitempty"`
	// Specify the Log Level of the nodepool launcher process.
	// Valid values are:
	// "INFO" (default),
	// "WARN",
	// "DEBUG".
	LogLevel LogLevel `json:"logLevel,omitempty"`
}

func (*NodepoolBuilderSpec) DeepCopy

func (in *NodepoolBuilderSpec) DeepCopy() *NodepoolBuilderSpec

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

func (*NodepoolBuilderSpec) DeepCopyInto

func (in *NodepoolBuilderSpec) DeepCopyInto(out *NodepoolBuilderSpec)

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

type NodepoolLauncherSpec

type NodepoolLauncherSpec struct {
	// Specify the Log Level of the nodepool launcher service.
	// Valid values are:
	// "INFO" (default),
	// "WARN",
	// "DEBUG".
	// Changing this value will restart the service.
	// +optional
	LogLevel LogLevel `json:"logLevel,omitempty"`
}

func (*NodepoolLauncherSpec) DeepCopy

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

func (*NodepoolLauncherSpec) DeepCopyInto

func (in *NodepoolLauncherSpec) DeepCopyInto(out *NodepoolLauncherSpec)

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

type NodepoolSpec

type NodepoolSpec struct {
	// Nodepool-launcher related settings
	Launcher NodepoolLauncherSpec `json:"launcher,omitempty"`
	// Nodepool-builder related settings
	Builder NodepoolBuilderSpec `json:"builder,omitempty"`
	// The address to forward statsd metrics to (optional), in the form "host:port"
	StatsdTarget string `json:"statsdTarget,omitempty"`
}

func (*NodepoolSpec) DeepCopy

func (in *NodepoolSpec) DeepCopy() *NodepoolSpec

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

func (*NodepoolSpec) DeepCopyInto

func (in *NodepoolSpec) DeepCopyInto(out *NodepoolSpec)

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

type PagureConnection

type PagureConnection struct {
	// How the connection will be named in Zuul's configuration and appear in zuul-web
	Name string `json:"name"`
	// the [server](https://zuul-ci.org/docs/zuul/latest/drivers/pagure.html#attr-<pagure connection>.server)
	Server string `json:"server,omitempty"`
	// the [canonicalHostname](https://zuul-ci.org/docs/zuul/latest/drivers/pagure.html#attr-<pagure connection>.canonical_hostname)
	CanonicalHostname string `json:"canonicalHostname,omitempty"`
	// the (baseUrl)[https://zuul-ci.org/docs/zuul/latest/drivers/pagure.html#attr-%3Cpagure%20connection%3E.baseurl)
	BaseURL string `json:"baseUrl,omitempty"`
	// Name of the secret which containes the following keys:
	// the [api_token](https://zuul-ci.org/docs/zuul/latest/drivers/pagure.html#attr-<pagure connection>.api_token)
	Secrets string `json:"secrets,omitempty"`
	// the [appName](https://zuul-ci.org/docs/zuul/latest/drivers/pagure.html#attr-<pagure connection>.app_name)
	AppName string `json:"appName,omitempty"`
	// the [cloneUrl](https://zuul-ci.org/docs/zuul/latest/drivers/pagure.html#attr-<pagure connection>.cloneurl)
	CloneURL string `json:"cloneUrl,omitempty"`
	// the [sourceWhitelist](https://zuul-ci.org/docs/zuul/latest/drivers/pagure.html#attr-<pagure connection>.source_whitelist)
	SourceWhitelist string `json:"sourceWhitelist,omitempty"`
}

Describes a Zuul connection using the [pagure driver](https://zuul-ci.org/docs/zuul/latest/drivers/pagure.html#connection-configuration).

func (*PagureConnection) DeepCopy

func (in *PagureConnection) DeepCopy() *PagureConnection

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

func (*PagureConnection) DeepCopyInto

func (in *PagureConnection) DeepCopyInto(out *PagureConnection)

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

type Secret

type Secret struct {
	// Name of the referent.
	// More info on [kubernetes' documentation](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).
	Name string `json:"name"`
	// The key of the secret to select from. Must be a valid secret key.
	Key string `json:"key,omitempty"`
}

func (*Secret) DeepCopy

func (in *Secret) DeepCopy() *Secret

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

func (*Secret) DeepCopyInto

func (in *Secret) DeepCopyInto(out *Secret)

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

type SecretRef

type SecretRef struct {
	//Selects a key of a secret in the pod's namespace
	SecretKeyRef *Secret `json:"secretKeyRef"`
}

func (*SecretRef) DeepCopy

func (in *SecretRef) DeepCopy() *SecretRef

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

func (*SecretRef) DeepCopyInto

func (in *SecretRef) DeepCopyInto(out *SecretRef)

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

type SoftwareFactory

type SoftwareFactory struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   SoftwareFactorySpec   `json:"spec,omitempty"`
	Status SoftwareFactoryStatus `json:"status,omitempty"`
}

SoftwareFactory is the Schema for the softwarefactories API

func (*SoftwareFactory) DeepCopy

func (in *SoftwareFactory) DeepCopy() *SoftwareFactory

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

func (*SoftwareFactory) DeepCopyInto

func (in *SoftwareFactory) DeepCopyInto(out *SoftwareFactory)

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

func (*SoftwareFactory) DeepCopyObject

func (in *SoftwareFactory) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SoftwareFactoryList

type SoftwareFactoryList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []SoftwareFactory `json:"items"`
}

SoftwareFactoryList contains a list of SoftwareFactory

func (*SoftwareFactoryList) DeepCopy

func (in *SoftwareFactoryList) DeepCopy() *SoftwareFactoryList

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

func (*SoftwareFactoryList) DeepCopyInto

func (in *SoftwareFactoryList) DeepCopyInto(out *SoftwareFactoryList)

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

func (*SoftwareFactoryList) DeepCopyObject

func (in *SoftwareFactoryList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SoftwareFactorySpec

type SoftwareFactorySpec struct {

	// The fully qualified domain name to use with the deployment. Relevant services will be served
	// at https://`service`.`FQDN`
	FQDN string `json:"fqdn"`

	// LetsEncrypt settings for enabling using LetsEncrypt for Routes/TLS
	LetsEncrypt *LetsEncryptSpec `json:"letsEncrypt,omitempty"`

	// Enable log forwarding to a [Fluent Bit HTTP input](https://docs.fluentbit.io/manual/pipeline/inputs/http)
	FluentBitLogForwarding *FluentBitForwarderSpec `json:"FluentBitLogForwarding,omitempty"`

	// Default storage class to use by Persistent Volume Claims
	// +kubebuilder:default:=topolvm-provisioner
	StorageClassName string `json:"storageClassName,omitempty"`

	// Config repository spec
	ConfigRepositoryLocation ConfigRepositoryLocationSpec `json:"config-location,omitempty"`

	// Zuul service spec
	Zuul ZuulSpec `json:"zuul,omitempty"`

	// Nodepool services spec
	Nodepool NodepoolSpec `json:"nodepool,omitempty"`

	// Zookeeper service spec
	Zookeeper ZookeeperSpec `json:"zookeeper,omitempty"`

	// Logserver service spec
	// +kubebuilder:validation:Optional
	// +kubebuilder:default={"loopDelay": 3600, retentionDays: 60}
	Logserver LogServerSpecSettings `json:"logserver,omitempty"`

	// MariaDB service spec
	MariaDB MariaDBSpec `json:"mariadb,omitempty"`

	// Git server spec
	GitServer GitServerSpec `json:"gitserver,omitempty"`
}

SoftwareFactorySpec defines the desired state of SoftwareFactory

func (*SoftwareFactorySpec) DeepCopy

func (in *SoftwareFactorySpec) DeepCopy() *SoftwareFactorySpec

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

func (*SoftwareFactorySpec) DeepCopyInto

func (in *SoftwareFactorySpec) DeepCopyInto(out *SoftwareFactorySpec)

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

type SoftwareFactoryStatus

type SoftwareFactoryStatus BaseStatus

SoftwareFactoryStatus defines the observed state of SoftwareFactory

func (*SoftwareFactoryStatus) DeepCopy

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

func (*SoftwareFactoryStatus) DeepCopyInto

func (in *SoftwareFactoryStatus) DeepCopyInto(out *SoftwareFactoryStatus)

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

type StandaloneZuulExecutorSpec added in v0.0.27

type StandaloneZuulExecutorSpec struct {
	// This is the public hostname or IP where control plane's Zookeeper can be reached
	ControlPlanePublicZKHostname string `json:"controlPlanePublicZKHostname"`
	// This is the public hostname or IP where control plane's GitServer can be reached
	ControlPlanePublicGSHostname string `json:"controlPlanePublicGSHostname"`
	// This is the public host or IP address reachable from zuul-web
	PublicHostName string `json:"publicHostname"`
}

func (*StandaloneZuulExecutorSpec) DeepCopy added in v0.0.27

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

func (*StandaloneZuulExecutorSpec) DeepCopyInto added in v0.0.27

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

type StorageSpec

type StorageSpec struct {
	// Storage space to allocate to the resource, expressed as a [Quantity](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/)
	Size resource.Quantity `json:"size"`
	// Default storage class to use with Persistent Volume Claims issued by this resource. Consult your cluster's configuration to see what storage classes are available and recommended for your use case.
	ClassName string `json:"className,omitempty"`
}

func (*StorageSpec) DeepCopy

func (in *StorageSpec) DeepCopy() *StorageSpec

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

func (*StorageSpec) DeepCopyInto

func (in *StorageSpec) DeepCopyInto(out *StorageSpec)

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

type ZookeeperSpec

type ZookeeperSpec struct {
	Storage StorageSpec `json:"storage"`
}

func (*ZookeeperSpec) DeepCopy

func (in *ZookeeperSpec) DeepCopy() *ZookeeperSpec

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

func (*ZookeeperSpec) DeepCopyInto

func (in *ZookeeperSpec) DeepCopyInto(out *ZookeeperSpec)

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

type ZuulExecutorSpec

type ZuulExecutorSpec struct {
	// Storage-related settings
	Storage StorageSpec `json:"storage,omitempty"`
	// Specify the Log Level of the zuul-executor service.
	// Valid values are:
	// "INFO" (default),
	// "WARN",
	// "DEBUG".
	// Changing this value will restart the service.
	// +optional
	LogLevel LogLevel `json:"logLevel,omitempty"`
	// +kubebuilder:default:=true
	// +optional
	// If set to false, the zuul-executor deployment won't be applied
	Enabled *bool `json:"enabled,omitempty"`
	// When set the Control plane is not deployed.
	// The standalone executor must be able to connect to the control plane
	Standalone *StandaloneZuulExecutorSpec `json:"standalone,omitempty"`
}

Spec for the pool of executor microservices

func (*ZuulExecutorSpec) DeepCopy

func (in *ZuulExecutorSpec) DeepCopy() *ZuulExecutorSpec

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

func (*ZuulExecutorSpec) DeepCopyInto

func (in *ZuulExecutorSpec) DeepCopyInto(out *ZuulExecutorSpec)

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

type ZuulMergerSpec

type ZuulMergerSpec struct {
	// the [git_user_name](https://zuul-ci.org/docs/zuul/latest/configuration.html#attr-merger.git_user_name) parameter
	// +optional
	GitUserName string `json:"gitUserName,omitempty"`
	// the [git_user_email](https://zuul-ci.org/docs/zuul/latest/configuration.html#attr-merger.git_user_email) parameter
	// +optional
	GitUserEmail string `json:"gitUserEmail,omitempty"`
	// the [git_http_low_speed_limit](https://zuul-ci.org/docs/zuul/latest/configuration.html#attr-merger.git_http_low_speed_limit) parameter
	// +kubebuilder:validation:Minimum:=0
	GitHTTPLowSpeedLimit int32 `json:"gitHttpLowSpeedLimit,omitempty"`
	// the [git_http_low_speed_time](https://zuul-ci.org/docs/zuul/latest/configuration.html#attr-merger.git_http_low_speed_time) parameter
	// +kubebuilder:validation:Minimum:=0
	GitHTTPLowSpeedTime int32 `json:"gitHttpLowSpeedTime,omitempty"`
	// the [git_timeout](https://zuul-ci.org/docs/zuul/latest/configuration.html#attr-merger.git_timeout) parameter
	// +kubebuilder:validation:Minimum:=1
	GitTimeout int32 `json:"gitTimeout,omitempty"`
	// Storage-related settings
	Storage StorageSpec `json:"storage,omitempty"`
	// Specify the Log Level of the nodepool launcher service.
	// Valid values are:
	// "INFO" (default),
	// "WARN",
	// "DEBUG".
	// Changing this value will restart the service.
	// +optional
	LogLevel LogLevel `json:"logLevel,omitempty"`
}

Zuul Merger Configuration, see [Zuul's documentation](https://zuul-ci.org/docs/zuul/latest/configuration.html#merger)

func (*ZuulMergerSpec) DeepCopy

func (in *ZuulMergerSpec) DeepCopy() *ZuulMergerSpec

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

func (*ZuulMergerSpec) DeepCopyInto

func (in *ZuulMergerSpec) DeepCopyInto(out *ZuulMergerSpec)

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

type ZuulOIDCAuthenticatorSpec

type ZuulOIDCAuthenticatorSpec struct {
	// The [name of the authenticator in Zuul's configuration](https://zuul-ci.org/docs/zuul/latest/configuration.html#attr-auth%20%3Cauthenticator%20name%3E)
	Name string `json:"name"`
	// Authentication realm, equivalent to the [realm](https://zuul-ci.org/docs/zuul/latest/configuration.html#attr-auth%20%3Cauthenticator%20name%3E.realm) parameter
	Realm string `json:"realm"`
	// The client ID, as exposed in the `aud` claim of a JWT. Equivalent to the [client_id](https://zuul-ci.org/docs/zuul/latest/configuration.html#attr-auth%20%3Cauthenticator%20name%3E.client_id) parameter
	ClientID string `json:"clientID"`
	// The issuer ID, as exposed in the `iss` claim of a JWT. Equivalent to the [issuer_id](https://zuul-ci.org/docs/zuul/latest/configuration.html#attr-auth%20%3Cauthenticator%20name%3E.issuer_id) parameter
	IssuerID string `json:"issuerID"`
	// +kubebuilder:default:=sub
	// The JWT claim to use as a unique identifier in audit logs, equivalent to the [uid_claim](https://zuul-ci.org/docs/zuul/latest/configuration.html#attr-auth%20%3Cauthenticator%20name%3E.uid_claim) parameter
	UIDClaim string `json:"uidClaim,omitempty"`
	// Optionally override the `expires_at` claim in a JWT to enforce a custom expiration time on a token. Equivalent to the [max_validity_time](https://zuul-ci.org/docs/zuul/latest/configuration.html#attr-auth%20%3Cauthenticator%20name%3E.max_validity_time) parameter
	MaxValidityTime int32 `json:"maxValidityTime,omitempty"`
	// +kubebuilder:default:=0
	// Optionally compensate for skew between Zuul's and the Identity Provider's clocks, equivalent to the [skew](https://zuul-ci.org/docs/zuul/latest/configuration.html#attr-auth%20%3Cauthenticator%20name%3E.skew) parameter
	Skew int32 `json:"skew,omitempty"`
	// Optionally provide a URL to fetch the Identity Provider's key set, equivalent to the [keys_url](https://zuul-ci.org/docs/zuul/latest/configuration.html#attr-keys_url) parameter
	KeysURL string `json:"keysURL,omitempty"`
	// +kubebuilder:default:="openid profile"
	// The scope used to fetch a user's details, equivalent to the [scope](https://zuul-ci.org/docs/zuul/latest/configuration.html#attr-scope) parameter
	Scope string `json:"scope,omitempty"`
	// Optionally provide the claim where the authority is set if not in `iss`, equivalent to the [authority](https://zuul-ci.org/docs/zuul/latest/configuration.html#attr-authority) parameter
	Authority string `json:"authority,omitempty"`
	// Optionally provide the claim where the audience is set if not in `aud`, equivalent to the [audience](https://zuul-ci.org/docs/zuul/latest/configuration.html#attr-audience) parameter
	Audience string `json:"audience,omitempty"`
	// +kubebuilder:default:=true
	// If set to false, zuul-web will skip loading the Identity Provider's `userinfo` endpoint and rely on what's available in the JWT. Equivalent to the [load_user_info](https://zuul-ci.org/docs/zuul/latest/configuration.html#attr-load_user_info) parameter
	LoadUserInfo bool `json:"loadUserInfo,omitempty"`
}

The description of an OpenIDConnect authenticator, see [Zuul's authentication documentation](https://zuul-ci.org/docs/zuul/latest/configuration.html#authentication)

func (*ZuulOIDCAuthenticatorSpec) DeepCopy

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

func (*ZuulOIDCAuthenticatorSpec) DeepCopyInto

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

type ZuulSchedulerSpec

type ZuulSchedulerSpec struct {
	// Storage-related settings
	Storage StorageSpec `json:"storage,omitempty"`
	// The address to forward statsd metrics to (optional), in the form "host:port"
	StatsdTarget string `json:"statsdTarget,omitempty"`
	// Specify the Log Level of the zuul-scheduler service.
	// Valid values are:
	// "INFO" (default),
	// "WARN",
	// "DEBUG".
	// Changing this value will restart the service.
	// +optional
	LogLevel LogLevel `json:"logLevel,omitempty"`
}

Spec for the scheduler microservice

func (*ZuulSchedulerSpec) DeepCopy

func (in *ZuulSchedulerSpec) DeepCopy() *ZuulSchedulerSpec

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

func (*ZuulSchedulerSpec) DeepCopyInto

func (in *ZuulSchedulerSpec) DeepCopyInto(out *ZuulSchedulerSpec)

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

type ZuulSpec

type ZuulSpec struct {
	// A list of OpenID Connect authenticators that will enable admin API access on zuul-web
	OIDCAuthenticators []ZuulOIDCAuthenticatorSpec `json:"oidcAuthenticators,omitempty"`
	// The name of the default authenticator to use if no authenticator is bound explicitly to a tenant with zuul-web
	DefaultAuthenticator string `json:"defaultAuthenticator,omitempty"`
	// The list of Gerrit-based connections to add to Zuul's configuration
	GerritConns []GerritConnection `json:"gerritconns,omitempty"`
	// The list of GitHub-based connections to add to Zuul's configuration
	GitHubConns []GitHubConnection `json:"githubconns,omitempty"`
	// The list of GitLab-based connections to add to Zuul's configuration
	GitLabConns []GitLabConnection `json:"gitlabconns,omitempty"`
	// The list of Git-based connections to add to Zuul's configuration
	GitConns []GitConnection `json:"gitconns,omitempty"`
	// The list of Pagure-based connections to add to Zuul's configuration
	PagureConns []PagureConnection `json:"pagureconns,omitempty"`
	// The list of ElasticSearch-based connections to add to Zuul's configuration
	ElasticSearchConns []ElasticSearchConnection `json:"elasticsearchconns,omitempty"`
	// Configuration of the executor microservices
	Executor ZuulExecutorSpec `json:"executor,omitempty"`
	// Configuration of the scheduler microservice
	Scheduler ZuulSchedulerSpec `json:"scheduler,omitempty"`
	// Configuration of the web microservice
	Web ZuulWebSpec `json:"web,omitempty"`
	// Configuration of the merger microservice
	Merger ZuulMergerSpec `json:"merger,omitempty"`
}

Configuration of the Zuul service

func (*ZuulSpec) DeepCopy

func (in *ZuulSpec) DeepCopy() *ZuulSpec

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

func (*ZuulSpec) DeepCopyInto

func (in *ZuulSpec) DeepCopyInto(out *ZuulSpec)

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

type ZuulWebSpec

type ZuulWebSpec struct {
	// Specify the Log Level of the zuul-web launcher service.
	// Valid values are:
	// "INFO" (default),
	// "WARN",
	// "DEBUG".
	// Changing this value will restart the service.
	// +optional
	LogLevel LogLevel `json:"logLevel,omitempty"`
}

func (*ZuulWebSpec) DeepCopy

func (in *ZuulWebSpec) DeepCopy() *ZuulWebSpec

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

func (*ZuulWebSpec) DeepCopyInto

func (in *ZuulWebSpec) DeepCopyInto(out *ZuulWebSpec)

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