Documentation ¶
Index ¶
- type Metadata
- type OnpremisesKfdV1Alpha2
- type OnpremisesKfdV1Alpha2Kind
- type Spec
- type SpecDistribution
- type SpecDistributionCommon
- type SpecDistributionCommonProvider
- type SpecDistributionCustomPatchesConfigMapGenerator
- type SpecDistributionCustomPatchesConfigMapGeneratorResource
- type SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior
- type SpecDistributionCustomPatchesConfigMapGeneratorResourceOptions
- type SpecDistributionCustomPatchesImages
- type SpecDistributionCustomPatchesPatch
- type SpecDistributionCustomPatchesPatchOptions
- type SpecDistributionCustomPatchesPatchTarget
- type SpecDistributionCustomPatchesPatches
- type SpecDistributionCustomPatchesPatchesStrategicMerge
- type SpecDistributionCustomPatchesSecretGenerator
- type SpecDistributionCustomPatchesSecretGeneratorResource
- type SpecDistributionCustomPatchesSecretGeneratorResourceBehavior
- type SpecDistributionCustomPatchesSecretGeneratorResourceOptions
- type SpecDistributionCustompatches
- type SpecDistributionModules
- type SpecDistributionModulesAuth
- type SpecDistributionModulesAuthDex
- type SpecDistributionModulesAuthDexExpiry
- type SpecDistributionModulesAuthOIDCKubernetesAuth
- type SpecDistributionModulesAuthOverrides
- type SpecDistributionModulesAuthOverridesIngress
- type SpecDistributionModulesAuthOverridesIngresses
- type SpecDistributionModulesAuthPomerium
- type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicy
- type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyGatekeeperPolicyManagerElem
- type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyHubbleUiElem
- type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyIngressNgnixForecastleElem
- type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyLoggingMinioConsoleElem
- type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyLoggingOpensearchDashboardsElem
- type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyMonitoringAlertmanagerElem
- type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyMonitoringGrafanaElem
- type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyMonitoringMinioConsoleElem
- type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyMonitoringPrometheusElem
- type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyTracingMinioConsoleElem
- type SpecDistributionModulesAuthPomeriumRoutesElem
- type SpecDistributionModulesAuthPomeriumSecrets
- type SpecDistributionModulesAuthPomerium_2
- type SpecDistributionModulesAuthProvider
- type SpecDistributionModulesAuthProviderBasicAuth
- type SpecDistributionModulesAuthProviderType
- type SpecDistributionModulesDr
- type SpecDistributionModulesDrType
- type SpecDistributionModulesDrVelero
- type SpecDistributionModulesDrVeleroBackend
- type SpecDistributionModulesDrVeleroExternalEndpoint
- type SpecDistributionModulesDrVeleroSchedules
- type SpecDistributionModulesDrVeleroSchedulesDefinitions
- type SpecDistributionModulesDrVeleroSchedulesDefinitionsFull
- type SpecDistributionModulesDrVeleroSchedulesDefinitionsManifests
- type SpecDistributionModulesDrVeleroSnapshotController
- type SpecDistributionModulesIngress
- type SpecDistributionModulesIngressCertManager
- type SpecDistributionModulesIngressCertManagerClusterIssuer
- type SpecDistributionModulesIngressCertManagerClusterIssuerType
- type SpecDistributionModulesIngressForecastle
- type SpecDistributionModulesIngressNginx
- type SpecDistributionModulesIngressNginxTLS
- type SpecDistributionModulesIngressNginxTLSProvider
- type SpecDistributionModulesIngressNginxTLSSecret
- type SpecDistributionModulesIngressNginxType
- type SpecDistributionModulesIngressOverrides
- type SpecDistributionModulesIngressOverridesIngresses
- type SpecDistributionModulesLogging
- type SpecDistributionModulesLoggingCerebro
- type SpecDistributionModulesLoggingCustomOutputs
- type SpecDistributionModulesLoggingLoki
- type SpecDistributionModulesLoggingLokiBackend
- type SpecDistributionModulesLoggingLokiExternalEndpoint
- type SpecDistributionModulesLoggingMinio
- type SpecDistributionModulesLoggingMinioRootUser
- type SpecDistributionModulesLoggingOpensearch
- type SpecDistributionModulesLoggingOpensearchType
- type SpecDistributionModulesLoggingOperator
- type SpecDistributionModulesLoggingType
- type SpecDistributionModulesMonitoring
- type SpecDistributionModulesMonitoringAlertManager
- type SpecDistributionModulesMonitoringBlackboxExporter
- type SpecDistributionModulesMonitoringGrafana
- type SpecDistributionModulesMonitoringKubeStateMetrics
- type SpecDistributionModulesMonitoringMimir
- type SpecDistributionModulesMonitoringMimirBackend
- type SpecDistributionModulesMonitoringMimirExternalEndpoint
- type SpecDistributionModulesMonitoringMinio
- type SpecDistributionModulesMonitoringMinioRootUser
- type SpecDistributionModulesMonitoringPrometheus
- type SpecDistributionModulesMonitoringPrometheusAgent
- type SpecDistributionModulesMonitoringPrometheusAgentRemoteWriteElem
- type SpecDistributionModulesMonitoringPrometheusRemoteWriteElem
- type SpecDistributionModulesMonitoringType
- type SpecDistributionModulesMonitoringX509Exporter
- type SpecDistributionModulesNetworking
- type SpecDistributionModulesNetworkingCilium
- type SpecDistributionModulesNetworkingTigeraOperator
- type SpecDistributionModulesNetworkingType
- type SpecDistributionModulesPolicy
- type SpecDistributionModulesPolicyGatekeeper
- type SpecDistributionModulesPolicyGatekeeperEnforcementAction
- type SpecDistributionModulesPolicyKyverno
- type SpecDistributionModulesPolicyKyvernoValidationFailureAction
- type SpecDistributionModulesPolicyType
- type SpecDistributionModulesTracing
- type SpecDistributionModulesTracingMinio
- type SpecDistributionModulesTracingMinioRootUser
- type SpecDistributionModulesTracingTempo
- type SpecDistributionModulesTracingTempoBackend
- type SpecDistributionModulesTracingTempoExternalEndpoint
- type SpecDistributionModulesTracingType
- type SpecKubernetes
- type SpecKubernetesAdvanced
- type SpecKubernetesAdvancedAirGap
- type SpecKubernetesAdvancedAirGapDependenciesOverride
- type SpecKubernetesAdvancedAirGapDependenciesOverrideApt
- type SpecKubernetesAdvancedAirGapDependenciesOverrideYum
- type SpecKubernetesAdvancedAnsible
- type SpecKubernetesAdvancedCloud
- type SpecKubernetesAdvancedContainerd
- type SpecKubernetesAdvancedContainerdRegistryConfigs
- type SpecKubernetesAdvancedEncryption
- type SpecKubernetesAdvancedOIDC
- type SpecKubernetesAdvancedUsers
- type SpecKubernetesLoadBalancers
- type SpecKubernetesLoadBalancersHost
- type SpecKubernetesLoadBalancersKeepalived
- type SpecKubernetesLoadBalancersStats
- type SpecKubernetesMasters
- type SpecKubernetesMastersHost
- type SpecKubernetesNodes
- type SpecKubernetesNodesNode
- type SpecKubernetesNodesNodeHost
- type SpecKubernetesProxy
- type SpecKubernetesSSH
- type SpecPlugins
- type SpecPluginsHelm
- type SpecPluginsHelmReleases
- type SpecPluginsHelmReleasesElemSetElem
- type SpecPluginsHelmRepositories
- type SpecPluginsKustomize
- type TypesCidr
- type TypesEnvRef
- type TypesFileRef
- type TypesFuryModuleComponentOverrides
- type TypesFuryModuleComponentOverrides_1
- type TypesFuryModuleOverrides
- type TypesFuryModuleOverridesIngress
- type TypesFuryModuleOverridesIngresses
- type TypesIpAddress
- type TypesKubeLabels
- type TypesKubeLabels_1
- type TypesKubeNodeSelector
- type TypesKubeNodeSelector_1
- type TypesKubeResources
- type TypesKubeResourcesLimits
- type TypesKubeResourcesRequests
- type TypesKubeTaints
- type TypesKubeTaintsEffect
- type TypesKubeToleration
- type TypesKubeTolerationEffect
- type TypesKubeTolerationEffect_1
- type TypesKubeTolerationOperator
- type TypesKubeTolerationOperator_1
- type TypesKubeToleration_1
- type TypesSemVer
- type TypesSshPubKey
- type TypesTcpPort
- type TypesUri
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Metadata ¶
type Metadata struct { // The name of the cluster. It will also be used as a prefix for all the other // resources created. Name string `json:"name" yaml:"name" mapstructure:"name"` }
func (*Metadata) UnmarshalJSON ¶
UnmarshalJSON implements json.Unmarshaler.
type OnpremisesKfdV1Alpha2 ¶
type OnpremisesKfdV1Alpha2 struct { // ApiVersion corresponds to the JSON schema field "apiVersion". ApiVersion string `json:"apiVersion" yaml:"apiVersion" mapstructure:"apiVersion"` // Kind corresponds to the JSON schema field "kind". Kind OnpremisesKfdV1Alpha2Kind `json:"kind" yaml:"kind" mapstructure:"kind"` // Metadata corresponds to the JSON schema field "metadata". Metadata Metadata `json:"metadata" yaml:"metadata" mapstructure:"metadata"` // Spec corresponds to the JSON schema field "spec". Spec Spec `json:"spec" yaml:"spec" mapstructure:"spec"` }
A KFD Cluster deployed on top of a set of existing VMs.
func (*OnpremisesKfdV1Alpha2) UnmarshalJSON ¶
func (j *OnpremisesKfdV1Alpha2) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type OnpremisesKfdV1Alpha2Kind ¶
type OnpremisesKfdV1Alpha2Kind string
const OnpremisesKfdV1Alpha2KindOnPremises OnpremisesKfdV1Alpha2Kind = "OnPremises"
func (*OnpremisesKfdV1Alpha2Kind) UnmarshalJSON ¶
func (j *OnpremisesKfdV1Alpha2Kind) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type Spec ¶
type Spec struct { // Distribution corresponds to the JSON schema field "distribution". Distribution SpecDistribution `json:"distribution" yaml:"distribution" mapstructure:"distribution"` // Defines which KFD version will be installed and, in consequence, the Kubernetes // version used to create the cluster. It supports git tags and branches. Example: // `v1.30.1`. DistributionVersion string `json:"distributionVersion" yaml:"distributionVersion" mapstructure:"distributionVersion"` // Kubernetes corresponds to the JSON schema field "kubernetes". Kubernetes *SpecKubernetes `json:"kubernetes,omitempty" yaml:"kubernetes,omitempty" mapstructure:"kubernetes,omitempty"` // Plugins corresponds to the JSON schema field "plugins". Plugins *SpecPlugins `json:"plugins,omitempty" yaml:"plugins,omitempty" mapstructure:"plugins,omitempty"` }
func (*Spec) UnmarshalJSON ¶
UnmarshalJSON implements json.Unmarshaler.
type SpecDistribution ¶
type SpecDistribution struct { // Common corresponds to the JSON schema field "common". Common *SpecDistributionCommon `json:"common,omitempty" yaml:"common,omitempty" mapstructure:"common,omitempty"` // CustomPatches corresponds to the JSON schema field "customPatches". CustomPatches *SpecDistributionCustompatches `json:"customPatches,omitempty" yaml:"customPatches,omitempty" mapstructure:"customPatches,omitempty"` // Modules corresponds to the JSON schema field "modules". Modules SpecDistributionModules `json:"modules" yaml:"modules" mapstructure:"modules"` }
func (*SpecDistribution) UnmarshalJSON ¶
func (j *SpecDistribution) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionCommon ¶
type SpecDistributionCommon struct { // EXPERIMENTAL FEATURE. This field defines whether Network Policies are provided // for core modules. NetworkPoliciesEnabled *bool `` /* 127-byte string literal not displayed */ // The node selector to use to place the pods for all the KFD modules. Follows // Kubernetes selector format. Example: `node.kubernetes.io/role: infra`. NodeSelector TypesKubeNodeSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty" mapstructure:"nodeSelector,omitempty"` // Provider corresponds to the JSON schema field "provider". Provider *SpecDistributionCommonProvider `json:"provider,omitempty" yaml:"provider,omitempty" mapstructure:"provider,omitempty"` // 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. Registry *string `json:"registry,omitempty" yaml:"registry,omitempty" mapstructure:"registry,omitempty"` // The relative path to the vendor directory, does not need to be changed. RelativeVendorPath *string `json:"relativeVendorPath,omitempty" yaml:"relativeVendorPath,omitempty" mapstructure:"relativeVendorPath,omitempty"` // An array with the tolerations that will be added to the pods for all the KFD // modules. Follows Kubernetes tolerations format. Example: // // “`yaml // - effect: NoSchedule // key: node.kubernetes.io/role // value: infra // “` Tolerations []TypesKubeToleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"` }
Common configuration for all the distribution modules.
type SpecDistributionCommonProvider ¶
type SpecDistributionCommonProvider struct { // The provider type. Don't set. FOR INTERNAL USE ONLY. Type string `json:"type" yaml:"type" mapstructure:"type"` }
func (*SpecDistributionCommonProvider) UnmarshalJSON ¶
func (j *SpecDistributionCommonProvider) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionCustomPatchesConfigMapGenerator ¶
type SpecDistributionCustomPatchesConfigMapGenerator []SpecDistributionCustomPatchesConfigMapGeneratorResource
type SpecDistributionCustomPatchesConfigMapGeneratorResource ¶ added in v1.26.6
type SpecDistributionCustomPatchesConfigMapGeneratorResource struct { // The behavior of the configmap Behavior *SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior `json:"behavior,omitempty" yaml:"behavior,omitempty" mapstructure:"behavior,omitempty"` // The envs of the configmap Envs []string `json:"envs,omitempty" yaml:"envs,omitempty" mapstructure:"envs,omitempty"` // The files of the configmap Files []string `json:"files,omitempty" yaml:"files,omitempty" mapstructure:"files,omitempty"` // The literals of the configmap Literals []string `json:"literals,omitempty" yaml:"literals,omitempty" mapstructure:"literals,omitempty"` // The name of the configmap Name string `json:"name" yaml:"name" mapstructure:"name"` // The namespace of the configmap Namespace *string `json:"namespace,omitempty" yaml:"namespace,omitempty" mapstructure:"namespace,omitempty"` // Options corresponds to the JSON schema field "options". Options *SpecDistributionCustomPatchesConfigMapGeneratorResourceOptions `json:"options,omitempty" yaml:"options,omitempty" mapstructure:"options,omitempty"` }
func (*SpecDistributionCustomPatchesConfigMapGeneratorResource) UnmarshalJSON ¶ added in v1.26.6
func (j *SpecDistributionCustomPatchesConfigMapGeneratorResource) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior ¶ added in v1.26.6
type SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior string
const ( SpecDistributionCustomPatchesConfigMapGeneratorResourceBehaviorCreate SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior = "create" SpecDistributionCustomPatchesConfigMapGeneratorResourceBehaviorMerge SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior = "merge" SpecDistributionCustomPatchesConfigMapGeneratorResourceBehaviorReplace SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior = "replace" )
func (*SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior) UnmarshalJSON ¶ added in v1.26.6
func (j *SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionCustomPatchesConfigMapGeneratorResourceOptions ¶ added in v1.26.6
type SpecDistributionCustomPatchesConfigMapGeneratorResourceOptions struct { // The annotations of the configmap Annotations TypesKubeLabels `json:"annotations,omitempty" yaml:"annotations,omitempty" mapstructure:"annotations,omitempty"` // If true, the name suffix hash will be disabled DisableNameSuffixHash *bool `json:"disableNameSuffixHash,omitempty" yaml:"disableNameSuffixHash,omitempty" mapstructure:"disableNameSuffixHash,omitempty"` // If true, the configmap will be immutable Immutable *bool `json:"immutable,omitempty" yaml:"immutable,omitempty" mapstructure:"immutable,omitempty"` // The labels of the configmap Labels TypesKubeLabels `json:"labels,omitempty" yaml:"labels,omitempty" mapstructure:"labels,omitempty"` }
type SpecDistributionCustomPatchesImages ¶ added in v1.26.6
type SpecDistributionCustomPatchesImages []map[string]interface{}
Each entry should follow the format of Kustomize's images patch
type SpecDistributionCustomPatchesPatch ¶
type SpecDistributionCustomPatchesPatch struct { // Options corresponds to the JSON schema field "options". Options *SpecDistributionCustomPatchesPatchOptions `json:"options,omitempty" yaml:"options,omitempty" mapstructure:"options,omitempty"` // The patch content Patch *string `json:"patch,omitempty" yaml:"patch,omitempty" mapstructure:"patch,omitempty"` // The path of the patch Path *string `json:"path,omitempty" yaml:"path,omitempty" mapstructure:"path,omitempty"` // Target corresponds to the JSON schema field "target". Target *SpecDistributionCustomPatchesPatchTarget `json:"target,omitempty" yaml:"target,omitempty" mapstructure:"target,omitempty"` }
type SpecDistributionCustomPatchesPatchOptions ¶
type SpecDistributionCustomPatchesPatchOptions struct { // If true, the kind change will be allowed AllowKindChange *bool `json:"allowKindChange,omitempty" yaml:"allowKindChange,omitempty" mapstructure:"allowKindChange,omitempty"` // If true, the name change will be allowed AllowNameChange *bool `json:"allowNameChange,omitempty" yaml:"allowNameChange,omitempty" mapstructure:"allowNameChange,omitempty"` }
type SpecDistributionCustomPatchesPatchTarget ¶
type SpecDistributionCustomPatchesPatchTarget struct { // The annotation selector of the target AnnotationSelector *string `json:"annotationSelector,omitempty" yaml:"annotationSelector,omitempty" mapstructure:"annotationSelector,omitempty"` // The group of the target Group *string `json:"group,omitempty" yaml:"group,omitempty" mapstructure:"group,omitempty"` // The kind of the target Kind *string `json:"kind,omitempty" yaml:"kind,omitempty" mapstructure:"kind,omitempty"` // The label selector of the target LabelSelector *string `json:"labelSelector,omitempty" yaml:"labelSelector,omitempty" mapstructure:"labelSelector,omitempty"` // The name of the target Name *string `json:"name,omitempty" yaml:"name,omitempty" mapstructure:"name,omitempty"` // The namespace of the target Namespace *string `json:"namespace,omitempty" yaml:"namespace,omitempty" mapstructure:"namespace,omitempty"` // The version of the target Version *string `json:"version,omitempty" yaml:"version,omitempty" mapstructure:"version,omitempty"` }
type SpecDistributionCustomPatchesPatches ¶
type SpecDistributionCustomPatchesPatches []SpecDistributionCustomPatchesPatch
type SpecDistributionCustomPatchesPatchesStrategicMerge ¶
type SpecDistributionCustomPatchesPatchesStrategicMerge []string
Each entry should be either a relative file path or an inline content resolving to a partial or complete resource definition
type SpecDistributionCustomPatchesSecretGenerator ¶
type SpecDistributionCustomPatchesSecretGenerator []SpecDistributionCustomPatchesSecretGeneratorResource
type SpecDistributionCustomPatchesSecretGeneratorResource ¶ added in v1.26.6
type SpecDistributionCustomPatchesSecretGeneratorResource struct { // The behavior of the secret Behavior *SpecDistributionCustomPatchesSecretGeneratorResourceBehavior `json:"behavior,omitempty" yaml:"behavior,omitempty" mapstructure:"behavior,omitempty"` // The envs of the secret Envs []string `json:"envs,omitempty" yaml:"envs,omitempty" mapstructure:"envs,omitempty"` // The files of the secret Files []string `json:"files,omitempty" yaml:"files,omitempty" mapstructure:"files,omitempty"` // The literals of the secret Literals []string `json:"literals,omitempty" yaml:"literals,omitempty" mapstructure:"literals,omitempty"` // The name of the secret Name string `json:"name" yaml:"name" mapstructure:"name"` // The namespace of the secret Namespace *string `json:"namespace,omitempty" yaml:"namespace,omitempty" mapstructure:"namespace,omitempty"` // Options corresponds to the JSON schema field "options". Options *SpecDistributionCustomPatchesSecretGeneratorResourceOptions `json:"options,omitempty" yaml:"options,omitempty" mapstructure:"options,omitempty"` // The type of the secret Type *string `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"` }
func (*SpecDistributionCustomPatchesSecretGeneratorResource) UnmarshalJSON ¶ added in v1.26.6
func (j *SpecDistributionCustomPatchesSecretGeneratorResource) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionCustomPatchesSecretGeneratorResourceBehavior ¶ added in v1.26.6
type SpecDistributionCustomPatchesSecretGeneratorResourceBehavior string
const ( SpecDistributionCustomPatchesSecretGeneratorResourceBehaviorCreate SpecDistributionCustomPatchesSecretGeneratorResourceBehavior = "create" SpecDistributionCustomPatchesSecretGeneratorResourceBehaviorMerge SpecDistributionCustomPatchesSecretGeneratorResourceBehavior = "merge" SpecDistributionCustomPatchesSecretGeneratorResourceBehaviorReplace SpecDistributionCustomPatchesSecretGeneratorResourceBehavior = "replace" )
func (*SpecDistributionCustomPatchesSecretGeneratorResourceBehavior) UnmarshalJSON ¶ added in v1.26.6
func (j *SpecDistributionCustomPatchesSecretGeneratorResourceBehavior) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionCustomPatchesSecretGeneratorResourceOptions ¶ added in v1.26.6
type SpecDistributionCustomPatchesSecretGeneratorResourceOptions struct { // The annotations of the secret Annotations TypesKubeLabels `json:"annotations,omitempty" yaml:"annotations,omitempty" mapstructure:"annotations,omitempty"` // If true, the name suffix hash will be disabled DisableNameSuffixHash *bool `json:"disableNameSuffixHash,omitempty" yaml:"disableNameSuffixHash,omitempty" mapstructure:"disableNameSuffixHash,omitempty"` // If true, the secret will be immutable Immutable *bool `json:"immutable,omitempty" yaml:"immutable,omitempty" mapstructure:"immutable,omitempty"` // The labels of the secret Labels TypesKubeLabels `json:"labels,omitempty" yaml:"labels,omitempty" mapstructure:"labels,omitempty"` }
type SpecDistributionCustompatches ¶ added in v1.27.7
type SpecDistributionCustompatches struct { // ConfigMapGenerator corresponds to the JSON schema field "configMapGenerator". ConfigMapGenerator SpecDistributionCustomPatchesConfigMapGenerator `json:"configMapGenerator,omitempty" yaml:"configMapGenerator,omitempty" mapstructure:"configMapGenerator,omitempty"` // Images corresponds to the JSON schema field "images". Images SpecDistributionCustomPatchesImages `json:"images,omitempty" yaml:"images,omitempty" mapstructure:"images,omitempty"` // Patches corresponds to the JSON schema field "patches". Patches SpecDistributionCustomPatchesPatches `json:"patches,omitempty" yaml:"patches,omitempty" mapstructure:"patches,omitempty"` // PatchesStrategicMerge corresponds to the JSON schema field // "patchesStrategicMerge". PatchesStrategicMerge SpecDistributionCustomPatchesPatchesStrategicMerge `json:"patchesStrategicMerge,omitempty" yaml:"patchesStrategicMerge,omitempty" mapstructure:"patchesStrategicMerge,omitempty"` // SecretGenerator corresponds to the JSON schema field "secretGenerator". SecretGenerator SpecDistributionCustomPatchesSecretGenerator `json:"secretGenerator,omitempty" yaml:"secretGenerator,omitempty" mapstructure:"secretGenerator,omitempty"` }
type SpecDistributionModules ¶
type SpecDistributionModules struct { // Auth corresponds to the JSON schema field "auth". Auth *SpecDistributionModulesAuth `json:"auth,omitempty" yaml:"auth,omitempty" mapstructure:"auth,omitempty"` // Dr corresponds to the JSON schema field "dr". Dr SpecDistributionModulesDr `json:"dr" yaml:"dr" mapstructure:"dr"` // Ingress corresponds to the JSON schema field "ingress". Ingress SpecDistributionModulesIngress `json:"ingress" yaml:"ingress" mapstructure:"ingress"` // Logging corresponds to the JSON schema field "logging". Logging SpecDistributionModulesLogging `json:"logging" yaml:"logging" mapstructure:"logging"` // Monitoring corresponds to the JSON schema field "monitoring". Monitoring *SpecDistributionModulesMonitoring `json:"monitoring,omitempty" yaml:"monitoring,omitempty" mapstructure:"monitoring,omitempty"` // Networking corresponds to the JSON schema field "networking". Networking *SpecDistributionModulesNetworking `json:"networking,omitempty" yaml:"networking,omitempty" mapstructure:"networking,omitempty"` // Policy corresponds to the JSON schema field "policy". Policy SpecDistributionModulesPolicy `json:"policy" yaml:"policy" mapstructure:"policy"` // Tracing corresponds to the JSON schema field "tracing". Tracing *SpecDistributionModulesTracing `json:"tracing,omitempty" yaml:"tracing,omitempty" mapstructure:"tracing,omitempty"` }
func (*SpecDistributionModules) UnmarshalJSON ¶
func (j *SpecDistributionModules) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesAuth ¶
type SpecDistributionModulesAuth struct { // 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. BaseDomain *string `json:"baseDomain,omitempty" yaml:"baseDomain,omitempty" mapstructure:"baseDomain,omitempty"` // Dex corresponds to the JSON schema field "dex". Dex *SpecDistributionModulesAuthDex `json:"dex,omitempty" yaml:"dex,omitempty" mapstructure:"dex,omitempty"` // OidcKubernetesAuth corresponds to the JSON schema field "oidcKubernetesAuth". OidcKubernetesAuth *SpecDistributionModulesAuthOIDCKubernetesAuth `json:"oidcKubernetesAuth,omitempty" yaml:"oidcKubernetesAuth,omitempty" mapstructure:"oidcKubernetesAuth,omitempty"` // Overrides corresponds to the JSON schema field "overrides". Overrides *SpecDistributionModulesAuthOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` // Pomerium corresponds to the JSON schema field "pomerium". Pomerium SpecDistributionModulesAuthPomerium `json:"pomerium,omitempty" yaml:"pomerium,omitempty" mapstructure:"pomerium,omitempty"` // Provider corresponds to the JSON schema field "provider". Provider SpecDistributionModulesAuthProvider `json:"provider" yaml:"provider" mapstructure:"provider"` }
Configuration for the Auth module.
func (*SpecDistributionModulesAuth) UnmarshalJSON ¶
func (j *SpecDistributionModulesAuth) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesAuthDex ¶
type SpecDistributionModulesAuthDex struct { // Additional static clients defitions that will be added to the default clients // included with the distribution in Dex's configuration. Example: // // “`yaml // 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/ AdditionalStaticClients []interface{} `` /* 130-byte string literal not displayed */ // A list with each item defining a Dex connector. Follows Dex connectors // configuration format: https://dexidp.io/docs/connectors/ Connectors []interface{} `json:"connectors" yaml:"connectors" mapstructure:"connectors"` // Expiry corresponds to the JSON schema field "expiry". Expiry *SpecDistributionModulesAuthDexExpiry `json:"expiry,omitempty" yaml:"expiry,omitempty" mapstructure:"expiry,omitempty"` // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` }
Configuration for the Dex package.
func (*SpecDistributionModulesAuthDex) UnmarshalJSON ¶
func (j *SpecDistributionModulesAuthDex) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesAuthDexExpiry ¶ added in v1.27.8
type SpecDistributionModulesAuthDexExpiry struct { // Dex ID tokens expiration time duration (default 24h). IdTokens *string `json:"idTokens,omitempty" yaml:"idTokens,omitempty" mapstructure:"idTokens,omitempty"` // Dex signing key expiration time duration (default 6h). SigningKeys *string `json:"signingKeys,omitempty" yaml:"signingKeys,omitempty" mapstructure:"signingKeys,omitempty"` }
type SpecDistributionModulesAuthOIDCKubernetesAuth ¶
type SpecDistributionModulesAuthOIDCKubernetesAuth struct { // The client ID that the Kubernetes API will use to authenticate against the OIDC // provider (Dex). ClientID *string `json:"clientID,omitempty" yaml:"clientID,omitempty" mapstructure:"clientID,omitempty"` // The client secret that the Kubernetes API will use to authenticate against the // OIDC provider (Dex). ClientSecret *string `json:"clientSecret,omitempty" yaml:"clientSecret,omitempty" mapstructure:"clientSecret,omitempty"` // DEPRECATED. Defaults to `email`. EmailClaim *string `json:"emailClaim,omitempty" yaml:"emailClaim,omitempty" mapstructure:"emailClaim,omitempty"` // If true, components needed for interacting with the Kubernetes API with OIDC // authentication (Gangplank, Dex) be deployed and configued. Enabled bool `json:"enabled" yaml:"enabled" mapstructure:"enabled"` // The namespace to set in the context of the kubeconfig file generated by // Gangplank. Defaults to `default`. Namespace *string `json:"namespace,omitempty" yaml:"namespace,omitempty" mapstructure:"namespace,omitempty"` // Set to true to remove the CA from the kubeconfig file generated by Gangplank. RemoveCAFromKubeconfig *bool `` /* 127-byte string literal not displayed */ // Used to specify the scope of the requested Oauth authorization by Gangplank. // Defaults to: `["openid", "profile", "email", "offline_access", "groups"]` Scopes []string `json:"scopes,omitempty" yaml:"scopes,omitempty" mapstructure:"scopes,omitempty"` // The Key to use for the sessions in Gangplank. Must be different between // different instances of Gangplank. SessionSecurityKey *string `json:"sessionSecurityKey,omitempty" yaml:"sessionSecurityKey,omitempty" mapstructure:"sessionSecurityKey,omitempty"` // 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`. UsernameClaim *string `json:"usernameClaim,omitempty" yaml:"usernameClaim,omitempty" mapstructure:"usernameClaim,omitempty"` }
func (*SpecDistributionModulesAuthOIDCKubernetesAuth) UnmarshalJSON ¶
func (j *SpecDistributionModulesAuthOIDCKubernetesAuth) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesAuthOverrides ¶
type SpecDistributionModulesAuthOverrides struct { // Override the definition of the Auth module ingresses. Ingresses *SpecDistributionModulesAuthOverridesIngresses `json:"ingresses,omitempty" yaml:"ingresses,omitempty" mapstructure:"ingresses,omitempty"` // Set to override the node selector used to place the pods of the Auth module. NodeSelector TypesKubeNodeSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty" mapstructure:"nodeSelector,omitempty"` // Set to override the tolerations that will be added to the pods of the Auth // module. Tolerations []TypesKubeToleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"` }
Override the common configuration with a particular configuration for the Auth module.
type SpecDistributionModulesAuthOverridesIngress ¶
type SpecDistributionModulesAuthOverridesIngress struct { // Use this host for the ingress instead of the default one. Host string `json:"host" yaml:"host" mapstructure:"host"` // Use this ingress class for the ingress instead of the default one. IngressClass string `json:"ingressClass" yaml:"ingressClass" mapstructure:"ingressClass"` }
func (*SpecDistributionModulesAuthOverridesIngress) UnmarshalJSON ¶
func (j *SpecDistributionModulesAuthOverridesIngress) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesAuthOverridesIngresses ¶
type SpecDistributionModulesAuthOverridesIngresses struct { // Dex corresponds to the JSON schema field "dex". Dex *SpecDistributionModulesAuthOverridesIngress `json:"dex,omitempty" yaml:"dex,omitempty" mapstructure:"dex,omitempty"` // Gangplank corresponds to the JSON schema field "gangplank". Gangplank *SpecDistributionModulesAuthOverridesIngress `json:"gangplank,omitempty" yaml:"gangplank,omitempty" mapstructure:"gangplank,omitempty"` }
Override the definition of the Auth module ingresses.
type SpecDistributionModulesAuthPomerium ¶
type SpecDistributionModulesAuthPomerium interface{}
type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicy ¶ added in v1.27.7
type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicy struct { // GatekeeperPolicyManager corresponds to the JSON schema field // "gatekeeperPolicyManager". GatekeeperPolicyManager []SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyGatekeeperPolicyManagerElem `` /* 130-byte string literal not displayed */ // HubbleUi corresponds to the JSON schema field "hubbleUi". HubbleUi []SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyHubbleUiElem `json:"hubbleUi,omitempty" yaml:"hubbleUi,omitempty" mapstructure:"hubbleUi,omitempty"` // IngressNgnixForecastle corresponds to the JSON schema field // "ingressNgnixForecastle". IngressNgnixForecastle []SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyIngressNgnixForecastleElem `` /* 127-byte string literal not displayed */ // LoggingMinioConsole corresponds to the JSON schema field "loggingMinioConsole". LoggingMinioConsole []SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyLoggingMinioConsoleElem `json:"loggingMinioConsole,omitempty" yaml:"loggingMinioConsole,omitempty" mapstructure:"loggingMinioConsole,omitempty"` // LoggingOpensearchDashboards corresponds to the JSON schema field // "loggingOpensearchDashboards". LoggingOpensearchDashboards []SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyLoggingOpensearchDashboardsElem `` /* 142-byte string literal not displayed */ // MonitoringAlertmanager corresponds to the JSON schema field // "monitoringAlertmanager". MonitoringAlertmanager []SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyMonitoringAlertmanagerElem `` /* 127-byte string literal not displayed */ // MonitoringGrafana corresponds to the JSON schema field "monitoringGrafana". MonitoringGrafana []SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyMonitoringGrafanaElem `json:"monitoringGrafana,omitempty" yaml:"monitoringGrafana,omitempty" mapstructure:"monitoringGrafana,omitempty"` // MonitoringMinioConsole corresponds to the JSON schema field // "monitoringMinioConsole". MonitoringMinioConsole []SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyMonitoringMinioConsoleElem `` /* 127-byte string literal not displayed */ // MonitoringPrometheus corresponds to the JSON schema field // "monitoringPrometheus". MonitoringPrometheus []SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyMonitoringPrometheusElem `json:"monitoringPrometheus,omitempty" yaml:"monitoringPrometheus,omitempty" mapstructure:"monitoringPrometheus,omitempty"` // TracingMinioConsole corresponds to the JSON schema field "tracingMinioConsole". TracingMinioConsole []SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyTracingMinioConsoleElem `json:"tracingMinioConsole,omitempty" yaml:"tracingMinioConsole,omitempty" mapstructure:"tracingMinioConsole,omitempty"` }
override default routes for KFD components
type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyGatekeeperPolicyManagerElem ¶ added in v1.27.7
type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyGatekeeperPolicyManagerElem map[string]interface{}
type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyHubbleUiElem ¶ added in v1.27.7
type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyHubbleUiElem map[string]interface{}
type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyIngressNgnixForecastleElem ¶ added in v1.27.7
type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyIngressNgnixForecastleElem map[string]interface{}
type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyLoggingMinioConsoleElem ¶ added in v1.27.7
type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyLoggingMinioConsoleElem map[string]interface{}
type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyLoggingOpensearchDashboardsElem ¶ added in v1.27.7
type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyLoggingOpensearchDashboardsElem map[string]interface{}
type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyMonitoringAlertmanagerElem ¶ added in v1.27.7
type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyMonitoringAlertmanagerElem map[string]interface{}
type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyMonitoringGrafanaElem ¶ added in v1.27.7
type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyMonitoringGrafanaElem map[string]interface{}
type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyMonitoringMinioConsoleElem ¶ added in v1.27.7
type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyMonitoringMinioConsoleElem map[string]interface{}
type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyMonitoringPrometheusElem ¶ added in v1.27.7
type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyMonitoringPrometheusElem map[string]interface{}
type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyTracingMinioConsoleElem ¶ added in v1.27.7
type SpecDistributionModulesAuthPomeriumDefaultRoutesPolicyTracingMinioConsoleElem map[string]interface{}
type SpecDistributionModulesAuthPomeriumRoutesElem ¶ added in v1.27.7
type SpecDistributionModulesAuthPomeriumRoutesElem map[string]interface{}
type SpecDistributionModulesAuthPomeriumSecrets ¶
type SpecDistributionModulesAuthPomeriumSecrets struct { // 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` COOKIESECRET string `json:"COOKIE_SECRET" yaml:"COOKIE_SECRET" mapstructure:"COOKIE_SECRET"` // 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**. IDPCLIENTSECRET string `json:"IDP_CLIENT_SECRET" yaml:"IDP_CLIENT_SECRET" mapstructure:"IDP_CLIENT_SECRET"` // 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` SHAREDSECRET string `json:"SHARED_SECRET" yaml:"SHARED_SECRET" mapstructure:"SHARED_SECRET"` // 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: // // “`bash // openssl ecparam -genkey -name prime256v1 -noout -out ec_private.pem // # careful! this will output your private key in terminal // cat ec_private.pem | base64 // “` SIGNINGKEY string `json:"SIGNING_KEY" yaml:"SIGNING_KEY" mapstructure:"SIGNING_KEY"` }
Pomerium needs some user-provided secrets to be fully configured. These secrets should be unique between clusters.
func (*SpecDistributionModulesAuthPomeriumSecrets) UnmarshalJSON ¶
func (j *SpecDistributionModulesAuthPomeriumSecrets) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesAuthPomerium_2 ¶ added in v1.27.7
type SpecDistributionModulesAuthPomerium_2 struct { // DefaultRoutesPolicy corresponds to the JSON schema field "defaultRoutesPolicy". DefaultRoutesPolicy *SpecDistributionModulesAuthPomeriumDefaultRoutesPolicy `json:"defaultRoutesPolicy,omitempty" yaml:"defaultRoutesPolicy,omitempty" mapstructure:"defaultRoutesPolicy,omitempty"` // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleComponentOverrides_1 `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` // DEPRECATED: Use defaultRoutesPolicy and/or routes Policy *string `json:"policy,omitempty" yaml:"policy,omitempty" mapstructure:"policy,omitempty"` // Additional routes configuration for Pomerium. Follows Pomerium's route format: // https://www.pomerium.com/docs/reference/routes Routes []SpecDistributionModulesAuthPomeriumRoutesElem `json:"routes,omitempty" yaml:"routes,omitempty" mapstructure:"routes,omitempty"` // Secrets corresponds to the JSON schema field "secrets". Secrets SpecDistributionModulesAuthPomeriumSecrets `json:"secrets" yaml:"secrets" mapstructure:"secrets"` }
Configuration for Pomerium, an identity-aware reverse proxy used for SSO.
func (*SpecDistributionModulesAuthPomerium_2) UnmarshalJSON ¶ added in v1.27.7
func (j *SpecDistributionModulesAuthPomerium_2) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesAuthProvider ¶
type SpecDistributionModulesAuthProvider struct { // BasicAuth corresponds to the JSON schema field "basicAuth". BasicAuth *SpecDistributionModulesAuthProviderBasicAuth `json:"basicAuth,omitempty" yaml:"basicAuth,omitempty" mapstructure:"basicAuth,omitempty"` // 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`. Type SpecDistributionModulesAuthProviderType `json:"type" yaml:"type" mapstructure:"type"` }
func (*SpecDistributionModulesAuthProvider) UnmarshalJSON ¶
func (j *SpecDistributionModulesAuthProvider) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesAuthProviderBasicAuth ¶
type SpecDistributionModulesAuthProviderBasicAuth struct { // The password for logging in with the HTTP basic authentication. Password string `json:"password" yaml:"password" mapstructure:"password"` // The username for logging in with the HTTP basic authentication. Username string `json:"username" yaml:"username" mapstructure:"username"` }
Configuration for the HTTP Basic Auth provider.
func (*SpecDistributionModulesAuthProviderBasicAuth) UnmarshalJSON ¶
func (j *SpecDistributionModulesAuthProviderBasicAuth) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesAuthProviderType ¶
type SpecDistributionModulesAuthProviderType string
const ( SpecDistributionModulesAuthProviderTypeBasicAuth SpecDistributionModulesAuthProviderType = "basicAuth" SpecDistributionModulesAuthProviderTypeNone SpecDistributionModulesAuthProviderType = "none" SpecDistributionModulesAuthProviderTypeSso SpecDistributionModulesAuthProviderType = "sso" )
func (*SpecDistributionModulesAuthProviderType) UnmarshalJSON ¶
func (j *SpecDistributionModulesAuthProviderType) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesDr ¶
type SpecDistributionModulesDr struct { // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` // The type of the Disaster Recovery, must be `none` or `on-premises`. `none` // disables the module and `on-premises` will install Velero and an optional MinIO // deployment. // // Default is `none`. Type SpecDistributionModulesDrType `json:"type" yaml:"type" mapstructure:"type"` // Velero corresponds to the JSON schema field "velero". Velero *SpecDistributionModulesDrVelero `json:"velero,omitempty" yaml:"velero,omitempty" mapstructure:"velero,omitempty"` }
Configuration for the Disaster Recovery module.
func (*SpecDistributionModulesDr) UnmarshalJSON ¶
func (j *SpecDistributionModulesDr) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesDrType ¶
type SpecDistributionModulesDrType string
const ( SpecDistributionModulesDrTypeNone SpecDistributionModulesDrType = "none" SpecDistributionModulesDrTypeOnPremises SpecDistributionModulesDrType = "on-premises" )
func (*SpecDistributionModulesDrType) UnmarshalJSON ¶
func (j *SpecDistributionModulesDrType) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesDrVelero ¶
type SpecDistributionModulesDrVelero struct { // 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. Backend *SpecDistributionModulesDrVeleroBackend `json:"backend,omitempty" yaml:"backend,omitempty" mapstructure:"backend,omitempty"` // Configuration for Velero's external storage backend. ExternalEndpoint *SpecDistributionModulesDrVeleroExternalEndpoint `json:"externalEndpoint,omitempty" yaml:"externalEndpoint,omitempty" mapstructure:"externalEndpoint,omitempty"` // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` // Configuration for Velero's backup schedules. Schedules *SpecDistributionModulesDrVeleroSchedules `json:"schedules,omitempty" yaml:"schedules,omitempty" mapstructure:"schedules,omitempty"` // Configuration for the additional snapshotController component installation. SnapshotController *SpecDistributionModulesDrVeleroSnapshotController `json:"snapshotController,omitempty" yaml:"snapshotController,omitempty" mapstructure:"snapshotController,omitempty"` }
Configuration for the Velero package.
type SpecDistributionModulesDrVeleroBackend ¶ added in v1.25.10
type SpecDistributionModulesDrVeleroBackend string
const ( SpecDistributionModulesDrVeleroBackendExternalEndpoint SpecDistributionModulesDrVeleroBackend = "externalEndpoint" SpecDistributionModulesDrVeleroBackendMinio SpecDistributionModulesDrVeleroBackend = "minio" )
func (*SpecDistributionModulesDrVeleroBackend) UnmarshalJSON ¶ added in v1.25.10
func (j *SpecDistributionModulesDrVeleroBackend) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesDrVeleroExternalEndpoint ¶ added in v1.25.10
type SpecDistributionModulesDrVeleroExternalEndpoint struct { // The access key ID (username) for the external S3-compatible bucket. AccessKeyId *string `json:"accessKeyId,omitempty" yaml:"accessKeyId,omitempty" mapstructure:"accessKeyId,omitempty"` // The bucket name of the external S3-compatible object storage. BucketName *string `json:"bucketName,omitempty" yaml:"bucketName,omitempty" mapstructure:"bucketName,omitempty"` // External S3-compatible endpoint for Velero's storage. Endpoint *string `json:"endpoint,omitempty" yaml:"endpoint,omitempty" mapstructure:"endpoint,omitempty"` // If true, will use HTTP as protocol instead of HTTPS. Insecure *bool `json:"insecure,omitempty" yaml:"insecure,omitempty" mapstructure:"insecure,omitempty"` // The secret access key (password) for the external S3-compatible bucket. SecretAccessKey *string `json:"secretAccessKey,omitempty" yaml:"secretAccessKey,omitempty" mapstructure:"secretAccessKey,omitempty"` }
Configuration for Velero's external storage backend.
type SpecDistributionModulesDrVeleroSchedules ¶ added in v1.28.5
type SpecDistributionModulesDrVeleroSchedules struct { // Configuration for Velero schedules. Definitions *SpecDistributionModulesDrVeleroSchedulesDefinitions `json:"definitions,omitempty" yaml:"definitions,omitempty" mapstructure:"definitions,omitempty"` // Whether to install or not the default `manifests` and `full` backups schedules. // Default is `true`. Install *bool `json:"install,omitempty" yaml:"install,omitempty" mapstructure:"install,omitempty"` }
Configuration for Velero's backup schedules.
type SpecDistributionModulesDrVeleroSchedulesDefinitions ¶ added in v1.28.5
type SpecDistributionModulesDrVeleroSchedulesDefinitions struct { // Configuration for Velero's manifests backup schedule. Full *SpecDistributionModulesDrVeleroSchedulesDefinitionsFull `json:"full,omitempty" yaml:"full,omitempty" mapstructure:"full,omitempty"` // Configuration for Velero's manifests backup schedule. Manifests *SpecDistributionModulesDrVeleroSchedulesDefinitionsManifests `json:"manifests,omitempty" yaml:"manifests,omitempty" mapstructure:"manifests,omitempty"` }
Configuration for Velero schedules.
type SpecDistributionModulesDrVeleroSchedulesDefinitionsFull ¶ added in v1.28.5
type SpecDistributionModulesDrVeleroSchedulesDefinitionsFull struct { // The cron expression for the `full` backup schedule (default `0 1 * * *`). Schedule *string `json:"schedule,omitempty" yaml:"schedule,omitempty" mapstructure:"schedule,omitempty"` // 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. SnapshotMoveData *bool `json:"snapshotMoveData,omitempty" yaml:"snapshotMoveData,omitempty" mapstructure:"snapshotMoveData,omitempty"` // 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. Ttl *string `json:"ttl,omitempty" yaml:"ttl,omitempty" mapstructure:"ttl,omitempty"` }
Configuration for Velero's manifests backup schedule.
type SpecDistributionModulesDrVeleroSchedulesDefinitionsManifests ¶ added in v1.28.5
type SpecDistributionModulesDrVeleroSchedulesDefinitionsManifests struct { // The cron expression for the `manifests` backup schedule (default `*/15 * * * // *`). Schedule *string `json:"schedule,omitempty" yaml:"schedule,omitempty" mapstructure:"schedule,omitempty"` // 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. Ttl *string `json:"ttl,omitempty" yaml:"ttl,omitempty" mapstructure:"ttl,omitempty"` }
Configuration for Velero's manifests backup schedule.
type SpecDistributionModulesDrVeleroSnapshotController ¶ added in v1.28.5
type SpecDistributionModulesDrVeleroSnapshotController struct { // 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. Install *bool `json:"install,omitempty" yaml:"install,omitempty" mapstructure:"install,omitempty"` }
Configuration for the additional snapshotController component installation.
type SpecDistributionModulesIngress ¶
type SpecDistributionModulesIngress struct { // 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. BaseDomain string `json:"baseDomain" yaml:"baseDomain" mapstructure:"baseDomain"` // 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. CertManager *SpecDistributionModulesIngressCertManager `json:"certManager,omitempty" yaml:"certManager,omitempty" mapstructure:"certManager,omitempty"` // Forecastle corresponds to the JSON schema field "forecastle". Forecastle *SpecDistributionModulesIngressForecastle `json:"forecastle,omitempty" yaml:"forecastle,omitempty" mapstructure:"forecastle,omitempty"` // If corresponds to the JSON schema field "if". If interface{} `json:"if,omitempty" yaml:"if,omitempty" mapstructure:"if,omitempty"` // Configurations for the Ingress nginx controller package. Nginx SpecDistributionModulesIngressNginx `json:"nginx" yaml:"nginx" mapstructure:"nginx"` // Overrides corresponds to the JSON schema field "overrides". Overrides *SpecDistributionModulesIngressOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` // Then corresponds to the JSON schema field "then". Then interface{} `json:"then,omitempty" yaml:"then,omitempty" mapstructure:"then,omitempty"` }
func (*SpecDistributionModulesIngress) UnmarshalJSON ¶
func (j *SpecDistributionModulesIngress) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesIngressCertManager ¶
type SpecDistributionModulesIngressCertManager struct { // ClusterIssuer corresponds to the JSON schema field "clusterIssuer". ClusterIssuer SpecDistributionModulesIngressCertManagerClusterIssuer `json:"clusterIssuer" yaml:"clusterIssuer" mapstructure:"clusterIssuer"` // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` }
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.
func (*SpecDistributionModulesIngressCertManager) UnmarshalJSON ¶
func (j *SpecDistributionModulesIngressCertManager) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesIngressCertManagerClusterIssuer ¶
type SpecDistributionModulesIngressCertManagerClusterIssuer struct { // The email address to use during the certificate issuing process. Email string `json:"email" yaml:"email" mapstructure:"email"` // The name of the clusterIssuer. Name string `json:"name" yaml:"name" mapstructure:"name"` // The list of challenge solvers to use instead of the default one for the // `http01` challenge. Check [cert manager's // documentation](https://cert-manager.io/docs/configuration/acme/#adding-multiple-solver-types) // for examples for this field. Solvers []interface{} `json:"solvers,omitempty" yaml:"solvers,omitempty" mapstructure:"solvers,omitempty"` // The type of the clusterIssuer. Only `http01` challenge is supported for // on-premises clusters. See solvers for arbitrary configurations. Type *SpecDistributionModulesIngressCertManagerClusterIssuerType `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"` }
Configuration for the cert-manager's ACME clusterIssuer used to request certificates from Let's Encrypt.
func (*SpecDistributionModulesIngressCertManagerClusterIssuer) UnmarshalJSON ¶
func (j *SpecDistributionModulesIngressCertManagerClusterIssuer) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesIngressCertManagerClusterIssuerType ¶
type SpecDistributionModulesIngressCertManagerClusterIssuerType string
const SpecDistributionModulesIngressCertManagerClusterIssuerTypeHttp01 SpecDistributionModulesIngressCertManagerClusterIssuerType = "http01"
func (*SpecDistributionModulesIngressCertManagerClusterIssuerType) UnmarshalJSON ¶
func (j *SpecDistributionModulesIngressCertManagerClusterIssuerType) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesIngressForecastle ¶
type SpecDistributionModulesIngressForecastle struct { // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` }
type SpecDistributionModulesIngressNginx ¶
type SpecDistributionModulesIngressNginx struct { // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` // Tls corresponds to the JSON schema field "tls". Tls *SpecDistributionModulesIngressNginxTLS `json:"tls,omitempty" yaml:"tls,omitempty" mapstructure:"tls,omitempty"` // 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 class `nginx` will be // installed to manage all the ingress resources, infrastructural ingresses will // be created. // - `dual`: two independent ingress controllers will be installed, one for the // `internal` ingress class intended for private ingresses and one for the // `external` ingress class intended for public ingresses. KFD infrastructural // ingresses wil use the `internal` ingress class when using the dual type. // // Default is `single`. Type SpecDistributionModulesIngressNginxType `json:"type" yaml:"type" mapstructure:"type"` }
func (*SpecDistributionModulesIngressNginx) UnmarshalJSON ¶
func (j *SpecDistributionModulesIngressNginx) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesIngressNginxTLS ¶
type SpecDistributionModulesIngressNginxTLS struct { // The provider of the TLS certificates for the ingresses, one of: `none`, // `certManager`, or `secret`. Provider SpecDistributionModulesIngressNginxTLSProvider `json:"provider" yaml:"provider" mapstructure:"provider"` // Secret corresponds to the JSON schema field "secret". Secret *SpecDistributionModulesIngressNginxTLSSecret `json:"secret,omitempty" yaml:"secret,omitempty" mapstructure:"secret,omitempty"` }
func (*SpecDistributionModulesIngressNginxTLS) UnmarshalJSON ¶
func (j *SpecDistributionModulesIngressNginxTLS) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesIngressNginxTLSProvider ¶
type SpecDistributionModulesIngressNginxTLSProvider string
const ( SpecDistributionModulesIngressNginxTLSProviderCertManager SpecDistributionModulesIngressNginxTLSProvider = "certManager" SpecDistributionModulesIngressNginxTLSProviderNone SpecDistributionModulesIngressNginxTLSProvider = "none" SpecDistributionModulesIngressNginxTLSProviderSecret SpecDistributionModulesIngressNginxTLSProvider = "secret" )
func (*SpecDistributionModulesIngressNginxTLSProvider) UnmarshalJSON ¶
func (j *SpecDistributionModulesIngressNginxTLSProvider) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesIngressNginxTLSSecret ¶
type SpecDistributionModulesIngressNginxTLSSecret struct { // The Certificate Authority certificate file's content. You can use the // `"{file://<path>}"` notation to get the content from a file. Ca string `json:"ca" yaml:"ca" mapstructure:"ca"` // The certificate file's content. You can use the `"{file://<path>}"` notation to // get the content from a file. Cert string `json:"cert" yaml:"cert" mapstructure:"cert"` // The signing key file's content. You can use the `"{file://<path>}"` notation to // get the content from a file. Key string `json:"key" yaml:"key" mapstructure:"key"` }
Kubernetes TLS secret for the ingresses TLS certificate.
func (*SpecDistributionModulesIngressNginxTLSSecret) UnmarshalJSON ¶
func (j *SpecDistributionModulesIngressNginxTLSSecret) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesIngressNginxType ¶
type SpecDistributionModulesIngressNginxType string
const ( SpecDistributionModulesIngressNginxTypeDual SpecDistributionModulesIngressNginxType = "dual" SpecDistributionModulesIngressNginxTypeNone SpecDistributionModulesIngressNginxType = "none" SpecDistributionModulesIngressNginxTypeSingle SpecDistributionModulesIngressNginxType = "single" )
func (*SpecDistributionModulesIngressNginxType) UnmarshalJSON ¶
func (j *SpecDistributionModulesIngressNginxType) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesIngressOverrides ¶
type SpecDistributionModulesIngressOverrides struct { // Ingresses corresponds to the JSON schema field "ingresses". Ingresses *SpecDistributionModulesIngressOverridesIngresses `json:"ingresses,omitempty" yaml:"ingresses,omitempty" mapstructure:"ingresses,omitempty"` // Set to override the node selector used to place the pods of the Ingress module. NodeSelector TypesKubeNodeSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty" mapstructure:"nodeSelector,omitempty"` // Set to override the tolerations that will be added to the pods of the Ingress // module. Tolerations []TypesKubeToleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"` }
Override the common configuration with a particular configuration for the Ingress module.
type SpecDistributionModulesIngressOverridesIngresses ¶
type SpecDistributionModulesIngressOverridesIngresses struct { // Forecastle corresponds to the JSON schema field "forecastle". Forecastle *TypesFuryModuleOverridesIngress `json:"forecastle,omitempty" yaml:"forecastle,omitempty" mapstructure:"forecastle,omitempty"` }
type SpecDistributionModulesLogging ¶
type SpecDistributionModulesLogging struct { // Cerebro corresponds to the JSON schema field "cerebro". Cerebro *SpecDistributionModulesLoggingCerebro `json:"cerebro,omitempty" yaml:"cerebro,omitempty" mapstructure:"cerebro,omitempty"` // CustomOutputs corresponds to the JSON schema field "customOutputs". CustomOutputs *SpecDistributionModulesLoggingCustomOutputs `json:"customOutputs,omitempty" yaml:"customOutputs,omitempty" mapstructure:"customOutputs,omitempty"` // Loki corresponds to the JSON schema field "loki". Loki *SpecDistributionModulesLoggingLoki `json:"loki,omitempty" yaml:"loki,omitempty" mapstructure:"loki,omitempty"` // Minio corresponds to the JSON schema field "minio". Minio *SpecDistributionModulesLoggingMinio `json:"minio,omitempty" yaml:"minio,omitempty" mapstructure:"minio,omitempty"` // Opensearch corresponds to the JSON schema field "opensearch". Opensearch *SpecDistributionModulesLoggingOpensearch `json:"opensearch,omitempty" yaml:"opensearch,omitempty" mapstructure:"opensearch,omitempty"` // Operator corresponds to the JSON schema field "operator". Operator *SpecDistributionModulesLoggingOperator `json:"operator,omitempty" yaml:"operator,omitempty" mapstructure:"operator,omitempty"` // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` // Selects the logging stack. Options are: // - `none`: will disable the centralized logging. // - `opensearch`: will deploy and configure the Logging Operator and an // OpenSearch cluster (can be single or triple for HA) where the logs will be // stored. // - `loki`: will use a distributed Grafana Loki instead of OpenSearch for // storage. // - `customOuputs`: the Logging Operator will be deployed and installed but // without in-cluster storage, you will have to create the needed Outputs and // ClusterOutputs to ship the logs to your desired storage. // // Default is `opensearch`. Type SpecDistributionModulesLoggingType `json:"type" yaml:"type" mapstructure:"type"` }
Configuration for the Logging module.
func (*SpecDistributionModulesLogging) UnmarshalJSON ¶
func (j *SpecDistributionModulesLogging) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesLoggingCerebro ¶
type SpecDistributionModulesLoggingCerebro struct { // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` }
DEPRECATED since KFD v1.26.6, 1.27.5, v1.28.0.
type SpecDistributionModulesLoggingCustomOutputs ¶ added in v1.27.7
type SpecDistributionModulesLoggingCustomOutputs struct { // 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: {}` Audit string `json:"audit" yaml:"audit" mapstructure:"audit"` // 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: {}` Errors string `json:"errors" yaml:"errors" mapstructure:"errors"` // 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: {}` Events string `json:"events" yaml:"events" mapstructure:"events"` // 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: {}` Infra string `json:"infra" yaml:"infra" mapstructure:"infra"` // 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: {}` IngressNginx string `json:"ingressNginx" yaml:"ingressNginx" mapstructure:"ingressNginx"` // 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: {}` Kubernetes string `json:"kubernetes" yaml:"kubernetes" mapstructure:"kubernetes"` // 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: {}` SystemdCommon string `json:"systemdCommon" yaml:"systemdCommon" mapstructure:"systemdCommon"` // 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: {}` SystemdEtcd string `json:"systemdEtcd" yaml:"systemdEtcd" mapstructure:"systemdEtcd"` }
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.
func (*SpecDistributionModulesLoggingCustomOutputs) UnmarshalJSON ¶ added in v1.27.7
func (j *SpecDistributionModulesLoggingCustomOutputs) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesLoggingLoki ¶
type SpecDistributionModulesLoggingLoki struct { // 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. Backend *SpecDistributionModulesLoggingLokiBackend `json:"backend,omitempty" yaml:"backend,omitempty" mapstructure:"backend,omitempty"` // Configuration for Loki's external storage backend. ExternalEndpoint *SpecDistributionModulesLoggingLokiExternalEndpoint `json:"externalEndpoint,omitempty" yaml:"externalEndpoint,omitempty" mapstructure:"externalEndpoint,omitempty"` // Resources corresponds to the JSON schema field "resources". Resources *TypesKubeResources `json:"resources,omitempty" yaml:"resources,omitempty" mapstructure:"resources,omitempty"` // 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. // // Value must be a string in `ISO 8601` date format (`yyyy-mm-dd`). Example: // `2024-11-18`. TsdbStartDate types.SerializableDate `json:"tsdbStartDate" yaml:"tsdbStartDate" mapstructure:"tsdbStartDate"` }
Configuration for the Loki package.
func (*SpecDistributionModulesLoggingLoki) UnmarshalJSON ¶ added in v1.28.5
func (j *SpecDistributionModulesLoggingLoki) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesLoggingLokiBackend ¶ added in v1.25.9
type SpecDistributionModulesLoggingLokiBackend string
const ( SpecDistributionModulesLoggingLokiBackendExternalEndpoint SpecDistributionModulesLoggingLokiBackend = "externalEndpoint" SpecDistributionModulesLoggingLokiBackendMinio SpecDistributionModulesLoggingLokiBackend = "minio" )
func (*SpecDistributionModulesLoggingLokiBackend) UnmarshalJSON ¶ added in v1.25.9
func (j *SpecDistributionModulesLoggingLokiBackend) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesLoggingLokiExternalEndpoint ¶ added in v1.25.9
type SpecDistributionModulesLoggingLokiExternalEndpoint struct { // The access key ID (username) for the external S3-compatible bucket. AccessKeyId *string `json:"accessKeyId,omitempty" yaml:"accessKeyId,omitempty" mapstructure:"accessKeyId,omitempty"` // The bucket name of the external S3-compatible object storage. BucketName *string `json:"bucketName,omitempty" yaml:"bucketName,omitempty" mapstructure:"bucketName,omitempty"` // External S3-compatible endpoint for Loki's storage. Endpoint *string `json:"endpoint,omitempty" yaml:"endpoint,omitempty" mapstructure:"endpoint,omitempty"` // If true, will use HTTP as protocol instead of HTTPS. Insecure *bool `json:"insecure,omitempty" yaml:"insecure,omitempty" mapstructure:"insecure,omitempty"` // The secret access key (password) for the external S3-compatible bucket. SecretAccessKey *string `json:"secretAccessKey,omitempty" yaml:"secretAccessKey,omitempty" mapstructure:"secretAccessKey,omitempty"` }
Configuration for Loki's external storage backend.
type SpecDistributionModulesLoggingMinio ¶
type SpecDistributionModulesLoggingMinio struct { // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` // RootUser corresponds to the JSON schema field "rootUser". RootUser *SpecDistributionModulesLoggingMinioRootUser `json:"rootUser,omitempty" yaml:"rootUser,omitempty" mapstructure:"rootUser,omitempty"` // The PVC size for each MinIO disk, 6 disks total. StorageSize *string `json:"storageSize,omitempty" yaml:"storageSize,omitempty" mapstructure:"storageSize,omitempty"` }
Configuration for Logging's MinIO deployment.
type SpecDistributionModulesLoggingMinioRootUser ¶ added in v1.25.9
type SpecDistributionModulesLoggingMinioRootUser struct { // The password for the default MinIO root user. Password *string `json:"password,omitempty" yaml:"password,omitempty" mapstructure:"password,omitempty"` // The username for the default MinIO root user. Username *string `json:"username,omitempty" yaml:"username,omitempty" mapstructure:"username,omitempty"` }
type SpecDistributionModulesLoggingOpensearch ¶
type SpecDistributionModulesLoggingOpensearch struct { // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` // Resources corresponds to the JSON schema field "resources". Resources *TypesKubeResources `json:"resources,omitempty" yaml:"resources,omitempty" mapstructure:"resources,omitempty"` // The storage size for the OpenSearch volumes. Follows Kubernetes resources // storage requests. Default is `150Gi`. StorageSize *string `json:"storageSize,omitempty" yaml:"storageSize,omitempty" mapstructure:"storageSize,omitempty"` // The type of OpenSearch deployment. One of: `single` for a single replica or // `triple` for an HA 3-replicas deployment. Type SpecDistributionModulesLoggingOpensearchType `json:"type" yaml:"type" mapstructure:"type"` }
func (*SpecDistributionModulesLoggingOpensearch) UnmarshalJSON ¶
func (j *SpecDistributionModulesLoggingOpensearch) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesLoggingOpensearchType ¶
type SpecDistributionModulesLoggingOpensearchType string
const ( SpecDistributionModulesLoggingOpensearchTypeSingle SpecDistributionModulesLoggingOpensearchType = "single" SpecDistributionModulesLoggingOpensearchTypeTriple SpecDistributionModulesLoggingOpensearchType = "triple" )
func (*SpecDistributionModulesLoggingOpensearchType) UnmarshalJSON ¶
func (j *SpecDistributionModulesLoggingOpensearchType) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesLoggingOperator ¶
type SpecDistributionModulesLoggingOperator struct { // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` }
Configuration for the Logging Operator.
type SpecDistributionModulesLoggingType ¶
type SpecDistributionModulesLoggingType string
const ( SpecDistributionModulesLoggingTypeCustomOutputs SpecDistributionModulesLoggingType = "customOutputs" SpecDistributionModulesLoggingTypeLoki SpecDistributionModulesLoggingType = "loki" SpecDistributionModulesLoggingTypeNone SpecDistributionModulesLoggingType = "none" SpecDistributionModulesLoggingTypeOpensearch SpecDistributionModulesLoggingType = "opensearch" )
func (*SpecDistributionModulesLoggingType) UnmarshalJSON ¶
func (j *SpecDistributionModulesLoggingType) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesMonitoring ¶
type SpecDistributionModulesMonitoring struct { // Alertmanager corresponds to the JSON schema field "alertmanager". Alertmanager *SpecDistributionModulesMonitoringAlertManager `json:"alertmanager,omitempty" yaml:"alertmanager,omitempty" mapstructure:"alertmanager,omitempty"` // BlackboxExporter corresponds to the JSON schema field "blackboxExporter". BlackboxExporter *SpecDistributionModulesMonitoringBlackboxExporter `json:"blackboxExporter,omitempty" yaml:"blackboxExporter,omitempty" mapstructure:"blackboxExporter,omitempty"` // Grafana corresponds to the JSON schema field "grafana". Grafana *SpecDistributionModulesMonitoringGrafana `json:"grafana,omitempty" yaml:"grafana,omitempty" mapstructure:"grafana,omitempty"` // KubeStateMetrics corresponds to the JSON schema field "kubeStateMetrics". KubeStateMetrics *SpecDistributionModulesMonitoringKubeStateMetrics `json:"kubeStateMetrics,omitempty" yaml:"kubeStateMetrics,omitempty" mapstructure:"kubeStateMetrics,omitempty"` // Mimir corresponds to the JSON schema field "mimir". Mimir *SpecDistributionModulesMonitoringMimir `json:"mimir,omitempty" yaml:"mimir,omitempty" mapstructure:"mimir,omitempty"` // Minio corresponds to the JSON schema field "minio". Minio *SpecDistributionModulesMonitoringMinio `json:"minio,omitempty" yaml:"minio,omitempty" mapstructure:"minio,omitempty"` // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` // Prometheus corresponds to the JSON schema field "prometheus". Prometheus *SpecDistributionModulesMonitoringPrometheus `json:"prometheus,omitempty" yaml:"prometheus,omitempty" mapstructure:"prometheus,omitempty"` // PrometheusAgent corresponds to the JSON schema field "prometheusAgent". PrometheusAgent *SpecDistributionModulesMonitoringPrometheusAgent `json:"prometheusAgent,omitempty" yaml:"prometheusAgent,omitempty" mapstructure:"prometheusAgent,omitempty"` // The type of the monitoring, must be `none`, `prometheus`, `prometheusAgent` or // `mimir`. // // - `none`: will disable the whole monitoring stack. // - `prometheus`: will install Prometheus Operator and a preconfigured Prometheus // instance, Alertmanager, a set of alert rules, exporters needed to monitor all // the components of the cluster, Grafana and a series of dashboards to view the // collected metrics, and more. // - `prometheusAgent`: will install Prometheus operator, an instance of // Prometheus in Agent mode (no alerting, no queries, no storage), and all the // exporters needed to get metrics for the status of the cluster and the // workloads. Useful when having a centralized (remote) Prometheus where to ship // the metrics and not storing them locally in the cluster. // - `mimir`: will install the same as the `prometheus` option, plus Grafana Mimir // that allows for longer retention of metrics and the usage of Object Storage. // // Default is `prometheus`. Type SpecDistributionModulesMonitoringType `json:"type" yaml:"type" mapstructure:"type"` // X509Exporter corresponds to the JSON schema field "x509Exporter". X509Exporter *SpecDistributionModulesMonitoringX509Exporter `json:"x509Exporter,omitempty" yaml:"x509Exporter,omitempty" mapstructure:"x509Exporter,omitempty"` }
Configuration for the Monitoring module.
func (*SpecDistributionModulesMonitoring) UnmarshalJSON ¶ added in v1.25.9
func (j *SpecDistributionModulesMonitoring) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesMonitoringAlertManager ¶
type SpecDistributionModulesMonitoringAlertManager struct { // The webhook URL to send dead man's switch monitoring, for example to use with // healthchecks.io. DeadManSwitchWebhookUrl *string `` /* 130-byte string literal not displayed */ // Set to false to avoid installing the Prometheus rules (alerts) included with // the distribution. InstallDefaultRules *bool `json:"installDefaultRules,omitempty" yaml:"installDefaultRules,omitempty" mapstructure:"installDefaultRules,omitempty"` // The Slack webhook URL where to send the infrastructural and workload alerts to. SlackWebhookUrl *string `json:"slackWebhookUrl,omitempty" yaml:"slackWebhookUrl,omitempty" mapstructure:"slackWebhookUrl,omitempty"` }
type SpecDistributionModulesMonitoringBlackboxExporter ¶
type SpecDistributionModulesMonitoringBlackboxExporter struct { // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` }
type SpecDistributionModulesMonitoringGrafana ¶
type SpecDistributionModulesMonitoringGrafana struct { // Setting this to true will deploy an additional `grafana-basic-auth` ingress // protected with Grafana's basic auth instead of SSO. It's intended use is as a // temporary ingress for when there are problems with the SSO login flow. // // Notice that by default anonymous access is enabled. BasicAuthIngress *bool `json:"basicAuthIngress,omitempty" yaml:"basicAuthIngress,omitempty" mapstructure:"basicAuthIngress,omitempty"` // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` // [JMESPath](http://jmespath.org/examples.html) expression to retrieve the user's // role. Example: // // “`yaml // usersRoleAttributePath: "contains(groups[*], 'beta') && 'Admin' || // contains(groups[*], 'gamma') && 'Editor' || contains(groups[*], 'delta') && // 'Viewer' // “` // // More details in [Grafana's // documentation](https://grafana.com/docs/grafana/latest/setup-grafana/configure-security/configure-authentication/generic-oauth/#configure-role-mapping). UsersRoleAttributePath *string `` /* 127-byte string literal not displayed */ }
type SpecDistributionModulesMonitoringKubeStateMetrics ¶
type SpecDistributionModulesMonitoringKubeStateMetrics struct { // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` }
type SpecDistributionModulesMonitoringMimir ¶ added in v1.26.4
type SpecDistributionModulesMonitoringMimir struct { // The storage backend type for Mimir. `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. Backend *SpecDistributionModulesMonitoringMimirBackend `json:"backend,omitempty" yaml:"backend,omitempty" mapstructure:"backend,omitempty"` // Configuration for Mimir's external storage backend. ExternalEndpoint *SpecDistributionModulesMonitoringMimirExternalEndpoint `json:"externalEndpoint,omitempty" yaml:"externalEndpoint,omitempty" mapstructure:"externalEndpoint,omitempty"` // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` // The retention time for the logs stored in Mimir. Default is `30d`. Value must // match the regular expression `[0-9]+(ns|us|µs|ms|s|m|h|d|w|y)` where y = 365 // days. RetentionTime *string `json:"retentionTime,omitempty" yaml:"retentionTime,omitempty" mapstructure:"retentionTime,omitempty"` }
Configuration for the Mimir package.
type SpecDistributionModulesMonitoringMimirBackend ¶ added in v1.26.4
type SpecDistributionModulesMonitoringMimirBackend string
const ( SpecDistributionModulesMonitoringMimirBackendExternalEndpoint SpecDistributionModulesMonitoringMimirBackend = "externalEndpoint" SpecDistributionModulesMonitoringMimirBackendMinio SpecDistributionModulesMonitoringMimirBackend = "minio" )
func (*SpecDistributionModulesMonitoringMimirBackend) UnmarshalJSON ¶ added in v1.26.4
func (j *SpecDistributionModulesMonitoringMimirBackend) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesMonitoringMimirExternalEndpoint ¶ added in v1.26.4
type SpecDistributionModulesMonitoringMimirExternalEndpoint struct { // The access key ID (username) for the external S3-compatible bucket. AccessKeyId *string `json:"accessKeyId,omitempty" yaml:"accessKeyId,omitempty" mapstructure:"accessKeyId,omitempty"` // The bucket name of the external S3-compatible object storage. BucketName *string `json:"bucketName,omitempty" yaml:"bucketName,omitempty" mapstructure:"bucketName,omitempty"` // The external S3-compatible endpoint for Mimir's storage. Endpoint *string `json:"endpoint,omitempty" yaml:"endpoint,omitempty" mapstructure:"endpoint,omitempty"` // If true, will use HTTP as protocol instead of HTTPS. Insecure *bool `json:"insecure,omitempty" yaml:"insecure,omitempty" mapstructure:"insecure,omitempty"` // The secret access key (password) for the external S3-compatible bucket. SecretAccessKey *string `json:"secretAccessKey,omitempty" yaml:"secretAccessKey,omitempty" mapstructure:"secretAccessKey,omitempty"` }
Configuration for Mimir's external storage backend.
type SpecDistributionModulesMonitoringMinio ¶ added in v1.26.4
type SpecDistributionModulesMonitoringMinio struct { // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` // RootUser corresponds to the JSON schema field "rootUser". RootUser *SpecDistributionModulesMonitoringMinioRootUser `json:"rootUser,omitempty" yaml:"rootUser,omitempty" mapstructure:"rootUser,omitempty"` // The PVC size for each MinIO disk, 6 disks total. StorageSize *string `json:"storageSize,omitempty" yaml:"storageSize,omitempty" mapstructure:"storageSize,omitempty"` }
Configuration for Monitoring's MinIO deployment.
type SpecDistributionModulesMonitoringMinioRootUser ¶ added in v1.26.4
type SpecDistributionModulesMonitoringMinioRootUser struct { // The password for the default MinIO root user. Password *string `json:"password,omitempty" yaml:"password,omitempty" mapstructure:"password,omitempty"` // The username for the default MinIO root user. Username *string `json:"username,omitempty" yaml:"username,omitempty" mapstructure:"username,omitempty"` }
type SpecDistributionModulesMonitoringPrometheus ¶
type SpecDistributionModulesMonitoringPrometheus struct { // Set this option to ship the collected metrics to a remote Prometheus receiver. // // `remoteWrite` is an array of objects that allows configuring the // [remoteWrite](https://prometheus.io/docs/specs/remote_write_spec/) options for // Prometheus. The objects in the array follow [the same schema as in the // prometheus // operator](https://prometheus-operator.dev/docs/operator/api/#monitoring.coreos.com/v1.RemoteWriteSpec). RemoteWrite []SpecDistributionModulesMonitoringPrometheusRemoteWriteElem `json:"remoteWrite,omitempty" yaml:"remoteWrite,omitempty" mapstructure:"remoteWrite,omitempty"` // Resources corresponds to the JSON schema field "resources". Resources *TypesKubeResources `json:"resources,omitempty" yaml:"resources,omitempty" mapstructure:"resources,omitempty"` // The retention size for the `k8s` Prometheus instance. RetentionSize *string `json:"retentionSize,omitempty" yaml:"retentionSize,omitempty" mapstructure:"retentionSize,omitempty"` // The retention time for the `k8s` Prometheus instance. RetentionTime *string `json:"retentionTime,omitempty" yaml:"retentionTime,omitempty" mapstructure:"retentionTime,omitempty"` // The storage size for the `k8s` Prometheus instance. StorageSize *string `json:"storageSize,omitempty" yaml:"storageSize,omitempty" mapstructure:"storageSize,omitempty"` }
type SpecDistributionModulesMonitoringPrometheusAgent ¶ added in v1.27.7
type SpecDistributionModulesMonitoringPrometheusAgent struct { // Set this option to ship the collected metrics to a remote Prometheus receiver. // // `remoteWrite` is an array of objects that allows configuring the // [remoteWrite](https://prometheus.io/docs/specs/remote_write_spec/) options for // Prometheus. The objects in the array follow [the same schema as in the // prometheus // operator](https://prometheus-operator.dev/docs/operator/api/#monitoring.coreos.com/v1.RemoteWriteSpec). RemoteWrite []SpecDistributionModulesMonitoringPrometheusAgentRemoteWriteElem `json:"remoteWrite,omitempty" yaml:"remoteWrite,omitempty" mapstructure:"remoteWrite,omitempty"` // Resources corresponds to the JSON schema field "resources". Resources *TypesKubeResources `json:"resources,omitempty" yaml:"resources,omitempty" mapstructure:"resources,omitempty"` }
type SpecDistributionModulesMonitoringPrometheusAgentRemoteWriteElem ¶ added in v1.27.7
type SpecDistributionModulesMonitoringPrometheusAgentRemoteWriteElem map[string]interface{}
type SpecDistributionModulesMonitoringPrometheusRemoteWriteElem ¶ added in v1.27.7
type SpecDistributionModulesMonitoringPrometheusRemoteWriteElem map[string]interface{}
type SpecDistributionModulesMonitoringType ¶ added in v1.25.9
type SpecDistributionModulesMonitoringType string
const ( SpecDistributionModulesMonitoringTypeNone SpecDistributionModulesMonitoringType = "none" SpecDistributionModulesMonitoringTypePrometheus SpecDistributionModulesMonitoringType = "prometheus" SpecDistributionModulesMonitoringTypePrometheusAgent SpecDistributionModulesMonitoringType = "prometheusAgent" SpecDistributionModulesMonitoringTypeMimir SpecDistributionModulesMonitoringType = "mimir" )
func (*SpecDistributionModulesMonitoringType) UnmarshalJSON ¶ added in v1.25.9
func (j *SpecDistributionModulesMonitoringType) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesMonitoringX509Exporter ¶
type SpecDistributionModulesMonitoringX509Exporter struct { // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` }
type SpecDistributionModulesNetworking ¶
type SpecDistributionModulesNetworking struct { // Cilium corresponds to the JSON schema field "cilium". Cilium *SpecDistributionModulesNetworkingCilium `json:"cilium,omitempty" yaml:"cilium,omitempty" mapstructure:"cilium,omitempty"` // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` // TigeraOperator corresponds to the JSON schema field "tigeraOperator". TigeraOperator *SpecDistributionModulesNetworkingTigeraOperator `json:"tigeraOperator,omitempty" yaml:"tigeraOperator,omitempty" mapstructure:"tigeraOperator,omitempty"` // The type of CNI plugin to use, either `calico` (Tigera Operator) or `cilium`. // Default is `calico`. Type SpecDistributionModulesNetworkingType `json:"type" yaml:"type" mapstructure:"type"` }
Configuration for the Networking module.
func (*SpecDistributionModulesNetworking) UnmarshalJSON ¶
func (j *SpecDistributionModulesNetworking) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesNetworkingCilium ¶
type SpecDistributionModulesNetworkingCilium struct { // The mask size to use for the Pods network on each node. MaskSize *string `json:"maskSize,omitempty" yaml:"maskSize,omitempty" mapstructure:"maskSize,omitempty"` // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` // Allows specifing a CIDR for the Pods network different from // `.spec.kubernetes.podCidr`. If not set the default is to use // `.spec.kubernetes.podCidr`. PodCidr *TypesCidr `json:"podCidr,omitempty" yaml:"podCidr,omitempty" mapstructure:"podCidr,omitempty"` }
type SpecDistributionModulesNetworkingTigeraOperator ¶
type SpecDistributionModulesNetworkingTigeraOperator struct { // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` }
type SpecDistributionModulesNetworkingType ¶
type SpecDistributionModulesNetworkingType string
const ( SpecDistributionModulesNetworkingTypeCalico SpecDistributionModulesNetworkingType = "calico" SpecDistributionModulesNetworkingTypeCilium SpecDistributionModulesNetworkingType = "cilium" )
func (*SpecDistributionModulesNetworkingType) UnmarshalJSON ¶
func (j *SpecDistributionModulesNetworkingType) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesPolicy ¶
type SpecDistributionModulesPolicy struct { // Gatekeeper corresponds to the JSON schema field "gatekeeper". Gatekeeper *SpecDistributionModulesPolicyGatekeeper `json:"gatekeeper,omitempty" yaml:"gatekeeper,omitempty" mapstructure:"gatekeeper,omitempty"` // Kyverno corresponds to the JSON schema field "kyverno". Kyverno *SpecDistributionModulesPolicyKyverno `json:"kyverno,omitempty" yaml:"kyverno,omitempty" mapstructure:"kyverno,omitempty"` // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` // The type of policy enforcement to use, either `none`, `gatekeeper` or // `kyverno`. // // Default is `none`. Type SpecDistributionModulesPolicyType `json:"type" yaml:"type" mapstructure:"type"` }
Configuration for the Policy module.
func (*SpecDistributionModulesPolicy) UnmarshalJSON ¶
func (j *SpecDistributionModulesPolicy) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesPolicyGatekeeper ¶
type SpecDistributionModulesPolicyGatekeeper struct { // This parameter adds namespaces to Gatekeeper's exemption list, so it will not // enforce the constraints on them. AdditionalExcludedNamespaces []string `` /* 145-byte string literal not displayed */ // The default enforcement action to use for the included constraints. `deny` will // block the admission when violations to the policies are found, `warn` will show // a message to the user but will admit the violating requests and `dryrun` won't // give any feedback to the user but it will log the violations. EnforcementAction SpecDistributionModulesPolicyGatekeeperEnforcementAction `json:"enforcementAction" yaml:"enforcementAction" mapstructure:"enforcementAction"` // Set to `false` to avoid installing the default Gatekeeper policies (constraints // templates and constraints) included with the distribution. InstallDefaultPolicies bool `json:"installDefaultPolicies" yaml:"installDefaultPolicies" mapstructure:"installDefaultPolicies"` // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` }
Configuration for the Gatekeeper package.
func (*SpecDistributionModulesPolicyGatekeeper) UnmarshalJSON ¶ added in v1.25.10
func (j *SpecDistributionModulesPolicyGatekeeper) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesPolicyGatekeeperEnforcementAction ¶ added in v1.25.10
type SpecDistributionModulesPolicyGatekeeperEnforcementAction string
const ( SpecDistributionModulesPolicyGatekeeperEnforcementActionDeny SpecDistributionModulesPolicyGatekeeperEnforcementAction = "deny" SpecDistributionModulesPolicyGatekeeperEnforcementActionDryrun SpecDistributionModulesPolicyGatekeeperEnforcementAction = "dryrun" SpecDistributionModulesPolicyGatekeeperEnforcementActionWarn SpecDistributionModulesPolicyGatekeeperEnforcementAction = "warn" )
func (*SpecDistributionModulesPolicyGatekeeperEnforcementAction) UnmarshalJSON ¶ added in v1.25.10
func (j *SpecDistributionModulesPolicyGatekeeperEnforcementAction) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesPolicyKyverno ¶ added in v1.25.9
type SpecDistributionModulesPolicyKyverno struct { // This parameter adds namespaces to Kyverno's exemption list, so it will not // enforce the policies on them. AdditionalExcludedNamespaces []string `` /* 145-byte string literal not displayed */ // Set to `false` to avoid installing the default Kyverno policies included with // distribution. InstallDefaultPolicies bool `json:"installDefaultPolicies" yaml:"installDefaultPolicies" mapstructure:"installDefaultPolicies"` // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` // The validation failure action to use for the policies, `Enforce` will block // when a request does not comply with the policies and `Audit` will not block but // log when a request does not comply with the policies. ValidationFailureAction SpecDistributionModulesPolicyKyvernoValidationFailureAction `json:"validationFailureAction" yaml:"validationFailureAction" mapstructure:"validationFailureAction"` }
Configuration for the Kyverno package.
func (*SpecDistributionModulesPolicyKyverno) UnmarshalJSON ¶ added in v1.25.10
func (j *SpecDistributionModulesPolicyKyverno) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesPolicyKyvernoValidationFailureAction ¶ added in v1.25.10
type SpecDistributionModulesPolicyKyvernoValidationFailureAction string
const ( SpecDistributionModulesPolicyKyvernoValidationFailureActionAudit SpecDistributionModulesPolicyKyvernoValidationFailureAction = "Audit" SpecDistributionModulesPolicyKyvernoValidationFailureActionEnforce SpecDistributionModulesPolicyKyvernoValidationFailureAction = "Enforce" )
func (*SpecDistributionModulesPolicyKyvernoValidationFailureAction) UnmarshalJSON ¶ added in v1.25.10
func (j *SpecDistributionModulesPolicyKyvernoValidationFailureAction) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesPolicyType ¶
type SpecDistributionModulesPolicyType string
const ( SpecDistributionModulesPolicyTypeNone SpecDistributionModulesPolicyType = "none" SpecDistributionModulesPolicyTypeGatekeeper SpecDistributionModulesPolicyType = "gatekeeper" SpecDistributionModulesPolicyTypeKyverno SpecDistributionModulesPolicyType = "kyverno" )
func (*SpecDistributionModulesPolicyType) UnmarshalJSON ¶
func (j *SpecDistributionModulesPolicyType) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesTracing ¶ added in v1.26.4
type SpecDistributionModulesTracing struct { // Minio corresponds to the JSON schema field "minio". Minio *SpecDistributionModulesTracingMinio `json:"minio,omitempty" yaml:"minio,omitempty" mapstructure:"minio,omitempty"` // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` // Tempo corresponds to the JSON schema field "tempo". Tempo *SpecDistributionModulesTracingTempo `json:"tempo,omitempty" yaml:"tempo,omitempty" mapstructure:"tempo,omitempty"` // The type of tracing to use, either `none` or `tempo`. `none` will disable the // Tracing module and `tempo` will install a Grafana Tempo deployment. // // Default is `tempo`. Type SpecDistributionModulesTracingType `json:"type" yaml:"type" mapstructure:"type"` }
Configuration for the Tracing module.
func (*SpecDistributionModulesTracing) UnmarshalJSON ¶ added in v1.26.4
func (j *SpecDistributionModulesTracing) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesTracingMinio ¶ added in v1.26.4
type SpecDistributionModulesTracingMinio struct { // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` // RootUser corresponds to the JSON schema field "rootUser". RootUser *SpecDistributionModulesTracingMinioRootUser `json:"rootUser,omitempty" yaml:"rootUser,omitempty" mapstructure:"rootUser,omitempty"` // The PVC size for each MinIO disk, 6 disks total. StorageSize *string `json:"storageSize,omitempty" yaml:"storageSize,omitempty" mapstructure:"storageSize,omitempty"` }
Configuration for Tracing's MinIO deployment.
type SpecDistributionModulesTracingMinioRootUser ¶ added in v1.26.4
type SpecDistributionModulesTracingMinioRootUser struct { // The password for the default MinIO root user. Password *string `json:"password,omitempty" yaml:"password,omitempty" mapstructure:"password,omitempty"` // The username for the default MinIO root user. Username *string `json:"username,omitempty" yaml:"username,omitempty" mapstructure:"username,omitempty"` }
type SpecDistributionModulesTracingTempo ¶ added in v1.26.4
type SpecDistributionModulesTracingTempo struct { // The storage backend type for Tempo. `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. Backend *SpecDistributionModulesTracingTempoBackend `json:"backend,omitempty" yaml:"backend,omitempty" mapstructure:"backend,omitempty"` // Configuration for Tempo's external storage backend. ExternalEndpoint *SpecDistributionModulesTracingTempoExternalEndpoint `json:"externalEndpoint,omitempty" yaml:"externalEndpoint,omitempty" mapstructure:"externalEndpoint,omitempty"` // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` // The retention time for the traces stored in Tempo. RetentionTime *string `json:"retentionTime,omitempty" yaml:"retentionTime,omitempty" mapstructure:"retentionTime,omitempty"` }
Configuration for the Tempo package.
type SpecDistributionModulesTracingTempoBackend ¶ added in v1.26.4
type SpecDistributionModulesTracingTempoBackend string
const ( SpecDistributionModulesTracingTempoBackendMinio SpecDistributionModulesTracingTempoBackend = "minio" SpecDistributionModulesTracingTempoBackendExternalEndpoint SpecDistributionModulesTracingTempoBackend = "externalEndpoint" )
func (*SpecDistributionModulesTracingTempoBackend) UnmarshalJSON ¶ added in v1.26.4
func (j *SpecDistributionModulesTracingTempoBackend) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecDistributionModulesTracingTempoExternalEndpoint ¶ added in v1.26.4
type SpecDistributionModulesTracingTempoExternalEndpoint struct { // The access key ID (username) for the external S3-compatible bucket. AccessKeyId *string `json:"accessKeyId,omitempty" yaml:"accessKeyId,omitempty" mapstructure:"accessKeyId,omitempty"` // The bucket name of the external S3-compatible object storage. BucketName *string `json:"bucketName,omitempty" yaml:"bucketName,omitempty" mapstructure:"bucketName,omitempty"` // The external S3-compatible endpoint for Tempo's storage. Endpoint *string `json:"endpoint,omitempty" yaml:"endpoint,omitempty" mapstructure:"endpoint,omitempty"` // If true, will use HTTP as protocol instead of HTTPS. Insecure *bool `json:"insecure,omitempty" yaml:"insecure,omitempty" mapstructure:"insecure,omitempty"` // The secret access key (password) for the external S3-compatible bucket. SecretAccessKey *string `json:"secretAccessKey,omitempty" yaml:"secretAccessKey,omitempty" mapstructure:"secretAccessKey,omitempty"` }
Configuration for Tempo's external storage backend.
type SpecDistributionModulesTracingType ¶ added in v1.26.4
type SpecDistributionModulesTracingType string
const ( SpecDistributionModulesTracingTypeNone SpecDistributionModulesTracingType = "none" SpecDistributionModulesTracingTypeTempo SpecDistributionModulesTracingType = "tempo" )
func (*SpecDistributionModulesTracingType) UnmarshalJSON ¶ added in v1.26.4
func (j *SpecDistributionModulesTracingType) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecKubernetes ¶
type SpecKubernetes struct { // Advanced corresponds to the JSON schema field "advanced". Advanced *SpecKubernetesAdvanced `json:"advanced,omitempty" yaml:"advanced,omitempty" mapstructure:"advanced,omitempty"` // AdvancedAnsible corresponds to the JSON schema field "advancedAnsible". AdvancedAnsible *SpecKubernetesAdvancedAnsible `json:"advancedAnsible,omitempty" yaml:"advancedAnsible,omitempty" mapstructure:"advancedAnsible,omitempty"` // The address for the Kubernetes control plane. Usually a DNS entry pointing to a // Load Balancer on port 6443. ControlPlaneAddress string `json:"controlPlaneAddress" yaml:"controlPlaneAddress" mapstructure:"controlPlaneAddress"` // The DNS zone of the machines. It will be appended to the name of each host to // generate the `kubernetes_hostname` in the Ansible inventory file. It is also // used to calculate etcd's initial cluster value. DnsZone string `json:"dnsZone" yaml:"dnsZone" mapstructure:"dnsZone"` // LoadBalancers corresponds to the JSON schema field "loadBalancers". LoadBalancers SpecKubernetesLoadBalancers `json:"loadBalancers" yaml:"loadBalancers" mapstructure:"loadBalancers"` // Masters corresponds to the JSON schema field "masters". Masters SpecKubernetesMasters `json:"masters" yaml:"masters" mapstructure:"masters"` // Nodes corresponds to the JSON schema field "nodes". Nodes SpecKubernetesNodes `json:"nodes" yaml:"nodes" mapstructure:"nodes"` // The path to the folder where the PKI files for Kubernetes and etcd are stored. PkiFolder string `json:"pkiFolder" yaml:"pkiFolder" mapstructure:"pkiFolder"` // The subnet CIDR to use for the Pods network. PodCidr TypesCidr `json:"podCidr" yaml:"podCidr" mapstructure:"podCidr"` // Proxy corresponds to the JSON schema field "proxy". Proxy *SpecKubernetesProxy `json:"proxy,omitempty" yaml:"proxy,omitempty" mapstructure:"proxy,omitempty"` // Ssh corresponds to the JSON schema field "ssh". Ssh SpecKubernetesSSH `json:"ssh" yaml:"ssh" mapstructure:"ssh"` // The subnet CIDR to use for the Services network. SvcCidr TypesCidr `json:"svcCidr" yaml:"svcCidr" mapstructure:"svcCidr"` }
Defines the Kubernetes components configuration and the values needed for the kubernetes phase of furyctl.
func (*SpecKubernetes) UnmarshalJSON ¶
func (j *SpecKubernetes) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecKubernetesAdvanced ¶
type SpecKubernetesAdvanced struct { // AirGap corresponds to the JSON schema field "airGap". AirGap *SpecKubernetesAdvancedAirGap `json:"airGap,omitempty" yaml:"airGap,omitempty" mapstructure:"airGap,omitempty"` // Cloud corresponds to the JSON schema field "cloud". Cloud *SpecKubernetesAdvancedCloud `json:"cloud,omitempty" yaml:"cloud,omitempty" mapstructure:"cloud,omitempty"` // Containerd corresponds to the JSON schema field "containerd". Containerd *SpecKubernetesAdvancedContainerd `json:"containerd,omitempty" yaml:"containerd,omitempty" mapstructure:"containerd,omitempty"` // Encryption corresponds to the JSON schema field "encryption". Encryption *SpecKubernetesAdvancedEncryption `json:"encryption,omitempty" yaml:"encryption,omitempty" mapstructure:"encryption,omitempty"` // Oidc corresponds to the JSON schema field "oidc". Oidc *SpecKubernetesAdvancedOIDC `json:"oidc,omitempty" yaml:"oidc,omitempty" mapstructure:"oidc,omitempty"` // URL of the registry where to pull images from for the Kubernetes phase. // (Default is registry.sighup.io/fury/on-premises). Registry *string `json:"registry,omitempty" yaml:"registry,omitempty" mapstructure:"registry,omitempty"` // Users corresponds to the JSON schema field "users". Users *SpecKubernetesAdvancedUsers `json:"users,omitempty" yaml:"users,omitempty" mapstructure:"users,omitempty"` }
type SpecKubernetesAdvancedAirGap ¶ added in v1.27.6
type SpecKubernetesAdvancedAirGap struct { // URL where to download the `.tar.gz` with containerd from. The `tar.gz` should // be as the one downloaded from containerd GitHub releases page. ContainerdDownloadUrl *string `json:"containerdDownloadUrl,omitempty" yaml:"containerdDownloadUrl,omitempty" mapstructure:"containerdDownloadUrl,omitempty"` // DependenciesOverride corresponds to the JSON schema field // "dependenciesOverride". DependenciesOverride *SpecKubernetesAdvancedAirGapDependenciesOverride `json:"dependenciesOverride,omitempty" yaml:"dependenciesOverride,omitempty" mapstructure:"dependenciesOverride,omitempty"` // URL to the path where the etcd `tar.gz`s are available. etcd will be downloaded // from // `<etcdDownloadUrl>/<etcd_version>/etcd-<etcd_version>-linux-<host_architecture>.tar.gz` EtcdDownloadUrl *string `json:"etcdDownloadUrl,omitempty" yaml:"etcdDownloadUrl,omitempty" mapstructure:"etcdDownloadUrl,omitempty"` // Checksum for the runc binary. RuncChecksum *string `json:"runcChecksum,omitempty" yaml:"runcChecksum,omitempty" mapstructure:"runcChecksum,omitempty"` // URL where to download the runc binary from. RuncDownloadUrl *string `json:"runcDownloadUrl,omitempty" yaml:"runcDownloadUrl,omitempty" mapstructure:"runcDownloadUrl,omitempty"` }
Advanced configuration for air-gapped installations. Allows setting custom URLs where to download the binaries dependencies from and custom .deb and .rpm package repositories.
type SpecKubernetesAdvancedAirGapDependenciesOverride ¶ added in v1.27.6
type SpecKubernetesAdvancedAirGapDependenciesOverride struct { // Apt corresponds to the JSON schema field "apt". Apt *SpecKubernetesAdvancedAirGapDependenciesOverrideApt `json:"apt,omitempty" yaml:"apt,omitempty" mapstructure:"apt,omitempty"` // Yum corresponds to the JSON schema field "yum". Yum *SpecKubernetesAdvancedAirGapDependenciesOverrideYum `json:"yum,omitempty" yaml:"yum,omitempty" mapstructure:"yum,omitempty"` }
type SpecKubernetesAdvancedAirGapDependenciesOverrideApt ¶ added in v1.27.6
type SpecKubernetesAdvancedAirGapDependenciesOverrideApt struct { // URL where to download the GPG key of the Apt repository. Example: // `https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key` GpgKey string `json:"gpg_key" yaml:"gpg_key" mapstructure:"gpg_key"` // The GPG key ID of the Apt repository. Example: // `36A1D7869245C8950F966E92D8576A8BA88D21E9` GpgKeyId string `json:"gpg_key_id" yaml:"gpg_key_id" mapstructure:"gpg_key_id"` // An indicative name for the Apt repository. Example: `k8s-1.29` Name string `json:"name" yaml:"name" mapstructure:"name"` // A source string for the new Apt repository. Example: `deb // https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /` Repo string `json:"repo" yaml:"repo" mapstructure:"repo"` }
func (*SpecKubernetesAdvancedAirGapDependenciesOverrideApt) UnmarshalJSON ¶ added in v1.27.6
func (j *SpecKubernetesAdvancedAirGapDependenciesOverrideApt) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecKubernetesAdvancedAirGapDependenciesOverrideYum ¶ added in v1.27.6
type SpecKubernetesAdvancedAirGapDependenciesOverrideYum struct { // URL where to download the ASCII-armored GPG key of the Yum repository. Example: // `https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key` GpgKey string `json:"gpg_key" yaml:"gpg_key" mapstructure:"gpg_key"` // If true, the GPG signature check on the packages will be enabled. GpgKeyCheck bool `json:"gpg_key_check" yaml:"gpg_key_check" mapstructure:"gpg_key_check"` // An indicative name for the Yum repository. Example: `k8s-1.29` Name string `json:"name" yaml:"name" mapstructure:"name"` // URL to the directory where the Yum repository's `repodata` directory lives. // Example: `https://pkgs.k8s.io/core:/stable:/v1.29/rpm/` Repo string `json:"repo" yaml:"repo" mapstructure:"repo"` // If true, the GPG signature check on the `repodata` will be enabled. RepoGpgCheck bool `json:"repo_gpg_check" yaml:"repo_gpg_check" mapstructure:"repo_gpg_check"` }
func (*SpecKubernetesAdvancedAirGapDependenciesOverrideYum) UnmarshalJSON ¶ added in v1.27.6
func (j *SpecKubernetesAdvancedAirGapDependenciesOverrideYum) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecKubernetesAdvancedAnsible ¶ added in v1.27.6
type SpecKubernetesAdvancedAnsible struct { // Additional configuration to append to the ansible.cfg file Config *string `json:"config,omitempty" yaml:"config,omitempty" mapstructure:"config,omitempty"` // The Python interpreter to use for running Ansible. Example: python3 PythonInterpreter *string `json:"pythonInterpreter,omitempty" yaml:"pythonInterpreter,omitempty" mapstructure:"pythonInterpreter,omitempty"` }
type SpecKubernetesAdvancedCloud ¶
type SpecKubernetesAdvancedCloud struct { // Sets cloud config for the Kubelet Config *string `json:"config,omitempty" yaml:"config,omitempty" mapstructure:"config,omitempty"` // Sets the cloud provider for the Kubelet Provider *string `json:"provider,omitempty" yaml:"provider,omitempty" mapstructure:"provider,omitempty"` }
type SpecKubernetesAdvancedContainerd ¶ added in v1.25.10
type SpecKubernetesAdvancedContainerd struct { // RegistryConfigs corresponds to the JSON schema field "registryConfigs". RegistryConfigs SpecKubernetesAdvancedContainerdRegistryConfigs `json:"registryConfigs,omitempty" yaml:"registryConfigs,omitempty" mapstructure:"registryConfigs,omitempty"` }
Advanced configuration for containerd
type SpecKubernetesAdvancedContainerdRegistryConfigs ¶ added in v1.25.10
type SpecKubernetesAdvancedContainerdRegistryConfigs []struct { // Set to `true` to skip TLS verification (e.g. when using self-signed // certificates). InsecureSkipVerify *bool `json:"insecureSkipVerify,omitempty" yaml:"insecureSkipVerify,omitempty" mapstructure:"insecureSkipVerify,omitempty"` // Array of URLs with the mirrors to use for the registry. Example: // `["http://mymirror.tld:8080"]` MirrorEndpoint []string `json:"mirrorEndpoint,omitempty" yaml:"mirrorEndpoint,omitempty" mapstructure:"mirrorEndpoint,omitempty"` // The password containerd will use to authenticate against the registry. Password *string `json:"password,omitempty" yaml:"password,omitempty" mapstructure:"password,omitempty"` // Registry address on which you would like to configure authentication or // mirror(s). Example: `myregistry.tld:5000` Registry *string `json:"registry,omitempty" yaml:"registry,omitempty" mapstructure:"registry,omitempty"` // The username containerd will use to authenticate against the registry. Username *string `json:"username,omitempty" yaml:"username,omitempty" mapstructure:"username,omitempty"` }
Allows specifying custom configuration for a registry at containerd level. You can set authentication details and mirrors for a registry. This feature can be used for example to authenticate to a private registry at containerd (container runtime) level, i.e. globally instead of using `imagePullSecrets`. It also can be used to use a mirror for a registry or to enable insecure connections to trusted registries that have self-signed certificates.
type SpecKubernetesAdvancedEncryption ¶ added in v1.26.6
type SpecKubernetesAdvancedEncryption struct { // etcd's encryption at rest configuration. Must be a string with the // EncryptionConfiguration object in YAML. Example: // // “`yaml // // apiVersion: apiserver.config.k8s.io/v1 // kind: EncryptionConfiguration // resources: // - resources: // - secrets // providers: // - aescbc: // keys: // - name: mykey // secret: base64_encoded_secret // “` // Configuration *string `json:"configuration,omitempty" yaml:"configuration,omitempty" mapstructure:"configuration,omitempty"` // The TLS cipher suites to use for etcd, kubelet, and kubeadm static pods. // Example: // “`yaml // tlsCipherSuites: // - "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256" // - "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" // - "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384" // - "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" // - "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256" // - "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256" // - "TLS_AES_128_GCM_SHA256" // - "TLS_AES_256_GCM_SHA384" // - "TLS_CHACHA20_POLY1305_SHA256" // “` TlsCipherSuites []string `json:"tlsCipherSuites,omitempty" yaml:"tlsCipherSuites,omitempty" mapstructure:"tlsCipherSuites,omitempty"` }
type SpecKubernetesAdvancedOIDC ¶
type SpecKubernetesAdvancedOIDC struct { // The path to the certificate for the CA that signed the identity provider's web // certificate. Defaults to the host's root CAs. This should be a path available // to the API Server. CaFile *string `json:"ca_file,omitempty" yaml:"ca_file,omitempty" mapstructure:"ca_file,omitempty"` // The client ID the API server will use to authenticate to the OIDC provider. ClientId *string `json:"client_id,omitempty" yaml:"client_id,omitempty" mapstructure:"client_id,omitempty"` // Prefix prepended to group claims to prevent clashes with existing names (such // as system: groups). GroupPrefix *string `json:"group_prefix,omitempty" yaml:"group_prefix,omitempty" mapstructure:"group_prefix,omitempty"` // JWT claim to use as the user's group. GroupsClaim *string `json:"groups_claim,omitempty" yaml:"groups_claim,omitempty" mapstructure:"groups_claim,omitempty"` // The issuer URL of the OIDC provider. IssuerUrl *string `json:"issuer_url,omitempty" yaml:"issuer_url,omitempty" mapstructure:"issuer_url,omitempty"` // JWT claim to use as the user name. The default value is `sub`, which is // expected to be a unique identifier of the end user. UsernameClaim *string `json:"username_claim,omitempty" yaml:"username_claim,omitempty" mapstructure:"username_claim,omitempty"` // Prefix prepended to username claims to prevent clashes with existing names // (such as system: users). UsernamePrefix *string `json:"username_prefix,omitempty" yaml:"username_prefix,omitempty" mapstructure:"username_prefix,omitempty"` }
OIDC configuration for the Kubernetes API server.
type SpecKubernetesAdvancedUsers ¶
type SpecKubernetesAdvancedUsers struct { // List of user names to create and get a kubeconfig file. Users will not have any // permissions by default, RBAC setup for the new users is needed. Names []string `json:"names,omitempty" yaml:"names,omitempty" mapstructure:"names,omitempty"` // The organization the users belong to. Org *string `json:"org,omitempty" yaml:"org,omitempty" mapstructure:"org,omitempty"` }
type SpecKubernetesLoadBalancers ¶
type SpecKubernetesLoadBalancers struct { // Additional configuration to append to HAProxy's configuration file. AdditionalConfig *string `json:"additionalConfig,omitempty" yaml:"additionalConfig,omitempty" mapstructure:"additionalConfig,omitempty"` // Set to true to install HAProxy and configure it as a load balancer on the the // load balancer hosts. Enabled bool `json:"enabled" yaml:"enabled" mapstructure:"enabled"` // Hosts corresponds to the JSON schema field "hosts". Hosts []SpecKubernetesLoadBalancersHost `json:"hosts,omitempty" yaml:"hosts,omitempty" mapstructure:"hosts,omitempty"` // Keepalived corresponds to the JSON schema field "keepalived". Keepalived *SpecKubernetesLoadBalancersKeepalived `json:"keepalived,omitempty" yaml:"keepalived,omitempty" mapstructure:"keepalived,omitempty"` // Stats corresponds to the JSON schema field "stats". Stats *SpecKubernetesLoadBalancersStats `json:"stats,omitempty" yaml:"stats,omitempty" mapstructure:"stats,omitempty"` }
func (*SpecKubernetesLoadBalancers) UnmarshalJSON ¶
func (j *SpecKubernetesLoadBalancers) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecKubernetesLoadBalancersHost ¶
type SpecKubernetesLoadBalancersHost struct { // The IP address of the host. Ip string `json:"ip" yaml:"ip" mapstructure:"ip"` // A name to identify the host. This value will be concatenated to // `.spec.kubernetes.dnsZone` to calculate the FQDN for the host as // `<name>.<dnsZone>`. Name string `json:"name" yaml:"name" mapstructure:"name"` }
func (*SpecKubernetesLoadBalancersHost) UnmarshalJSON ¶
func (j *SpecKubernetesLoadBalancersHost) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecKubernetesLoadBalancersKeepalived ¶
type SpecKubernetesLoadBalancersKeepalived struct { // Set to install keepalived with a floating virtual IP shared between the load // balancer hosts for a deployment in High Availability. Enabled bool `json:"enabled" yaml:"enabled" mapstructure:"enabled"` // Name of the network interface where to bind the Keepalived virtual IP. Interface *string `json:"interface,omitempty" yaml:"interface,omitempty" mapstructure:"interface,omitempty"` // The Virtual floating IP for Keepalived Ip *string `json:"ip,omitempty" yaml:"ip,omitempty" mapstructure:"ip,omitempty"` // The passphrase for the Keepalived clustering. Passphrase *string `json:"passphrase,omitempty" yaml:"passphrase,omitempty" mapstructure:"passphrase,omitempty"` // The virtual router ID of Keepalived, must be different from other Keepalived // instances in the same network. VirtualRouterId *string `json:"virtualRouterId,omitempty" yaml:"virtualRouterId,omitempty" mapstructure:"virtualRouterId,omitempty"` }
func (*SpecKubernetesLoadBalancersKeepalived) UnmarshalJSON ¶
func (j *SpecKubernetesLoadBalancersKeepalived) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecKubernetesLoadBalancersStats ¶
type SpecKubernetesLoadBalancersStats struct { // The basic-auth password for HAProxy's stats page. Password string `json:"password" yaml:"password" mapstructure:"password"` // The basic-auth username for HAProxy's stats page Username string `json:"username" yaml:"username" mapstructure:"username"` }
Configuration for HAProxy stats page. Accessible at http://<haproxy host>:1936/stats
func (*SpecKubernetesLoadBalancersStats) UnmarshalJSON ¶
func (j *SpecKubernetesLoadBalancersStats) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecKubernetesMasters ¶
type SpecKubernetesMasters struct { // Hosts corresponds to the JSON schema field "hosts". Hosts []SpecKubernetesMastersHost `json:"hosts" yaml:"hosts" mapstructure:"hosts"` }
Configuration for the control plane hosts
func (*SpecKubernetesMasters) UnmarshalJSON ¶
func (j *SpecKubernetesMasters) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecKubernetesMastersHost ¶
type SpecKubernetesMastersHost struct { // The IP address of the host Ip string `json:"ip" yaml:"ip" mapstructure:"ip"` // A name to identify the host. This value will be concatenated to // `.spec.kubernetes.dnsZone` to calculate the FQDN for the host as // `<name>.<dnsZone>`. Name string `json:"name" yaml:"name" mapstructure:"name"` }
func (*SpecKubernetesMastersHost) UnmarshalJSON ¶
func (j *SpecKubernetesMastersHost) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecKubernetesNodes ¶
type SpecKubernetesNodes []SpecKubernetesNodesNode
Configuration for the node hosts
type SpecKubernetesNodesNode ¶
type SpecKubernetesNodesNode struct { // Hosts corresponds to the JSON schema field "hosts". Hosts []SpecKubernetesNodesNodeHost `json:"hosts" yaml:"hosts" mapstructure:"hosts"` // Name for the node group. It will be also used as the node role label. It should // follow the [valid variable names // guideline](https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_variables.html#valid-variable-names) // from Ansible. Name string `json:"name" yaml:"name" mapstructure:"name"` // Taints corresponds to the JSON schema field "taints". Taints []TypesKubeTaints `json:"taints,omitempty" yaml:"taints,omitempty" mapstructure:"taints,omitempty"` }
func (*SpecKubernetesNodesNode) UnmarshalJSON ¶
func (j *SpecKubernetesNodesNode) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecKubernetesNodesNodeHost ¶
type SpecKubernetesNodesNodeHost struct { // The IP address of the host Ip string `json:"ip" yaml:"ip" mapstructure:"ip"` // A name to identify the host. This value will be concatenated to // `.spec.kubernetes.dnsZone` to calculate the FQDN for the host as // `<name>.<dnsZone>`. Name string `json:"name" yaml:"name" mapstructure:"name"` }
func (*SpecKubernetesNodesNodeHost) UnmarshalJSON ¶
func (j *SpecKubernetesNodesNodeHost) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecKubernetesProxy ¶
type SpecKubernetesProxy struct { // The HTTP proxy URL. Example: http://test.example.dev:3128 Http *TypesUri `json:"http,omitempty" yaml:"http,omitempty" mapstructure:"http,omitempty"` // The HTTPS proxy URL. Example: https://test.example.dev:3128 Https *TypesUri `json:"https,omitempty" yaml:"https,omitempty" mapstructure:"https,omitempty"` // Comma-separated list of hosts that should not use the HTTP(S) proxy. Example: // localhost,127.0.0.1,172.16.0.0/17,172.16.128.0/17,10.0.0.0/8,.example.dev NoProxy *string `json:"noProxy,omitempty" yaml:"noProxy,omitempty" mapstructure:"noProxy,omitempty"` }
type SpecKubernetesSSH ¶
type SpecKubernetesSSH struct { // The path to the private key to use to connect to the hosts KeyPath string `json:"keyPath" yaml:"keyPath" mapstructure:"keyPath"` // The username to use to connect to the hosts Username string `json:"username" yaml:"username" mapstructure:"username"` }
SSH credentials to access the hosts
func (*SpecKubernetesSSH) UnmarshalJSON ¶
func (j *SpecKubernetesSSH) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecPlugins ¶
type SpecPlugins struct { // Helm corresponds to the JSON schema field "helm". Helm *SpecPluginsHelm `json:"helm,omitempty" yaml:"helm,omitempty" mapstructure:"helm,omitempty"` // Kustomize corresponds to the JSON schema field "kustomize". Kustomize SpecPluginsKustomize `json:"kustomize,omitempty" yaml:"kustomize,omitempty" mapstructure:"kustomize,omitempty"` }
type SpecPluginsHelm ¶
type SpecPluginsHelm struct { // Releases corresponds to the JSON schema field "releases". Releases SpecPluginsHelmReleases `json:"releases,omitempty" yaml:"releases,omitempty" mapstructure:"releases,omitempty"` // Repositories corresponds to the JSON schema field "repositories". Repositories SpecPluginsHelmRepositories `json:"repositories,omitempty" yaml:"repositories,omitempty" mapstructure:"repositories,omitempty"` }
type SpecPluginsHelmReleases ¶
type SpecPluginsHelmReleases []struct { // The chart of the release Chart string `json:"chart" yaml:"chart" mapstructure:"chart"` // Disable running `helm diff` validation when installing the plugin, it will // still be done when upgrading. DisableValidationOnInstall *bool `` /* 139-byte string literal not displayed */ // The name of the release Name string `json:"name" yaml:"name" mapstructure:"name"` // The namespace of the release Namespace string `json:"namespace" yaml:"namespace" mapstructure:"namespace"` // Set corresponds to the JSON schema field "set". Set []SpecPluginsHelmReleasesElemSetElem `json:"set,omitempty" yaml:"set,omitempty" mapstructure:"set,omitempty"` // The values of the release Values []string `json:"values,omitempty" yaml:"values,omitempty" mapstructure:"values,omitempty"` // The version of the release Version *string `json:"version,omitempty" yaml:"version,omitempty" mapstructure:"version,omitempty"` }
type SpecPluginsHelmReleasesElemSetElem ¶
type SpecPluginsHelmReleasesElemSetElem struct { // The name of the set Name string `json:"name" yaml:"name" mapstructure:"name"` // The value of the set Value string `json:"value" yaml:"value" mapstructure:"value"` }
func (*SpecPluginsHelmReleasesElemSetElem) UnmarshalJSON ¶
func (j *SpecPluginsHelmReleasesElemSetElem) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SpecPluginsKustomize ¶
type TypesEnvRef ¶
type TypesEnvRef string
type TypesFileRef ¶
type TypesFileRef string
type TypesFuryModuleComponentOverrides ¶
type TypesFuryModuleComponentOverrides struct { // Set to override the node selector used to place the pods of the package. NodeSelector TypesKubeNodeSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty" mapstructure:"nodeSelector,omitempty"` // Set to override the tolerations that will be added to the pods of the package. Tolerations []TypesKubeToleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"` }
type TypesFuryModuleComponentOverrides_1 ¶ added in v1.27.7
type TypesFuryModuleComponentOverrides_1 struct { // NodeSelector corresponds to the JSON schema field "nodeSelector". NodeSelector TypesKubeNodeSelector_1 `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty" mapstructure:"nodeSelector,omitempty"` // Tolerations corresponds to the JSON schema field "tolerations". Tolerations []TypesKubeToleration_1 `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"` }
type TypesFuryModuleOverrides ¶
type TypesFuryModuleOverrides struct { // Ingresses corresponds to the JSON schema field "ingresses". Ingresses TypesFuryModuleOverridesIngresses `json:"ingresses,omitempty" yaml:"ingresses,omitempty" mapstructure:"ingresses,omitempty"` // Set to override the node selector used to place the pods of the module. NodeSelector TypesKubeNodeSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty" mapstructure:"nodeSelector,omitempty"` // Set to override the tolerations that will be added to the pods of the module. Tolerations []TypesKubeToleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"` }
Override the common configuration with a particular configuration for the module.
type TypesFuryModuleOverridesIngress ¶
type TypesFuryModuleOverridesIngress struct { // If true, the ingress will not have authentication even if // `.spec.modules.auth.provider.type` is SSO or Basic Auth. DisableAuth *bool `json:"disableAuth,omitempty" yaml:"disableAuth,omitempty" mapstructure:"disableAuth,omitempty"` // Use this host for the ingress instead of the default one. Host *string `json:"host,omitempty" yaml:"host,omitempty" mapstructure:"host,omitempty"` // Use this ingress class for the ingress instead of the default one. IngressClass *string `json:"ingressClass,omitempty" yaml:"ingressClass,omitempty" mapstructure:"ingressClass,omitempty"` }
type TypesFuryModuleOverridesIngresses ¶
type TypesFuryModuleOverridesIngresses map[string]TypesFuryModuleOverridesIngress
type TypesIpAddress ¶
type TypesIpAddress string
type TypesKubeLabels ¶
type TypesKubeLabels_1 ¶ added in v1.26.6
type TypesKubeNodeSelector ¶
type TypesKubeNodeSelector_1 ¶ added in v1.27.7
type TypesKubeResources ¶
type TypesKubeResources struct { // Limits corresponds to the JSON schema field "limits". Limits *TypesKubeResourcesLimits `json:"limits,omitempty" yaml:"limits,omitempty" mapstructure:"limits,omitempty"` // Requests corresponds to the JSON schema field "requests". Requests *TypesKubeResourcesRequests `json:"requests,omitempty" yaml:"requests,omitempty" mapstructure:"requests,omitempty"` }
type TypesKubeResourcesLimits ¶
type TypesKubeResourcesLimits struct { // The CPU limit for the Pod. Example: `1000m`. Cpu *string `json:"cpu,omitempty" yaml:"cpu,omitempty" mapstructure:"cpu,omitempty"` // The memory limit for the Pod. Example: `1G`. Memory *string `json:"memory,omitempty" yaml:"memory,omitempty" mapstructure:"memory,omitempty"` }
type TypesKubeResourcesRequests ¶
type TypesKubeResourcesRequests struct { // The CPU request for the Pod, in cores. Example: `500m`. Cpu *string `json:"cpu,omitempty" yaml:"cpu,omitempty" mapstructure:"cpu,omitempty"` // The memory request for the Pod. Example: `500M`. Memory *string `json:"memory,omitempty" yaml:"memory,omitempty" mapstructure:"memory,omitempty"` }
type TypesKubeTaints ¶
type TypesKubeTaints struct { // Effect corresponds to the JSON schema field "effect". Effect TypesKubeTaintsEffect `json:"effect" yaml:"effect" mapstructure:"effect"` // Key corresponds to the JSON schema field "key". Key string `json:"key" yaml:"key" mapstructure:"key"` // Value corresponds to the JSON schema field "value". Value string `json:"value" yaml:"value" mapstructure:"value"` }
func (*TypesKubeTaints) UnmarshalJSON ¶
func (j *TypesKubeTaints) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type TypesKubeTaintsEffect ¶
type TypesKubeTaintsEffect string
const ( TypesKubeTaintsEffectNoSchedule TypesKubeTaintsEffect = "NoSchedule" TypesKubeTaintsEffectPreferNoSchedule TypesKubeTaintsEffect = "PreferNoSchedule" TypesKubeTaintsEffectNoExecute TypesKubeTaintsEffect = "NoExecute" )
func (*TypesKubeTaintsEffect) UnmarshalJSON ¶
func (j *TypesKubeTaintsEffect) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type TypesKubeToleration ¶
type TypesKubeToleration struct { // Effect corresponds to the JSON schema field "effect". Effect TypesKubeTolerationEffect `json:"effect" yaml:"effect" mapstructure:"effect"` // The key of the toleration Key string `json:"key" yaml:"key" mapstructure:"key"` // Operator corresponds to the JSON schema field "operator". Operator *TypesKubeTolerationOperator `json:"operator,omitempty" yaml:"operator,omitempty" mapstructure:"operator,omitempty"` // The value of the toleration Value *string `json:"value,omitempty" yaml:"value,omitempty" mapstructure:"value,omitempty"` }
func (*TypesKubeToleration) UnmarshalJSON ¶
func (j *TypesKubeToleration) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type TypesKubeTolerationEffect ¶
type TypesKubeTolerationEffect string
const ( TypesKubeTolerationEffectNoExecute TypesKubeTolerationEffect = "NoExecute" TypesKubeTolerationEffectPreferNoSchedule TypesKubeTolerationEffect = "PreferNoSchedule" TypesKubeTolerationEffectNoSchedule TypesKubeTolerationEffect = "NoSchedule" )
func (*TypesKubeTolerationEffect) UnmarshalJSON ¶
func (j *TypesKubeTolerationEffect) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type TypesKubeTolerationEffect_1 ¶ added in v1.27.7
type TypesKubeTolerationEffect_1 string
const ( TypesKubeTolerationEffect_1_NoSchedule TypesKubeTolerationEffect_1 = "NoSchedule" TypesKubeTolerationEffect_1_PreferNoSchedule TypesKubeTolerationEffect_1 = "PreferNoSchedule" TypesKubeTolerationEffect_1_NoExecute TypesKubeTolerationEffect_1 = "NoExecute" )
func (*TypesKubeTolerationEffect_1) UnmarshalJSON ¶ added in v1.27.7
func (j *TypesKubeTolerationEffect_1) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type TypesKubeTolerationOperator ¶
type TypesKubeTolerationOperator string
const ( TypesKubeTolerationOperatorEqual TypesKubeTolerationOperator = "Equal" TypesKubeTolerationOperatorExists TypesKubeTolerationOperator = "Exists" )
func (*TypesKubeTolerationOperator) UnmarshalJSON ¶
func (j *TypesKubeTolerationOperator) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type TypesKubeTolerationOperator_1 ¶ added in v1.27.7
type TypesKubeTolerationOperator_1 string
const ( TypesKubeTolerationOperator_1_Exists TypesKubeTolerationOperator_1 = "Exists" TypesKubeTolerationOperator_1_Equal TypesKubeTolerationOperator_1 = "Equal" )
func (*TypesKubeTolerationOperator_1) UnmarshalJSON ¶ added in v1.27.7
func (j *TypesKubeTolerationOperator_1) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type TypesKubeToleration_1 ¶ added in v1.27.7
type TypesKubeToleration_1 struct { // Effect corresponds to the JSON schema field "effect". Effect TypesKubeTolerationEffect_1 `json:"effect" yaml:"effect" mapstructure:"effect"` // Key corresponds to the JSON schema field "key". Key string `json:"key" yaml:"key" mapstructure:"key"` // Operator corresponds to the JSON schema field "operator". Operator *TypesKubeTolerationOperator_1 `json:"operator,omitempty" yaml:"operator,omitempty" mapstructure:"operator,omitempty"` // Value corresponds to the JSON schema field "value". Value string `json:"value" yaml:"value" mapstructure:"value"` }
func (*TypesKubeToleration_1) UnmarshalJSON ¶ added in v1.27.7
func (j *TypesKubeToleration_1) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type TypesSemVer ¶
type TypesSemVer string
type TypesSshPubKey ¶
type TypesSshPubKey string
type TypesTcpPort ¶
type TypesTcpPort int