Skip to content

Custom Resource Definitions

This document gives details about the Custom Resource Definitions (CRDs) that the SF-Operator installs on a cluster.

The specs are constantly evolving during alpha development and should be considered unstable, but they are the ultimate source of truth for documentation about their properties.

  1. SoftwareFactory

SoftwareFactory

This custom resource describes a Software Factory instance.

```yaml

apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.18.0 name: softwarefactories.sf.softwarefactory-project.io spec: group: sf.softwarefactory-project.io names: kind: SoftwareFactory listKind: SoftwareFactoryList plural: softwarefactories shortNames: - sf singular: softwarefactory scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .status.ready name: Ready type: boolean - description: Status jsonPath: .status.conditions[0].status name: Status type: string - description: Message jsonPath: .status.conditions[0].message name: Message type: string name: v1 schema: openAPIV3Schema: description: SoftwareFactory is the Schema for the softwarefactories API properties: apiVersion: description: |- APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: description: |- Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object spec: description: SoftwareFactorySpec defines the desired state of SoftwareFactory properties: FluentBitLogForwarding: description: Enable log forwarding to a Fluent Bit HTTP input properties: debug: default: false description: Run fluent bit sidecars in debug mode. This will output forwarded payloads and additional info in the sidecar's logs. Defaults to false. type: boolean forwardInputHost: description: The Host for the Fluent Bit Forward Input to forward logs to. type: string forwardInputPort: default: 24224 description: The (optional) port of the forward input, defaults to 24224. format: int32 type: integer required: - forwardInputHost type: object codesearch: description: Codesearch service spec properties: enabled: default: true description: If set to false, the service won't be deployed type: boolean limits: default: cpu: 500m memory: 2Gi description: Memory/CPU Limit properties: cpu: anyOf: - type: integer - type: string default: 500m pattern: ^(+|-)?(([0-9]+(.[0-9])?)|(.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|(eE?(([0-9]+(.[0-9])?)|(.[0-9]+))))?$ x-kubernetes-int-or-string: true memory: anyOf: - type: integer - type: string default: 2Gi pattern: ^(+|-)?(([0-9]+(.[0-9])?)|(.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|(eE?(([0-9]+(.[0-9])?)|(.[0-9]+))))?$ x-kubernetes-int-or-string: true required: - cpu - memory type: object storage: properties: className: description: 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. type: string size: anyOf: - type: integer - type: string description: Storage space to allocate to the resource, expressed as a Quantity pattern: ^(+|-)?(([0-9]+(.[0-9])?)|(.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|(eE?(([0-9]+(.[0-9])?)|(.[0-9]+))))?$ x-kubernetes-int-or-string: true required: - size type: object type: object config-location: description: Config repository spec properties: branch: description: The branch of the config repository. This value is set to the load-branch. type: string k8s-api-url: description: |- 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 type: string logserver-host: description: |- 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 type: string name: description: The name of the config repository. This value is appended to the base-url of the connection to clone the repository minLength: 1 type: string zuul-connection-name: description: Name of the Zuul connection through which Zuul can handle git events on the config repository minLength: 1 type: string required: - name - zuul-connection-name type: object extraLabels: additionalProperties: type: string description: Whether you need to add extra labels on all managed resources type: object fqdn: description: |- The fully qualified domain name to use with the deployment. Relevant services will be served at https://service.FQDN type: string gateway: description: Gateway spec properties: extraConfigurationConfigMap: description: Name of a configmap containing extra httpd configuration file(s). the default gateway config is prefixed by "99-", meaning it is possible to control whether the extra config files are loaded first or not. type: string extraStaticFilesConfigMap: description: Optional configmap containing file(s) to mount in /var/www/html/ - it is implied these static files are to be used with any extra config added above. type: string required: - extraConfigurationConfigMap type: object gitserver: description: Git server spec properties: storage: properties: className: description: 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. type: string size: anyOf: - type: integer - type: string description: Storage space to allocate to the resource, expressed as a Quantity pattern: ^(+|-)?(([0-9]+(.[0-9])?)|(.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|(eE?(([0-9]+(.[0-9])?)|(.[0-9]+))))?$ x-kubernetes-int-or-string: true required: - size type: object type: object hostaliases: description: HostAliases items: properties: hostnames: items: type: string type: array ip: type: string required: - hostnames - ip type: object type: array logjuicer: description: Logjuicer service spec properties: className: description: 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. type: string size: anyOf: - type: integer - type: string description: Storage space to allocate to the resource, expressed as a Quantity pattern: ^(+|-)?(([0-9]+(.[0-9])?)|(.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|(eE?(([0-9]+(.[0-9])?)|(.[0-9]+))))?$ x-kubernetes-int-or-string: true required: - size type: object logserver: default: loopDelay: 3600 retentionDays: 60 description: Logserver service spec properties: loopDelay: default: 3600 description: The frequency, in seconds, at which the log pruning cronjob is running. Defaults to 3600s, i.e. logs are checked for pruning every hour minimum: 1 type: integer podAnnotations: additionalProperties: type: string description: Optional annotations to add to the logserver pod template (e.g. io.kubernetes.cri-o.TrySkipVolumeSELinuxLabel for CRI-O) type: object retentionDays: default: 60 description: Logs retention time in days. Logs older than this setting in days will be purged by a pruning cronjob. Defaults to 60 days minimum: 1 type: integer storage: description: Storage-related settings properties: className: description: 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. type: string size: anyOf: - type: integer - type: string description: Storage space to allocate to the resource, expressed as a Quantity pattern: ^(+|-)?(([0-9]+(.[0-9])?)|(.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|(eE?(([0-9]+(.[0-9])?)|(.[0-9]+))))?$ x-kubernetes-int-or-string: true required: - size type: object type: object mariadb: description: MariaDB service spec properties: dbStorage: description: Storage parameters related to mariaDB's data properties: className: description: 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. type: string size: anyOf: - type: integer - type: string description: Storage space to allocate to the resource, expressed as a Quantity pattern: ^(+|-)?(([0-9]+(.[0-9])?)|(.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|(eE?(([0-9]+(.[0-9])?)|(.[0-9]+))))?$ x-kubernetes-int-or-string: true required: - size type: object limits: default: cpu: 500m memory: 2Gi description: Memory/CPU Limit properties: cpu: anyOf: - type: integer - type: string default: 500m pattern: ^(+|-)?(([0-9]+(.[0-9])?)|(.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|(eE?(([0-9]+(.[0-9])?)|(.[0-9]+))))?$ x-kubernetes-int-or-string: true memory: anyOf: - type: integer - type: string default: 2Gi pattern: ^(+|-)?(([0-9]+(.[0-9])?)|(.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|(eE?(([0-9]+(.[0-9])?)|(.[0-9]+))))?$ x-kubernetes-int-or-string: true required: - cpu - memory type: object logStorage: description: Storage parameters related to the database's logging properties: className: description: 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. type: string size: anyOf: - type: integer - type: string description: Storage space to allocate to the resource, expressed as a Quantity pattern: ^(+|-)?(([0-9]+(.[0-9])?)|(.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|(eE?(([0-9]+(.[0-9])?)|(.[0-9]+))))?$ x-kubernetes-int-or-string: true required: - size type: object type: object nodepool: description: Nodepool services spec properties: builder: description: Nodepool-builder related settings properties: limits: default: cpu: 500m memory: 2Gi description: Memory/CPU Limit properties: cpu: anyOf: - type: integer - type: string default: 500m pattern: ^(+|-)?(([0-9]+(.[0-9])?)|(.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|(eE?(([0-9]+(.[0-9])?)|(.[0-9]+))))?$ x-kubernetes-int-or-string: true memory: anyOf: - type: integer - type: string default: 2Gi pattern: ^(+|-)?(([0-9]+(.[0-9])?)|(.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|(eE?(([0-9]+(.[0-9])?)|(.[0-9]+))))?$ x-kubernetes-int-or-string: true required: - cpu - memory type: object logLevel: description: |- Specify the Log Level of the nodepool launcher process. Valid values are: "INFO" (default), "WARN", "DEBUG". enum: - INFO - WARN - DEBUG type: string storage: description: Storage related settings properties: className: description: 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. type: string size: anyOf: - type: integer - type: string description: Storage space to allocate to the resource, expressed as a Quantity pattern: ^(+|-)?(([0-9]+(.[0-9])?)|(.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|(eE?(([0-9]+(.[0-9])?)|(.[0-9]+))))?$ x-kubernetes-int-or-string: true required: - size type: object type: object launcher: description: Nodepool-launcher related settings properties: limits: default: cpu: 500m memory: 2Gi description: Memory/CPU Limit properties: cpu: anyOf: - type: integer - type: string default: 500m pattern: ^(+|-)?(([0-9]+(.[0-9])?)|(.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|(eE?(([0-9]+(.[0-9])?)|(.[0-9]+))))?$ x-kubernetes-int-or-string: true memory: anyOf: - type: integer - type: string default: 2Gi pattern: ^(+|-)?(([0-9]+(.[0-9])?)|(.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|(eE?(([0-9]+(.[0-9])?)|(.[0-9]+))))?$ x-kubernetes-int-or-string: true required: - cpu - memory type: object logLevel: description: |- Specify the Log Level of the nodepool launcher service. Valid values are: "INFO" (default), "WARN", "DEBUG". Changing this value will restart the service. enum: - INFO - WARN - DEBUG type: string type: object statsdTarget: description: The address to forward statsd metrics to (optional), in the form "host:port" type: string type: object storageDefault: description: Default setting to use by Persistent Volume Claims properties: className: description: 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. type: string extraAnnotations: additionalProperties: type: string description: Whether you need to add extra annotations to the Persistent Volume Claims type: object type: object zookeeper: description: Zookeeper service spec properties: limits: default: cpu: 500m memory: 2Gi description: Memory/CPU Limit properties: cpu: anyOf: - type: integer - type: string default: 500m pattern: ^(+|-)?(([0-9]+(.[0-9])?)|(.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|(eE?(([0-9]+(.[0-9])?)|(.[0-9]+))))?$ x-kubernetes-int-or-string: true memory: anyOf: - type: integer - type: string default: 2Gi pattern: ^(+|-)?(([0-9]+(.[0-9])?)|(.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|(eE?(([0-9]+(.[0-9])?)|(.[0-9]+))))?$ x-kubernetes-int-or-string: true required: - cpu - memory type: object storage: properties: className: description: 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. type: string size: anyOf: - type: integer - type: string description: Storage space to allocate to the resource, expressed as a Quantity pattern: ^(+|-)?(([0-9]+(.[0-9])?)|(.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|(eE?(([0-9]+(.[0-9])?)|(.[0-9]+))))?$ x-kubernetes-int-or-string: true required: - size type: object type: object zuul: description: Zuul service spec properties: defaultAuthenticator: description: The name of the default authenticator to use if no authenticator is bound explicitly to a tenant with zuul-web type: string elasticsearchconns: description: The list of ElasticSearch-based connections to add to Zuul's configuration items: description: |- Describes a Zuul connection using the ElasticSearch driver. When an optional parameter is not specified then Zuul's defaults apply properties: basicAuthSecret: description: |- If the connection requires basic authentication, the name of the secret containing the following keys: * username * password type: string name: description: How the connection will be named in Zuul's configuration and appear in zuul-web type: string uri: description: 'uri' type: string useSSL: description: 'useSSL' type: boolean verifyCerts: description: 'verifyCerts' type: boolean required: - name - uri type: object type: array executor: description: Configuration of the executor microservices properties: TerminationGracePeriodSeconds: default: 7200 format: int64 minimum: 1 type: integer diskLimitPerJob: default: 250 description: the disk_limit_per_job minimum: -1 type: integer enabled: default: true description: If set to false, the zuul-executor deployment won't be applied type: boolean limits: default: cpu: 500m memory: 2Gi description: Memory/CPU Limit properties: cpu: anyOf: - type: integer - type: string default: 500m pattern: ^(+|-)?(([0-9]+(.[0-9])?)|(.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|(eE?(([0-9]+(.[0-9])?)|(.[0-9]+))))?$ x-kubernetes-int-or-string: true memory: anyOf: - type: integer - type: string default: 2Gi pattern: ^(+|-)?(([0-9]+(.[0-9])?)|(.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|(eE?(([0-9]+(.[0-9])?)|(.[0-9]+))))?$ x-kubernetes-int-or-string: true required: - cpu - memory type: object logLevel: description: |- Specify the Log Level of the zuul-executor service. Valid values are: "INFO" (default), "WARN", "DEBUG". Changing this value will restart the service. enum: - INFO - WARN - DEBUG type: string standalone: description: |- When set the Control plane is not deployed. The standalone executor must be able to connect to the control plane properties: controlPlanePublicGSHostname: description: This is the public hostname or IP where control plane's GitServer can be reached type: string controlPlanePublicZKHostname: description: This is the public hostname or IP where control plane's Zookeeper can be reached type: string controlPlanePublicZKHostnames: description: This is the public hostnames or IPs where control plane's Zookeepers can be reached items: type: string type: array publicHostname: description: This is the public host or IP address reachable from zuul-web type: string required: - controlPlanePublicGSHostname - controlPlanePublicZKHostname - publicHostname type: object storage: description: Storage-related settings properties: className: description: 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. type: string size: anyOf: - type: integer - type: string description: Storage space to allocate to the resource, expressed as a Quantity pattern: ^(+|-)?(([0-9]+(.[0-9])?)|(.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|(eE?(([0-9]+(.[0-9])?)|(.[0-9]+))))?$ x-kubernetes-int-or-string: true required: - size type: object type: object gerritconns: description: The list of Gerrit-based connections to add to Zuul's configuration items: description: |- Describes a Zuul connection using the gerrit driver When an optional parameter is not specified then Zuul's defaults apply properties: canonicalhostname: description: The canonical hostname associated with the git repositories on the Gerrit server. Equivalent to the canonical_hostname parameter. type: string git-over-ssh: description: Set to true to force git operations over SSH even if the password attribute is set. Equivalent to the git_over_ssh parameter. type: boolean hostname: description: The gerrit server hostname. Equivalent to the server parameter. type: string name: description: How the connection will be named in Zuul's configuration and appear in zuul-web type: string password: description: 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. type: string port: description: SSH port number to the Gerrit instance. Equivalent to the port parameter. maximum: 65535 minimum: 1024 type: integer puburl: description: URL to Gerrit's web interface. the baseurl parameter. pattern: ^https?:\/\/.+$ type: string sshkey: description: The name of a Kubernetes secret holding the Gerrit user's SSH key. The secret's data must have a key called "priv". type: string stream-events: description: Undocumented option; if set to False this connection won't stream events; instead it will poll for merged patches every minute or so. type: boolean username: description: Username that Zuul will use to authenticate on the Gerrit instance. Equivalent to the user parameter. type: string verifyssl: description: Disable SSL certificate verification with the Gerrit instance when set to false. Equivalent to the verify_ssl parameter. type: boolean required: - hostname - name type: object type: array gitconns: description: The list of Git-based connections to add to Zuul's configuration items: description: |- Describes a Zuul connection using the git driver. When an optional parameter is not specified then Zuul's defaults apply properties: baseurl: description: 'baseurl' pattern: ^(https?|git):\/\/.+$ type: string name: description: How the connection will be named in Zuul's configuration and appear in zuul-web type: string pollDelay: description: 'poolDelay' format: int32 type: integer required: - baseurl - name type: object type: array githubconns: description: The list of GitHub-based connections to add to Zuul's configuration items: description: Describes a Zuul connection using the github driver. properties: appID: description: GitHub appID type: integer canonicalHostname: description: the canonical_hostname parameter type: string name: description: How the connection will be named in Zuul's configuration and appear in zuul-web type: string secrets: description: |- 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 type: string server: description: the server type: string verifySsl: default: true description: the verify_ssl parameter type: boolean required: - name type: object type: array gitlabconns: description: The list of GitLab-based connections to add to Zuul's configuration items: description: Describes a Zuul connection using the gitlab driver. properties: baseUrl: description: the (baseUrl)[https://zuul-ci.org/docs/zuul/latest/drivers/gitlab.html#attr-%3Cgitlab%20connection%3E.baseurl) type: string canonicalHostname: description: the canonicalHostname type: string cloneUrl: description: the cloneUrl type: string disableConnectionPool: description: the disableConnectionPool type: boolean keepAlive: description: the keepAlive minimum: 0 type: integer name: description: How the connection will be named in Zuul's configuration and appear in zuul-web type: string secrets: description: |- Name of the secret which containes the following keys: the api_token the api_token_name the webhook_token minLength: 1 type: string server: description: the server type: string required: - name - secrets type: object type: array merger: description: Configuration of the merger microservice properties: gitHttpLowSpeedLimit: description: the git_http_low_speed_limit parameter format: int32 minimum: 0 type: integer gitHttpLowSpeedTime: description: the git_http_low_speed_time parameter format: int32 minimum: 0 type: integer gitTimeout: description: the git_timeout parameter format: int32 minimum: 1 type: integer gitUserEmail: description: the git_user_email parameter type: string gitUserName: description: the git_user_name parameter type: string limits: default: cpu: 500m memory: 2Gi description: Memory/CPU Limit properties: cpu: anyOf: - type: integer - type: string default: 500m pattern: ^(+|-)?(([0-9]+(.[0-9])?)|(.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|(eE?(([0-9]+(.[0-9])?)|(.[0-9]+))))?$ x-kubernetes-int-or-string: true memory: anyOf: - type: integer - type: string default: 2Gi pattern: ^(+|-)?(([0-9]+(.[0-9])?)|(.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|(eE?(([0-9]+(.[0-9])?)|(.[0-9]+))))?$ x-kubernetes-int-or-string: true required: - cpu - memory type: object logLevel: description: |- Specify the Log Level of the nodepool launcher service. Valid values are: "INFO" (default), "WARN", "DEBUG". Changing this value will restart the service. enum: - INFO - WARN - DEBUG type: string storage: description: Storage-related settings properties: className: description: 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. type: string size: anyOf: - type: integer - type: string description: Storage space to allocate to the resource, expressed as a Quantity pattern: ^(+|-)?(([0-9]+(.[0-9])?)|(.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|(eE?(([0-9]+(.[0-9])?)|(.[0-9]+))))?$ x-kubernetes-int-or-string: true required: - size type: object type: object oidcAuthenticators: description: A list of OpenID Connect authenticators that will enable admin API access on zuul-web items: description: The description of an OpenIDConnect authenticator, see Zuul's authentication documentation properties: audience: description: Optionally provide the claim where the audience is set if not in aud, equivalent to the audience parameter type: string authority: description: Optionally provide the claim where the authority is set if not in iss, equivalent to the authority parameter type: string clientID: description: The client ID, as exposed in the aud claim of a JWT. Equivalent to the client_id parameter type: string issuerID: description: The issuer ID, as exposed in the iss claim of a JWT. Equivalent to the issuer_id parameter type: string keysURL: description: Optionally provide a URL to fetch the Identity Provider's key set, equivalent to the keys_url parameter type: string loadUserInfo: default: true description: 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 type: boolean maxValidityTime: description: 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 format: int32 type: integer name: description: The name of the authenticator in Zuul's configuration type: string realm: description: Authentication realm, equivalent to the realm parameter type: string scope: default: openid profile description: The scope used to fetch a user's details, equivalent to the scope parameter type: string skew: default: 0 description: Optionally compensate for skew between Zuul's and the Identity Provider's clocks, equivalent to the skew parameter format: int32 type: integer uidClaim: default: sub description: The JWT claim to use as a unique identifier in audit logs, equivalent to the uid_claim parameter type: string required: - clientID - issuerID - name - realm type: object type: array pagureconns: description: The list of Pagure-based connections to add to Zuul's configuration items: description: Describes a Zuul connection using the pagure driver. properties: appName: description: the appName type: string baseUrl: description: the (baseUrl)[https://zuul-ci.org/docs/zuul/latest/drivers/pagure.html#attr-%3Cpagure%20connection%3E.baseurl) type: string canonicalHostname: description: the canonicalHostname type: string cloneUrl: description: the cloneUrl type: string name: description: How the connection will be named in Zuul's configuration and appear in zuul-web type: string secrets: description: |- Name of the secret which containes the following keys: the api_token type: string server: description: the server type: string sourceWhitelist: description: the sourceWhitelist type: string required: - name type: object type: array scheduler: description: Configuration of the scheduler microservice properties: DefaultHoldExpiration: description: the DefaultHoldExpiration format: int32 minimum: 0 type: integer MaxHoldExpiration: description: the MaxHoldExpiration format: int32 minimum: 0 type: integer limits: default: cpu: 500m memory: 2Gi description: Memory/CPU Limit properties: cpu: anyOf: - type: integer - type: string default: 500m pattern: ^(+|-)?(([0-9]+(.[0-9])?)|(.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|(eE?(([0-9]+(.[0-9])?)|(.[0-9]+))))?$ x-kubernetes-int-or-string: true memory: anyOf: - type: integer - type: string default: 2Gi pattern: ^(+|-)?(([0-9]+(.[0-9])?)|(.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|(eE?(([0-9]+(.[0-9])?)|(.[0-9]+))))?$ x-kubernetes-int-or-string: true required: - cpu - memory type: object logLevel: description: |- Specify the Log Level of the zuul-scheduler service. Valid values are: "INFO" (default), "WARN", "DEBUG". Changing this value will restart the service. enum: - INFO - WARN - DEBUG type: string statsdTarget: description: The address to forward statsd metrics to (optional), in the form "host:port" type: string storage: description: Storage-related settings properties: className: description: 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. type: string size: anyOf: - type: integer - type: string description: Storage space to allocate to the resource, expressed as a Quantity pattern: ^(+|-)?(([0-9]+(.[0-9])?)|(.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|(eE?(([0-9]+(.[0-9])?)|(.[0-9]+))))?$ x-kubernetes-int-or-string: true required: - size type: object type: object smtpconns: description: The list of SMTP-based connections to add to Zuul's configuration items: description: |- Describes a Zuul connection using the SMTP driver. When an optional parameter is not specified then Zuul's defaults apply properties: defaultFrom: description: 'default_from' type: string defaultTo: description: 'default_to' type: string name: description: How the connection will be named in Zuul's configuration and appear in zuul-web type: string password: description: DEPRECATED use Secrets instead to securely store this value password type: string port: description: 'port' type: integer secrets: description: |- Name of the secret which contains the following keys: the password type: string server: description: 'server' type: string tls: description: 'use_starttls' type: boolean user: description: 'user' type: string required: - name - server type: object type: array web: description: Configuration of the web microservice properties: limits: default: cpu: 500m memory: 2Gi description: Memory/CPU Limit properties: cpu: anyOf: - type: integer - type: string default: 500m pattern: ^(+|-)?(([0-9]+(.[0-9])?)|(.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|(eE?(([0-9]+(.[0-9])?)|(.[0-9]+))))?$ x-kubernetes-int-or-string: true memory: anyOf: - type: integer - type: string default: 2Gi pattern: ^(+|-)?(([0-9]+(.[0-9])?)|(.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|(eE?(([0-9]+(.[0-9])?)|(.[0-9]+))))?$ x-kubernetes-int-or-string: true required: - cpu - memory type: object logLevel: description: |- Specify the Log Level of the zuul-web launcher service. Valid values are: "INFO" (default), "WARN", "DEBUG". Changing this value will restart the service. enum: - INFO - WARN - DEBUG type: string type: object type: object required: - fqdn type: object status: description: SoftwareFactoryStatus defines the observed state of SoftwareFactory properties: conditions: description: Information about ongoing or completed reconciliation processes between the Log server spec and the observed state of the cluster items: description: Condition contains details for one aspect of the current state of this API Resource. properties: lastTransitionTime: description: |- lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: description: |- message is a human readable message indicating details about the transition. This may be an empty string. maxLength: 32768 type: string observedGeneration: description: |- observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. format: int64 minimum: 0 type: integer reason: description: |- reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. maxLength: 1024 minLength: 1 pattern: ^A-Za-z?$ type: string status: description: status of the condition, one of True, False, Unknown. enum: - "True" - "False" - Unknown type: string type: description: type of condition in CamelCase or in foo.example.com/CamelCase. maxLength: 316 pattern: ^(a-z0-9?(.a-z0-9?)/)?(([A-Za-z0-9][-A-Za-z0-9_.])?[A-Za-z0-9])$ type: string required: - lastTransitionTime - message - reason - status - type type: object type: array observedGeneration: description: The Generation of the related Custom Resource that was last processed by the operator controller format: int64 type: integer ready: description: The deployment status. type: boolean reconciledBy: description: The name of the operator handling this Custom Resource's reconciliation type: string type: object type: object served: true storage: true subresources: status: {}

```