OnPremises - SD On Premises Cluster Schema
This document explains the full schema for the kind: OnPremises for the furyctl.yaml file used by furyctl. This configuration file will be used to deploy the SIGHUP Distribution modules and cluster on premises.
An example configuration file can be created by running the following command:
furyctl create config --kind OnPremises --version v1.29.4 --name example-cluster
Replace the version with your desired version of KFD.
Properties
| Property | Type | Required |
|---|---|---|
| apiVersion | string | Required |
| kind | string | Required |
| metadata | object | Required |
| spec | object | Required |
Description
A KFD Cluster deployed on top of a set of existing VMs.
.apiVersion
Constraints
pattern: the string must match the following regular expression:
^kfd\.sighup\.io/v\d+((alpha|beta)\d+)?$
.kind
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"OnPremises" |
.metadata
Properties
| Property | Type | Required |
|---|---|---|
| name | string | Required |
.metadata.name
Description
The name of the cluster. It will also be used as a prefix for all the other resources created.
Constraints
maximum length: the maximum number of characters for this string is: 56
minimum length: the minimum number of characters for this string is: 1
.spec
Properties
| Property | Type | Required |
|---|---|---|
| distribution | object | Required |
| distributionVersion | string | Required |
| kubernetes | object | Optional |
| plugins | object | Optional |
.spec.distribution
Properties
| Property | Type | Required |
|---|---|---|
| common | object | Optional |
| customPatches | object | Optional |
| modules | object | Required |
.spec.distribution.common
Properties
| Property | Type | Required |
|---|---|---|
| networkPoliciesEnabled | boolean | Optional |
| nodeSelector | object | Optional |
| provider | object | Optional |
| registry | string | Optional |
| relativeVendorPath | string | Optional |
| tolerations | array | Optional |
Description
Common configuration for all the distribution modules.
.spec.distribution.common.networkPoliciesEnabled
Description
EXPERIMENTAL FEATURE. This field defines whether Network Policies are provided for core modules.
.spec.distribution.common.nodeSelector
Description
The node selector to use to place the pods for all the KFD modules. Follows Kubernetes selector format. Example: node.kubernetes.io/role: infra.
.spec.distribution.common.provider
Properties
| Property | Type | Required |
|---|---|---|
| type | string | Required |
.spec.distribution.common.provider.type
Description
The provider type. Don't set. FOR INTERNAL USE ONLY.
.spec.distribution.common.registry
Description
URL of the registry where to pull images from for the Distribution phase. (Default is registry.sighup.io/fury).
NOTE: If plugins are pulling from the default registry, the registry will be replaced for the plugin too.
.spec.distribution.common.relativeVendorPath
Description
The relative path to the vendor directory, does not need to be changed.
.spec.distribution.common.tolerations
Properties
| Property | Type | Required |
|---|---|---|
| effect | string | Required |
| key | string | Required |
| operator | string | Optional |
| value | string | Optional |
Description
An array with the tolerations that will be added to the pods for all the KFD modules. Follows Kubernetes tolerations format. Example:
- effect: NoSchedule
key: node.kubernetes.io/role
value: infra
.spec.distribution.common.tolerations.effect
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"NoSchedule" |
"PreferNoSchedule" |
"NoExecute" |
.spec.distribution.common.tolerations.key
Description
The key of the toleration
.spec.distribution.common.tolerations.operator
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"Exists" |
"Equal" |
.spec.distribution.common.tolerations.value
Description
The value of the toleration
.spec.distribution.customPatches
Properties
| Property | Type | Required |
|---|---|---|
| configMapGenerator | array | Optional |
| images | array | Optional |
| patches | array | Optional |
| patchesStrategicMerge | array | Optional |
| secretGenerator | array | Optional |
.spec.distribution.customPatches.configMapGenerator
Properties
| Property | Type | Required |
|---|---|---|
| behavior | string | Optional |
| envs | array | Optional |
| files | array | Optional |
| literals | array | Optional |
| name | string | Required |
| namespace | string | Optional |
| options | object | Optional |
.spec.distribution.customPatches.configMapGenerator.behavior
Description
The behavior of the configmap
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"create" |
"replace" |
"merge" |
.spec.distribution.customPatches.configMapGenerator.envs
Description
The envs of the configmap
.spec.distribution.customPatches.configMapGenerator.files
Description
The files of the configmap
.spec.distribution.customPatches.configMapGenerator.literals
Description
The literals of the configmap
.spec.distribution.customPatches.configMapGenerator.name
Description
The name of the configmap
.spec.distribution.customPatches.configMapGenerator.namespace
Description
The namespace of the configmap
.spec.distribution.customPatches.configMapGenerator.options
Properties
| Property | Type | Required |
|---|---|---|
| annotations | object | Optional |
| disableNameSuffixHash | boolean | Optional |
| immutable | boolean | Optional |
| labels | object | Optional |
.spec.distribution.customPatches.configMapGenerator.options.annotations
Description
The annotations of the configmap
.spec.distribution.customPatches.configMapGenerator.options.disableNameSuffixHash
Description
If true, the name suffix hash will be disabled
.spec.distribution.customPatches.configMapGenerator.options.immutable
Description
If true, the configmap will be immutable
.spec.distribution.customPatches.configMapGenerator.options.labels
Description
The labels of the configmap
.spec.distribution.customPatches.images
Description
Each entry should follow the format of Kustomize's images patch
.spec.distribution.customPatches.patches
Properties
| Property | Type | Required |
|---|---|---|
| options | object | Optional |
| patch | string | Optional |
| path | string | Optional |
| target | object | Optional |
.spec.distribution.customPatches.patches.options
Properties
| Property | Type | Required |
|---|---|---|
| allowKindChange | boolean | Optional |
| allowNameChange | boolean | Optional |
.spec.distribution.customPatches.patches.options.allowKindChange
Description
If true, the kind change will be allowed
.spec.distribution.customPatches.patches.options.allowNameChange
Description
If true, the name change will be allowed
.spec.distribution.customPatches.patches.patch
Description
The patch content
.spec.distribution.customPatches.patches.path
Description
The path of the patch
.spec.distribution.customPatches.patches.target
Properties
| Property | Type | Required |
|---|---|---|
| annotationSelector | string | Optional |
| group | string | Optional |
| kind | string | Optional |
| labelSelector | string | Optional |
| name | string | Optional |
| namespace | string | Optional |
| version | string | Optional |
.spec.distribution.customPatches.patches.target.annotationSelector
Description
The annotation selector of the target
.spec.distribution.customPatches.patches.target.group
Description
The group of the target
.spec.distribution.customPatches.patches.target.kind
Description
The kind of the target
.spec.distribution.customPatches.patches.target.labelSelector
Description
The label selector of the target
.spec.distribution.customPatches.patches.target.name
Description
The name of the target
.spec.distribution.customPatches.patches.target.namespace
Description
The namespace of the target
.spec.distribution.customPatches.patches.target.version
Description
The version of the target
.spec.distribution.customPatches.patchesStrategicMerge
Description
Each entry should be either a relative file path or an inline content resolving to a partial or complete resource definition
.spec.distribution.customPatches.secretGenerator
Properties
| Property | Type | Required |
|---|---|---|
| behavior | string | Optional |
| envs | array | Optional |
| files | array | Optional |
| literals | array | Optional |
| name | string | Required |
| namespace | string | Optional |
| options | object | Optional |
| type | string | Optional |
.spec.distribution.customPatches.secretGenerator.behavior
Description
The behavior of the secret
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"create" |
"replace" |
"merge" |
.spec.distribution.customPatches.secretGenerator.envs
Description
The envs of the secret
.spec.distribution.customPatches.secretGenerator.files
Description
The files of the secret
.spec.distribution.customPatches.secretGenerator.literals
Description
The literals of the secret
.spec.distribution.customPatches.secretGenerator.name
Description
The name of the secret
.spec.distribution.customPatches.secretGenerator.namespace
Description
The namespace of the secret
.spec.distribution.customPatches.secretGenerator.options
Properties
| Property | Type | Required |
|---|---|---|
| annotations | object | Optional |
| disableNameSuffixHash | boolean | Optional |
| immutable | boolean | Optional |
| labels | object | Optional |
.spec.distribution.customPatches.secretGenerator.options.annotations
Description
The annotations of the secret
.spec.distribution.customPatches.secretGenerator.options.disableNameSuffixHash
Description
If true, the name suffix hash will be disabled
.spec.distribution.customPatches.secretGenerator.options.immutable
Description
If true, the secret will be immutable
.spec.distribution.customPatches.secretGenerator.options.labels
Description
The labels of the secret
.spec.distribution.customPatches.secretGenerator.type
Description
The type of the secret
.spec.distribution.modules
Properties
| Property | Type | Required |
|---|---|---|
| auth | object | Optional |
| dr | object | Required |
| ingress | object | Required |
| logging | object | Required |
| monitoring | object | Optional |
| networking | object | Optional |
| policy | object | Required |
| tracing | object | Optional |
.spec.distribution.modules.auth
Properties
| Property | Type | Required |
|---|---|---|
| baseDomain | string | Optional |
| dex | object | Optional |
| oidcKubernetesAuth | object | Optional |
| overrides | object | Optional |
| pomerium | object | Optional |
| provider | object | Required |
Description
Configuration for the Auth module.
.spec.distribution.modules.auth.baseDomain
Description
The base domain for the ingresses created by the Auth module (Gangplank, Pomerium, Dex). Notice that when the ingress module type is dual, these will use the external ingress class.
.spec.distribution.modules.auth.dex
Properties
| Property | Type | Required |
|---|---|---|
| additionalStaticClients | array | Optional |
| connectors | array | Required |
| expiry | object | Optional |
| overrides | object | Optional |
Description
Configuration for the Dex package.
.spec.distribution.modules.auth.dex.additionalStaticClients
Description
Additional static clients defitions that will be added to the default clients included with the distribution in Dex's configuration. Example:
additionalStaticClients:
- id: my-custom-client
name: "A custom additional static client"
redirectURIs:
- "https://myapp.tld/redirect"
- "https://alias.tld/oidc-callback"
secret: supersecretpassword
Reference: https://dexidp.io/docs/connectors/local/
.spec.distribution.modules.auth.dex.connectors
Description
A list with each item defining a Dex connector. Follows Dex connectors configuration format: https://dexidp.io/docs/connectors/
.spec.distribution.modules.auth.dex.expiry
Properties
| Property | Type | Required |
|---|---|---|
| idTokens | string | Optional |
| signingKeys | string | Optional |
.spec.distribution.modules.auth.dex.expiry.idTokens
Description
Dex ID tokens expiration time duration (default 24h).
.spec.distribution.modules.auth.dex.expiry.signingKeys
Description
Dex signing key expiration time duration (default 6h).
.spec.distribution.modules.auth.dex.overrides
Properties
| Property | Type | Required |
|---|---|---|
| nodeSelector | object | Optional |
| tolerations | array | Optional |
.spec.distribution.modules.auth.dex.overrides.nodeSelector
Description
Set to override the node selector used to place the pods of the package.
.spec.distribution.modules.auth.dex.overrides.tolerations
Properties
| Property | Type | Required |
|---|---|---|
| effect | string | Required |
| key | string | Required |
| operator | string | Optional |
| value | string | Optional |
Description
Set to override the tolerations that will be added to the pods of the package.
.spec.distribution.modules.auth.dex.overrides.tolerations.effect
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"NoSchedule" |
"PreferNoSchedule" |
"NoExecute" |
.spec.distribution.modules.auth.dex.overrides.tolerations.key
Description
The key of the toleration
.spec.distribution.modules.auth.dex.overrides.tolerations.operator
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"Exists" |
"Equal" |
.spec.distribution.modules.auth.dex.overrides.tolerations.value
Description
The value of the toleration
.spec.distribution.modules.auth.oidcKubernetesAuth
Properties
| Property | Type | Required |
|---|---|---|
| clientID | string | Optional |
| clientSecret | string | Optional |
| emailClaim | string | Optional |
| enabled | boolean | Required |
| namespace | string | Optional |
| removeCAFromKubeconfig | boolean | Optional |
| scopes | array | Optional |
| sessionSecurityKey | string | Optional |
| usernameClaim | string | Optional |
.spec.distribution.modules.auth.oidcKubernetesAuth.clientID
Description
The client ID that the Kubernetes API will use to authenticate against the OIDC provider (Dex).
.spec.distribution.modules.auth.oidcKubernetesAuth.clientSecret
Description
The client secret that the Kubernetes API will use to authenticate against the OIDC provider (Dex).
.spec.distribution.modules.auth.oidcKubernetesAuth.emailClaim
Description
DEPRECATED. Defaults to email.
.spec.distribution.modules.auth.oidcKubernetesAuth.enabled
Description
If true, components needed for interacting with the Kubernetes API with OIDC authentication (Gangplank, Dex) be deployed and configued.
.spec.distribution.modules.auth.oidcKubernetesAuth.namespace
Description
The namespace to set in the context of the kubeconfig file generated by Gangplank. Defaults to default.
.spec.distribution.modules.auth.oidcKubernetesAuth.removeCAFromKubeconfig
Description
Set to true to remove the CA from the kubeconfig file generated by Gangplank.
.spec.distribution.modules.auth.oidcKubernetesAuth.scopes
Description
Used to specify the scope of the requested Oauth authorization by Gangplank. Defaults to: ["openid", "profile", "email", "offline_access", "groups"]
.spec.distribution.modules.auth.oidcKubernetesAuth.sessionSecurityKey
Description
The Key to use for the sessions in Gangplank. Must be different between different instances of Gangplank.
.spec.distribution.modules.auth.oidcKubernetesAuth.usernameClaim
Description
The JWT claim to use as the username. This is used in Gangplank's UI. This is combined with the clusterName for the user portion of the kubeconfig. Defaults to nickname.
.spec.distribution.modules.auth.overrides
Properties
| Property | Type | Required |
|---|---|---|
| ingresses | object | Optional |
| nodeSelector | object | Optional |
| tolerations | array | Optional |
Description
Override the common configuration with a particular configuration for the Auth module.
.spec.distribution.modules.auth.overrides.ingresses
Properties
| Property | Type | Required |
|---|---|---|
| dex | object | Optional |
| gangplank | object | Optional |
Description
Override the definition of the Auth module ingresses.
.spec.distribution.modules.auth.overrides.ingresses.dex
Properties
| Property | Type | Required |
|---|---|---|
| host | string | Required |
| ingressClass | string | Required |
.spec.distribution.modules.auth.overrides.ingresses.dex.host
Description
Use this host for the ingress instead of the default one.
.spec.distribution.modules.auth.overrides.ingresses.dex.ingressClass
Description
Use this ingress class for the ingress instead of the default one.
.spec.distribution.modules.auth.overrides.ingresses.gangplank
Properties
| Property | Type | Required |
|---|---|---|
| host | string | Required |
| ingressClass | string | Required |
.spec.distribution.modules.auth.overrides.ingresses.gangplank.host
Description
Use this host for the ingress instead of the default one.
.spec.distribution.modules.auth.overrides.ingresses.gangplank.ingressClass
Description
Use this ingress class for the ingress instead of the default one.
.spec.distribution.modules.auth.overrides.nodeSelector
Description
Set to override the node selector used to place the pods of the Auth module.
.spec.distribution.modules.auth.overrides.tolerations
Properties
| Property | Type | Required |
|---|---|---|
| effect | string | Required |
| key | string | Required |
| operator | string | Optional |
| value | string | Optional |
Description
Set to override the tolerations that will be added to the pods of the Auth module.
.spec.distribution.modules.auth.overrides.tolerations.effect
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"NoSchedule" |
"PreferNoSchedule" |
"NoExecute" |
.spec.distribution.modules.auth.overrides.tolerations.key
Description
The key of the toleration
.spec.distribution.modules.auth.overrides.tolerations.operator
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"Exists" |
"Equal" |
.spec.distribution.modules.auth.overrides.tolerations.value
Description
The value of the toleration
.spec.distribution.modules.auth.pomerium
Properties
| Property | Type | Required |
|---|---|---|
| defaultRoutesPolicy | object | Optional |
| overrides | object | Optional |
| policy | string | Optional |
| routes | array | Optional |
| secrets | object | Required |
Description
Configuration for Pomerium, an identity-aware reverse proxy used for SSO.
.spec.distribution.modules.auth.pomerium.defaultRoutesPolicy
Properties
| Property | Type | Required |
|---|---|---|
| gatekeeperPolicyManager | array | Optional |
| hubbleUi | array | Optional |
| ingressNgnixForecastle | array | Optional |
| loggingMinioConsole | array | Optional |
| loggingOpensearchDashboards | array | Optional |
| monitoringAlertmanager | array | Optional |
| monitoringGrafana | array | Optional |
| monitoringMinioConsole | array | Optional |
| monitoringPrometheus | array | Optional |
| tracingMinioConsole | array | Optional |
Description
override default routes for KFD components
.spec.distribution.modules.auth.pomerium.defaultRoutesPolicy.gatekeeperPolicyManager
.spec.distribution.modules.auth.pomerium.defaultRoutesPolicy.hubbleUi
.spec.distribution.modules.auth.pomerium.defaultRoutesPolicy.ingressNgnixForecastle
.spec.distribution.modules.auth.pomerium.defaultRoutesPolicy.loggingMinioConsole
.spec.distribution.modules.auth.pomerium.defaultRoutesPolicy.loggingOpensearchDashboards
.spec.distribution.modules.auth.pomerium.defaultRoutesPolicy.monitoringAlertmanager
.spec.distribution.modules.auth.pomerium.defaultRoutesPolicy.monitoringGrafana
.spec.distribution.modules.auth.pomerium.defaultRoutesPolicy.monitoringMinioConsole
.spec.distribution.modules.auth.pomerium.defaultRoutesPolicy.monitoringPrometheus
.spec.distribution.modules.auth.pomerium.defaultRoutesPolicy.tracingMinioConsole
.spec.distribution.modules.auth.pomerium.overrides
Properties
| Property | Type | Required |
|---|---|---|
| nodeSelector | object | Optional |
| tolerations | array | Optional |
.spec.distribution.modules.auth.pomerium.overrides.nodeSelector
.spec.distribution.modules.auth.pomerium.overrides.tolerations
Properties
| Property | Type | Required |
|---|---|---|
| effect | string | Required |
| key | string | Required |
| operator | string | Optional |
| value | string | Required |
.spec.distribution.modules.auth.pomerium.overrides.tolerations.effect
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"NoSchedule" |
"PreferNoSchedule" |
"NoExecute" |
.spec.distribution.modules.auth.pomerium.overrides.tolerations.key
.spec.distribution.modules.auth.pomerium.overrides.tolerations.operator
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"Exists" |
"Equal" |
.spec.distribution.modules.auth.pomerium.overrides.tolerations.value
.spec.distribution.modules.auth.pomerium.policy
Description
DEPRECATED: Use defaultRoutesPolicy and/or routes
.spec.distribution.modules.auth.pomerium.routes
Description
Additional routes configuration for Pomerium. Follows Pomerium's route format: https://www.pomerium.com/docs/reference/routes
.spec.distribution.modules.auth.pomerium.secrets
Properties
| Property | Type | Required |
|---|---|---|
| COOKIE_SECRET | string | Required |
| IDP_CLIENT_SECRET | string | Required |
| SHARED_SECRET | string | Required |
| SIGNING_KEY | string | Required |
Description
Pomerium needs some user-provided secrets to be fully configured. These secrets should be unique between clusters.
.spec.distribution.modules.auth.pomerium.secrets.COOKIE_SECRET
Description
Cookie Secret is the secret used to encrypt and sign session cookies.
To generate a random key, run the following command: head -c32 /dev/urandom | base64
.spec.distribution.modules.auth.pomerium.secrets.IDP_CLIENT_SECRET
Description
Identity Provider Client Secret is the OAuth 2.0 Secret Identifier. When auth type is SSO, this value will be the secret used to authenticate Pomerium with Dex, use a strong random value.
.spec.distribution.modules.auth.pomerium.secrets.SHARED_SECRET
Description
Shared Secret is the base64-encoded, 256-bit key used to mutually authenticate requests between Pomerium services. It's critical that secret keys are random, and stored safely.
To generate a key, run the following command: head -c32 /dev/urandom | base64
.spec.distribution.modules.auth.pomerium.secrets.SIGNING_KEY
Description
Signing Key is the base64 representation of one or more PEM-encoded private keys used to sign a user's attestation JWT, which can be consumed by upstream applications to pass along identifying user information like username, id, and groups.
To generates an P-256 (ES256) signing key:
openssl ecparam -genkey -name prime256v1 -noout -out ec_private.pem
# careful! this will output your private key in terminal
cat ec_private.pem | base64
.spec.distribution.modules.auth.provider
Properties
| Property | Type | Required |
|---|---|---|
| basicAuth | object | Optional |
| type | string | Required |
.spec.distribution.modules.auth.provider.basicAuth
Properties
| Property | Type | Required |
|---|---|---|
| password | string | Required |
| username | string | Required |
Description
Configuration for the HTTP Basic Auth provider.
.spec.distribution.modules.auth.provider.basicAuth.password
Description
The password for logging in with the HTTP basic authentication.
.spec.distribution.modules.auth.provider.basicAuth.username
Description
The username for logging in with the HTTP basic authentication.
.spec.distribution.modules.auth.provider.type
Description
The type of the Auth provider, options are:
none: will disable authentication in the infrastructural ingresses.sso: will protect the infrastructural ingresses with Pomerium and Dex (SSO) and require authentication before accessing them.basicAuth: will protect the infrastructural ingresses with HTTP basic auth (username and password) authentication.
Default is none.
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"none" |
"basicAuth" |
"sso" |
.spec.distribution.modules.dr
Properties
| Property | Type | Required |
|---|---|---|
| etcdBackup | object | Optional |
| overrides | object | Optional |
| type | string | Required |
| velero | object | Optional |
Description
Configuration for the Disaster Recovery module.
.spec.distribution.modules.dr.etcdBackup
Properties
| Property | Type | Required |
|---|---|---|
| backupPrefix | string | Optional |
| pvc | object | Optional |
| s3 | object | Optional |
| type | string | Optional |
Description
Configuration for the ETCD backup package.
.spec.distribution.modules.dr.etcdBackup.backupPrefix
Description
A prefix to be prepended to the backup filenames. If unset, the prefix defaults to the cluster's name.
.spec.distribution.modules.dr.etcdBackup.pvc
Properties
| Property | Type | Required |
|---|---|---|
| accessModes | array | Optional |
| name | string | Optional |
| retentionTime | string | Optional |
| schedule | string | Optional |
| size | string | Optional |
| storageClass | string | Optional |
Description
Configuration parameters for the pvc type of etcdBackup.
.spec.distribution.modules.dr.etcdBackup.pvc.accessModes
Description
The accessModes that the furyctl-managed PersistentVolumeClaim will use. This has no effect and is ignored if name is set. Default is ["ReadOnlyOnce"]
.spec.distribution.modules.dr.etcdBackup.pvc.name
Description
The PersistentVolumeClaim name where the backups will be saved. If set, size and storageClass will be ignored and etcd-backup will use the PersistentVolumeClaim that matches the name set. Please note that the PersistentVolumeClaim must be created inside the kube-system namespace.
If you leave name unset furyctl will create a PersistentVolumeClaim for you with an arbitrary name.
.spec.distribution.modules.dr.etcdBackup.pvc.retentionTime
Description
The retention time of the backups inside the PersistentVolumeClaim. Follows rclone's min-age format. Example: '30d' for 30 days. Default is 10d (ten days).
.spec.distribution.modules.dr.etcdBackup.pvc.schedule
Description
The cron expression for the etcd-backup-pvc backup schedule. Default is 0 1 * * * (everyday at 01:00).
.spec.distribution.modules.dr.etcdBackup.pvc.size
Description
The size that the furyctl-managed PersistentVolumeClaim will use. This has no effect and is ignored if name is set. Default is 10G.
.spec.distribution.modules.dr.etcdBackup.pvc.storageClass
Description
The storage class that the furyctl-managed PersistentVolumeClaim will use. This has no effect and is ignored if name is set. Default is default.
.spec.distribution.modules.dr.etcdBackup.s3
Properties
| Property | Type | Required |
|---|---|---|
| accessKeyId | string | Required |
| bucketName | string | Required |
| endpoint | string | Required |
| insecure | boolean | Optional |
| retentionTime | string | Optional |
| schedule | string | Optional |
| secretAccessKey | string | Required |
Description
Configuration parameters for the s3 type of etcdBackup.
.spec.distribution.modules.dr.etcdBackup.s3.accessKeyId
Description
The access key ID (username) for the external S3-compatible bucket.
.spec.distribution.modules.dr.etcdBackup.s3.bucketName
Description
The bucket name of the external S3-compatible object storage.
.spec.distribution.modules.dr.etcdBackup.s3.endpoint
Description
External S3-compatible endpoint for etcd-backup-s3's storage.
.spec.distribution.modules.dr.etcdBackup.s3.insecure
Description
If true, will use HTTP as protocol instead of HTTPS.
.spec.distribution.modules.dr.etcdBackup.s3.retentionTime
Description
The retention time of the external S3-compatible object storage. Follows rclone's min-age format. Example: '30d' for 30 days. Default is 10d (ten days).
.spec.distribution.modules.dr.etcdBackup.s3.schedule
Description
The cron expression for the etcd-backup-s3 backup schedule. Default is 0 1 * * * (everyday at 01:00).
.spec.distribution.modules.dr.etcdBackup.s3.secretAccessKey
Description
The secret access key (password) for the external S3-compatible bucket.
.spec.distribution.modules.dr.etcdBackup.type
Description
The type of the etcd backup to enable, options are:
none: no etcd backup CronJob will be installed and no etcd backup will be performed.s3: the etcd-backup-s3 package will be enabled. It will deploy a CronJob which continuously snapshots a healthy etcd node and will save the backups in a configured S3 bucket.pvc: the etcd-backup-pvc package will be enabled. It will deploy a CronJob which continuously snapshots a healthy etcd node and will save the backups in a configured PersistentVolumeClaim.all: both kinds of backups will be enabled.
Default is none.
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"s3" |
"pvc" |
"none" |
"all" |
.spec.distribution.modules.dr.overrides
Properties
| Property | Type | Required |
|---|---|---|
| ingresses | object | Optional |
| nodeSelector | object | Optional |
| tolerations | array | Optional |
Description
Override the common configuration with a particular configuration for the module.
.spec.distribution.modules.dr.overrides.ingresses
.spec.distribution.modules.dr.overrides.nodeSelector
Description
Set to override the node selector used to place the pods of the module.
.spec.distribution.modules.dr.overrides.tolerations
Properties
| Property | Type | Required |
|---|---|---|
| effect | string | Required |
| key | string | Required |
| operator | string | Optional |
| value | string | Optional |
Description
Set to override the tolerations that will be added to the pods of the module.
.spec.distribution.modules.dr.overrides.tolerations.effect
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"NoSchedule" |
"PreferNoSchedule" |
"NoExecute" |
.spec.distribution.modules.dr.overrides.tolerations.key
Description
The key of the toleration
.spec.distribution.modules.dr.overrides.tolerations.operator
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"Exists" |
"Equal" |
.spec.distribution.modules.dr.overrides.tolerations.value
Description
The value of the toleration
.spec.distribution.modules.dr.type
Description
The type of the Disaster Recovery, must be none or on-premises. none disables the module and on-premises will install Velero, an optional MinIO deployment and optionally etcd-backup.
Default is none.
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"none" |
"on-premises" |
.spec.distribution.modules.dr.velero
Properties
| Property | Type | Required |
|---|---|---|
| backend | string | Optional |
| externalEndpoint | object | Optional |
| overrides | object | Optional |
| schedules | object | Optional |
| snapshotController | object | Optional |
Description
Configuration for the Velero package.
.spec.distribution.modules.dr.velero.backend
Description
The storage backend type for Velero. minio will use an in-cluster MinIO deployment for object storage, externalEndpoint can be used to point to an external S3-compatible object storage instead of deploying an in-cluster MinIO.
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"minio" |
"externalEndpoint" |
.spec.distribution.modules.dr.velero.externalEndpoint
Properties
| Property | Type | Required |
|---|---|---|
| accessKeyId | string | Optional |
| bucketName | string | Optional |
| endpoint | string | Optional |
| insecure | boolean | Optional |
| secretAccessKey | string | Optional |
Description
Configuration for Velero's external storage backend.
.spec.distribution.modules.dr.velero.externalEndpoint.accessKeyId
Description
The access key ID (username) for the external S3-compatible bucket.
.spec.distribution.modules.dr.velero.externalEndpoint.bucketName
Description
The bucket name of the external S3-compatible object storage.
.spec.distribution.modules.dr.velero.externalEndpoint.endpoint
Description
External S3-compatible endpoint for Velero's storage.
.spec.distribution.modules.dr.velero.externalEndpoint.insecure
Description
If true, will use HTTP as protocol instead of HTTPS.
.spec.distribution.modules.dr.velero.externalEndpoint.secretAccessKey
Description
The secret access key (password) for the external S3-compatible bucket.
.spec.distribution.modules.dr.velero.overrides
Properties
| Property | Type | Required |
|---|---|---|
| nodeSelector | object | Optional |
| tolerations | array | Optional |
.spec.distribution.modules.dr.velero.overrides.nodeSelector
Description
Set to override the node selector used to place the pods of the package.
.spec.distribution.modules.dr.velero.overrides.tolerations
Properties
| Property | Type | Required |
|---|---|---|
| effect | string | Required |
| key | string | Required |
| operator | string | Optional |
| value | string | Optional |
Description
Set to override the tolerations that will be added to the pods of the package.
.spec.distribution.modules.dr.velero.overrides.tolerations.effect
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"NoSchedule" |
"PreferNoSchedule" |
"NoExecute" |
.spec.distribution.modules.dr.velero.overrides.tolerations.key
Description
The key of the toleration
.spec.distribution.modules.dr.velero.overrides.tolerations.operator
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"Exists" |
"Equal" |
.spec.distribution.modules.dr.velero.overrides.tolerations.value
Description
The value of the toleration
.spec.distribution.modules.dr.velero.schedules
Properties
| Property | Type | Required |
|---|---|---|
| definitions | object | Optional |
| install | boolean | Optional |
Description
Configuration for Velero's backup schedules.
.spec.distribution.modules.dr.velero.schedules.definitions
Properties
| Property | Type | Required |
|---|---|---|
| full | object | Optional |
| manifests | object | Optional |
Description
Configuration for Velero schedules.
.spec.distribution.modules.dr.velero.schedules.definitions.full
Properties
| Property | Type | Required |
|---|---|---|
| schedule | string | Optional |
| snapshotMoveData | boolean | Optional |
| ttl | string | Optional |
Description
Configuration for Velero's manifests backup schedule.
.spec.distribution.modules.dr.velero.schedules.definitions.full.schedule
Description
The cron expression for the full backup schedule (default 0 1 * * *).
.spec.distribution.modules.dr.velero.schedules.definitions.full.snapshotMoveData
Description
EXPERIMENTAL (if you do more than one backups, the following backups after the first are not automatically restorable, see https://github.com/vmware-tanzu/velero/issues/7057#issuecomment-2466815898 for the manual restore solution): SnapshotMoveData specifies whether snapshot data should be moved. Velero will create a new volume from the snapshot and upload the content to the storageLocation.
.spec.distribution.modules.dr.velero.schedules.definitions.full.ttl
Description
The Time To Live (TTL) of the backups created by the backup schedules (default 720h0m0s, 30 days). Notice that changing this value will affect only newly created backups, prior backups will keep the old TTL.
.spec.distribution.modules.dr.velero.schedules.definitions.manifests
Properties
| Property | Type | Required |
|---|---|---|
| schedule | string | Optional |
| ttl | string | Optional |
Description
Configuration for Velero's manifests backup schedule.
.spec.distribution.modules.dr.velero.schedules.definitions.manifests.schedule
Description
The cron expression for the manifests backup schedule (default */15 * * * *).
.spec.distribution.modules.dr.velero.schedules.definitions.manifests.ttl
Description
The Time To Live (TTL) of the backups created by the backup schedules (default 720h0m0s, 30 days). Notice that changing this value will affect only newly created backups, prior backups will keep the old TTL.
.spec.distribution.modules.dr.velero.schedules.install
Description
Whether to install or not the default manifests and full backups schedules. Default is true.
.spec.distribution.modules.dr.velero.snapshotController
Properties
| Property | Type | Required |
|---|---|---|
| install | boolean | Optional |
Description
Configuration for the additional snapshotController component installation.
.spec.distribution.modules.dr.velero.snapshotController.install
Description
Whether to install or not the snapshotController component in the cluster. Before enabling this field, check if your CSI driver does not have snapshotController built-in.
.spec.distribution.modules.ingress
Properties
| Property | Type | Required |
|---|---|---|
| baseDomain | string | Required |
| certManager | object | Optional |
| forecastle | object | Optional |
| nginx | object | Required |
| overrides | object | Optional |
| then | object | Optional |
.spec.distribution.modules.ingress.baseDomain
Description
The base domain used for all the KFD infrastructural ingresses. If using the nginx dual type, this value should be the same as the domain associated with the internal ingress class.
.spec.distribution.modules.ingress.certManager
Properties
| Property | Type | Required |
|---|---|---|
| clusterIssuer | object | Required |
| overrides | object | Optional |
Description
Configuration for the cert-manager package. Required even if ingress.nginx.type is none, cert-manager is used for managing other certificates in the cluster besides the TLS termination certificates for the ingresses.
.spec.distribution.modules.ingress.certManager.clusterIssuer
Properties
| Property | Type | Required |
|---|---|---|
string | Required | |
| name | string | Required |
| solvers | array | Optional |
| type | string | Optional |
Description
Configuration for the cert-manager's ACME clusterIssuer used to request certificates from Let's Encrypt.
.spec.distribution.modules.ingress.certManager.clusterIssuer.email
Description
The email address to use during the certificate issuing process.
.spec.distribution.modules.ingress.certManager.clusterIssuer.name
Description
The name of the clusterIssuer.
.spec.distribution.modules.ingress.certManager.clusterIssuer.solvers
Description
The list of challenge solvers to use instead of the default one for the http01 challenge. Check cert manager's documentation for examples for this field.
.spec.distribution.modules.ingress.certManager.clusterIssuer.type
Description
The type of the clusterIssuer. Only http01 challenge is supported for on-premises clusters. See solvers for arbitrary configurations.
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"http01" |
.spec.distribution.modules.ingress.certManager.overrides
Properties
| Property | Type | Required |
|---|---|---|
| nodeSelector | object | Optional |
| tolerations | array | Optional |
.spec.distribution.modules.ingress.certManager.overrides.nodeSelector
Description
Set to override the node selector used to place the pods of the package.
.spec.distribution.modules.ingress.certManager.overrides.tolerations
Properties
| Property | Type | Required |
|---|---|---|
| effect | string | Required |
| key | string | Required |
| operator | string | Optional |
| value | string | Optional |
Description
Set to override the tolerations that will be added to the pods of the package.
.spec.distribution.modules.ingress.certManager.overrides.tolerations.effect
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"NoSchedule" |
"PreferNoSchedule" |
"NoExecute" |
.spec.distribution.modules.ingress.certManager.overrides.tolerations.key
Description
The key of the toleration
.spec.distribution.modules.ingress.certManager.overrides.tolerations.operator
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"Exists" |
"Equal" |
.spec.distribution.modules.ingress.certManager.overrides.tolerations.value
Description
The value of the toleration
.spec.distribution.modules.ingress.forecastle
Properties
| Property | Type | Required |
|---|---|---|
| overrides | object | Optional |
.spec.distribution.modules.ingress.forecastle.overrides
Properties
| Property | Type | Required |
|---|---|---|
| nodeSelector | object | Optional |
| tolerations | array | Optional |
.spec.distribution.modules.ingress.forecastle.overrides.nodeSelector
Description
Set to override the node selector used to place the pods of the package.
.spec.distribution.modules.ingress.forecastle.overrides.tolerations
Properties
| Property | Type | Required |
|---|---|---|
| effect | string | Required |
| key | string | Required |
| operator | string | Optional |
| value | string | Optional |
Description
Set to override the tolerations that will be added to the pods of the package.
.spec.distribution.modules.ingress.forecastle.overrides.tolerations.effect
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"NoSchedule" |
"PreferNoSchedule" |
"NoExecute" |
.spec.distribution.modules.ingress.forecastle.overrides.tolerations.key
Description
The key of the toleration
.spec.distribution.modules.ingress.forecastle.overrides.tolerations.operator
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"Exists" |
"Equal" |
.spec.distribution.modules.ingress.forecastle.overrides.tolerations.value
Description
The value of the toleration
.spec.distribution.modules.ingress.nginx
Properties
| Property | Type | Required |
|---|---|---|
| overrides | object | Optional |
| tls | object | Optional |
| type | string | Required |
Description
Configurations for the Ingress nginx controller package.
.spec.distribution.modules.ingress.nginx.overrides
Properties
| Property | Type | Required |
|---|---|---|
| nodeSelector | object | Optional |
| tolerations | array | Optional |
.spec.distribution.modules.ingress.nginx.overrides.nodeSelector
Description
Set to override the node selector used to place the pods of the package.
.spec.distribution.modules.ingress.nginx.overrides.tolerations
Properties
| Property | Type | Required |
|---|---|---|
| effect | string | Required |
| key | string | Required |
| operator | string | Optional |
| value | string | Optional |
Description
Set to override the tolerations that will be added to the pods of the package.
.spec.distribution.modules.ingress.nginx.overrides.tolerations.effect
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"NoSchedule" |
"PreferNoSchedule" |
"NoExecute" |
.spec.distribution.modules.ingress.nginx.overrides.tolerations.key
Description
The key of the toleration
.spec.distribution.modules.ingress.nginx.overrides.tolerations.operator
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"Exists" |
"Equal" |
.spec.distribution.modules.ingress.nginx.overrides.tolerations.value
Description
The value of the toleration
.spec.distribution.modules.ingress.nginx.tls
Properties
| Property | Type | Required |
|---|---|---|
| provider | string | Required |
| secret | object | Optional |
.spec.distribution.modules.ingress.nginx.tls.provider
Description
The provider of the TLS certificates for the ingresses, one of: none, certManager, or secret.
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"certManager" |
"secret" |
"none" |
.spec.distribution.modules.ingress.nginx.tls.secret
Properties
| Property | Type | Required |
|---|---|---|
| ca | string | Required |
| cert | string | Required |
| key | string | Required |
Description
Kubernetes TLS secret for the ingresses TLS certificate.
.spec.distribution.modules.ingress.nginx.tls.secret.ca
Description
The Certificate Authority certificate file's content. You can use the "{file://<path>}" notation to get the content from a file.
.spec.distribution.modules.ingress.nginx.tls.secret.cert
Description
The certificate file's content. You can use the "{file://<path>}" notation to get the content from a file.
.spec.distribution.modules.ingress.nginx.tls.secret.key
Description
The signing key file's content. You can use the "{file://<path>}" notation to get the content from a file.
.spec.distribution.modules.ingress.nginx.type
Description
The type of the Ingress nginx controller, options are:
none: no ingress controller will be installed and no infrastructural ingresses will be created.single: a single ingress controller with ingress classnginxwill be installed to manage all the ingress resources, infrastructural ingresses will be created.dual: two independent ingress controllers will be installed, one for theinternalingress class intended for private ingresses and one for theexternalingress class intended for public ingresses. KFD infrastructural ingresses wil use theinternalingress class when using the dual type.
Default is single.
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"none" |
"single" |
"dual" |
.spec.distribution.modules.ingress.overrides
Properties
| Property | Type | Required |
|---|---|---|
| ingresses | object | Optional |
| nodeSelector | object | Optional |
| tolerations | array | Optional |
Description
Override the common configuration with a particular configuration for the Ingress module.
.spec.distribution.modules.ingress.overrides.ingresses
Properties
| Property | Type | Required |
|---|---|---|
| forecastle | object | Optional |
.spec.distribution.modules.ingress.overrides.ingresses.forecastle
Properties
| Property | Type | Required |
|---|---|---|
| disableAuth | boolean | Optional |
| host | string | Optional |
| ingressClass | string | Optional |
.spec.distribution.modules.ingress.overrides.ingresses.forecastle.disableAuth
Description
If true, the ingress will not have authentication even if .spec.modules.auth.provider.type is SSO or Basic Auth.
.spec.distribution.modules.ingress.overrides.ingresses.forecastle.host
Description
Use this host for the ingress instead of the default one.
.spec.distribution.modules.ingress.overrides.ingresses.forecastle.ingressClass
Description
Use this ingress class for the ingress instead of the default one.
.spec.distribution.modules.ingress.overrides.nodeSelector
Description
Set to override the node selector used to place the pods of the Ingress module.
.spec.distribution.modules.ingress.overrides.tolerations
Properties
| Property | Type | Required |
|---|---|---|
| effect | string | Required |
| key | string | Required |
| operator | string | Optional |
| value | string | Optional |
Description
Set to override the tolerations that will be added to the pods of the Ingress module.
.spec.distribution.modules.ingress.overrides.tolerations.effect
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"NoSchedule" |
"PreferNoSchedule" |
"NoExecute" |
.spec.distribution.modules.ingress.overrides.tolerations.key
Description
The key of the toleration
.spec.distribution.modules.ingress.overrides.tolerations.operator
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"Exists" |
"Equal" |
.spec.distribution.modules.ingress.overrides.tolerations.value
Description
The value of the toleration
.spec.distribution.modules.ingress.then
.spec.distribution.modules.logging
Properties
| Property | Type | Required |
|---|---|---|
| cerebro | object | Optional |
| customOutputs | object | Optional |
| loki | object | Optional |
| minio | object | Optional |
| opensearch | object | Optional |
| operator | object | Optional |
| overrides | object | Optional |
| type | string | Required |
Description
Configuration for the Logging module.
.spec.distribution.modules.logging.cerebro
Properties
| Property | Type | Required |
|---|---|---|
| overrides | object | Optional |
Description
DEPRECATED since KFD v1.26.6, 1.27.5, v1.28.0.
.spec.distribution.modules.logging.cerebro.overrides
Properties
| Property | Type | Required |
|---|---|---|
| nodeSelector | object | Optional |
| tolerations | array | Optional |
.spec.distribution.modules.logging.cerebro.overrides.nodeSelector
Description
Set to override the node selector used to place the pods of the package.
.spec.distribution.modules.logging.cerebro.overrides.tolerations
Properties
| Property | Type | Required |
|---|---|---|
| effect | string | Required |
| key | string | Required |
| operator | string | Optional |
| value | string | Optional |
Description
Set to override the tolerations that will be added to the pods of the package.
.spec.distribution.modules.logging.cerebro.overrides.tolerations.effect
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"NoSchedule" |
"PreferNoSchedule" |
"NoExecute" |
.spec.distribution.modules.logging.cerebro.overrides.tolerations.key
Description
The key of the toleration
.spec.distribution.modules.logging.cerebro.overrides.tolerations.operator
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"Exists" |
"Equal" |
.spec.distribution.modules.logging.cerebro.overrides.tolerations.value
Description
The value of the toleration
.spec.distribution.modules.logging.customOutputs
Properties
| Property | Type | Required |
|---|---|---|
| audit | string | Required |
| errors | string | Required |
| events | string | Required |
| infra | string | Required |
| ingressNginx | string | Required |
| kubernetes | string | Required |
| systemdCommon | string | Required |
| systemdEtcd | string | Required |
Description
When using the customOutputs logging type, you need to manually specify the spec of the several Output and ClusterOutputs that the Logging Operator expects to forward the logs collected by the pre-defined flows.
.spec.distribution.modules.logging.customOutputs.audit
Description
This value defines where the output from the audit Flow will be sent. This will be the spec section of the Output object. It must be a string (and not a YAML object) following the OutputSpec definition. Use the nullout output to discard the flow: nullout: {}
.spec.distribution.modules.logging.customOutputs.errors
Description
This value defines where the output from the errors Flow will be sent. This will be the spec section of the Output object. It must be a string (and not a YAML object) following the OutputSpec definition. Use the nullout output to discard the flow: nullout: {}
.spec.distribution.modules.logging.customOutputs.events
Description
This value defines where the output from the events Flow will be sent. This will be the spec section of the Output object. It must be a string (and not a YAML object) following the OutputSpec definition. Use the nullout output to discard the flow: nullout: {}
.spec.distribution.modules.logging.customOutputs.infra
Description
This value defines where the output from the infra Flow will be sent. This will be the spec section of the Output object. It must be a string (and not a YAML object) following the OutputSpec definition. Use the nullout output to discard the flow: nullout: {}
.spec.distribution.modules.logging.customOutputs.ingressNginx
Description
This value defines where the output from the ingressNginx Flow will be sent. This will be the spec section of the Output object. It must be a string (and not a YAML object) following the OutputSpec definition. Use the nullout output to discard the flow: nullout: {}
.spec.distribution.modules.logging.customOutputs.kubernetes
Description
This value defines where the output from the kubernetes Flow will be sent. This will be the spec section of the Output object. It must be a string (and not a YAML object) following the OutputSpec definition. Use the nullout output to discard the flow: nullout: {}
.spec.distribution.modules.logging.customOutputs.systemdCommon
Description
This value defines where the output from the systemdCommon Flow will be sent. This will be the spec section of the Output object. It must be a string (and not a YAML object) following the OutputSpec definition. Use the nullout output to discard the flow: nullout: {}
.spec.distribution.modules.logging.customOutputs.systemdEtcd
Description
This value defines where the output from the systemdEtcd Flow will be sent. This will be the spec section of the Output object. It must be a string (and not a YAML object) following the OutputSpec definition. Use the nullout output to discard the flow: nullout: {}
.spec.distribution.modules.logging.loki
Properties
| Property | Type | Required |
|---|---|---|
| backend | string | Optional |
| externalEndpoint | object | Optional |
| resources | object | Optional |
| tsdbStartDate | string | Required |
Description
Configuration for the Loki package.
.spec.distribution.modules.logging.loki.backend
Description
The storage backend type for Loki. minio will use an in-cluster MinIO deployment for object storage, externalEndpoint can be used to point to an external object storage instead of deploying an in-cluster MinIO.
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"minio" |
"externalEndpoint" |
.spec.distribution.modules.logging.loki.externalEndpoint
Properties
| Property | Type | Required |
|---|---|---|
| accessKeyId | string | Optional |
| bucketName | string | Optional |
| endpoint | string | Optional |
| insecure | boolean | Optional |
| secretAccessKey | string | Optional |
Description
Configuration for Loki's external storage backend.
.spec.distribution.modules.logging.loki.externalEndpoint.accessKeyId
Description
The access key ID (username) for the external S3-compatible bucket.
.spec.distribution.modules.logging.loki.externalEndpoint.bucketName
Description
The bucket name of the external S3-compatible object storage.
.spec.distribution.modules.logging.loki.externalEndpoint.endpoint
Description
External S3-compatible endpoint for Loki's storage.
.spec.distribution.modules.logging.loki.externalEndpoint.insecure
Description
If true, will use HTTP as protocol instead of HTTPS.
.spec.distribution.modules.logging.loki.externalEndpoint.secretAccessKey
Description
The secret access key (password) for the external S3-compatible bucket.
.spec.distribution.modules.logging.loki.resources
Properties
| Property | Type | Required |
|---|---|---|
| limits | object | Optional |
| requests | object | Optional |
.spec.distribution.modules.logging.loki.resources.limits
Properties
| Property | Type | Required |
|---|---|---|
| cpu | string | Optional |
| memory | string | Optional |
.spec.distribution.modules.logging.loki.resources.limits.cpu
Description
The CPU limit for the Pod. Example: 1000m.
.spec.distribution.modules.logging.loki.resources.limits.memory
Description
The memory limit for the Pod. Example: 1G.
.spec.distribution.modules.logging.loki.resources.requests
Properties
| Property | Type | Required |
|---|---|---|
| cpu | string | Optional |
| memory | string | Optional |
.spec.distribution.modules.logging.loki.resources.requests.cpu
Description
The CPU request for the Pod, in cores. Example: 500m.
.spec.distribution.modules.logging.loki.resources.requests.memory
Description
The memory request for the Pod. Example: 500M.
.spec.distribution.modules.logging.loki.tsdbStartDate
Description
Starting from versions 1.28.4, 1.29.5 and 1.30.0 of KFD, Loki will change the time series database from BoltDB to TSDB and the schema from v11 to v13 that it uses to store the logs.
The value of this field will determine the date when Loki will start writing using the new TSDB and the schema v13, always at midnight UTC. The old BoltDB and schema will be kept until they expire for reading purposes.
From versions 1.29.7, 1.30.3 and 1.31.1 of the distribution, this field will be unmutable once changed.
Value must be a string in ISO 8601 date format (yyyy-mm-dd). Example: 2024-11-18.
.spec.distribution.modules.logging.minio
Properties
| Property | Type | Required |
|---|---|---|
| overrides | object | Optional |
| rootUser | object | Optional |
| storageSize | string | Optional |
Description
Configuration for Logging's MinIO deployment.
.spec.distribution.modules.logging.minio.overrides
Properties
| Property | Type | Required |
|---|---|---|
| nodeSelector | object | Optional |
| tolerations | array | Optional |
.spec.distribution.modules.logging.minio.overrides.nodeSelector
Description
Set to override the node selector used to place the pods of the package.
.spec.distribution.modules.logging.minio.overrides.tolerations
Properties
| Property | Type | Required |
|---|---|---|
| effect | string | Required |
| key | string | Required |
| operator | string | Optional |
| value | string | Optional |
Description
Set to override the tolerations that will be added to the pods of the package.
.spec.distribution.modules.logging.minio.overrides.tolerations.effect
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"NoSchedule" |
"PreferNoSchedule" |
"NoExecute" |
.spec.distribution.modules.logging.minio.overrides.tolerations.key
Description
The key of the toleration
.spec.distribution.modules.logging.minio.overrides.tolerations.operator
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"Exists" |
"Equal" |
.spec.distribution.modules.logging.minio.overrides.tolerations.value
Description
The value of the toleration
.spec.distribution.modules.logging.minio.rootUser
Properties
| Property | Type | Required |
|---|---|---|
| password | string | Optional |
| username | string | Optional |
.spec.distribution.modules.logging.minio.rootUser.password
Description
The password for the default MinIO root user.
.spec.distribution.modules.logging.minio.rootUser.username
Description
The username for the default MinIO root user.
.spec.distribution.modules.logging.minio.storageSize
Description
The PVC size for each MinIO disk, 6 disks total.
.spec.distribution.modules.logging.opensearch
Properties
| Property | Type | Required |
|---|---|---|
| overrides | object | Optional |
| resources | object | Optional |
| storageSize | string | Optional |
| type | string | Required |
.spec.distribution.modules.logging.opensearch.overrides
Properties
| Property | Type | Required |
|---|---|---|
| nodeSelector | object | Optional |
| tolerations | array | Optional |
.spec.distribution.modules.logging.opensearch.overrides.nodeSelector
Description
Set to override the node selector used to place the pods of the package.
.spec.distribution.modules.logging.opensearch.overrides.tolerations
Properties
| Property | Type | Required |
|---|---|---|
| effect | string | Required |
| key | string | Required |
| operator | string | Optional |
| value | string | Optional |
Description
Set to override the tolerations that will be added to the pods of the package.
.spec.distribution.modules.logging.opensearch.overrides.tolerations.effect
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"NoSchedule" |
"PreferNoSchedule" |
"NoExecute" |
.spec.distribution.modules.logging.opensearch.overrides.tolerations.key
Description
The key of the toleration
.spec.distribution.modules.logging.opensearch.overrides.tolerations.operator
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"Exists" |
"Equal" |
.spec.distribution.modules.logging.opensearch.overrides.tolerations.value
Description
The value of the toleration
.spec.distribution.modules.logging.opensearch.resources
Properties
| Property | Type | Required |
|---|---|---|
| limits | object | Optional |
| requests | object | Optional |
.spec.distribution.modules.logging.opensearch.resources.limits
Properties
| Property | Type | Required |
|---|---|---|
| cpu | string | Optional |
| memory | string | Optional |
.spec.distribution.modules.logging.opensearch.resources.limits.cpu
Description
The CPU limit for the Pod. Example: 1000m.
.spec.distribution.modules.logging.opensearch.resources.limits.memory
Description
The memory limit for the Pod. Example: 1G.
.spec.distribution.modules.logging.opensearch.resources.requests
Properties
| Property | Type | Required |
|---|---|---|
| cpu | string | Optional |
| memory | string | Optional |
.spec.distribution.modules.logging.opensearch.resources.requests.cpu
Description
The CPU request for the Pod, in cores. Example: 500m.
.spec.distribution.modules.logging.opensearch.resources.requests.memory
Description
The memory request for the Pod. Example: 500M.
.spec.distribution.modules.logging.opensearch.storageSize
Description
The storage size for the OpenSearch volumes. Follows Kubernetes resources storage requests. Default is 150Gi.
.spec.distribution.modules.logging.opensearch.type
Description
The type of OpenSearch deployment. One of: single for a single replica or triple for an HA 3-replicas deployment.
Constraints
enum: the value of this property must be equal to one of the following string values:
| Value |
|---|
"single" |
"triple" |
.spec.distribution.modules.logging.operator
Properties
| Property | Type | Required |
|---|---|---|
| overrides | object | Optional |
Description
Configuration for the Logging Operator.
.spec.distribution.modules.logging.operator.overrides
Properties
| Property | Type | Required |
|---|---|---|
| nodeSelector | object | Optional |
| tolerations | array | Optional |
.spec.distribution.modules.logging.operator.overrides.nodeSelector
Description
Set to override the node selector used to place the pods of the package.
.spec.distribution.modules.logging.operator.overrides.tolerations
Properties
| Property | Type | Required |
|---|---|---|
| effect | string | Required |
| key | string | Required |
| operator | string | Optional |
| value | string | Optional |
Description
Set to override the tolerations that will be added to the pods of the package.