Skip to content

API Reference

Packages

sf.softwarefactory-project.io/v1

Package v1 contains API Schema definitions for the sf v1 API group

Resource Types

BaseStatus

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

Appears in: - SoftwareFactoryStatus

Field Description Default Value
ready boolean The deployment status. -
observedGeneration integer The Generation of the related Custom Resource that was last processed by the operator controller -
reconciledBy string The name of the operator handling this Custom Resource's reconciliation -
conditions Condition array Information about ongoing or completed reconciliation processes between the Log server spec and the observed state of the cluster -

ConfigRepositoryLocationSpec

Appears in: - SoftwareFactorySpec

Field Description Default Value
base-url string 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>/ -
name string The name of the config repository. This value is appended to base-url to clone the repository -
branch string The branch of the config repository. This value is set to the load-branch. -
zuul-connection-name string Name of the Zuul connection through which Zuul can handle git events on the config repository -
k8s-api-url string 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
-
logserver-host string 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
-

ElasticSearchConnection

Describes a Zuul connection using the ElasticSearch driver. When an optional parameter is not specified then Zuul's defaults apply

Appears in: - ZuulSpec

Field Description Default Value
name string How the connection will be named in Zuul's configuration and appear in zuul-web -
uri string uri -
useSSL boolean useSSL -
verifyCerts boolean verifyCerts -

FluentBitForwarderSpec

Appears in: - SoftwareFactorySpec

Field Description Default Value
debug boolean Run fluent bit sidecars in debug mode. This will output forwarded payloads and additional info in the sidecar's logs. Defaults to false. {false}
forwardInputHost string The Host for the Fluent Bit Forward Input to forward logs to. -
forwardInputPort integer The (optional) port of the forward input, defaults to 24224. {24224}

GerritConnection

Describes a Zuul connection using the gerrit driver When an optional parameter is not specified then Zuul's defaults apply

Appears in: - ZuulSpec

Field Description Default Value
name string How the connection will be named in Zuul's configuration and appear in zuul-web -
hostname string The gerrit server hostname. Equivalent to the server parameter. -
port integer SSH port number to the Gerrit instance. Equivalent to the port parameter. -
puburl string URL to Gerrit's web interface. the baseurl parameter. -
username string Username that Zuul will use to authenticate on the Gerrit instance. Equivalent to the user parameter. -
canonicalhostname string The canonical hostname associated with the git repositories on the Gerrit server. Equivalent to the canonical_hostname parameter. -
password string 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 parameter. -
sshkey string The name of a Kubernetes secret holding the Gerrit user's SSH key. The secret's data must have a key called "priv". -
git-over-ssh boolean Set to true to force git operations over SSH even if the password attribute is set. Equivalent to the git_over_ssh parameter. -
verifyssl boolean Disable SSL certificate verification with the Gerrit instance when set to false. Equivalent to the verify_ssl parameter. -

GitConnection

Describes a Zuul connection using the git driver. When an optional parameter is not specified then Zuul's defaults apply

Appears in: - ZuulSpec

Field Description Default Value
name string How the connection will be named in Zuul's configuration and appear in zuul-web -
baseurl string baseurl -
pollDelay integer poolDelay -

GitHubConnection

Describes a Zuul connection using the github driver.

Appears in: - ZuulSpec

Field Description Default Value
name string How the connection will be named in Zuul's configuration and appear in zuul-web -
appID integer GitHub appID -
secrets string Name of the secret which contains the following keys:

app_key must be defined if appId is defined

api_token(optional)

webhook_token (optional)

The keys must have the same name as above
-
server string the server -
canonicalHostname string the canonical_hostname parameter -
verifySsl boolean the verify_ssl parameter {true}

GitLabConnection

Describes a Zuul connection using the gitlab driver.

Appears in: - ZuulSpec

Field Description Default Value
name string How the connection will be named in Zuul's configuration and appear in zuul-web -
server string the server -
canonicalHostname string the canonicalHostname -
baseUrl string the (baseUrl)[https://zuul-ci.org/docs/zuul/latest/drivers/gitlab.html#attr-%3Cgitlab%20connection%3E.baseurl) -
secrets string Name of the secret which containes the following keys:

the api_token

the api_token_name

the webhook_token
-
apiTokenName string the apiTokenName -
cloneUrl string the cloneUrl -
keepAlive integer the keepAlive -
disableConnectionPool boolean the disableConnectionPool -

GitServerSpec

Appears in: - SoftwareFactorySpec

Field Description Default Value
storage StorageSpec -

LEServer

Underlying type: string

Appears in: - LetsEncryptSpec

LimitsSpec

Appears in: - MariaDBSpec - NodepoolBuilderSpec - NodepoolLauncherSpec - ZookeeperSpec - ZuulExecutorSpec - ZuulMergerSpec - ZuulSchedulerSpec - ZuulWebSpec

Field Description Default Value
memory Quantity {2Gi}
cpu Quantity {2000m}

LogLevel

Underlying type: string

Appears in: - NodepoolBuilderSpec - NodepoolLauncherSpec - ZuulExecutorSpec - ZuulMergerSpec - ZuulSchedulerSpec - ZuulWebSpec

LogServerSpec

LogServerSpec defines the desired state of LogServer

Appears in: - SoftwareFactorySpec

Field Description Default Value
retentionDays integer Logs retention time in days. Logs older than this setting in days will be purged by a pruning cronjob. Defaults to 60 days {60}
loopDelay integer The frequency, in seconds, at which the log pruning cronjob is running. Defaults to 3600s, i.e. logs are checked for pruning every hour {3600}
storage StorageSpec Storage-related settings -

MariaDBSpec

Appears in: - SoftwareFactorySpec

Field Description Default Value
dbStorage StorageSpec Storage parameters related to mariaDB's data -
logStorage StorageSpec Storage parameters related to the database's logging -
limits LimitsSpec Memory/CPU Limit {map[cpu:2000m memory:2Gi]}

NodepoolBuilderSpec

Appears in: - NodepoolSpec

Field Description Default Value
storage StorageSpec Storage related settings -
logLevel LogLevel Specify the Log Level of the nodepool launcher process.

Valid values are:

"INFO" (default),

"WARN",

"DEBUG".
INFO
limits LimitsSpec Memory/CPU Limit {map[cpu:2000m memory:2Gi]}

NodepoolLauncherSpec

Appears in: - NodepoolSpec

Field Description Default Value
logLevel LogLevel Specify the Log Level of the nodepool launcher service.

Valid values are:

"INFO" (default),

"WARN",

"DEBUG".

Changing this value will restart the service.
INFO
limits LimitsSpec Memory/CPU Limit {map[cpu:2000m memory:2Gi]}

NodepoolSpec

Appears in: - SoftwareFactorySpec

Field Description Default Value
launcher NodepoolLauncherSpec Nodepool-launcher related settings -
builder NodepoolBuilderSpec Nodepool-builder related settings -
statsdTarget string The address to forward statsd metrics to (optional), in the form "host:port" -

PagureConnection

Describes a Zuul connection using the pagure driver.

Appears in: - ZuulSpec

Field Description Default Value
name string How the connection will be named in Zuul's configuration and appear in zuul-web -
server string the server -
canonicalHostname string the canonicalHostname -
baseUrl string the (baseUrl)[https://zuul-ci.org/docs/zuul/latest/drivers/pagure.html#attr-%3Cpagure%20connection%3E.baseurl) -
secrets string Name of the secret which containes the following keys:

the api_token
-
appName string the appName -
cloneUrl string the cloneUrl -
sourceWhitelist string the sourceWhitelist -

SMTPConnection

Describes a Zuul connection using the SMTP driver. When an optional parameter is not specified then Zuul's defaults apply

Appears in: - ZuulSpec

Field Description Default Value
name string How the connection will be named in Zuul's configuration and appear in zuul-web -
server string server -
port integer port -
defaultFrom string default_from -
defaultTo string default_to -
user string user -
password string password -
tls boolean use_starttls -

Secret

Appears in: - SecretRef

Field Description Default Value
name string Name of the referent.

More info on kubernetes' documentation.
-
key string The key of the secret to select from. Must be a valid secret key. -

SoftwareFactory

SoftwareFactory is the Schema for the softwarefactories API

Appears in: - SoftwareFactoryList

Field Description Default Value
apiVersion string sf.softwarefactory-project.io/v1 -
kind string SoftwareFactory -
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata. -
spec SoftwareFactorySpec -

SoftwareFactoryList

SoftwareFactoryList contains a list of SoftwareFactory

Field Description Default Value
apiVersion string sf.softwarefactory-project.io/v1 -
kind string SoftwareFactoryList -
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata. -
items SoftwareFactory array -

SoftwareFactorySpec

SoftwareFactorySpec defines the desired state of SoftwareFactory

Appears in: - SoftwareFactory

Field Description Default Value
fqdn string The fully qualified domain name to use with the deployment. Relevant services will be served

at https://service.FQDN
-
FluentBitLogForwarding FluentBitForwarderSpec Enable log forwarding to a Fluent Bit HTTP input -
storageDefault StorageDefaultSpec Default setting to use by Persistent Volume Claims -
extraLabels object (keys:string, values:string) Whether you need to add extra labels on all managed resources -
prometheusMonitorsDisabled boolean Set to true to disable deployment of PodMonitors and related Prometheus resource {false}
config-location ConfigRepositoryLocationSpec Config repository spec -
zuul ZuulSpec Zuul service spec -
nodepool NodepoolSpec Nodepool services spec -
zookeeper ZookeeperSpec Zookeeper service spec -
logserver LogServerSpec Logserver service spec {map[loopDelay:3600 retentionDays:60]}
mariadb MariaDBSpec MariaDB service spec -
gitserver GitServerSpec Git server spec -

StandaloneZuulExecutorSpec

Appears in: - ZuulExecutorSpec

Field Description Default Value
controlPlanePublicZKHostname string This is the public hostname or IP where control plane's Zookeeper can be reached -
controlPlanePublicGSHostname string This is the public hostname or IP where control plane's GitServer can be reached -
publicHostname string This is the public host or IP address reachable from zuul-web -

StorageDefaultSpec

Appears in: - SoftwareFactorySpec

Field Description Default Value
className string 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. {topolvm-provisioner}
extraAnnotations object (keys:string, values:string) Whether you need to add extra annotations to the Persistent Volume Claims -

StorageSpec

Appears in: - GitServerSpec - LogServerSpec - MariaDBSpec - NodepoolBuilderSpec - ZookeeperSpec - ZuulExecutorSpec - ZuulMergerSpec - ZuulSchedulerSpec

Field Description Default Value
size Quantity Storage space to allocate to the resource, expressed as a Quantity -
className string 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. -

ZookeeperSpec

Appears in: - SoftwareFactorySpec

Field Description Default Value
storage StorageSpec -
limits LimitsSpec Memory/CPU Limit {map[cpu:2000m memory:2Gi]}

ZuulExecutorSpec

Spec for the pool of executor microservices

Appears in: - ZuulSpec

Field Description Default Value
storage StorageSpec Storage-related settings -
logLevel LogLevel Specify the Log Level of the zuul-executor service.

Valid values are:

"INFO" (default),

"WARN",

"DEBUG".

Changing this value will restart the service.
INFO
enabled boolean If set to false, the zuul-executor deployment won't be applied {true}
standalone StandaloneZuulExecutorSpec When set the Control plane is not deployed.

The standalone executor must be able to connect to the control plane
-
limits LimitsSpec Memory/CPU Limit {map[cpu:2000m memory:2Gi]}
diskLimitPerJob integer the disk_limit_per_job {250}

ZuulMergerSpec

Zuul Merger Configuration, see Zuul's documentation

Appears in: - ZuulSpec

Field Description Default Value
gitUserName string the git_user_name parameter -
gitUserEmail string the git_user_email parameter -
gitHttpLowSpeedLimit integer the git_http_low_speed_limit parameter -
gitHttpLowSpeedTime integer the git_http_low_speed_time parameter -
gitTimeout integer the git_timeout parameter -
storage StorageSpec Storage-related settings -
logLevel LogLevel Specify the Log Level of the nodepool launcher service.

Valid values are:

"INFO" (default),

"WARN",

"DEBUG".

Changing this value will restart the service.
INFO
limits LimitsSpec Memory/CPU Limit {map[cpu:2000m memory:2Gi]}

ZuulOIDCAuthenticatorSpec

The description of an OpenIDConnect authenticator, see Zuul's authentication documentation

Appears in: - ZuulSpec

Field Description Default Value
name string The name of the authenticator in Zuul's configuration -
realm string Authentication realm, equivalent to the realm parameter -
clientID string The client ID, as exposed in the aud claim of a JWT. Equivalent to the client_id parameter -
issuerID string The issuer ID, as exposed in the iss claim of a JWT. Equivalent to the issuer_id parameter -
uidClaim string The JWT claim to use as a unique identifier in audit logs, equivalent to the uid_claim parameter {sub}
maxValidityTime integer Optionally override the expires_at claim in a JWT to enforce a custom expiration time on a token. Equivalent to the max_validity_time parameter -
skew integer Optionally compensate for skew between Zuul's and the Identity Provider's clocks, equivalent to the skew parameter {0}
keysURL string Optionally provide a URL to fetch the Identity Provider's key set, equivalent to the keys_url parameter -
scope string The scope used to fetch a user's details, equivalent to the scope parameter {openid profile}
authority string Optionally provide the claim where the authority is set if not in iss, equivalent to the authority parameter -
audience string Optionally provide the claim where the audience is set if not in aud, equivalent to the audience parameter -
loadUserInfo boolean 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 parameter {true}

ZuulSchedulerSpec

Spec for the scheduler microservice

Appears in: - ZuulSpec

Field Description Default Value
storage StorageSpec Storage-related settings -
statsdTarget string The address to forward statsd metrics to (optional), in the form "host:port" -
logLevel LogLevel Specify the Log Level of the zuul-scheduler service.

Valid values are:

"INFO" (default),

"WARN",

"DEBUG".

Changing this value will restart the service.
INFO
limits LimitsSpec Memory/CPU Limit {map[cpu:2000m memory:2Gi]}
DefaultHoldExpiration integer the DefaultHoldExpiration -
MaxHoldExpiration integer the MaxHoldExpiration -

ZuulSpec

Configuration of the Zuul service

Appears in: - SoftwareFactorySpec

Field Description Default Value
oidcAuthenticators ZuulOIDCAuthenticatorSpec array A list of OpenID Connect authenticators that will enable admin API access on zuul-web -
defaultAuthenticator string The name of the default authenticator to use if no authenticator is bound explicitly to a tenant with zuul-web -
gerritconns GerritConnection array The list of Gerrit-based connections to add to Zuul's configuration -
githubconns GitHubConnection array The list of GitHub-based connections to add to Zuul's configuration -
gitlabconns GitLabConnection array The list of GitLab-based connections to add to Zuul's configuration -
gitconns GitConnection array The list of Git-based connections to add to Zuul's configuration -
pagureconns PagureConnection array The list of Pagure-based connections to add to Zuul's configuration -
elasticsearchconns ElasticSearchConnection array The list of ElasticSearch-based connections to add to Zuul's configuration -
smtpconns SMTPConnection array The list of SMTP-based connections to add to Zuul's configuration -
executor ZuulExecutorSpec Configuration of the executor microservices -
scheduler ZuulSchedulerSpec Configuration of the scheduler microservice -
web ZuulWebSpec Configuration of the web microservice -
merger ZuulMergerSpec Configuration of the merger microservice -

ZuulWebSpec

Appears in: - ZuulSpec

Field Description Default Value
logLevel LogLevel Specify the Log Level of the zuul-web launcher service.

Valid values are:

"INFO" (default),

"WARN",

"DEBUG".

Changing this value will restart the service.
INFO
limits LimitsSpec Memory/CPU Limit {map[cpu:2000m memory:2Gi]}