diff --git a/docs/schemas/ekscluster-kfd-v1alpha2.md b/docs/schemas/ekscluster-kfd-v1alpha2.md index e9b09299..ba157d63 100644 --- a/docs/schemas/ekscluster-kfd-v1alpha2.md +++ b/docs/schemas/ekscluster-kfd-v1alpha2.md @@ -7,7 +7,7 @@ An example file can be found [here](https://github.com/sighupio/fury-distributio ## Properties | Property | Type | Required | -| :------------------------ | :------- | :------- | +|:--------------------------|:---------|:---------| | [apiVersion](#apiversion) | `string` | Required | | [kind](#kind) | `string` | Required | | [metadata](#metadata) | `object` | Required | @@ -35,16 +35,16 @@ A Fury Cluster deployed through AWS's Elastic Kubernetes Service **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------- | -| `"EKSCluster"` | +| Value | +|:-------------| +|`"EKSCluster"`| ## .metadata ### Properties | Property | Type | Required | -| :-------------------- | :------- | :------- | +|:----------------------|:---------|:---------| | [name](#metadataname) | `string` | Required | ## .metadata.name @@ -60,7 +60,7 @@ A Fury Cluster deployed through AWS's Elastic Kubernetes Service ### Properties | Property | Type | Required | -| :---------------------------------------------- | :------- | :------- | +|:------------------------------------------------|:---------|:---------| | [distribution](#specdistribution) | `object` | Required | | [distributionVersion](#specdistributionversion) | `string` | Required | | [infrastructure](#specinfrastructure) | `object` | Optional | @@ -75,7 +75,7 @@ A Fury Cluster deployed through AWS's Elastic Kubernetes Service ### Properties | Property | Type | Required | -| :---------------------------------------------- | :------- | :------- | +|:------------------------------------------------|:---------|:---------| | [common](#specdistributioncommon) | `object` | Optional | | [customPatches](#specdistributioncustompatches) | `object` | Optional | | [modules](#specdistributionmodules) | `object` | Required | @@ -85,7 +85,7 @@ A Fury Cluster deployed through AWS's Elastic Kubernetes Service ### Properties | Property | Type | Required | -| :-------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributioncommonnodeselector) | `object` | Optional | | [provider](#specdistributioncommonprovider) | `object` | Optional | | [relativeVendorPath](#specdistributioncommonrelativevendorpath) | `string` | Optional | @@ -102,7 +102,7 @@ The node selector to use to place the pods for all the KFD modules ### Properties | Property | Type | Required | -| :------------------------------------------ | :------- | :------- | +|:--------------------------------------------|:---------|:---------| | [type](#specdistributioncommonprovidertype) | `string` | Required | ## .spec.distribution.common.provider.type @@ -122,7 +122,7 @@ The relative path to the vendor directory, does not need to be changed ### Properties | Property | Type | Required | -| :----------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------|:---------|:---------| | [effect](#specdistributioncommontolerationseffect) | `string` | Required | | [key](#specdistributioncommontolerationskey) | `string` | Required | | [operator](#specdistributioncommontolerationsoperator) | `string` | Optional | @@ -138,11 +138,11 @@ The tolerations that will be added to the pods for all the KFD modules **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.common.tolerations.key @@ -156,10 +156,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.common.tolerations.value @@ -172,7 +172,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------- | :------ | :------- | +|:-----------------------------------------------------------------------------|:--------|:---------| | [configMapGenerator](#specdistributioncustompatchesconfigmapgenerator) | `array` | Optional | | [images](#specdistributioncustompatchesimages) | `array` | Optional | | [patches](#specdistributioncustompatchespatches) | `array` | Optional | @@ -184,7 +184,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------|:---------|:---------| | [behavior](#specdistributioncustompatchesconfigmapgeneratorbehavior) | `string` | Optional | | [envs](#specdistributioncustompatchesconfigmapgeneratorenvs) | `array` | Optional | | [files](#specdistributioncustompatchesconfigmapgeneratorfiles) | `array` | Optional | @@ -203,11 +203,11 @@ The behavior of the configmap **enum**: the value of this property must be equal to one of the following values: -| Value | -| :---------- | -| `"create"` | -| `"replace"` | -| `"merge"` | +| Value | +|:----------| +|`"create"` | +|`"replace"`| +|`"merge"` | ## .spec.distribution.customPatches.configMapGenerator.envs @@ -244,7 +244,7 @@ The namespace of the configmap ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------------------------------------- | :-------- | :------- | +|:------------------------------------------------------------------------------------------------------|:----------|:---------| | [annotations](#specdistributioncustompatchesconfigmapgeneratoroptionsannotations) | `object` | Optional | | [disableNameSuffixHash](#specdistributioncustompatchesconfigmapgeneratoroptionsdisablenamesuffixhash) | `boolean` | Optional | | [immutable](#specdistributioncustompatchesconfigmapgeneratoroptionsimmutable) | `boolean` | Optional | @@ -285,7 +285,7 @@ Each entry should follow the format of Kustomize's images patch ### Properties | Property | Type | Required | -| :------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------|:---------|:---------| | [options](#specdistributioncustompatchespatchesoptions) | `object` | Optional | | [patch](#specdistributioncustompatchespatchespatch) | `string` | Optional | | [path](#specdistributioncustompatchespatchespath) | `string` | Optional | @@ -296,7 +296,7 @@ Each entry should follow the format of Kustomize's images patch ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------------- | :-------- | :------- | +|:-------------------------------------------------------------------------------|:----------|:---------| | [allowKindChange](#specdistributioncustompatchespatchesoptionsallowkindchange) | `boolean` | Optional | | [allowNameChange](#specdistributioncustompatchespatchesoptionsallownamechange) | `boolean` | Optional | @@ -329,7 +329,7 @@ The path of the patch ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------------------|:---------|:---------| | [annotationSelector](#specdistributioncustompatchespatchestargetannotationselector) | `string` | Optional | | [group](#specdistributioncustompatchespatchestargetgroup) | `string` | Optional | | [kind](#specdistributioncustompatchespatchestargetkind) | `string` | Optional | @@ -391,7 +391,7 @@ Each entry should be either a relative file path or an inline content resolving ### Properties | Property | Type | Required | -| :------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------|:---------|:---------| | [behavior](#specdistributioncustompatchessecretgeneratorbehavior) | `string` | Optional | | [envs](#specdistributioncustompatchessecretgeneratorenvs) | `array` | Optional | | [files](#specdistributioncustompatchessecretgeneratorfiles) | `array` | Optional | @@ -411,11 +411,11 @@ The behavior of the secret **enum**: the value of this property must be equal to one of the following values: -| Value | -| :---------- | -| `"create"` | -| `"replace"` | -| `"merge"` | +| Value | +|:----------| +|`"create"` | +|`"replace"`| +|`"merge"` | ## .spec.distribution.customPatches.secretGenerator.envs @@ -452,7 +452,7 @@ The namespace of the secret ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------------------------- | :-------- | :------- | +|:---------------------------------------------------------------------------------------------------|:----------|:---------| | [annotations](#specdistributioncustompatchessecretgeneratoroptionsannotations) | `object` | Optional | | [disableNameSuffixHash](#specdistributioncustompatchessecretgeneratoroptionsdisablenamesuffixhash) | `boolean` | Optional | | [immutable](#specdistributioncustompatchessecretgeneratoroptionsimmutable) | `boolean` | Optional | @@ -493,7 +493,7 @@ The type of the secret ### Properties | Property | Type | Required | -| :----------------------------------------------- | :------- | :------- | +|:-------------------------------------------------|:---------|:---------| | [auth](#specdistributionmodulesauth) | `object` | Optional | | [aws](#specdistributionmodulesaws) | `object` | Optional | | [dr](#specdistributionmodulesdr) | `object` | Required | @@ -509,7 +509,7 @@ The type of the secret ### Properties | Property | Type | Required | -| :--------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------|:---------|:---------| | [baseDomain](#specdistributionmodulesauthbasedomain) | `string` | Optional | | [dex](#specdistributionmodulesauthdex) | `object` | Optional | | [overrides](#specdistributionmodulesauthoverrides) | `object` | Optional | @@ -527,7 +527,7 @@ The base domain for the auth module ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------------|:---------|:---------| | [additionalStaticClients](#specdistributionmodulesauthdexadditionalstaticclients) | `array` | Optional | | [connectors](#specdistributionmodulesauthdexconnectors) | `array` | Required | | [overrides](#specdistributionmodulesauthdexoverrides) | `object` | Optional | @@ -549,7 +549,7 @@ The connectors for dex ### Properties | Property | Type | Required | -| :------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesauthdexoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesauthdexoverridestolerations) | `array` | Optional | @@ -564,7 +564,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesauthdexoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesauthdexoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesauthdexoverridestolerationsoperator) | `string` | Optional | @@ -580,11 +580,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.auth.dex.overrides.tolerations.key @@ -598,10 +598,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.auth.dex.overrides.tolerations.value @@ -614,7 +614,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :---------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------|:---------|:---------| | [ingresses](#specdistributionmodulesauthoverridesingresses) | `object` | Optional | | [nodeSelector](#specdistributionmodulesauthoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesauthoverridestolerations) | `array` | Optional | @@ -632,7 +632,7 @@ The node selector to use to place the pods for the auth module ### Properties | Property | Type | Required | -| :------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesauthoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesauthoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesauthoverridestolerationsoperator) | `string` | Optional | @@ -648,11 +648,11 @@ The tolerations that will be added to the pods for the auth module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.auth.overrides.tolerations.key @@ -666,10 +666,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.auth.overrides.tolerations.value @@ -682,7 +682,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :--------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesauthpomeriumoverrides) | `object` | Optional | | [policy](#specdistributionmodulesauthpomeriumpolicy) | `string` | Required | | [secrets](#specdistributionmodulesauthpomeriumsecrets) | `object` | Required | @@ -692,7 +692,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesauthpomeriumoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesauthpomeriumoverridestolerations) | `array` | Optional | @@ -707,7 +707,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesauthpomeriumoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesauthpomeriumoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesauthpomeriumoverridestolerationsoperator) | `string` | Optional | @@ -723,11 +723,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.auth.pomerium.overrides.tolerations.key @@ -741,10 +741,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.auth.pomerium.overrides.tolerations.value @@ -763,7 +763,7 @@ The policy for pomerium ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------------|:---------|:---------| | [COOKIE_SECRET](#specdistributionmodulesauthpomeriumsecretscookie_secret) | `string` | Required | | [IDP_CLIENT_SECRET](#specdistributionmodulesauthpomeriumsecretsidp_client_secret) | `string` | Required | | [SHARED_SECRET](#specdistributionmodulesauthpomeriumsecretsshared_secret) | `string` | Required | @@ -791,7 +791,7 @@ The shared secret for pomerium ### Properties | Property | Type | Required | -| :--------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------|:---------|:---------| | [basicAuth](#specdistributionmodulesauthproviderbasicauth) | `object` | Optional | | [type](#specdistributionmodulesauthprovidertype) | `string` | Required | @@ -800,7 +800,7 @@ The shared secret for pomerium ### Properties | Property | Type | Required | -| :---------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------|:---------|:---------| | [password](#specdistributionmodulesauthproviderbasicauthpassword) | `string` | Required | | [username](#specdistributionmodulesauthproviderbasicauthusername) | `string` | Required | @@ -826,18 +826,18 @@ The type of the provider, must be ***none***, ***sso*** or ***basicAuth*** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------ | -| `"none"` | -| `"basicAuth"` | -| `"sso"` | +| Value | +|:------------| +|`"none"` | +|`"basicAuth"`| +|`"sso"` | ## .spec.distribution.modules.aws ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------|:---------|:---------| | [clusterAutoscaler](#specdistributionmodulesawsclusterautoscaler) | `object` | Optional | | [ebsCsiDriver](#specdistributionmodulesawsebscsidriver) | `object` | Optional | | [ebsSnapshotController](#specdistributionmodulesawsebssnapshotcontroller) | `object` | Optional | @@ -849,7 +849,7 @@ The type of the provider, must be ***none***, ***sso*** or ***basicAuth*** ### Properties | Property | Type | Required | -| :----------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesawsclusterautoscaleroverrides) | `object` | Optional | ## .spec.distribution.modules.aws.clusterAutoscaler.overrides @@ -857,7 +857,7 @@ The type of the provider, must be ***none***, ***sso*** or ***basicAuth*** ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------------|:---------|:---------| | [iamRoleName](#specdistributionmodulesawsclusterautoscaleroverridesiamrolename) | `string` | Optional | | [nodeSelector](#specdistributionmodulesawsclusterautoscaleroverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesawsclusterautoscaleroverridestolerations) | `array` | Optional | @@ -885,7 +885,7 @@ The node selector to use to place the pods for the load balancer controller modu ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesawsclusterautoscaleroverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesawsclusterautoscaleroverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesawsclusterautoscaleroverridestolerationsoperator) | `string` | Optional | @@ -901,11 +901,11 @@ The tolerations that will be added to the pods for the cluster autoscaler module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.aws.clusterAutoscaler.overrides.tolerations.key @@ -919,10 +919,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.aws.clusterAutoscaler.overrides.tolerations.value @@ -935,7 +935,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesawsebscsidriveroverrides) | `object` | Optional | ## .spec.distribution.modules.aws.ebsCsiDriver.overrides @@ -943,7 +943,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------|:---------|:---------| | [iamRoleName](#specdistributionmodulesawsebscsidriveroverridesiamrolename) | `string` | Optional | | [nodeSelector](#specdistributionmodulesawsebscsidriveroverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesawsebscsidriveroverridestolerations) | `array` | Optional | @@ -971,7 +971,7 @@ The node selector to use to place the pods for the load balancer controller modu ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesawsebscsidriveroverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesawsebscsidriveroverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesawsebscsidriveroverridestolerationsoperator) | `string` | Optional | @@ -987,11 +987,11 @@ The tolerations that will be added to the pods for the cluster autoscaler module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.aws.ebsCsiDriver.overrides.tolerations.key @@ -1005,10 +1005,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.aws.ebsCsiDriver.overrides.tolerations.value @@ -1021,7 +1021,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesawsebssnapshotcontrolleroverrides) | `object` | Optional | ## .spec.distribution.modules.aws.ebsSnapshotController.overrides @@ -1029,7 +1029,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesawsebssnapshotcontrolleroverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesawsebssnapshotcontrolleroverridestolerations) | `array` | Optional | @@ -1044,7 +1044,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesawsebssnapshotcontrolleroverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesawsebssnapshotcontrolleroverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesawsebssnapshotcontrolleroverridestolerationsoperator) | `string` | Optional | @@ -1060,11 +1060,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.aws.ebsSnapshotController.overrides.tolerations.key @@ -1078,10 +1078,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.aws.ebsSnapshotController.overrides.tolerations.value @@ -1094,7 +1094,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesawsloadbalancercontrolleroverrides) | `object` | Optional | ## .spec.distribution.modules.aws.loadBalancerController.overrides @@ -1102,7 +1102,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------------------------|:---------|:---------| | [iamRoleName](#specdistributionmodulesawsloadbalancercontrolleroverridesiamrolename) | `string` | Optional | | [nodeSelector](#specdistributionmodulesawsloadbalancercontrolleroverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesawsloadbalancercontrolleroverridestolerations) | `array` | Optional | @@ -1130,7 +1130,7 @@ The node selector to use to place the pods for the load balancer controller modu ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesawsloadbalancercontrolleroverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesawsloadbalancercontrolleroverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesawsloadbalancercontrolleroverridestolerationsoperator) | `string` | Optional | @@ -1146,11 +1146,11 @@ The tolerations that will be added to the pods for the cluster autoscaler module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.aws.loadBalancerController.overrides.tolerations.key @@ -1164,10 +1164,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.aws.loadBalancerController.overrides.tolerations.value @@ -1180,7 +1180,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :--------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------|:---------|:---------| | [ingresses](#specdistributionmodulesawsoverridesingresses) | `object` | Optional | | [nodeSelector](#specdistributionmodulesawsoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesawsoverridestolerations) | `array` | Optional | @@ -1198,7 +1198,7 @@ The node selector to use to place the pods for the dr module ### Properties | Property | Type | Required | -| :------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesawsoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesawsoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesawsoverridestolerationsoperator) | `string` | Optional | @@ -1214,11 +1214,11 @@ The tolerations that will be added to the pods for the monitoring module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.aws.overrides.tolerations.key @@ -1232,10 +1232,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.aws.overrides.tolerations.value @@ -1248,7 +1248,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :----------------------------------------------- | :------- | :------- | +|:-------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesdroverrides) | `object` | Optional | | [type](#specdistributionmodulesdrtype) | `string` | Required | | [velero](#specdistributionmodulesdrvelero) | `object` | Optional | @@ -1258,7 +1258,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :-------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------|:---------|:---------| | [ingresses](#specdistributionmodulesdroverridesingresses) | `object` | Optional | | [nodeSelector](#specdistributionmodulesdroverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesdroverridestolerations) | `array` | Optional | @@ -1276,7 +1276,7 @@ The node selector to use to place the pods for the dr module ### Properties | Property | Type | Required | -| :----------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesdroverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesdroverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesdroverridestolerationsoperator) | `string` | Optional | @@ -1292,11 +1292,11 @@ The tolerations that will be added to the pods for the monitoring module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.dr.overrides.tolerations.key @@ -1310,10 +1310,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.dr.overrides.tolerations.value @@ -1331,17 +1331,17 @@ The type of the DR, must be ***none*** or ***eks*** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------- | -| `"none"` | -| `"eks"` | +| Value | +|:-------| +|`"none"`| +|`"eks"` | ## .spec.distribution.modules.dr.velero ### Properties | Property | Type | Required | -| :----------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------|:---------|:---------| | [eks](#specdistributionmodulesdrveleroeks) | `object` | Required | | [overrides](#specdistributionmodulesdrvelerooverrides) | `object` | Optional | @@ -1350,7 +1350,7 @@ The type of the DR, must be ***none*** or ***eks*** ### Properties | Property | Type | Required | -| :---------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------|:---------|:---------| | [bucketName](#specdistributionmodulesdrveleroeksbucketname) | `string` | Required | | [region](#specdistributionmodulesdrveleroeksregion) | `string` | Required | @@ -1370,44 +1370,44 @@ The region where the velero bucket is located **enum**: the value of this property must be equal to one of the following values: -| Value | -| :----------------- | -| `"af-south-1"` | -| `"ap-east-1"` | -| `"ap-northeast-1"` | -| `"ap-northeast-2"` | -| `"ap-northeast-3"` | -| `"ap-south-1"` | -| `"ap-south-2"` | -| `"ap-southeast-1"` | -| `"ap-southeast-2"` | -| `"ap-southeast-3"` | -| `"ap-southeast-4"` | -| `"ca-central-1"` | -| `"eu-central-1"` | -| `"eu-central-2"` | -| `"eu-north-1"` | -| `"eu-south-1"` | -| `"eu-south-2"` | -| `"eu-west-1"` | -| `"eu-west-2"` | -| `"eu-west-3"` | -| `"me-central-1"` | -| `"me-south-1"` | -| `"sa-east-1"` | -| `"us-east-1"` | -| `"us-east-2"` | -| `"us-gov-east-1"` | -| `"us-gov-west-1"` | -| `"us-west-1"` | -| `"us-west-2"` | +| Value | +|:-----------------| +|`"af-south-1"` | +|`"ap-east-1"` | +|`"ap-northeast-1"`| +|`"ap-northeast-2"`| +|`"ap-northeast-3"`| +|`"ap-south-1"` | +|`"ap-south-2"` | +|`"ap-southeast-1"`| +|`"ap-southeast-2"`| +|`"ap-southeast-3"`| +|`"ap-southeast-4"`| +|`"ca-central-1"` | +|`"eu-central-1"` | +|`"eu-central-2"` | +|`"eu-north-1"` | +|`"eu-south-1"` | +|`"eu-south-2"` | +|`"eu-west-1"` | +|`"eu-west-2"` | +|`"eu-west-3"` | +|`"me-central-1"` | +|`"me-south-1"` | +|`"sa-east-1"` | +|`"us-east-1"` | +|`"us-east-2"` | +|`"us-gov-east-1"` | +|`"us-gov-west-1"` | +|`"us-west-1"` | +|`"us-west-2"` | ## .spec.distribution.modules.dr.velero.overrides ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesdrvelerooverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesdrvelerooverridestolerations) | `array` | Optional | @@ -1422,7 +1422,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesdrvelerooverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesdrvelerooverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesdrvelerooverridestolerationsoperator) | `string` | Optional | @@ -1438,11 +1438,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.dr.velero.overrides.tolerations.key @@ -1456,10 +1456,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.dr.velero.overrides.tolerations.value @@ -1472,7 +1472,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :-------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------|:---------|:---------| | [baseDomain](#specdistributionmodulesingressbasedomain) | `string` | Required | | [certManager](#specdistributionmodulesingresscertmanager) | `object` | Optional | | [dns](#specdistributionmodulesingressdns) | `object` | Required | @@ -1491,7 +1491,7 @@ the base domain used for all the KFD ingresses, if in the nginx dual configurati ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------|:---------|:---------| | [clusterIssuer](#specdistributionmodulesingresscertmanagerclusterissuer) | `object` | Required | | [overrides](#specdistributionmodulesingresscertmanageroverrides) | `object` | Optional | @@ -1500,7 +1500,7 @@ the base domain used for all the KFD ingresses, if in the nginx dual configurati ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------|:---------|:---------| | [email](#specdistributionmodulesingresscertmanagerclusterissueremail) | `string` | Required | | [name](#specdistributionmodulesingresscertmanagerclusterissuername) | `string` | Required | | [solvers](#specdistributionmodulesingresscertmanagerclusterissuersolvers) | `array` | Optional | @@ -1534,17 +1534,17 @@ The type of the cluster issuer, must be ***dns01*** or ***http01*** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"dns01"` | -| `"http01"` | +| Value | +|:---------| +|`"dns01"` | +|`"http01"`| ## .spec.distribution.modules.ingress.certManager.overrides ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesingresscertmanageroverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesingresscertmanageroverridestolerations) | `array` | Optional | @@ -1559,7 +1559,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesingresscertmanageroverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesingresscertmanageroverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesingresscertmanageroverridestolerationsoperator) | `string` | Optional | @@ -1575,11 +1575,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.ingress.certManager.overrides.tolerations.key @@ -1593,10 +1593,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.ingress.certManager.overrides.tolerations.value @@ -1609,7 +1609,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesingressdnsoverrides) | `object` | Optional | | [private](#specdistributionmodulesingressdnsprivate) | `object` | Required | | [public](#specdistributionmodulesingressdnspublic) | `object` | Required | @@ -1619,7 +1619,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesingressdnsoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesingressdnsoverridestolerations) | `array` | Optional | @@ -1634,7 +1634,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesingressdnsoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesingressdnsoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesingressdnsoverridestolerationsoperator) | `string` | Optional | @@ -1650,11 +1650,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.ingress.dns.overrides.tolerations.key @@ -1668,10 +1668,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.ingress.dns.overrides.tolerations.value @@ -1684,7 +1684,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :-------------------------------------------------------- | :-------- | :------- | +|:----------------------------------------------------------|:----------|:---------| | [create](#specdistributionmodulesingressdnsprivatecreate) | `boolean` | Required | | [name](#specdistributionmodulesingressdnsprivatename) | `string` | Required | @@ -1705,7 +1705,7 @@ The name of the private hosted zone ### Properties | Property | Type | Required | -| :------------------------------------------------------- | :-------- | :------- | +|:---------------------------------------------------------|:----------|:---------| | [create](#specdistributionmodulesingressdnspubliccreate) | `boolean` | Required | | [name](#specdistributionmodulesingressdnspublicname) | `string` | Required | @@ -1726,7 +1726,7 @@ The name of the public hosted zone ### Properties | Property | Type | Required | -| :-------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesingressforecastleoverrides) | `object` | Optional | ## .spec.distribution.modules.ingress.forecastle.overrides @@ -1734,7 +1734,7 @@ The name of the public hosted zone ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesingressforecastleoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesingressforecastleoverridestolerations) | `array` | Optional | @@ -1749,7 +1749,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesingressforecastleoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesingressforecastleoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesingressforecastleoverridestolerationsoperator) | `string` | Optional | @@ -1765,11 +1765,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.ingress.forecastle.overrides.tolerations.key @@ -1783,10 +1783,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.ingress.forecastle.overrides.tolerations.value @@ -1799,7 +1799,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :--------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesingressnginxoverrides) | `object` | Optional | | [tls](#specdistributionmodulesingressnginxtls) | `object` | Optional | | [type](#specdistributionmodulesingressnginxtype) | `string` | Required | @@ -1813,7 +1813,7 @@ Configurations for the nginx ingress controller module ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesingressnginxoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesingressnginxoverridestolerations) | `array` | Optional | @@ -1828,7 +1828,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesingressnginxoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesingressnginxoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesingressnginxoverridestolerationsoperator) | `string` | Optional | @@ -1844,11 +1844,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.ingress.nginx.overrides.tolerations.key @@ -1862,10 +1862,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.ingress.nginx.overrides.tolerations.value @@ -1878,7 +1878,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :---------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------|:---------|:---------| | [provider](#specdistributionmodulesingressnginxtlsprovider) | `string` | Required | | [secret](#specdistributionmodulesingressnginxtlssecret) | `object` | Optional | @@ -1892,18 +1892,18 @@ The provider of the TLS certificate, must be ***none***, ***certManager*** or ** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :-------------- | -| `"certManager"` | -| `"secret"` | -| `"none"` | +| Value | +|:--------------| +|`"certManager"`| +|`"secret"` | +|`"none"` | ## .spec.distribution.modules.ingress.nginx.tls.secret ### Properties | Property | Type | Required | -| :-------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------|:---------|:---------| | [ca](#specdistributionmodulesingressnginxtlssecretca) | `string` | Required | | [cert](#specdistributionmodulesingressnginxtlssecretcert) | `string` | Required | | [key](#specdistributionmodulesingressnginxtlssecretkey) | `string` | Required | @@ -1928,18 +1928,18 @@ The type of the nginx ingress controller, must be ***none***, ***single*** or ** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"none"` | -| `"single"` | -| `"dual"` | +| Value | +|:---------| +|`"none"` | +|`"single"`| +|`"dual"` | ## .spec.distribution.modules.ingress.overrides ### Properties | Property | Type | Required | -| :------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------|:---------|:---------| | [ingresses](#specdistributionmodulesingressoverridesingresses) | `object` | Optional | | [nodeSelector](#specdistributionmodulesingressoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesingressoverridestolerations) | `array` | Optional | @@ -1949,7 +1949,7 @@ The type of the nginx ingress controller, must be ***none***, ***single*** or ** ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------|:---------|:---------| | [forecastle](#specdistributionmodulesingressoverridesingressesforecastle) | `object` | Optional | ## .spec.distribution.modules.ingress.overrides.ingresses.forecastle @@ -1957,7 +1957,7 @@ The type of the nginx ingress controller, must be ***none***, ***single*** or ** ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------------------- | :-------- | :------- | +|:----------------------------------------------------------------------------------------|:----------|:---------| | [disableAuth](#specdistributionmodulesingressoverridesingressesforecastledisableauth) | `boolean` | Optional | | [host](#specdistributionmodulesingressoverridesingressesforecastlehost) | `string` | Optional | | [ingressClass](#specdistributionmodulesingressoverridesingressesforecastleingressclass) | `string` | Optional | @@ -1991,7 +1991,7 @@ The node selector to use to place the pods for the ingress module ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesingressoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesingressoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesingressoverridestolerationsoperator) | `string` | Optional | @@ -2007,11 +2007,11 @@ The tolerations that will be added to the pods for the ingress module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.ingress.overrides.tolerations.key @@ -2025,10 +2025,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.ingress.overrides.tolerations.value @@ -2041,7 +2041,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------|:---------|:---------| | [cerebro](#specdistributionmodulesloggingcerebro) | `object` | Optional | | [loki](#specdistributionmodulesloggingloki) | `object` | Optional | | [minio](#specdistributionmodulesloggingminio) | `object` | Optional | @@ -2055,7 +2055,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :----------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesloggingcerebrooverrides) | `object` | Optional | ## .spec.distribution.modules.logging.cerebro.overrides @@ -2063,7 +2063,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesloggingcerebrooverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesloggingcerebrooverridestolerations) | `array` | Optional | @@ -2078,7 +2078,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesloggingcerebrooverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesloggingcerebrooverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesloggingcerebrooverridestolerationsoperator) | `string` | Optional | @@ -2094,11 +2094,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.logging.cerebro.overrides.tolerations.key @@ -2112,10 +2112,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.logging.cerebro.overrides.tolerations.value @@ -2128,7 +2128,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------|:---------|:---------| | [backend](#specdistributionmoduleslogginglokibackend) | `string` | Optional | | [externalEndpoint](#specdistributionmoduleslogginglokiexternalendpoint) | `object` | Optional | | [resources](#specdistributionmoduleslogginglokiresources) | `object` | Optional | @@ -2139,17 +2139,17 @@ The value of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"minio"` | -| `"externalEndpoint"` | +| Value | +|:-------------------| +|`"minio"` | +|`"externalEndpoint"`| ## .spec.distribution.modules.logging.loki.externalEndpoint ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------------ | :-------- | :------- | +|:--------------------------------------------------------------------------------------|:----------|:---------| | [accessKeyId](#specdistributionmoduleslogginglokiexternalendpointaccesskeyid) | `string` | Optional | | [bucketName](#specdistributionmoduleslogginglokiexternalendpointbucketname) | `string` | Optional | | [endpoint](#specdistributionmoduleslogginglokiexternalendpointendpoint) | `string` | Optional | @@ -2191,7 +2191,7 @@ The secret access key of the loki external endpoint ### Properties | Property | Type | Required | -| :--------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------|:---------|:---------| | [limits](#specdistributionmoduleslogginglokiresourceslimits) | `object` | Optional | | [requests](#specdistributionmoduleslogginglokiresourcesrequests) | `object` | Optional | @@ -2200,7 +2200,7 @@ The secret access key of the loki external endpoint ### Properties | Property | Type | Required | -| :----------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------|:---------|:---------| | [cpu](#specdistributionmoduleslogginglokiresourceslimitscpu) | `string` | Optional | | [memory](#specdistributionmoduleslogginglokiresourceslimitsmemory) | `string` | Optional | @@ -2221,7 +2221,7 @@ The memory limit for the opensearch pods ### Properties | Property | Type | Required | -| :------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------|:---------|:---------| | [cpu](#specdistributionmoduleslogginglokiresourcesrequestscpu) | `string` | Optional | | [memory](#specdistributionmoduleslogginglokiresourcesrequestsmemory) | `string` | Optional | @@ -2242,7 +2242,7 @@ The memory request for the opensearch pods ### Properties | Property | Type | Required | -| :------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesloggingminiooverrides) | `object` | Optional | | [rootUser](#specdistributionmodulesloggingminiorootuser) | `object` | Optional | | [storageSize](#specdistributionmodulesloggingminiostoragesize) | `string` | Optional | @@ -2252,7 +2252,7 @@ The memory request for the opensearch pods ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesloggingminiooverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesloggingminiooverridestolerations) | `array` | Optional | @@ -2267,7 +2267,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesloggingminiooverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesloggingminiooverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesloggingminiooverridestolerationsoperator) | `string` | Optional | @@ -2283,11 +2283,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.logging.minio.overrides.tolerations.key @@ -2301,10 +2301,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.logging.minio.overrides.tolerations.value @@ -2317,7 +2317,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :--------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------|:---------|:---------| | [password](#specdistributionmodulesloggingminiorootuserpassword) | `string` | Optional | | [username](#specdistributionmodulesloggingminiorootuserusername) | `string` | Optional | @@ -2344,7 +2344,7 @@ The PVC size for each minio disk, 6 disks total ### Properties | Property | Type | Required | -| :------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesloggingopensearchoverrides) | `object` | Optional | | [resources](#specdistributionmodulesloggingopensearchresources) | `object` | Optional | | [storageSize](#specdistributionmodulesloggingopensearchstoragesize) | `string` | Optional | @@ -2355,7 +2355,7 @@ The PVC size for each minio disk, 6 disks total ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesloggingopensearchoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesloggingopensearchoverridestolerations) | `array` | Optional | @@ -2370,7 +2370,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesloggingopensearchoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesloggingopensearchoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesloggingopensearchoverridestolerationsoperator) | `string` | Optional | @@ -2386,11 +2386,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.logging.opensearch.overrides.tolerations.key @@ -2404,10 +2404,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.logging.opensearch.overrides.tolerations.value @@ -2420,7 +2420,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------|:---------|:---------| | [limits](#specdistributionmodulesloggingopensearchresourceslimits) | `object` | Optional | | [requests](#specdistributionmodulesloggingopensearchresourcesrequests) | `object` | Optional | @@ -2429,7 +2429,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------|:---------|:---------| | [cpu](#specdistributionmodulesloggingopensearchresourceslimitscpu) | `string` | Optional | | [memory](#specdistributionmodulesloggingopensearchresourceslimitsmemory) | `string` | Optional | @@ -2450,7 +2450,7 @@ The memory limit for the opensearch pods ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------------|:---------|:---------| | [cpu](#specdistributionmodulesloggingopensearchresourcesrequestscpu) | `string` | Optional | | [memory](#specdistributionmodulesloggingopensearchresourcesrequestsmemory) | `string` | Optional | @@ -2482,17 +2482,17 @@ The type of the opensearch, must be ***single*** or ***triple*** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"single"` | -| `"triple"` | +| Value | +|:---------| +|`"single"`| +|`"triple"`| ## .spec.distribution.modules.logging.operator ### Properties | Property | Type | Required | -| :------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesloggingoperatoroverrides) | `object` | Optional | ## .spec.distribution.modules.logging.operator.overrides @@ -2500,7 +2500,7 @@ The type of the opensearch, must be ***single*** or ***triple*** ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesloggingoperatoroverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesloggingoperatoroverridestolerations) | `array` | Optional | @@ -2515,7 +2515,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesloggingoperatoroverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesloggingoperatoroverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesloggingoperatoroverridestolerationsoperator) | `string` | Optional | @@ -2531,11 +2531,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.logging.operator.overrides.tolerations.key @@ -2549,10 +2549,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.logging.operator.overrides.tolerations.value @@ -2565,7 +2565,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------|:---------|:---------| | [ingresses](#specdistributionmodulesloggingoverridesingresses) | `object` | Optional | | [nodeSelector](#specdistributionmodulesloggingoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesloggingoverridestolerations) | `array` | Optional | @@ -2583,7 +2583,7 @@ The node selector to use to place the pods for the dr module ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesloggingoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesloggingoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesloggingoverridestolerationsoperator) | `string` | Optional | @@ -2599,11 +2599,11 @@ The tolerations that will be added to the pods for the monitoring module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.logging.overrides.tolerations.key @@ -2617,10 +2617,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.logging.overrides.tolerations.value @@ -2638,18 +2638,18 @@ The type of the logging, must be ***none***, ***opensearch*** or ***loki*** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------- | -| `"none"` | -| `"opensearch"` | -| `"loki"` | +| Value | +|:-------------| +|`"none"` | +|`"opensearch"`| +|`"loki"` | ## .spec.distribution.modules.monitoring ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------|:---------|:---------| | [alertmanager](#specdistributionmodulesmonitoringalertmanager) | `object` | Optional | | [blackboxExporter](#specdistributionmodulesmonitoringblackboxexporter) | `object` | Optional | | [grafana](#specdistributionmodulesmonitoringgrafana) | `object` | Optional | @@ -2658,15 +2658,20 @@ The type of the logging, must be ***none***, ***opensearch*** or ***loki*** | [minio](#specdistributionmodulesmonitoringminio) | `object` | Optional | | [overrides](#specdistributionmodulesmonitoringoverrides) | `object` | Optional | | [prometheus](#specdistributionmodulesmonitoringprometheus) | `object` | Optional | +| [prometheusAgent](#specdistributionmodulesmonitoringprometheusagent) | `object` | Optional | | [type](#specdistributionmodulesmonitoringtype) | `string` | Required | | [x509Exporter](#specdistributionmodulesmonitoringx509exporter) | `object` | Optional | +### Description + +configuration for the Monitoring module components + ## .spec.distribution.modules.monitoring.alertmanager ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------------------------------- | :-------- | :------- | +|:-------------------------------------------------------------------------------------------------|:----------|:---------| | [deadManSwitchWebhookUrl](#specdistributionmodulesmonitoringalertmanagerdeadmanswitchwebhookurl) | `string` | Optional | | [installDefaultRules](#specdistributionmodulesmonitoringalertmanagerinstalldefaultrules) | `boolean` | Optional | | [slackWebhookUrl](#specdistributionmodulesmonitoringalertmanagerslackwebhookurl) | `string` | Optional | @@ -2694,7 +2699,7 @@ The slack webhook url to send alerts ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesmonitoringblackboxexporteroverrides) | `object` | Optional | ## .spec.distribution.modules.monitoring.blackboxExporter.overrides @@ -2702,7 +2707,7 @@ The slack webhook url to send alerts ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesmonitoringblackboxexporteroverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesmonitoringblackboxexporteroverridestolerations) | `array` | Optional | @@ -2717,7 +2722,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesmonitoringblackboxexporteroverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesmonitoringblackboxexporteroverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesmonitoringblackboxexporteroverridestolerationsoperator) | `string` | Optional | @@ -2733,11 +2738,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.monitoring.blackboxExporter.overrides.tolerations.key @@ -2751,10 +2756,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.monitoring.blackboxExporter.overrides.tolerations.value @@ -2767,7 +2772,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :-------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesmonitoringgrafanaoverrides) | `object` | Optional | ## .spec.distribution.modules.monitoring.grafana.overrides @@ -2775,7 +2780,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesmonitoringgrafanaoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesmonitoringgrafanaoverridestolerations) | `array` | Optional | @@ -2790,7 +2795,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesmonitoringgrafanaoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesmonitoringgrafanaoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesmonitoringgrafanaoverridestolerationsoperator) | `string` | Optional | @@ -2806,11 +2811,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.monitoring.grafana.overrides.tolerations.key @@ -2824,10 +2829,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.monitoring.grafana.overrides.tolerations.value @@ -2840,7 +2845,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesmonitoringkubestatemetricsoverrides) | `object` | Optional | ## .spec.distribution.modules.monitoring.kubeStateMetrics.overrides @@ -2848,7 +2853,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesmonitoringkubestatemetricsoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesmonitoringkubestatemetricsoverridestolerations) | `array` | Optional | @@ -2863,7 +2868,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesmonitoringkubestatemetricsoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesmonitoringkubestatemetricsoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesmonitoringkubestatemetricsoverridestolerationsoperator) | `string` | Optional | @@ -2879,11 +2884,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.monitoring.kubeStateMetrics.overrides.tolerations.key @@ -2897,10 +2902,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.monitoring.kubeStateMetrics.overrides.tolerations.value @@ -2913,7 +2918,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------|:---------|:---------| | [backend](#specdistributionmodulesmonitoringmimirbackend) | `string` | Optional | | [externalEndpoint](#specdistributionmodulesmonitoringmimirexternalendpoint) | `object` | Optional | | [overrides](#specdistributionmodulesmonitoringmimiroverrides) | `object` | Optional | @@ -2929,17 +2934,17 @@ The backend for the mimir pods, must be ***minio*** or ***externalEndpoint*** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"minio"` | -| `"externalEndpoint"` | +| Value | +|:-------------------| +|`"minio"` | +|`"externalEndpoint"`| ## .spec.distribution.modules.monitoring.mimir.externalEndpoint ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------------------------- | :-------- | :------- | +|:------------------------------------------------------------------------------------------|:----------|:---------| | [accessKeyId](#specdistributionmodulesmonitoringmimirexternalendpointaccesskeyid) | `string` | Optional | | [bucketName](#specdistributionmodulesmonitoringmimirexternalendpointbucketname) | `string` | Optional | | [endpoint](#specdistributionmodulesmonitoringmimirexternalendpointendpoint) | `string` | Optional | @@ -2981,7 +2986,7 @@ The secret access key of the external mimir backend ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesmonitoringmimiroverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesmonitoringmimiroverridestolerations) | `array` | Optional | @@ -2996,7 +3001,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesmonitoringmimiroverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesmonitoringmimiroverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesmonitoringmimiroverridestolerationsoperator) | `string` | Optional | @@ -3012,11 +3017,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.monitoring.mimir.overrides.tolerations.key @@ -3030,10 +3035,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.monitoring.mimir.overrides.tolerations.value @@ -3052,7 +3057,7 @@ The retention time for the mimir pods ### Properties | Property | Type | Required | -| :---------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesmonitoringminiooverrides) | `object` | Optional | | [rootUser](#specdistributionmodulesmonitoringminiorootuser) | `object` | Optional | | [storageSize](#specdistributionmodulesmonitoringminiostoragesize) | `string` | Optional | @@ -3062,7 +3067,7 @@ The retention time for the mimir pods ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesmonitoringminiooverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesmonitoringminiooverridestolerations) | `array` | Optional | @@ -3077,7 +3082,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesmonitoringminiooverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesmonitoringminiooverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesmonitoringminiooverridestolerationsoperator) | `string` | Optional | @@ -3093,11 +3098,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.monitoring.minio.overrides.tolerations.key @@ -3111,10 +3116,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.monitoring.minio.overrides.tolerations.value @@ -3127,7 +3132,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------|:---------|:---------| | [password](#specdistributionmodulesmonitoringminiorootuserpassword) | `string` | Optional | | [username](#specdistributionmodulesmonitoringminiorootuserusername) | `string` | Optional | @@ -3154,7 +3159,7 @@ The storage size for the minio pods ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------|:---------|:---------| | [ingresses](#specdistributionmodulesmonitoringoverridesingresses) | `object` | Optional | | [nodeSelector](#specdistributionmodulesmonitoringoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesmonitoringoverridestolerations) | `array` | Optional | @@ -3172,7 +3177,7 @@ The node selector to use to place the pods for the dr module ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesmonitoringoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesmonitoringoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesmonitoringoverridestolerationsoperator) | `string` | Optional | @@ -3188,11 +3193,11 @@ The tolerations that will be added to the pods for the monitoring module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.monitoring.overrides.tolerations.key @@ -3206,10 +3211,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.monitoring.overrides.tolerations.value @@ -3222,18 +3227,27 @@ The value of the toleration ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------------|:---------|:---------| +| [remoteWrite](#specdistributionmodulesmonitoringprometheusremotewrite) | `array` | Optional | | [resources](#specdistributionmodulesmonitoringprometheusresources) | `object` | Optional | | [retentionSize](#specdistributionmodulesmonitoringprometheusretentionsize) | `string` | Optional | | [retentionTime](#specdistributionmodulesmonitoringprometheusretentiontime) | `string` | Optional | | [storageSize](#specdistributionmodulesmonitoringprometheusstoragesize) | `string` | Optional | +## .spec.distribution.modules.monitoring.prometheus.remoteWrite + +### Description + +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). + ## .spec.distribution.modules.monitoring.prometheus.resources ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------|:---------|:---------| | [limits](#specdistributionmodulesmonitoringprometheusresourceslimits) | `object` | Optional | | [requests](#specdistributionmodulesmonitoringprometheusresourcesrequests) | `object` | Optional | @@ -3242,7 +3256,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------|:---------|:---------| | [cpu](#specdistributionmodulesmonitoringprometheusresourceslimitscpu) | `string` | Optional | | [memory](#specdistributionmodulesmonitoringprometheusresourceslimitsmemory) | `string` | Optional | @@ -3263,7 +3277,7 @@ The memory limit for the opensearch pods ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------------|:---------|:---------| | [cpu](#specdistributionmodulesmonitoringprometheusresourcesrequestscpu) | `string` | Optional | | [memory](#specdistributionmodulesmonitoringprometheusresourcesrequestsmemory) | `string` | Optional | @@ -3283,42 +3297,116 @@ The memory request for the opensearch pods ### Description -The retention size for the prometheus pods +The retention size for the k8s Prometheus instance. ## .spec.distribution.modules.monitoring.prometheus.retentionTime ### Description -The retention time for the prometheus pods +The retention time for the k8s Prometheus instance. ## .spec.distribution.modules.monitoring.prometheus.storageSize ### Description -The storage size for the prometheus pods +The storage size for the k8s Prometheus instance. + +## .spec.distribution.modules.monitoring.prometheusAgent + +### Properties + +| Property | Type | Required | +|:----------------------------------------------------------------------------|:---------|:---------| +| [remoteWrite](#specdistributionmodulesmonitoringprometheusagentremotewrite) | `array` | Optional | +| [resources](#specdistributionmodulesmonitoringprometheusagentresources) | `object` | Optional | + +## .spec.distribution.modules.monitoring.prometheusAgent.remoteWrite + +### Description + +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). + +## .spec.distribution.modules.monitoring.prometheusAgent.resources + +### Properties + +| Property | Type | Required | +|:-------------------------------------------------------------------------------|:---------|:---------| +| [limits](#specdistributionmodulesmonitoringprometheusagentresourceslimits) | `object` | Optional | +| [requests](#specdistributionmodulesmonitoringprometheusagentresourcesrequests) | `object` | Optional | + +## .spec.distribution.modules.monitoring.prometheusAgent.resources.limits + +### Properties + +| Property | Type | Required | +|:---------------------------------------------------------------------------------|:---------|:---------| +| [cpu](#specdistributionmodulesmonitoringprometheusagentresourceslimitscpu) | `string` | Optional | +| [memory](#specdistributionmodulesmonitoringprometheusagentresourceslimitsmemory) | `string` | Optional | + +## .spec.distribution.modules.monitoring.prometheusAgent.resources.limits.cpu + +### Description + +The cpu limit for the opensearch pods + +## .spec.distribution.modules.monitoring.prometheusAgent.resources.limits.memory + +### Description + +The memory limit for the opensearch pods + +## .spec.distribution.modules.monitoring.prometheusAgent.resources.requests + +### Properties + +| Property | Type | Required | +|:-----------------------------------------------------------------------------------|:---------|:---------| +| [cpu](#specdistributionmodulesmonitoringprometheusagentresourcesrequestscpu) | `string` | Optional | +| [memory](#specdistributionmodulesmonitoringprometheusagentresourcesrequestsmemory) | `string` | Optional | + +## .spec.distribution.modules.monitoring.prometheusAgent.resources.requests.cpu + +### Description + +The cpu request for the prometheus pods + +## .spec.distribution.modules.monitoring.prometheusAgent.resources.requests.memory + +### Description + +The memory request for the opensearch pods ## .spec.distribution.modules.monitoring.type ### Description -The type of the monitoring, must be ***none***, ***prometheus*** or ***mimir*** +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`: wil 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, and in addition Grafana Mimir that allows for longer retention of metrics and the usage of Object Storage. ### Constraints **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------- | -| `"none"` | -| `"prometheus"` | -| `"mimir"` | +| Value | +|:------------------| +|`"none"` | +|`"prometheus"` | +|`"prometheusAgent"`| +|`"mimir"` | ## .spec.distribution.modules.monitoring.x509Exporter ### Properties | Property | Type | Required | -| :------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesmonitoringx509exporteroverrides) | `object` | Optional | ## .spec.distribution.modules.monitoring.x509Exporter.overrides @@ -3326,7 +3414,7 @@ The type of the monitoring, must be ***none***, ***prometheus*** or ***mimir*** ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesmonitoringx509exporteroverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesmonitoringx509exporteroverridestolerations) | `array` | Optional | @@ -3341,7 +3429,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesmonitoringx509exporteroverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesmonitoringx509exporteroverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesmonitoringx509exporteroverridestolerationsoperator) | `string` | Optional | @@ -3357,11 +3445,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.monitoring.x509Exporter.overrides.tolerations.key @@ -3375,10 +3463,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.monitoring.x509Exporter.overrides.tolerations.value @@ -3391,7 +3479,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :----------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesnetworkingoverrides) | `object` | Optional | | [tigeraOperator](#specdistributionmodulesnetworkingtigeraoperator) | `object` | Optional | @@ -3400,7 +3488,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesnetworkingoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesnetworkingoverridestolerations) | `array` | Optional | @@ -3415,7 +3503,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesnetworkingoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesnetworkingoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesnetworkingoverridestolerationsoperator) | `string` | Optional | @@ -3431,11 +3519,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.networking.overrides.tolerations.key @@ -3449,10 +3537,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.networking.overrides.tolerations.value @@ -3465,7 +3553,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesnetworkingtigeraoperatoroverrides) | `object` | Optional | ## .spec.distribution.modules.networking.tigeraOperator.overrides @@ -3473,7 +3561,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesnetworkingtigeraoperatoroverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesnetworkingtigeraoperatoroverridestolerations) | `array` | Optional | @@ -3488,7 +3576,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesnetworkingtigeraoperatoroverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesnetworkingtigeraoperatoroverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesnetworkingtigeraoperatoroverridestolerationsoperator) | `string` | Optional | @@ -3504,11 +3592,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.networking.tigeraOperator.overrides.tolerations.key @@ -3522,10 +3610,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.networking.tigeraOperator.overrides.tolerations.value @@ -3538,7 +3626,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :----------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------|:---------|:---------| | [gatekeeper](#specdistributionmodulespolicygatekeeper) | `object` | Optional | | [kyverno](#specdistributionmodulespolicykyverno) | `object` | Optional | | [overrides](#specdistributionmodulespolicyoverrides) | `object` | Optional | @@ -3549,7 +3637,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------------------------------- | :-------- | :------- | +|:-----------------------------------------------------------------------------------------------------|:----------|:---------| | [additionalExcludedNamespaces](#specdistributionmodulespolicygatekeeperadditionalexcludednamespaces) | `array` | Optional | | [enforcementAction](#specdistributionmodulespolicygatekeeperenforcementaction) | `string` | Required | | [installDefaultPolicies](#specdistributionmodulespolicygatekeeperinstalldefaultpolicies) | `boolean` | Required | @@ -3571,11 +3659,11 @@ The enforcement action to use for the gatekeeper module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"deny"` | -| `"dryrun"` | -| `"warn"` | +| Value | +|:---------| +|`"deny"` | +|`"dryrun"`| +|`"warn"` | ## .spec.distribution.modules.policy.gatekeeper.installDefaultPolicies @@ -3588,7 +3676,7 @@ If true, the default policies will be installed ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulespolicygatekeeperoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulespolicygatekeeperoverridestolerations) | `array` | Optional | @@ -3603,7 +3691,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulespolicygatekeeperoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulespolicygatekeeperoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulespolicygatekeeperoverridestolerationsoperator) | `string` | Optional | @@ -3619,11 +3707,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.policy.gatekeeper.overrides.tolerations.key @@ -3637,10 +3725,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.policy.gatekeeper.overrides.tolerations.value @@ -3653,7 +3741,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------------------------ | :-------- | :------- | +|:--------------------------------------------------------------------------------------------------|:----------|:---------| | [additionalExcludedNamespaces](#specdistributionmodulespolicykyvernoadditionalexcludednamespaces) | `array` | Optional | | [installDefaultPolicies](#specdistributionmodulespolicykyvernoinstalldefaultpolicies) | `boolean` | Required | | [overrides](#specdistributionmodulespolicykyvernooverrides) | `object` | Optional | @@ -3676,7 +3764,7 @@ If true, the default policies will be installed ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulespolicykyvernooverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulespolicykyvernooverridestolerations) | `array` | Optional | @@ -3691,7 +3779,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulespolicykyvernooverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulespolicykyvernooverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulespolicykyvernooverridestolerationsoperator) | `string` | Optional | @@ -3707,11 +3795,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.policy.kyverno.overrides.tolerations.key @@ -3725,10 +3813,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.policy.kyverno.overrides.tolerations.value @@ -3746,17 +3834,17 @@ The validation failure action to use for the kyverno module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :---------- | -| `"audit"` | -| `"enforce"` | +| Value | +|:----------| +|`"audit"` | +|`"enforce"`| ## .spec.distribution.modules.policy.overrides ### Properties | Property | Type | Required | -| :------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------|:---------|:---------| | [ingresses](#specdistributionmodulespolicyoverridesingresses) | `object` | Optional | | [nodeSelector](#specdistributionmodulespolicyoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulespolicyoverridestolerations) | `array` | Optional | @@ -3774,7 +3862,7 @@ The node selector to use to place the pods for the dr module ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulespolicyoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulespolicyoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulespolicyoverridestolerationsoperator) | `string` | Optional | @@ -3790,11 +3878,11 @@ The tolerations that will be added to the pods for the monitoring module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.policy.overrides.tolerations.key @@ -3808,10 +3896,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.policy.overrides.tolerations.value @@ -3829,18 +3917,18 @@ The type of security to use, either ***none***, ***gatekeeper*** or ***kyverno** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------- | -| `"none"` | -| `"gatekeeper"` | -| `"kyverno"` | +| Value | +|:-------------| +|`"none"` | +|`"gatekeeper"`| +|`"kyverno"` | ## .spec.distribution.modules.tracing ### Properties | Property | Type | Required | -| :---------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------|:---------|:---------| | [minio](#specdistributionmodulestracingminio) | `object` | Optional | | [overrides](#specdistributionmodulestracingoverrides) | `object` | Optional | | [tempo](#specdistributionmodulestracingtempo) | `object` | Optional | @@ -3851,7 +3939,7 @@ The type of security to use, either ***none***, ***gatekeeper*** or ***kyverno** ### Properties | Property | Type | Required | -| :------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulestracingminiooverrides) | `object` | Optional | | [rootUser](#specdistributionmodulestracingminiorootuser) | `object` | Optional | | [storageSize](#specdistributionmodulestracingminiostoragesize) | `string` | Optional | @@ -3861,7 +3949,7 @@ The type of security to use, either ***none***, ***gatekeeper*** or ***kyverno** ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulestracingminiooverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulestracingminiooverridestolerations) | `array` | Optional | @@ -3876,7 +3964,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulestracingminiooverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulestracingminiooverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulestracingminiooverridestolerationsoperator) | `string` | Optional | @@ -3892,11 +3980,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.tracing.minio.overrides.tolerations.key @@ -3910,10 +3998,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.tracing.minio.overrides.tolerations.value @@ -3926,7 +4014,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :--------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------|:---------|:---------| | [password](#specdistributionmodulestracingminiorootuserpassword) | `string` | Optional | | [username](#specdistributionmodulestracingminiorootuserusername) | `string` | Optional | @@ -3953,7 +4041,7 @@ The storage size for the minio pods ### Properties | Property | Type | Required | -| :------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------|:---------|:---------| | [ingresses](#specdistributionmodulestracingoverridesingresses) | `object` | Optional | | [nodeSelector](#specdistributionmodulestracingoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulestracingoverridestolerations) | `array` | Optional | @@ -3971,7 +4059,7 @@ The node selector to use to place the pods for the dr module ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulestracingoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulestracingoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulestracingoverridestolerationsoperator) | `string` | Optional | @@ -3987,11 +4075,11 @@ The tolerations that will be added to the pods for the monitoring module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.tracing.overrides.tolerations.key @@ -4005,10 +4093,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.tracing.overrides.tolerations.value @@ -4021,7 +4109,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------|:---------|:---------| | [backend](#specdistributionmodulestracingtempobackend) | `string` | Optional | | [externalEndpoint](#specdistributionmodulestracingtempoexternalendpoint) | `object` | Optional | | [overrides](#specdistributionmodulestracingtempooverrides) | `object` | Optional | @@ -4037,17 +4125,17 @@ The backend for the tempo pods, must be ***minio*** or ***externalEndpoint*** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"minio"` | -| `"externalEndpoint"` | +| Value | +|:-------------------| +|`"minio"` | +|`"externalEndpoint"`| ## .spec.distribution.modules.tracing.tempo.externalEndpoint ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------------- | :-------- | :------- | +|:---------------------------------------------------------------------------------------|:----------|:---------| | [accessKeyId](#specdistributionmodulestracingtempoexternalendpointaccesskeyid) | `string` | Optional | | [bucketName](#specdistributionmodulestracingtempoexternalendpointbucketname) | `string` | Optional | | [endpoint](#specdistributionmodulestracingtempoexternalendpointendpoint) | `string` | Optional | @@ -4089,7 +4177,7 @@ The secret access key of the external tempo backend ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulestracingtempooverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulestracingtempooverridestolerations) | `array` | Optional | @@ -4104,7 +4192,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulestracingtempooverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulestracingtempooverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulestracingtempooverridestolerationsoperator) | `string` | Optional | @@ -4120,11 +4208,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.tracing.tempo.overrides.tolerations.key @@ -4138,10 +4226,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.tracing.tempo.overrides.tolerations.value @@ -4165,10 +4253,10 @@ The type of tracing to use, either ***none*** or ***tempo*** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :-------- | -| `"none"` | -| `"tempo"` | +| Value | +|:--------| +|`"none"` | +|`"tempo"`| ## .spec.distributionVersion @@ -4181,7 +4269,7 @@ The type of tracing to use, either ***none*** or ***tempo*** ### Properties | Property | Type | Required | -| :---------------------------- | :------- | :------- | +|:------------------------------|:---------|:---------| | [vpc](#specinfrastructurevpc) | `object` | Optional | | [vpn](#specinfrastructurevpn) | `object` | Optional | @@ -4190,7 +4278,7 @@ The type of tracing to use, either ***none*** or ***tempo*** ### Properties | Property | Type | Required | -| :--------------------------------------- | :------- | :------- | +|:-----------------------------------------|:---------|:---------| | [network](#specinfrastructurevpcnetwork) | `object` | Required | ### Description @@ -4202,7 +4290,7 @@ This key defines the VPC that will be created in AWS ### Properties | Property | Type | Required | -| :-------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------|:---------|:---------| | [cidr](#specinfrastructurevpcnetworkcidr) | `string` | Required | | [subnetsCidrs](#specinfrastructurevpcnetworksubnetscidrs) | `object` | Required | @@ -4227,7 +4315,7 @@ This is the CIDR of the VPC that will be created ### Properties | Property | Type | Required | -| :---------------------------------------------------------- | :------ | :------- | +|:------------------------------------------------------------|:--------|:---------| | [private](#specinfrastructurevpcnetworksubnetscidrsprivate) | `array` | Required | | [public](#specinfrastructurevpcnetworksubnetscidrspublic) | `array` | Required | @@ -4268,7 +4356,7 @@ These are the CIDRs for the public subnets, where the public load balancers and ### Properties | Property | Type | Required | -| :----------------------------------------------------------------- | :-------- | :------- | +|:-------------------------------------------------------------------|:----------|:---------| | [bucketNamePrefix](#specinfrastructurevpnbucketnameprefix) | `string` | Optional | | [dhParamsBits](#specinfrastructurevpndhparamsbits) | `integer` | Optional | | [diskSize](#specinfrastructurevpndisksize) | `integer` | Optional | @@ -4305,6 +4393,10 @@ The size of the disk in GB ## .spec.infrastructure.vpn.iamUserNameOverride +### Description + +Overrides the default IAM user name for the VPN + ### Constraints **pattern**: the string must match the following regular expression: @@ -4344,7 +4436,7 @@ The port used by the OpenVPN server ### Properties | Property | Type | Required | -| :------------------------------------------------------------ | :------ | :------- | +|:--------------------------------------------------------------|:--------|:---------| | [allowedFromCidrs](#specinfrastructurevpnsshallowedfromcidrs) | `array` | Required | | [githubUsersName](#specinfrastructurevpnsshgithubusersname) | `array` | Required | | [publicKeys](#specinfrastructurevpnsshpublickeys) | `array` | Optional | @@ -4418,7 +4510,7 @@ The CIDR that will be used to assign IP addresses to the VPN clients when connec ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------------------- | :-------- | :------- | +|:------------------------------------------------------------------------------------|:----------|:---------| | [apiServer](#speckubernetesapiserver) | `object` | Required | | [awsAuth](#speckubernetesawsauth) | `object` | Optional | | [clusterIAMRoleNamePrefixOverride](#speckubernetesclusteriamrolenameprefixoverride) | `string` | Optional | @@ -4437,7 +4529,7 @@ The CIDR that will be used to assign IP addresses to the VPN clients when connec ### Properties | Property | Type | Required | -| :--------------------------------------------------------------- | :-------- | :------- | +|:-----------------------------------------------------------------|:----------|:---------| | [privateAccess](#speckubernetesapiserverprivateaccess) | `boolean` | Required | | [privateAccessCidrs](#speckubernetesapiserverprivateaccesscidrs) | `array` | Optional | | [publicAccess](#speckubernetesapiserverpublicaccess) | `boolean` | Required | @@ -4492,7 +4584,7 @@ This value defines the CIDRs that will be allowed to access the API server from ### Properties | Property | Type | Required | -| :------------------------------------------------------------- | :------ | :------- | +|:---------------------------------------------------------------|:--------|:---------| | [additionalAccounts](#speckubernetesawsauthadditionalaccounts) | `array` | Optional | | [roles](#speckubernetesawsauthroles) | `array` | Optional | | [users](#speckubernetesawsauthusers) | `array` | Optional | @@ -4508,7 +4600,7 @@ This optional array defines additional AWS accounts that will be added to the aw ### Properties | Property | Type | Required | -| :---------------------------------------------- | :------- | :------- | +|:------------------------------------------------|:---------|:---------| | [groups](#speckubernetesawsauthrolesgroups) | `array` | Required | | [rolearn](#speckubernetesawsauthrolesrolearn) | `string` | Required | | [username](#speckubernetesawsauthrolesusername) | `string` | Required | @@ -4538,7 +4630,7 @@ This optional array defines additional IAM roles that will be added to the aws-a ### Properties | Property | Type | Required | -| :---------------------------------------------- | :------- | :------- | +|:------------------------------------------------|:---------|:---------| | [groups](#speckubernetesawsauthusersgroups) | `array` | Required | | [userarn](#speckubernetesawsauthusersuserarn) | `string` | Required | | [username](#speckubernetesawsauthusersusername) | `string` | Required | @@ -4565,6 +4657,10 @@ This optional array defines additional IAM users that will be added to the aws-a ## .spec.kubernetes.clusterIAMRoleNamePrefixOverride +### Description + +Overrides the default IAM role name prefix for the EKS cluster + ### Constraints **pattern**: the string must match the following regular expression: @@ -4591,13 +4687,13 @@ Optional list of Kubernetes Cluster log types to enable. Defaults to all types. **enum**: the value of this property must be equal to one of the following values: -| Value | -| :-------------------- | -| `"api"` | -| `"audit"` | -| `"authenticator"` | -| `"controllerManager"` | -| `"scheduler"` | +| Value | +|:--------------------| +|`"api"` | +|`"audit"` | +|`"authenticator"` | +|`"controllerManager"`| +|`"scheduler"` | ## .spec.kubernetes.nodeAllowedSshPublicKey @@ -4610,7 +4706,7 @@ This key contains the ssh public key that can connect to the nodes via SSH using ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------------|:---------|:---------| | [additionalFirewallRules](#speckubernetesnodepoolsadditionalfirewallrules) | `object` | Optional | | [ami](#speckubernetesnodepoolsami) | `object` | Optional | | [attachedTargetGroups](#speckubernetesnodepoolsattachedtargetgroups) | `array` | Optional | @@ -4629,7 +4725,7 @@ This key contains the ssh public key that can connect to the nodes via SSH using ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------------------------- | :------ | :------- | +|:----------------------------------------------------------------------------------------------|:--------|:---------| | [cidrBlocks](#speckubernetesnodepoolsadditionalfirewallrulescidrblocks) | `array` | Optional | | [self](#speckubernetesnodepoolsadditionalfirewallrulesself) | `array` | Optional | | [sourceSecurityGroupId](#speckubernetesnodepoolsadditionalfirewallrulessourcesecuritygroupid) | `array` | Optional | @@ -4639,7 +4735,7 @@ This key contains the ssh public key that can connect to the nodes via SSH using ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------------|:---------|:---------| | [cidrBlocks](#speckubernetesnodepoolsadditionalfirewallrulescidrblockscidrblocks) | `array` | Required | | [name](#speckubernetesnodepoolsadditionalfirewallrulescidrblocksname) | `string` | Required | | [ports](#speckubernetesnodepoolsadditionalfirewallrulescidrblocksports) | `object` | Required | @@ -4676,7 +4772,7 @@ The CIDR blocks for the FW rule. At the moment the first item of the list will b ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------- | :-------- | :------- | +|:---------------------------------------------------------------------------|:----------|:---------| | [from](#speckubernetesnodepoolsadditionalfirewallrulescidrblocksportsfrom) | `integer` | Required | | [to](#speckubernetesnodepoolsadditionalfirewallrulescidrblocksportsto) | `integer` | Required | @@ -4704,17 +4800,17 @@ The CIDR blocks for the FW rule. At the moment the first item of the list will b **enum**: the value of this property must be equal to one of the following values: -| Value | -| :---------- | -| `"ingress"` | -| `"egress"` | +| Value | +|:----------| +|`"ingress"`| +|`"egress"` | ## .spec.kubernetes.nodePools.additionalFirewallRules.self ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------- | :-------- | :------- | +|:------------------------------------------------------------------------|:----------|:---------| | [name](#speckubernetesnodepoolsadditionalfirewallrulesselfname) | `string` | Required | | [ports](#speckubernetesnodepoolsadditionalfirewallrulesselfports) | `object` | Required | | [protocol](#speckubernetesnodepoolsadditionalfirewallrulesselfprotocol) | `string` | Required | @@ -4737,7 +4833,7 @@ The name of the FW rule ### Properties | Property | Type | Required | -| :------------------------------------------------------------------- | :-------- | :------- | +|:---------------------------------------------------------------------|:----------|:---------| | [from](#speckubernetesnodepoolsadditionalfirewallrulesselfportsfrom) | `integer` | Required | | [to](#speckubernetesnodepoolsadditionalfirewallrulesselfportsto) | `integer` | Required | @@ -4783,17 +4879,17 @@ The type of the FW rule can be ingress or egress **enum**: the value of this property must be equal to one of the following values: -| Value | -| :---------- | -| `"ingress"` | -| `"egress"` | +| Value | +|:----------| +|`"ingress"`| +|`"egress"` | ## .spec.kubernetes.nodePools.additionalFirewallRules.sourceSecurityGroupId ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------------------------------------------------|:---------|:---------| | [name](#speckubernetesnodepoolsadditionalfirewallrulessourcesecuritygroupidname) | `string` | Required | | [ports](#speckubernetesnodepoolsadditionalfirewallrulessourcesecuritygroupidports) | `object` | Required | | [protocol](#speckubernetesnodepoolsadditionalfirewallrulessourcesecuritygroupidprotocol) | `string` | Required | @@ -4816,7 +4912,7 @@ The name of the FW rule ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------------ | :-------- | :------- | +|:--------------------------------------------------------------------------------------|:----------|:---------| | [from](#speckubernetesnodepoolsadditionalfirewallrulessourcesecuritygroupidportsfrom) | `integer` | Required | | [to](#speckubernetesnodepoolsadditionalfirewallrulessourcesecuritygroupidportsto) | `integer` | Required | @@ -4862,17 +4958,17 @@ The type of the FW rule can be ingress or egress **enum**: the value of this property must be equal to one of the following values: -| Value | -| :---------- | -| `"ingress"` | -| `"egress"` | +| Value | +|:----------| +|`"ingress"`| +|`"egress"` | ## .spec.kubernetes.nodePools.ami ### Properties | Property | Type | Required | -| :---------------------------------------- | :------- | :------- | +|:------------------------------------------|:---------|:---------| | [id](#speckubernetesnodepoolsamiid) | `string` | Required | | [owner](#speckubernetesnodepoolsamiowner) | `string` | Required | @@ -4914,17 +5010,17 @@ The container runtime to use for the nodes **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------- | -| `"docker"` | -| `"containerd"` | +| Value | +|:-------------| +|`"docker"` | +|`"containerd"`| ## .spec.kubernetes.nodePools.instance ### Properties | Property | Type | Required | -| :------------------------------------------------------- | :-------- | :------- | +|:---------------------------------------------------------|:----------|:---------| | [maxPods](#speckubernetesnodepoolsinstancemaxpods) | `integer` | Optional | | [spot](#speckubernetesnodepoolsinstancespot) | `boolean` | Optional | | [type](#speckubernetesnodepoolsinstancetype) | `string` | Required | @@ -4957,12 +5053,12 @@ The size of the disk in GB **enum**: the value of this property must be equal to one of the following values: -| Value | -| :----------- | -| `"gp2"` | -| `"gp3"` | -| `"io1"` | -| `"standard"` | +| Value | +|:-----------| +|`"gp2"` | +|`"gp3"` | +|`"io1"` | +|`"standard"`| ## .spec.kubernetes.nodePools.labels @@ -4981,7 +5077,7 @@ The name of the node pool ### Properties | Property | Type | Required | -| :------------------------------------- | :-------- | :------- | +|:---------------------------------------|:----------|:---------| | [max](#speckubernetesnodepoolssizemax) | `integer` | Required | | [min](#speckubernetesnodepoolssizemin) | `integer` | Required | @@ -5037,10 +5133,10 @@ AWS tags that will be added to the ASG and EC2 instances **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------------- | -| `"eks-managed"` | -| `"self-managed"` | +| Value | +|:---------------| +|`"eks-managed"` | +|`"self-managed"`| ## .spec.kubernetes.nodePoolsLaunchKind @@ -5052,11 +5148,11 @@ Either `launch_configurations`, `launch_templates` or `both`. For new clusters u **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------------ | -| `"launch_configurations"` | -| `"launch_templates"` | -| `"both"` | +| Value | +|:------------------------| +|`"launch_configurations"`| +|`"launch_templates"` | +|`"both"` | ## .spec.kubernetes.serviceIpV4Cidr @@ -5108,6 +5204,10 @@ This value defines the VPC ID where the EKS cluster will be created, required on ## .spec.kubernetes.workersIAMRoleNamePrefixOverride +### Description + +Overrides the default IAM role name prefix for the EKS workers + ### Constraints **pattern**: the string must match the following regular expression: @@ -5123,7 +5223,7 @@ This value defines the VPC ID where the EKS cluster will be created, required on ### Properties | Property | Type | Required | -| :--------------------------------- | :------- | :------- | +|:-----------------------------------|:---------|:---------| | [helm](#specpluginshelm) | `object` | Optional | | [kustomize](#specpluginskustomize) | `array` | Optional | @@ -5132,7 +5232,7 @@ This value defines the VPC ID where the EKS cluster will be created, required on ### Properties | Property | Type | Required | -| :------------------------------------------- | :------ | :------- | +|:---------------------------------------------|:--------|:---------| | [releases](#specpluginshelmreleases) | `array` | Optional | | [repositories](#specpluginshelmrepositories) | `array` | Optional | @@ -5141,7 +5241,7 @@ This value defines the VPC ID where the EKS cluster will be created, required on ### Properties | Property | Type | Required | -| :--------------------------------------------- | :------- | :------- | +|:-----------------------------------------------|:---------|:---------| | [chart](#specpluginshelmreleaseschart) | `string` | Required | | [name](#specpluginshelmreleasesname) | `string` | Required | | [namespace](#specpluginshelmreleasesnamespace) | `string` | Required | @@ -5172,7 +5272,7 @@ The namespace of the release ### Properties | Property | Type | Required | -| :---------------------------------------- | :------- | :------- | +|:------------------------------------------|:---------|:---------| | [name](#specpluginshelmreleasessetname) | `string` | Required | | [value](#specpluginshelmreleasessetvalue) | `string` | Required | @@ -5205,7 +5305,7 @@ The version of the release ### Properties | Property | Type | Required | -| :--------------------------------------- | :------- | :------- | +|:-----------------------------------------|:---------|:---------| | [name](#specpluginshelmrepositoriesname) | `string` | Required | | [url](#specpluginshelmrepositoriesurl) | `string` | Required | @@ -5226,7 +5326,7 @@ The url of the repository ### Properties | Property | Type | Required | -| :------------------------------------ | :------- | :------- | +|:--------------------------------------|:---------|:---------| | [folder](#specpluginskustomizefolder) | `string` | Required | | [name](#specpluginskustomizename) | `string` | Required | @@ -5248,37 +5348,37 @@ The name of the kustomize plugin **enum**: the value of this property must be equal to one of the following values: -| Value | -| :----------------- | -| `"af-south-1"` | -| `"ap-east-1"` | -| `"ap-northeast-1"` | -| `"ap-northeast-2"` | -| `"ap-northeast-3"` | -| `"ap-south-1"` | -| `"ap-south-2"` | -| `"ap-southeast-1"` | -| `"ap-southeast-2"` | -| `"ap-southeast-3"` | -| `"ap-southeast-4"` | -| `"ca-central-1"` | -| `"eu-central-1"` | -| `"eu-central-2"` | -| `"eu-north-1"` | -| `"eu-south-1"` | -| `"eu-south-2"` | -| `"eu-west-1"` | -| `"eu-west-2"` | -| `"eu-west-3"` | -| `"me-central-1"` | -| `"me-south-1"` | -| `"sa-east-1"` | -| `"us-east-1"` | -| `"us-east-2"` | -| `"us-gov-east-1"` | -| `"us-gov-west-1"` | -| `"us-west-1"` | -| `"us-west-2"` | +| Value | +|:-----------------| +|`"af-south-1"` | +|`"ap-east-1"` | +|`"ap-northeast-1"`| +|`"ap-northeast-2"`| +|`"ap-northeast-3"`| +|`"ap-south-1"` | +|`"ap-south-2"` | +|`"ap-southeast-1"`| +|`"ap-southeast-2"`| +|`"ap-southeast-3"`| +|`"ap-southeast-4"`| +|`"ca-central-1"` | +|`"eu-central-1"` | +|`"eu-central-2"` | +|`"eu-north-1"` | +|`"eu-south-1"` | +|`"eu-south-2"` | +|`"eu-west-1"` | +|`"eu-west-2"` | +|`"eu-west-3"` | +|`"me-central-1"` | +|`"me-south-1"` | +|`"sa-east-1"` | +|`"us-east-1"` | +|`"us-east-2"` | +|`"us-gov-east-1"` | +|`"us-gov-west-1"` | +|`"us-west-1"` | +|`"us-west-2"` | ## .spec.tags @@ -5291,7 +5391,7 @@ This map defines which will be the common tags that will be added to all the res ### Properties | Property | Type | Required | -| :-------------------------------------------- | :------- | :------- | +|:----------------------------------------------|:---------|:---------| | [terraform](#spectoolsconfigurationterraform) | `object` | Required | ## .spec.toolsConfiguration.terraform @@ -5299,7 +5399,7 @@ This map defines which will be the common tags that will be added to all the res ### Properties | Property | Type | Required | -| :--------------------------------------------- | :------- | :------- | +|:-----------------------------------------------|:---------|:---------| | [state](#spectoolsconfigurationterraformstate) | `object` | Required | ## .spec.toolsConfiguration.terraform.state @@ -5307,7 +5407,7 @@ This map defines which will be the common tags that will be added to all the res ### Properties | Property | Type | Required | -| :-------------------------------------------- | :------- | :------- | +|:----------------------------------------------|:---------|:---------| | [s3](#spectoolsconfigurationterraformstates3) | `object` | Required | ## .spec.toolsConfiguration.terraform.state.s3 @@ -5315,7 +5415,7 @@ This map defines which will be the common tags that will be added to all the res ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------------------- | :-------- | :------- | +|:------------------------------------------------------------------------------------|:----------|:---------| | [bucketName](#spectoolsconfigurationterraformstates3bucketname) | `string` | Required | | [keyPrefix](#spectoolsconfigurationterraformstates3keyprefix) | `string` | Required | | [region](#spectoolsconfigurationterraformstates3region) | `string` | Required | @@ -5355,37 +5455,37 @@ This value defines in which region the bucket is located **enum**: the value of this property must be equal to one of the following values: -| Value | -| :----------------- | -| `"af-south-1"` | -| `"ap-east-1"` | -| `"ap-northeast-1"` | -| `"ap-northeast-2"` | -| `"ap-northeast-3"` | -| `"ap-south-1"` | -| `"ap-south-2"` | -| `"ap-southeast-1"` | -| `"ap-southeast-2"` | -| `"ap-southeast-3"` | -| `"ap-southeast-4"` | -| `"ca-central-1"` | -| `"eu-central-1"` | -| `"eu-central-2"` | -| `"eu-north-1"` | -| `"eu-south-1"` | -| `"eu-south-2"` | -| `"eu-west-1"` | -| `"eu-west-2"` | -| `"eu-west-3"` | -| `"me-central-1"` | -| `"me-south-1"` | -| `"sa-east-1"` | -| `"us-east-1"` | -| `"us-east-2"` | -| `"us-gov-east-1"` | -| `"us-gov-west-1"` | -| `"us-west-1"` | -| `"us-west-2"` | +| Value | +|:-----------------| +|`"af-south-1"` | +|`"ap-east-1"` | +|`"ap-northeast-1"`| +|`"ap-northeast-2"`| +|`"ap-northeast-3"`| +|`"ap-south-1"` | +|`"ap-south-2"` | +|`"ap-southeast-1"`| +|`"ap-southeast-2"`| +|`"ap-southeast-3"`| +|`"ap-southeast-4"`| +|`"ca-central-1"` | +|`"eu-central-1"` | +|`"eu-central-2"` | +|`"eu-north-1"` | +|`"eu-south-1"` | +|`"eu-south-2"` | +|`"eu-west-1"` | +|`"eu-west-2"` | +|`"eu-west-3"` | +|`"me-central-1"` | +|`"me-south-1"` | +|`"sa-east-1"` | +|`"us-east-1"` | +|`"us-east-2"` | +|`"us-gov-east-1"` | +|`"us-gov-west-1"` | +|`"us-west-1"` | +|`"us-west-2"` | ## .spec.toolsConfiguration.terraform.state.s3.skipRegionValidation diff --git a/docs/schemas/kfddistribution-kfd-v1alpha2.md b/docs/schemas/kfddistribution-kfd-v1alpha2.md index e638807b..925235fb 100644 --- a/docs/schemas/kfddistribution-kfd-v1alpha2.md +++ b/docs/schemas/kfddistribution-kfd-v1alpha2.md @@ -7,7 +7,7 @@ An example file can be found [here](https://github.com/sighupio/fury-distributio ## Properties | Property | Type | Required | -| :------------------------ | :------- | :------- | +|:--------------------------|:---------|:---------| | [apiVersion](#apiversion) | `string` | Required | | [kind](#kind) | `string` | Required | | [metadata](#metadata) | `object` | Required | @@ -31,16 +31,16 @@ An example file can be found [here](https://github.com/sighupio/fury-distributio **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------ | -| `"KFDDistribution"` | +| Value | +|:------------------| +|`"KFDDistribution"`| ## .metadata ### Properties | Property | Type | Required | -| :-------------------- | :------- | :------- | +|:----------------------|:---------|:---------| | [name](#metadataname) | `string` | Required | ## .metadata.name @@ -56,7 +56,7 @@ An example file can be found [here](https://github.com/sighupio/fury-distributio ### Properties | Property | Type | Required | -| :---------------------------------------------- | :------- | :------- | +|:------------------------------------------------|:---------|:---------| | [distribution](#specdistribution) | `object` | Required | | [distributionVersion](#specdistributionversion) | `string` | Required | | [plugins](#specplugins) | `object` | Optional | @@ -66,7 +66,7 @@ An example file can be found [here](https://github.com/sighupio/fury-distributio ### Properties | Property | Type | Required | -| :---------------------------------------------- | :------- | :------- | +|:------------------------------------------------|:---------|:---------| | [common](#specdistributioncommon) | `object` | Optional | | [customPatches](#specdistributioncustompatches) | `object` | Optional | | [kubeconfig](#specdistributionkubeconfig) | `string` | Required | @@ -77,7 +77,7 @@ An example file can be found [here](https://github.com/sighupio/fury-distributio ### Properties | Property | Type | Required | -| :-------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributioncommonnodeselector) | `object` | Optional | | [provider](#specdistributioncommonprovider) | `object` | Optional | | [relativeVendorPath](#specdistributioncommonrelativevendorpath) | `string` | Optional | @@ -94,7 +94,7 @@ The node selector to use to place the pods for all the KFD modules ### Properties | Property | Type | Required | -| :------------------------------------------ | :------- | :------- | +|:--------------------------------------------|:---------|:---------| | [type](#specdistributioncommonprovidertype) | `string` | Required | ## .spec.distribution.common.provider.type @@ -114,7 +114,7 @@ The relative path to the vendor directory, does not need to be changed ### Properties | Property | Type | Required | -| :----------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------|:---------|:---------| | [effect](#specdistributioncommontolerationseffect) | `string` | Required | | [key](#specdistributioncommontolerationskey) | `string` | Required | | [operator](#specdistributioncommontolerationsoperator) | `string` | Optional | @@ -130,11 +130,11 @@ The tolerations that will be added to the pods for all the KFD modules **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.common.tolerations.key @@ -148,10 +148,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.common.tolerations.value @@ -164,7 +164,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------- | :------ | :------- | +|:-----------------------------------------------------------------------------|:--------|:---------| | [configMapGenerator](#specdistributioncustompatchesconfigmapgenerator) | `array` | Optional | | [images](#specdistributioncustompatchesimages) | `array` | Optional | | [patches](#specdistributioncustompatchespatches) | `array` | Optional | @@ -176,7 +176,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------|:---------|:---------| | [behavior](#specdistributioncustompatchesconfigmapgeneratorbehavior) | `string` | Optional | | [envs](#specdistributioncustompatchesconfigmapgeneratorenvs) | `array` | Optional | | [files](#specdistributioncustompatchesconfigmapgeneratorfiles) | `array` | Optional | @@ -195,11 +195,11 @@ The behavior of the configmap **enum**: the value of this property must be equal to one of the following values: -| Value | -| :---------- | -| `"create"` | -| `"replace"` | -| `"merge"` | +| Value | +|:----------| +|`"create"` | +|`"replace"`| +|`"merge"` | ## .spec.distribution.customPatches.configMapGenerator.envs @@ -236,7 +236,7 @@ The namespace of the configmap ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------------------------------------- | :-------- | :------- | +|:------------------------------------------------------------------------------------------------------|:----------|:---------| | [annotations](#specdistributioncustompatchesconfigmapgeneratoroptionsannotations) | `object` | Optional | | [disableNameSuffixHash](#specdistributioncustompatchesconfigmapgeneratoroptionsdisablenamesuffixhash) | `boolean` | Optional | | [immutable](#specdistributioncustompatchesconfigmapgeneratoroptionsimmutable) | `boolean` | Optional | @@ -277,7 +277,7 @@ Each entry should follow the format of Kustomize's images patch ### Properties | Property | Type | Required | -| :------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------|:---------|:---------| | [options](#specdistributioncustompatchespatchesoptions) | `object` | Optional | | [patch](#specdistributioncustompatchespatchespatch) | `string` | Optional | | [path](#specdistributioncustompatchespatchespath) | `string` | Optional | @@ -288,7 +288,7 @@ Each entry should follow the format of Kustomize's images patch ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------------- | :-------- | :------- | +|:-------------------------------------------------------------------------------|:----------|:---------| | [allowKindChange](#specdistributioncustompatchespatchesoptionsallowkindchange) | `boolean` | Optional | | [allowNameChange](#specdistributioncustompatchespatchesoptionsallownamechange) | `boolean` | Optional | @@ -321,7 +321,7 @@ The path of the patch ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------------------|:---------|:---------| | [annotationSelector](#specdistributioncustompatchespatchestargetannotationselector) | `string` | Optional | | [group](#specdistributioncustompatchespatchestargetgroup) | `string` | Optional | | [kind](#specdistributioncustompatchespatchestargetkind) | `string` | Optional | @@ -383,7 +383,7 @@ Each entry should be either a relative file path or an inline content resolving ### Properties | Property | Type | Required | -| :------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------|:---------|:---------| | [behavior](#specdistributioncustompatchessecretgeneratorbehavior) | `string` | Optional | | [envs](#specdistributioncustompatchessecretgeneratorenvs) | `array` | Optional | | [files](#specdistributioncustompatchessecretgeneratorfiles) | `array` | Optional | @@ -403,11 +403,11 @@ The behavior of the secret **enum**: the value of this property must be equal to one of the following values: -| Value | -| :---------- | -| `"create"` | -| `"replace"` | -| `"merge"` | +| Value | +|:----------| +|`"create"` | +|`"replace"`| +|`"merge"` | ## .spec.distribution.customPatches.secretGenerator.envs @@ -444,7 +444,7 @@ The namespace of the secret ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------------------------- | :-------- | :------- | +|:---------------------------------------------------------------------------------------------------|:----------|:---------| | [annotations](#specdistributioncustompatchessecretgeneratoroptionsannotations) | `object` | Optional | | [disableNameSuffixHash](#specdistributioncustompatchessecretgeneratoroptionsdisablenamesuffixhash) | `boolean` | Optional | | [immutable](#specdistributioncustompatchessecretgeneratoroptionsimmutable) | `boolean` | Optional | @@ -491,7 +491,7 @@ The kubeconfig file path ### Properties | Property | Type | Required | -| :----------------------------------------------- | :------- | :------- | +|:-------------------------------------------------|:---------|:---------| | [auth](#specdistributionmodulesauth) | `object` | Optional | | [dr](#specdistributionmodulesdr) | `object` | Required | | [ingress](#specdistributionmodulesingress) | `object` | Required | @@ -506,7 +506,7 @@ The kubeconfig file path ### Properties | Property | Type | Required | -| :--------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------|:---------|:---------| | [baseDomain](#specdistributionmodulesauthbasedomain) | `string` | Optional | | [dex](#specdistributionmodulesauthdex) | `object` | Optional | | [overrides](#specdistributionmodulesauthoverrides) | `object` | Optional | @@ -524,7 +524,7 @@ The base domain for the auth module ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------------|:---------|:---------| | [additionalStaticClients](#specdistributionmodulesauthdexadditionalstaticclients) | `array` | Optional | | [connectors](#specdistributionmodulesauthdexconnectors) | `array` | Required | | [overrides](#specdistributionmodulesauthdexoverrides) | `object` | Optional | @@ -546,7 +546,7 @@ The connectors for dex ### Properties | Property | Type | Required | -| :------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesauthdexoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesauthdexoverridestolerations) | `array` | Optional | @@ -561,7 +561,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesauthdexoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesauthdexoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesauthdexoverridestolerationsoperator) | `string` | Optional | @@ -577,11 +577,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.auth.dex.overrides.tolerations.key @@ -595,10 +595,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.auth.dex.overrides.tolerations.value @@ -611,7 +611,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :---------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------|:---------|:---------| | [ingresses](#specdistributionmodulesauthoverridesingresses) | `object` | Optional | | [nodeSelector](#specdistributionmodulesauthoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesauthoverridestolerations) | `array` | Optional | @@ -629,7 +629,7 @@ The node selector to use to place the pods for the auth module ### Properties | Property | Type | Required | -| :------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesauthoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesauthoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesauthoverridestolerationsoperator) | `string` | Optional | @@ -645,11 +645,11 @@ The tolerations that will be added to the pods for the auth module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.auth.overrides.tolerations.key @@ -663,10 +663,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.auth.overrides.tolerations.value @@ -679,7 +679,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :--------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesauthpomeriumoverrides) | `object` | Optional | | [policy](#specdistributionmodulesauthpomeriumpolicy) | `string` | Required | | [secrets](#specdistributionmodulesauthpomeriumsecrets) | `object` | Required | @@ -689,7 +689,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesauthpomeriumoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesauthpomeriumoverridestolerations) | `array` | Optional | @@ -704,7 +704,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesauthpomeriumoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesauthpomeriumoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesauthpomeriumoverridestolerationsoperator) | `string` | Optional | @@ -720,11 +720,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.auth.pomerium.overrides.tolerations.key @@ -738,10 +738,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.auth.pomerium.overrides.tolerations.value @@ -760,7 +760,7 @@ The policy for pomerium ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------------|:---------|:---------| | [COOKIE_SECRET](#specdistributionmodulesauthpomeriumsecretscookie_secret) | `string` | Required | | [IDP_CLIENT_SECRET](#specdistributionmodulesauthpomeriumsecretsidp_client_secret) | `string` | Required | | [SHARED_SECRET](#specdistributionmodulesauthpomeriumsecretsshared_secret) | `string` | Required | @@ -788,7 +788,7 @@ The shared secret for pomerium ### Properties | Property | Type | Required | -| :--------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------|:---------|:---------| | [basicAuth](#specdistributionmodulesauthproviderbasicauth) | `object` | Optional | | [type](#specdistributionmodulesauthprovidertype) | `string` | Required | @@ -797,7 +797,7 @@ The shared secret for pomerium ### Properties | Property | Type | Required | -| :---------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------|:---------|:---------| | [password](#specdistributionmodulesauthproviderbasicauthpassword) | `string` | Required | | [username](#specdistributionmodulesauthproviderbasicauthusername) | `string` | Required | @@ -823,18 +823,18 @@ The type of the provider, must be ***none***, ***sso*** or ***basicAuth*** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------ | -| `"none"` | -| `"basicAuth"` | -| `"sso"` | +| Value | +|:------------| +|`"none"` | +|`"basicAuth"`| +|`"sso"` | ## .spec.distribution.modules.dr ### Properties | Property | Type | Required | -| :----------------------------------------------- | :------- | :------- | +|:-------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesdroverrides) | `object` | Optional | | [type](#specdistributionmodulesdrtype) | `string` | Required | | [velero](#specdistributionmodulesdrvelero) | `object` | Optional | @@ -844,7 +844,7 @@ The type of the provider, must be ***none***, ***sso*** or ***basicAuth*** ### Properties | Property | Type | Required | -| :-------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------|:---------|:---------| | [ingresses](#specdistributionmodulesdroverridesingresses) | `object` | Optional | | [nodeSelector](#specdistributionmodulesdroverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesdroverridestolerations) | `array` | Optional | @@ -862,7 +862,7 @@ The node selector to use to place the pods for the security module ### Properties | Property | Type | Required | -| :----------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesdroverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesdroverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesdroverridestolerationsoperator) | `string` | Optional | @@ -878,11 +878,11 @@ The tolerations that will be added to the pods for the monitoring module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.dr.overrides.tolerations.key @@ -896,10 +896,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.dr.overrides.tolerations.value @@ -917,17 +917,17 @@ The type of the DR, must be ***none*** or ***on-premises*** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :-------------- | -| `"none"` | -| `"on-premises"` | +| Value | +|:--------------| +|`"none"` | +|`"on-premises"`| ## .spec.distribution.modules.dr.velero ### Properties | Property | Type | Required | -| :------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------|:---------|:---------| | [backend](#specdistributionmodulesdrvelerobackend) | `string` | Optional | | [externalEndpoint](#specdistributionmodulesdrveleroexternalendpoint) | `object` | Optional | | [overrides](#specdistributionmodulesdrvelerooverrides) | `object` | Optional | @@ -943,17 +943,17 @@ The backend for velero **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"minio"` | -| `"externalEndpoint"` | +| Value | +|:-------------------| +|`"minio"` | +|`"externalEndpoint"`| ## .spec.distribution.modules.dr.velero.externalEndpoint ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------------- | :-------- | :------- | +|:-----------------------------------------------------------------------------------|:----------|:---------| | [accessKeyId](#specdistributionmodulesdrveleroexternalendpointaccesskeyid) | `string` | Optional | | [bucketName](#specdistributionmodulesdrveleroexternalendpointbucketname) | `string` | Optional | | [endpoint](#specdistributionmodulesdrveleroexternalendpointendpoint) | `string` | Optional | @@ -995,7 +995,7 @@ The secret access key for velero backend ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesdrvelerooverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesdrvelerooverridestolerations) | `array` | Optional | @@ -1010,7 +1010,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesdrvelerooverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesdrvelerooverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesdrvelerooverridestolerationsoperator) | `string` | Optional | @@ -1026,11 +1026,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.dr.velero.overrides.tolerations.key @@ -1044,10 +1044,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.dr.velero.overrides.tolerations.value @@ -1066,7 +1066,7 @@ The retention time for velero ### Properties | Property | Type | Required | -| :-------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------|:---------|:---------| | [baseDomain](#specdistributionmodulesingressbasedomain) | `string` | Required | | [certManager](#specdistributionmodulesingresscertmanager) | `object` | Optional | | [forecastle](#specdistributionmodulesingressforecastle) | `object` | Optional | @@ -1084,7 +1084,7 @@ the base domain used for all the KFD ingresses, if in the nginx dual configurati ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------|:---------|:---------| | [clusterIssuer](#specdistributionmodulesingresscertmanagerclusterissuer) | `object` | Required | | [overrides](#specdistributionmodulesingresscertmanageroverrides) | `object` | Optional | @@ -1093,7 +1093,7 @@ the base domain used for all the KFD ingresses, if in the nginx dual configurati ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------|:---------|:---------| | [email](#specdistributionmodulesingresscertmanagerclusterissueremail) | `string` | Required | | [name](#specdistributionmodulesingresscertmanagerclusterissuername) | `string` | Required | | [solvers](#specdistributionmodulesingresscertmanagerclusterissuersolvers) | `array` | Optional | @@ -1127,16 +1127,16 @@ The type of the cluster issuer, must be ***http01*** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"http01"` | +| Value | +|:---------| +|`"http01"`| ## .spec.distribution.modules.ingress.certManager.overrides ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesingresscertmanageroverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesingresscertmanageroverridestolerations) | `array` | Optional | @@ -1151,7 +1151,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesingresscertmanageroverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesingresscertmanageroverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesingresscertmanageroverridestolerationsoperator) | `string` | Optional | @@ -1167,11 +1167,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.ingress.certManager.overrides.tolerations.key @@ -1185,10 +1185,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.ingress.certManager.overrides.tolerations.value @@ -1201,7 +1201,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :-------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesingressforecastleoverrides) | `object` | Optional | ## .spec.distribution.modules.ingress.forecastle.overrides @@ -1209,7 +1209,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesingressforecastleoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesingressforecastleoverridestolerations) | `array` | Optional | @@ -1224,7 +1224,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesingressforecastleoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesingressforecastleoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesingressforecastleoverridestolerationsoperator) | `string` | Optional | @@ -1240,11 +1240,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.ingress.forecastle.overrides.tolerations.key @@ -1258,10 +1258,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.ingress.forecastle.overrides.tolerations.value @@ -1274,7 +1274,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :--------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesingressnginxoverrides) | `object` | Optional | | [tls](#specdistributionmodulesingressnginxtls) | `object` | Optional | | [type](#specdistributionmodulesingressnginxtype) | `string` | Required | @@ -1288,7 +1288,7 @@ Configurations for the nginx ingress controller module ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesingressnginxoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesingressnginxoverridestolerations) | `array` | Optional | @@ -1303,7 +1303,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesingressnginxoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesingressnginxoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesingressnginxoverridestolerationsoperator) | `string` | Optional | @@ -1319,11 +1319,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.ingress.nginx.overrides.tolerations.key @@ -1337,10 +1337,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.ingress.nginx.overrides.tolerations.value @@ -1353,7 +1353,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :---------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------|:---------|:---------| | [provider](#specdistributionmodulesingressnginxtlsprovider) | `string` | Required | | [secret](#specdistributionmodulesingressnginxtlssecret) | `object` | Optional | @@ -1367,18 +1367,18 @@ The provider of the TLS certificate, must be ***none***, ***certManager*** or ** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :-------------- | -| `"certManager"` | -| `"secret"` | -| `"none"` | +| Value | +|:--------------| +|`"certManager"`| +|`"secret"` | +|`"none"` | ## .spec.distribution.modules.ingress.nginx.tls.secret ### Properties | Property | Type | Required | -| :-------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------|:---------|:---------| | [ca](#specdistributionmodulesingressnginxtlssecretca) | `string` | Required | | [cert](#specdistributionmodulesingressnginxtlssecretcert) | `string` | Required | | [key](#specdistributionmodulesingressnginxtlssecretkey) | `string` | Required | @@ -1403,18 +1403,18 @@ The type of the nginx ingress controller, must be ***none***, ***single*** or ** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"none"` | -| `"single"` | -| `"dual"` | +| Value | +|:---------| +|`"none"` | +|`"single"`| +|`"dual"` | ## .spec.distribution.modules.ingress.overrides ### Properties | Property | Type | Required | -| :------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------|:---------|:---------| | [ingresses](#specdistributionmodulesingressoverridesingresses) | `object` | Optional | | [nodeSelector](#specdistributionmodulesingressoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesingressoverridestolerations) | `array` | Optional | @@ -1424,7 +1424,7 @@ The type of the nginx ingress controller, must be ***none***, ***single*** or ** ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------|:---------|:---------| | [forecastle](#specdistributionmodulesingressoverridesingressesforecastle) | `object` | Optional | ## .spec.distribution.modules.ingress.overrides.ingresses.forecastle @@ -1432,7 +1432,7 @@ The type of the nginx ingress controller, must be ***none***, ***single*** or ** ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------------------- | :-------- | :------- | +|:----------------------------------------------------------------------------------------|:----------|:---------| | [disableAuth](#specdistributionmodulesingressoverridesingressesforecastledisableauth) | `boolean` | Optional | | [host](#specdistributionmodulesingressoverridesingressesforecastlehost) | `string` | Optional | | [ingressClass](#specdistributionmodulesingressoverridesingressesforecastleingressclass) | `string` | Optional | @@ -1466,7 +1466,7 @@ The node selector to use to place the pods for the ingress module ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesingressoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesingressoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesingressoverridestolerationsoperator) | `string` | Optional | @@ -1482,11 +1482,11 @@ The tolerations that will be added to the pods for the ingress module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.ingress.overrides.tolerations.key @@ -1500,10 +1500,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.ingress.overrides.tolerations.value @@ -1516,7 +1516,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------|:---------|:---------| | [cerebro](#specdistributionmodulesloggingcerebro) | `object` | Optional | | [loki](#specdistributionmodulesloggingloki) | `object` | Optional | | [minio](#specdistributionmodulesloggingminio) | `object` | Optional | @@ -1530,7 +1530,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :----------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesloggingcerebrooverrides) | `object` | Optional | ## .spec.distribution.modules.logging.cerebro.overrides @@ -1538,7 +1538,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesloggingcerebrooverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesloggingcerebrooverridestolerations) | `array` | Optional | @@ -1553,7 +1553,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesloggingcerebrooverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesloggingcerebrooverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesloggingcerebrooverridestolerationsoperator) | `string` | Optional | @@ -1569,11 +1569,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.logging.cerebro.overrides.tolerations.key @@ -1587,10 +1587,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.logging.cerebro.overrides.tolerations.value @@ -1603,7 +1603,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------|:---------|:---------| | [backend](#specdistributionmoduleslogginglokibackend) | `string` | Optional | | [externalEndpoint](#specdistributionmoduleslogginglokiexternalendpoint) | `object` | Optional | | [resources](#specdistributionmoduleslogginglokiresources) | `object` | Optional | @@ -1614,17 +1614,17 @@ The value of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"minio"` | -| `"externalEndpoint"` | +| Value | +|:-------------------| +|`"minio"` | +|`"externalEndpoint"`| ## .spec.distribution.modules.logging.loki.externalEndpoint ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------------ | :-------- | :------- | +|:--------------------------------------------------------------------------------------|:----------|:---------| | [accessKeyId](#specdistributionmoduleslogginglokiexternalendpointaccesskeyid) | `string` | Optional | | [bucketName](#specdistributionmoduleslogginglokiexternalendpointbucketname) | `string` | Optional | | [endpoint](#specdistributionmoduleslogginglokiexternalendpointendpoint) | `string` | Optional | @@ -1666,7 +1666,7 @@ The secret access key of the loki external endpoint ### Properties | Property | Type | Required | -| :--------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------|:---------|:---------| | [limits](#specdistributionmoduleslogginglokiresourceslimits) | `object` | Optional | | [requests](#specdistributionmoduleslogginglokiresourcesrequests) | `object` | Optional | @@ -1675,7 +1675,7 @@ The secret access key of the loki external endpoint ### Properties | Property | Type | Required | -| :----------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------|:---------|:---------| | [cpu](#specdistributionmoduleslogginglokiresourceslimitscpu) | `string` | Optional | | [memory](#specdistributionmoduleslogginglokiresourceslimitsmemory) | `string` | Optional | @@ -1696,7 +1696,7 @@ The memory limit for the opensearch pods ### Properties | Property | Type | Required | -| :------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------|:---------|:---------| | [cpu](#specdistributionmoduleslogginglokiresourcesrequestscpu) | `string` | Optional | | [memory](#specdistributionmoduleslogginglokiresourcesrequestsmemory) | `string` | Optional | @@ -1717,7 +1717,7 @@ The memory request for the opensearch pods ### Properties | Property | Type | Required | -| :------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesloggingminiooverrides) | `object` | Optional | | [rootUser](#specdistributionmodulesloggingminiorootuser) | `object` | Optional | | [storageSize](#specdistributionmodulesloggingminiostoragesize) | `string` | Optional | @@ -1727,7 +1727,7 @@ The memory request for the opensearch pods ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesloggingminiooverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesloggingminiooverridestolerations) | `array` | Optional | @@ -1742,7 +1742,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesloggingminiooverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesloggingminiooverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesloggingminiooverridestolerationsoperator) | `string` | Optional | @@ -1758,11 +1758,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.logging.minio.overrides.tolerations.key @@ -1776,10 +1776,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.logging.minio.overrides.tolerations.value @@ -1792,7 +1792,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :--------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------|:---------|:---------| | [password](#specdistributionmodulesloggingminiorootuserpassword) | `string` | Optional | | [username](#specdistributionmodulesloggingminiorootuserusername) | `string` | Optional | @@ -1819,7 +1819,7 @@ The PVC size for each minio disk, 6 disks total ### Properties | Property | Type | Required | -| :------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesloggingopensearchoverrides) | `object` | Optional | | [resources](#specdistributionmodulesloggingopensearchresources) | `object` | Optional | | [storageSize](#specdistributionmodulesloggingopensearchstoragesize) | `string` | Optional | @@ -1830,7 +1830,7 @@ The PVC size for each minio disk, 6 disks total ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesloggingopensearchoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesloggingopensearchoverridestolerations) | `array` | Optional | @@ -1845,7 +1845,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesloggingopensearchoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesloggingopensearchoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesloggingopensearchoverridestolerationsoperator) | `string` | Optional | @@ -1861,11 +1861,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.logging.opensearch.overrides.tolerations.key @@ -1879,10 +1879,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.logging.opensearch.overrides.tolerations.value @@ -1895,7 +1895,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------|:---------|:---------| | [limits](#specdistributionmodulesloggingopensearchresourceslimits) | `object` | Optional | | [requests](#specdistributionmodulesloggingopensearchresourcesrequests) | `object` | Optional | @@ -1904,7 +1904,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------|:---------|:---------| | [cpu](#specdistributionmodulesloggingopensearchresourceslimitscpu) | `string` | Optional | | [memory](#specdistributionmodulesloggingopensearchresourceslimitsmemory) | `string` | Optional | @@ -1925,7 +1925,7 @@ The memory limit for the opensearch pods ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------------|:---------|:---------| | [cpu](#specdistributionmodulesloggingopensearchresourcesrequestscpu) | `string` | Optional | | [memory](#specdistributionmodulesloggingopensearchresourcesrequestsmemory) | `string` | Optional | @@ -1957,17 +1957,17 @@ The type of the opensearch, must be ***single*** or ***triple*** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"single"` | -| `"triple"` | +| Value | +|:---------| +|`"single"`| +|`"triple"`| ## .spec.distribution.modules.logging.operator ### Properties | Property | Type | Required | -| :------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesloggingoperatoroverrides) | `object` | Optional | ## .spec.distribution.modules.logging.operator.overrides @@ -1975,7 +1975,7 @@ The type of the opensearch, must be ***single*** or ***triple*** ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesloggingoperatoroverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesloggingoperatoroverridestolerations) | `array` | Optional | @@ -1990,7 +1990,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesloggingoperatoroverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesloggingoperatoroverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesloggingoperatoroverridestolerationsoperator) | `string` | Optional | @@ -2006,11 +2006,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.logging.operator.overrides.tolerations.key @@ -2024,10 +2024,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.logging.operator.overrides.tolerations.value @@ -2040,7 +2040,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------|:---------|:---------| | [ingresses](#specdistributionmodulesloggingoverridesingresses) | `object` | Optional | | [nodeSelector](#specdistributionmodulesloggingoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesloggingoverridestolerations) | `array` | Optional | @@ -2058,7 +2058,7 @@ The node selector to use to place the pods for the security module ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesloggingoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesloggingoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesloggingoverridestolerationsoperator) | `string` | Optional | @@ -2074,11 +2074,11 @@ The tolerations that will be added to the pods for the monitoring module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.logging.overrides.tolerations.key @@ -2092,10 +2092,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.logging.overrides.tolerations.value @@ -2113,18 +2113,18 @@ The type of the logging, must be ***none***, ***opensearch*** or ***loki*** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------- | -| `"none"` | -| `"opensearch"` | -| `"loki"` | +| Value | +|:-------------| +|`"none"` | +|`"opensearch"`| +|`"loki"` | ## .spec.distribution.modules.monitoring ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------|:---------|:---------| | [alertmanager](#specdistributionmodulesmonitoringalertmanager) | `object` | Optional | | [blackboxExporter](#specdistributionmodulesmonitoringblackboxexporter) | `object` | Optional | | [grafana](#specdistributionmodulesmonitoringgrafana) | `object` | Optional | @@ -2133,83 +2133,20 @@ The type of the logging, must be ***none***, ***opensearch*** or ***loki*** | [minio](#specdistributionmodulesmonitoringminio) | `object` | Optional | | [overrides](#specdistributionmodulesmonitoringoverrides) | `object` | Optional | | [prometheus](#specdistributionmodulesmonitoringprometheus) | `object` | Optional | +| [prometheusAgent](#specdistributionmodulesmonitoringprometheusagent) | `object` | Optional | | [type](#specdistributionmodulesmonitoringtype) | `string` | Required | | [x509Exporter](#specdistributionmodulesmonitoringx509exporter) | `object` | Optional | -## .spec.distribution.modules.monitoring.prometheusAgent - -### Properties - -| Property | Type | Required | -| :-------------------------------------------------------------------------- | :------- | :------- | -| [remoteWrite](#specdistributionmodulesmonitoringprometheusagentremotewrite) | `array` | Optional | -| [resources](#specdistributionmodulesmonitoringprometheusagentresources) | `object` | Optional | - -## .spec.distribution.modules.monitoring.prometheusAgent.remoteWrite - ### Description -Even though you can have Prometheus Agent without `remoteWrite` configured, it is **strongly recommended** to set this option to ship the 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). - -## .spec.distribution.modules.monitoring.prometheusAgent.resources - -### Properties - -| Property | Type | Required | -| :----------------------------------------------------------------------------- | :------- | :------- | -| [requests](#specdistributionmodulesmonitoringprometheusagentresourcesrequests) | `object` | Optional | -| [limits](#specdistributionmodulesmonitoringprometheusagentresourceslimits) | `object` | Optional | - -## .spec.distribution.modules.monitoring.prometheusAgent.resources.requests - -### Properties - -| Property | Type | Required | -| :--------------------------------------------------------------------------------- | :------- | :------- | -| [cpu](#specdistributionmodulesmonitoringprometheusresourcesagentrequestscpu) | `string` | Optional | -| [memory](#specdistributionmodulesmonitoringprometheusresourcesagentrequestsmemory) | `string` | Optional | - -## .spec.distribution.modules.monitoring.prometheusAgent.resources.requests.cpu - -### Description - -The cpu request for the prometheus pods - -## .spec.distribution.modules.monitoring.prometheusAgent.resources.requests.memory - -### Description - -The memory request for the prometheus pods - -## .spec.distribution.modules.monitoring.prometheusAgent.resources.limits - -### Properties - -| Property | Type | Required | -| :------------------------------------------------------------------------------- | :------- | :------- | -| [cpu](#specdistributionmodulesmonitoringprometheusagentresourceslimitscpu) | `string` | Optional | -| [memory](#specdistributionmodulesmonitoringprometheusagentresourceslimitsmemory) | `string` | Optional | - -## .spec.distribution.modules.monitoring.prometheusAgent.resources.limits.cpu - -### Description - -The cpu limit for the prometheus pods - -## .spec.distribution.modules.monitoring.prometheusAgent.resources.limits.memory - -### Description - -The memory limit for the prometheus pods +configuration for the Monitoring module components ## .spec.distribution.modules.monitoring.alertmanager ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------------------------------- | :-------- | :------- | +|:-------------------------------------------------------------------------------------------------|:----------|:---------| | [deadManSwitchWebhookUrl](#specdistributionmodulesmonitoringalertmanagerdeadmanswitchwebhookurl) | `string` | Optional | | [installDefaultRules](#specdistributionmodulesmonitoringalertmanagerinstalldefaultrules) | `boolean` | Optional | | [slackWebhookUrl](#specdistributionmodulesmonitoringalertmanagerslackwebhookurl) | `string` | Optional | @@ -2237,7 +2174,7 @@ The slack webhook url to send alerts ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesmonitoringblackboxexporteroverrides) | `object` | Optional | ## .spec.distribution.modules.monitoring.blackboxExporter.overrides @@ -2245,7 +2182,7 @@ The slack webhook url to send alerts ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesmonitoringblackboxexporteroverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesmonitoringblackboxexporteroverridestolerations) | `array` | Optional | @@ -2260,7 +2197,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesmonitoringblackboxexporteroverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesmonitoringblackboxexporteroverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesmonitoringblackboxexporteroverridestolerationsoperator) | `string` | Optional | @@ -2276,11 +2213,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.monitoring.blackboxExporter.overrides.tolerations.key @@ -2294,10 +2231,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.monitoring.blackboxExporter.overrides.tolerations.value @@ -2310,7 +2247,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :-------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesmonitoringgrafanaoverrides) | `object` | Optional | ## .spec.distribution.modules.monitoring.grafana.overrides @@ -2318,7 +2255,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesmonitoringgrafanaoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesmonitoringgrafanaoverridestolerations) | `array` | Optional | @@ -2333,7 +2270,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesmonitoringgrafanaoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesmonitoringgrafanaoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesmonitoringgrafanaoverridestolerationsoperator) | `string` | Optional | @@ -2349,11 +2286,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.monitoring.grafana.overrides.tolerations.key @@ -2367,10 +2304,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.monitoring.grafana.overrides.tolerations.value @@ -2383,7 +2320,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesmonitoringkubestatemetricsoverrides) | `object` | Optional | ## .spec.distribution.modules.monitoring.kubeStateMetrics.overrides @@ -2391,7 +2328,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesmonitoringkubestatemetricsoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesmonitoringkubestatemetricsoverridestolerations) | `array` | Optional | @@ -2406,7 +2343,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesmonitoringkubestatemetricsoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesmonitoringkubestatemetricsoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesmonitoringkubestatemetricsoverridestolerationsoperator) | `string` | Optional | @@ -2422,11 +2359,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.monitoring.kubeStateMetrics.overrides.tolerations.key @@ -2440,10 +2377,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.monitoring.kubeStateMetrics.overrides.tolerations.value @@ -2456,7 +2393,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------|:---------|:---------| | [backend](#specdistributionmodulesmonitoringmimirbackend) | `string` | Optional | | [externalEndpoint](#specdistributionmodulesmonitoringmimirexternalendpoint) | `object` | Optional | | [overrides](#specdistributionmodulesmonitoringmimiroverrides) | `object` | Optional | @@ -2472,17 +2409,17 @@ The backend for the mimir pods, must be ***minio*** or ***externalEndpoint*** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"minio"` | -| `"externalEndpoint"` | +| Value | +|:-------------------| +|`"minio"` | +|`"externalEndpoint"`| ## .spec.distribution.modules.monitoring.mimir.externalEndpoint ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------------------------- | :-------- | :------- | +|:------------------------------------------------------------------------------------------|:----------|:---------| | [accessKeyId](#specdistributionmodulesmonitoringmimirexternalendpointaccesskeyid) | `string` | Optional | | [bucketName](#specdistributionmodulesmonitoringmimirexternalendpointbucketname) | `string` | Optional | | [endpoint](#specdistributionmodulesmonitoringmimirexternalendpointendpoint) | `string` | Optional | @@ -2524,7 +2461,7 @@ The secret access key of the external mimir backend ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesmonitoringmimiroverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesmonitoringmimiroverridestolerations) | `array` | Optional | @@ -2539,7 +2476,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesmonitoringmimiroverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesmonitoringmimiroverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesmonitoringmimiroverridestolerationsoperator) | `string` | Optional | @@ -2555,11 +2492,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.monitoring.mimir.overrides.tolerations.key @@ -2573,10 +2510,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.monitoring.mimir.overrides.tolerations.value @@ -2595,7 +2532,7 @@ The retention time for the mimir pods ### Properties | Property | Type | Required | -| :---------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesmonitoringminiooverrides) | `object` | Optional | | [rootUser](#specdistributionmodulesmonitoringminiorootuser) | `object` | Optional | | [storageSize](#specdistributionmodulesmonitoringminiostoragesize) | `string` | Optional | @@ -2605,7 +2542,7 @@ The retention time for the mimir pods ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesmonitoringminiooverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesmonitoringminiooverridestolerations) | `array` | Optional | @@ -2620,7 +2557,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesmonitoringminiooverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesmonitoringminiooverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesmonitoringminiooverridestolerationsoperator) | `string` | Optional | @@ -2636,11 +2573,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.monitoring.minio.overrides.tolerations.key @@ -2654,10 +2591,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.monitoring.minio.overrides.tolerations.value @@ -2670,7 +2607,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------|:---------|:---------| | [password](#specdistributionmodulesmonitoringminiorootuserpassword) | `string` | Optional | | [username](#specdistributionmodulesmonitoringminiorootuserusername) | `string` | Optional | @@ -2697,7 +2634,7 @@ The storage size for the minio pods ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------|:---------|:---------| | [ingresses](#specdistributionmodulesmonitoringoverridesingresses) | `object` | Optional | | [nodeSelector](#specdistributionmodulesmonitoringoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesmonitoringoverridestolerations) | `array` | Optional | @@ -2715,7 +2652,7 @@ The node selector to use to place the pods for the security module ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesmonitoringoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesmonitoringoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesmonitoringoverridestolerationsoperator) | `string` | Optional | @@ -2731,11 +2668,11 @@ The tolerations that will be added to the pods for the monitoring module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.monitoring.overrides.tolerations.key @@ -2749,10 +2686,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.monitoring.overrides.tolerations.value @@ -2765,18 +2702,27 @@ The value of the toleration ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------------|:---------|:---------| +| [remoteWrite](#specdistributionmodulesmonitoringprometheusremotewrite) | `array` | Optional | | [resources](#specdistributionmodulesmonitoringprometheusresources) | `object` | Optional | | [retentionSize](#specdistributionmodulesmonitoringprometheusretentionsize) | `string` | Optional | | [retentionTime](#specdistributionmodulesmonitoringprometheusretentiontime) | `string` | Optional | | [storageSize](#specdistributionmodulesmonitoringprometheusstoragesize) | `string` | Optional | +## .spec.distribution.modules.monitoring.prometheus.remoteWrite + +### Description + +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). + ## .spec.distribution.modules.monitoring.prometheus.resources ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------|:---------|:---------| | [limits](#specdistributionmodulesmonitoringprometheusresourceslimits) | `object` | Optional | | [requests](#specdistributionmodulesmonitoringprometheusresourcesrequests) | `object` | Optional | @@ -2785,7 +2731,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------|:---------|:---------| | [cpu](#specdistributionmodulesmonitoringprometheusresourceslimitscpu) | `string` | Optional | | [memory](#specdistributionmodulesmonitoringprometheusresourceslimitsmemory) | `string` | Optional | @@ -2806,7 +2752,7 @@ The memory limit for the opensearch pods ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------------|:---------|:---------| | [cpu](#specdistributionmodulesmonitoringprometheusresourcesrequestscpu) | `string` | Optional | | [memory](#specdistributionmodulesmonitoringprometheusresourcesrequestsmemory) | `string` | Optional | @@ -2826,42 +2772,116 @@ The memory request for the opensearch pods ### Description -The retention size for the prometheus pods +The retention size for the k8s Prometheus instance. ## .spec.distribution.modules.monitoring.prometheus.retentionTime ### Description -The retention time for the prometheus pods +The retention time for the K8s Prometheus instance. ## .spec.distribution.modules.monitoring.prometheus.storageSize ### Description -The storage size for the prometheus pods +The storage size for the k8s Prometheus instance. + +## .spec.distribution.modules.monitoring.prometheusAgent + +### Properties + +| Property | Type | Required | +|:----------------------------------------------------------------------------|:---------|:---------| +| [remoteWrite](#specdistributionmodulesmonitoringprometheusagentremotewrite) | `array` | Optional | +| [resources](#specdistributionmodulesmonitoringprometheusagentresources) | `object` | Optional | + +## .spec.distribution.modules.monitoring.prometheusAgent.remoteWrite + +### Description + +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). + +## .spec.distribution.modules.monitoring.prometheusAgent.resources + +### Properties + +| Property | Type | Required | +|:-------------------------------------------------------------------------------|:---------|:---------| +| [limits](#specdistributionmodulesmonitoringprometheusagentresourceslimits) | `object` | Optional | +| [requests](#specdistributionmodulesmonitoringprometheusagentresourcesrequests) | `object` | Optional | + +## .spec.distribution.modules.monitoring.prometheusAgent.resources.limits + +### Properties + +| Property | Type | Required | +|:---------------------------------------------------------------------------------|:---------|:---------| +| [cpu](#specdistributionmodulesmonitoringprometheusagentresourceslimitscpu) | `string` | Optional | +| [memory](#specdistributionmodulesmonitoringprometheusagentresourceslimitsmemory) | `string` | Optional | + +## .spec.distribution.modules.monitoring.prometheusAgent.resources.limits.cpu + +### Description + +The cpu limit for the loki pods + +## .spec.distribution.modules.monitoring.prometheusAgent.resources.limits.memory + +### Description + +The memory limit for the opensearch pods + +## .spec.distribution.modules.monitoring.prometheusAgent.resources.requests + +### Properties + +| Property | Type | Required | +|:-----------------------------------------------------------------------------------|:---------|:---------| +| [cpu](#specdistributionmodulesmonitoringprometheusagentresourcesrequestscpu) | `string` | Optional | +| [memory](#specdistributionmodulesmonitoringprometheusagentresourcesrequestsmemory) | `string` | Optional | + +## .spec.distribution.modules.monitoring.prometheusAgent.resources.requests.cpu + +### Description + +The cpu request for the prometheus pods + +## .spec.distribution.modules.monitoring.prometheusAgent.resources.requests.memory + +### Description + +The memory request for the opensearch pods ## .spec.distribution.modules.monitoring.type ### Description -The type of the monitoring, must be ***none***, ***prometheus*** or ***mimir*** +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 instace, 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`: wil 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, and in addition Grafana Mimir that allows for longer retention of metrics and the usage of Object Storage. ### Constraints **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------- | -| `"none"` | -| `"prometheus"` | -| `"mimir"` | +| Value | +|:------------------| +|`"none"` | +|`"prometheus"` | +|`"prometheusAgent"`| +|`"mimir"` | ## .spec.distribution.modules.monitoring.x509Exporter ### Properties | Property | Type | Required | -| :------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesmonitoringx509exporteroverrides) | `object` | Optional | ## .spec.distribution.modules.monitoring.x509Exporter.overrides @@ -2869,7 +2889,7 @@ The type of the monitoring, must be ***none***, ***prometheus*** or ***mimir*** ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesmonitoringx509exporteroverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesmonitoringx509exporteroverridestolerations) | `array` | Optional | @@ -2884,7 +2904,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesmonitoringx509exporteroverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesmonitoringx509exporteroverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesmonitoringx509exporteroverridestolerationsoperator) | `string` | Optional | @@ -2900,11 +2920,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.monitoring.x509Exporter.overrides.tolerations.key @@ -2918,10 +2938,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.monitoring.x509Exporter.overrides.tolerations.value @@ -2934,7 +2954,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :----------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------|:---------|:---------| | [cilium](#specdistributionmodulesnetworkingcilium) | `object` | Optional | | [overrides](#specdistributionmodulesnetworkingoverrides) | `object` | Optional | | [tigeraOperator](#specdistributionmodulesnetworkingtigeraoperator) | `object` | Optional | @@ -2945,7 +2965,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------|:---------|:---------| | [maskSize](#specdistributionmodulesnetworkingciliummasksize) | `string` | Required | | [overrides](#specdistributionmodulesnetworkingciliumoverrides) | `object` | Optional | | [podCidr](#specdistributionmodulesnetworkingciliumpodcidr) | `string` | Required | @@ -2957,7 +2977,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesnetworkingciliumoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesnetworkingciliumoverridestolerations) | `array` | Optional | @@ -2972,7 +2992,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesnetworkingciliumoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesnetworkingciliumoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesnetworkingciliumoverridestolerationsoperator) | `string` | Optional | @@ -2988,11 +3008,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.networking.cilium.overrides.tolerations.key @@ -3006,10 +3026,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.networking.cilium.overrides.tolerations.value @@ -3034,7 +3054,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesnetworkingoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesnetworkingoverridestolerations) | `array` | Optional | @@ -3049,7 +3069,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesnetworkingoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesnetworkingoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesnetworkingoverridestolerationsoperator) | `string` | Optional | @@ -3065,11 +3085,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.networking.overrides.tolerations.key @@ -3083,10 +3103,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.networking.overrides.tolerations.value @@ -3099,7 +3119,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesnetworkingtigeraoperatoroverrides) | `object` | Optional | ## .spec.distribution.modules.networking.tigeraOperator.overrides @@ -3107,7 +3127,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesnetworkingtigeraoperatoroverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesnetworkingtigeraoperatoroverridestolerations) | `array` | Optional | @@ -3122,7 +3142,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesnetworkingtigeraoperatoroverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesnetworkingtigeraoperatoroverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesnetworkingtigeraoperatoroverridestolerationsoperator) | `string` | Optional | @@ -3138,11 +3158,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.networking.tigeraOperator.overrides.tolerations.key @@ -3156,10 +3176,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.networking.tigeraOperator.overrides.tolerations.value @@ -3177,18 +3197,18 @@ The type of networking to use, either ***none***, ***calico*** or ***cilium*** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"none"` | -| `"calico"` | -| `"cilium"` | +| Value | +|:---------| +|`"none"` | +|`"calico"`| +|`"cilium"`| ## .spec.distribution.modules.policy ### Properties | Property | Type | Required | -| :----------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------|:---------|:---------| | [gatekeeper](#specdistributionmodulespolicygatekeeper) | `object` | Optional | | [kyverno](#specdistributionmodulespolicykyverno) | `object` | Optional | | [overrides](#specdistributionmodulespolicyoverrides) | `object` | Optional | @@ -3199,7 +3219,7 @@ The type of networking to use, either ***none***, ***calico*** or ***cilium*** ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------------------------------- | :-------- | :------- | +|:-----------------------------------------------------------------------------------------------------|:----------|:---------| | [additionalExcludedNamespaces](#specdistributionmodulespolicygatekeeperadditionalexcludednamespaces) | `array` | Optional | | [enforcementAction](#specdistributionmodulespolicygatekeeperenforcementaction) | `string` | Required | | [installDefaultPolicies](#specdistributionmodulespolicygatekeeperinstalldefaultpolicies) | `boolean` | Required | @@ -3221,11 +3241,11 @@ The enforcement action to use for the gatekeeper module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"deny"` | -| `"dryrun"` | -| `"warn"` | +| Value | +|:---------| +|`"deny"` | +|`"dryrun"`| +|`"warn"` | ## .spec.distribution.modules.policy.gatekeeper.installDefaultPolicies @@ -3238,7 +3258,7 @@ If true, the default policies will be installed ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulespolicygatekeeperoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulespolicygatekeeperoverridestolerations) | `array` | Optional | @@ -3253,7 +3273,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulespolicygatekeeperoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulespolicygatekeeperoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulespolicygatekeeperoverridestolerationsoperator) | `string` | Optional | @@ -3269,11 +3289,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.policy.gatekeeper.overrides.tolerations.key @@ -3287,10 +3307,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.policy.gatekeeper.overrides.tolerations.value @@ -3303,7 +3323,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------------------------ | :-------- | :------- | +|:--------------------------------------------------------------------------------------------------|:----------|:---------| | [additionalExcludedNamespaces](#specdistributionmodulespolicykyvernoadditionalexcludednamespaces) | `array` | Optional | | [installDefaultPolicies](#specdistributionmodulespolicykyvernoinstalldefaultpolicies) | `boolean` | Required | | [overrides](#specdistributionmodulespolicykyvernooverrides) | `object` | Optional | @@ -3326,7 +3346,7 @@ If true, the default policies will be installed ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulespolicykyvernooverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulespolicykyvernooverridestolerations) | `array` | Optional | @@ -3341,7 +3361,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulespolicykyvernooverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulespolicykyvernooverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulespolicykyvernooverridestolerationsoperator) | `string` | Optional | @@ -3357,11 +3377,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.policy.kyverno.overrides.tolerations.key @@ -3375,10 +3395,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.policy.kyverno.overrides.tolerations.value @@ -3396,17 +3416,17 @@ The validation failure action to use for the kyverno module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :---------- | -| `"audit"` | -| `"enforce"` | +| Value | +|:----------| +|`"audit"` | +|`"enforce"`| ## .spec.distribution.modules.policy.overrides ### Properties | Property | Type | Required | -| :------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------|:---------|:---------| | [ingresses](#specdistributionmodulespolicyoverridesingresses) | `object` | Optional | | [nodeSelector](#specdistributionmodulespolicyoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulespolicyoverridestolerations) | `array` | Optional | @@ -3424,7 +3444,7 @@ The node selector to use to place the pods for the security module ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulespolicyoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulespolicyoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulespolicyoverridestolerationsoperator) | `string` | Optional | @@ -3440,11 +3460,11 @@ The tolerations that will be added to the pods for the monitoring module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.policy.overrides.tolerations.key @@ -3458,10 +3478,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.policy.overrides.tolerations.value @@ -3479,18 +3499,18 @@ The type of security to use, either ***none***, ***gatekeeper*** or ***kyverno** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------- | -| `"none"` | -| `"gatekeeper"` | -| `"kyverno"` | +| Value | +|:-------------| +|`"none"` | +|`"gatekeeper"`| +|`"kyverno"` | ## .spec.distribution.modules.tracing ### Properties | Property | Type | Required | -| :---------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------|:---------|:---------| | [minio](#specdistributionmodulestracingminio) | `object` | Optional | | [overrides](#specdistributionmodulestracingoverrides) | `object` | Optional | | [tempo](#specdistributionmodulestracingtempo) | `object` | Optional | @@ -3501,7 +3521,7 @@ The type of security to use, either ***none***, ***gatekeeper*** or ***kyverno** ### Properties | Property | Type | Required | -| :------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulestracingminiooverrides) | `object` | Optional | | [rootUser](#specdistributionmodulestracingminiorootuser) | `object` | Optional | | [storageSize](#specdistributionmodulestracingminiostoragesize) | `string` | Optional | @@ -3511,7 +3531,7 @@ The type of security to use, either ***none***, ***gatekeeper*** or ***kyverno** ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulestracingminiooverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulestracingminiooverridestolerations) | `array` | Optional | @@ -3526,7 +3546,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulestracingminiooverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulestracingminiooverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulestracingminiooverridestolerationsoperator) | `string` | Optional | @@ -3542,11 +3562,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.tracing.minio.overrides.tolerations.key @@ -3560,10 +3580,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.tracing.minio.overrides.tolerations.value @@ -3576,7 +3596,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :--------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------|:---------|:---------| | [password](#specdistributionmodulestracingminiorootuserpassword) | `string` | Optional | | [username](#specdistributionmodulestracingminiorootuserusername) | `string` | Optional | @@ -3603,7 +3623,7 @@ The storage size for the minio pods ### Properties | Property | Type | Required | -| :------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------|:---------|:---------| | [ingresses](#specdistributionmodulestracingoverridesingresses) | `object` | Optional | | [nodeSelector](#specdistributionmodulestracingoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulestracingoverridestolerations) | `array` | Optional | @@ -3621,7 +3641,7 @@ The node selector to use to place the pods for the security module ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulestracingoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulestracingoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulestracingoverridestolerationsoperator) | `string` | Optional | @@ -3637,11 +3657,11 @@ The tolerations that will be added to the pods for the monitoring module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.tracing.overrides.tolerations.key @@ -3655,10 +3675,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.tracing.overrides.tolerations.value @@ -3671,7 +3691,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------|:---------|:---------| | [backend](#specdistributionmodulestracingtempobackend) | `string` | Optional | | [externalEndpoint](#specdistributionmodulestracingtempoexternalendpoint) | `object` | Optional | | [overrides](#specdistributionmodulestracingtempooverrides) | `object` | Optional | @@ -3687,17 +3707,17 @@ The backend for the tempo pods, must be ***minio*** or ***externalEndpoint*** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"minio"` | -| `"externalEndpoint"` | +| Value | +|:-------------------| +|`"minio"` | +|`"externalEndpoint"`| ## .spec.distribution.modules.tracing.tempo.externalEndpoint ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------------- | :-------- | :------- | +|:---------------------------------------------------------------------------------------|:----------|:---------| | [accessKeyId](#specdistributionmodulestracingtempoexternalendpointaccesskeyid) | `string` | Optional | | [bucketName](#specdistributionmodulestracingtempoexternalendpointbucketname) | `string` | Optional | | [endpoint](#specdistributionmodulestracingtempoexternalendpointendpoint) | `string` | Optional | @@ -3739,7 +3759,7 @@ The secret access key of the external tempo backend ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulestracingtempooverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulestracingtempooverridestolerations) | `array` | Optional | @@ -3754,7 +3774,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulestracingtempooverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulestracingtempooverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulestracingtempooverridestolerationsoperator) | `string` | Optional | @@ -3770,11 +3790,11 @@ The tolerations that will be added to the pods for the cert-manager module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.tracing.tempo.overrides.tolerations.key @@ -3788,10 +3808,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.tracing.tempo.overrides.tolerations.value @@ -3815,10 +3835,10 @@ The type of tracing to use, either ***none*** or ***tempo*** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :-------- | -| `"none"` | -| `"tempo"` | +| Value | +|:--------| +|`"none"` | +|`"tempo"`| ## .spec.distributionVersion @@ -3831,7 +3851,7 @@ The type of tracing to use, either ***none*** or ***tempo*** ### Properties | Property | Type | Required | -| :--------------------------------- | :------- | :------- | +|:-----------------------------------|:---------|:---------| | [helm](#specpluginshelm) | `object` | Optional | | [kustomize](#specpluginskustomize) | `array` | Optional | @@ -3840,7 +3860,7 @@ The type of tracing to use, either ***none*** or ***tempo*** ### Properties | Property | Type | Required | -| :------------------------------------------- | :------ | :------- | +|:---------------------------------------------|:--------|:---------| | [releases](#specpluginshelmreleases) | `array` | Optional | | [repositories](#specpluginshelmrepositories) | `array` | Optional | @@ -3849,7 +3869,7 @@ The type of tracing to use, either ***none*** or ***tempo*** ### Properties | Property | Type | Required | -| :--------------------------------------------- | :------- | :------- | +|:-----------------------------------------------|:---------|:---------| | [chart](#specpluginshelmreleaseschart) | `string` | Required | | [name](#specpluginshelmreleasesname) | `string` | Required | | [namespace](#specpluginshelmreleasesnamespace) | `string` | Required | @@ -3880,7 +3900,7 @@ The namespace of the release ### Properties | Property | Type | Required | -| :---------------------------------------- | :------- | :------- | +|:------------------------------------------|:---------|:---------| | [name](#specpluginshelmreleasessetname) | `string` | Required | | [value](#specpluginshelmreleasessetvalue) | `string` | Required | @@ -3913,7 +3933,7 @@ The version of the release ### Properties | Property | Type | Required | -| :--------------------------------------- | :------- | :------- | +|:-----------------------------------------|:---------|:---------| | [name](#specpluginshelmrepositoriesname) | `string` | Required | | [url](#specpluginshelmrepositoriesurl) | `string` | Required | @@ -3934,7 +3954,7 @@ The url of the repository ### Properties | Property | Type | Required | -| :------------------------------------ | :------- | :------- | +|:--------------------------------------|:---------|:---------| | [folder](#specpluginskustomizefolder) | `string` | Required | | [name](#specpluginskustomizename) | `string` | Required | diff --git a/docs/schemas/onpremises-kfd-v1alpha2.md b/docs/schemas/onpremises-kfd-v1alpha2.md index 1b274adb..42e497a6 100644 --- a/docs/schemas/onpremises-kfd-v1alpha2.md +++ b/docs/schemas/onpremises-kfd-v1alpha2.md @@ -7,7 +7,7 @@ An example file can be found [here](https://github.com/sighupio/fury-distributio ## Properties | Property | Type | Required | -| :------------------------ | :------- | :------- | +|:--------------------------|:---------|:---------| | [apiVersion](#apiversion) | `string` | Required | | [kind](#kind) | `string` | Required | | [metadata](#metadata) | `object` | Required | @@ -31,16 +31,16 @@ An example file can be found [here](https://github.com/sighupio/fury-distributio **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------- | -| `"OnPremises"` | +| Value | +|:-------------| +|`"OnPremises"`| ## .metadata ### Properties | Property | Type | Required | -| :-------------------- | :------- | :------- | +|:----------------------|:---------|:---------| | [name](#metadataname) | `string` | Required | ## .metadata.name @@ -56,7 +56,7 @@ An example file can be found [here](https://github.com/sighupio/fury-distributio ### Properties | Property | Type | Required | -| :---------------------------------------------- | :------- | :------- | +|:------------------------------------------------|:---------|:---------| | [distribution](#specdistribution) | `object` | Required | | [distributionVersion](#specdistributionversion) | `string` | Required | | [kubernetes](#speckubernetes) | `object` | Optional | @@ -67,7 +67,7 @@ An example file can be found [here](https://github.com/sighupio/fury-distributio ### Properties | Property | Type | Required | -| :---------------------------------------------- | :------- | :------- | +|:------------------------------------------------|:---------|:---------| | [common](#specdistributioncommon) | `object` | Optional | | [customPatches](#specdistributioncustompatches) | `object` | Optional | | [modules](#specdistributionmodules) | `object` | Required | @@ -77,7 +77,7 @@ An example file can be found [here](https://github.com/sighupio/fury-distributio ### Properties | Property | Type | Required | -| :-------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributioncommonnodeselector) | `object` | Optional | | [provider](#specdistributioncommonprovider) | `object` | Optional | | [relativeVendorPath](#specdistributioncommonrelativevendorpath) | `string` | Optional | @@ -94,7 +94,7 @@ The node selector to use to place the pods for all the KFD modules ### Properties | Property | Type | Required | -| :------------------------------------------ | :------- | :------- | +|:--------------------------------------------|:---------|:---------| | [type](#specdistributioncommonprovidertype) | `string` | Required | ## .spec.distribution.common.provider.type @@ -114,7 +114,7 @@ The relative path to the vendor directory, does not need to be changed ### Properties | Property | Type | Required | -| :----------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------|:---------|:---------| | [effect](#specdistributioncommontolerationseffect) | `string` | Required | | [key](#specdistributioncommontolerationskey) | `string` | Required | | [operator](#specdistributioncommontolerationsoperator) | `string` | Optional | @@ -130,11 +130,11 @@ The tolerations that will be added to the pods for all the KFD modules **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.common.tolerations.key @@ -148,10 +148,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.common.tolerations.value @@ -164,7 +164,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------- | :------ | :------- | +|:-----------------------------------------------------------------------------|:--------|:---------| | [configMapGenerator](#specdistributioncustompatchesconfigmapgenerator) | `array` | Optional | | [images](#specdistributioncustompatchesimages) | `array` | Optional | | [patches](#specdistributioncustompatchespatches) | `array` | Optional | @@ -176,7 +176,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------|:---------|:---------| | [behavior](#specdistributioncustompatchesconfigmapgeneratorbehavior) | `string` | Optional | | [envs](#specdistributioncustompatchesconfigmapgeneratorenvs) | `array` | Optional | | [files](#specdistributioncustompatchesconfigmapgeneratorfiles) | `array` | Optional | @@ -195,11 +195,11 @@ The behavior of the configmap **enum**: the value of this property must be equal to one of the following values: -| Value | -| :---------- | -| `"create"` | -| `"replace"` | -| `"merge"` | +| Value | +|:----------| +|`"create"` | +|`"replace"`| +|`"merge"` | ## .spec.distribution.customPatches.configMapGenerator.envs @@ -236,7 +236,7 @@ The namespace of the configmap ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------------------------------------- | :-------- | :------- | +|:------------------------------------------------------------------------------------------------------|:----------|:---------| | [annotations](#specdistributioncustompatchesconfigmapgeneratoroptionsannotations) | `object` | Optional | | [disableNameSuffixHash](#specdistributioncustompatchesconfigmapgeneratoroptionsdisablenamesuffixhash) | `boolean` | Optional | | [immutable](#specdistributioncustompatchesconfigmapgeneratoroptionsimmutable) | `boolean` | Optional | @@ -277,7 +277,7 @@ Each entry should follow the format of Kustomize's images patch ### Properties | Property | Type | Required | -| :------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------|:---------|:---------| | [options](#specdistributioncustompatchespatchesoptions) | `object` | Optional | | [patch](#specdistributioncustompatchespatchespatch) | `string` | Optional | | [path](#specdistributioncustompatchespatchespath) | `string` | Optional | @@ -288,7 +288,7 @@ Each entry should follow the format of Kustomize's images patch ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------------- | :-------- | :------- | +|:-------------------------------------------------------------------------------|:----------|:---------| | [allowKindChange](#specdistributioncustompatchespatchesoptionsallowkindchange) | `boolean` | Optional | | [allowNameChange](#specdistributioncustompatchespatchesoptionsallownamechange) | `boolean` | Optional | @@ -321,7 +321,7 @@ The path of the patch ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------------------|:---------|:---------| | [annotationSelector](#specdistributioncustompatchespatchestargetannotationselector) | `string` | Optional | | [group](#specdistributioncustompatchespatchestargetgroup) | `string` | Optional | | [kind](#specdistributioncustompatchespatchestargetkind) | `string` | Optional | @@ -383,7 +383,7 @@ Each entry should be either a relative file path or an inline content resolving ### Properties | Property | Type | Required | -| :------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------|:---------|:---------| | [behavior](#specdistributioncustompatchessecretgeneratorbehavior) | `string` | Optional | | [envs](#specdistributioncustompatchessecretgeneratorenvs) | `array` | Optional | | [files](#specdistributioncustompatchessecretgeneratorfiles) | `array` | Optional | @@ -403,11 +403,11 @@ The behavior of the secret **enum**: the value of this property must be equal to one of the following values: -| Value | -| :---------- | -| `"create"` | -| `"replace"` | -| `"merge"` | +| Value | +|:----------| +|`"create"` | +|`"replace"`| +|`"merge"` | ## .spec.distribution.customPatches.secretGenerator.envs @@ -444,7 +444,7 @@ The namespace of the secret ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------------------------- | :-------- | :------- | +|:---------------------------------------------------------------------------------------------------|:----------|:---------| | [annotations](#specdistributioncustompatchessecretgeneratoroptionsannotations) | `object` | Optional | | [disableNameSuffixHash](#specdistributioncustompatchessecretgeneratoroptionsdisablenamesuffixhash) | `boolean` | Optional | | [immutable](#specdistributioncustompatchessecretgeneratoroptionsimmutable) | `boolean` | Optional | @@ -485,7 +485,7 @@ The type of the secret ### Properties | Property | Type | Required | -| :----------------------------------------------- | :------- | :------- | +|:-------------------------------------------------|:---------|:---------| | [auth](#specdistributionmodulesauth) | `object` | Optional | | [dr](#specdistributionmodulesdr) | `object` | Required | | [ingress](#specdistributionmodulesingress) | `object` | Required | @@ -500,7 +500,7 @@ The type of the secret ### Properties | Property | Type | Required | -| :------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------|:---------|:---------| | [baseDomain](#specdistributionmodulesauthbasedomain) | `string` | Optional | | [dex](#specdistributionmodulesauthdex) | `object` | Optional | | [oidcKubernetesAuth](#specdistributionmodulesauthoidckubernetesauth) | `object` | Optional | @@ -519,7 +519,7 @@ The base domain for the auth module ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------------|:---------|:---------| | [additionalStaticClients](#specdistributionmodulesauthdexadditionalstaticclients) | `array` | Optional | | [connectors](#specdistributionmodulesauthdexconnectors) | `array` | Required | | [overrides](#specdistributionmodulesauthdexoverrides) | `object` | Optional | @@ -541,7 +541,7 @@ The connectors for dex ### Properties | Property | Type | Required | -| :------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesauthdexoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesauthdexoverridestolerations) | `array` | Optional | @@ -556,7 +556,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesauthdexoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesauthdexoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesauthdexoverridestolerationsoperator) | `string` | Optional | @@ -572,11 +572,11 @@ The tolerations that will be added to the pods for the minio module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.auth.dex.overrides.tolerations.key @@ -590,10 +590,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.auth.dex.overrides.tolerations.value @@ -606,7 +606,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------------------------- | :-------- | :------- | +|:-----------------------------------------------------------------------------------------------|:----------|:---------| | [clientID](#specdistributionmodulesauthoidckubernetesauthclientid) | `string` | Optional | | [clientSecret](#specdistributionmodulesauthoidckubernetesauthclientsecret) | `string` | Optional | | [emailClaim](#specdistributionmodulesauthoidckubernetesauthemailclaim) | `string` | Optional | @@ -643,8 +643,16 @@ If true, oidc kubernetes auth will be enabled ## .spec.distribution.modules.auth.oidcKubernetesAuth.namespace +### Description + +The namespace to set in the context of the kubeconfig file + ## .spec.distribution.modules.auth.oidcKubernetesAuth.removeCAFromKubeconfig +### Description + +Set to true to remove the CA from the kubeconfig file + ## .spec.distribution.modules.auth.oidcKubernetesAuth.scopes ### Description @@ -668,7 +676,7 @@ The username claim for oidc kubernetes auth ### Properties | Property | Type | Required | -| :---------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------|:---------|:---------| | [ingresses](#specdistributionmodulesauthoverridesingresses) | `object` | Optional | | [nodeSelector](#specdistributionmodulesauthoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesauthoverridestolerations) | `array` | Optional | @@ -686,7 +694,7 @@ The node selector to use to place the pods for the auth module ### Properties | Property | Type | Required | -| :------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesauthoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesauthoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesauthoverridestolerationsoperator) | `string` | Optional | @@ -702,11 +710,11 @@ The tolerations that will be added to the pods for the auth module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.auth.overrides.tolerations.key @@ -720,10 +728,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.auth.overrides.tolerations.value @@ -736,7 +744,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :--------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesauthpomeriumoverrides) | `object` | Optional | | [policy](#specdistributionmodulesauthpomeriumpolicy) | `string` | Required | | [secrets](#specdistributionmodulesauthpomeriumsecrets) | `object` | Required | @@ -746,7 +754,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesauthpomeriumoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesauthpomeriumoverridestolerations) | `array` | Optional | @@ -761,7 +769,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesauthpomeriumoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesauthpomeriumoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesauthpomeriumoverridestolerationsoperator) | `string` | Optional | @@ -777,11 +785,11 @@ The tolerations that will be added to the pods for the minio module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.auth.pomerium.overrides.tolerations.key @@ -795,10 +803,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.auth.pomerium.overrides.tolerations.value @@ -817,7 +825,7 @@ The policy for pomerium ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------------|:---------|:---------| | [COOKIE_SECRET](#specdistributionmodulesauthpomeriumsecretscookie_secret) | `string` | Required | | [IDP_CLIENT_SECRET](#specdistributionmodulesauthpomeriumsecretsidp_client_secret) | `string` | Required | | [SHARED_SECRET](#specdistributionmodulesauthpomeriumsecretsshared_secret) | `string` | Required | @@ -845,7 +853,7 @@ The shared secret for pomerium ### Properties | Property | Type | Required | -| :--------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------|:---------|:---------| | [basicAuth](#specdistributionmodulesauthproviderbasicauth) | `object` | Optional | | [type](#specdistributionmodulesauthprovidertype) | `string` | Required | @@ -854,7 +862,7 @@ The shared secret for pomerium ### Properties | Property | Type | Required | -| :---------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------|:---------|:---------| | [password](#specdistributionmodulesauthproviderbasicauthpassword) | `string` | Required | | [username](#specdistributionmodulesauthproviderbasicauthusername) | `string` | Required | @@ -880,18 +888,18 @@ The type of the provider, must be ***none***, ***sso*** or ***basicAuth*** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------ | -| `"none"` | -| `"basicAuth"` | -| `"sso"` | +| Value | +|:------------| +|`"none"` | +|`"basicAuth"`| +|`"sso"` | ## .spec.distribution.modules.dr ### Properties | Property | Type | Required | -| :----------------------------------------------- | :------- | :------- | +|:-------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesdroverrides) | `object` | Optional | | [type](#specdistributionmodulesdrtype) | `string` | Required | | [velero](#specdistributionmodulesdrvelero) | `object` | Optional | @@ -901,7 +909,7 @@ The type of the provider, must be ***none***, ***sso*** or ***basicAuth*** ### Properties | Property | Type | Required | -| :-------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------|:---------|:---------| | [ingresses](#specdistributionmodulesdroverridesingresses) | `object` | Optional | | [nodeSelector](#specdistributionmodulesdroverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesdroverridestolerations) | `array` | Optional | @@ -919,7 +927,7 @@ The node selector to use to place the pods for the tracing module ### Properties | Property | Type | Required | -| :----------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesdroverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesdroverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesdroverridestolerationsoperator) | `string` | Optional | @@ -935,11 +943,11 @@ The tolerations that will be added to the pods for the policy module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.dr.overrides.tolerations.key @@ -953,10 +961,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.dr.overrides.tolerations.value @@ -974,17 +982,17 @@ The type of the DR, must be ***none*** or ***on-premises*** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :-------------- | -| `"none"` | -| `"on-premises"` | +| Value | +|:--------------| +|`"none"` | +|`"on-premises"`| ## .spec.distribution.modules.dr.velero ### Properties | Property | Type | Required | -| :------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------|:---------|:---------| | [backend](#specdistributionmodulesdrvelerobackend) | `string` | Optional | | [externalEndpoint](#specdistributionmodulesdrveleroexternalendpoint) | `object` | Optional | | [overrides](#specdistributionmodulesdrvelerooverrides) | `object` | Optional | @@ -1000,17 +1008,17 @@ The backend for velero **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"minio"` | -| `"externalEndpoint"` | +| Value | +|:-------------------| +|`"minio"` | +|`"externalEndpoint"`| ## .spec.distribution.modules.dr.velero.externalEndpoint ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------------- | :-------- | :------- | +|:-----------------------------------------------------------------------------------|:----------|:---------| | [accessKeyId](#specdistributionmodulesdrveleroexternalendpointaccesskeyid) | `string` | Optional | | [bucketName](#specdistributionmodulesdrveleroexternalendpointbucketname) | `string` | Optional | | [endpoint](#specdistributionmodulesdrveleroexternalendpointendpoint) | `string` | Optional | @@ -1052,7 +1060,7 @@ The secret access key for velero backend ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesdrvelerooverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesdrvelerooverridestolerations) | `array` | Optional | @@ -1067,7 +1075,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesdrvelerooverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesdrvelerooverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesdrvelerooverridestolerationsoperator) | `string` | Optional | @@ -1083,11 +1091,11 @@ The tolerations that will be added to the pods for the minio module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.dr.velero.overrides.tolerations.key @@ -1101,10 +1109,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.dr.velero.overrides.tolerations.value @@ -1123,7 +1131,7 @@ The retention time for velero ### Properties | Property | Type | Required | -| :-------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------|:---------|:---------| | [baseDomain](#specdistributionmodulesingressbasedomain) | `string` | Required | | [certManager](#specdistributionmodulesingresscertmanager) | `object` | Optional | | [forecastle](#specdistributionmodulesingressforecastle) | `object` | Optional | @@ -1142,7 +1150,7 @@ the base domain used for all the KFD ingresses, if in the nginx dual configurati ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------|:---------|:---------| | [clusterIssuer](#specdistributionmodulesingresscertmanagerclusterissuer) | `object` | Required | | [overrides](#specdistributionmodulesingresscertmanageroverrides) | `object` | Optional | @@ -1151,7 +1159,7 @@ the base domain used for all the KFD ingresses, if in the nginx dual configurati ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------|:---------|:---------| | [email](#specdistributionmodulesingresscertmanagerclusterissueremail) | `string` | Required | | [name](#specdistributionmodulesingresscertmanagerclusterissuername) | `string` | Required | | [solvers](#specdistributionmodulesingresscertmanagerclusterissuersolvers) | `array` | Optional | @@ -1185,16 +1193,16 @@ The type of the cluster issuer, must be ***http01*** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"http01"` | +| Value | +|:---------| +|`"http01"`| ## .spec.distribution.modules.ingress.certManager.overrides ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesingresscertmanageroverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesingresscertmanageroverridestolerations) | `array` | Optional | @@ -1209,7 +1217,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesingresscertmanageroverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesingresscertmanageroverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesingresscertmanageroverridestolerationsoperator) | `string` | Optional | @@ -1225,11 +1233,11 @@ The tolerations that will be added to the pods for the minio module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.ingress.certManager.overrides.tolerations.key @@ -1243,10 +1251,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.ingress.certManager.overrides.tolerations.value @@ -1259,7 +1267,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :-------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesingressforecastleoverrides) | `object` | Optional | ## .spec.distribution.modules.ingress.forecastle.overrides @@ -1267,7 +1275,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesingressforecastleoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesingressforecastleoverridestolerations) | `array` | Optional | @@ -1282,7 +1290,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesingressforecastleoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesingressforecastleoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesingressforecastleoverridestolerationsoperator) | `string` | Optional | @@ -1298,11 +1306,11 @@ The tolerations that will be added to the pods for the minio module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.ingress.forecastle.overrides.tolerations.key @@ -1316,10 +1324,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.ingress.forecastle.overrides.tolerations.value @@ -1332,7 +1340,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :--------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesingressnginxoverrides) | `object` | Optional | | [tls](#specdistributionmodulesingressnginxtls) | `object` | Optional | | [type](#specdistributionmodulesingressnginxtype) | `string` | Required | @@ -1346,7 +1354,7 @@ Configurations for the nginx ingress controller module ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesingressnginxoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesingressnginxoverridestolerations) | `array` | Optional | @@ -1361,7 +1369,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesingressnginxoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesingressnginxoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesingressnginxoverridestolerationsoperator) | `string` | Optional | @@ -1377,11 +1385,11 @@ The tolerations that will be added to the pods for the minio module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.ingress.nginx.overrides.tolerations.key @@ -1395,10 +1403,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.ingress.nginx.overrides.tolerations.value @@ -1411,7 +1419,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :---------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------|:---------|:---------| | [provider](#specdistributionmodulesingressnginxtlsprovider) | `string` | Required | | [secret](#specdistributionmodulesingressnginxtlssecret) | `object` | Optional | @@ -1425,18 +1433,18 @@ The provider of the TLS certificate, must be ***none***, ***certManager*** or ** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :-------------- | -| `"certManager"` | -| `"secret"` | -| `"none"` | +| Value | +|:--------------| +|`"certManager"`| +|`"secret"` | +|`"none"` | ## .spec.distribution.modules.ingress.nginx.tls.secret ### Properties | Property | Type | Required | -| :-------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------|:---------|:---------| | [ca](#specdistributionmodulesingressnginxtlssecretca) | `string` | Required | | [cert](#specdistributionmodulesingressnginxtlssecretcert) | `string` | Required | | [key](#specdistributionmodulesingressnginxtlssecretkey) | `string` | Required | @@ -1461,18 +1469,18 @@ The type of the nginx ingress controller, must be ***none***, ***single*** or ** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"none"` | -| `"single"` | -| `"dual"` | +| Value | +|:---------| +|`"none"` | +|`"single"`| +|`"dual"` | ## .spec.distribution.modules.ingress.overrides ### Properties | Property | Type | Required | -| :------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------|:---------|:---------| | [ingresses](#specdistributionmodulesingressoverridesingresses) | `object` | Optional | | [nodeSelector](#specdistributionmodulesingressoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesingressoverridestolerations) | `array` | Optional | @@ -1482,7 +1490,7 @@ The type of the nginx ingress controller, must be ***none***, ***single*** or ** ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------|:---------|:---------| | [forecastle](#specdistributionmodulesingressoverridesingressesforecastle) | `object` | Optional | ## .spec.distribution.modules.ingress.overrides.ingresses.forecastle @@ -1490,7 +1498,7 @@ The type of the nginx ingress controller, must be ***none***, ***single*** or ** ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------------------- | :-------- | :------- | +|:----------------------------------------------------------------------------------------|:----------|:---------| | [disableAuth](#specdistributionmodulesingressoverridesingressesforecastledisableauth) | `boolean` | Optional | | [host](#specdistributionmodulesingressoverridesingressesforecastlehost) | `string` | Optional | | [ingressClass](#specdistributionmodulesingressoverridesingressesforecastleingressclass) | `string` | Optional | @@ -1524,7 +1532,7 @@ The node selector to use to place the pods for the ingress module ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesingressoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesingressoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesingressoverridestolerationsoperator) | `string` | Optional | @@ -1540,11 +1548,11 @@ The tolerations that will be added to the pods for the ingress module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.ingress.overrides.tolerations.key @@ -1558,10 +1566,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.ingress.overrides.tolerations.value @@ -1576,7 +1584,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------|:---------|:---------| | [cerebro](#specdistributionmodulesloggingcerebro) | `object` | Optional | | [loki](#specdistributionmodulesloggingloki) | `object` | Optional | | [minio](#specdistributionmodulesloggingminio) | `object` | Optional | @@ -1590,7 +1598,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :----------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesloggingcerebrooverrides) | `object` | Optional | ## .spec.distribution.modules.logging.cerebro.overrides @@ -1598,7 +1606,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesloggingcerebrooverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesloggingcerebrooverridestolerations) | `array` | Optional | @@ -1613,7 +1621,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesloggingcerebrooverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesloggingcerebrooverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesloggingcerebrooverridestolerationsoperator) | `string` | Optional | @@ -1629,11 +1637,11 @@ The tolerations that will be added to the pods for the minio module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.logging.cerebro.overrides.tolerations.key @@ -1647,10 +1655,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.logging.cerebro.overrides.tolerations.value @@ -1663,7 +1671,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------|:---------|:---------| | [backend](#specdistributionmoduleslogginglokibackend) | `string` | Optional | | [externalEndpoint](#specdistributionmoduleslogginglokiexternalendpoint) | `object` | Optional | | [resources](#specdistributionmoduleslogginglokiresources) | `object` | Optional | @@ -1674,17 +1682,17 @@ The value of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"minio"` | -| `"externalEndpoint"` | +| Value | +|:-------------------| +|`"minio"` | +|`"externalEndpoint"`| ## .spec.distribution.modules.logging.loki.externalEndpoint ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------------ | :-------- | :------- | +|:--------------------------------------------------------------------------------------|:----------|:---------| | [accessKeyId](#specdistributionmoduleslogginglokiexternalendpointaccesskeyid) | `string` | Optional | | [bucketName](#specdistributionmoduleslogginglokiexternalendpointbucketname) | `string` | Optional | | [endpoint](#specdistributionmoduleslogginglokiexternalendpointendpoint) | `string` | Optional | @@ -1726,7 +1734,7 @@ The secret access key of the loki external endpoint ### Properties | Property | Type | Required | -| :--------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------|:---------|:---------| | [limits](#specdistributionmoduleslogginglokiresourceslimits) | `object` | Optional | | [requests](#specdistributionmoduleslogginglokiresourcesrequests) | `object` | Optional | @@ -1735,7 +1743,7 @@ The secret access key of the loki external endpoint ### Properties | Property | Type | Required | -| :----------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------|:---------|:---------| | [cpu](#specdistributionmoduleslogginglokiresourceslimitscpu) | `string` | Optional | | [memory](#specdistributionmoduleslogginglokiresourceslimitsmemory) | `string` | Optional | @@ -1756,7 +1764,7 @@ The memory limit for the prometheus pods ### Properties | Property | Type | Required | -| :------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------|:---------|:---------| | [cpu](#specdistributionmoduleslogginglokiresourcesrequestscpu) | `string` | Optional | | [memory](#specdistributionmoduleslogginglokiresourcesrequestsmemory) | `string` | Optional | @@ -1777,7 +1785,7 @@ The memory request for the prometheus pods ### Properties | Property | Type | Required | -| :------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesloggingminiooverrides) | `object` | Optional | | [rootUser](#specdistributionmodulesloggingminiorootuser) | `object` | Optional | | [storageSize](#specdistributionmodulesloggingminiostoragesize) | `string` | Optional | @@ -1787,7 +1795,7 @@ The memory request for the prometheus pods ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesloggingminiooverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesloggingminiooverridestolerations) | `array` | Optional | @@ -1802,7 +1810,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesloggingminiooverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesloggingminiooverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesloggingminiooverridestolerationsoperator) | `string` | Optional | @@ -1818,11 +1826,11 @@ The tolerations that will be added to the pods for the minio module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.logging.minio.overrides.tolerations.key @@ -1836,10 +1844,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.logging.minio.overrides.tolerations.value @@ -1852,7 +1860,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :--------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------|:---------|:---------| | [password](#specdistributionmodulesloggingminiorootuserpassword) | `string` | Optional | | [username](#specdistributionmodulesloggingminiorootuserusername) | `string` | Optional | @@ -1879,7 +1887,7 @@ The PVC size for each minio disk, 6 disks total ### Properties | Property | Type | Required | -| :------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesloggingopensearchoverrides) | `object` | Optional | | [resources](#specdistributionmodulesloggingopensearchresources) | `object` | Optional | | [storageSize](#specdistributionmodulesloggingopensearchstoragesize) | `string` | Optional | @@ -1890,7 +1898,7 @@ The PVC size for each minio disk, 6 disks total ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesloggingopensearchoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesloggingopensearchoverridestolerations) | `array` | Optional | @@ -1905,7 +1913,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesloggingopensearchoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesloggingopensearchoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesloggingopensearchoverridestolerationsoperator) | `string` | Optional | @@ -1921,11 +1929,11 @@ The tolerations that will be added to the pods for the minio module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.logging.opensearch.overrides.tolerations.key @@ -1939,10 +1947,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.logging.opensearch.overrides.tolerations.value @@ -1955,7 +1963,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------|:---------|:---------| | [limits](#specdistributionmodulesloggingopensearchresourceslimits) | `object` | Optional | | [requests](#specdistributionmodulesloggingopensearchresourcesrequests) | `object` | Optional | @@ -1964,7 +1972,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------|:---------|:---------| | [cpu](#specdistributionmodulesloggingopensearchresourceslimitscpu) | `string` | Optional | | [memory](#specdistributionmodulesloggingopensearchresourceslimitsmemory) | `string` | Optional | @@ -1985,7 +1993,7 @@ The memory limit for the prometheus pods ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------------|:---------|:---------| | [cpu](#specdistributionmodulesloggingopensearchresourcesrequestscpu) | `string` | Optional | | [memory](#specdistributionmodulesloggingopensearchresourcesrequestsmemory) | `string` | Optional | @@ -2017,17 +2025,17 @@ The type of the opensearch, must be ***single*** or ***triple*** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"single"` | -| `"triple"` | +| Value | +|:---------| +|`"single"`| +|`"triple"`| ## .spec.distribution.modules.logging.operator ### Properties | Property | Type | Required | -| :------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesloggingoperatoroverrides) | `object` | Optional | ## .spec.distribution.modules.logging.operator.overrides @@ -2035,7 +2043,7 @@ The type of the opensearch, must be ***single*** or ***triple*** ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesloggingoperatoroverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesloggingoperatoroverridestolerations) | `array` | Optional | @@ -2050,7 +2058,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesloggingoperatoroverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesloggingoperatoroverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesloggingoperatoroverridestolerationsoperator) | `string` | Optional | @@ -2066,11 +2074,11 @@ The tolerations that will be added to the pods for the minio module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.logging.operator.overrides.tolerations.key @@ -2084,10 +2092,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.logging.operator.overrides.tolerations.value @@ -2100,7 +2108,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------|:---------|:---------| | [ingresses](#specdistributionmodulesloggingoverridesingresses) | `object` | Optional | | [nodeSelector](#specdistributionmodulesloggingoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesloggingoverridestolerations) | `array` | Optional | @@ -2118,7 +2126,7 @@ The node selector to use to place the pods for the tracing module ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesloggingoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesloggingoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesloggingoverridestolerationsoperator) | `string` | Optional | @@ -2134,11 +2142,11 @@ The tolerations that will be added to the pods for the policy module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.logging.overrides.tolerations.key @@ -2152,10 +2160,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.logging.overrides.tolerations.value @@ -2173,18 +2181,18 @@ The type of the logging, must be ***none***, ***opensearch*** or ***loki*** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------- | -| `"none"` | -| `"opensearch"` | -| `"loki"` | +| Value | +|:-------------| +|`"none"` | +|`"opensearch"`| +|`"loki"` | ## .spec.distribution.modules.monitoring ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------|:---------|:---------| | [alertmanager](#specdistributionmodulesmonitoringalertmanager) | `object` | Optional | | [blackboxExporter](#specdistributionmodulesmonitoringblackboxexporter) | `object` | Optional | | [grafana](#specdistributionmodulesmonitoringgrafana) | `object` | Optional | @@ -2193,83 +2201,20 @@ The type of the logging, must be ***none***, ***opensearch*** or ***loki*** | [minio](#specdistributionmodulesmonitoringminio) | `object` | Optional | | [overrides](#specdistributionmodulesmonitoringoverrides) | `object` | Optional | | [prometheus](#specdistributionmodulesmonitoringprometheus) | `object` | Optional | +| [prometheusAgent](#specdistributionmodulesmonitoringprometheusagent) | `object` | Optional | | [type](#specdistributionmodulesmonitoringtype) | `string` | Required | | [x509Exporter](#specdistributionmodulesmonitoringx509exporter) | `object` | Optional | -## .spec.distribution.modules.monitoring.prometheusAgent - -### Properties - -| Property | Type | Required | -| :-------------------------------------------------------------------------- | :------- | :------- | -| [remoteWrite](#specdistributionmodulesmonitoringprometheusagentremotewrite) | `array` | Optional | -| [resources](#specdistributionmodulesmonitoringprometheusagentresources) | `object` | Optional | - -## .spec.distribution.modules.monitoring.prometheusAgent.remoteWrite - ### Description -Even though you can have Prometheus Agent without `remoteWrite` configured, it is **strongly recommended** to set this option to ship the 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). - -## .spec.distribution.modules.monitoring.prometheusAgent.resources - -### Properties - -| Property | Type | Required | -| :----------------------------------------------------------------------------- | :------- | :------- | -| [requests](#specdistributionmodulesmonitoringprometheusagentresourcesrequests) | `object` | Optional | -| [limits](#specdistributionmodulesmonitoringprometheusagentresourceslimits) | `object` | Optional | - -## .spec.distribution.modules.monitoring.prometheusAgent.resources.requests - -### Properties - -| Property | Type | Required | -| :--------------------------------------------------------------------------------- | :------- | :------- | -| [cpu](#specdistributionmodulesmonitoringprometheusresourcesagentrequestscpu) | `string` | Optional | -| [memory](#specdistributionmodulesmonitoringprometheusresourcesagentrequestsmemory) | `string` | Optional | - -## .spec.distribution.modules.monitoring.prometheusAgent.resources.requests.cpu - -### Description - -The cpu request for the prometheus pods - -## .spec.distribution.modules.monitoring.prometheusAgent.resources.requests.memory - -### Description - -The memory request for the prometheus pods - -## .spec.distribution.modules.monitoring.prometheusAgent.resources.limits - -### Properties - -| Property | Type | Required | -| :------------------------------------------------------------------------------- | :------- | :------- | -| [cpu](#specdistributionmodulesmonitoringprometheusagentresourceslimitscpu) | `string` | Optional | -| [memory](#specdistributionmodulesmonitoringprometheusagentresourceslimitsmemory) | `string` | Optional | - -## .spec.distribution.modules.monitoring.prometheusAgent.resources.limits.cpu - -### Description - -The cpu limit for the prometheus pods - -## .spec.distribution.modules.monitoring.prometheusAgent.resources.limits.memory - -### Description - -The memory limit for the prometheus pods +configuration for the Monitoring module components ## .spec.distribution.modules.monitoring.alertmanager ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------------------------------- | :-------- | :------- | +|:-------------------------------------------------------------------------------------------------|:----------|:---------| | [deadManSwitchWebhookUrl](#specdistributionmodulesmonitoringalertmanagerdeadmanswitchwebhookurl) | `string` | Optional | | [installDefaultRules](#specdistributionmodulesmonitoringalertmanagerinstalldefaultrules) | `boolean` | Optional | | [slackWebhookUrl](#specdistributionmodulesmonitoringalertmanagerslackwebhookurl) | `string` | Optional | @@ -2297,7 +2242,7 @@ The slack webhook url to send alerts ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesmonitoringblackboxexporteroverrides) | `object` | Optional | ## .spec.distribution.modules.monitoring.blackboxExporter.overrides @@ -2305,7 +2250,7 @@ The slack webhook url to send alerts ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesmonitoringblackboxexporteroverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesmonitoringblackboxexporteroverridestolerations) | `array` | Optional | @@ -2320,7 +2265,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesmonitoringblackboxexporteroverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesmonitoringblackboxexporteroverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesmonitoringblackboxexporteroverridestolerationsoperator) | `string` | Optional | @@ -2336,11 +2281,11 @@ The tolerations that will be added to the pods for the minio module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.monitoring.blackboxExporter.overrides.tolerations.key @@ -2354,10 +2299,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.monitoring.blackboxExporter.overrides.tolerations.value @@ -2370,7 +2315,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :-------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesmonitoringgrafanaoverrides) | `object` | Optional | ## .spec.distribution.modules.monitoring.grafana.overrides @@ -2378,7 +2323,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesmonitoringgrafanaoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesmonitoringgrafanaoverridestolerations) | `array` | Optional | @@ -2393,7 +2338,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesmonitoringgrafanaoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesmonitoringgrafanaoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesmonitoringgrafanaoverridestolerationsoperator) | `string` | Optional | @@ -2409,11 +2354,11 @@ The tolerations that will be added to the pods for the minio module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.monitoring.grafana.overrides.tolerations.key @@ -2427,10 +2372,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.monitoring.grafana.overrides.tolerations.value @@ -2443,7 +2388,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesmonitoringkubestatemetricsoverrides) | `object` | Optional | ## .spec.distribution.modules.monitoring.kubeStateMetrics.overrides @@ -2451,7 +2396,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesmonitoringkubestatemetricsoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesmonitoringkubestatemetricsoverridestolerations) | `array` | Optional | @@ -2466,7 +2411,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesmonitoringkubestatemetricsoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesmonitoringkubestatemetricsoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesmonitoringkubestatemetricsoverridestolerationsoperator) | `string` | Optional | @@ -2482,11 +2427,11 @@ The tolerations that will be added to the pods for the minio module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.monitoring.kubeStateMetrics.overrides.tolerations.key @@ -2500,10 +2445,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.monitoring.kubeStateMetrics.overrides.tolerations.value @@ -2516,7 +2461,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------|:---------|:---------| | [backend](#specdistributionmodulesmonitoringmimirbackend) | `string` | Optional | | [externalEndpoint](#specdistributionmodulesmonitoringmimirexternalendpoint) | `object` | Optional | | [overrides](#specdistributionmodulesmonitoringmimiroverrides) | `object` | Optional | @@ -2532,17 +2477,17 @@ The backend for the mimir pods, must be ***minio*** or ***externalEndpoint*** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"minio"` | -| `"externalEndpoint"` | +| Value | +|:-------------------| +|`"minio"` | +|`"externalEndpoint"`| ## .spec.distribution.modules.monitoring.mimir.externalEndpoint ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------------------------- | :-------- | :------- | +|:------------------------------------------------------------------------------------------|:----------|:---------| | [accessKeyId](#specdistributionmodulesmonitoringmimirexternalendpointaccesskeyid) | `string` | Optional | | [bucketName](#specdistributionmodulesmonitoringmimirexternalendpointbucketname) | `string` | Optional | | [endpoint](#specdistributionmodulesmonitoringmimirexternalendpointendpoint) | `string` | Optional | @@ -2584,7 +2529,7 @@ The secret access key of the external mimir backend ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesmonitoringmimiroverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesmonitoringmimiroverridestolerations) | `array` | Optional | @@ -2599,7 +2544,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesmonitoringmimiroverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesmonitoringmimiroverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesmonitoringmimiroverridestolerationsoperator) | `string` | Optional | @@ -2615,11 +2560,11 @@ The tolerations that will be added to the pods for the minio module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.monitoring.mimir.overrides.tolerations.key @@ -2633,10 +2578,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.monitoring.mimir.overrides.tolerations.value @@ -2655,7 +2600,7 @@ The retention time for the mimir pods ### Properties | Property | Type | Required | -| :---------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesmonitoringminiooverrides) | `object` | Optional | | [rootUser](#specdistributionmodulesmonitoringminiorootuser) | `object` | Optional | | [storageSize](#specdistributionmodulesmonitoringminiostoragesize) | `string` | Optional | @@ -2665,7 +2610,7 @@ The retention time for the mimir pods ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesmonitoringminiooverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesmonitoringminiooverridestolerations) | `array` | Optional | @@ -2680,7 +2625,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesmonitoringminiooverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesmonitoringminiooverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesmonitoringminiooverridestolerationsoperator) | `string` | Optional | @@ -2696,11 +2641,11 @@ The tolerations that will be added to the pods for the minio module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.monitoring.minio.overrides.tolerations.key @@ -2714,10 +2659,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.monitoring.minio.overrides.tolerations.value @@ -2730,7 +2675,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------|:---------|:---------| | [password](#specdistributionmodulesmonitoringminiorootuserpassword) | `string` | Optional | | [username](#specdistributionmodulesmonitoringminiorootuserusername) | `string` | Optional | @@ -2757,7 +2702,7 @@ The storage size for the minio pods ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------|:---------|:---------| | [ingresses](#specdistributionmodulesmonitoringoverridesingresses) | `object` | Optional | | [nodeSelector](#specdistributionmodulesmonitoringoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesmonitoringoverridestolerations) | `array` | Optional | @@ -2775,7 +2720,7 @@ The node selector to use to place the pods for the tracing module ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesmonitoringoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesmonitoringoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesmonitoringoverridestolerationsoperator) | `string` | Optional | @@ -2791,11 +2736,11 @@ The tolerations that will be added to the pods for the policy module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.monitoring.overrides.tolerations.key @@ -2809,10 +2754,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.monitoring.overrides.tolerations.value @@ -2825,18 +2770,27 @@ The value of the toleration ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------------|:---------|:---------| +| [remoteWrite](#specdistributionmodulesmonitoringprometheusremotewrite) | `array` | Optional | | [resources](#specdistributionmodulesmonitoringprometheusresources) | `object` | Optional | | [retentionSize](#specdistributionmodulesmonitoringprometheusretentionsize) | `string` | Optional | | [retentionTime](#specdistributionmodulesmonitoringprometheusretentiontime) | `string` | Optional | | [storageSize](#specdistributionmodulesmonitoringprometheusstoragesize) | `string` | Optional | +## .spec.distribution.modules.monitoring.prometheus.remoteWrite + +### Description + +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). + ## .spec.distribution.modules.monitoring.prometheus.resources ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------|:---------|:---------| | [limits](#specdistributionmodulesmonitoringprometheusresourceslimits) | `object` | Optional | | [requests](#specdistributionmodulesmonitoringprometheusresourcesrequests) | `object` | Optional | @@ -2845,7 +2799,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------|:---------|:---------| | [cpu](#specdistributionmodulesmonitoringprometheusresourceslimitscpu) | `string` | Optional | | [memory](#specdistributionmodulesmonitoringprometheusresourceslimitsmemory) | `string` | Optional | @@ -2866,7 +2820,7 @@ The memory limit for the prometheus pods ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------------|:---------|:---------| | [cpu](#specdistributionmodulesmonitoringprometheusresourcesrequestscpu) | `string` | Optional | | [memory](#specdistributionmodulesmonitoringprometheusresourcesrequestsmemory) | `string` | Optional | @@ -2886,42 +2840,116 @@ The memory request for the prometheus pods ### Description -The retention size for the prometheus pods +The retention size for the k8s Prometheus instance. ## .spec.distribution.modules.monitoring.prometheus.retentionTime ### Description -The retention time for the prometheus pods +The retention time for the k8s Prometheus instance. ## .spec.distribution.modules.monitoring.prometheus.storageSize ### Description -The storage size for the prometheus pods +The storage size for the k8s Prometheus instance. + +## .spec.distribution.modules.monitoring.prometheusAgent + +### Properties + +| Property | Type | Required | +|:----------------------------------------------------------------------------|:---------|:---------| +| [remoteWrite](#specdistributionmodulesmonitoringprometheusagentremotewrite) | `array` | Optional | +| [resources](#specdistributionmodulesmonitoringprometheusagentresources) | `object` | Optional | + +## .spec.distribution.modules.monitoring.prometheusAgent.remoteWrite + +### Description + +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). + +## .spec.distribution.modules.monitoring.prometheusAgent.resources + +### Properties + +| Property | Type | Required | +|:-------------------------------------------------------------------------------|:---------|:---------| +| [limits](#specdistributionmodulesmonitoringprometheusagentresourceslimits) | `object` | Optional | +| [requests](#specdistributionmodulesmonitoringprometheusagentresourcesrequests) | `object` | Optional | + +## .spec.distribution.modules.monitoring.prometheusAgent.resources.limits + +### Properties + +| Property | Type | Required | +|:---------------------------------------------------------------------------------|:---------|:---------| +| [cpu](#specdistributionmodulesmonitoringprometheusagentresourceslimitscpu) | `string` | Optional | +| [memory](#specdistributionmodulesmonitoringprometheusagentresourceslimitsmemory) | `string` | Optional | + +## .spec.distribution.modules.monitoring.prometheusAgent.resources.limits.cpu + +### Description + +The cpu limit for the loki pods + +## .spec.distribution.modules.monitoring.prometheusAgent.resources.limits.memory + +### Description + +The memory limit for the prometheus pods + +## .spec.distribution.modules.monitoring.prometheusAgent.resources.requests + +### Properties + +| Property | Type | Required | +|:-----------------------------------------------------------------------------------|:---------|:---------| +| [cpu](#specdistributionmodulesmonitoringprometheusagentresourcesrequestscpu) | `string` | Optional | +| [memory](#specdistributionmodulesmonitoringprometheusagentresourcesrequestsmemory) | `string` | Optional | + +## .spec.distribution.modules.monitoring.prometheusAgent.resources.requests.cpu + +### Description + +The cpu request for the loki pods + +## .spec.distribution.modules.monitoring.prometheusAgent.resources.requests.memory + +### Description + +The memory request for the prometheus pods ## .spec.distribution.modules.monitoring.type ### Description -The type of the monitoring, must be ***none***, ***prometheus*** or ***mimir*** +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 instace, 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`: wil 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, and in addition Grafana Mimir that allows for longer retention of metrics and the usage of Object Storage. ### Constraints **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------- | -| `"none"` | -| `"prometheus"` | -| `"mimir"` | +| Value | +|:------------------| +|`"none"` | +|`"prometheus"` | +|`"prometheusAgent"`| +|`"mimir"` | ## .spec.distribution.modules.monitoring.x509Exporter ### Properties | Property | Type | Required | -| :------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesmonitoringx509exporteroverrides) | `object` | Optional | ## .spec.distribution.modules.monitoring.x509Exporter.overrides @@ -2929,7 +2957,7 @@ The type of the monitoring, must be ***none***, ***prometheus*** or ***mimir*** ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesmonitoringx509exporteroverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesmonitoringx509exporteroverridestolerations) | `array` | Optional | @@ -2944,7 +2972,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesmonitoringx509exporteroverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesmonitoringx509exporteroverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesmonitoringx509exporteroverridestolerationsoperator) | `string` | Optional | @@ -2960,11 +2988,11 @@ The tolerations that will be added to the pods for the minio module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.monitoring.x509Exporter.overrides.tolerations.key @@ -2978,10 +3006,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.monitoring.x509Exporter.overrides.tolerations.value @@ -2994,7 +3022,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :----------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------|:---------|:---------| | [cilium](#specdistributionmodulesnetworkingcilium) | `object` | Optional | | [overrides](#specdistributionmodulesnetworkingoverrides) | `object` | Optional | | [tigeraOperator](#specdistributionmodulesnetworkingtigeraoperator) | `object` | Optional | @@ -3005,7 +3033,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------|:---------|:---------| | [maskSize](#specdistributionmodulesnetworkingciliummasksize) | `string` | Optional | | [overrides](#specdistributionmodulesnetworkingciliumoverrides) | `object` | Optional | | [podCidr](#specdistributionmodulesnetworkingciliumpodcidr) | `string` | Optional | @@ -3021,7 +3049,7 @@ The mask size to use for the cilium pods ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesnetworkingciliumoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesnetworkingciliumoverridestolerations) | `array` | Optional | @@ -3036,7 +3064,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesnetworkingciliumoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesnetworkingciliumoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesnetworkingciliumoverridestolerationsoperator) | `string` | Optional | @@ -3052,11 +3080,11 @@ The tolerations that will be added to the pods for the minio module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.networking.cilium.overrides.tolerations.key @@ -3070,10 +3098,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.networking.cilium.overrides.tolerations.value @@ -3102,7 +3130,7 @@ The pod cidr to use for the cilium pods ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesnetworkingoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesnetworkingoverridestolerations) | `array` | Optional | @@ -3117,7 +3145,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesnetworkingoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesnetworkingoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesnetworkingoverridestolerationsoperator) | `string` | Optional | @@ -3133,11 +3161,11 @@ The tolerations that will be added to the pods for the minio module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.networking.overrides.tolerations.key @@ -3151,10 +3179,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.networking.overrides.tolerations.value @@ -3167,7 +3195,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulesnetworkingtigeraoperatoroverrides) | `object` | Optional | ## .spec.distribution.modules.networking.tigeraOperator.overrides @@ -3175,7 +3203,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulesnetworkingtigeraoperatoroverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulesnetworkingtigeraoperatoroverridestolerations) | `array` | Optional | @@ -3190,7 +3218,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulesnetworkingtigeraoperatoroverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulesnetworkingtigeraoperatoroverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulesnetworkingtigeraoperatoroverridestolerationsoperator) | `string` | Optional | @@ -3206,11 +3234,11 @@ The tolerations that will be added to the pods for the minio module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.networking.tigeraOperator.overrides.tolerations.key @@ -3224,10 +3252,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.networking.tigeraOperator.overrides.tolerations.value @@ -3245,17 +3273,17 @@ The type of networking to use, either ***calico*** or ***cilium*** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"calico"` | -| `"cilium"` | +| Value | +|:---------| +|`"calico"`| +|`"cilium"`| ## .spec.distribution.modules.policy ### Properties | Property | Type | Required | -| :----------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------|:---------|:---------| | [gatekeeper](#specdistributionmodulespolicygatekeeper) | `object` | Optional | | [kyverno](#specdistributionmodulespolicykyverno) | `object` | Optional | | [overrides](#specdistributionmodulespolicyoverrides) | `object` | Optional | @@ -3266,7 +3294,7 @@ The type of networking to use, either ***calico*** or ***cilium*** ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------------------------------- | :-------- | :------- | +|:-----------------------------------------------------------------------------------------------------|:----------|:---------| | [additionalExcludedNamespaces](#specdistributionmodulespolicygatekeeperadditionalexcludednamespaces) | `array` | Optional | | [enforcementAction](#specdistributionmodulespolicygatekeeperenforcementaction) | `string` | Required | | [installDefaultPolicies](#specdistributionmodulespolicygatekeeperinstalldefaultpolicies) | `boolean` | Required | @@ -3288,11 +3316,11 @@ The enforcement action to use for the gatekeeper module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"deny"` | -| `"dryrun"` | -| `"warn"` | +| Value | +|:---------| +|`"deny"` | +|`"dryrun"`| +|`"warn"` | ## .spec.distribution.modules.policy.gatekeeper.installDefaultPolicies @@ -3305,7 +3333,7 @@ If true, the default policies will be installed ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulespolicygatekeeperoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulespolicygatekeeperoverridestolerations) | `array` | Optional | @@ -3320,7 +3348,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulespolicygatekeeperoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulespolicygatekeeperoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulespolicygatekeeperoverridestolerationsoperator) | `string` | Optional | @@ -3336,11 +3364,11 @@ The tolerations that will be added to the pods for the minio module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.policy.gatekeeper.overrides.tolerations.key @@ -3354,10 +3382,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.policy.gatekeeper.overrides.tolerations.value @@ -3370,7 +3398,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------------------------ | :-------- | :------- | +|:--------------------------------------------------------------------------------------------------|:----------|:---------| | [additionalExcludedNamespaces](#specdistributionmodulespolicykyvernoadditionalexcludednamespaces) | `array` | Optional | | [installDefaultPolicies](#specdistributionmodulespolicykyvernoinstalldefaultpolicies) | `boolean` | Required | | [overrides](#specdistributionmodulespolicykyvernooverrides) | `object` | Optional | @@ -3393,7 +3421,7 @@ If true, the default policies will be installed ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulespolicykyvernooverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulespolicykyvernooverridestolerations) | `array` | Optional | @@ -3408,7 +3436,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulespolicykyvernooverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulespolicykyvernooverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulespolicykyvernooverridestolerationsoperator) | `string` | Optional | @@ -3424,11 +3452,11 @@ The tolerations that will be added to the pods for the minio module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.policy.kyverno.overrides.tolerations.key @@ -3442,10 +3470,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.policy.kyverno.overrides.tolerations.value @@ -3463,17 +3491,17 @@ The validation failure action to use for the kyverno module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :---------- | -| `"audit"` | -| `"enforce"` | +| Value | +|:----------| +|`"audit"` | +|`"enforce"`| ## .spec.distribution.modules.policy.overrides ### Properties | Property | Type | Required | -| :------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------|:---------|:---------| | [ingresses](#specdistributionmodulespolicyoverridesingresses) | `object` | Optional | | [nodeSelector](#specdistributionmodulespolicyoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulespolicyoverridestolerations) | `array` | Optional | @@ -3491,7 +3519,7 @@ The node selector to use to place the pods for the tracing module ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulespolicyoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulespolicyoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulespolicyoverridestolerationsoperator) | `string` | Optional | @@ -3507,11 +3535,11 @@ The tolerations that will be added to the pods for the policy module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.policy.overrides.tolerations.key @@ -3525,10 +3553,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.policy.overrides.tolerations.value @@ -3546,18 +3574,18 @@ The type of security to use, either ***none***, ***gatekeeper*** or ***kyverno** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------- | -| `"none"` | -| `"gatekeeper"` | -| `"kyverno"` | +| Value | +|:-------------| +|`"none"` | +|`"gatekeeper"`| +|`"kyverno"` | ## .spec.distribution.modules.tracing ### Properties | Property | Type | Required | -| :---------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------|:---------|:---------| | [minio](#specdistributionmodulestracingminio) | `object` | Optional | | [overrides](#specdistributionmodulestracingoverrides) | `object` | Optional | | [tempo](#specdistributionmodulestracingtempo) | `object` | Optional | @@ -3568,7 +3596,7 @@ The type of security to use, either ***none***, ***gatekeeper*** or ***kyverno** ### Properties | Property | Type | Required | -| :------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------|:---------|:---------| | [overrides](#specdistributionmodulestracingminiooverrides) | `object` | Optional | | [rootUser](#specdistributionmodulestracingminiorootuser) | `object` | Optional | | [storageSize](#specdistributionmodulestracingminiostoragesize) | `string` | Optional | @@ -3578,7 +3606,7 @@ The type of security to use, either ***none***, ***gatekeeper*** or ***kyverno** ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulestracingminiooverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulestracingminiooverridestolerations) | `array` | Optional | @@ -3593,7 +3621,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulestracingminiooverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulestracingminiooverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulestracingminiooverridestolerationsoperator) | `string` | Optional | @@ -3609,11 +3637,11 @@ The tolerations that will be added to the pods for the minio module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.tracing.minio.overrides.tolerations.key @@ -3627,10 +3655,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.tracing.minio.overrides.tolerations.value @@ -3643,7 +3671,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :--------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------|:---------|:---------| | [password](#specdistributionmodulestracingminiorootuserpassword) | `string` | Optional | | [username](#specdistributionmodulestracingminiorootuserusername) | `string` | Optional | @@ -3670,7 +3698,7 @@ The storage size for the minio pods ### Properties | Property | Type | Required | -| :------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------|:---------|:---------| | [ingresses](#specdistributionmodulestracingoverridesingresses) | `object` | Optional | | [nodeSelector](#specdistributionmodulestracingoverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulestracingoverridestolerations) | `array` | Optional | @@ -3688,7 +3716,7 @@ The node selector to use to place the pods for the tracing module ### Properties | Property | Type | Required | -| :---------------------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulestracingoverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulestracingoverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulestracingoverridestolerationsoperator) | `string` | Optional | @@ -3704,11 +3732,11 @@ The tolerations that will be added to the pods for the policy module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.tracing.overrides.tolerations.key @@ -3722,10 +3750,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.tracing.overrides.tolerations.value @@ -3738,7 +3766,7 @@ The value of the toleration ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------- | :------- | :------- | +|:-------------------------------------------------------------------------|:---------|:---------| | [backend](#specdistributionmodulestracingtempobackend) | `string` | Optional | | [externalEndpoint](#specdistributionmodulestracingtempoexternalendpoint) | `object` | Optional | | [overrides](#specdistributionmodulestracingtempooverrides) | `object` | Optional | @@ -3754,17 +3782,17 @@ The backend for the tempo pods, must be ***minio*** or ***externalEndpoint*** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"minio"` | -| `"externalEndpoint"` | +| Value | +|:-------------------| +|`"minio"` | +|`"externalEndpoint"`| ## .spec.distribution.modules.tracing.tempo.externalEndpoint ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------------------- | :-------- | :------- | +|:---------------------------------------------------------------------------------------|:----------|:---------| | [accessKeyId](#specdistributionmodulestracingtempoexternalendpointaccesskeyid) | `string` | Optional | | [bucketName](#specdistributionmodulestracingtempoexternalendpointbucketname) | `string` | Optional | | [endpoint](#specdistributionmodulestracingtempoexternalendpointendpoint) | `string` | Optional | @@ -3806,7 +3834,7 @@ The secret access key of the external tempo backend ### Properties | Property | Type | Required | -| :------------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------------|:---------|:---------| | [nodeSelector](#specdistributionmodulestracingtempooverridesnodeselector) | `object` | Optional | | [tolerations](#specdistributionmodulestracingtempooverridestolerations) | `array` | Optional | @@ -3821,7 +3849,7 @@ The node selector to use to place the pods for the minio module ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------|:---------|:---------| | [effect](#specdistributionmodulestracingtempooverridestolerationseffect) | `string` | Required | | [key](#specdistributionmodulestracingtempooverridestolerationskey) | `string` | Required | | [operator](#specdistributionmodulestracingtempooverridestolerationsoperator) | `string` | Optional | @@ -3837,11 +3865,11 @@ The tolerations that will be added to the pods for the minio module **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.distribution.modules.tracing.tempo.overrides.tolerations.key @@ -3855,10 +3883,10 @@ The key of the toleration **enum**: the value of this property must be equal to one of the following values: -| Value | -| :--------- | -| `"Exists"` | -| `"Equal"` | +| Value | +|:---------| +|`"Exists"`| +|`"Equal"` | ## .spec.distribution.modules.tracing.tempo.overrides.tolerations.value @@ -3882,10 +3910,10 @@ The type of tracing to use, either ***none*** or ***tempo*** **enum**: the value of this property must be equal to one of the following values: -| Value | -| :-------- | -| `"none"` | -| `"tempo"` | +| Value | +|:--------| +|`"none"` | +|`"tempo"`| ## .spec.distributionVersion @@ -3898,7 +3926,7 @@ The type of tracing to use, either ***none*** or ***tempo*** ### Properties | Property | Type | Required | -| :-------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------|:---------|:---------| | [advanced](#speckubernetesadvanced) | `object` | Optional | | [advancedAnsible](#speckubernetesadvancedansible) | `object` | Optional | | [controlPlaneAddress](#speckubernetescontrolplaneaddress) | `string` | Required | @@ -3917,7 +3945,7 @@ The type of tracing to use, either ***none*** or ***tempo*** ### Properties | Property | Type | Required | -| :---------------------------------------------- | :------- | :------- | +|:------------------------------------------------|:---------|:---------| | [airGap](#speckubernetesadvancedairgap) | `object` | Optional | | [cloud](#speckubernetesadvancedcloud) | `object` | Optional | | [containerd](#speckubernetesadvancedcontainerd) | `object` | Optional | @@ -3930,7 +3958,7 @@ The type of tracing to use, either ***none*** or ***tempo*** ### Properties | Property | Type | Required | -| :-------------------------------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------------------------------|:---------|:---------| | [containerdDownloadUrl](#speckubernetesadvancedairgapcontainerddownloadurl) | `string` | Optional | | [dependenciesOverride](#speckubernetesadvancedairgapdependenciesoverride) | `object` | Optional | | [etcdDownloadUrl](#speckubernetesadvancedairgapetcddownloadurl) | `string` | Optional | @@ -3948,7 +3976,7 @@ The containerd download url ### Properties | Property | Type | Required | -| :---------------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------------|:---------|:---------| | [apt](#speckubernetesadvancedairgapdependenciesoverrideapt) | `object` | Optional | | [yum](#speckubernetesadvancedairgapdependenciesoverrideyum) | `object` | Optional | @@ -3957,7 +3985,7 @@ The containerd download url ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------- | :------- | :------- | +|:-----------------------------------------------------------------------------|:---------|:---------| | [gpg_key](#speckubernetesadvancedairgapdependenciesoverrideaptgpg_key) | `string` | Required | | [gpg_key_id](#speckubernetesadvancedairgapdependenciesoverrideaptgpg_key_id) | `string` | Required | | [name](#speckubernetesadvancedairgapdependenciesoverrideaptname) | `string` | Required | @@ -3992,7 +4020,7 @@ The repo of the apt dependency ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------------------- | :-------- | :------- | +|:-------------------------------------------------------------------------------------|:----------|:---------| | [gpg_key](#speckubernetesadvancedairgapdependenciesoverrideyumgpg_key) | `string` | Required | | [gpg_key_check](#speckubernetesadvancedairgapdependenciesoverrideyumgpg_key_check) | `boolean` | Required | | [name](#speckubernetesadvancedairgapdependenciesoverrideyumname) | `string` | Required | @@ -4052,7 +4080,7 @@ The runc download url ### Properties | Property | Type | Required | -| :----------------------------------------------- | :------- | :------- | +|:-------------------------------------------------|:---------|:---------| | [config](#speckubernetesadvancedcloudconfig) | `string` | Optional | | [provider](#speckubernetesadvancedcloudprovider) | `string` | Optional | @@ -4073,7 +4101,7 @@ The cloud provider to use ### Properties | Property | Type | Required | -| :------------------------------------------------------------------ | :------ | :------- | +|:--------------------------------------------------------------------|:--------|:---------| | [registryConfigs](#speckubernetesadvancedcontainerdregistryconfigs) | `array` | Optional | ## .spec.kubernetes.advanced.containerd.registryConfigs @@ -4081,7 +4109,7 @@ The cloud provider to use ### Properties | Property | Type | Required | -| :--------------------------------------------------------------------------------------- | :-------- | :------- | +|:-----------------------------------------------------------------------------------------|:----------|:---------| | [insecureSkipVerify](#speckubernetesadvancedcontainerdregistryconfigsinsecureskipverify) | `boolean` | Optional | | [mirrorEndpoint](#speckubernetesadvancedcontainerdregistryconfigsmirrorendpoint) | `array` | Optional | | [password](#speckubernetesadvancedcontainerdregistryconfigspassword) | `string` | Optional | @@ -4103,7 +4131,7 @@ The cloud provider to use ### Properties | Property | Type | Required | -| :------------------------------------------------------------------ | :------- | :------- | +|:--------------------------------------------------------------------|:---------|:---------| | [configuration](#speckubernetesadvancedencryptionconfiguration) | `string` | Optional | | [tlsCipherSuites](#speckubernetesadvancedencryptiontlsciphersuites) | `array` | Optional | @@ -4124,7 +4152,7 @@ The tls cipher suites to use ### Properties | Property | Type | Required | -| :-------------------------------------------------- | :------- | :------- | +|:----------------------------------------------------|:---------|:---------| | [ca_file](#speckubernetesadvancedoidcca_file) | `string` | Optional | | [client_id](#speckubernetesadvancedoidcclient_id) | `string` | Optional | | [issuer_url](#speckubernetesadvancedoidcissuer_url) | `string` | Optional | @@ -4152,7 +4180,7 @@ The issuer url of the oidc provider ### Properties | Property | Type | Required | -| :----------------------------------------- | :------- | :------- | +|:-------------------------------------------|:---------|:---------| | [names](#speckubernetesadvancedusersnames) | `array` | Optional | | [org](#speckubernetesadvancedusersorg) | `string` | Optional | @@ -4173,7 +4201,7 @@ The org of the users ### Properties | Property | Type | Required | -| :------------------------------------------------------------------- | :------- | :------- | +|:---------------------------------------------------------------------|:---------|:---------| | [pythonInterpreter](#speckubernetesadvancedansiblepythoninterpreter) | `string` | Optional | ## .spec.kubernetes.advancedAnsible.pythonInterpreter @@ -4199,7 +4227,7 @@ The DNS zone to use for the cluster ### Properties | Property | Type | Required | -| :--------------------------------------------------------------- | :-------- | :------- | +|:-----------------------------------------------------------------|:----------|:---------| | [additionalConfig](#speckubernetesloadbalancersadditionalconfig) | `string` | Optional | | [enabled](#speckubernetesloadbalancersenabled) | `boolean` | Required | | [hosts](#speckubernetesloadbalancershosts) | `array` | Optional | @@ -4223,7 +4251,7 @@ If true, the load balancers will be enabled ### Properties | Property | Type | Required | -| :-------------------------------------------- | :------- | :------- | +|:----------------------------------------------|:---------|:---------| | [ip](#speckubernetesloadbalancershostsip) | `string` | Required | | [name](#speckubernetesloadbalancershostsname) | `string` | Required | @@ -4244,7 +4272,7 @@ The name of the host ### Properties | Property | Type | Required | -| :----------------------------------------------------------------------- | :-------- | :------- | +|:-------------------------------------------------------------------------|:----------|:---------| | [enabled](#speckubernetesloadbalancerskeepalivedenabled) | `boolean` | Required | | [interface](#speckubernetesloadbalancerskeepalivedinterface) | `string` | Optional | | [ip](#speckubernetesloadbalancerskeepalivedip) | `string` | Optional | @@ -4286,7 +4314,7 @@ The virtual router ID to use ### Properties | Property | Type | Required | -| :---------------------------------------------------- | :------- | :------- | +|:------------------------------------------------------|:---------|:---------| | [password](#speckubernetesloadbalancersstatspassword) | `string` | Required | | [username](#speckubernetesloadbalancersstatsusername) | `string` | Required | @@ -4307,7 +4335,7 @@ The username to use ### Properties | Property | Type | Required | -| :----------------------------------- | :------ | :------- | +|:-------------------------------------|:--------|:---------| | [hosts](#speckubernetesmastershosts) | `array` | Required | ## .spec.kubernetes.masters.hosts @@ -4315,7 +4343,7 @@ The username to use ### Properties | Property | Type | Required | -| :-------------------------------------- | :------- | :------- | +|:----------------------------------------|:---------|:---------| | [ip](#speckubernetesmastershostsip) | `string` | Required | | [name](#speckubernetesmastershostsname) | `string` | Required | @@ -4336,7 +4364,7 @@ The name of the host ### Properties | Property | Type | Required | -| :----------------------------------- | :------- | :------- | +|:-------------------------------------|:---------|:---------| | [hosts](#speckubernetesnodeshosts) | `array` | Required | | [name](#speckubernetesnodesname) | `string` | Required | | [taints](#speckubernetesnodestaints) | `array` | Optional | @@ -4350,7 +4378,7 @@ The name of the host ### Properties | Property | Type | Required | -| :------------------------------------ | :------- | :------- | +|:--------------------------------------|:---------|:---------| | [ip](#speckubernetesnodeshostsip) | `string` | Required | | [name](#speckubernetesnodeshostsname) | `string` | Required | @@ -4369,7 +4397,7 @@ The name of the host ### Properties | Property | Type | Required | -| :----------------------------------------- | :------- | :------- | +|:-------------------------------------------|:---------|:---------| | [effect](#speckubernetesnodestaintseffect) | `string` | Required | | [key](#speckubernetesnodestaintskey) | `string` | Required | | [value](#speckubernetesnodestaintsvalue) | `string` | Required | @@ -4380,11 +4408,11 @@ The name of the host **enum**: the value of this property must be equal to one of the following values: -| Value | -| :------------------- | -| `"NoSchedule"` | -| `"PreferNoSchedule"` | -| `"NoExecute"` | +| Value | +|:-------------------| +|`"NoSchedule"` | +|`"PreferNoSchedule"`| +|`"NoExecute"` | ## .spec.kubernetes.nodes.taints.key @@ -4417,7 +4445,7 @@ The CIDR to use for the pods ### Properties | Property | Type | Required | -| :------------------------------------- | :------- | :------- | +|:---------------------------------------|:---------|:---------| | [http](#speckubernetesproxyhttp) | `string` | Optional | | [https](#speckubernetesproxyhttps) | `string` | Optional | | [noProxy](#speckubernetesproxynoproxy) | `string` | Optional | @@ -4465,7 +4493,7 @@ The no proxy to use ### Properties | Property | Type | Required | -| :------------------------------------- | :------- | :------- | +|:---------------------------------------|:---------|:---------| | [keyPath](#speckubernetessshkeypath) | `string` | Required | | [username](#speckubernetessshusername) | `string` | Required | @@ -4502,7 +4530,7 @@ The CIDR to use for the services ### Properties | Property | Type | Required | -| :--------------------------------- | :------- | :------- | +|:-----------------------------------|:---------|:---------| | [helm](#specpluginshelm) | `object` | Optional | | [kustomize](#specpluginskustomize) | `array` | Optional | @@ -4511,7 +4539,7 @@ The CIDR to use for the services ### Properties | Property | Type | Required | -| :------------------------------------------- | :------ | :------- | +|:---------------------------------------------|:--------|:---------| | [releases](#specpluginshelmreleases) | `array` | Optional | | [repositories](#specpluginshelmrepositories) | `array` | Optional | @@ -4520,7 +4548,7 @@ The CIDR to use for the services ### Properties | Property | Type | Required | -| :--------------------------------------------- | :------- | :------- | +|:-----------------------------------------------|:---------|:---------| | [chart](#specpluginshelmreleaseschart) | `string` | Required | | [name](#specpluginshelmreleasesname) | `string` | Required | | [namespace](#specpluginshelmreleasesnamespace) | `string` | Required | @@ -4551,7 +4579,7 @@ The namespace of the release ### Properties | Property | Type | Required | -| :---------------------------------------- | :------- | :------- | +|:------------------------------------------|:---------|:---------| | [name](#specpluginshelmreleasessetname) | `string` | Required | | [value](#specpluginshelmreleasessetvalue) | `string` | Required | @@ -4584,7 +4612,7 @@ The version of the release ### Properties | Property | Type | Required | -| :--------------------------------------- | :------- | :------- | +|:-----------------------------------------|:---------|:---------| | [name](#specpluginshelmrepositoriesname) | `string` | Required | | [url](#specpluginshelmrepositoriesurl) | `string` | Required | @@ -4605,7 +4633,7 @@ The url of the repository ### Properties | Property | Type | Required | -| :------------------------------------ | :------- | :------- | +|:--------------------------------------|:---------|:---------| | [folder](#specpluginskustomizefolder) | `string` | Required | | [name](#specpluginskustomizename) | `string` | Required | diff --git a/pkg/apis/ekscluster/v1alpha2/private/schema.go b/pkg/apis/ekscluster/v1alpha2/private/schema.go index 20f998d5..89f7b58e 100644 --- a/pkg/apis/ekscluster/v1alpha2/private/schema.go +++ b/pkg/apis/ekscluster/v1alpha2/private/schema.go @@ -238,55 +238,6 @@ type SpecDistributionCustomPatchesSecretGeneratorResource struct { type SpecDistributionCustomPatchesSecretGeneratorResourceBehavior string -type SpecKubernetesAPIServer struct { - // PrivateAccess corresponds to the JSON schema field "privateAccess". - PrivateAccess bool `json:"privateAccess" yaml:"privateAccess" mapstructure:"privateAccess"` - - // PrivateAccessCidrs corresponds to the JSON schema field "privateAccessCidrs". - PrivateAccessCidrs []TypesCidr `json:"privateAccessCidrs,omitempty" yaml:"privateAccessCidrs,omitempty" mapstructure:"privateAccessCidrs,omitempty"` - - // PublicAccess corresponds to the JSON schema field "publicAccess". - PublicAccess bool `json:"publicAccess" yaml:"publicAccess" mapstructure:"publicAccess"` - - // PublicAccessCidrs corresponds to the JSON schema field "publicAccessCidrs". - PublicAccessCidrs []TypesCidr `json:"publicAccessCidrs,omitempty" yaml:"publicAccessCidrs,omitempty" mapstructure:"publicAccessCidrs,omitempty"` -} - -type SpecKubernetesAwsAuth struct { - // AdditionalAccounts corresponds to the JSON schema field "additionalAccounts". - AdditionalAccounts []string `json:"additionalAccounts,omitempty" yaml:"additionalAccounts,omitempty" mapstructure:"additionalAccounts,omitempty"` - - // Roles corresponds to the JSON schema field "roles". - Roles []SpecKubernetesAwsAuthRole `json:"roles,omitempty" yaml:"roles,omitempty" mapstructure:"roles,omitempty"` - - // Users corresponds to the JSON schema field "users". - Users []SpecKubernetesAwsAuthUser `json:"users,omitempty" yaml:"users,omitempty" mapstructure:"users,omitempty"` -} - -type SpecKubernetesAwsAuthRole struct { - // Groups corresponds to the JSON schema field "groups". - Groups []string `json:"groups" yaml:"groups" mapstructure:"groups"` - - // Rolearn corresponds to the JSON schema field "rolearn". - Rolearn TypesAwsArn `json:"rolearn" yaml:"rolearn" mapstructure:"rolearn"` - - // Username corresponds to the JSON schema field "username". - Username string `json:"username" yaml:"username" mapstructure:"username"` -} - -type SpecKubernetesAwsAuthUser struct { - // Groups corresponds to the JSON schema field "groups". - Groups []string `json:"groups" yaml:"groups" mapstructure:"groups"` - - // Userarn corresponds to the JSON schema field "userarn". - Userarn TypesAwsArn `json:"userarn" yaml:"userarn" mapstructure:"userarn"` - - // Username corresponds to the JSON schema field "username". - Username string `json:"username" yaml:"username" mapstructure:"username"` -} - -type SpecKubernetesLogsTypesElem string - const ( SpecDistributionCustomPatchesSecretGeneratorResourceBehaviorCreate SpecDistributionCustomPatchesSecretGeneratorResourceBehavior = "create" SpecDistributionCustomPatchesSecretGeneratorResourceBehaviorMerge SpecDistributionCustomPatchesSecretGeneratorResourceBehavior = "merge" @@ -808,6 +759,7 @@ const ( SpecDistributionModulesLoggingTypeOpensearch SpecDistributionModulesLoggingType = "opensearch" ) +// configuration for the Monitoring module components type SpecDistributionModulesMonitoring struct { // Alertmanager corresponds to the JSON schema field "alertmanager". Alertmanager *SpecDistributionModulesMonitoringAlertManager `json:"alertmanager,omitempty" yaml:"alertmanager,omitempty" mapstructure:"alertmanager,omitempty"` @@ -833,7 +785,25 @@ type SpecDistributionModulesMonitoring struct { // Prometheus corresponds to the JSON schema field "prometheus". Prometheus *SpecDistributionModulesMonitoringPrometheus `json:"prometheus,omitempty" yaml:"prometheus,omitempty" mapstructure:"prometheus,omitempty"` - // The type of the monitoring, must be ***none***, ***prometheus*** or ***mimir*** + // 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`: wil 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, and in addition + // Grafana Mimir that allows for longer retention of metrics and the usage of + // Object Storage. Type SpecDistributionModulesMonitoringType `json:"type" yaml:"type" mapstructure:"type"` // X509Exporter corresponds to the JSON schema field "x509Exporter". @@ -925,25 +895,53 @@ type SpecDistributionModulesMonitoringMinioRootUser struct { } 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 prometheus pods + // The retention size for the k8s Prometheus instance. RetentionSize *string `json:"retentionSize,omitempty" yaml:"retentionSize,omitempty" mapstructure:"retentionSize,omitempty"` - // The retention time for the prometheus pods + // The retention time for the k8s Prometheus instance. RetentionTime *string `json:"retentionTime,omitempty" yaml:"retentionTime,omitempty" mapstructure:"retentionTime,omitempty"` - // The storage size for the prometheus pods + // The storage size for the k8s Prometheus instance. StorageSize *string `json:"storageSize,omitempty" yaml:"storageSize,omitempty" mapstructure:"storageSize,omitempty"` } +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 map[string]interface{} + +type SpecDistributionModulesMonitoringPrometheusRemoteWriteElem map[string]interface{} + type SpecDistributionModulesMonitoringType string const ( - SpecDistributionModulesMonitoringTypeMimir SpecDistributionModulesMonitoringType = "mimir" - SpecDistributionModulesMonitoringTypeNone SpecDistributionModulesMonitoringType = "none" - SpecDistributionModulesMonitoringTypePrometheus SpecDistributionModulesMonitoringType = "prometheus" + SpecDistributionModulesMonitoringTypeMimir SpecDistributionModulesMonitoringType = "mimir" + SpecDistributionModulesMonitoringTypeNone SpecDistributionModulesMonitoringType = "none" + SpecDistributionModulesMonitoringTypePrometheus SpecDistributionModulesMonitoringType = "prometheus" + SpecDistributionModulesMonitoringTypePrometheusAgent SpecDistributionModulesMonitoringType = "prometheusAgent" ) type SpecDistributionModulesMonitoringX509Exporter struct { @@ -1624,1544 +1622,629 @@ const ( TypesAwsRegionApSouth2 TypesAwsRegion = "ap-south-2" TypesAwsRegionApSoutheast1 TypesAwsRegion = "ap-southeast-1" TypesAwsRegionApSoutheast2 TypesAwsRegion = "ap-southeast-2" - TypesAwsRegionApSoutheast3 TypesAwsRegion = "ap-southeast-3" - TypesAwsRegionApSoutheast4 TypesAwsRegion = "ap-southeast-4" - TypesAwsRegionCaCentral1 TypesAwsRegion = "ca-central-1" - TypesAwsRegionEuCentral1 TypesAwsRegion = "eu-central-1" - TypesAwsRegionEuCentral2 TypesAwsRegion = "eu-central-2" - TypesAwsRegionEuNorth1 TypesAwsRegion = "eu-north-1" - TypesAwsRegionEuSouth1 TypesAwsRegion = "eu-south-1" - TypesAwsRegionEuSouth2 TypesAwsRegion = "eu-south-2" - TypesAwsRegionEuWest1 TypesAwsRegion = "eu-west-1" - TypesAwsRegionEuWest2 TypesAwsRegion = "eu-west-2" - TypesAwsRegionEuWest3 TypesAwsRegion = "eu-west-3" - TypesAwsRegionMeCentral1 TypesAwsRegion = "me-central-1" - TypesAwsRegionMeSouth1 TypesAwsRegion = "me-south-1" - TypesAwsRegionSaEast1 TypesAwsRegion = "sa-east-1" - TypesAwsRegionUsEast1 TypesAwsRegion = "us-east-1" - TypesAwsRegionUsEast2 TypesAwsRegion = "us-east-2" - TypesAwsRegionUsGovEast1 TypesAwsRegion = "us-gov-east-1" - TypesAwsRegionUsGovWest1 TypesAwsRegion = "us-gov-west-1" - TypesAwsRegionUsWest1 TypesAwsRegion = "us-west-1" - TypesAwsRegionUsWest2 TypesAwsRegion = "us-west-2" ) -type TypesAwsS3BucketName string - -type TypesAwsS3BucketNamePrefix string - -type TypesAwsS3KeyPrefix string - -type TypesAwsSshPubKey string - -type TypesAwsSubnetId string - -type TypesAwsTags map[string]string +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesAwsClusterAutoscaler) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["iamRoleArn"]; !ok || v == nil { + return fmt.Errorf("field iamRoleArn in SpecDistributionModulesAwsClusterAutoscaler: required") + } + type Plain SpecDistributionModulesAwsClusterAutoscaler + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecDistributionModulesAwsClusterAutoscaler(plain) + return nil +} -type TypesAwsVpcId string +var enumValues_SpecDistributionModulesMonitoringMimirBackend = []interface{}{ + "minio", + "externalEndpoint", +} -type TypesCidr string +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesLogging) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["type"]; !ok || v == nil { + return fmt.Errorf("field type in SpecDistributionModulesLogging: required") + } + type Plain SpecDistributionModulesLogging + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecDistributionModulesLogging(plain) + return nil +} -type TypesEnvRef string +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesLoggingType) UnmarshalJSON(b []byte) error { + var v string + if err := json.Unmarshal(b, &v); err != nil { + return err + } + var ok bool + for _, expected := range enumValues_SpecDistributionModulesLoggingType { + if reflect.DeepEqual(v, expected) { + ok = true + break + } + } + if !ok { + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesLoggingType, v) + } + *j = SpecDistributionModulesLoggingType(v) + return nil +} -type TypesFileRef string +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesMonitoring) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["type"]; !ok || v == nil { + return fmt.Errorf("field type in SpecDistributionModulesMonitoring: required") + } + type Plain SpecDistributionModulesMonitoring + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecDistributionModulesMonitoring(plain) + return nil +} -type TypesFuryModuleComponentOverrides struct { - // The node selector to use to place the pods for the minio module - NodeSelector TypesKubeNodeSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty" mapstructure:"nodeSelector,omitempty"` +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesMonitoringType) UnmarshalJSON(b []byte) error { + var v string + if err := json.Unmarshal(b, &v); err != nil { + return err + } + var ok bool + for _, expected := range enumValues_SpecDistributionModulesMonitoringType { + if reflect.DeepEqual(v, expected) { + ok = true + break + } + } + if !ok { + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesMonitoringType, v) + } + *j = SpecDistributionModulesMonitoringType(v) + return nil +} - // The tolerations that will be added to the pods for the cert-manager module - Tolerations []TypesKubeToleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"` +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesLoggingOpensearch) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["type"]; !ok || v == nil { + return fmt.Errorf("field type in SpecDistributionModulesLoggingOpensearch: required") + } + type Plain SpecDistributionModulesLoggingOpensearch + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecDistributionModulesLoggingOpensearch(plain) + return nil } -type TypesFuryModuleComponentOverridesWithIAMRoleName struct { - // IamRoleName corresponds to the JSON schema field "iamRoleName". - IamRoleName *TypesAwsIamRoleName `json:"iamRoleName,omitempty" yaml:"iamRoleName,omitempty" mapstructure:"iamRoleName,omitempty"` +var enumValues_SpecDistributionModulesNetworkingType = []interface{}{ + "none", +} - // The node selector to use to place the pods for the load balancer controller - // module - NodeSelector TypesKubeNodeSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty" mapstructure:"nodeSelector,omitempty"` +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesNetworkingType) UnmarshalJSON(b []byte) error { + var v string + if err := json.Unmarshal(b, &v); err != nil { + return err + } + var ok bool + for _, expected := range enumValues_SpecDistributionModulesNetworkingType { + if reflect.DeepEqual(v, expected) { + ok = true + break + } + } + if !ok { + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesNetworkingType, v) + } + *j = SpecDistributionModulesNetworkingType(v) + return nil +} - // The tolerations that will be added to the pods for the cluster autoscaler - // module - Tolerations []TypesKubeToleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"` +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesLoggingOpensearchType) UnmarshalJSON(b []byte) error { + var v string + if err := json.Unmarshal(b, &v); err != nil { + return err + } + var ok bool + for _, expected := range enumValues_SpecDistributionModulesLoggingOpensearchType { + if reflect.DeepEqual(v, expected) { + ok = true + break + } + } + if !ok { + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesLoggingOpensearchType, v) + } + *j = SpecDistributionModulesLoggingOpensearchType(v) + return nil } -type TypesFuryModuleOverrides struct { - // Ingresses corresponds to the JSON schema field "ingresses". - Ingresses TypesFuryModuleOverridesIngresses `json:"ingresses,omitempty" yaml:"ingresses,omitempty" mapstructure:"ingresses,omitempty"` +var enumValues_SpecDistributionModulesLoggingOpensearchType = []interface{}{ + "single", + "triple", +} - // The node selector to use to place the pods for the dr module - NodeSelector TypesKubeNodeSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty" mapstructure:"nodeSelector,omitempty"` +type TypesKubeResources struct { + // Limits corresponds to the JSON schema field "limits". + Limits *TypesKubeResourcesLimits `json:"limits,omitempty" yaml:"limits,omitempty" mapstructure:"limits,omitempty"` - // The tolerations that will be added to the pods for the monitoring module - Tolerations []TypesKubeToleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"` + // Requests corresponds to the JSON schema field "requests". + Requests *TypesKubeResourcesRequests `json:"requests,omitempty" yaml:"requests,omitempty" mapstructure:"requests,omitempty"` } -type TypesFuryModuleOverridesIngress struct { - // If true, the ingress will not have authentication - DisableAuth *bool `json:"disableAuth,omitempty" yaml:"disableAuth,omitempty" mapstructure:"disableAuth,omitempty"` - - // The host of the ingress - Host *string `json:"host,omitempty" yaml:"host,omitempty" mapstructure:"host,omitempty"` - - // The ingress class of the ingress - IngressClass *string `json:"ingressClass,omitempty" yaml:"ingressClass,omitempty" mapstructure:"ingressClass,omitempty"` -} - -type TypesFuryModuleOverridesIngresses map[string]TypesFuryModuleOverridesIngress - -type TypesIpAddress string - -type TypesKubeLabels map[string]string - -type TypesKubeLabels_1 map[string]string - -type TypesKubeNodeSelector map[string]string - -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 struct { - // The cpu limit for the opensearch pods - Cpu *string `json:"cpu,omitempty" yaml:"cpu,omitempty" mapstructure:"cpu,omitempty"` - - // The memory limit for the opensearch pods - Memory *string `json:"memory,omitempty" yaml:"memory,omitempty" mapstructure:"memory,omitempty"` -} - -type TypesKubeResourcesRequests struct { - // The cpu request for the prometheus pods - Cpu *string `json:"cpu,omitempty" yaml:"cpu,omitempty" mapstructure:"cpu,omitempty"` - - // The memory request for the opensearch pods - Memory *string `json:"memory,omitempty" yaml:"memory,omitempty" mapstructure:"memory,omitempty"` -} - -type TypesKubeTaints []string - -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"` -} - -type TypesKubeTolerationEffect string - -const ( - TypesKubeTolerationEffectNoExecute TypesKubeTolerationEffect = "NoExecute" - TypesKubeTolerationEffectNoSchedule TypesKubeTolerationEffect = "NoSchedule" - TypesKubeTolerationEffectPreferNoSchedule TypesKubeTolerationEffect = "PreferNoSchedule" -) - -type TypesKubeTolerationOperator string - -const ( - TypesKubeTolerationOperatorEqual TypesKubeTolerationOperator = "Equal" - TypesKubeTolerationOperatorExists TypesKubeTolerationOperator = "Exists" -) - -type TypesSemVer string - -type TypesSshPubKey string - -type TypesTcpPort int - -type TypesUri string - -var enumValues_EksclusterKfdV1Alpha2Kind = []interface{}{ - "EKSCluster", -} - -var enumValues_SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior = []interface{}{ - "create", - "replace", - "merge", -} - -var enumValues_SpecDistributionCustomPatchesSecretGeneratorResourceBehavior = []interface{}{ - "create", - "replace", - "merge", -} - -var enumValues_SpecDistributionModulesAuthProviderType = []interface{}{ - "none", - "basicAuth", - "sso", -} - -var enumValues_SpecDistributionModulesDrType = []interface{}{ - "none", - "eks", -} - -var enumValues_SpecDistributionModulesIngressCertManagerClusterIssuerType = []interface{}{ - "dns01", - "http01", -} - -var enumValues_SpecDistributionModulesIngressNginxTLSProvider = []interface{}{ - "certManager", - "secret", - "none", -} - -var enumValues_SpecDistributionModulesIngressNginxType = []interface{}{ - "none", - "single", - "dual", -} - -var enumValues_SpecDistributionModulesLoggingLokiBackend = []interface{}{ - "minio", - "externalEndpoint", -} - -var enumValues_SpecDistributionModulesLoggingOpensearchType = []interface{}{ - "single", - "triple", -} - -var enumValues_SpecDistributionModulesLoggingType = []interface{}{ - "none", - "opensearch", - "loki", -} - -var enumValues_SpecDistributionModulesMonitoringMimirBackend = []interface{}{ - "minio", - "externalEndpoint", -} - -var enumValues_SpecDistributionModulesMonitoringType = []interface{}{ - "none", - "prometheus", - "prometheusAgent", - "mimir", -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecInfrastructureVpc) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["network"]; !ok || v == nil { - return fmt.Errorf("field network in SpecInfrastructureVpc: required") - } - type Plain SpecInfrastructureVpc - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecInfrastructureVpc(plain) - return nil -} - -var enumValues_TypesKubeTolerationOperator = []interface{}{ - "Exists", - "Equal", -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecInfrastructureVpnSsh) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["allowedFromCidrs"]; !ok || v == nil { - return fmt.Errorf("field allowedFromCidrs in SpecInfrastructureVpnSsh: required") - } - if v, ok := raw["githubUsersName"]; !ok || v == nil { - return fmt.Errorf("field githubUsersName in SpecInfrastructureVpnSsh: required") - } - type Plain SpecInfrastructureVpnSsh - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - if plain.GithubUsersName != nil && len(plain.GithubUsersName) < 1 { - return fmt.Errorf("field %s length: must be >= %d", "githubUsersName", 1) - } - *j = SpecInfrastructureVpnSsh(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *TypesKubeTolerationOperator) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_TypesKubeTolerationOperator { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_TypesKubeTolerationOperator, v) - } - *j = TypesKubeTolerationOperator(v) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecInfrastructureVpcNetwork) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["cidr"]; !ok || v == nil { - return fmt.Errorf("field cidr in SpecInfrastructureVpcNetwork: required") - } - if v, ok := raw["subnetsCidrs"]; !ok || v == nil { - return fmt.Errorf("field subnetsCidrs in SpecInfrastructureVpcNetwork: required") - } - type Plain SpecInfrastructureVpcNetwork - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecInfrastructureVpcNetwork(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecInfrastructureVpn) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["ssh"]; !ok || v == nil { - return fmt.Errorf("field ssh in SpecInfrastructureVpn: required") - } - if v, ok := raw["vpnClientsSubnetCidr"]; !ok || v == nil { - return fmt.Errorf("field vpnClientsSubnetCidr in SpecInfrastructureVpn: required") - } - type Plain SpecInfrastructureVpn - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecInfrastructureVpn(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecInfrastructureVpcNetworkSubnetsCidrs) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["private"]; !ok || v == nil { - return fmt.Errorf("field private in SpecInfrastructureVpcNetworkSubnetsCidrs: required") - } - if v, ok := raw["public"]; !ok || v == nil { - return fmt.Errorf("field public in SpecInfrastructureVpcNetworkSubnetsCidrs: required") - } - type Plain SpecInfrastructureVpcNetworkSubnetsCidrs - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecInfrastructureVpcNetworkSubnetsCidrs(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistribution) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["modules"]; !ok || v == nil { - return fmt.Errorf("field modules in SpecDistribution: required") - } - type Plain SpecDistribution - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistribution(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesAPIServer) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["privateAccess"]; !ok || v == nil { - return fmt.Errorf("field privateAccess in SpecKubernetesAPIServer: required") - } - if v, ok := raw["publicAccess"]; !ok || v == nil { - return fmt.Errorf("field publicAccess in SpecKubernetesAPIServer: required") - } - type Plain SpecKubernetesAPIServer - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecKubernetesAPIServer(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModules) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["dr"]; !ok || v == nil { - return fmt.Errorf("field dr in SpecDistributionModules: required") - } - if v, ok := raw["ingress"]; !ok || v == nil { - return fmt.Errorf("field ingress in SpecDistributionModules: required") - } - if v, ok := raw["logging"]; !ok || v == nil { - return fmt.Errorf("field logging in SpecDistributionModules: required") - } - if v, ok := raw["policy"]; !ok || v == nil { - return fmt.Errorf("field policy in SpecDistributionModules: required") - } - type Plain SpecDistributionModules - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModules(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesAwsAuthRole) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["groups"]; !ok || v == nil { - return fmt.Errorf("field groups in SpecKubernetesAwsAuthRole: required") - } - if v, ok := raw["rolearn"]; !ok || v == nil { - return fmt.Errorf("field rolearn in SpecKubernetesAwsAuthRole: required") - } - if v, ok := raw["username"]; !ok || v == nil { - return fmt.Errorf("field username in SpecKubernetesAwsAuthRole: required") - } - type Plain SpecKubernetesAwsAuthRole - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecKubernetesAwsAuthRole(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *TypesKubeToleration) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["effect"]; !ok || v == nil { - return fmt.Errorf("field effect in TypesKubeToleration: required") - } - if v, ok := raw["key"]; !ok || v == nil { - return fmt.Errorf("field key in TypesKubeToleration: required") - } - type Plain TypesKubeToleration - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = TypesKubeToleration(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesAwsAuthUser) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["groups"]; !ok || v == nil { - return fmt.Errorf("field groups in SpecKubernetesAwsAuthUser: required") - } - if v, ok := raw["userarn"]; !ok || v == nil { - return fmt.Errorf("field userarn in SpecKubernetesAwsAuthUser: required") - } - if v, ok := raw["username"]; !ok || v == nil { - return fmt.Errorf("field username in SpecKubernetesAwsAuthUser: required") - } - type Plain SpecKubernetesAwsAuthUser - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecKubernetesAwsAuthUser(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *TypesKubeTolerationEffect) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_TypesKubeTolerationEffect { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_TypesKubeTolerationEffect, v) - } - *j = TypesKubeTolerationEffect(v) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesTracing) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecDistributionModulesTracing: required") - } - type Plain SpecDistributionModulesTracing - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesTracing(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesAuthDex) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["connectors"]; !ok || v == nil { - return fmt.Errorf("field connectors in SpecDistributionModulesAuthDex: required") - } - type Plain SpecDistributionModulesAuthDex - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesAuthDex(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesAwsAuthRole) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["groups"]; !ok || v == nil { - return fmt.Errorf("field groups in SpecKubernetesAwsAuthRole: required") - } - if v, ok := raw["rolearn"]; !ok || v == nil { - return fmt.Errorf("field rolearn in SpecKubernetesAwsAuthRole: required") - } - if v, ok := raw["username"]; !ok || v == nil { - return fmt.Errorf("field username in SpecKubernetesAwsAuthRole: required") - } - type Plain SpecKubernetesAwsAuthRole - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecKubernetesAwsAuthRole(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesAPIServer) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["privateAccess"]; !ok || v == nil { - return fmt.Errorf("field privateAccess in SpecKubernetesAPIServer: required") - } - if v, ok := raw["publicAccess"]; !ok || v == nil { - return fmt.Errorf("field publicAccess in SpecKubernetesAPIServer: required") - } - type Plain SpecKubernetesAPIServer - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecKubernetesAPIServer(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecInfrastructureVpn) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["ssh"]; !ok || v == nil { - return fmt.Errorf("field ssh in SpecInfrastructureVpn: required") - } - if v, ok := raw["vpnClientsSubnetCidr"]; !ok || v == nil { - return fmt.Errorf("field vpnClientsSubnetCidr in SpecInfrastructureVpn: required") - } - type Plain SpecInfrastructureVpn - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecInfrastructureVpn(plain) - return nil -} - -var enumValues_SpecKubernetesLogsTypesElem = []interface{}{ - "api", - "audit", - "authenticator", - "controllerManager", - "scheduler", -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesLogsTypesElem) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecKubernetesLogsTypesElem { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecKubernetesLogsTypesElem, v) - } - *j = SpecKubernetesLogsTypesElem(v) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecInfrastructureVpnSsh) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["allowedFromCidrs"]; !ok || v == nil { - return fmt.Errorf("field allowedFromCidrs in SpecInfrastructureVpnSsh: required") - } - if v, ok := raw["githubUsersName"]; !ok || v == nil { - return fmt.Errorf("field githubUsersName in SpecInfrastructureVpnSsh: required") - } - type Plain SpecInfrastructureVpnSsh - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - if plain.GithubUsersName != nil && len(plain.GithubUsersName) < 1 { - return fmt.Errorf("field %s length: must be >= %d", "githubUsersName", 1) - } - *j = SpecInfrastructureVpnSsh(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecInfrastructureVpc) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["network"]; !ok || v == nil { - return fmt.Errorf("field network in SpecInfrastructureVpc: required") - } - type Plain SpecInfrastructureVpc - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecInfrastructureVpc(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecInfrastructureVpcNetwork) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["cidr"]; !ok || v == nil { - return fmt.Errorf("field cidr in SpecInfrastructureVpcNetwork: required") - } - if v, ok := raw["subnetsCidrs"]; !ok || v == nil { - return fmt.Errorf("field subnetsCidrs in SpecInfrastructureVpcNetwork: required") - } - type Plain SpecInfrastructureVpcNetwork - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecInfrastructureVpcNetwork(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecInfrastructureVpcNetworkSubnetsCidrs) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["private"]; !ok || v == nil { - return fmt.Errorf("field private in SpecInfrastructureVpcNetworkSubnetsCidrs: required") - } - if v, ok := raw["public"]; !ok || v == nil { - return fmt.Errorf("field public in SpecInfrastructureVpcNetworkSubnetsCidrs: required") - } - type Plain SpecInfrastructureVpcNetworkSubnetsCidrs - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecInfrastructureVpcNetworkSubnetsCidrs(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistribution) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["modules"]; !ok || v == nil { - return fmt.Errorf("field modules in SpecDistribution: required") - } - type Plain SpecDistribution - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistribution(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModules) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["dr"]; !ok || v == nil { - return fmt.Errorf("field dr in SpecDistributionModules: required") - } - if v, ok := raw["ingress"]; !ok || v == nil { - return fmt.Errorf("field ingress in SpecDistributionModules: required") - } - if v, ok := raw["logging"]; !ok || v == nil { - return fmt.Errorf("field logging in SpecDistributionModules: required") - } - if v, ok := raw["policy"]; !ok || v == nil { - return fmt.Errorf("field policy in SpecDistributionModules: required") - } - type Plain SpecDistributionModules - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModules(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesNodePoolAdditionalFirewallRulePorts) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["from"]; !ok || v == nil { - return fmt.Errorf("field from in SpecKubernetesNodePoolAdditionalFirewallRulePorts: required") - } - if v, ok := raw["to"]; !ok || v == nil { - return fmt.Errorf("field to in SpecKubernetesNodePoolAdditionalFirewallRulePorts: required") - } - type Plain SpecKubernetesNodePoolAdditionalFirewallRulePorts - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecKubernetesNodePoolAdditionalFirewallRulePorts(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesTracing) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecDistributionModulesTracing: required") - } - type Plain SpecDistributionModulesTracing - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesTracing(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesDrVeleroEks) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["bucketName"]; !ok || v == nil { - return fmt.Errorf("field bucketName in SpecDistributionModulesDrVeleroEks: required") - } - if v, ok := raw["iamRoleArn"]; !ok || v == nil { - return fmt.Errorf("field iamRoleArn in SpecDistributionModulesDrVeleroEks: required") - } - if v, ok := raw["region"]; !ok || v == nil { - return fmt.Errorf("field region in SpecDistributionModulesDrVeleroEks: required") - } - type Plain SpecDistributionModulesDrVeleroEks - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesDrVeleroEks(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesNodePoolAdditionalFirewallRuleSelfType) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleSelfType { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleSelfType, v) - } - *j = SpecKubernetesNodePoolAdditionalFirewallRuleSelfType(v) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesAuthProviderBasicAuth) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["password"]; !ok || v == nil { - return fmt.Errorf("field password in SpecDistributionModulesAuthProviderBasicAuth: required") - } - if v, ok := raw["username"]; !ok || v == nil { - return fmt.Errorf("field username in SpecDistributionModulesAuthProviderBasicAuth: required") - } - type Plain SpecDistributionModulesAuthProviderBasicAuth - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesAuthProviderBasicAuth(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesAuthProviderType) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecDistributionModulesAuthProviderType { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesAuthProviderType, v) - } - *j = SpecDistributionModulesAuthProviderType(v) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesPolicyType) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecDistributionModulesPolicyType { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesPolicyType, v) - } - *j = SpecDistributionModulesPolicyType(v) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesNodePoolAdditionalFirewallRuleSelf) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["name"]; !ok || v == nil { - return fmt.Errorf("field name in SpecKubernetesNodePoolAdditionalFirewallRuleSelf: required") - } - if v, ok := raw["ports"]; !ok || v == nil { - return fmt.Errorf("field ports in SpecKubernetesNodePoolAdditionalFirewallRuleSelf: required") - } - if v, ok := raw["protocol"]; !ok || v == nil { - return fmt.Errorf("field protocol in SpecKubernetesNodePoolAdditionalFirewallRuleSelf: required") - } - if v, ok := raw["self"]; !ok || v == nil { - return fmt.Errorf("field self in SpecKubernetesNodePoolAdditionalFirewallRuleSelf: required") - } - if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecKubernetesNodePoolAdditionalFirewallRuleSelf: required") - } - type Plain SpecKubernetesNodePoolAdditionalFirewallRuleSelf - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecKubernetesNodePoolAdditionalFirewallRuleSelf(plain) - return nil -} - -var enumValues_SpecDistributionModulesPolicyType = []interface{}{ - "none", - "gatekeeper", - "kyverno", -} - -var enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdType = []interface{}{ - "ingress", - "egress", -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesDrVelero) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["eks"]; !ok || v == nil { - return fmt.Errorf("field eks in SpecDistributionModulesDrVelero: required") - } - type Plain SpecDistributionModulesDrVelero - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesDrVelero(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockType) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockType { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockType, v) - } - *j = SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockType(v) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *TypesAwsRegion) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_TypesAwsRegion { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_TypesAwsRegion, v) - } - *j = TypesAwsRegion(v) - return nil -} - -var enumValues_TypesAwsRegion = []interface{}{ - "af-south-1", - "ap-east-1", - "ap-northeast-1", - "ap-northeast-2", - "ap-northeast-3", - "ap-south-1", - "ap-south-2", - "ap-southeast-1", - "ap-southeast-2", - "ap-southeast-3", - "ap-southeast-4", - "ca-central-1", - "eu-central-1", - "eu-central-2", - "eu-north-1", - "eu-south-1", - "eu-south-2", - "eu-west-1", - "eu-west-2", - "eu-west-3", - "me-central-1", - "me-south-1", - "sa-east-1", - "us-east-1", - "us-east-2", - "us-gov-east-1", - "us-gov-west-1", - "us-west-1", - "us-west-2", -} +var enumValues_SpecDistributionModulesPolicyGatekeeperEnforcementAction = []interface{}{ + "deny", + "dryrun", + "warn", +} // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesTracingType) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesPolicyGatekeeperEnforcementAction) UnmarshalJSON(b []byte) error { var v string if err := json.Unmarshal(b, &v); err != nil { return err } var ok bool - for _, expected := range enumValues_SpecDistributionModulesTracingType { + for _, expected := range enumValues_SpecDistributionModulesPolicyGatekeeperEnforcementAction { if reflect.DeepEqual(v, expected) { ok = true break } } if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesTracingType, v) + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesPolicyGatekeeperEnforcementAction, v) } - *j = SpecDistributionModulesTracingType(v) + *j = SpecDistributionModulesPolicyGatekeeperEnforcementAction(v) return nil } -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["cidrBlocks"]; !ok || v == nil { - return fmt.Errorf("field cidrBlocks in SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock: required") - } - if v, ok := raw["name"]; !ok || v == nil { - return fmt.Errorf("field name in SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock: required") - } - if v, ok := raw["ports"]; !ok || v == nil { - return fmt.Errorf("field ports in SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock: required") - } - if v, ok := raw["protocol"]; !ok || v == nil { - return fmt.Errorf("field protocol in SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock: required") - } - if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock: required") - } - type Plain SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - if plain.CidrBlocks != nil && len(plain.CidrBlocks) < 1 { - return fmt.Errorf("field %s length: must be >= %d", "cidrBlocks", 1) - } - *j = SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock(plain) - return nil -} +type TypesKubeResourcesRequests struct { + // The cpu request for the prometheus pods + Cpu *string `json:"cpu,omitempty" yaml:"cpu,omitempty" mapstructure:"cpu,omitempty"` -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesDrType) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecDistributionModulesDrType { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesDrType, v) - } - *j = SpecDistributionModulesDrType(v) - return nil + // The memory request for the opensearch pods + Memory *string `json:"memory,omitempty" yaml:"memory,omitempty" mapstructure:"memory,omitempty"` } -var enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleSelfType = []interface{}{ - "ingress", - "egress", -} +type TypesKubeResourcesLimits struct { + // The cpu limit for the opensearch pods + Cpu *string `json:"cpu,omitempty" yaml:"cpu,omitempty" mapstructure:"cpu,omitempty"` -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesNodePoolAdditionalFirewallRuleSelfType) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleSelfType { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleSelfType, v) - } - *j = SpecKubernetesNodePoolAdditionalFirewallRuleSelfType(v) - return nil + // The memory limit for the opensearch pods + Memory *string `json:"memory,omitempty" yaml:"memory,omitempty" mapstructure:"memory,omitempty"` } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesMonitoringMimirBackend) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesLoggingLokiBackend) UnmarshalJSON(b []byte) error { var v string if err := json.Unmarshal(b, &v); err != nil { return err } var ok bool - for _, expected := range enumValues_SpecDistributionModulesMonitoringMimirBackend { + for _, expected := range enumValues_SpecDistributionModulesLoggingLokiBackend { if reflect.DeepEqual(v, expected) { ok = true break } } if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesMonitoringMimirBackend, v) + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesLoggingLokiBackend, v) } - *j = SpecDistributionModulesMonitoringMimirBackend(v) + *j = SpecDistributionModulesLoggingLokiBackend(v) return nil } -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesAws) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["clusterAutoscaler"]; !ok || v == nil { - return fmt.Errorf("field clusterAutoscaler in SpecDistributionModulesAws: required") - } - if v, ok := raw["ebsCsiDriver"]; !ok || v == nil { - return fmt.Errorf("field ebsCsiDriver in SpecDistributionModulesAws: required") - } - if v, ok := raw["loadBalancerController"]; !ok || v == nil { - return fmt.Errorf("field loadBalancerController in SpecDistributionModulesAws: required") - } - if v, ok := raw["overrides"]; !ok || v == nil { - return fmt.Errorf("field overrides in SpecDistributionModulesAws: required") - } - type Plain SpecDistributionModulesAws - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesAws(plain) - return nil +var enumValues_SpecDistributionModulesLoggingLokiBackend = []interface{}{ + "minio", + "externalEndpoint", } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesDr) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesPolicyGatekeeper) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecDistributionModulesDr: required") + if v, ok := raw["enforcementAction"]; !ok || v == nil { + return fmt.Errorf("field enforcementAction in SpecDistributionModulesPolicyGatekeeper: required") } - type Plain SpecDistributionModulesDr + if v, ok := raw["installDefaultPolicies"]; !ok || v == nil { + return fmt.Errorf("field installDefaultPolicies in SpecDistributionModulesPolicyGatekeeper: required") + } + type Plain SpecDistributionModulesPolicyGatekeeper var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesDr(plain) + *j = SpecDistributionModulesPolicyGatekeeper(plain) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesNodePoolAdditionalFirewallRuleSelf) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesIngress) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["name"]; !ok || v == nil { - return fmt.Errorf("field name in SpecKubernetesNodePoolAdditionalFirewallRuleSelf: required") - } - if v, ok := raw["ports"]; !ok || v == nil { - return fmt.Errorf("field ports in SpecKubernetesNodePoolAdditionalFirewallRuleSelf: required") - } - if v, ok := raw["protocol"]; !ok || v == nil { - return fmt.Errorf("field protocol in SpecKubernetesNodePoolAdditionalFirewallRuleSelf: required") - } - if v, ok := raw["self"]; !ok || v == nil { - return fmt.Errorf("field self in SpecKubernetesNodePoolAdditionalFirewallRuleSelf: required") - } - if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecKubernetesNodePoolAdditionalFirewallRuleSelf: required") - } - type Plain SpecKubernetesNodePoolAdditionalFirewallRuleSelf - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err + if v, ok := raw["baseDomain"]; !ok || v == nil { + return fmt.Errorf("field baseDomain in SpecDistributionModulesIngress: required") } - *j = SpecKubernetesNodePoolAdditionalFirewallRuleSelf(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressClusterIssuerRoute53) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err + if v, ok := raw["certManager"]; !ok || v == nil { + return fmt.Errorf("field certManager in SpecDistributionModulesIngress: required") } - if v, ok := raw["hostedZoneId"]; !ok || v == nil { - return fmt.Errorf("field hostedZoneId in SpecDistributionModulesIngressClusterIssuerRoute53: required") + if v, ok := raw["dns"]; !ok || v == nil { + return fmt.Errorf("field dns in SpecDistributionModulesIngress: required") } - if v, ok := raw["iamRoleArn"]; !ok || v == nil { - return fmt.Errorf("field iamRoleArn in SpecDistributionModulesIngressClusterIssuerRoute53: required") + if v, ok := raw["externalDns"]; !ok || v == nil { + return fmt.Errorf("field externalDns in SpecDistributionModulesIngress: required") } - if v, ok := raw["region"]; !ok || v == nil { - return fmt.Errorf("field region in SpecDistributionModulesIngressClusterIssuerRoute53: required") + if v, ok := raw["nginx"]; !ok || v == nil { + return fmt.Errorf("field nginx in SpecDistributionModulesIngress: required") } - type Plain SpecDistributionModulesIngressClusterIssuerRoute53 + type Plain SpecDistributionModulesIngress var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesIngressClusterIssuerRoute53(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesMonitoringType) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecDistributionModulesMonitoringType { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesMonitoringType, v) - } - *j = SpecDistributionModulesMonitoringType(v) + *j = SpecDistributionModulesIngress(plain) return nil } +var enumValues_SpecDistributionModulesPolicyKyvernoValidationFailureAction = []interface{}{ + "audit", + "enforce", +} + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdType) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesPolicyKyvernoValidationFailureAction) UnmarshalJSON(b []byte) error { var v string if err := json.Unmarshal(b, &v); err != nil { return err } var ok bool - for _, expected := range enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdType { + for _, expected := range enumValues_SpecDistributionModulesPolicyKyvernoValidationFailureAction { if reflect.DeepEqual(v, expected) { ok = true break } } if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdType, v) + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesPolicyKyvernoValidationFailureAction, v) } - *j = SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdType(v) + *j = SpecDistributionModulesPolicyKyvernoValidationFailureAction(v) return nil } -var enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockType = []interface{}{ - "ingress", - "egress", -} - // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesAwsLoadBalancerController) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesIngressNginx) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["iamRoleArn"]; !ok || v == nil { - return fmt.Errorf("field iamRoleArn in SpecDistributionModulesAwsLoadBalancerController: required") + if v, ok := raw["type"]; !ok || v == nil { + return fmt.Errorf("field type in SpecDistributionModulesIngressNginx: required") } - type Plain SpecDistributionModulesAwsLoadBalancerController + type Plain SpecDistributionModulesIngressNginx var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesAwsLoadBalancerController(plain) + *j = SpecDistributionModulesIngressNginx(plain) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesAwsEbsCsiDriver) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { +func (j *SpecDistributionModulesIngressNginxType) UnmarshalJSON(b []byte) error { + var v string + if err := json.Unmarshal(b, &v); err != nil { return err } - if v, ok := raw["iamRoleArn"]; !ok || v == nil { - return fmt.Errorf("field iamRoleArn in SpecDistributionModulesAwsEbsCsiDriver: required") + var ok bool + for _, expected := range enumValues_SpecDistributionModulesIngressNginxType { + if reflect.DeepEqual(v, expected) { + ok = true + break + } } - type Plain SpecDistributionModulesAwsEbsCsiDriver - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err + if !ok { + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesIngressNginxType, v) } - *j = SpecDistributionModulesAwsEbsCsiDriver(plain) + *j = SpecDistributionModulesIngressNginxType(v) return nil } +var enumValues_SpecDistributionModulesIngressNginxType = []interface{}{ + "none", + "single", + "dual", +} + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesPolicyKyverno) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["name"]; !ok || v == nil { - return fmt.Errorf("field name in SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId: required") - } - if v, ok := raw["ports"]; !ok || v == nil { - return fmt.Errorf("field ports in SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId: required") - } - if v, ok := raw["protocol"]; !ok || v == nil { - return fmt.Errorf("field protocol in SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId: required") - } - if v, ok := raw["sourceSecurityGroupId"]; !ok || v == nil { - return fmt.Errorf("field sourceSecurityGroupId in SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId: required") + if v, ok := raw["installDefaultPolicies"]; !ok || v == nil { + return fmt.Errorf("field installDefaultPolicies in SpecDistributionModulesPolicyKyverno: required") } - if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId: required") + if v, ok := raw["validationFailureAction"]; !ok || v == nil { + return fmt.Errorf("field validationFailureAction in SpecDistributionModulesPolicyKyverno: required") } - type Plain SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId + type Plain SpecDistributionModulesPolicyKyverno var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId(plain) + *j = SpecDistributionModulesPolicyKyverno(plain) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesAwsClusterAutoscaler) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesIngressNginxTLS) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["iamRoleArn"]; !ok || v == nil { - return fmt.Errorf("field iamRoleArn in SpecDistributionModulesAwsClusterAutoscaler: required") + if v, ok := raw["provider"]; !ok || v == nil { + return fmt.Errorf("field provider in SpecDistributionModulesIngressNginxTLS: required") } - type Plain SpecDistributionModulesAwsClusterAutoscaler + type Plain SpecDistributionModulesIngressNginxTLS var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesAwsClusterAutoscaler(plain) + *j = SpecDistributionModulesIngressNginxTLS(plain) return nil } +var enumValues_SpecDistributionModulesPolicyType = []interface{}{ + "none", + "gatekeeper", + "kyverno", +} + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesNodePoolAdditionalFirewallRules) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesPolicyType) UnmarshalJSON(b []byte) error { + var v string + if err := json.Unmarshal(b, &v); err != nil { + return err + } + var ok bool + for _, expected := range enumValues_SpecDistributionModulesPolicyType { + if reflect.DeepEqual(v, expected) { + ok = true + break + } + } + if !ok { + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesPolicyType, v) + } + *j = SpecDistributionModulesPolicyType(v) + return nil +} + +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesIngressNginxTLSSecret) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - type Plain SpecKubernetesNodePoolAdditionalFirewallRules - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err + if v, ok := raw["ca"]; !ok || v == nil { + return fmt.Errorf("field ca in SpecDistributionModulesIngressNginxTLSSecret: required") } - if plain.CidrBlocks != nil && len(plain.CidrBlocks) < 1 { - return fmt.Errorf("field %s length: must be >= %d", "cidrBlocks", 1) + if v, ok := raw["cert"]; !ok || v == nil { + return fmt.Errorf("field cert in SpecDistributionModulesIngressNginxTLSSecret: required") } - if plain.Self != nil && len(plain.Self) < 1 { - return fmt.Errorf("field %s length: must be >= %d", "self", 1) + if v, ok := raw["key"]; !ok || v == nil { + return fmt.Errorf("field key in SpecDistributionModulesIngressNginxTLSSecret: required") } - if plain.SourceSecurityGroupId != nil && len(plain.SourceSecurityGroupId) < 1 { - return fmt.Errorf("field %s length: must be >= %d", "sourceSecurityGroupId", 1) + type Plain SpecDistributionModulesIngressNginxTLSSecret + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err } - *j = SpecKubernetesNodePoolAdditionalFirewallRules(plain) + *j = SpecDistributionModulesIngressNginxTLSSecret(plain) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressCertManagerClusterIssuerType) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesIngressNginxTLSProvider) UnmarshalJSON(b []byte) error { var v string if err := json.Unmarshal(b, &v); err != nil { return err } var ok bool - for _, expected := range enumValues_SpecDistributionModulesIngressCertManagerClusterIssuerType { + for _, expected := range enumValues_SpecDistributionModulesIngressNginxTLSProvider { if reflect.DeepEqual(v, expected) { ok = true break } } if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesIngressCertManagerClusterIssuerType, v) + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesIngressNginxTLSProvider, v) } - *j = SpecDistributionModulesIngressCertManagerClusterIssuerType(v) + *j = SpecDistributionModulesIngressNginxTLSProvider(v) return nil } +var enumValues_SpecDistributionModulesIngressNginxTLSProvider = []interface{}{ + "certManager", + "secret", + "none", +} + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesNodePoolAmi) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesIngressExternalDNS) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["id"]; !ok || v == nil { - return fmt.Errorf("field id in SpecKubernetesNodePoolAmi: required") + if v, ok := raw["privateIamRoleArn"]; !ok || v == nil { + return fmt.Errorf("field privateIamRoleArn in SpecDistributionModulesIngressExternalDNS: required") } - if v, ok := raw["owner"]; !ok || v == nil { - return fmt.Errorf("field owner in SpecKubernetesNodePoolAmi: required") + if v, ok := raw["publicIamRoleArn"]; !ok || v == nil { + return fmt.Errorf("field publicIamRoleArn in SpecDistributionModulesIngressExternalDNS: required") } - type Plain SpecKubernetesNodePoolAmi + type Plain SpecDistributionModulesIngressExternalDNS var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecKubernetesNodePoolAmi(plain) + *j = SpecDistributionModulesIngressExternalDNS(plain) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesAuth) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesPolicy) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["provider"]; !ok || v == nil { - return fmt.Errorf("field provider in SpecDistributionModulesAuth: required") + if v, ok := raw["type"]; !ok || v == nil { + return fmt.Errorf("field type in SpecDistributionModulesPolicy: required") } - type Plain SpecDistributionModulesAuth + type Plain SpecDistributionModulesPolicy var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesAuth(plain) + *j = SpecDistributionModulesPolicy(plain) return nil } -var enumValues_SpecKubernetesNodePoolContainerRuntime = []interface{}{ - "docker", - "containerd", +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesIngressDNS) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["private"]; !ok || v == nil { + return fmt.Errorf("field private in SpecDistributionModulesIngressDNS: required") + } + if v, ok := raw["public"]; !ok || v == nil { + return fmt.Errorf("field public in SpecDistributionModulesIngressDNS: required") + } + type Plain SpecDistributionModulesIngressDNS + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecDistributionModulesIngressDNS(plain) + return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesNodePoolContainerRuntime) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { +func (j *SpecDistributionModulesIngressDNSPublic) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { return err } - var ok bool - for _, expected := range enumValues_SpecKubernetesNodePoolContainerRuntime { - if reflect.DeepEqual(v, expected) { - ok = true - break - } + if v, ok := raw["create"]; !ok || v == nil { + return fmt.Errorf("field create in SpecDistributionModulesIngressDNSPublic: required") } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecKubernetesNodePoolContainerRuntime, v) + if v, ok := raw["name"]; !ok || v == nil { + return fmt.Errorf("field name in SpecDistributionModulesIngressDNSPublic: required") } - *j = SpecKubernetesNodePoolContainerRuntime(v) + type Plain SpecDistributionModulesIngressDNSPublic + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecDistributionModulesIngressDNSPublic(plain) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesAuthProvider) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesIngressDNSPrivate) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecDistributionModulesAuthProvider: required") + if v, ok := raw["create"]; !ok || v == nil { + return fmt.Errorf("field create in SpecDistributionModulesIngressDNSPrivate: required") } - type Plain SpecDistributionModulesAuthProvider + if v, ok := raw["name"]; !ok || v == nil { + return fmt.Errorf("field name in SpecDistributionModulesIngressDNSPrivate: required") + } + if v, ok := raw["vpcId"]; !ok || v == nil { + return fmt.Errorf("field vpcId in SpecDistributionModulesIngressDNSPrivate: required") + } + type Plain SpecDistributionModulesIngressDNSPrivate var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesAuthProvider(plain) + *j = SpecDistributionModulesIngressDNSPrivate(plain) return nil } +var enumValues_SpecDistributionModulesTracingTempoBackend = []interface{}{ + "minio", + "externalEndpoint", +} + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesAuthProviderType) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesTracingTempoBackend) UnmarshalJSON(b []byte) error { var v string if err := json.Unmarshal(b, &v); err != nil { return err } var ok bool - for _, expected := range enumValues_SpecDistributionModulesAuthProviderType { + for _, expected := range enumValues_SpecDistributionModulesTracingTempoBackend { if reflect.DeepEqual(v, expected) { ok = true break } } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesAuthProviderType, v) + if !ok { + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesTracingTempoBackend, v) + } + *j = SpecDistributionModulesTracingTempoBackend(v) + return nil +} + +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesIngressCertManager) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["clusterIssuer"]; !ok || v == nil { + return fmt.Errorf("field clusterIssuer in SpecDistributionModulesIngressCertManager: required") } - *j = SpecDistributionModulesAuthProviderType(v) + type Plain SpecDistributionModulesIngressCertManager + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecDistributionModulesIngressCertManager(plain) return nil } @@ -3189,1398 +2272,1456 @@ func (j *SpecDistributionModulesIngressCertManagerClusterIssuer) UnmarshalJSON(b return nil } -var enumValues_SpecKubernetesNodePoolInstanceVolumeType = []interface{}{ - "gp2", - "gp3", - "io1", - "standard", -} - // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesNodePoolInstanceVolumeType) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesIngressCertManagerClusterIssuerType) UnmarshalJSON(b []byte) error { var v string if err := json.Unmarshal(b, &v); err != nil { return err } var ok bool - for _, expected := range enumValues_SpecKubernetesNodePoolInstanceVolumeType { + for _, expected := range enumValues_SpecDistributionModulesIngressCertManagerClusterIssuerType { if reflect.DeepEqual(v, expected) { ok = true break } } if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecKubernetesNodePoolInstanceVolumeType, v) + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesIngressCertManagerClusterIssuerType, v) } - *j = SpecKubernetesNodePoolInstanceVolumeType(v) + *j = SpecDistributionModulesIngressCertManagerClusterIssuerType(v) return nil } +var enumValues_SpecDistributionModulesIngressCertManagerClusterIssuerType = []interface{}{ + "dns01", + "http01", +} + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesAuthProviderBasicAuth) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesIngressClusterIssuerRoute53) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["password"]; !ok || v == nil { - return fmt.Errorf("field password in SpecDistributionModulesAuthProviderBasicAuth: required") + if v, ok := raw["hostedZoneId"]; !ok || v == nil { + return fmt.Errorf("field hostedZoneId in SpecDistributionModulesIngressClusterIssuerRoute53: required") } - if v, ok := raw["username"]; !ok || v == nil { - return fmt.Errorf("field username in SpecDistributionModulesAuthProviderBasicAuth: required") + if v, ok := raw["iamRoleArn"]; !ok || v == nil { + return fmt.Errorf("field iamRoleArn in SpecDistributionModulesIngressClusterIssuerRoute53: required") } - type Plain SpecDistributionModulesAuthProviderBasicAuth + if v, ok := raw["region"]; !ok || v == nil { + return fmt.Errorf("field region in SpecDistributionModulesIngressClusterIssuerRoute53: required") + } + type Plain SpecDistributionModulesIngressClusterIssuerRoute53 var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesAuthProviderBasicAuth(plain) + *j = SpecDistributionModulesIngressClusterIssuerRoute53(plain) return nil } +var enumValues_SpecDistributionModulesTracingType = []interface{}{ + "none", + "tempo", +} + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesAuthPomerium) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { +func (j *SpecDistributionModulesTracingType) UnmarshalJSON(b []byte) error { + var v string + if err := json.Unmarshal(b, &v); err != nil { return err } - if v, ok := raw["policy"]; !ok || v == nil { - return fmt.Errorf("field policy in SpecDistributionModulesAuthPomerium: required") - } - if v, ok := raw["secrets"]; !ok || v == nil { - return fmt.Errorf("field secrets in SpecDistributionModulesAuthPomerium: required") + var ok bool + for _, expected := range enumValues_SpecDistributionModulesTracingType { + if reflect.DeepEqual(v, expected) { + ok = true + break + } } - type Plain SpecDistributionModulesAuthPomerium - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err + if !ok { + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesTracingType, v) } - *j = SpecDistributionModulesAuthPomerium(plain) + *j = SpecDistributionModulesTracingType(v) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesAuthPomeriumSecrets) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesDr) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["COOKIE_SECRET"]; !ok || v == nil { - return fmt.Errorf("field COOKIE_SECRET in SpecDistributionModulesAuthPomeriumSecrets: required") - } - if v, ok := raw["IDP_CLIENT_SECRET"]; !ok || v == nil { - return fmt.Errorf("field IDP_CLIENT_SECRET in SpecDistributionModulesAuthPomeriumSecrets: required") - } - if v, ok := raw["SHARED_SECRET"]; !ok || v == nil { - return fmt.Errorf("field SHARED_SECRET in SpecDistributionModulesAuthPomeriumSecrets: required") + if v, ok := raw["type"]; !ok || v == nil { + return fmt.Errorf("field type in SpecDistributionModulesDr: required") } - type Plain SpecDistributionModulesAuthPomeriumSecrets + type Plain SpecDistributionModulesDr var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesAuthPomeriumSecrets(plain) + *j = SpecDistributionModulesDr(plain) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesAuthOverridesIngress) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesDrVelero) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["host"]; !ok || v == nil { - return fmt.Errorf("field host in SpecDistributionModulesAuthOverridesIngress: required") - } - if v, ok := raw["ingressClass"]; !ok || v == nil { - return fmt.Errorf("field ingressClass in SpecDistributionModulesAuthOverridesIngress: required") + if v, ok := raw["eks"]; !ok || v == nil { + return fmt.Errorf("field eks in SpecDistributionModulesDrVelero: required") } - type Plain SpecDistributionModulesAuthOverridesIngress + type Plain SpecDistributionModulesDrVelero var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesAuthOverridesIngress(plain) + *j = SpecDistributionModulesDrVelero(plain) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesAwsAuthUser) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesDrVeleroEks) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["groups"]; !ok || v == nil { - return fmt.Errorf("field groups in SpecKubernetesAwsAuthUser: required") + if v, ok := raw["bucketName"]; !ok || v == nil { + return fmt.Errorf("field bucketName in SpecDistributionModulesDrVeleroEks: required") } - if v, ok := raw["userarn"]; !ok || v == nil { - return fmt.Errorf("field userarn in SpecKubernetesAwsAuthUser: required") + if v, ok := raw["iamRoleArn"]; !ok || v == nil { + return fmt.Errorf("field iamRoleArn in SpecDistributionModulesDrVeleroEks: required") } - if v, ok := raw["username"]; !ok || v == nil { - return fmt.Errorf("field username in SpecKubernetesAwsAuthUser: required") + if v, ok := raw["region"]; !ok || v == nil { + return fmt.Errorf("field region in SpecDistributionModulesDrVeleroEks: required") } - type Plain SpecKubernetesAwsAuthUser + type Plain SpecDistributionModulesDrVeleroEks var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecKubernetesAwsAuthUser(plain) + *j = SpecDistributionModulesDrVeleroEks(plain) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesNodePoolInstance) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesTracing) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecKubernetesNodePoolInstance: required") + return fmt.Errorf("field type in SpecDistributionModulesTracing: required") } - type Plain SpecKubernetesNodePoolInstance + type Plain SpecDistributionModulesTracing var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecKubernetesNodePoolInstance(plain) + *j = SpecDistributionModulesTracing(plain) return nil } -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesTracingTempoBackend) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecDistributionModulesTracingTempoBackend { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesTracingTempoBackend, v) - } - *j = SpecDistributionModulesTracingTempoBackend(v) - return nil -} +const TypesAwsRegionUsWest2 TypesAwsRegion = "us-west-2" // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressCertManager) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModules) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["clusterIssuer"]; !ok || v == nil { - return fmt.Errorf("field clusterIssuer in SpecDistributionModulesIngressCertManager: required") + if v, ok := raw["dr"]; !ok || v == nil { + return fmt.Errorf("field dr in SpecDistributionModules: required") } - type Plain SpecDistributionModulesIngressCertManager + if v, ok := raw["ingress"]; !ok || v == nil { + return fmt.Errorf("field ingress in SpecDistributionModules: required") + } + if v, ok := raw["logging"]; !ok || v == nil { + return fmt.Errorf("field logging in SpecDistributionModules: required") + } + if v, ok := raw["policy"]; !ok || v == nil { + return fmt.Errorf("field policy in SpecDistributionModules: required") + } + type Plain SpecDistributionModules var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesIngressCertManager(plain) + *j = SpecDistributionModules(plain) return nil } +const TypesAwsRegionUsWest1 TypesAwsRegion = "us-west-1" + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesNodePoolSize) UnmarshalJSON(b []byte) error { +func (j *SpecDistribution) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["max"]; !ok || v == nil { - return fmt.Errorf("field max in SpecKubernetesNodePoolSize: required") - } - if v, ok := raw["min"]; !ok || v == nil { - return fmt.Errorf("field min in SpecKubernetesNodePoolSize: required") + if v, ok := raw["modules"]; !ok || v == nil { + return fmt.Errorf("field modules in SpecDistribution: required") } - type Plain SpecKubernetesNodePoolSize + type Plain SpecDistribution var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecKubernetesNodePoolSize(plain) + *j = SpecDistribution(plain) return nil } +type TypesCidr string + +const TypesAwsRegionUsGovWest1 TypesAwsRegion = "us-gov-west-1" + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressDNSPrivate) UnmarshalJSON(b []byte) error { +func (j *SpecInfrastructureVpcNetworkSubnetsCidrs) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["create"]; !ok || v == nil { - return fmt.Errorf("field create in SpecDistributionModulesIngressDNSPrivate: required") - } - if v, ok := raw["name"]; !ok || v == nil { - return fmt.Errorf("field name in SpecDistributionModulesIngressDNSPrivate: required") + if v, ok := raw["private"]; !ok || v == nil { + return fmt.Errorf("field private in SpecInfrastructureVpcNetworkSubnetsCidrs: required") } - if v, ok := raw["vpcId"]; !ok || v == nil { - return fmt.Errorf("field vpcId in SpecDistributionModulesIngressDNSPrivate: required") + if v, ok := raw["public"]; !ok || v == nil { + return fmt.Errorf("field public in SpecInfrastructureVpcNetworkSubnetsCidrs: required") } - type Plain SpecDistributionModulesIngressDNSPrivate + type Plain SpecInfrastructureVpcNetworkSubnetsCidrs var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesIngressDNSPrivate(plain) + *j = SpecInfrastructureVpcNetworkSubnetsCidrs(plain) return nil } +const TypesAwsRegionUsGovEast1 TypesAwsRegion = "us-gov-east-1" + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressDNSPublic) UnmarshalJSON(b []byte) error { +func (j *SpecInfrastructureVpcNetwork) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["create"]; !ok || v == nil { - return fmt.Errorf("field create in SpecDistributionModulesIngressDNSPublic: required") + if v, ok := raw["cidr"]; !ok || v == nil { + return fmt.Errorf("field cidr in SpecInfrastructureVpcNetwork: required") } - if v, ok := raw["name"]; !ok || v == nil { - return fmt.Errorf("field name in SpecDistributionModulesIngressDNSPublic: required") + if v, ok := raw["subnetsCidrs"]; !ok || v == nil { + return fmt.Errorf("field subnetsCidrs in SpecInfrastructureVpcNetwork: required") } - type Plain SpecDistributionModulesIngressDNSPublic + type Plain SpecInfrastructureVpcNetwork var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesIngressDNSPublic(plain) + *j = SpecInfrastructureVpcNetwork(plain) return nil } +const TypesAwsRegionUsEast2 TypesAwsRegion = "us-east-2" + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionCustomPatchesSecretGeneratorResource) UnmarshalJSON(b []byte) error { +func (j *SpecInfrastructureVpc) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["name"]; !ok || v == nil { - return fmt.Errorf("field name in SpecDistributionCustomPatchesSecretGeneratorResource: required") + if v, ok := raw["network"]; !ok || v == nil { + return fmt.Errorf("field network in SpecInfrastructureVpc: required") } - type Plain SpecDistributionCustomPatchesSecretGeneratorResource + type Plain SpecInfrastructureVpc var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionCustomPatchesSecretGeneratorResource(plain) - return nil -} - -var enumValues_SpecKubernetesNodePoolType = []interface{}{ - "eks-managed", - "self-managed", -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesNodePoolType) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecKubernetesNodePoolType { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecKubernetesNodePoolType, v) - } - *j = SpecKubernetesNodePoolType(v) + *j = SpecInfrastructureVpc(plain) return nil } +type TypesAwsS3BucketNamePrefix string + +type TypesTcpPort int + +const TypesAwsRegionUsEast1 TypesAwsRegion = "us-east-1" + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionCustomPatchesSecretGeneratorResourceBehavior) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { +func (j *SpecInfrastructureVpnSsh) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { return err } - var ok bool - for _, expected := range enumValues_SpecDistributionCustomPatchesSecretGeneratorResourceBehavior { - if reflect.DeepEqual(v, expected) { - ok = true - break - } + if v, ok := raw["allowedFromCidrs"]; !ok || v == nil { + return fmt.Errorf("field allowedFromCidrs in SpecInfrastructureVpnSsh: required") } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionCustomPatchesSecretGeneratorResourceBehavior, v) + if v, ok := raw["githubUsersName"]; !ok || v == nil { + return fmt.Errorf("field githubUsersName in SpecInfrastructureVpnSsh: required") } - *j = SpecDistributionCustomPatchesSecretGeneratorResourceBehavior(v) + type Plain SpecInfrastructureVpnSsh + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + if plain.GithubUsersName != nil && len(plain.GithubUsersName) < 1 { + return fmt.Errorf("field %s length: must be >= %d", "githubUsersName", 1) + } + *j = SpecInfrastructureVpnSsh(plain) return nil } +type TypesAwsVpcId string + +const TypesAwsRegionSaEast1 TypesAwsRegion = "sa-east-1" + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesPolicy) UnmarshalJSON(b []byte) error { +func (j *SpecInfrastructureVpn) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecDistributionModulesPolicy: required") + if v, ok := raw["ssh"]; !ok || v == nil { + return fmt.Errorf("field ssh in SpecInfrastructureVpn: required") } - type Plain SpecDistributionModulesPolicy + if v, ok := raw["vpnClientsSubnetCidr"]; !ok || v == nil { + return fmt.Errorf("field vpnClientsSubnetCidr in SpecInfrastructureVpn: required") + } + type Plain SpecInfrastructureVpn var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesPolicy(plain) + *j = SpecInfrastructureVpn(plain) return nil } +const ( + TypesAwsRegionMeSouth1 TypesAwsRegion = "me-south-1" + TypesAwsRegionMeCentral1 TypesAwsRegion = "me-central-1" +) + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionCustomPatchesConfigMapGeneratorResource) UnmarshalJSON(b []byte) error { +func (j *SpecKubernetesAPIServer) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["name"]; !ok || v == nil { - return fmt.Errorf("field name in SpecDistributionCustomPatchesConfigMapGeneratorResource: required") + if v, ok := raw["privateAccess"]; !ok || v == nil { + return fmt.Errorf("field privateAccess in SpecKubernetesAPIServer: required") } - type Plain SpecDistributionCustomPatchesConfigMapGeneratorResource + if v, ok := raw["publicAccess"]; !ok || v == nil { + return fmt.Errorf("field publicAccess in SpecKubernetesAPIServer: required") + } + type Plain SpecKubernetesAPIServer var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionCustomPatchesConfigMapGeneratorResource(plain) + *j = SpecKubernetesAPIServer(plain) return nil } +const TypesAwsRegionEuWest3 TypesAwsRegion = "eu-west-3" + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesNodePool) UnmarshalJSON(b []byte) error { +func (j *SpecKubernetesAwsAuthRole) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["instance"]; !ok || v == nil { - return fmt.Errorf("field instance in SpecKubernetesNodePool: required") + if v, ok := raw["groups"]; !ok || v == nil { + return fmt.Errorf("field groups in SpecKubernetesAwsAuthRole: required") } - if v, ok := raw["name"]; !ok || v == nil { - return fmt.Errorf("field name in SpecKubernetesNodePool: required") + if v, ok := raw["rolearn"]; !ok || v == nil { + return fmt.Errorf("field rolearn in SpecKubernetesAwsAuthRole: required") } - if v, ok := raw["size"]; !ok || v == nil { - return fmt.Errorf("field size in SpecKubernetesNodePool: required") + if v, ok := raw["username"]; !ok || v == nil { + return fmt.Errorf("field username in SpecKubernetesAwsAuthRole: required") } - type Plain SpecKubernetesNodePool + type Plain SpecKubernetesAwsAuthRole var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecKubernetesNodePool(plain) + *j = SpecKubernetesAwsAuthRole(plain) return nil } +const TypesAwsRegionEuWest2 TypesAwsRegion = "eu-west-2" + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressDNS) UnmarshalJSON(b []byte) error { +func (j *SpecKubernetesAwsAuthUser) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["private"]; !ok || v == nil { - return fmt.Errorf("field private in SpecDistributionModulesIngressDNS: required") + if v, ok := raw["groups"]; !ok || v == nil { + return fmt.Errorf("field groups in SpecKubernetesAwsAuthUser: required") } - if v, ok := raw["public"]; !ok || v == nil { - return fmt.Errorf("field public in SpecDistributionModulesIngressDNS: required") + if v, ok := raw["userarn"]; !ok || v == nil { + return fmt.Errorf("field userarn in SpecKubernetesAwsAuthUser: required") } - type Plain SpecDistributionModulesIngressDNS + if v, ok := raw["username"]; !ok || v == nil { + return fmt.Errorf("field username in SpecKubernetesAwsAuthUser: required") + } + type Plain SpecKubernetesAwsAuthUser var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesIngressDNS(plain) + *j = SpecKubernetesAwsAuthUser(plain) return nil } -var enumValues_SpecKubernetesNodePoolsLaunchKind = []interface{}{ - "launch_configurations", - "launch_templates", - "both", +const ( + TypesAwsRegionEuWest1 TypesAwsRegion = "eu-west-1" + TypesAwsRegionEuSouth2 TypesAwsRegion = "eu-south-2" + TypesAwsRegionEuSouth1 TypesAwsRegion = "eu-south-1" +) + +var enumValues_SpecKubernetesLogsTypesElem = []interface{}{ + "api", + "audit", + "authenticator", + "controllerManager", + "scheduler", } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesNodePoolsLaunchKind) UnmarshalJSON(b []byte) error { +func (j *SpecKubernetesLogsTypesElem) UnmarshalJSON(b []byte) error { var v string if err := json.Unmarshal(b, &v); err != nil { return err } var ok bool - for _, expected := range enumValues_SpecKubernetesNodePoolsLaunchKind { + for _, expected := range enumValues_SpecKubernetesLogsTypesElem { if reflect.DeepEqual(v, expected) { ok = true break } } if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecKubernetesNodePoolsLaunchKind, v) + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecKubernetesLogsTypesElem, v) } - *j = SpecKubernetesNodePoolsLaunchKind(v) + *j = SpecKubernetesLogsTypesElem(v) + return nil +} + +const ( + TypesAwsRegionEuNorth1 TypesAwsRegion = "eu-north-1" + TypesAwsRegionEuCentral2 TypesAwsRegion = "eu-central-2" + TypesAwsRegionEuCentral1 TypesAwsRegion = "eu-central-1" + TypesAwsRegionCaCentral1 TypesAwsRegion = "ca-central-1" + TypesAwsRegionApSoutheast4 TypesAwsRegion = "ap-southeast-4" + TypesAwsRegionApSoutheast3 TypesAwsRegion = "ap-southeast-3" +) + +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecKubernetesNodePoolAdditionalFirewallRulePorts) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["from"]; !ok || v == nil { + return fmt.Errorf("field from in SpecKubernetesNodePoolAdditionalFirewallRulePorts: required") + } + if v, ok := raw["to"]; !ok || v == nil { + return fmt.Errorf("field to in SpecKubernetesNodePoolAdditionalFirewallRulePorts: required") + } + type Plain SpecKubernetesNodePoolAdditionalFirewallRulePorts + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecKubernetesNodePoolAdditionalFirewallRulePorts(plain) return nil } +var enumValues_SpecDistributionModulesLoggingType = []interface{}{ + "none", + "opensearch", + "loki", +} + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesMonitoringMimirBackend) UnmarshalJSON(b []byte) error { var v string if err := json.Unmarshal(b, &v); err != nil { return err } var ok bool - for _, expected := range enumValues_SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior { + for _, expected := range enumValues_SpecDistributionModulesMonitoringMimirBackend { if reflect.DeepEqual(v, expected) { ok = true break } } if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior, v) + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesMonitoringMimirBackend, v) } - *j = SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior(v) + *j = SpecDistributionModulesMonitoringMimirBackend(v) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressExternalDNS) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionCustomPatchesSecretGeneratorResource) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["privateIamRoleArn"]; !ok || v == nil { - return fmt.Errorf("field privateIamRoleArn in SpecDistributionModulesIngressExternalDNS: required") - } - if v, ok := raw["publicIamRoleArn"]; !ok || v == nil { - return fmt.Errorf("field publicIamRoleArn in SpecDistributionModulesIngressExternalDNS: required") + if v, ok := raw["name"]; !ok || v == nil { + return fmt.Errorf("field name in SpecDistributionCustomPatchesSecretGeneratorResource: required") } - type Plain SpecDistributionModulesIngressExternalDNS + type Plain SpecDistributionCustomPatchesSecretGeneratorResource var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesIngressExternalDNS(plain) + *j = SpecDistributionCustomPatchesSecretGeneratorResource(plain) return nil } +var enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockType = []interface{}{ + "ingress", + "egress", +} + // UnmarshalJSON implements json.Unmarshaler. -func (j *TypesKubeToleration) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { +func (j *SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockType) UnmarshalJSON(b []byte) error { + var v string + if err := json.Unmarshal(b, &v); err != nil { return err } - if v, ok := raw["effect"]; !ok || v == nil { - return fmt.Errorf("field effect in TypesKubeToleration: required") - } - if v, ok := raw["key"]; !ok || v == nil { - return fmt.Errorf("field key in TypesKubeToleration: required") + var ok bool + for _, expected := range enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockType { + if reflect.DeepEqual(v, expected) { + ok = true + break + } } - type Plain TypesKubeToleration - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err + if !ok { + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockType, v) } - *j = TypesKubeToleration(plain) + *j = SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockType(v) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressNginxTLSProvider) UnmarshalJSON(b []byte) error { +func (j *TypesAwsRegion) UnmarshalJSON(b []byte) error { var v string if err := json.Unmarshal(b, &v); err != nil { return err } var ok bool - for _, expected := range enumValues_SpecDistributionModulesIngressNginxTLSProvider { + for _, expected := range enumValues_TypesAwsRegion { if reflect.DeepEqual(v, expected) { ok = true break } } if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesIngressNginxTLSProvider, v) + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_TypesAwsRegion, v) } - *j = SpecDistributionModulesIngressNginxTLSProvider(v) + *j = TypesAwsRegion(v) return nil } +var enumValues_TypesAwsRegion = []interface{}{ + "af-south-1", + "ap-east-1", + "ap-northeast-1", + "ap-northeast-2", + "ap-northeast-3", + "ap-south-1", + "ap-south-2", + "ap-southeast-1", + "ap-southeast-2", + "ap-southeast-3", + "ap-southeast-4", + "ca-central-1", + "eu-central-1", + "eu-central-2", + "eu-north-1", + "eu-south-1", + "eu-south-2", + "eu-west-1", + "eu-west-2", + "eu-west-3", + "me-central-1", + "me-south-1", + "sa-east-1", + "us-east-1", + "us-east-2", + "us-gov-east-1", + "us-gov-west-1", + "us-west-1", + "us-west-2", +} + +type TypesAwsS3BucketName string + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetes) UnmarshalJSON(b []byte) error { +func (j *SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["apiServer"]; !ok || v == nil { - return fmt.Errorf("field apiServer in SpecKubernetes: required") + if v, ok := raw["cidrBlocks"]; !ok || v == nil { + return fmt.Errorf("field cidrBlocks in SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock: required") + } + if v, ok := raw["name"]; !ok || v == nil { + return fmt.Errorf("field name in SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock: required") } - if v, ok := raw["nodeAllowedSshPublicKey"]; !ok || v == nil { - return fmt.Errorf("field nodeAllowedSshPublicKey in SpecKubernetes: required") + if v, ok := raw["ports"]; !ok || v == nil { + return fmt.Errorf("field ports in SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock: required") } - if v, ok := raw["nodePools"]; !ok || v == nil { - return fmt.Errorf("field nodePools in SpecKubernetes: required") + if v, ok := raw["protocol"]; !ok || v == nil { + return fmt.Errorf("field protocol in SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock: required") } - if v, ok := raw["nodePoolsLaunchKind"]; !ok || v == nil { - return fmt.Errorf("field nodePoolsLaunchKind in SpecKubernetes: required") + if v, ok := raw["type"]; !ok || v == nil { + return fmt.Errorf("field type in SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock: required") } - type Plain SpecKubernetes + type Plain SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecKubernetes(plain) + if plain.CidrBlocks != nil && len(plain.CidrBlocks) < 1 { + return fmt.Errorf("field %s length: must be >= %d", "cidrBlocks", 1) + } + *j = SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock(plain) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesPolicyType) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesDrType) UnmarshalJSON(b []byte) error { var v string if err := json.Unmarshal(b, &v); err != nil { return err } var ok bool - for _, expected := range enumValues_SpecDistributionModulesPolicyType { + for _, expected := range enumValues_SpecDistributionModulesDrType { if reflect.DeepEqual(v, expected) { ok = true break } } if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesPolicyType, v) - } - *j = SpecDistributionModulesPolicyType(v) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecPluginsHelmReleasesElemSetElem) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["name"]; !ok || v == nil { - return fmt.Errorf("field name in SpecPluginsHelmReleasesElemSetElem: required") - } - if v, ok := raw["value"]; !ok || v == nil { - return fmt.Errorf("field value in SpecPluginsHelmReleasesElemSetElem: required") - } - type Plain SpecPluginsHelmReleasesElemSetElem - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesDrType, v) } - *j = SpecPluginsHelmReleasesElemSetElem(plain) + *j = SpecDistributionModulesDrType(v) return nil } -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressNginxTLSSecret) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["ca"]; !ok || v == nil { - return fmt.Errorf("field ca in SpecDistributionModulesIngressNginxTLSSecret: required") - } - if v, ok := raw["cert"]; !ok || v == nil { - return fmt.Errorf("field cert in SpecDistributionModulesIngressNginxTLSSecret: required") - } - if v, ok := raw["key"]; !ok || v == nil { - return fmt.Errorf("field key in SpecDistributionModulesIngressNginxTLSSecret: required") - } - type Plain SpecDistributionModulesIngressNginxTLSSecret - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesIngressNginxTLSSecret(plain) - return nil +var enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleSelfType = []interface{}{ + "ingress", + "egress", } // UnmarshalJSON implements json.Unmarshaler. -func (j *TypesKubeTolerationOperator) UnmarshalJSON(b []byte) error { +func (j *SpecKubernetesNodePoolAdditionalFirewallRuleSelfType) UnmarshalJSON(b []byte) error { var v string if err := json.Unmarshal(b, &v); err != nil { return err } var ok bool - for _, expected := range enumValues_TypesKubeTolerationOperator { + for _, expected := range enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleSelfType { if reflect.DeepEqual(v, expected) { ok = true break } } if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_TypesKubeTolerationOperator, v) + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleSelfType, v) } - *j = TypesKubeTolerationOperator(v) + *j = SpecKubernetesNodePoolAdditionalFirewallRuleSelfType(v) return nil } +var enumValues_SpecDistributionModulesDrType = []interface{}{ + "none", + "eks", +} + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetes) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesAws) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["apiServer"]; !ok || v == nil { - return fmt.Errorf("field apiServer in SpecKubernetes: required") + if v, ok := raw["clusterAutoscaler"]; !ok || v == nil { + return fmt.Errorf("field clusterAutoscaler in SpecDistributionModulesAws: required") } - if v, ok := raw["nodeAllowedSshPublicKey"]; !ok || v == nil { - return fmt.Errorf("field nodeAllowedSshPublicKey in SpecKubernetes: required") + if v, ok := raw["ebsCsiDriver"]; !ok || v == nil { + return fmt.Errorf("field ebsCsiDriver in SpecDistributionModulesAws: required") } - if v, ok := raw["nodePools"]; !ok || v == nil { - return fmt.Errorf("field nodePools in SpecKubernetes: required") + if v, ok := raw["loadBalancerController"]; !ok || v == nil { + return fmt.Errorf("field loadBalancerController in SpecDistributionModulesAws: required") } - if v, ok := raw["nodePoolsLaunchKind"]; !ok || v == nil { - return fmt.Errorf("field nodePoolsLaunchKind in SpecKubernetes: required") + if v, ok := raw["overrides"]; !ok || v == nil { + return fmt.Errorf("field overrides in SpecDistributionModulesAws: required") } - type Plain SpecKubernetes + type Plain SpecDistributionModulesAws var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecKubernetes(plain) + *j = SpecDistributionModulesAws(plain) return nil } -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesLoggingType) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecDistributionModulesLoggingType { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesLoggingType, v) - } - *j = SpecDistributionModulesLoggingType(v) - return nil +type TypesFuryModuleOverrides struct { + // Ingresses corresponds to the JSON schema field "ingresses". + Ingresses TypesFuryModuleOverridesIngresses `json:"ingresses,omitempty" yaml:"ingresses,omitempty" mapstructure:"ingresses,omitempty"` + + // The node selector to use to place the pods for the dr module + NodeSelector TypesKubeNodeSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty" mapstructure:"nodeSelector,omitempty"` + + // The tolerations that will be added to the pods for the monitoring module + Tolerations []TypesKubeToleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"` } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecPluginsHelmReleasesElemSetElem) UnmarshalJSON(b []byte) error { +func (j *SpecKubernetesNodePoolAdditionalFirewallRuleSelf) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } if v, ok := raw["name"]; !ok || v == nil { - return fmt.Errorf("field name in SpecPluginsHelmReleasesElemSetElem: required") + return fmt.Errorf("field name in SpecKubernetesNodePoolAdditionalFirewallRuleSelf: required") } - if v, ok := raw["value"]; !ok || v == nil { - return fmt.Errorf("field value in SpecPluginsHelmReleasesElemSetElem: required") + if v, ok := raw["ports"]; !ok || v == nil { + return fmt.Errorf("field ports in SpecKubernetesNodePoolAdditionalFirewallRuleSelf: required") } - type Plain SpecPluginsHelmReleasesElemSetElem - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err + if v, ok := raw["protocol"]; !ok || v == nil { + return fmt.Errorf("field protocol in SpecKubernetesNodePoolAdditionalFirewallRuleSelf: required") } - *j = SpecPluginsHelmReleasesElemSetElem(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesLoggingOpensearch) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err + if v, ok := raw["self"]; !ok || v == nil { + return fmt.Errorf("field self in SpecKubernetesNodePoolAdditionalFirewallRuleSelf: required") } if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecDistributionModulesLoggingOpensearch: required") + return fmt.Errorf("field type in SpecKubernetesNodePoolAdditionalFirewallRuleSelf: required") } - type Plain SpecDistributionModulesLoggingOpensearch + type Plain SpecKubernetesNodePoolAdditionalFirewallRuleSelf var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesLoggingOpensearch(plain) + *j = SpecKubernetesNodePoolAdditionalFirewallRuleSelf(plain) return nil } +type TypesFuryModuleOverridesIngresses map[string]TypesFuryModuleOverridesIngress + +var enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdType = []interface{}{ + "ingress", + "egress", +} + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesLoggingOpensearchType) UnmarshalJSON(b []byte) error { +func (j *SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdType) UnmarshalJSON(b []byte) error { var v string if err := json.Unmarshal(b, &v); err != nil { return err } var ok bool - for _, expected := range enumValues_SpecDistributionModulesLoggingOpensearchType { + for _, expected := range enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdType { if reflect.DeepEqual(v, expected) { ok = true break } } if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesLoggingOpensearchType, v) + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdType, v) } - *j = SpecDistributionModulesLoggingOpensearchType(v) + *j = SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdType(v) return nil } +type TypesFuryModuleOverridesIngress struct { + // If true, the ingress will not have authentication + DisableAuth *bool `json:"disableAuth,omitempty" yaml:"disableAuth,omitempty" mapstructure:"disableAuth,omitempty"` + + // The host of the ingress + Host *string `json:"host,omitempty" yaml:"host,omitempty" mapstructure:"host,omitempty"` + + // The ingress class of the ingress + IngressClass *string `json:"ingressClass,omitempty" yaml:"ingressClass,omitempty" mapstructure:"ingressClass,omitempty"` +} + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesDrVeleroEks) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesAwsLoadBalancerController) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["bucketName"]; !ok || v == nil { - return fmt.Errorf("field bucketName in SpecDistributionModulesDrVeleroEks: required") - } if v, ok := raw["iamRoleArn"]; !ok || v == nil { - return fmt.Errorf("field iamRoleArn in SpecDistributionModulesDrVeleroEks: required") - } - if v, ok := raw["region"]; !ok || v == nil { - return fmt.Errorf("field region in SpecDistributionModulesDrVeleroEks: required") + return fmt.Errorf("field iamRoleArn in SpecDistributionModulesAwsLoadBalancerController: required") } - type Plain SpecDistributionModulesDrVeleroEks + type Plain SpecDistributionModulesAwsLoadBalancerController var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesDrVeleroEks(plain) + *j = SpecDistributionModulesAwsLoadBalancerController(plain) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesDrVelero) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesAwsEbsCsiDriver) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["eks"]; !ok || v == nil { - return fmt.Errorf("field eks in SpecDistributionModulesDrVelero: required") + if v, ok := raw["iamRoleArn"]; !ok || v == nil { + return fmt.Errorf("field iamRoleArn in SpecDistributionModulesAwsEbsCsiDriver: required") } - type Plain SpecDistributionModulesDrVelero + type Plain SpecDistributionModulesAwsEbsCsiDriver var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesDrVelero(plain) + *j = SpecDistributionModulesAwsEbsCsiDriver(plain) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesDr) UnmarshalJSON(b []byte) error { +func (j *SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecDistributionModulesDr: required") - } - type Plain SpecDistributionModulesDr - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err + if v, ok := raw["name"]; !ok || v == nil { + return fmt.Errorf("field name in SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId: required") } - *j = SpecDistributionModulesDr(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressClusterIssuerRoute53) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err + if v, ok := raw["ports"]; !ok || v == nil { + return fmt.Errorf("field ports in SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId: required") } - if v, ok := raw["hostedZoneId"]; !ok || v == nil { - return fmt.Errorf("field hostedZoneId in SpecDistributionModulesIngressClusterIssuerRoute53: required") + if v, ok := raw["protocol"]; !ok || v == nil { + return fmt.Errorf("field protocol in SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId: required") } - if v, ok := raw["iamRoleArn"]; !ok || v == nil { - return fmt.Errorf("field iamRoleArn in SpecDistributionModulesIngressClusterIssuerRoute53: required") + if v, ok := raw["sourceSecurityGroupId"]; !ok || v == nil { + return fmt.Errorf("field sourceSecurityGroupId in SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId: required") } - if v, ok := raw["region"]; !ok || v == nil { - return fmt.Errorf("field region in SpecDistributionModulesIngressClusterIssuerRoute53: required") + if v, ok := raw["type"]; !ok || v == nil { + return fmt.Errorf("field type in SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId: required") } - type Plain SpecDistributionModulesIngressClusterIssuerRoute53 + type Plain SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesIngressClusterIssuerRoute53(plain) + *j = SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId(plain) return nil } -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressCertManagerClusterIssuerType) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecDistributionModulesIngressCertManagerClusterIssuerType { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesIngressCertManagerClusterIssuerType, v) - } - *j = SpecDistributionModulesIngressCertManagerClusterIssuerType(v) - return nil -} +type TypesAwsTags map[string]string // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecToolsConfigurationTerraformStateS3) UnmarshalJSON(b []byte) error { +func (j *SpecKubernetesNodePoolAdditionalFirewallRules) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["bucketName"]; !ok || v == nil { - return fmt.Errorf("field bucketName in SpecToolsConfigurationTerraformStateS3: required") - } - if v, ok := raw["keyPrefix"]; !ok || v == nil { - return fmt.Errorf("field keyPrefix in SpecToolsConfigurationTerraformStateS3: required") - } - if v, ok := raw["region"]; !ok || v == nil { - return fmt.Errorf("field region in SpecToolsConfigurationTerraformStateS3: required") - } - type Plain SpecToolsConfigurationTerraformStateS3 + type Plain SpecKubernetesNodePoolAdditionalFirewallRules var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecToolsConfigurationTerraformStateS3(plain) + if plain.CidrBlocks != nil && len(plain.CidrBlocks) < 1 { + return fmt.Errorf("field %s length: must be >= %d", "cidrBlocks", 1) + } + if plain.Self != nil && len(plain.Self) < 1 { + return fmt.Errorf("field %s length: must be >= %d", "self", 1) + } + if plain.SourceSecurityGroupId != nil && len(plain.SourceSecurityGroupId) < 1 { + return fmt.Errorf("field %s length: must be >= %d", "sourceSecurityGroupId", 1) + } + *j = SpecKubernetesNodePoolAdditionalFirewallRules(plain) return nil } +type TypesFuryModuleComponentOverridesWithIAMRoleName struct { + // IamRoleName corresponds to the JSON schema field "iamRoleName". + IamRoleName *TypesAwsIamRoleName `json:"iamRoleName,omitempty" yaml:"iamRoleName,omitempty" mapstructure:"iamRoleName,omitempty"` + + // The node selector to use to place the pods for the load balancer controller + // module + NodeSelector TypesKubeNodeSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty" mapstructure:"nodeSelector,omitempty"` + + // The tolerations that will be added to the pods for the cluster autoscaler + // module + Tolerations []TypesKubeToleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"` +} + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressCertManagerClusterIssuer) UnmarshalJSON(b []byte) error { +func (j *SpecKubernetesNodePoolAmi) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["email"]; !ok || v == nil { - return fmt.Errorf("field email in SpecDistributionModulesIngressCertManagerClusterIssuer: required") - } - if v, ok := raw["name"]; !ok || v == nil { - return fmt.Errorf("field name in SpecDistributionModulesIngressCertManagerClusterIssuer: required") + if v, ok := raw["id"]; !ok || v == nil { + return fmt.Errorf("field id in SpecKubernetesNodePoolAmi: required") } - if v, ok := raw["route53"]; !ok || v == nil { - return fmt.Errorf("field route53 in SpecDistributionModulesIngressCertManagerClusterIssuer: required") + if v, ok := raw["owner"]; !ok || v == nil { + return fmt.Errorf("field owner in SpecKubernetesNodePoolAmi: required") } - type Plain SpecDistributionModulesIngressCertManagerClusterIssuer + type Plain SpecKubernetesNodePoolAmi var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesIngressCertManagerClusterIssuer(plain) + *j = SpecKubernetesNodePoolAmi(plain) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecToolsConfigurationTerraformState) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesAuth) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["s3"]; !ok || v == nil { - return fmt.Errorf("field s3 in SpecToolsConfigurationTerraformState: required") + if v, ok := raw["provider"]; !ok || v == nil { + return fmt.Errorf("field provider in SpecDistributionModulesAuth: required") } - type Plain SpecToolsConfigurationTerraformState + type Plain SpecDistributionModulesAuth var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecToolsConfigurationTerraformState(plain) + *j = SpecDistributionModulesAuth(plain) return nil } +var enumValues_SpecKubernetesNodePoolContainerRuntime = []interface{}{ + "docker", + "containerd", +} + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesLoggingLokiBackend) UnmarshalJSON(b []byte) error { +func (j *SpecKubernetesNodePoolContainerRuntime) UnmarshalJSON(b []byte) error { var v string if err := json.Unmarshal(b, &v); err != nil { return err } var ok bool - for _, expected := range enumValues_SpecDistributionModulesLoggingLokiBackend { + for _, expected := range enumValues_SpecKubernetesNodePoolContainerRuntime { if reflect.DeepEqual(v, expected) { ok = true break } } if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesLoggingLokiBackend, v) + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecKubernetesNodePoolContainerRuntime, v) } - *j = SpecDistributionModulesLoggingLokiBackend(v) + *j = SpecKubernetesNodePoolContainerRuntime(v) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecToolsConfigurationTerraform) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesAuthProvider) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["state"]; !ok || v == nil { - return fmt.Errorf("field state in SpecToolsConfigurationTerraform: required") + if v, ok := raw["type"]; !ok || v == nil { + return fmt.Errorf("field type in SpecDistributionModulesAuthProvider: required") } - type Plain SpecToolsConfigurationTerraform + type Plain SpecDistributionModulesAuthProvider var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecToolsConfigurationTerraform(plain) + *j = SpecDistributionModulesAuthProvider(plain) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressCertManager) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { +func (j *SpecDistributionModulesAuthProviderType) UnmarshalJSON(b []byte) error { + var v string + if err := json.Unmarshal(b, &v); err != nil { return err } - if v, ok := raw["clusterIssuer"]; !ok || v == nil { - return fmt.Errorf("field clusterIssuer in SpecDistributionModulesIngressCertManager: required") + var ok bool + for _, expected := range enumValues_SpecDistributionModulesAuthProviderType { + if reflect.DeepEqual(v, expected) { + ok = true + break + } } - type Plain SpecDistributionModulesIngressCertManager - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err + if !ok { + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesAuthProviderType, v) } - *j = SpecDistributionModulesIngressCertManager(plain) + *j = SpecDistributionModulesAuthProviderType(v) return nil } +var enumValues_SpecDistributionModulesAuthProviderType = []interface{}{ + "none", + "basicAuth", + "sso", +} + +var enumValues_SpecKubernetesNodePoolInstanceVolumeType = []interface{}{ + "gp2", + "gp3", + "io1", + "standard", +} + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecToolsConfiguration) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { +func (j *SpecKubernetesNodePoolInstanceVolumeType) UnmarshalJSON(b []byte) error { + var v string + if err := json.Unmarshal(b, &v); err != nil { return err } - if v, ok := raw["terraform"]; !ok || v == nil { - return fmt.Errorf("field terraform in SpecToolsConfiguration: required") + var ok bool + for _, expected := range enumValues_SpecKubernetesNodePoolInstanceVolumeType { + if reflect.DeepEqual(v, expected) { + ok = true + break + } } - type Plain SpecToolsConfiguration - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err + if !ok { + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecKubernetesNodePoolInstanceVolumeType, v) } - *j = SpecToolsConfiguration(plain) + *j = SpecKubernetesNodePoolInstanceVolumeType(v) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressDNSPrivate) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesAuthProviderBasicAuth) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["create"]; !ok || v == nil { - return fmt.Errorf("field create in SpecDistributionModulesIngressDNSPrivate: required") - } - if v, ok := raw["name"]; !ok || v == nil { - return fmt.Errorf("field name in SpecDistributionModulesIngressDNSPrivate: required") + if v, ok := raw["password"]; !ok || v == nil { + return fmt.Errorf("field password in SpecDistributionModulesAuthProviderBasicAuth: required") } - if v, ok := raw["vpcId"]; !ok || v == nil { - return fmt.Errorf("field vpcId in SpecDistributionModulesIngressDNSPrivate: required") + if v, ok := raw["username"]; !ok || v == nil { + return fmt.Errorf("field username in SpecDistributionModulesAuthProviderBasicAuth: required") } - type Plain SpecDistributionModulesIngressDNSPrivate + type Plain SpecDistributionModulesAuthProviderBasicAuth var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesIngressDNSPrivate(plain) + *j = SpecDistributionModulesAuthProviderBasicAuth(plain) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *Spec) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesAuthPomerium) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["distribution"]; !ok || v == nil { - return fmt.Errorf("field distribution in Spec: required") - } - if v, ok := raw["distributionVersion"]; !ok || v == nil { - return fmt.Errorf("field distributionVersion in Spec: required") - } - if v, ok := raw["kubernetes"]; !ok || v == nil { - return fmt.Errorf("field kubernetes in Spec: required") - } - if v, ok := raw["region"]; !ok || v == nil { - return fmt.Errorf("field region in Spec: required") + if v, ok := raw["policy"]; !ok || v == nil { + return fmt.Errorf("field policy in SpecDistributionModulesAuthPomerium: required") } - if v, ok := raw["toolsConfiguration"]; !ok || v == nil { - return fmt.Errorf("field toolsConfiguration in Spec: required") + if v, ok := raw["secrets"]; !ok || v == nil { + return fmt.Errorf("field secrets in SpecDistributionModulesAuthPomerium: required") } - type Plain Spec + type Plain SpecDistributionModulesAuthPomerium var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - if len(plain.DistributionVersion) < 1 { - return fmt.Errorf("field %s length: must be >= %d", "distributionVersion", 1) - } - *j = Spec(plain) + *j = SpecDistributionModulesAuthPomerium(plain) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngress) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesAuthPomeriumSecrets) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["baseDomain"]; !ok || v == nil { - return fmt.Errorf("field baseDomain in SpecDistributionModulesIngress: required") - } - if v, ok := raw["certManager"]; !ok || v == nil { - return fmt.Errorf("field certManager in SpecDistributionModulesIngress: required") - } - if v, ok := raw["dns"]; !ok || v == nil { - return fmt.Errorf("field dns in SpecDistributionModulesIngress: required") + if v, ok := raw["COOKIE_SECRET"]; !ok || v == nil { + return fmt.Errorf("field COOKIE_SECRET in SpecDistributionModulesAuthPomeriumSecrets: required") } - if v, ok := raw["externalDns"]; !ok || v == nil { - return fmt.Errorf("field externalDns in SpecDistributionModulesIngress: required") + if v, ok := raw["IDP_CLIENT_SECRET"]; !ok || v == nil { + return fmt.Errorf("field IDP_CLIENT_SECRET in SpecDistributionModulesAuthPomeriumSecrets: required") } - if v, ok := raw["nginx"]; !ok || v == nil { - return fmt.Errorf("field nginx in SpecDistributionModulesIngress: required") + if v, ok := raw["SHARED_SECRET"]; !ok || v == nil { + return fmt.Errorf("field SHARED_SECRET in SpecDistributionModulesAuthPomeriumSecrets: required") } - type Plain SpecDistributionModulesIngress + type Plain SpecDistributionModulesAuthPomeriumSecrets var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesIngress(plain) + *j = SpecDistributionModulesAuthPomeriumSecrets(plain) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressDNSPublic) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesAuthOverridesIngress) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["create"]; !ok || v == nil { - return fmt.Errorf("field create in SpecDistributionModulesIngressDNSPublic: required") + if v, ok := raw["host"]; !ok || v == nil { + return fmt.Errorf("field host in SpecDistributionModulesAuthOverridesIngress: required") } - if v, ok := raw["name"]; !ok || v == nil { - return fmt.Errorf("field name in SpecDistributionModulesIngressDNSPublic: required") + if v, ok := raw["ingressClass"]; !ok || v == nil { + return fmt.Errorf("field ingressClass in SpecDistributionModulesAuthOverridesIngress: required") } - type Plain SpecDistributionModulesIngressDNSPublic + type Plain SpecDistributionModulesAuthOverridesIngress var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesIngressDNSPublic(plain) + *j = SpecDistributionModulesAuthOverridesIngress(plain) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressDNS) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesAuthDex) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["private"]; !ok || v == nil { - return fmt.Errorf("field private in SpecDistributionModulesIngressDNS: required") - } - if v, ok := raw["public"]; !ok || v == nil { - return fmt.Errorf("field public in SpecDistributionModulesIngressDNS: required") + if v, ok := raw["connectors"]; !ok || v == nil { + return fmt.Errorf("field connectors in SpecDistributionModulesAuthDex: required") } - type Plain SpecDistributionModulesIngressDNS + type Plain SpecDistributionModulesAuthDex var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesIngressDNS(plain) + *j = SpecDistributionModulesAuthDex(plain) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressExternalDNS) UnmarshalJSON(b []byte) error { +func (j *SpecKubernetesNodePoolInstance) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["privateIamRoleArn"]; !ok || v == nil { - return fmt.Errorf("field privateIamRoleArn in SpecDistributionModulesIngressExternalDNS: required") - } - if v, ok := raw["publicIamRoleArn"]; !ok || v == nil { - return fmt.Errorf("field publicIamRoleArn in SpecDistributionModulesIngressExternalDNS: required") + if v, ok := raw["type"]; !ok || v == nil { + return fmt.Errorf("field type in SpecKubernetesNodePoolInstance: required") } - type Plain SpecDistributionModulesIngressExternalDNS + type Plain SpecKubernetesNodePoolInstance var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesIngressExternalDNS(plain) + *j = SpecKubernetesNodePoolInstance(plain) return nil } +type TypesKubeLabels_1 map[string]string + +type TypesFuryModuleComponentOverrides struct { + // The node selector to use to place the pods for the minio module + NodeSelector TypesKubeNodeSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty" mapstructure:"nodeSelector,omitempty"` + + // The tolerations that will be added to the pods for the cert-manager module + Tolerations []TypesKubeToleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"` +} + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressNginx) UnmarshalJSON(b []byte) error { +func (j *SpecKubernetesNodePoolSize) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecDistributionModulesIngressNginx: required") + if v, ok := raw["max"]; !ok || v == nil { + return fmt.Errorf("field max in SpecKubernetesNodePoolSize: required") } - type Plain SpecDistributionModulesIngressNginx + if v, ok := raw["min"]; !ok || v == nil { + return fmt.Errorf("field min in SpecKubernetesNodePoolSize: required") + } + type Plain SpecKubernetesNodePoolSize var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesIngressNginx(plain) + *j = SpecKubernetesNodePoolSize(plain) return nil } +type TypesAwsSubnetId string + +type TypesKubeTaints []string + +var enumValues_SpecDistributionModulesMonitoringType = []interface{}{ + "none", + "prometheus", + "prometheusAgent", + "mimir", +} + +var enumValues_SpecKubernetesNodePoolType = []interface{}{ + "eks-managed", + "self-managed", +} + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressNginxTLSProvider) UnmarshalJSON(b []byte) error { +func (j *SpecKubernetesNodePoolType) UnmarshalJSON(b []byte) error { var v string if err := json.Unmarshal(b, &v); err != nil { return err } var ok bool - for _, expected := range enumValues_SpecDistributionModulesIngressNginxTLSProvider { + for _, expected := range enumValues_SpecKubernetesNodePoolType { if reflect.DeepEqual(v, expected) { ok = true break } } if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesIngressNginxTLSProvider, v) + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecKubernetesNodePoolType, v) } - *j = SpecDistributionModulesIngressNginxTLSProvider(v) + *j = SpecKubernetesNodePoolType(v) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressNginxTLSSecret) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { +func (j *SpecDistributionCustomPatchesSecretGeneratorResourceBehavior) UnmarshalJSON(b []byte) error { + var v string + if err := json.Unmarshal(b, &v); err != nil { return err } - if v, ok := raw["ca"]; !ok || v == nil { - return fmt.Errorf("field ca in SpecDistributionModulesIngressNginxTLSSecret: required") - } - if v, ok := raw["cert"]; !ok || v == nil { - return fmt.Errorf("field cert in SpecDistributionModulesIngressNginxTLSSecret: required") - } - if v, ok := raw["key"]; !ok || v == nil { - return fmt.Errorf("field key in SpecDistributionModulesIngressNginxTLSSecret: required") + var ok bool + for _, expected := range enumValues_SpecDistributionCustomPatchesSecretGeneratorResourceBehavior { + if reflect.DeepEqual(v, expected) { + ok = true + break + } } - type Plain SpecDistributionModulesIngressNginxTLSSecret - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err + if !ok { + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionCustomPatchesSecretGeneratorResourceBehavior, v) } - *j = SpecDistributionModulesIngressNginxTLSSecret(plain) + *j = SpecDistributionCustomPatchesSecretGeneratorResourceBehavior(v) return nil } +var enumValues_SpecDistributionCustomPatchesSecretGeneratorResourceBehavior = []interface{}{ + "create", + "replace", + "merge", +} + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionCommonProvider) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionCustomPatchesConfigMapGeneratorResource) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecDistributionCommonProvider: required") + if v, ok := raw["name"]; !ok || v == nil { + return fmt.Errorf("field name in SpecDistributionCustomPatchesConfigMapGeneratorResource: required") } - type Plain SpecDistributionCommonProvider + type Plain SpecDistributionCustomPatchesConfigMapGeneratorResource var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionCommonProvider(plain) + *j = SpecDistributionCustomPatchesConfigMapGeneratorResource(plain) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressNginxTLS) UnmarshalJSON(b []byte) error { +func (j *SpecKubernetesNodePool) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["provider"]; !ok || v == nil { - return fmt.Errorf("field provider in SpecDistributionModulesIngressNginxTLS: required") + if v, ok := raw["instance"]; !ok || v == nil { + return fmt.Errorf("field instance in SpecKubernetesNodePool: required") } - type Plain SpecDistributionModulesIngressNginxTLS + if v, ok := raw["name"]; !ok || v == nil { + return fmt.Errorf("field name in SpecKubernetesNodePool: required") + } + if v, ok := raw["size"]; !ok || v == nil { + return fmt.Errorf("field size in SpecKubernetesNodePool: required") + } + type Plain SpecKubernetesNodePool var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesIngressNginxTLS(plain) + *j = SpecKubernetesNodePool(plain) return nil } +type TypesKubeLabels map[string]string + +var enumValues_SpecKubernetesNodePoolsLaunchKind = []interface{}{ + "launch_configurations", + "launch_templates", + "both", +} + // UnmarshalJSON implements json.Unmarshaler. -func (j *EksclusterKfdV1Alpha2Kind) UnmarshalJSON(b []byte) error { +func (j *SpecKubernetesNodePoolsLaunchKind) UnmarshalJSON(b []byte) error { var v string if err := json.Unmarshal(b, &v); err != nil { return err } var ok bool - for _, expected := range enumValues_EksclusterKfdV1Alpha2Kind { + for _, expected := range enumValues_SpecKubernetesNodePoolsLaunchKind { if reflect.DeepEqual(v, expected) { ok = true break } } if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_EksclusterKfdV1Alpha2Kind, v) + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecKubernetesNodePoolsLaunchKind, v) } - *j = EksclusterKfdV1Alpha2Kind(v) + *j = SpecKubernetesNodePoolsLaunchKind(v) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressNginxType) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior) UnmarshalJSON(b []byte) error { var v string if err := json.Unmarshal(b, &v); err != nil { return err } var ok bool - for _, expected := range enumValues_SpecDistributionModulesIngressNginxType { + for _, expected := range enumValues_SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior { if reflect.DeepEqual(v, expected) { ok = true break } } if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesIngressNginxType, v) + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior, v) } - *j = SpecDistributionModulesIngressNginxType(v) + *j = SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior(v) return nil } -// UnmarshalJSON implements json.Unmarshaler. -func (j *Metadata) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["name"]; !ok || v == nil { - return fmt.Errorf("field name in Metadata: required") - } - type Plain Metadata - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - if len(plain.Name) < 1 { - return fmt.Errorf("field %s length: must be >= %d", "name", 1) - } - if len(plain.Name) > 19 { - return fmt.Errorf("field %s length: must be <= %d", "name", 19) - } - *j = Metadata(plain) - return nil +var enumValues_SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior = []interface{}{ + "create", + "replace", + "merge", } // UnmarshalJSON implements json.Unmarshaler. -func (j *EksclusterKfdV1Alpha2) UnmarshalJSON(b []byte) error { +func (j *TypesKubeToleration) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["apiVersion"]; !ok || v == nil { - return fmt.Errorf("field apiVersion in EksclusterKfdV1Alpha2: required") - } - if v, ok := raw["kind"]; !ok || v == nil { - return fmt.Errorf("field kind in EksclusterKfdV1Alpha2: required") - } - if v, ok := raw["metadata"]; !ok || v == nil { - return fmt.Errorf("field metadata in EksclusterKfdV1Alpha2: required") + if v, ok := raw["effect"]; !ok || v == nil { + return fmt.Errorf("field effect in TypesKubeToleration: required") } - if v, ok := raw["spec"]; !ok || v == nil { - return fmt.Errorf("field spec in EksclusterKfdV1Alpha2: required") + if v, ok := raw["key"]; !ok || v == nil { + return fmt.Errorf("field key in TypesKubeToleration: required") } - type Plain EksclusterKfdV1Alpha2 + type Plain TypesKubeToleration var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = EksclusterKfdV1Alpha2(plain) + *j = TypesKubeToleration(plain) return nil } +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"` +} + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesPolicyKyverno) UnmarshalJSON(b []byte) error { +func (j *SpecKubernetes) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["installDefaultPolicies"]; !ok || v == nil { - return fmt.Errorf("field installDefaultPolicies in SpecDistributionModulesPolicyKyverno: required") - } - if v, ok := raw["validationFailureAction"]; !ok || v == nil { - return fmt.Errorf("field validationFailureAction in SpecDistributionModulesPolicyKyverno: required") + if v, ok := raw["apiServer"]; !ok || v == nil { + return fmt.Errorf("field apiServer in SpecKubernetes: required") } - type Plain SpecDistributionModulesPolicyKyverno - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err + if v, ok := raw["nodeAllowedSshPublicKey"]; !ok || v == nil { + return fmt.Errorf("field nodeAllowedSshPublicKey in SpecKubernetes: required") } - *j = SpecDistributionModulesPolicyKyverno(plain) - return nil -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressNginxTLS) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err + if v, ok := raw["nodePools"]; !ok || v == nil { + return fmt.Errorf("field nodePools in SpecKubernetes: required") } - if v, ok := raw["provider"]; !ok || v == nil { - return fmt.Errorf("field provider in SpecDistributionModulesIngressNginxTLS: required") + if v, ok := raw["nodePoolsLaunchKind"]; !ok || v == nil { + return fmt.Errorf("field nodePoolsLaunchKind in SpecKubernetes: required") } - type Plain SpecDistributionModulesIngressNginxTLS + type Plain SpecKubernetes var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesIngressNginxTLS(plain) + *j = SpecKubernetes(plain) return nil } +const TypesKubeTolerationOperatorEqual TypesKubeTolerationOperator = "Equal" + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressNginxType) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { +func (j *SpecPluginsHelmReleasesElemSetElem) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { return err } - var ok bool - for _, expected := range enumValues_SpecDistributionModulesIngressNginxType { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesIngressNginxType, v) + if v, ok := raw["name"]; !ok || v == nil { + return fmt.Errorf("field name in SpecPluginsHelmReleasesElemSetElem: required") } - *j = SpecDistributionModulesIngressNginxType(v) + if v, ok := raw["value"]; !ok || v == nil { + return fmt.Errorf("field value in SpecPluginsHelmReleasesElemSetElem: required") + } + type Plain SpecPluginsHelmReleasesElemSetElem + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecPluginsHelmReleasesElemSetElem(plain) return nil } +const TypesKubeTolerationOperatorExists TypesKubeTolerationOperator = "Exists" + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesPolicyKyvernoValidationFailureAction) UnmarshalJSON(b []byte) error { +func (j *TypesKubeTolerationOperator) UnmarshalJSON(b []byte) error { var v string if err := json.Unmarshal(b, &v); err != nil { return err } var ok bool - for _, expected := range enumValues_SpecDistributionModulesPolicyKyvernoValidationFailureAction { + for _, expected := range enumValues_TypesKubeTolerationOperator { if reflect.DeepEqual(v, expected) { ok = true break } } if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesPolicyKyvernoValidationFailureAction, v) + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_TypesKubeTolerationOperator, v) } - *j = SpecDistributionModulesPolicyKyvernoValidationFailureAction(v) + *j = TypesKubeTolerationOperator(v) return nil } +var enumValues_TypesKubeTolerationOperator = []interface{}{ + "Exists", + "Equal", +} + +type TypesKubeTolerationOperator string + +const TypesKubeTolerationEffectNoExecute TypesKubeTolerationEffect = "NoExecute" + +type TypesAwsS3KeyPrefix string + +const TypesKubeTolerationEffectPreferNoSchedule TypesKubeTolerationEffect = "PreferNoSchedule" + // UnmarshalJSON implements json.Unmarshaler. func (j *SpecToolsConfigurationTerraformStateS3) UnmarshalJSON(b []byte) error { var raw map[string]interface{} @@ -4605,23 +3746,7 @@ func (j *SpecToolsConfigurationTerraformStateS3) UnmarshalJSON(b []byte) error { return nil } -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressNginx) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecDistributionModulesIngressNginx: required") - } - type Plain SpecDistributionModulesIngressNginx - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesIngressNginx(plain) - return nil -} +const TypesKubeTolerationEffectNoSchedule TypesKubeTolerationEffect = "NoSchedule" // UnmarshalJSON implements json.Unmarshaler. func (j *SpecToolsConfigurationTerraformState) UnmarshalJSON(b []byte) error { @@ -4703,26 +3828,7 @@ func (j *SpecToolsConfiguration) UnmarshalJSON(b []byte) error { return nil } -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesPolicyGatekeeper) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["enforcementAction"]; !ok || v == nil { - return fmt.Errorf("field enforcementAction in SpecDistributionModulesPolicyGatekeeper: required") - } - if v, ok := raw["installDefaultPolicies"]; !ok || v == nil { - return fmt.Errorf("field installDefaultPolicies in SpecDistributionModulesPolicyGatekeeper: required") - } - type Plain SpecDistributionModulesPolicyGatekeeper - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesPolicyGatekeeper(plain) - return nil -} +type TypesKubeTolerationEffect string // UnmarshalJSON implements json.Unmarshaler. func (j *Spec) UnmarshalJSON(b []byte) error { @@ -4757,151 +3863,19 @@ func (j *Spec) UnmarshalJSON(b []byte) error { return nil } -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngress) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["baseDomain"]; !ok || v == nil { - return fmt.Errorf("field baseDomain in SpecDistributionModulesIngress: required") - } - if v, ok := raw["certManager"]; !ok || v == nil { - return fmt.Errorf("field certManager in SpecDistributionModulesIngress: required") - } - if v, ok := raw["dns"]; !ok || v == nil { - return fmt.Errorf("field dns in SpecDistributionModulesIngress: required") - } - if v, ok := raw["externalDns"]; !ok || v == nil { - return fmt.Errorf("field externalDns in SpecDistributionModulesIngress: required") - } - if v, ok := raw["nginx"]; !ok || v == nil { - return fmt.Errorf("field nginx in SpecDistributionModulesIngress: required") - } - type Plain SpecDistributionModulesIngress - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesIngress(plain) - return nil -} +type TypesAwsSshPubKey string -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesLoggingLokiBackend) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecDistributionModulesLoggingLokiBackend { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesLoggingLokiBackend, v) - } - *j = SpecDistributionModulesLoggingLokiBackend(v) - return nil -} +type TypesEnvRef string -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesPolicyGatekeeperEnforcementAction) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecDistributionModulesPolicyGatekeeperEnforcementAction { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesPolicyGatekeeperEnforcementAction, v) - } - *j = SpecDistributionModulesPolicyGatekeeperEnforcementAction(v) - return nil -} +type TypesFileRef string -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesNetworkingType) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecDistributionModulesNetworkingType { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesNetworkingType, v) - } - *j = SpecDistributionModulesNetworkingType(v) - return nil -} +type TypesIpAddress string -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesLoggingOpensearchType) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecDistributionModulesLoggingOpensearchType { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesLoggingOpensearchType, v) - } - *j = SpecDistributionModulesLoggingOpensearchType(v) - return nil -} +type TypesSemVer string -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesLoggingOpensearch) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecDistributionModulesLoggingOpensearch: required") - } - type Plain SpecDistributionModulesLoggingOpensearch - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesLoggingOpensearch(plain) - return nil -} +type TypesSshPubKey string -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesMonitoring) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecDistributionModulesMonitoring: required") - } - type Plain SpecDistributionModulesMonitoring - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesMonitoring(plain) - return nil -} +type TypesUri string // UnmarshalJSON implements json.Unmarshaler. func (j *SpecDistributionCommonProvider) UnmarshalJSON(b []byte) error { @@ -4921,24 +3895,8 @@ func (j *SpecDistributionCommonProvider) UnmarshalJSON(b []byte) error { return nil } -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesLoggingType) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecDistributionModulesLoggingType { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesLoggingType, v) - } - *j = SpecDistributionModulesLoggingType(v) - return nil +var enumValues_EksclusterKfdV1Alpha2Kind = []interface{}{ + "EKSCluster", } // UnmarshalJSON implements json.Unmarshaler. @@ -4961,23 +3919,7 @@ func (j *EksclusterKfdV1Alpha2Kind) UnmarshalJSON(b []byte) error { return nil } -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesLogging) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecDistributionModulesLogging: required") - } - type Plain SpecDistributionModulesLogging - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesLogging(plain) - return nil -} +type TypesKubeNodeSelector map[string]string // UnmarshalJSON implements json.Unmarshaler. func (j *Metadata) UnmarshalJSON(b []byte) error { diff --git a/pkg/apis/ekscluster/v1alpha2/public/schema.go b/pkg/apis/ekscluster/v1alpha2/public/schema.go index 7383a83a..7923d9f9 100644 --- a/pkg/apis/ekscluster/v1alpha2/public/schema.go +++ b/pkg/apis/ekscluster/v1alpha2/public/schema.go @@ -8,42 +8,28 @@ import ( "reflect" ) -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesLogging) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecDistributionModulesLogging: required") - } - type Plain SpecDistributionModulesLogging - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesLogging(plain) - return nil +// A Fury Cluster deployed through AWS's Elastic Kubernetes Service +type EksclusterKfdV1Alpha2 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 EksclusterKfdV1Alpha2Kind `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"` } -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesLoggingLokiBackend) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecDistributionModulesLoggingLokiBackend { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesLoggingLokiBackend, v) - } - *j = SpecDistributionModulesLoggingLokiBackend(v) - return nil +type EksclusterKfdV1Alpha2Kind string + +const EksclusterKfdV1Alpha2KindEKSCluster EksclusterKfdV1Alpha2Kind = "EKSCluster" + +type Metadata struct { + // Name corresponds to the JSON schema field "name". + Name string `json:"name" yaml:"name" mapstructure:"name"` } type Spec struct { @@ -73,125 +59,15 @@ type Spec struct { ToolsConfiguration SpecToolsConfiguration `json:"toolsConfiguration" yaml:"toolsConfiguration" mapstructure:"toolsConfiguration"` } -type TypesKubeNodeSelector map[string]string - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionCommonProvider) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecDistributionCommonProvider: required") - } - type Plain SpecDistributionCommonProvider - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionCommonProvider(plain) - return nil -} - -type TypesKubeTolerationEffect string - -var enumValues_TypesKubeTolerationEffect = []interface{}{ - "NoSchedule", - "PreferNoSchedule", - "NoExecute", -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *TypesKubeTolerationEffect) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_TypesKubeTolerationEffect { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_TypesKubeTolerationEffect, v) - } - *j = TypesKubeTolerationEffect(v) - return nil -} - -const ( - TypesKubeTolerationEffectNoExecute TypesKubeTolerationEffect = "NoExecute" - TypesKubeTolerationEffectNoSchedule TypesKubeTolerationEffect = "NoSchedule" - TypesKubeTolerationEffectPreferNoSchedule TypesKubeTolerationEffect = "PreferNoSchedule" -) - -type TypesKubeTolerationOperator string - -var enumValues_TypesKubeTolerationOperator = []interface{}{ - "Exists", - "Equal", -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *TypesKubeTolerationOperator) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_TypesKubeTolerationOperator { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_TypesKubeTolerationOperator, v) - } - *j = TypesKubeTolerationOperator(v) - return nil -} - -type TypesKubeToleration struct { - // Effect corresponds to the JSON schema field "effect". - Effect TypesKubeTolerationEffect `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 `json:"operator,omitempty" yaml:"operator,omitempty" mapstructure:"operator,omitempty"` - - // Value corresponds to the JSON schema field "value". - Value *string `json:"value,omitempty" yaml:"value,omitempty" mapstructure:"value,omitempty"` -} +type SpecDistribution struct { + // Common corresponds to the JSON schema field "common". + Common *SpecDistributionCommon `json:"common,omitempty" yaml:"common,omitempty" mapstructure:"common,omitempty"` -const ( - TypesKubeTolerationOperatorEqual TypesKubeTolerationOperator = "Equal" - TypesKubeTolerationOperatorExists TypesKubeTolerationOperator = "Exists" -) + // CustomPatches corresponds to the JSON schema field "customPatches". + CustomPatches *SpecDistributionCustomPatches `json:"customPatches,omitempty" yaml:"customPatches,omitempty" mapstructure:"customPatches,omitempty"` -// UnmarshalJSON implements json.Unmarshaler. -func (j *TypesKubeToleration) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["effect"]; !ok || v == nil { - return fmt.Errorf("field effect in TypesKubeToleration: required") - } - if v, ok := raw["key"]; !ok || v == nil { - return fmt.Errorf("field key in TypesKubeToleration: required") - } - type Plain TypesKubeToleration - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = TypesKubeToleration(plain) - return nil + // Modules corresponds to the JSON schema field "modules". + Modules SpecDistributionModules `json:"modules" yaml:"modules" mapstructure:"modules"` } type SpecDistributionCommon struct { @@ -213,49 +89,26 @@ type SpecDistributionCommonProvider struct { Type string `json:"type" yaml:"type" mapstructure:"type"` } -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior, v) - } - *j = SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior(v) - return nil -} - -const ( - SpecDistributionCustomPatchesConfigMapGeneratorResourceBehaviorCreate SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior = "create" - SpecDistributionCustomPatchesConfigMapGeneratorResourceBehaviorMerge SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior = "merge" - SpecDistributionCustomPatchesConfigMapGeneratorResourceBehaviorReplace SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior = "replace" -) - -type TypesKubeLabels map[string]string +type SpecDistributionCustomPatches struct { + // ConfigMapGenerator corresponds to the JSON schema field "configMapGenerator". + ConfigMapGenerator SpecDistributionCustomPatchesConfigMapGenerator `json:"configMapGenerator,omitempty" yaml:"configMapGenerator,omitempty" mapstructure:"configMapGenerator,omitempty"` -type SpecDistributionCustomPatchesConfigMapGeneratorResourceOptions struct { - // Annotations corresponds to the JSON schema field "annotations". - Annotations TypesKubeLabels `json:"annotations,omitempty" yaml:"annotations,omitempty" mapstructure:"annotations,omitempty"` + // Images corresponds to the JSON schema field "images". + Images SpecDistributionCustomPatchesImages `json:"images,omitempty" yaml:"images,omitempty" mapstructure:"images,omitempty"` - // DisableNameSuffixHash corresponds to the JSON schema field - // "disableNameSuffixHash". - DisableNameSuffixHash *bool `json:"disableNameSuffixHash,omitempty" yaml:"disableNameSuffixHash,omitempty" mapstructure:"disableNameSuffixHash,omitempty"` + // Patches corresponds to the JSON schema field "patches". + Patches SpecDistributionCustomPatchesPatches `json:"patches,omitempty" yaml:"patches,omitempty" mapstructure:"patches,omitempty"` - // Immutable corresponds to the JSON schema field "immutable". - Immutable *bool `json:"immutable,omitempty" yaml:"immutable,omitempty" mapstructure:"immutable,omitempty"` + // PatchesStrategicMerge corresponds to the JSON schema field + // "patchesStrategicMerge". + PatchesStrategicMerge SpecDistributionCustomPatchesPatchesStrategicMerge `json:"patchesStrategicMerge,omitempty" yaml:"patchesStrategicMerge,omitempty" mapstructure:"patchesStrategicMerge,omitempty"` - // Labels corresponds to the JSON schema field "labels". - Labels TypesKubeLabels `json:"labels,omitempty" yaml:"labels,omitempty" mapstructure:"labels,omitempty"` + // SecretGenerator corresponds to the JSON schema field "secretGenerator". + SecretGenerator SpecDistributionCustomPatchesSecretGenerator `json:"secretGenerator,omitempty" yaml:"secretGenerator,omitempty" mapstructure:"secretGenerator,omitempty"` } +type SpecDistributionCustomPatchesConfigMapGenerator []SpecDistributionCustomPatchesConfigMapGeneratorResource + type SpecDistributionCustomPatchesConfigMapGeneratorResource struct { // The behavior of the configmap Behavior *SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior `json:"behavior,omitempty" yaml:"behavior,omitempty" mapstructure:"behavior,omitempty"` @@ -349,84 +202,23 @@ type SpecDistributionCustomPatchesPatchTarget struct { Version *string `json:"version,omitempty" yaml:"version,omitempty" mapstructure:"version,omitempty"` } -type SpecDistributionCustomPatchesPatch struct { - // Options corresponds to the JSON schema field "options". - Options *SpecDistributionCustomPatchesPatchOptions `json:"options,omitempty" yaml:"options,omitempty" mapstructure:"options,omitempty"` - - // Patch corresponds to the JSON schema field "patch". - Patch *string `json:"patch,omitempty" yaml:"patch,omitempty" mapstructure:"patch,omitempty"` - - // Path corresponds to the JSON schema field "path". - 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 SpecDistributionCustomPatchesPatches []SpecDistributionCustomPatchesPatch // Each entry should be either a relative file path or an inline content resolving // to a partial or complete resource definition type SpecDistributionCustomPatchesPatchesStrategicMerge []string -type SpecDistributionCustomPatchesSecretGeneratorResourceBehavior string +type SpecDistributionCustomPatchesSecretGenerator []SpecDistributionCustomPatchesSecretGeneratorResource -var enumValues_SpecDistributionCustomPatchesSecretGeneratorResourceBehavior = []interface{}{ - "create", - "replace", - "merge", -} +type SpecDistributionCustomPatchesSecretGeneratorResource struct { + // The behavior of the secret + Behavior *SpecDistributionCustomPatchesSecretGeneratorResourceBehavior `json:"behavior,omitempty" yaml:"behavior,omitempty" mapstructure:"behavior,omitempty"` -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionCustomPatchesSecretGeneratorResourceBehavior) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecDistributionCustomPatchesSecretGeneratorResourceBehavior { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionCustomPatchesSecretGeneratorResourceBehavior, v) - } - *j = SpecDistributionCustomPatchesSecretGeneratorResourceBehavior(v) - return nil -} + // The envs of the secret + Envs []string `json:"envs,omitempty" yaml:"envs,omitempty" mapstructure:"envs,omitempty"` -const ( - SpecDistributionCustomPatchesSecretGeneratorResourceBehaviorCreate SpecDistributionCustomPatchesSecretGeneratorResourceBehavior = "create" - SpecDistributionCustomPatchesSecretGeneratorResourceBehaviorReplace SpecDistributionCustomPatchesSecretGeneratorResourceBehavior = "replace" - SpecDistributionCustomPatchesSecretGeneratorResourceBehaviorMerge SpecDistributionCustomPatchesSecretGeneratorResourceBehavior = "merge" -) - -type SpecDistributionCustomPatchesSecretGeneratorResourceOptions struct { - // Annotations corresponds to the JSON schema field "annotations". - Annotations TypesKubeLabels `json:"annotations,omitempty" yaml:"annotations,omitempty" mapstructure:"annotations,omitempty"` - - // DisableNameSuffixHash corresponds to the JSON schema field - // "disableNameSuffixHash". - DisableNameSuffixHash *bool `json:"disableNameSuffixHash,omitempty" yaml:"disableNameSuffixHash,omitempty" mapstructure:"disableNameSuffixHash,omitempty"` - - // Immutable corresponds to the JSON schema field "immutable". - Immutable *bool `json:"immutable,omitempty" yaml:"immutable,omitempty" mapstructure:"immutable,omitempty"` - - // Labels corresponds to the JSON schema field "labels". - Labels TypesKubeLabels `json:"labels,omitempty" yaml:"labels,omitempty" mapstructure:"labels,omitempty"` -} - -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 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"` @@ -444,252 +236,12 @@ type SpecDistributionCustomPatchesSecretGeneratorResource struct { Type *string `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"` } -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionCustomPatchesSecretGeneratorResource) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["name"]; !ok || v == nil { - return fmt.Errorf("field name in SpecDistributionCustomPatchesSecretGeneratorResource: required") - } - type Plain SpecDistributionCustomPatchesSecretGeneratorResource - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionCustomPatchesSecretGeneratorResource(plain) - return nil -} - -type SpecDistributionCustomPatchesSecretGenerator []SpecDistributionCustomPatchesSecretGeneratorResource - -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 TypesFuryModuleComponentOverrides struct { - // NodeSelector corresponds to the JSON schema field "nodeSelector". - NodeSelector TypesKubeNodeSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty" mapstructure:"nodeSelector,omitempty"` - - // Tolerations corresponds to the JSON schema field "tolerations". - Tolerations []TypesKubeToleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"` -} - -type SpecDistributionModulesAuthDex struct { - // AdditionalStaticClients corresponds to the JSON schema field - // "additionalStaticClients". - AdditionalStaticClients []interface{} `json:"additionalStaticClients,omitempty" yaml:"additionalStaticClients,omitempty" mapstructure:"additionalStaticClients,omitempty"` - - // Connectors corresponds to the JSON schema field "connectors". - Connectors []interface{} `json:"connectors" yaml:"connectors" mapstructure:"connectors"` - - // Overrides corresponds to the JSON schema field "overrides". - Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesAuthDex) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["connectors"]; !ok || v == nil { - return fmt.Errorf("field connectors in SpecDistributionModulesAuthDex: required") - } - type Plain SpecDistributionModulesAuthDex - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesAuthDex(plain) - return nil -} - -type SpecDistributionModulesAuthOverridesIngress struct { - // Host corresponds to the JSON schema field "host". - Host string `json:"host" yaml:"host" mapstructure:"host"` - - // IngressClass corresponds to the JSON schema field "ingressClass". - IngressClass string `json:"ingressClass" yaml:"ingressClass" mapstructure:"ingressClass"` -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesAuthOverridesIngress) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["host"]; !ok || v == nil { - return fmt.Errorf("field host in SpecDistributionModulesAuthOverridesIngress: required") - } - if v, ok := raw["ingressClass"]; !ok || v == nil { - return fmt.Errorf("field ingressClass in SpecDistributionModulesAuthOverridesIngress: required") - } - type Plain SpecDistributionModulesAuthOverridesIngress - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesAuthOverridesIngress(plain) - return nil -} - -type SpecDistributionModulesAuthOverridesIngresses map[string]SpecDistributionModulesAuthOverridesIngress - -type SpecDistributionModulesAuthOverrides struct { - // Ingresses corresponds to the JSON schema field "ingresses". - Ingresses SpecDistributionModulesAuthOverridesIngresses `json:"ingresses,omitempty" yaml:"ingresses,omitempty" mapstructure:"ingresses,omitempty"` - - // NodeSelector corresponds to the JSON schema field "nodeSelector". - NodeSelector TypesKubeNodeSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty" mapstructure:"nodeSelector,omitempty"` - - // Tolerations corresponds to the JSON schema field "tolerations". - Tolerations []TypesKubeToleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"` -} - -type SpecDistributionModulesAuthPomeriumSecrets struct { - // COOKIESECRET corresponds to the JSON schema field "COOKIE_SECRET". - COOKIESECRET string `json:"COOKIE_SECRET" yaml:"COOKIE_SECRET" mapstructure:"COOKIE_SECRET"` - - // IDPCLIENTSECRET corresponds to the JSON schema field "IDP_CLIENT_SECRET". - IDPCLIENTSECRET string `json:"IDP_CLIENT_SECRET" yaml:"IDP_CLIENT_SECRET" mapstructure:"IDP_CLIENT_SECRET"` - - // SHAREDSECRET corresponds to the JSON schema field "SHARED_SECRET". - SHAREDSECRET string `json:"SHARED_SECRET" yaml:"SHARED_SECRET" mapstructure:"SHARED_SECRET"` -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesAuthPomeriumSecrets) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["COOKIE_SECRET"]; !ok || v == nil { - return fmt.Errorf("field COOKIE_SECRET in SpecDistributionModulesAuthPomeriumSecrets: required") - } - if v, ok := raw["IDP_CLIENT_SECRET"]; !ok || v == nil { - return fmt.Errorf("field IDP_CLIENT_SECRET in SpecDistributionModulesAuthPomeriumSecrets: required") - } - if v, ok := raw["SHARED_SECRET"]; !ok || v == nil { - return fmt.Errorf("field SHARED_SECRET in SpecDistributionModulesAuthPomeriumSecrets: required") - } - type Plain SpecDistributionModulesAuthPomeriumSecrets - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesAuthPomeriumSecrets(plain) - return nil -} - -type SpecDistributionModulesAuthPomerium struct { - // Overrides corresponds to the JSON schema field "overrides". - Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` - - // Policy corresponds to the JSON schema field "policy". - Policy string `json:"policy" yaml:"policy" mapstructure:"policy"` - - // Secrets corresponds to the JSON schema field "secrets". - Secrets SpecDistributionModulesAuthPomeriumSecrets `json:"secrets" yaml:"secrets" mapstructure:"secrets"` -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesAuthPomerium) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["policy"]; !ok || v == nil { - return fmt.Errorf("field policy in SpecDistributionModulesAuthPomerium: required") - } - if v, ok := raw["secrets"]; !ok || v == nil { - return fmt.Errorf("field secrets in SpecDistributionModulesAuthPomerium: required") - } - type Plain SpecDistributionModulesAuthPomerium - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesAuthPomerium(plain) - return nil -} - -type SpecDistributionModulesAuthProviderBasicAuth struct { - // Password corresponds to the JSON schema field "password". - Password string `json:"password" yaml:"password" mapstructure:"password"` - - // Username corresponds to the JSON schema field "username". - Username string `json:"username" yaml:"username" mapstructure:"username"` -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesAuthProviderBasicAuth) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["password"]; !ok || v == nil { - return fmt.Errorf("field password in SpecDistributionModulesAuthProviderBasicAuth: required") - } - if v, ok := raw["username"]; !ok || v == nil { - return fmt.Errorf("field username in SpecDistributionModulesAuthProviderBasicAuth: required") - } - type Plain SpecDistributionModulesAuthProviderBasicAuth - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesAuthProviderBasicAuth(plain) - return nil -} - -type SpecDistributionModulesAuthProviderType string - -var enumValues_SpecDistributionModulesAuthProviderType = []interface{}{ - "none", - "basicAuth", - "sso", -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesAuthProviderType) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecDistributionModulesAuthProviderType { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesAuthProviderType, v) - } - *j = SpecDistributionModulesAuthProviderType(v) - return nil -} +type SpecDistributionCustomPatchesSecretGeneratorResourceBehavior string const ( - SpecDistributionModulesAuthProviderTypeNone SpecDistributionModulesAuthProviderType = "none" - SpecDistributionModulesAuthProviderTypeBasicAuth SpecDistributionModulesAuthProviderType = "basicAuth" - SpecDistributionModulesAuthProviderTypeSso SpecDistributionModulesAuthProviderType = "sso" + SpecDistributionCustomPatchesSecretGeneratorResourceBehaviorCreate SpecDistributionCustomPatchesSecretGeneratorResourceBehavior = "create" + SpecDistributionCustomPatchesSecretGeneratorResourceBehaviorMerge SpecDistributionCustomPatchesSecretGeneratorResourceBehavior = "merge" + SpecDistributionCustomPatchesSecretGeneratorResourceBehaviorReplace SpecDistributionCustomPatchesSecretGeneratorResourceBehavior = "replace" ) type SpecDistributionCustomPatchesSecretGeneratorResourceOptions struct { @@ -759,8 +311,8 @@ type SpecDistributionModulesAuthDex struct { // The connectors for dex Connectors []interface{} `json:"connectors" yaml:"connectors" mapstructure:"connectors"` - // Modules corresponds to the JSON schema field "modules". - Modules SpecDistributionModules `json:"modules" yaml:"modules" mapstructure:"modules"` + // Overrides corresponds to the JSON schema field "overrides". + Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` } type SpecDistributionModulesAuthOverrides struct { @@ -958,12 +510,11 @@ type SpecDistributionModulesIngressDNS struct { // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` -type SpecInfrastructureVpcNetworkSubnetsCidrs struct { // Private corresponds to the JSON schema field "private". - Private []TypesCidr `json:"private" yaml:"private" mapstructure:"private"` + Private SpecDistributionModulesIngressDNSPrivate `json:"private" yaml:"private" mapstructure:"private"` // Public corresponds to the JSON schema field "public". - Public []TypesCidr `json:"public" yaml:"public" mapstructure:"public"` + Public SpecDistributionModulesIngressDNSPublic `json:"public" yaml:"public" mapstructure:"public"` } type SpecDistributionModulesIngressDNSPrivate struct { @@ -1168,6 +719,7 @@ const ( SpecDistributionModulesLoggingTypeOpensearch SpecDistributionModulesLoggingType = "opensearch" ) +// configuration for the Monitoring module components type SpecDistributionModulesMonitoring struct { // Alertmanager corresponds to the JSON schema field "alertmanager". Alertmanager *SpecDistributionModulesMonitoringAlertManager `json:"alertmanager,omitempty" yaml:"alertmanager,omitempty" mapstructure:"alertmanager,omitempty"` @@ -1193,7 +745,25 @@ type SpecDistributionModulesMonitoring struct { // Prometheus corresponds to the JSON schema field "prometheus". Prometheus *SpecDistributionModulesMonitoringPrometheus `json:"prometheus,omitempty" yaml:"prometheus,omitempty" mapstructure:"prometheus,omitempty"` - // The type of the monitoring, must be ***none***, ***prometheus*** or ***mimir*** + // 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`: wil 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, and in addition + // Grafana Mimir that allows for longer retention of metrics and the usage of + // Object Storage. Type SpecDistributionModulesMonitoringType `json:"type" yaml:"type" mapstructure:"type"` // X509Exporter corresponds to the JSON schema field "x509Exporter". @@ -1285,25 +855,53 @@ type SpecDistributionModulesMonitoringMinioRootUser struct { } 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 prometheus pods + // The retention size for the k8s Prometheus instance. RetentionSize *string `json:"retentionSize,omitempty" yaml:"retentionSize,omitempty" mapstructure:"retentionSize,omitempty"` - // The retention time for the prometheus pods + // The retention time for the k8s Prometheus instance. RetentionTime *string `json:"retentionTime,omitempty" yaml:"retentionTime,omitempty" mapstructure:"retentionTime,omitempty"` - // The storage size for the prometheus pods + // The storage size for the k8s Prometheus instance. StorageSize *string `json:"storageSize,omitempty" yaml:"storageSize,omitempty" mapstructure:"storageSize,omitempty"` } +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 map[string]interface{} + +type SpecDistributionModulesMonitoringPrometheusRemoteWriteElem map[string]interface{} + type SpecDistributionModulesMonitoringType string const ( - SpecDistributionModulesMonitoringTypeMimir SpecDistributionModulesMonitoringType = "mimir" - SpecDistributionModulesMonitoringTypeNone SpecDistributionModulesMonitoringType = "none" - SpecDistributionModulesMonitoringTypePrometheus SpecDistributionModulesMonitoringType = "prometheus" + SpecDistributionModulesMonitoringTypeMimir SpecDistributionModulesMonitoringType = "mimir" + SpecDistributionModulesMonitoringTypeNone SpecDistributionModulesMonitoringType = "none" + SpecDistributionModulesMonitoringTypePrometheus SpecDistributionModulesMonitoringType = "prometheus" + SpecDistributionModulesMonitoringTypePrometheusAgent SpecDistributionModulesMonitoringType = "prometheusAgent" ) type SpecDistributionModulesMonitoringX509Exporter struct { @@ -1501,70 +1099,6 @@ type SpecInfrastructureVpcNetworkSubnetsCidrs struct { Public []TypesCidr `json:"public" yaml:"public" mapstructure:"public"` } -type SpecInfrastructureVpc struct { - // Network corresponds to the JSON schema field "network". - Network SpecInfrastructureVpcNetwork `json:"network" yaml:"network" mapstructure:"network"` -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecInfrastructureVpc) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["network"]; !ok || v == nil { - return fmt.Errorf("field network in SpecInfrastructureVpc: required") - } - type Plain SpecInfrastructureVpc - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecInfrastructureVpc(plain) - return nil -} - -type TypesAwsS3BucketNamePrefix string - -type TypesTcpPort int - -type SpecInfrastructureVpnSsh struct { - // AllowedFromCidrs corresponds to the JSON schema field "allowedFromCidrs". - AllowedFromCidrs []TypesCidr `json:"allowedFromCidrs" yaml:"allowedFromCidrs" mapstructure:"allowedFromCidrs"` - - // GithubUsersName corresponds to the JSON schema field "githubUsersName". - GithubUsersName []string `json:"githubUsersName" yaml:"githubUsersName" mapstructure:"githubUsersName"` - - // PublicKeys corresponds to the JSON schema field "publicKeys". - PublicKeys []interface{} `json:"publicKeys,omitempty" yaml:"publicKeys,omitempty" mapstructure:"publicKeys,omitempty"` -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecInfrastructureVpnSsh) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["allowedFromCidrs"]; !ok || v == nil { - return fmt.Errorf("field allowedFromCidrs in SpecInfrastructureVpnSsh: required") - } - if v, ok := raw["githubUsersName"]; !ok || v == nil { - return fmt.Errorf("field githubUsersName in SpecInfrastructureVpnSsh: required") - } - type Plain SpecInfrastructureVpnSsh - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - if plain.GithubUsersName != nil && len(plain.GithubUsersName) < 1 { - return fmt.Errorf("field %s length: must be >= %d", "githubUsersName", 1) - } - *j = SpecInfrastructureVpnSsh(plain) - return nil -} - -type TypesAwsVpcId string - type SpecInfrastructureVpn struct { // This value defines the prefix that will be used to create the bucket name where // the VPN servers will store the states @@ -1717,740 +1251,391 @@ type SpecKubernetesAwsAuthUser struct { type SpecKubernetesLogsTypesElem string const ( - SpecKubernetesLogsTypesElemApi SpecKubernetesLogsTypesElem = "api" - SpecKubernetesLogsTypesElemAudit SpecKubernetesLogsTypesElem = "audit" - SpecKubernetesLogsTypesElemAuthenticator SpecKubernetesLogsTypesElem = "authenticator" + SpecKubernetesLogsTypesElemApi SpecKubernetesLogsTypesElem = "api" + SpecKubernetesLogsTypesElemAudit SpecKubernetesLogsTypesElem = "audit" + SpecKubernetesLogsTypesElemAuthenticator SpecKubernetesLogsTypesElem = "authenticator" + SpecKubernetesLogsTypesElemControllerManager SpecKubernetesLogsTypesElem = "controllerManager" + SpecKubernetesLogsTypesElemScheduler SpecKubernetesLogsTypesElem = "scheduler" ) -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecInfrastructureVpnSsh) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["allowedFromCidrs"]; !ok || v == nil { - return fmt.Errorf("field allowedFromCidrs in SpecInfrastructureVpnSsh: required") - } - if v, ok := raw["githubUsersName"]; !ok || v == nil { - return fmt.Errorf("field githubUsersName in SpecInfrastructureVpnSsh: required") - } - type Plain SpecInfrastructureVpnSsh - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - if plain.GithubUsersName != nil && len(plain.GithubUsersName) < 1 { - return fmt.Errorf("field %s length: must be >= %d", "githubUsersName", 1) - } - *j = SpecInfrastructureVpnSsh(plain) - return nil -} +type SpecKubernetesNodePool struct { + // AdditionalFirewallRules corresponds to the JSON schema field + // "additionalFirewallRules". + AdditionalFirewallRules *SpecKubernetesNodePoolAdditionalFirewallRules `json:"additionalFirewallRules,omitempty" yaml:"additionalFirewallRules,omitempty" mapstructure:"additionalFirewallRules,omitempty"` -var enumValues_SpecDistributionModulesIngressNginxType = []interface{}{ - "none", - "single", - "dual", -} + // Ami corresponds to the JSON schema field "ami". + Ami *SpecKubernetesNodePoolAmi `json:"ami,omitempty" yaml:"ami,omitempty" mapstructure:"ami,omitempty"` -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressNginx) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecDistributionModulesIngressNginx: required") - } - type Plain SpecDistributionModulesIngressNginx - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesIngressNginx(plain) - return nil -} + // This optional array defines additional target groups to attach to the instances + // in the node pool + AttachedTargetGroups []TypesAwsArn `json:"attachedTargetGroups,omitempty" yaml:"attachedTargetGroups,omitempty" mapstructure:"attachedTargetGroups,omitempty"` -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressNginxTLS) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["provider"]; !ok || v == nil { - return fmt.Errorf("field provider in SpecDistributionModulesIngressNginxTLS: required") - } - type Plain SpecDistributionModulesIngressNginxTLS - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesIngressNginxTLS(plain) - return nil -} + // The container runtime to use for the nodes + ContainerRuntime *SpecKubernetesNodePoolContainerRuntime `json:"containerRuntime,omitempty" yaml:"containerRuntime,omitempty" mapstructure:"containerRuntime,omitempty"` -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressNginxTLSSecret) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["ca"]; !ok || v == nil { - return fmt.Errorf("field ca in SpecDistributionModulesIngressNginxTLSSecret: required") - } - if v, ok := raw["cert"]; !ok || v == nil { - return fmt.Errorf("field cert in SpecDistributionModulesIngressNginxTLSSecret: required") - } - if v, ok := raw["key"]; !ok || v == nil { - return fmt.Errorf("field key in SpecDistributionModulesIngressNginxTLSSecret: required") - } - type Plain SpecDistributionModulesIngressNginxTLSSecret - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesIngressNginxTLSSecret(plain) - return nil -} + // Instance corresponds to the JSON schema field "instance". + Instance SpecKubernetesNodePoolInstance `json:"instance" yaml:"instance" mapstructure:"instance"` -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressNginxTLSProvider) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecDistributionModulesIngressNginxTLSProvider { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesIngressNginxTLSProvider, v) - } - *j = SpecDistributionModulesIngressNginxTLSProvider(v) - return nil -} + // Kubernetes labels that will be added to the nodes + Labels TypesKubeLabels_1 `json:"labels,omitempty" yaml:"labels,omitempty" mapstructure:"labels,omitempty"` -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngress) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["baseDomain"]; !ok || v == nil { - return fmt.Errorf("field baseDomain in SpecDistributionModulesIngress: required") - } - if v, ok := raw["dns"]; !ok || v == nil { - return fmt.Errorf("field dns in SpecDistributionModulesIngress: required") - } - if v, ok := raw["nginx"]; !ok || v == nil { - return fmt.Errorf("field nginx in SpecDistributionModulesIngress: required") - } - type Plain SpecDistributionModulesIngress - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesIngress(plain) - return nil -} + // The name of the node pool + Name string `json:"name" yaml:"name" mapstructure:"name"` -var enumValues_SpecDistributionModulesIngressNginxTLSProvider = []interface{}{ - "certManager", - "secret", - "none", -} + // Size corresponds to the JSON schema field "size". + Size SpecKubernetesNodePoolSize `json:"size" yaml:"size" mapstructure:"size"` -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressDNS) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["private"]; !ok || v == nil { - return fmt.Errorf("field private in SpecDistributionModulesIngressDNS: required") - } - if v, ok := raw["public"]; !ok || v == nil { - return fmt.Errorf("field public in SpecDistributionModulesIngressDNS: required") - } - type Plain SpecDistributionModulesIngressDNS - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesIngressDNS(plain) - return nil -} + // This value defines the subnet IDs where the nodes will be created + SubnetIds []TypesAwsSubnetId `json:"subnetIds,omitempty" yaml:"subnetIds,omitempty" mapstructure:"subnetIds,omitempty"` -var enumValues_SpecDistributionModulesLoggingLokiBackend = []interface{}{ - "minio", - "externalEndpoint", -} + // AWS tags that will be added to the ASG and EC2 instances + Tags TypesAwsTags `json:"tags,omitempty" yaml:"tags,omitempty" mapstructure:"tags,omitempty"` -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesLoggingLokiBackend) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecDistributionModulesLoggingLokiBackend { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesLoggingLokiBackend, v) - } - *j = SpecDistributionModulesLoggingLokiBackend(v) - return nil -} + // Kubernetes taints that will be added to the nodes + Taints TypesKubeTaints `json:"taints,omitempty" yaml:"taints,omitempty" mapstructure:"taints,omitempty"` -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressDNSPublic) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["create"]; !ok || v == nil { - return fmt.Errorf("field create in SpecDistributionModulesIngressDNSPublic: required") - } - if v, ok := raw["name"]; !ok || v == nil { - return fmt.Errorf("field name in SpecDistributionModulesIngressDNSPublic: required") - } - type Plain SpecDistributionModulesIngressDNSPublic - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesIngressDNSPublic(plain) - return nil + // Type corresponds to the JSON schema field "type". + Type *SpecKubernetesNodePoolType `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"` } -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressDNSPrivate) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["create"]; !ok || v == nil { - return fmt.Errorf("field create in SpecDistributionModulesIngressDNSPrivate: required") - } - if v, ok := raw["name"]; !ok || v == nil { - return fmt.Errorf("field name in SpecDistributionModulesIngressDNSPrivate: required") - } - type Plain SpecDistributionModulesIngressDNSPrivate - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesIngressDNSPrivate(plain) - return nil -} +type SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock struct { + // CidrBlocks corresponds to the JSON schema field "cidrBlocks". + CidrBlocks []TypesCidr `json:"cidrBlocks" yaml:"cidrBlocks" mapstructure:"cidrBlocks"` -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressCertManager) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["clusterIssuer"]; !ok || v == nil { - return fmt.Errorf("field clusterIssuer in SpecDistributionModulesIngressCertManager: required") - } - type Plain SpecDistributionModulesIngressCertManager - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesIngressCertManager(plain) - return nil -} + // Name corresponds to the JSON schema field "name". + Name string `json:"name" yaml:"name" mapstructure:"name"` -type TypesKubeResourcesLimits struct { - // The cpu limit for the opensearch pods - Cpu *string `json:"cpu,omitempty" yaml:"cpu,omitempty" mapstructure:"cpu,omitempty"` + // Ports corresponds to the JSON schema field "ports". + Ports SpecKubernetesNodePoolAdditionalFirewallRulePorts `json:"ports" yaml:"ports" mapstructure:"ports"` - // The memory limit for the opensearch pods - Memory *string `json:"memory,omitempty" yaml:"memory,omitempty" mapstructure:"memory,omitempty"` -} + // Protocol corresponds to the JSON schema field "protocol". + Protocol TypesAwsIpProtocol `json:"protocol" yaml:"protocol" mapstructure:"protocol"` -type TypesKubeResourcesRequests struct { - // The cpu request for the prometheus pods - Cpu *string `json:"cpu,omitempty" yaml:"cpu,omitempty" mapstructure:"cpu,omitempty"` + // Tags corresponds to the JSON schema field "tags". + Tags TypesAwsTags `json:"tags,omitempty" yaml:"tags,omitempty" mapstructure:"tags,omitempty"` - // The memory request for the opensearch pods - Memory *string `json:"memory,omitempty" yaml:"memory,omitempty" mapstructure:"memory,omitempty"` + // Type corresponds to the JSON schema field "type". + Type SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockType `json:"type" yaml:"type" mapstructure:"type"` } -type TypesKubeResources struct { - // Limits corresponds to the JSON schema field "limits". - Limits *TypesKubeResourcesLimits `json:"limits,omitempty" yaml:"limits,omitempty" mapstructure:"limits,omitempty"` +type SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockType string - // Requests corresponds to the JSON schema field "requests". - Requests *TypesKubeResourcesRequests `json:"requests,omitempty" yaml:"requests,omitempty" mapstructure:"requests,omitempty"` -} +const ( + SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockTypeEgress SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockType = "egress" + SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockTypeIngress SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockType = "ingress" +) -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressCertManagerClusterIssuer) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["email"]; !ok || v == nil { - return fmt.Errorf("field email in SpecDistributionModulesIngressCertManagerClusterIssuer: required") - } - if v, ok := raw["name"]; !ok || v == nil { - return fmt.Errorf("field name in SpecDistributionModulesIngressCertManagerClusterIssuer: required") - } - type Plain SpecDistributionModulesIngressCertManagerClusterIssuer - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesIngressCertManagerClusterIssuer(plain) - return nil -} +type SpecKubernetesNodePoolAdditionalFirewallRulePorts struct { + // From corresponds to the JSON schema field "from". + From TypesTcpPort `json:"from" yaml:"from" mapstructure:"from"` -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressCertManagerClusterIssuerType) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecDistributionModulesIngressCertManagerClusterIssuerType { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesIngressCertManagerClusterIssuerType, v) - } - *j = SpecDistributionModulesIngressCertManagerClusterIssuerType(v) - return nil + // To corresponds to the JSON schema field "to". + To TypesTcpPort `json:"to" yaml:"to" mapstructure:"to"` } -var enumValues_SpecDistributionModulesIngressCertManagerClusterIssuerType = []interface{}{ - "dns01", - "http01", -} +type SpecKubernetesNodePoolAdditionalFirewallRuleSelf struct { + // The name of the FW rule + Name string `json:"name" yaml:"name" mapstructure:"name"` -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesDr) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecDistributionModulesDr: required") - } - type Plain SpecDistributionModulesDr - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesDr(plain) - return nil -} + // Ports corresponds to the JSON schema field "ports". + Ports SpecKubernetesNodePoolAdditionalFirewallRulePorts `json:"ports" yaml:"ports" mapstructure:"ports"` -var enumValues_SpecDistributionModulesLoggingOpensearchType = []interface{}{ - "single", - "triple", -} + // The protocol of the FW rule + Protocol TypesAwsIpProtocol `json:"protocol" yaml:"protocol" mapstructure:"protocol"` -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesLoggingOpensearchType) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecDistributionModulesLoggingOpensearchType { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesLoggingOpensearchType, v) - } - *j = SpecDistributionModulesLoggingOpensearchType(v) - return nil + // If true, the source will be the security group itself + Self bool `json:"self" yaml:"self" mapstructure:"self"` + + // The tags of the FW rule + Tags TypesAwsTags `json:"tags,omitempty" yaml:"tags,omitempty" mapstructure:"tags,omitempty"` + + // The type of the FW rule can be ingress or egress + Type SpecKubernetesNodePoolAdditionalFirewallRuleSelfType `json:"type" yaml:"type" mapstructure:"type"` } -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesDrVelero) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["eks"]; !ok || v == nil { - return fmt.Errorf("field eks in SpecDistributionModulesDrVelero: required") - } - type Plain SpecDistributionModulesDrVelero - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesDrVelero(plain) - return nil +type SpecKubernetesNodePoolAdditionalFirewallRuleSelfType string + +const ( + SpecKubernetesNodePoolAdditionalFirewallRuleSelfTypeEgress SpecKubernetesNodePoolAdditionalFirewallRuleSelfType = "egress" + SpecKubernetesNodePoolAdditionalFirewallRuleSelfTypeIngress SpecKubernetesNodePoolAdditionalFirewallRuleSelfType = "ingress" +) + +type SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId struct { + // The name of the FW rule + Name string `json:"name" yaml:"name" mapstructure:"name"` + + // Ports corresponds to the JSON schema field "ports". + Ports SpecKubernetesNodePoolAdditionalFirewallRulePorts `json:"ports" yaml:"ports" mapstructure:"ports"` + + // The protocol of the FW rule + Protocol TypesAwsIpProtocol `json:"protocol" yaml:"protocol" mapstructure:"protocol"` + + // The source security group ID + SourceSecurityGroupId string `json:"sourceSecurityGroupId" yaml:"sourceSecurityGroupId" mapstructure:"sourceSecurityGroupId"` + + // The tags of the FW rule + Tags TypesAwsTags `json:"tags,omitempty" yaml:"tags,omitempty" mapstructure:"tags,omitempty"` + + // The type of the FW rule can be ingress or egress + Type SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdType `json:"type" yaml:"type" mapstructure:"type"` } -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesDrVeleroEks) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["bucketName"]; !ok || v == nil { - return fmt.Errorf("field bucketName in SpecDistributionModulesDrVeleroEks: required") - } - if v, ok := raw["region"]; !ok || v == nil { - return fmt.Errorf("field region in SpecDistributionModulesDrVeleroEks: required") - } - type Plain SpecDistributionModulesDrVeleroEks - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesDrVeleroEks(plain) - return nil +type SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdType string + +const ( + SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdTypeEgress SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdType = "egress" + SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdTypeIngress SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdType = "ingress" +) + +type SpecKubernetesNodePoolAdditionalFirewallRules struct { + // The CIDR blocks for the FW rule. At the moment the first item of the list will + // be used, others will be ignored. + CidrBlocks []SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock `json:"cidrBlocks,omitempty" yaml:"cidrBlocks,omitempty" mapstructure:"cidrBlocks,omitempty"` + + // Self corresponds to the JSON schema field "self". + Self []SpecKubernetesNodePoolAdditionalFirewallRuleSelf `json:"self,omitempty" yaml:"self,omitempty" mapstructure:"self,omitempty"` + + // SourceSecurityGroupId corresponds to the JSON schema field + // "sourceSecurityGroupId". + SourceSecurityGroupId []SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId `json:"sourceSecurityGroupId,omitempty" yaml:"sourceSecurityGroupId,omitempty" mapstructure:"sourceSecurityGroupId,omitempty"` } -const TypesAwsRegionUsWest2 TypesAwsRegion = "us-west-2" +type SpecKubernetesNodePoolAmi struct { + // The AMI ID to use for the nodes + Id string `json:"id" yaml:"id" mapstructure:"id"` -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesLoggingOpensearch) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecDistributionModulesLoggingOpensearch: required") - } - type Plain SpecDistributionModulesLoggingOpensearch - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesLoggingOpensearch(plain) - return nil + // The owner of the AMI + Owner string `json:"owner" yaml:"owner" mapstructure:"owner"` } +type SpecKubernetesNodePoolContainerRuntime string + const ( - TypesAwsRegionUsWest1 TypesAwsRegion = "us-west-1" - TypesAwsRegionUsGovWest1 TypesAwsRegion = "us-gov-west-1" + SpecKubernetesNodePoolContainerRuntimeContainerd SpecKubernetesNodePoolContainerRuntime = "containerd" + SpecKubernetesNodePoolContainerRuntimeDocker SpecKubernetesNodePoolContainerRuntime = "docker" ) -var enumValues_SpecDistributionModulesLoggingType = []interface{}{ - "none", - "opensearch", - "loki", +type SpecKubernetesNodePoolInstance struct { + // MaxPods corresponds to the JSON schema field "maxPods". + MaxPods *int `json:"maxPods,omitempty" yaml:"maxPods,omitempty" mapstructure:"maxPods,omitempty"` + + // If true, the nodes will be created as spot instances + Spot *bool `json:"spot,omitempty" yaml:"spot,omitempty" mapstructure:"spot,omitempty"` + + // The instance type to use for the nodes + Type string `json:"type" yaml:"type" mapstructure:"type"` + + // The size of the disk in GB + VolumeSize *int `json:"volumeSize,omitempty" yaml:"volumeSize,omitempty" mapstructure:"volumeSize,omitempty"` + + // VolumeType corresponds to the JSON schema field "volumeType". + VolumeType *SpecKubernetesNodePoolInstanceVolumeType `json:"volumeType,omitempty" yaml:"volumeType,omitempty" mapstructure:"volumeType,omitempty"` } -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesLoggingType) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecDistributionModulesLoggingType { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesLoggingType, v) - } - *j = SpecDistributionModulesLoggingType(v) - return nil +type SpecKubernetesNodePoolInstanceVolumeType string + +const ( + SpecKubernetesNodePoolInstanceVolumeTypeGp2 SpecKubernetesNodePoolInstanceVolumeType = "gp2" + SpecKubernetesNodePoolInstanceVolumeTypeGp3 SpecKubernetesNodePoolInstanceVolumeType = "gp3" + SpecKubernetesNodePoolInstanceVolumeTypeIo1 SpecKubernetesNodePoolInstanceVolumeType = "io1" + SpecKubernetesNodePoolInstanceVolumeTypeStandard SpecKubernetesNodePoolInstanceVolumeType = "standard" +) + +type SpecKubernetesNodePoolSize struct { + // The maximum number of nodes in the node pool + Max int `json:"max" yaml:"max" mapstructure:"max"` + + // The minimum number of nodes in the node pool + Min int `json:"min" yaml:"min" mapstructure:"min"` } +type SpecKubernetesNodePoolType string + const ( - TypesAwsRegionUsGovEast1 TypesAwsRegion = "us-gov-east-1" - TypesAwsRegionUsEast2 TypesAwsRegion = "us-east-2" - TypesAwsRegionUsEast1 TypesAwsRegion = "us-east-1" - TypesAwsRegionSaEast1 TypesAwsRegion = "sa-east-1" + SpecKubernetesNodePoolTypeEksManaged SpecKubernetesNodePoolType = "eks-managed" + SpecKubernetesNodePoolTypeSelfManaged SpecKubernetesNodePoolType = "self-managed" ) -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesLogging) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecDistributionModulesLogging: required") - } - type Plain SpecDistributionModulesLogging - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesLogging(plain) - return nil +type SpecKubernetesNodePoolsLaunchKind string + +const ( + SpecKubernetesNodePoolsLaunchKindBoth SpecKubernetesNodePoolsLaunchKind = "both" + SpecKubernetesNodePoolsLaunchKindLaunchConfigurations SpecKubernetesNodePoolsLaunchKind = "launch_configurations" + SpecKubernetesNodePoolsLaunchKindLaunchTemplates SpecKubernetesNodePoolsLaunchKind = "launch_templates" +) + +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 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 []struct { + // The chart of the release + Chart string `json:"chart" yaml:"chart" mapstructure:"chart"` + + // 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 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"` } -const ( - TypesAwsRegionMeSouth1 TypesAwsRegion = "me-south-1" - TypesAwsRegionMeCentral1 TypesAwsRegion = "me-central-1" - TypesAwsRegionEuWest3 TypesAwsRegion = "eu-west-3" - TypesAwsRegionEuWest2 TypesAwsRegion = "eu-west-2" - TypesAwsRegionEuWest1 TypesAwsRegion = "eu-west-1" -) +type SpecPluginsHelmRepositories []struct { + // The name of the repository + Name string `json:"name" yaml:"name" mapstructure:"name"` -var enumValues_SpecDistributionModulesMonitoringMimirBackend = []interface{}{ - "minio", - "externalEndpoint", + // The url of the repository + Url string `json:"url" yaml:"url" mapstructure:"url"` } -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesMonitoringMimirBackend) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecDistributionModulesMonitoringMimirBackend { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesMonitoringMimirBackend, v) - } - *j = SpecDistributionModulesMonitoringMimirBackend(v) - return nil +type SpecPluginsKustomize []struct { + // The folder of the kustomize plugin + Folder string `json:"folder" yaml:"folder" mapstructure:"folder"` + + // The name of the kustomize plugin + Name string `json:"name" yaml:"name" mapstructure:"name"` } -const ( - TypesAwsRegionEuSouth2 TypesAwsRegion = "eu-south-2" - TypesAwsRegionEuSouth1 TypesAwsRegion = "eu-south-1" - TypesAwsRegionEuNorth1 TypesAwsRegion = "eu-north-1" - TypesAwsRegionEuCentral2 TypesAwsRegion = "eu-central-2" - TypesAwsRegionEuCentral1 TypesAwsRegion = "eu-central-1" - TypesAwsRegionCaCentral1 TypesAwsRegion = "ca-central-1" - TypesAwsRegionApSoutheast4 TypesAwsRegion = "ap-southeast-4" - TypesAwsRegionApSoutheast3 TypesAwsRegion = "ap-southeast-3" -) +type SpecToolsConfiguration struct { + // Terraform corresponds to the JSON schema field "terraform". + Terraform SpecToolsConfigurationTerraform `json:"terraform" yaml:"terraform" mapstructure:"terraform"` +} -var enumValues_SpecDistributionModulesMonitoringType = []interface{}{ - "none", - "prometheus", - "mimir", +type SpecToolsConfigurationTerraform struct { + // State corresponds to the JSON schema field "state". + State SpecToolsConfigurationTerraformState `json:"state" yaml:"state" mapstructure:"state"` } -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesMonitoringType) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecDistributionModulesMonitoringType { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesMonitoringType, v) - } - *j = SpecDistributionModulesMonitoringType(v) - return nil +type SpecToolsConfigurationTerraformState struct { + // S3 corresponds to the JSON schema field "s3". + S3 SpecToolsConfigurationTerraformStateS3 `json:"s3" yaml:"s3" mapstructure:"s3"` } -const ( - TypesAwsRegionApSoutheast2 TypesAwsRegion = "ap-southeast-2" - TypesAwsRegionApSoutheast1 TypesAwsRegion = "ap-southeast-1" - TypesAwsRegionApSouth2 TypesAwsRegion = "ap-south-2" - TypesAwsRegionApSouth1 TypesAwsRegion = "ap-south-1" - TypesAwsRegionApNortheast3 TypesAwsRegion = "ap-northeast-3" -) +type SpecToolsConfigurationTerraformStateS3 struct { + // This value defines which bucket will be used to store all the states + BucketName TypesAwsS3BucketName `json:"bucketName" yaml:"bucketName" mapstructure:"bucketName"` -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesMonitoring) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecDistributionModulesMonitoring: required") - } - type Plain SpecDistributionModulesMonitoring - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesMonitoring(plain) - return nil + // This value defines which folder will be used to store all the states inside the + // bucket + KeyPrefix TypesAwsS3KeyPrefix `json:"keyPrefix" yaml:"keyPrefix" mapstructure:"keyPrefix"` + + // This value defines in which region the bucket is located + Region TypesAwsRegion `json:"region" yaml:"region" mapstructure:"region"` + + // This value defines if the region of the bucket should be validated or not by + // Terraform, useful when using a bucket in a recently added region + SkipRegionValidation *bool `json:"skipRegionValidation,omitempty" yaml:"skipRegionValidation,omitempty" mapstructure:"skipRegionValidation,omitempty"` } +type TypesAwsArn string + +type TypesAwsIamRoleName string + +type TypesAwsIamRoleNamePrefix string + +type TypesAwsIpProtocol string + +type TypesAwsRegion string + const ( - TypesAwsRegionApNortheast2 TypesAwsRegion = "ap-northeast-2" - TypesAwsRegionApNortheast1 TypesAwsRegion = "ap-northeast-1" + TypesAwsRegionAfSouth1 TypesAwsRegion = "af-south-1" TypesAwsRegionApEast1 TypesAwsRegion = "ap-east-1" + TypesAwsRegionApNortheast1 TypesAwsRegion = "ap-northeast-1" + TypesAwsRegionApNortheast2 TypesAwsRegion = "ap-northeast-2" + TypesAwsRegionApNortheast3 TypesAwsRegion = "ap-northeast-3" + TypesAwsRegionApSouth1 TypesAwsRegion = "ap-south-1" + TypesAwsRegionApSouth2 TypesAwsRegion = "ap-south-2" + TypesAwsRegionApSoutheast1 TypesAwsRegion = "ap-southeast-1" + TypesAwsRegionApSoutheast2 TypesAwsRegion = "ap-southeast-2" + TypesAwsRegionApSoutheast3 TypesAwsRegion = "ap-southeast-3" + TypesAwsRegionApSoutheast4 TypesAwsRegion = "ap-southeast-4" + TypesAwsRegionCaCentral1 TypesAwsRegion = "ca-central-1" + TypesAwsRegionEuCentral1 TypesAwsRegion = "eu-central-1" + TypesAwsRegionEuCentral2 TypesAwsRegion = "eu-central-2" + TypesAwsRegionEuNorth1 TypesAwsRegion = "eu-north-1" + TypesAwsRegionEuSouth1 TypesAwsRegion = "eu-south-1" + TypesAwsRegionEuSouth2 TypesAwsRegion = "eu-south-2" + TypesAwsRegionEuWest1 TypesAwsRegion = "eu-west-1" + TypesAwsRegionEuWest2 TypesAwsRegion = "eu-west-2" + TypesAwsRegionEuWest3 TypesAwsRegion = "eu-west-3" + TypesAwsRegionMeCentral1 TypesAwsRegion = "me-central-1" + TypesAwsRegionMeSouth1 TypesAwsRegion = "me-south-1" + TypesAwsRegionSaEast1 TypesAwsRegion = "sa-east-1" + TypesAwsRegionUsEast1 TypesAwsRegion = "us-east-1" + TypesAwsRegionUsEast2 TypesAwsRegion = "us-east-2" + TypesAwsRegionUsGovEast1 TypesAwsRegion = "us-gov-east-1" + TypesAwsRegionUsGovWest1 TypesAwsRegion = "us-gov-west-1" + TypesAwsRegionUsWest1 TypesAwsRegion = "us-west-1" + TypesAwsRegionUsWest2 TypesAwsRegion = "us-west-2" ) -var enumValues_SpecDistributionModulesPolicyGatekeeperEnforcementAction = []interface{}{ - "deny", - "dryrun", - "warn", -} +type TypesAwsS3BucketName string -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesPolicyGatekeeperEnforcementAction) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecDistributionModulesPolicyGatekeeperEnforcementAction { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesPolicyGatekeeperEnforcementAction, v) - } - *j = SpecDistributionModulesPolicyGatekeeperEnforcementAction(v) - return nil -} +type TypesAwsS3BucketNamePrefix string -const TypesAwsRegionAfSouth1 TypesAwsRegion = "af-south-1" +type TypesAwsS3KeyPrefix string -// UnmarshalJSON implements json.Unmarshaler. -func (j *TypesAwsRegion) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_TypesAwsRegion { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_TypesAwsRegion, v) - } - *j = TypesAwsRegion(v) - return nil -} +type TypesAwsSshPubKey string -var enumValues_TypesAwsRegion = []interface{}{ - "af-south-1", - "ap-east-1", - "ap-northeast-1", - "ap-northeast-2", - "ap-northeast-3", - "ap-south-1", - "ap-south-2", - "ap-southeast-1", - "ap-southeast-2", - "ap-southeast-3", - "ap-southeast-4", - "ca-central-1", - "eu-central-1", - "eu-central-2", - "eu-north-1", - "eu-south-1", - "eu-south-2", - "eu-west-1", - "eu-west-2", - "eu-west-3", - "me-central-1", - "me-south-1", - "sa-east-1", - "us-east-1", - "us-east-2", - "us-gov-east-1", - "us-gov-west-1", - "us-west-1", - "us-west-2", -} +type TypesAwsSubnetId string -type TypesAwsRegion string +type TypesAwsTags map[string]string -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesPolicyGatekeeper) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["enforcementAction"]; !ok || v == nil { - return fmt.Errorf("field enforcementAction in SpecDistributionModulesPolicyGatekeeper: required") - } - if v, ok := raw["installDefaultPolicies"]; !ok || v == nil { - return fmt.Errorf("field installDefaultPolicies in SpecDistributionModulesPolicyGatekeeper: required") - } - type Plain SpecDistributionModulesPolicyGatekeeper - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesPolicyGatekeeper(plain) - return nil -} +type TypesAwsVpcId string -type TypesAwsS3BucketName string +type TypesCidr string + +type TypesEnvRef string + +type TypesFileRef string + +type TypesFuryModuleComponentOverrides struct { + // The node selector to use to place the pods for the minio module + NodeSelector TypesKubeNodeSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty" mapstructure:"nodeSelector,omitempty"` -var enumValues_SpecDistributionModulesPolicyKyvernoValidationFailureAction = []interface{}{ - "audit", - "enforce", + // The tolerations that will be added to the pods for the cert-manager module + Tolerations []TypesKubeToleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"` } -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesPolicyKyvernoValidationFailureAction) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecDistributionModulesPolicyKyvernoValidationFailureAction { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesPolicyKyvernoValidationFailureAction, v) - } - *j = SpecDistributionModulesPolicyKyvernoValidationFailureAction(v) - return nil -} +type TypesFuryModuleComponentOverridesWithIAMRoleName struct { + // IamRoleName corresponds to the JSON schema field "iamRoleName". + IamRoleName *TypesAwsIamRoleName `json:"iamRoleName,omitempty" yaml:"iamRoleName,omitempty" mapstructure:"iamRoleName,omitempty"` -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesDrType) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecDistributionModulesDrType { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesDrType, v) - } - *j = SpecDistributionModulesDrType(v) - return nil -} + // The node selector to use to place the pods for the load balancer controller + // module + NodeSelector TypesKubeNodeSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty" mapstructure:"nodeSelector,omitempty"` -var enumValues_SpecDistributionModulesDrType = []interface{}{ - "none", - "eks", + // The tolerations that will be added to the pods for the cluster autoscaler + // module + Tolerations []TypesKubeToleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"` } type TypesFuryModuleOverrides struct { @@ -2464,384 +1649,490 @@ type TypesFuryModuleOverrides struct { Tolerations []TypesKubeToleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"` } -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesPolicyKyverno) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["installDefaultPolicies"]; !ok || v == nil { - return fmt.Errorf("field installDefaultPolicies in SpecDistributionModulesPolicyKyverno: required") - } - if v, ok := raw["validationFailureAction"]; !ok || v == nil { - return fmt.Errorf("field validationFailureAction in SpecDistributionModulesPolicyKyverno: required") - } - type Plain SpecDistributionModulesPolicyKyverno - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesPolicyKyverno(plain) - return nil +type TypesFuryModuleOverridesIngress struct { + // If true, the ingress will not have authentication + DisableAuth *bool `json:"disableAuth,omitempty" yaml:"disableAuth,omitempty" mapstructure:"disableAuth,omitempty"` + + // The host of the ingress + Host *string `json:"host,omitempty" yaml:"host,omitempty" mapstructure:"host,omitempty"` + + // The ingress class of the ingress + IngressClass *string `json:"ingressClass,omitempty" yaml:"ingressClass,omitempty" mapstructure:"ingressClass,omitempty"` } type TypesFuryModuleOverridesIngresses map[string]TypesFuryModuleOverridesIngress -var enumValues_SpecDistributionModulesPolicyType = []interface{}{ - "none", - "gatekeeper", - "kyverno", +type TypesIpAddress string + +type TypesKubeLabels map[string]string + +type TypesKubeLabels_1 map[string]string + +type TypesKubeNodeSelector map[string]string + +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"` } -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesPolicyType) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { - return err - } - var ok bool - for _, expected := range enumValues_SpecDistributionModulesPolicyType { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesPolicyType, v) - } - *j = SpecDistributionModulesPolicyType(v) - return nil +type TypesKubeResourcesLimits struct { + // The cpu limit for the opensearch pods + Cpu *string `json:"cpu,omitempty" yaml:"cpu,omitempty" mapstructure:"cpu,omitempty"` + + // The memory limit for the opensearch pods + Memory *string `json:"memory,omitempty" yaml:"memory,omitempty" mapstructure:"memory,omitempty"` } -type TypesFuryModuleOverridesIngress struct { - // If true, the ingress will not have authentication - DisableAuth *bool `json:"disableAuth,omitempty" yaml:"disableAuth,omitempty" mapstructure:"disableAuth,omitempty"` +type TypesKubeResourcesRequests struct { + // The cpu request for the prometheus pods + Cpu *string `json:"cpu,omitempty" yaml:"cpu,omitempty" mapstructure:"cpu,omitempty"` - // The host of the ingress - Host *string `json:"host,omitempty" yaml:"host,omitempty" mapstructure:"host,omitempty"` + // The memory request for the opensearch pods + Memory *string `json:"memory,omitempty" yaml:"memory,omitempty" mapstructure:"memory,omitempty"` +} - // The ingress class of the ingress - IngressClass *string `json:"ingressClass,omitempty" yaml:"ingressClass,omitempty" mapstructure:"ingressClass,omitempty"` +type TypesKubeTaints []string + +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"` } -type TypesFuryModuleComponentOverridesWithIAMRoleName struct { - // IamRoleName corresponds to the JSON schema field "iamRoleName". - IamRoleName *TypesAwsIamRoleName `json:"iamRoleName,omitempty" yaml:"iamRoleName,omitempty" mapstructure:"iamRoleName,omitempty"` +type TypesKubeTolerationEffect string - // The node selector to use to place the pods for the load balancer controller - // module - NodeSelector TypesKubeNodeSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty" mapstructure:"nodeSelector,omitempty"` +const ( + TypesKubeTolerationEffectNoExecute TypesKubeTolerationEffect = "NoExecute" + TypesKubeTolerationEffectNoSchedule TypesKubeTolerationEffect = "NoSchedule" + TypesKubeTolerationEffectPreferNoSchedule TypesKubeTolerationEffect = "PreferNoSchedule" +) - // The tolerations that will be added to the pods for the cluster autoscaler - // module - Tolerations []TypesKubeToleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"` +type TypesKubeTolerationOperator string + +const ( + TypesKubeTolerationOperatorEqual TypesKubeTolerationOperator = "Equal" + TypesKubeTolerationOperatorExists TypesKubeTolerationOperator = "Exists" +) + +type TypesSemVer string + +type TypesSshPubKey string + +type TypesTcpPort int + +type TypesUri string + +var enumValues_EksclusterKfdV1Alpha2Kind = []interface{}{ + "EKSCluster", } -type TypesAwsIamRoleName string +var enumValues_SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior = []interface{}{ + "create", + "replace", + "merge", +} + +var enumValues_SpecDistributionCustomPatchesSecretGeneratorResourceBehavior = []interface{}{ + "create", + "replace", + "merge", +} + +var enumValues_SpecDistributionModulesAuthProviderType = []interface{}{ + "none", + "basicAuth", + "sso", +} + +var enumValues_SpecDistributionModulesDrType = []interface{}{ + "none", + "eks", +} + +var enumValues_SpecDistributionModulesIngressCertManagerClusterIssuerType = []interface{}{ + "dns01", + "http01", +} + +var enumValues_SpecDistributionModulesIngressNginxTLSProvider = []interface{}{ + "certManager", + "secret", + "none", +} + +var enumValues_SpecDistributionModulesIngressNginxType = []interface{}{ + "none", + "single", + "dual", +} + +var enumValues_SpecDistributionModulesLoggingLokiBackend = []interface{}{ + "minio", + "externalEndpoint", +} + +var enumValues_SpecDistributionModulesLoggingOpensearchType = []interface{}{ + "single", + "triple", +} // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesAuth) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { +func (j *SpecDistributionModulesTracingTempoBackend) UnmarshalJSON(b []byte) error { + var v string + if err := json.Unmarshal(b, &v); err != nil { return err } - if v, ok := raw["provider"]; !ok || v == nil { - return fmt.Errorf("field provider in SpecDistributionModulesAuth: required") + var ok bool + for _, expected := range enumValues_SpecDistributionModulesTracingTempoBackend { + if reflect.DeepEqual(v, expected) { + ok = true + break + } } - type Plain SpecDistributionModulesAuth - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err + if !ok { + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesTracingTempoBackend, v) } - *j = SpecDistributionModulesAuth(plain) + *j = SpecDistributionModulesTracingTempoBackend(v) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesPolicy) UnmarshalJSON(b []byte) error { +func (j *SpecKubernetesAwsAuthUser) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecDistributionModulesPolicy: required") + if v, ok := raw["groups"]; !ok || v == nil { + return fmt.Errorf("field groups in SpecKubernetesAwsAuthUser: required") } - type Plain SpecDistributionModulesPolicy + if v, ok := raw["userarn"]; !ok || v == nil { + return fmt.Errorf("field userarn in SpecKubernetesAwsAuthUser: required") + } + if v, ok := raw["username"]; !ok || v == nil { + return fmt.Errorf("field username in SpecKubernetesAwsAuthUser: required") + } + type Plain SpecKubernetesAwsAuthUser var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesPolicy(plain) + *j = SpecKubernetesAwsAuthUser(plain) return nil } +var enumValues_TypesKubeTolerationOperator = []interface{}{ + "Exists", + "Equal", +} + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesAuthProvider) UnmarshalJSON(b []byte) error { +func (j *SpecKubernetesAPIServer) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecDistributionModulesAuthProvider: required") + if v, ok := raw["privateAccess"]; !ok || v == nil { + return fmt.Errorf("field privateAccess in SpecKubernetesAPIServer: required") } - type Plain SpecDistributionModulesAuthProvider + if v, ok := raw["publicAccess"]; !ok || v == nil { + return fmt.Errorf("field publicAccess in SpecKubernetesAPIServer: required") + } + type Plain SpecKubernetesAPIServer var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesAuthProvider(plain) + *j = SpecKubernetesAPIServer(plain) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesAuthProviderType) UnmarshalJSON(b []byte) error { +func (j *TypesKubeTolerationOperator) UnmarshalJSON(b []byte) error { var v string if err := json.Unmarshal(b, &v); err != nil { return err } var ok bool - for _, expected := range enumValues_SpecDistributionModulesAuthProviderType { + for _, expected := range enumValues_TypesKubeTolerationOperator { if reflect.DeepEqual(v, expected) { ok = true break } } if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesAuthProviderType, v) + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_TypesKubeTolerationOperator, v) } - *j = SpecDistributionModulesAuthProviderType(v) + *j = TypesKubeTolerationOperator(v) return nil } -var enumValues_SpecDistributionModulesAuthProviderType = []interface{}{ - "none", - "basicAuth", - "sso", -} - -var enumValues_SpecDistributionModulesTracingTempoBackend = []interface{}{ - "minio", - "externalEndpoint", +var enumValues_SpecKubernetesLogsTypesElem = []interface{}{ + "api", + "audit", + "authenticator", + "controllerManager", + "scheduler", } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesTracingTempoBackend) UnmarshalJSON(b []byte) error { +func (j *SpecKubernetesLogsTypesElem) UnmarshalJSON(b []byte) error { var v string if err := json.Unmarshal(b, &v); err != nil { return err } var ok bool - for _, expected := range enumValues_SpecDistributionModulesTracingTempoBackend { + for _, expected := range enumValues_SpecKubernetesLogsTypesElem { if reflect.DeepEqual(v, expected) { ok = true break } } if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesTracingTempoBackend, v) + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecKubernetesLogsTypesElem, v) } - *j = SpecDistributionModulesTracingTempoBackend(v) + *j = SpecKubernetesLogsTypesElem(v) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesAuthProviderBasicAuth) UnmarshalJSON(b []byte) error { +func (j *SpecInfrastructureVpn) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["password"]; !ok || v == nil { - return fmt.Errorf("field password in SpecDistributionModulesAuthProviderBasicAuth: required") + if v, ok := raw["ssh"]; !ok || v == nil { + return fmt.Errorf("field ssh in SpecInfrastructureVpn: required") } - if v, ok := raw["username"]; !ok || v == nil { - return fmt.Errorf("field username in SpecDistributionModulesAuthProviderBasicAuth: required") + if v, ok := raw["vpnClientsSubnetCidr"]; !ok || v == nil { + return fmt.Errorf("field vpnClientsSubnetCidr in SpecInfrastructureVpn: required") } - type Plain SpecDistributionModulesAuthProviderBasicAuth + type Plain SpecInfrastructureVpn var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesAuthProviderBasicAuth(plain) + *j = SpecInfrastructureVpn(plain) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesAuthPomerium) UnmarshalJSON(b []byte) error { +func (j *TypesKubeTolerationEffect) UnmarshalJSON(b []byte) error { + var v string + if err := json.Unmarshal(b, &v); err != nil { + return err + } + var ok bool + for _, expected := range enumValues_TypesKubeTolerationEffect { + if reflect.DeepEqual(v, expected) { + ok = true + break + } + } + if !ok { + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_TypesKubeTolerationEffect, v) + } + *j = TypesKubeTolerationEffect(v) + return nil +} + +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecInfrastructureVpnSsh) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["policy"]; !ok || v == nil { - return fmt.Errorf("field policy in SpecDistributionModulesAuthPomerium: required") + if v, ok := raw["allowedFromCidrs"]; !ok || v == nil { + return fmt.Errorf("field allowedFromCidrs in SpecInfrastructureVpnSsh: required") } - if v, ok := raw["secrets"]; !ok || v == nil { - return fmt.Errorf("field secrets in SpecDistributionModulesAuthPomerium: required") + if v, ok := raw["githubUsersName"]; !ok || v == nil { + return fmt.Errorf("field githubUsersName in SpecInfrastructureVpnSsh: required") } - type Plain SpecDistributionModulesAuthPomerium + type Plain SpecInfrastructureVpnSsh var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesAuthPomerium(plain) + if plain.GithubUsersName != nil && len(plain.GithubUsersName) < 1 { + return fmt.Errorf("field %s length: must be >= %d", "githubUsersName", 1) + } + *j = SpecInfrastructureVpnSsh(plain) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesAuthPomeriumSecrets) UnmarshalJSON(b []byte) error { +func (j *SpecInfrastructureVpc) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["COOKIE_SECRET"]; !ok || v == nil { - return fmt.Errorf("field COOKIE_SECRET in SpecDistributionModulesAuthPomeriumSecrets: required") - } - if v, ok := raw["IDP_CLIENT_SECRET"]; !ok || v == nil { - return fmt.Errorf("field IDP_CLIENT_SECRET in SpecDistributionModulesAuthPomeriumSecrets: required") - } - if v, ok := raw["SHARED_SECRET"]; !ok || v == nil { - return fmt.Errorf("field SHARED_SECRET in SpecDistributionModulesAuthPomeriumSecrets: required") + if v, ok := raw["network"]; !ok || v == nil { + return fmt.Errorf("field network in SpecInfrastructureVpc: required") } - type Plain SpecDistributionModulesAuthPomeriumSecrets + type Plain SpecInfrastructureVpc var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesAuthPomeriumSecrets(plain) + *j = SpecInfrastructureVpc(plain) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesAuthOverridesIngress) UnmarshalJSON(b []byte) error { +func (j *TypesKubeToleration) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["host"]; !ok || v == nil { - return fmt.Errorf("field host in SpecDistributionModulesAuthOverridesIngress: required") + if v, ok := raw["effect"]; !ok || v == nil { + return fmt.Errorf("field effect in TypesKubeToleration: required") } - if v, ok := raw["ingressClass"]; !ok || v == nil { - return fmt.Errorf("field ingressClass in SpecDistributionModulesAuthOverridesIngress: required") + if v, ok := raw["key"]; !ok || v == nil { + return fmt.Errorf("field key in TypesKubeToleration: required") } - type Plain SpecDistributionModulesAuthOverridesIngress + type Plain TypesKubeToleration var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesAuthOverridesIngress(plain) + *j = TypesKubeToleration(plain) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesAuthDex) UnmarshalJSON(b []byte) error { +func (j *SpecInfrastructureVpcNetwork) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["connectors"]; !ok || v == nil { - return fmt.Errorf("field connectors in SpecDistributionModulesAuthDex: required") + if v, ok := raw["cidr"]; !ok || v == nil { + return fmt.Errorf("field cidr in SpecInfrastructureVpcNetwork: required") } - type Plain SpecDistributionModulesAuthDex + if v, ok := raw["subnetsCidrs"]; !ok || v == nil { + return fmt.Errorf("field subnetsCidrs in SpecInfrastructureVpcNetwork: required") + } + type Plain SpecInfrastructureVpcNetwork var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesAuthDex(plain) + *j = SpecInfrastructureVpcNetwork(plain) return nil } -var enumValues_SpecDistributionModulesTracingType = []interface{}{ - "none", - "tempo", -} - // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesTracingType) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { +func (j *SpecKubernetesNodePoolAdditionalFirewallRulePorts) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { return err } - var ok bool - for _, expected := range enumValues_SpecDistributionModulesTracingType { - if reflect.DeepEqual(v, expected) { - ok = true - break - } + if v, ok := raw["from"]; !ok || v == nil { + return fmt.Errorf("field from in SpecKubernetesNodePoolAdditionalFirewallRulePorts: required") } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesTracingType, v) + if v, ok := raw["to"]; !ok || v == nil { + return fmt.Errorf("field to in SpecKubernetesNodePoolAdditionalFirewallRulePorts: required") } - *j = SpecDistributionModulesTracingType(v) + type Plain SpecKubernetesNodePoolAdditionalFirewallRulePorts + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecKubernetesNodePoolAdditionalFirewallRulePorts(plain) return nil } -type TypesFuryModuleComponentOverrides struct { - // The node selector to use to place the pods for the minio module - NodeSelector TypesKubeNodeSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty" mapstructure:"nodeSelector,omitempty"` - - // The tolerations that will be added to the pods for the cert-manager module - Tolerations []TypesKubeToleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"` -} - // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionCustomPatchesSecretGeneratorResource) UnmarshalJSON(b []byte) error { +func (j *SpecInfrastructureVpcNetworkSubnetsCidrs) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["name"]; !ok || v == nil { - return fmt.Errorf("field name in SpecDistributionCustomPatchesSecretGeneratorResource: required") + if v, ok := raw["private"]; !ok || v == nil { + return fmt.Errorf("field private in SpecInfrastructureVpcNetworkSubnetsCidrs: required") } - type Plain SpecDistributionCustomPatchesSecretGeneratorResource + if v, ok := raw["public"]; !ok || v == nil { + return fmt.Errorf("field public in SpecInfrastructureVpcNetworkSubnetsCidrs: required") + } + type Plain SpecInfrastructureVpcNetworkSubnetsCidrs var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionCustomPatchesSecretGeneratorResource(plain) + *j = SpecInfrastructureVpcNetworkSubnetsCidrs(plain) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionCustomPatchesSecretGeneratorResourceBehavior) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior) UnmarshalJSON(b []byte) error { var v string if err := json.Unmarshal(b, &v); err != nil { return err } var ok bool - for _, expected := range enumValues_SpecDistributionCustomPatchesSecretGeneratorResourceBehavior { + for _, expected := range enumValues_SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior { if reflect.DeepEqual(v, expected) { ok = true break } } if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionCustomPatchesSecretGeneratorResourceBehavior, v) + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior, v) } - *j = SpecDistributionCustomPatchesSecretGeneratorResourceBehavior(v) + *j = SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior(v) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesTracing) UnmarshalJSON(b []byte) error { +func (j *SpecDistribution) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecDistributionModulesTracing: required") + if v, ok := raw["modules"]; !ok || v == nil { + return fmt.Errorf("field modules in SpecDistribution: required") } - type Plain SpecDistributionModulesTracing + type Plain SpecDistribution var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecDistributionModulesTracing(plain) + *j = SpecDistribution(plain) return nil } -var enumValues_SpecDistributionCustomPatchesSecretGeneratorResourceBehavior = []interface{}{ - "create", - "replace", - "merge", +var enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockType = []interface{}{ + "ingress", + "egress", +} + +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockType) UnmarshalJSON(b []byte) error { + var v string + if err := json.Unmarshal(b, &v); err != nil { + return err + } + var ok bool + for _, expected := range enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockType { + if reflect.DeepEqual(v, expected) { + ok = true + break + } + } + if !ok { + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockType, v) + } + *j = SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockType(v) + return nil } // UnmarshalJSON implements json.Unmarshaler. @@ -2890,848 +2181,721 @@ func (j *SpecDistributionCustomPatchesConfigMapGeneratorResource) UnmarshalJSON( } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistribution) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { +func (j *SpecDistributionModulesMonitoringMimirBackend) UnmarshalJSON(b []byte) error { + var v string + if err := json.Unmarshal(b, &v); err != nil { return err } - if v, ok := raw["modules"]; !ok || v == nil { - return fmt.Errorf("field modules in SpecDistribution: required") + var ok bool + for _, expected := range enumValues_SpecDistributionModulesMonitoringMimirBackend { + if reflect.DeepEqual(v, expected) { + ok = true + break + } } - type Plain SpecDistribution - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err + if !ok { + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesMonitoringMimirBackend, v) } - *j = SpecDistribution(plain) + *j = SpecDistributionModulesMonitoringMimirBackend(v) return nil } -type TypesCidr string - -type TypesKubeLabels map[string]string - // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecInfrastructureVpcNetworkSubnetsCidrs) UnmarshalJSON(b []byte) error { +func (j *SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["private"]; !ok || v == nil { - return fmt.Errorf("field private in SpecInfrastructureVpcNetworkSubnetsCidrs: required") + if v, ok := raw["cidrBlocks"]; !ok || v == nil { + return fmt.Errorf("field cidrBlocks in SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock: required") } - if v, ok := raw["public"]; !ok || v == nil { - return fmt.Errorf("field public in SpecInfrastructureVpcNetworkSubnetsCidrs: required") + if v, ok := raw["name"]; !ok || v == nil { + return fmt.Errorf("field name in SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock: required") } - type Plain SpecInfrastructureVpcNetworkSubnetsCidrs + if v, ok := raw["ports"]; !ok || v == nil { + return fmt.Errorf("field ports in SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock: required") + } + if v, ok := raw["protocol"]; !ok || v == nil { + return fmt.Errorf("field protocol in SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock: required") + } + if v, ok := raw["type"]; !ok || v == nil { + return fmt.Errorf("field type in SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock: required") + } + type Plain SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecInfrastructureVpcNetworkSubnetsCidrs(plain) + if plain.CidrBlocks != nil && len(plain.CidrBlocks) < 1 { + return fmt.Errorf("field %s length: must be >= %d", "cidrBlocks", 1) + } + *j = SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock(plain) return nil } +var enumValues_SpecDistributionModulesMonitoringMimirBackend = []interface{}{ + "minio", + "externalEndpoint", +} + +var enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleSelfType = []interface{}{ + "ingress", + "egress", +} + // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior) UnmarshalJSON(b []byte) error { +func (j *SpecKubernetesNodePoolAdditionalFirewallRuleSelfType) UnmarshalJSON(b []byte) error { var v string if err := json.Unmarshal(b, &v); err != nil { return err } var ok bool - for _, expected := range enumValues_SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior { + for _, expected := range enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleSelfType { if reflect.DeepEqual(v, expected) { ok = true break } } if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior, v) + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleSelfType, v) } - *j = SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior(v) + *j = SpecKubernetesNodePoolAdditionalFirewallRuleSelfType(v) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecInfrastructureVpcNetwork) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesTracing) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["cidr"]; !ok || v == nil { - return fmt.Errorf("field cidr in SpecInfrastructureVpcNetwork: required") - } - if v, ok := raw["subnetsCidrs"]; !ok || v == nil { - return fmt.Errorf("field subnetsCidrs in SpecInfrastructureVpcNetwork: required") + if v, ok := raw["type"]; !ok || v == nil { + return fmt.Errorf("field type in SpecDistributionModulesTracing: required") } - type Plain SpecInfrastructureVpcNetwork + type Plain SpecDistributionModulesTracing var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecInfrastructureVpcNetwork(plain) + *j = SpecDistributionModulesTracing(plain) return nil } -var enumValues_SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior = []interface{}{ - "create", - "replace", - "merge", +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionCustomPatchesSecretGeneratorResourceBehavior) UnmarshalJSON(b []byte) error { + var v string + if err := json.Unmarshal(b, &v); err != nil { + return err + } + var ok bool + for _, expected := range enumValues_SpecDistributionCustomPatchesSecretGeneratorResourceBehavior { + if reflect.DeepEqual(v, expected) { + ok = true + break + } + } + if !ok { + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionCustomPatchesSecretGeneratorResourceBehavior, v) + } + *j = SpecDistributionCustomPatchesSecretGeneratorResourceBehavior(v) + return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecInfrastructureVpc) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionCustomPatchesSecretGeneratorResource) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["network"]; !ok || v == nil { - return fmt.Errorf("field network in SpecInfrastructureVpc: required") + if v, ok := raw["name"]; !ok || v == nil { + return fmt.Errorf("field name in SpecDistributionCustomPatchesSecretGeneratorResource: required") } - type Plain SpecInfrastructureVpc + type Plain SpecDistributionCustomPatchesSecretGeneratorResource var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecInfrastructureVpc(plain) + *j = SpecDistributionCustomPatchesSecretGeneratorResource(plain) return nil } -type TypesAwsS3BucketNamePrefix string - -type TypesTcpPort int - // UnmarshalJSON implements json.Unmarshaler. -func (j *TypesKubeToleration) UnmarshalJSON(b []byte) error { +func (j *SpecKubernetesNodePoolAdditionalFirewallRuleSelf) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["effect"]; !ok || v == nil { - return fmt.Errorf("field effect in TypesKubeToleration: required") + if v, ok := raw["name"]; !ok || v == nil { + return fmt.Errorf("field name in SpecKubernetesNodePoolAdditionalFirewallRuleSelf: required") } - if v, ok := raw["key"]; !ok || v == nil { - return fmt.Errorf("field key in TypesKubeToleration: required") + if v, ok := raw["ports"]; !ok || v == nil { + return fmt.Errorf("field ports in SpecKubernetesNodePoolAdditionalFirewallRuleSelf: required") } - type Plain TypesKubeToleration + if v, ok := raw["protocol"]; !ok || v == nil { + return fmt.Errorf("field protocol in SpecKubernetesNodePoolAdditionalFirewallRuleSelf: required") + } + if v, ok := raw["self"]; !ok || v == nil { + return fmt.Errorf("field self in SpecKubernetesNodePoolAdditionalFirewallRuleSelf: required") + } + if v, ok := raw["type"]; !ok || v == nil { + return fmt.Errorf("field type in SpecKubernetesNodePoolAdditionalFirewallRuleSelf: required") + } + type Plain SpecKubernetesNodePoolAdditionalFirewallRuleSelf var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = TypesKubeToleration(plain) + *j = SpecKubernetesNodePoolAdditionalFirewallRuleSelf(plain) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesIngressNginxType) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesTracingType) UnmarshalJSON(b []byte) error { var v string if err := json.Unmarshal(b, &v); err != nil { return err } var ok bool - for _, expected := range enumValues_SpecDistributionModulesIngressNginxType { + for _, expected := range enumValues_SpecDistributionModulesTracingType { if reflect.DeepEqual(v, expected) { ok = true break } } if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesIngressNginxType, v) + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesTracingType, v) } - *j = SpecDistributionModulesIngressNginxType(v) + *j = SpecDistributionModulesTracingType(v) return nil } -type TypesAwsVpcId string - -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"` +var enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdType = []interface{}{ + "ingress", + "egress", } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecInfrastructureVpn) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { +func (j *SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdType) UnmarshalJSON(b []byte) error { + var v string + if err := json.Unmarshal(b, &v); err != nil { return err } - if v, ok := raw["ssh"]; !ok || v == nil { - return fmt.Errorf("field ssh in SpecInfrastructureVpn: required") - } - if v, ok := raw["vpnClientsSubnetCidr"]; !ok || v == nil { - return fmt.Errorf("field vpnClientsSubnetCidr in SpecInfrastructureVpn: required") + var ok bool + for _, expected := range enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdType { + if reflect.DeepEqual(v, expected) { + ok = true + break + } } - type Plain SpecInfrastructureVpn - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err + if !ok { + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdType, v) } - *j = SpecInfrastructureVpn(plain) + *j = SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdType(v) return nil } -const ( - TypesKubeTolerationOperatorEqual TypesKubeTolerationOperator = "Equal" - TypesKubeTolerationOperatorExists TypesKubeTolerationOperator = "Exists" -) +var enumValues_SpecDistributionModulesTracingType = []interface{}{ + "none", + "tempo", +} // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesAPIServer) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesLogging) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["privateAccess"]; !ok || v == nil { - return fmt.Errorf("field privateAccess in SpecKubernetesAPIServer: required") - } - if v, ok := raw["publicAccess"]; !ok || v == nil { - return fmt.Errorf("field publicAccess in SpecKubernetesAPIServer: required") + if v, ok := raw["type"]; !ok || v == nil { + return fmt.Errorf("field type in SpecDistributionModulesLogging: required") } - type Plain SpecKubernetesAPIServer + type Plain SpecDistributionModulesLogging var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecKubernetesAPIServer(plain) + *j = SpecDistributionModulesLogging(plain) return nil } -type TypesAwsArn string - // UnmarshalJSON implements json.Unmarshaler. -func (j *TypesKubeTolerationOperator) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { +func (j *SpecDistributionModulesAuthDex) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { return err } - var ok bool - for _, expected := range enumValues_TypesKubeTolerationOperator { - if reflect.DeepEqual(v, expected) { - ok = true - break - } + if v, ok := raw["connectors"]; !ok || v == nil { + return fmt.Errorf("field connectors in SpecDistributionModulesAuthDex: required") } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_TypesKubeTolerationOperator, v) + type Plain SpecDistributionModulesAuthDex + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err } - *j = TypesKubeTolerationOperator(v) + *j = SpecDistributionModulesAuthDex(plain) return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesAwsAuthRole) UnmarshalJSON(b []byte) error { +func (j *SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["groups"]; !ok || v == nil { - return fmt.Errorf("field groups in SpecKubernetesAwsAuthRole: required") + if v, ok := raw["name"]; !ok || v == nil { + return fmt.Errorf("field name in SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId: required") } - if v, ok := raw["rolearn"]; !ok || v == nil { - return fmt.Errorf("field rolearn in SpecKubernetesAwsAuthRole: required") + if v, ok := raw["ports"]; !ok || v == nil { + return fmt.Errorf("field ports in SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId: required") } - if v, ok := raw["username"]; !ok || v == nil { - return fmt.Errorf("field username in SpecKubernetesAwsAuthRole: required") + if v, ok := raw["protocol"]; !ok || v == nil { + return fmt.Errorf("field protocol in SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId: required") + } + if v, ok := raw["sourceSecurityGroupId"]; !ok || v == nil { + return fmt.Errorf("field sourceSecurityGroupId in SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId: required") + } + if v, ok := raw["type"]; !ok || v == nil { + return fmt.Errorf("field type in SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId: required") } - type Plain SpecKubernetesAwsAuthRole + type Plain SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecKubernetesAwsAuthRole(plain) + *j = SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId(plain) return nil } -var enumValues_TypesKubeTolerationOperator = []interface{}{ - "Exists", - "Equal", -} - // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesAwsAuthUser) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesAuthOverridesIngress) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["groups"]; !ok || v == nil { - return fmt.Errorf("field groups in SpecKubernetesAwsAuthUser: required") - } - if v, ok := raw["userarn"]; !ok || v == nil { - return fmt.Errorf("field userarn in SpecKubernetesAwsAuthUser: required") + if v, ok := raw["host"]; !ok || v == nil { + return fmt.Errorf("field host in SpecDistributionModulesAuthOverridesIngress: required") } - if v, ok := raw["username"]; !ok || v == nil { - return fmt.Errorf("field username in SpecKubernetesAwsAuthUser: required") + if v, ok := raw["ingressClass"]; !ok || v == nil { + return fmt.Errorf("field ingressClass in SpecDistributionModulesAuthOverridesIngress: required") } - type Plain SpecKubernetesAwsAuthUser + type Plain SpecDistributionModulesAuthOverridesIngress var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecKubernetesAwsAuthUser(plain) + *j = SpecDistributionModulesAuthOverridesIngress(plain) return nil } -type TypesKubeTolerationOperator string - -type TypesAwsIamRoleNamePrefix string - -const TypesKubeTolerationEffectNoExecute TypesKubeTolerationEffect = "NoExecute" - -var enumValues_SpecKubernetesLogsTypesElem = []interface{}{ - "api", - "audit", - "authenticator", - "controllerManager", - "scheduler", -} - // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesLogsTypesElem) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { +func (j *SpecKubernetesNodePoolAdditionalFirewallRules) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { return err } - var ok bool - for _, expected := range enumValues_SpecKubernetesLogsTypesElem { - if reflect.DeepEqual(v, expected) { - ok = true - break - } - } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecKubernetesLogsTypesElem, v) - } - *j = SpecKubernetesLogsTypesElem(v) - return nil -} - -const ( - TypesKubeTolerationEffectPreferNoSchedule TypesKubeTolerationEffect = "PreferNoSchedule" - TypesKubeTolerationEffectNoSchedule TypesKubeTolerationEffect = "NoSchedule" -) - -// UnmarshalJSON implements json.Unmarshaler. -func (j *TypesKubeTolerationEffect) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { + type Plain SpecKubernetesNodePoolAdditionalFirewallRules + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { return err } - var ok bool - for _, expected := range enumValues_TypesKubeTolerationEffect { - if reflect.DeepEqual(v, expected) { - ok = true - break - } + if plain.CidrBlocks != nil && len(plain.CidrBlocks) < 1 { + return fmt.Errorf("field %s length: must be >= %d", "cidrBlocks", 1) } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_TypesKubeTolerationEffect, v) + if plain.Self != nil && len(plain.Self) < 1 { + return fmt.Errorf("field %s length: must be >= %d", "self", 1) } - *j = TypesKubeTolerationEffect(v) + if plain.SourceSecurityGroupId != nil && len(plain.SourceSecurityGroupId) < 1 { + return fmt.Errorf("field %s length: must be >= %d", "sourceSecurityGroupId", 1) + } + *j = SpecKubernetesNodePoolAdditionalFirewallRules(plain) return nil } -const ( - SpecKubernetesLogsTypesElemControllerManager SpecKubernetesLogsTypesElem = "controllerManager" - SpecKubernetesLogsTypesElemScheduler SpecKubernetesLogsTypesElem = "scheduler" -) - -type SpecKubernetesNodePoolAdditionalFirewallRulePorts struct { - // From corresponds to the JSON schema field "from". - From TypesTcpPort `json:"from" yaml:"from" mapstructure:"from"` - - // To corresponds to the JSON schema field "to". - To TypesTcpPort `json:"to" yaml:"to" mapstructure:"to"` -} - // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesNodePoolAdditionalFirewallRulePorts) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesAuthPomeriumSecrets) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["from"]; !ok || v == nil { - return fmt.Errorf("field from in SpecKubernetesNodePoolAdditionalFirewallRulePorts: required") + if v, ok := raw["COOKIE_SECRET"]; !ok || v == nil { + return fmt.Errorf("field COOKIE_SECRET in SpecDistributionModulesAuthPomeriumSecrets: required") } - if v, ok := raw["to"]; !ok || v == nil { - return fmt.Errorf("field to in SpecKubernetesNodePoolAdditionalFirewallRulePorts: required") + if v, ok := raw["IDP_CLIENT_SECRET"]; !ok || v == nil { + return fmt.Errorf("field IDP_CLIENT_SECRET in SpecDistributionModulesAuthPomeriumSecrets: required") } - type Plain SpecKubernetesNodePoolAdditionalFirewallRulePorts + if v, ok := raw["SHARED_SECRET"]; !ok || v == nil { + return fmt.Errorf("field SHARED_SECRET in SpecDistributionModulesAuthPomeriumSecrets: required") + } + type Plain SpecDistributionModulesAuthPomeriumSecrets var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecKubernetesNodePoolAdditionalFirewallRulePorts(plain) + *j = SpecDistributionModulesAuthPomeriumSecrets(plain) return nil } -type TypesAwsIpProtocol string - -type TypesAwsTags map[string]string - -type SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockType string - -var enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockType = []interface{}{ - "ingress", - "egress", -} - // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockType) UnmarshalJSON(b []byte) error { - var v string - if err := json.Unmarshal(b, &v); err != nil { +func (j *SpecKubernetesNodePoolAmi) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { return err } - var ok bool - for _, expected := range enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockType { - if reflect.DeepEqual(v, expected) { - ok = true - break - } + if v, ok := raw["id"]; !ok || v == nil { + return fmt.Errorf("field id in SpecKubernetesNodePoolAmi: required") } - if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockType, v) + if v, ok := raw["owner"]; !ok || v == nil { + return fmt.Errorf("field owner in SpecKubernetesNodePoolAmi: required") } - *j = SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockType(v) + type Plain SpecKubernetesNodePoolAmi + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecKubernetesNodePoolAmi(plain) return nil } -const ( - SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockTypeIngress SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockType = "ingress" - SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockTypeEgress SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockType = "egress" -) - -type SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock struct { - // CidrBlocks corresponds to the JSON schema field "cidrBlocks". - CidrBlocks []TypesCidr `json:"cidrBlocks" yaml:"cidrBlocks" mapstructure:"cidrBlocks"` - - // Name corresponds to the JSON schema field "name". - Name string `json:"name" yaml:"name" mapstructure:"name"` - - // Ports corresponds to the JSON schema field "ports". - Ports SpecKubernetesNodePoolAdditionalFirewallRulePorts `json:"ports" yaml:"ports" mapstructure:"ports"` - - // Protocol corresponds to the JSON schema field "protocol". - Protocol TypesAwsIpProtocol `json:"protocol" yaml:"protocol" mapstructure:"protocol"` - - // Tags corresponds to the JSON schema field "tags". - Tags TypesAwsTags `json:"tags,omitempty" yaml:"tags,omitempty" mapstructure:"tags,omitempty"` - - // Type corresponds to the JSON schema field "type". - Type SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlockType `json:"type" yaml:"type" mapstructure:"type"` -} - // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesAuthPomerium) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["cidrBlocks"]; !ok || v == nil { - return fmt.Errorf("field cidrBlocks in SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock: required") - } - if v, ok := raw["name"]; !ok || v == nil { - return fmt.Errorf("field name in SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock: required") - } - if v, ok := raw["ports"]; !ok || v == nil { - return fmt.Errorf("field ports in SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock: required") - } - if v, ok := raw["protocol"]; !ok || v == nil { - return fmt.Errorf("field protocol in SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock: required") + if v, ok := raw["policy"]; !ok || v == nil { + return fmt.Errorf("field policy in SpecDistributionModulesAuthPomerium: required") } - if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock: required") + if v, ok := raw["secrets"]; !ok || v == nil { + return fmt.Errorf("field secrets in SpecDistributionModulesAuthPomerium: required") } - type Plain SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock + type Plain SpecDistributionModulesAuthPomerium var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - if plain.CidrBlocks != nil && len(plain.CidrBlocks) < 1 { - return fmt.Errorf("field %s length: must be >= %d", "cidrBlocks", 1) - } - *j = SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock(plain) + *j = SpecDistributionModulesAuthPomerium(plain) return nil } -type SpecKubernetesNodePoolAdditionalFirewallRuleSelfType string - -var enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleSelfType = []interface{}{ - "ingress", - "egress", +var enumValues_SpecKubernetesNodePoolContainerRuntime = []interface{}{ + "docker", + "containerd", } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesNodePoolAdditionalFirewallRuleSelfType) UnmarshalJSON(b []byte) error { +func (j *SpecKubernetesNodePoolContainerRuntime) UnmarshalJSON(b []byte) error { var v string if err := json.Unmarshal(b, &v); err != nil { return err } var ok bool - for _, expected := range enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleSelfType { + for _, expected := range enumValues_SpecKubernetesNodePoolContainerRuntime { if reflect.DeepEqual(v, expected) { ok = true break } } if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleSelfType, v) + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecKubernetesNodePoolContainerRuntime, v) } - *j = SpecKubernetesNodePoolAdditionalFirewallRuleSelfType(v) + *j = SpecKubernetesNodePoolContainerRuntime(v) return nil } -const ( - SpecKubernetesNodePoolAdditionalFirewallRuleSelfTypeIngress SpecKubernetesNodePoolAdditionalFirewallRuleSelfType = "ingress" - SpecKubernetesNodePoolAdditionalFirewallRuleSelfTypeEgress SpecKubernetesNodePoolAdditionalFirewallRuleSelfType = "egress" -) - -type SpecKubernetesNodePoolAdditionalFirewallRuleSelf struct { - // The name of the FW rule - Name string `json:"name" yaml:"name" mapstructure:"name"` - - // Ports corresponds to the JSON schema field "ports". - Ports SpecKubernetesNodePoolAdditionalFirewallRulePorts `json:"ports" yaml:"ports" mapstructure:"ports"` - - // The protocol of the FW rule - Protocol TypesAwsIpProtocol `json:"protocol" yaml:"protocol" mapstructure:"protocol"` - - // If true, the source will be the security group itself - Self bool `json:"self" yaml:"self" mapstructure:"self"` - - // The tags of the FW rule - Tags TypesAwsTags `json:"tags,omitempty" yaml:"tags,omitempty" mapstructure:"tags,omitempty"` +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesLoggingType) UnmarshalJSON(b []byte) error { + var v string + if err := json.Unmarshal(b, &v); err != nil { + return err + } + var ok bool + for _, expected := range enumValues_SpecDistributionModulesLoggingType { + if reflect.DeepEqual(v, expected) { + ok = true + break + } + } + if !ok { + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesLoggingType, v) + } + *j = SpecDistributionModulesLoggingType(v) + return nil +} - // The type of the FW rule can be ingress or egress - Type SpecKubernetesNodePoolAdditionalFirewallRuleSelfType `json:"type" yaml:"type" mapstructure:"type"` +var enumValues_SpecDistributionModulesLoggingType = []interface{}{ + "none", + "opensearch", + "loki", } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesNodePoolAdditionalFirewallRuleSelf) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesDrVeleroEks) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["name"]; !ok || v == nil { - return fmt.Errorf("field name in SpecKubernetesNodePoolAdditionalFirewallRuleSelf: required") - } - if v, ok := raw["ports"]; !ok || v == nil { - return fmt.Errorf("field ports in SpecKubernetesNodePoolAdditionalFirewallRuleSelf: required") - } - if v, ok := raw["protocol"]; !ok || v == nil { - return fmt.Errorf("field protocol in SpecKubernetesNodePoolAdditionalFirewallRuleSelf: required") - } - if v, ok := raw["self"]; !ok || v == nil { - return fmt.Errorf("field self in SpecKubernetesNodePoolAdditionalFirewallRuleSelf: required") + if v, ok := raw["bucketName"]; !ok || v == nil { + return fmt.Errorf("field bucketName in SpecDistributionModulesDrVeleroEks: required") } - if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecKubernetesNodePoolAdditionalFirewallRuleSelf: required") + if v, ok := raw["region"]; !ok || v == nil { + return fmt.Errorf("field region in SpecDistributionModulesDrVeleroEks: required") } - type Plain SpecKubernetesNodePoolAdditionalFirewallRuleSelf + type Plain SpecDistributionModulesDrVeleroEks var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecKubernetesNodePoolAdditionalFirewallRuleSelf(plain) + *j = SpecDistributionModulesDrVeleroEks(plain) return nil } -type SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdType string - -var enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdType = []interface{}{ - "ingress", - "egress", +var enumValues_SpecKubernetesNodePoolInstanceVolumeType = []interface{}{ + "gp2", + "gp3", + "io1", + "standard", } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdType) UnmarshalJSON(b []byte) error { +func (j *SpecKubernetesNodePoolInstanceVolumeType) UnmarshalJSON(b []byte) error { var v string if err := json.Unmarshal(b, &v); err != nil { return err } var ok bool - for _, expected := range enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdType { + for _, expected := range enumValues_SpecKubernetesNodePoolInstanceVolumeType { if reflect.DeepEqual(v, expected) { ok = true break } } if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdType, v) + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecKubernetesNodePoolInstanceVolumeType, v) } - *j = SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdType(v) + *j = SpecKubernetesNodePoolInstanceVolumeType(v) return nil } -const ( - SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdTypeIngress SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdType = "ingress" - SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdTypeEgress SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdType = "egress" -) - -type SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId struct { - // The name of the FW rule - Name string `json:"name" yaml:"name" mapstructure:"name"` - - // Ports corresponds to the JSON schema field "ports". - Ports SpecKubernetesNodePoolAdditionalFirewallRulePorts `json:"ports" yaml:"ports" mapstructure:"ports"` - - // The protocol of the FW rule - Protocol TypesAwsIpProtocol `json:"protocol" yaml:"protocol" mapstructure:"protocol"` - - // The source security group ID - SourceSecurityGroupId string `json:"sourceSecurityGroupId" yaml:"sourceSecurityGroupId" mapstructure:"sourceSecurityGroupId"` - - // The tags of the FW rule - Tags TypesAwsTags `json:"tags,omitempty" yaml:"tags,omitempty" mapstructure:"tags,omitempty"` - - // The type of the FW rule can be ingress or egress - Type SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupIdType `json:"type" yaml:"type" mapstructure:"type"` -} - // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesDrVelero) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["name"]; !ok || v == nil { - return fmt.Errorf("field name in SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId: required") - } - if v, ok := raw["ports"]; !ok || v == nil { - return fmt.Errorf("field ports in SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId: required") + if v, ok := raw["eks"]; !ok || v == nil { + return fmt.Errorf("field eks in SpecDistributionModulesDrVelero: required") } - if v, ok := raw["protocol"]; !ok || v == nil { - return fmt.Errorf("field protocol in SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId: required") + type Plain SpecDistributionModulesDrVelero + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err } - if v, ok := raw["sourceSecurityGroupId"]; !ok || v == nil { - return fmt.Errorf("field sourceSecurityGroupId in SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId: required") + *j = SpecDistributionModulesDrVelero(plain) + return nil +} + +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesLoggingOpensearch) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err } if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId: required") + return fmt.Errorf("field type in SpecDistributionModulesLoggingOpensearch: required") } - type Plain SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId + type Plain SpecDistributionModulesLoggingOpensearch var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId(plain) + *j = SpecDistributionModulesLoggingOpensearch(plain) return nil } -type SpecKubernetesNodePoolAdditionalFirewallRules struct { - // The CIDR blocks for the FW rule. At the moment the first item of the list will - // be used, others will be ignored. - CidrBlocks []SpecKubernetesNodePoolAdditionalFirewallRuleCidrBlock `json:"cidrBlocks,omitempty" yaml:"cidrBlocks,omitempty" mapstructure:"cidrBlocks,omitempty"` - - // Self corresponds to the JSON schema field "self". - Self []SpecKubernetesNodePoolAdditionalFirewallRuleSelf `json:"self,omitempty" yaml:"self,omitempty" mapstructure:"self,omitempty"` - - // SourceSecurityGroupId corresponds to the JSON schema field - // "sourceSecurityGroupId". - SourceSecurityGroupId []SpecKubernetesNodePoolAdditionalFirewallRuleSourceSecurityGroupId `json:"sourceSecurityGroupId,omitempty" yaml:"sourceSecurityGroupId,omitempty" mapstructure:"sourceSecurityGroupId,omitempty"` -} - // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesNodePoolAdditionalFirewallRules) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesDr) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - type Plain SpecKubernetesNodePoolAdditionalFirewallRules + if v, ok := raw["type"]; !ok || v == nil { + return fmt.Errorf("field type in SpecDistributionModulesDr: required") + } + type Plain SpecDistributionModulesDr var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - if plain.CidrBlocks != nil && len(plain.CidrBlocks) < 1 { - return fmt.Errorf("field %s length: must be >= %d", "cidrBlocks", 1) + *j = SpecDistributionModulesDr(plain) + return nil +} + +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecKubernetesAwsAuthRole) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err } - if plain.Self != nil && len(plain.Self) < 1 { - return fmt.Errorf("field %s length: must be >= %d", "self", 1) + if v, ok := raw["groups"]; !ok || v == nil { + return fmt.Errorf("field groups in SpecKubernetesAwsAuthRole: required") } - if plain.SourceSecurityGroupId != nil && len(plain.SourceSecurityGroupId) < 1 { - return fmt.Errorf("field %s length: must be >= %d", "sourceSecurityGroupId", 1) + if v, ok := raw["rolearn"]; !ok || v == nil { + return fmt.Errorf("field rolearn in SpecKubernetesAwsAuthRole: required") } - *j = SpecKubernetesNodePoolAdditionalFirewallRules(plain) + if v, ok := raw["username"]; !ok || v == nil { + return fmt.Errorf("field username in SpecKubernetesAwsAuthRole: required") + } + type Plain SpecKubernetesAwsAuthRole + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecKubernetesAwsAuthRole(plain) return nil } -type SpecKubernetesNodePoolAmi struct { - // The AMI ID to use for the nodes - Id string `json:"id" yaml:"id" mapstructure:"id"` - - // The owner of the AMI - Owner string `json:"owner" yaml:"owner" mapstructure:"owner"` +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesIngressCertManagerClusterIssuerType) UnmarshalJSON(b []byte) error { + var v string + if err := json.Unmarshal(b, &v); err != nil { + return err + } + var ok bool + for _, expected := range enumValues_SpecDistributionModulesIngressCertManagerClusterIssuerType { + if reflect.DeepEqual(v, expected) { + ok = true + break + } + } + if !ok { + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesIngressCertManagerClusterIssuerType, v) + } + *j = SpecDistributionModulesIngressCertManagerClusterIssuerType(v) + return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesNodePoolAmi) UnmarshalJSON(b []byte) error { +func (j *SpecKubernetesNodePoolInstance) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } - if v, ok := raw["id"]; !ok || v == nil { - return fmt.Errorf("field id in SpecKubernetesNodePoolAmi: required") - } - if v, ok := raw["owner"]; !ok || v == nil { - return fmt.Errorf("field owner in SpecKubernetesNodePoolAmi: required") + if v, ok := raw["type"]; !ok || v == nil { + return fmt.Errorf("field type in SpecKubernetesNodePoolInstance: required") } - type Plain SpecKubernetesNodePoolAmi + type Plain SpecKubernetesNodePoolInstance var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecKubernetesNodePoolAmi(plain) + *j = SpecKubernetesNodePoolInstance(plain) return nil } -type SpecKubernetesNodePoolContainerRuntime string - -var enumValues_SpecKubernetesNodePoolContainerRuntime = []interface{}{ - "docker", - "containerd", +var enumValues_SpecDistributionModulesTracingTempoBackend = []interface{}{ + "minio", + "externalEndpoint", } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesNodePoolContainerRuntime) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesLoggingOpensearchType) UnmarshalJSON(b []byte) error { var v string if err := json.Unmarshal(b, &v); err != nil { return err } var ok bool - for _, expected := range enumValues_SpecKubernetesNodePoolContainerRuntime { + for _, expected := range enumValues_SpecDistributionModulesLoggingOpensearchType { if reflect.DeepEqual(v, expected) { ok = true break } } if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecKubernetesNodePoolContainerRuntime, v) + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesLoggingOpensearchType, v) } - *j = SpecKubernetesNodePoolContainerRuntime(v) + *j = SpecDistributionModulesLoggingOpensearchType(v) return nil } -const ( - SpecKubernetesNodePoolContainerRuntimeDocker SpecKubernetesNodePoolContainerRuntime = "docker" - SpecKubernetesNodePoolContainerRuntimeContainerd SpecKubernetesNodePoolContainerRuntime = "containerd" -) - -type SpecKubernetesNodePoolInstanceVolumeType string +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecKubernetesNodePoolSize) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["max"]; !ok || v == nil { + return fmt.Errorf("field max in SpecKubernetesNodePoolSize: required") + } + if v, ok := raw["min"]; !ok || v == nil { + return fmt.Errorf("field min in SpecKubernetesNodePoolSize: required") + } + type Plain SpecKubernetesNodePoolSize + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecKubernetesNodePoolSize(plain) + return nil +} -var enumValues_SpecKubernetesNodePoolInstanceVolumeType = []interface{}{ - "gp2", - "gp3", - "io1", - "standard", +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesAuthProviderBasicAuth) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["password"]; !ok || v == nil { + return fmt.Errorf("field password in SpecDistributionModulesAuthProviderBasicAuth: required") + } + if v, ok := raw["username"]; !ok || v == nil { + return fmt.Errorf("field username in SpecDistributionModulesAuthProviderBasicAuth: required") + } + type Plain SpecDistributionModulesAuthProviderBasicAuth + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecDistributionModulesAuthProviderBasicAuth(plain) + return nil } // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesNodePoolInstanceVolumeType) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesAuthProviderType) UnmarshalJSON(b []byte) error { var v string if err := json.Unmarshal(b, &v); err != nil { return err } var ok bool - for _, expected := range enumValues_SpecKubernetesNodePoolInstanceVolumeType { + for _, expected := range enumValues_SpecDistributionModulesAuthProviderType { if reflect.DeepEqual(v, expected) { ok = true break } } if !ok { - return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecKubernetesNodePoolInstanceVolumeType, v) + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesAuthProviderType, v) } - *j = SpecKubernetesNodePoolInstanceVolumeType(v) + *j = SpecDistributionModulesAuthProviderType(v) return nil } -const ( - SpecKubernetesNodePoolInstanceVolumeTypeGp2 SpecKubernetesNodePoolInstanceVolumeType = "gp2" - SpecKubernetesNodePoolInstanceVolumeTypeGp3 SpecKubernetesNodePoolInstanceVolumeType = "gp3" - SpecKubernetesNodePoolInstanceVolumeTypeIo1 SpecKubernetesNodePoolInstanceVolumeType = "io1" - SpecKubernetesNodePoolInstanceVolumeTypeStandard SpecKubernetesNodePoolInstanceVolumeType = "standard" -) - -type SpecKubernetesNodePoolInstance struct { - // MaxPods corresponds to the JSON schema field "maxPods". - MaxPods *int `json:"maxPods,omitempty" yaml:"maxPods,omitempty" mapstructure:"maxPods,omitempty"` - - // If true, the nodes will be created as spot instances - Spot *bool `json:"spot,omitempty" yaml:"spot,omitempty" mapstructure:"spot,omitempty"` - - // The instance type to use for the nodes - Type string `json:"type" yaml:"type" mapstructure:"type"` - - // The size of the disk in GB - VolumeSize *int `json:"volumeSize,omitempty" yaml:"volumeSize,omitempty" mapstructure:"volumeSize,omitempty"` - - // VolumeType corresponds to the JSON schema field "volumeType". - VolumeType *SpecKubernetesNodePoolInstanceVolumeType `json:"volumeType,omitempty" yaml:"volumeType,omitempty" mapstructure:"volumeType,omitempty"` -} - // UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesNodePoolInstance) UnmarshalJSON(b []byte) error { +func (j *SpecDistributionModulesPolicy) UnmarshalJSON(b []byte) error { var raw map[string]interface{} if err := json.Unmarshal(b, &raw); err != nil { return err } if v, ok := raw["type"]; !ok || v == nil { - return fmt.Errorf("field type in SpecKubernetesNodePoolInstance: required") - } - type Plain SpecKubernetesNodePoolInstance - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecKubernetesNodePoolInstance(plain) - return nil -} - -type TypesKubeLabels_1 map[string]string - -type SpecKubernetesNodePoolSize struct { - // The maximum number of nodes in the node pool - Max int `json:"max" yaml:"max" mapstructure:"max"` - - // The minimum number of nodes in the node pool - Min int `json:"min" yaml:"min" mapstructure:"min"` -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetesNodePoolSize) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["max"]; !ok || v == nil { - return fmt.Errorf("field max in SpecKubernetesNodePoolSize: required") - } - if v, ok := raw["min"]; !ok || v == nil { - return fmt.Errorf("field min in SpecKubernetesNodePoolSize: required") + return fmt.Errorf("field type in SpecDistributionModulesPolicy: required") } - type Plain SpecKubernetesNodePoolSize + type Plain SpecDistributionModulesPolicy var plain Plain if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecKubernetesNodePoolSize(plain) + *j = SpecDistributionModulesPolicy(plain) return nil } -type TypesAwsSubnetId string - -type TypesKubeTaints []string - -type SpecKubernetesNodePoolType string - var enumValues_SpecKubernetesNodePoolType = []interface{}{ "eks-managed", "self-managed", @@ -3757,49 +2921,64 @@ func (j *SpecKubernetesNodePoolType) UnmarshalJSON(b []byte) error { return nil } -const ( - SpecKubernetesNodePoolTypeEksManaged SpecKubernetesNodePoolType = "eks-managed" - SpecKubernetesNodePoolTypeSelfManaged SpecKubernetesNodePoolType = "self-managed" -) - -type SpecKubernetesNodePool struct { - // AdditionalFirewallRules corresponds to the JSON schema field - // "additionalFirewallRules". - AdditionalFirewallRules *SpecKubernetesNodePoolAdditionalFirewallRules `json:"additionalFirewallRules,omitempty" yaml:"additionalFirewallRules,omitempty" mapstructure:"additionalFirewallRules,omitempty"` - - // Ami corresponds to the JSON schema field "ami". - Ami *SpecKubernetesNodePoolAmi `json:"ami,omitempty" yaml:"ami,omitempty" mapstructure:"ami,omitempty"` - - // This optional array defines additional target groups to attach to the instances - // in the node pool - AttachedTargetGroups []TypesAwsArn `json:"attachedTargetGroups,omitempty" yaml:"attachedTargetGroups,omitempty" mapstructure:"attachedTargetGroups,omitempty"` - - // The container runtime to use for the nodes - ContainerRuntime *SpecKubernetesNodePoolContainerRuntime `json:"containerRuntime,omitempty" yaml:"containerRuntime,omitempty" mapstructure:"containerRuntime,omitempty"` - - // Instance corresponds to the JSON schema field "instance". - Instance SpecKubernetesNodePoolInstance `json:"instance" yaml:"instance" mapstructure:"instance"` - - // Kubernetes labels that will be added to the nodes - Labels TypesKubeLabels_1 `json:"labels,omitempty" yaml:"labels,omitempty" mapstructure:"labels,omitempty"` - - // The name of the node pool - Name string `json:"name" yaml:"name" mapstructure:"name"` - - // Size corresponds to the JSON schema field "size". - Size SpecKubernetesNodePoolSize `json:"size" yaml:"size" mapstructure:"size"` - - // This value defines the subnet IDs where the nodes will be created - SubnetIds []TypesAwsSubnetId `json:"subnetIds,omitempty" yaml:"subnetIds,omitempty" mapstructure:"subnetIds,omitempty"` - - // AWS tags that will be added to the ASG and EC2 instances - Tags TypesAwsTags `json:"tags,omitempty" yaml:"tags,omitempty" mapstructure:"tags,omitempty"` +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesIngressCertManagerClusterIssuer) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["email"]; !ok || v == nil { + return fmt.Errorf("field email in SpecDistributionModulesIngressCertManagerClusterIssuer: required") + } + if v, ok := raw["name"]; !ok || v == nil { + return fmt.Errorf("field name in SpecDistributionModulesIngressCertManagerClusterIssuer: required") + } + type Plain SpecDistributionModulesIngressCertManagerClusterIssuer + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecDistributionModulesIngressCertManagerClusterIssuer(plain) + return nil +} - // Kubernetes taints that will be added to the nodes - Taints TypesKubeTaints `json:"taints,omitempty" yaml:"taints,omitempty" mapstructure:"taints,omitempty"` +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesIngressCertManager) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["clusterIssuer"]; !ok || v == nil { + return fmt.Errorf("field clusterIssuer in SpecDistributionModulesIngressCertManager: required") + } + type Plain SpecDistributionModulesIngressCertManager + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecDistributionModulesIngressCertManager(plain) + return nil +} - // Type corresponds to the JSON schema field "type". - Type *SpecKubernetesNodePoolType `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"` +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesIngressDNSPrivate) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["create"]; !ok || v == nil { + return fmt.Errorf("field create in SpecDistributionModulesIngressDNSPrivate: required") + } + if v, ok := raw["name"]; !ok || v == nil { + return fmt.Errorf("field name in SpecDistributionModulesIngressDNSPrivate: required") + } + type Plain SpecDistributionModulesIngressDNSPrivate + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecDistributionModulesIngressDNSPrivate(plain) + return nil } // UnmarshalJSON implements json.Unmarshaler. @@ -3826,7 +3005,26 @@ func (j *SpecKubernetesNodePool) UnmarshalJSON(b []byte) error { return nil } -type SpecKubernetesNodePoolsLaunchKind string +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesIngressDNSPublic) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["create"]; !ok || v == nil { + return fmt.Errorf("field create in SpecDistributionModulesIngressDNSPublic: required") + } + if v, ok := raw["name"]; !ok || v == nil { + return fmt.Errorf("field name in SpecDistributionModulesIngressDNSPublic: required") + } + type Plain SpecDistributionModulesIngressDNSPublic + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecDistributionModulesIngressDNSPublic(plain) + return nil +} var enumValues_SpecKubernetesNodePoolsLaunchKind = []interface{}{ "launch_configurations", @@ -3850,47 +3048,70 @@ func (j *SpecKubernetesNodePoolsLaunchKind) UnmarshalJSON(b []byte) error { if !ok { return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecKubernetesNodePoolsLaunchKind, v) } - *j = SpecKubernetesNodePoolsLaunchKind(v) + *j = SpecKubernetesNodePoolsLaunchKind(v) + return nil +} + +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesAuthProvider) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["type"]; !ok || v == nil { + return fmt.Errorf("field type in SpecDistributionModulesAuthProvider: required") + } + type Plain SpecDistributionModulesAuthProvider + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecDistributionModulesAuthProvider(plain) + return nil +} + +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesAuth) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["provider"]; !ok || v == nil { + return fmt.Errorf("field provider in SpecDistributionModulesAuth: required") + } + type Plain SpecDistributionModulesAuth + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecDistributionModulesAuth(plain) + return nil +} + +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesPolicyType) UnmarshalJSON(b []byte) error { + var v string + if err := json.Unmarshal(b, &v); err != nil { + return err + } + var ok bool + for _, expected := range enumValues_SpecDistributionModulesPolicyType { + if reflect.DeepEqual(v, expected) { + ok = true + break + } + } + if !ok { + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesPolicyType, v) + } + *j = SpecDistributionModulesPolicyType(v) return nil } -const ( - SpecKubernetesNodePoolsLaunchKindLaunchConfigurations SpecKubernetesNodePoolsLaunchKind = "launch_configurations" - SpecKubernetesNodePoolsLaunchKindLaunchTemplates SpecKubernetesNodePoolsLaunchKind = "launch_templates" - SpecKubernetesNodePoolsLaunchKindBoth SpecKubernetesNodePoolsLaunchKind = "both" -) - -type SpecKubernetes struct { - // ApiServer corresponds to the JSON schema field "apiServer". - ApiServer SpecKubernetesAPIServer `json:"apiServer" yaml:"apiServer" mapstructure:"apiServer"` - - // AwsAuth corresponds to the JSON schema field "awsAuth". - AwsAuth *SpecKubernetesAwsAuth `json:"awsAuth,omitempty" yaml:"awsAuth,omitempty" mapstructure:"awsAuth,omitempty"` - - // LogRetentionDays corresponds to the JSON schema field "logRetentionDays". - LogRetentionDays *int `json:"logRetentionDays,omitempty" yaml:"logRetentionDays,omitempty" mapstructure:"logRetentionDays,omitempty"` - - // LogsTypes corresponds to the JSON schema field "logsTypes". - LogsTypes []SpecKubernetesLogsTypesElem `json:"logsTypes,omitempty" yaml:"logsTypes,omitempty" mapstructure:"logsTypes,omitempty"` - - // NodeAllowedSshPublicKey corresponds to the JSON schema field - // "nodeAllowedSshPublicKey". - NodeAllowedSshPublicKey interface{} `json:"nodeAllowedSshPublicKey" yaml:"nodeAllowedSshPublicKey" mapstructure:"nodeAllowedSshPublicKey"` - - // NodePools corresponds to the JSON schema field "nodePools". - NodePools []SpecKubernetesNodePool `json:"nodePools" yaml:"nodePools" mapstructure:"nodePools"` - - // NodePoolsLaunchKind corresponds to the JSON schema field "nodePoolsLaunchKind". - NodePoolsLaunchKind SpecKubernetesNodePoolsLaunchKind `json:"nodePoolsLaunchKind" yaml:"nodePoolsLaunchKind" mapstructure:"nodePoolsLaunchKind"` - - // ServiceIpV4Cidr corresponds to the JSON schema field "serviceIpV4Cidr". - ServiceIpV4Cidr *TypesCidr `json:"serviceIpV4Cidr,omitempty" yaml:"serviceIpV4Cidr,omitempty" mapstructure:"serviceIpV4Cidr,omitempty"` - - // SubnetIds corresponds to the JSON schema field "subnetIds". - SubnetIds []TypesAwsSubnetId `json:"subnetIds,omitempty" yaml:"subnetIds,omitempty" mapstructure:"subnetIds,omitempty"` - - // VpcId corresponds to the JSON schema field "vpcId". - VpcId *TypesAwsVpcId `json:"vpcId,omitempty" yaml:"vpcId,omitempty" mapstructure:"vpcId,omitempty"` +var enumValues_TypesKubeTolerationEffect = []interface{}{ + "NoSchedule", + "PreferNoSchedule", + "NoExecute", } // UnmarshalJSON implements json.Unmarshaler. @@ -3920,12 +3141,25 @@ func (j *SpecKubernetes) UnmarshalJSON(b []byte) error { return nil } -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"` +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesIngressDNS) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["private"]; !ok || v == nil { + return fmt.Errorf("field private in SpecDistributionModulesIngressDNS: required") + } + if v, ok := raw["public"]; !ok || v == nil { + return fmt.Errorf("field public in SpecDistributionModulesIngressDNS: required") + } + type Plain SpecDistributionModulesIngressDNS + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecDistributionModulesIngressDNS(plain) + return nil } // UnmarshalJSON implements json.Unmarshaler. @@ -3949,74 +3183,133 @@ func (j *SpecPluginsHelmReleasesElemSetElem) UnmarshalJSON(b []byte) error { return nil } -type SpecPluginsHelmReleases []struct { - // The chart of the release - Chart string `json:"chart" yaml:"chart" mapstructure:"chart"` - - // 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"` +var enumValues_SpecDistributionModulesPolicyType = []interface{}{ + "none", + "gatekeeper", + "kyverno", } -type SpecPluginsHelmRepositories []struct { - // The name of the repository - Name string `json:"name" yaml:"name" mapstructure:"name"` - - // The url of the repository - Url string `json:"url" yaml:"url" mapstructure:"url"` +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesIngressNginxTLSProvider) UnmarshalJSON(b []byte) error { + var v string + if err := json.Unmarshal(b, &v); err != nil { + return err + } + var ok bool + for _, expected := range enumValues_SpecDistributionModulesIngressNginxTLSProvider { + if reflect.DeepEqual(v, expected) { + ok = true + break + } + } + if !ok { + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesIngressNginxTLSProvider, v) + } + *j = SpecDistributionModulesIngressNginxTLSProvider(v) + return nil } -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"` +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesLoggingLokiBackend) UnmarshalJSON(b []byte) error { + var v string + if err := json.Unmarshal(b, &v); err != nil { + return err + } + var ok bool + for _, expected := range enumValues_SpecDistributionModulesLoggingLokiBackend { + if reflect.DeepEqual(v, expected) { + ok = true + break + } + } + if !ok { + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesLoggingLokiBackend, v) + } + *j = SpecDistributionModulesLoggingLokiBackend(v) + return nil } -type SpecPluginsKustomize []struct { - // The folder of the kustomize plugin - Folder string `json:"folder" yaml:"folder" mapstructure:"folder"` - - // The name of the kustomize plugin - Name string `json:"name" yaml:"name" mapstructure:"name"` +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesPolicyKyverno) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["installDefaultPolicies"]; !ok || v == nil { + return fmt.Errorf("field installDefaultPolicies in SpecDistributionModulesPolicyKyverno: required") + } + if v, ok := raw["validationFailureAction"]; !ok || v == nil { + return fmt.Errorf("field validationFailureAction in SpecDistributionModulesPolicyKyverno: required") + } + type Plain SpecDistributionModulesPolicyKyverno + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecDistributionModulesPolicyKyverno(plain) + return nil } -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"` +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesIngressNginxTLSSecret) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["ca"]; !ok || v == nil { + return fmt.Errorf("field ca in SpecDistributionModulesIngressNginxTLSSecret: required") + } + if v, ok := raw["cert"]; !ok || v == nil { + return fmt.Errorf("field cert in SpecDistributionModulesIngressNginxTLSSecret: required") + } + if v, ok := raw["key"]; !ok || v == nil { + return fmt.Errorf("field key in SpecDistributionModulesIngressNginxTLSSecret: required") + } + type Plain SpecDistributionModulesIngressNginxTLSSecret + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecDistributionModulesIngressNginxTLSSecret(plain) + return nil } -type TypesAwsS3KeyPrefix string - -type SpecToolsConfigurationTerraformStateS3 struct { - // This value defines which bucket will be used to store all the states - BucketName TypesAwsS3BucketName `json:"bucketName" yaml:"bucketName" mapstructure:"bucketName"` - - // This value defines which folder will be used to store all the states inside the - // bucket - KeyPrefix TypesAwsS3KeyPrefix `json:"keyPrefix" yaml:"keyPrefix" mapstructure:"keyPrefix"` - - // This value defines in which region the bucket is located - Region TypesAwsRegion `json:"region" yaml:"region" mapstructure:"region"` +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesPolicyKyvernoValidationFailureAction) UnmarshalJSON(b []byte) error { + var v string + if err := json.Unmarshal(b, &v); err != nil { + return err + } + var ok bool + for _, expected := range enumValues_SpecDistributionModulesPolicyKyvernoValidationFailureAction { + if reflect.DeepEqual(v, expected) { + ok = true + break + } + } + if !ok { + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesPolicyKyvernoValidationFailureAction, v) + } + *j = SpecDistributionModulesPolicyKyvernoValidationFailureAction(v) + return nil +} - // This value defines if the region of the bucket should be validated or not by - // Terraform, useful when using a bucket in a recently added region - SkipRegionValidation *bool `json:"skipRegionValidation,omitempty" yaml:"skipRegionValidation,omitempty" mapstructure:"skipRegionValidation,omitempty"` +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesIngressNginxTLS) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["provider"]; !ok || v == nil { + return fmt.Errorf("field provider in SpecDistributionModulesIngressNginxTLS: required") + } + type Plain SpecDistributionModulesIngressNginxTLS + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecDistributionModulesIngressNginxTLS(plain) + return nil } // UnmarshalJSON implements json.Unmarshaler. @@ -4039,15 +3332,34 @@ func (j *SpecToolsConfigurationTerraformStateS3) UnmarshalJSON(b []byte) error { if err := json.Unmarshal(b, &plain); err != nil { return err } - *j = SpecToolsConfigurationTerraformStateS3(plain) + *j = SpecToolsConfigurationTerraformStateS3(plain) + return nil +} + +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesIngress) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["baseDomain"]; !ok || v == nil { + return fmt.Errorf("field baseDomain in SpecDistributionModulesIngress: required") + } + if v, ok := raw["dns"]; !ok || v == nil { + return fmt.Errorf("field dns in SpecDistributionModulesIngress: required") + } + if v, ok := raw["nginx"]; !ok || v == nil { + return fmt.Errorf("field nginx in SpecDistributionModulesIngress: required") + } + type Plain SpecDistributionModulesIngress + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecDistributionModulesIngress(plain) return nil } -type SpecToolsConfigurationTerraformState struct { - // S3 corresponds to the JSON schema field "s3". - S3 SpecToolsConfigurationTerraformStateS3 `json:"s3" yaml:"s3" mapstructure:"s3"` -} - // UnmarshalJSON implements json.Unmarshaler. func (j *SpecToolsConfigurationTerraformState) UnmarshalJSON(b []byte) error { var raw map[string]interface{} @@ -4066,9 +3378,9 @@ func (j *SpecToolsConfigurationTerraformState) UnmarshalJSON(b []byte) error { return nil } -type SpecToolsConfigurationTerraform struct { - // State corresponds to the JSON schema field "state". - State SpecToolsConfigurationTerraformState `json:"state" yaml:"state" mapstructure:"state"` +var enumValues_SpecDistributionModulesPolicyKyvernoValidationFailureAction = []interface{}{ + "audit", + "enforce", } // UnmarshalJSON implements json.Unmarshaler. @@ -4089,9 +3401,24 @@ func (j *SpecToolsConfigurationTerraform) UnmarshalJSON(b []byte) error { return nil } -type SpecToolsConfiguration struct { - // Terraform corresponds to the JSON schema field "terraform". - Terraform SpecToolsConfigurationTerraform `json:"terraform" yaml:"terraform" mapstructure:"terraform"` +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesIngressNginxType) UnmarshalJSON(b []byte) error { + var v string + if err := json.Unmarshal(b, &v); err != nil { + return err + } + var ok bool + for _, expected := range enumValues_SpecDistributionModulesIngressNginxType { + if reflect.DeepEqual(v, expected) { + ok = true + break + } + } + if !ok { + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesIngressNginxType, v) + } + *j = SpecDistributionModulesIngressNginxType(v) + return nil } // UnmarshalJSON implements json.Unmarshaler. @@ -4112,30 +3439,24 @@ func (j *SpecToolsConfiguration) UnmarshalJSON(b []byte) error { return nil } -type Spec struct { - // Distribution corresponds to the JSON schema field "distribution". - Distribution SpecDistribution `json:"distribution" yaml:"distribution" mapstructure:"distribution"` - - // DistributionVersion corresponds to the JSON schema field "distributionVersion". - DistributionVersion string `json:"distributionVersion" yaml:"distributionVersion" mapstructure:"distributionVersion"` - - // Infrastructure corresponds to the JSON schema field "infrastructure". - Infrastructure *SpecInfrastructure `json:"infrastructure,omitempty" yaml:"infrastructure,omitempty" mapstructure:"infrastructure,omitempty"` - - // Kubernetes corresponds to the JSON schema field "kubernetes". - Kubernetes SpecKubernetes `json:"kubernetes" yaml:"kubernetes" mapstructure:"kubernetes"` - - // Plugins corresponds to the JSON schema field "plugins". - Plugins *SpecPlugins `json:"plugins,omitempty" yaml:"plugins,omitempty" mapstructure:"plugins,omitempty"` - - // Region corresponds to the JSON schema field "region". - Region TypesAwsRegion `json:"region" yaml:"region" mapstructure:"region"` - - // Tags corresponds to the JSON schema field "tags". - Tags TypesAwsTags `json:"tags,omitempty" yaml:"tags,omitempty" mapstructure:"tags,omitempty"` - - // ToolsConfiguration corresponds to the JSON schema field "toolsConfiguration". - ToolsConfiguration SpecToolsConfiguration `json:"toolsConfiguration" yaml:"toolsConfiguration" mapstructure:"toolsConfiguration"` +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesDrType) UnmarshalJSON(b []byte) error { + var v string + if err := json.Unmarshal(b, &v); err != nil { + return err + } + var ok bool + for _, expected := range enumValues_SpecDistributionModulesDrType { + if reflect.DeepEqual(v, expected) { + ok = true + break + } + } + if !ok { + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesDrType, v) + } + *j = SpecDistributionModulesDrType(v) + return nil } // UnmarshalJSON implements json.Unmarshaler. @@ -4171,24 +3492,166 @@ func (j *Spec) UnmarshalJSON(b []byte) error { return nil } -type TypesAwsSshPubKey string +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesPolicyGatekeeper) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["enforcementAction"]; !ok || v == nil { + return fmt.Errorf("field enforcementAction in SpecDistributionModulesPolicyGatekeeper: required") + } + if v, ok := raw["installDefaultPolicies"]; !ok || v == nil { + return fmt.Errorf("field installDefaultPolicies in SpecDistributionModulesPolicyGatekeeper: required") + } + type Plain SpecDistributionModulesPolicyGatekeeper + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecDistributionModulesPolicyGatekeeper(plain) + return nil +} -type TypesEnvRef string +var enumValues_SpecDistributionModulesMonitoringType = []interface{}{ + "none", + "prometheus", + "prometheusAgent", + "mimir", +} -type TypesFileRef string +var enumValues_TypesAwsRegion = []interface{}{ + "af-south-1", + "ap-east-1", + "ap-northeast-1", + "ap-northeast-2", + "ap-northeast-3", + "ap-south-1", + "ap-south-2", + "ap-southeast-1", + "ap-southeast-2", + "ap-southeast-3", + "ap-southeast-4", + "ca-central-1", + "eu-central-1", + "eu-central-2", + "eu-north-1", + "eu-south-1", + "eu-south-2", + "eu-west-1", + "eu-west-2", + "eu-west-3", + "me-central-1", + "me-south-1", + "sa-east-1", + "us-east-1", + "us-east-2", + "us-gov-east-1", + "us-gov-west-1", + "us-west-1", + "us-west-2", +} -type TypesIpAddress string +// UnmarshalJSON implements json.Unmarshaler. +func (j *TypesAwsRegion) UnmarshalJSON(b []byte) error { + var v string + if err := json.Unmarshal(b, &v); err != nil { + return err + } + var ok bool + for _, expected := range enumValues_TypesAwsRegion { + if reflect.DeepEqual(v, expected) { + ok = true + break + } + } + if !ok { + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_TypesAwsRegion, v) + } + *j = TypesAwsRegion(v) + return nil +} -type TypesSemVer string +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesPolicyGatekeeperEnforcementAction) UnmarshalJSON(b []byte) error { + var v string + if err := json.Unmarshal(b, &v); err != nil { + return err + } + var ok bool + for _, expected := range enumValues_SpecDistributionModulesPolicyGatekeeperEnforcementAction { + if reflect.DeepEqual(v, expected) { + ok = true + break + } + } + if !ok { + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesPolicyGatekeeperEnforcementAction, v) + } + *j = SpecDistributionModulesPolicyGatekeeperEnforcementAction(v) + return nil +} -type TypesSshPubKey string +var enumValues_SpecDistributionModulesPolicyGatekeeperEnforcementAction = []interface{}{ + "deny", + "dryrun", + "warn", +} -type TypesUri string +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesMonitoringType) UnmarshalJSON(b []byte) error { + var v string + if err := json.Unmarshal(b, &v); err != nil { + return err + } + var ok bool + for _, expected := range enumValues_SpecDistributionModulesMonitoringType { + if reflect.DeepEqual(v, expected) { + ok = true + break + } + } + if !ok { + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesMonitoringType, v) + } + *j = SpecDistributionModulesMonitoringType(v) + return nil +} -type EksclusterKfdV1Alpha2Kind string +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionCommonProvider) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["type"]; !ok || v == nil { + return fmt.Errorf("field type in SpecDistributionCommonProvider: required") + } + type Plain SpecDistributionCommonProvider + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecDistributionCommonProvider(plain) + return nil +} -var enumValues_EksclusterKfdV1Alpha2Kind = []interface{}{ - "EKSCluster", +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesMonitoring) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["type"]; !ok || v == nil { + return fmt.Errorf("field type in SpecDistributionModulesMonitoring: required") + } + type Plain SpecDistributionModulesMonitoring + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecDistributionModulesMonitoring(plain) + return nil } // UnmarshalJSON implements json.Unmarshaler. @@ -4211,7 +3674,23 @@ func (j *EksclusterKfdV1Alpha2Kind) UnmarshalJSON(b []byte) error { return nil } -const EksclusterKfdV1Alpha2KindEKSCluster EksclusterKfdV1Alpha2Kind = "EKSCluster" +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesIngressNginx) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["type"]; !ok || v == nil { + return fmt.Errorf("field type in SpecDistributionModulesIngressNginx: required") + } + type Plain SpecDistributionModulesIngressNginx + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecDistributionModulesIngressNginx(plain) + return nil +} // UnmarshalJSON implements json.Unmarshaler. func (j *Metadata) UnmarshalJSON(b []byte) error { diff --git a/pkg/apis/kfddistribution/v1alpha2/public/schema.go b/pkg/apis/kfddistribution/v1alpha2/public/schema.go index e086e7c7..79726fbe 100644 --- a/pkg/apis/kfddistribution/v1alpha2/public/schema.go +++ b/pkg/apis/kfddistribution/v1alpha2/public/schema.go @@ -678,7 +678,25 @@ type SpecDistributionModulesMonitoring struct { // Prometheus corresponds to the JSON schema field "prometheus". Prometheus *SpecDistributionModulesMonitoringPrometheus `json:"prometheus,omitempty" yaml:"prometheus,omitempty" mapstructure:"prometheus,omitempty"` - // The type of the monitoring, must be ***none***, ***prometheus*** or ***mimir*** + // 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 + // instace, 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`: wil 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, and in addition + // Grafana Mimir that allows for longer retention of metrics and the usage of + // Object Storage. Type SpecDistributionModulesMonitoringType `json:"type" yaml:"type" mapstructure:"type"` // X509Exporter corresponds to the JSON schema field "x509Exporter". @@ -770,24 +788,36 @@ type SpecDistributionModulesMonitoringMinioRootUser struct { } type SpecDistributionModulesMonitoringPrometheus struct { - // RemoteWrite corresponds to the JSON schema field "remoteWrite". + // 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 prometheus pods + // The retention size for the k8s Prometheus instance. RetentionSize *string `json:"retentionSize,omitempty" yaml:"retentionSize,omitempty" mapstructure:"retentionSize,omitempty"` - // The retention time for the prometheus pods + // The retention time for the K8s Prometheus instance. RetentionTime *string `json:"retentionTime,omitempty" yaml:"retentionTime,omitempty" mapstructure:"retentionTime,omitempty"` - // The storage size for the prometheus pods + // The storage size for the k8s Prometheus instance. StorageSize *string `json:"storageSize,omitempty" yaml:"storageSize,omitempty" mapstructure:"storageSize,omitempty"` } type SpecDistributionModulesMonitoringPrometheusAgent struct { - // RemoteWrite corresponds to the JSON schema field "remoteWrite". + // 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". @@ -1392,20 +1422,42 @@ func (j *SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior) Unmars return nil } -type TypesKubeResourcesLimits struct { - // The cpu limit for the loki pods - Cpu *string `json:"cpu,omitempty" yaml:"cpu,omitempty" mapstructure:"cpu,omitempty"` - - // The memory limit for the opensearch pods - Memory *string `json:"memory,omitempty" yaml:"memory,omitempty" mapstructure:"memory,omitempty"` +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesMonitoring) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["type"]; !ok || v == nil { + return fmt.Errorf("field type in SpecDistributionModulesMonitoring: required") + } + type Plain SpecDistributionModulesMonitoring + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecDistributionModulesMonitoring(plain) + return nil } -type TypesKubeResourcesRequests struct { - // The cpu request for the prometheus pods - Cpu *string `json:"cpu,omitempty" yaml:"cpu,omitempty" mapstructure:"cpu,omitempty"` - - // The memory request for the opensearch pods - Memory *string `json:"memory,omitempty" yaml:"memory,omitempty" mapstructure:"memory,omitempty"` +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesMonitoringMimirBackend) UnmarshalJSON(b []byte) error { + var v string + if err := json.Unmarshal(b, &v); err != nil { + return err + } + var ok bool + for _, expected := range enumValues_SpecDistributionModulesMonitoringMimirBackend { + if reflect.DeepEqual(v, expected) { + ok = true + break + } + } + if !ok { + return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesMonitoringMimirBackend, v) + } + *j = SpecDistributionModulesMonitoringMimirBackend(v) + return nil } var enumValues_SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior = []interface{}{ @@ -2196,18 +2248,18 @@ type TypesKubeResources struct { } type TypesKubeResourcesRequests struct { - // Cpu corresponds to the JSON schema field "cpu". + // The cpu request for the prometheus pods Cpu *string `json:"cpu,omitempty" yaml:"cpu,omitempty" mapstructure:"cpu,omitempty"` - // Memory corresponds to the JSON schema field "memory". + // The memory request for the opensearch pods Memory *string `json:"memory,omitempty" yaml:"memory,omitempty" mapstructure:"memory,omitempty"` } type TypesKubeResourcesLimits struct { - // Cpu corresponds to the JSON schema field "cpu". + // The cpu limit for the loki pods Cpu *string `json:"cpu,omitempty" yaml:"cpu,omitempty" mapstructure:"cpu,omitempty"` - // Memory corresponds to the JSON schema field "memory". + // The memory limit for the opensearch pods Memory *string `json:"memory,omitempty" yaml:"memory,omitempty" mapstructure:"memory,omitempty"` } diff --git a/pkg/apis/onpremises/v1alpha2/public/schema.go b/pkg/apis/onpremises/v1alpha2/public/schema.go index a818800c..948ab0ae 100644 --- a/pkg/apis/onpremises/v1alpha2/public/schema.go +++ b/pkg/apis/onpremises/v1alpha2/public/schema.go @@ -30,10 +30,10 @@ type TypesFuryModuleOverrides struct { // Ingresses corresponds to the JSON schema field "ingresses". Ingresses TypesFuryModuleOverridesIngresses `json:"ingresses,omitempty" yaml:"ingresses,omitempty" mapstructure:"ingresses,omitempty"` - // NodeSelector corresponds to the JSON schema field "nodeSelector". + // The node selector to use to place the pods for the tracing module NodeSelector TypesKubeNodeSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty" mapstructure:"nodeSelector,omitempty"` - // Tolerations corresponds to the JSON schema field "tolerations". + // The tolerations that will be added to the pods for the policy module Tolerations []TypesKubeToleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"` } @@ -65,7 +65,7 @@ func (j *OnpremisesKfdV1Alpha2) UnmarshalJSON(b []byte) error { } type SpecDistributionCommonProvider struct { - // Type corresponds to the JSON schema field "type". + // The type of the provider Type string `json:"type" yaml:"type" mapstructure:"type"` } @@ -216,10 +216,10 @@ type SpecPlugins struct { } type SpecPluginsKustomize []struct { - // Folder corresponds to the JSON schema field "folder". + // The folder of the kustomize plugin Folder string `json:"folder" yaml:"folder" mapstructure:"folder"` - // Name corresponds to the JSON schema field "name". + // The name of the kustomize plugin Name string `json:"name" yaml:"name" mapstructure:"name"` } @@ -258,9 +258,14 @@ type SpecDistributionCommon struct { Tolerations []TypesKubeToleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"` } -type SpecDistributionCommonProvider struct { - // The type of the provider - Type string `json:"type" yaml:"type" mapstructure:"type"` +type SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior string + +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"` } // UnmarshalJSON implements json.Unmarshaler. @@ -290,25 +295,24 @@ const ( ) type SpecPluginsHelmRepositories []struct { - // Name corresponds to the JSON schema field "name". + // The name of the repository Name string `json:"name" yaml:"name" mapstructure:"name"` - // Url corresponds to the JSON schema field "url". + // The url of the repository Url string `json:"url" yaml:"url" mapstructure:"url"` } type SpecDistributionCustomPatchesConfigMapGeneratorResourceOptions struct { - // Annotations corresponds to the JSON schema field "annotations". + // The annotations of the configmap Annotations TypesKubeLabels `json:"annotations,omitempty" yaml:"annotations,omitempty" mapstructure:"annotations,omitempty"` - // DisableNameSuffixHash corresponds to the JSON schema field - // "disableNameSuffixHash". + // If true, the name suffix hash will be disabled DisableNameSuffixHash *bool `json:"disableNameSuffixHash,omitempty" yaml:"disableNameSuffixHash,omitempty" mapstructure:"disableNameSuffixHash,omitempty"` - // Immutable corresponds to the JSON schema field "immutable". + // If true, the configmap will be immutable Immutable *bool `json:"immutable,omitempty" yaml:"immutable,omitempty" mapstructure:"immutable,omitempty"` - // Labels corresponds to the JSON schema field "labels". + // The labels of the configmap Labels TypesKubeLabels `json:"labels,omitempty" yaml:"labels,omitempty" mapstructure:"labels,omitempty"` } @@ -335,45 +339,29 @@ type SpecDistributionCustomPatchesConfigMapGeneratorResource struct { Options *SpecDistributionCustomPatchesConfigMapGeneratorResourceOptions `json:"options,omitempty" yaml:"options,omitempty" mapstructure:"options,omitempty"` } -type SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior string - -const ( - SpecDistributionCustomPatchesConfigMapGeneratorResourceBehaviorCreate SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior = "create" - SpecDistributionCustomPatchesConfigMapGeneratorResourceBehaviorMerge SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior = "merge" - SpecDistributionCustomPatchesConfigMapGeneratorResourceBehaviorReplace SpecDistributionCustomPatchesConfigMapGeneratorResourceBehavior = "replace" -) - -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"` +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionCustomPatchesConfigMapGeneratorResource) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["name"]; !ok || v == nil { + return fmt.Errorf("field name in SpecDistributionCustomPatchesConfigMapGeneratorResource: required") + } + type Plain SpecDistributionCustomPatchesConfigMapGeneratorResource + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecDistributionCustomPatchesConfigMapGeneratorResource(plain) + return nil } +type SpecDistributionCustomPatchesConfigMapGenerator []SpecDistributionCustomPatchesConfigMapGeneratorResource + // Each entry should follow the format of Kustomize's images patch type SpecDistributionCustomPatchesImages []map[string]interface{} -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 struct { // If true, the kind change will be allowed AllowKindChange *bool `json:"allowKindChange,omitempty" yaml:"allowKindChange,omitempty" mapstructure:"allowKindChange,omitempty"` @@ -409,10 +397,10 @@ type SpecDistributionCustomPatchesPatch struct { // Options corresponds to the JSON schema field "options". Options *SpecDistributionCustomPatchesPatchOptions `json:"options,omitempty" yaml:"options,omitempty" mapstructure:"options,omitempty"` - // Patch corresponds to the JSON schema field "patch". + // The patch content Patch *string `json:"patch,omitempty" yaml:"patch,omitempty" mapstructure:"patch,omitempty"` - // Path corresponds to the JSON schema field "path". + // The path of the patch Path *string `json:"path,omitempty" yaml:"path,omitempty" mapstructure:"path,omitempty"` // Target corresponds to the JSON schema field "target". @@ -428,22 +416,22 @@ type SpecDistributionCustomPatchesPatchesStrategicMerge []string type SpecDistributionCustomPatchesSecretGeneratorResourceBehavior string type SpecPluginsHelmReleases []struct { - // Chart corresponds to the JSON schema field "chart". + // The chart of the release Chart string `json:"chart" yaml:"chart" mapstructure:"chart"` - // Name corresponds to the JSON schema field "name". + // The name of the release Name string `json:"name" yaml:"name" mapstructure:"name"` - // Namespace corresponds to the JSON schema field "namespace". + // 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"` - // Values corresponds to the JSON schema field "values". + // The values of the release Values []string `json:"values,omitempty" yaml:"values,omitempty" mapstructure:"values,omitempty"` - // Version corresponds to the JSON schema field "version". + // The version of the release Version *string `json:"version,omitempty" yaml:"version,omitempty" mapstructure:"version,omitempty"` } @@ -474,17 +462,16 @@ const ( ) type SpecDistributionCustomPatchesSecretGeneratorResourceOptions struct { - // Annotations corresponds to the JSON schema field "annotations". + // The annotations of the secret Annotations TypesKubeLabels `json:"annotations,omitempty" yaml:"annotations,omitempty" mapstructure:"annotations,omitempty"` - // DisableNameSuffixHash corresponds to the JSON schema field - // "disableNameSuffixHash". + // If true, the name suffix hash will be disabled DisableNameSuffixHash *bool `json:"disableNameSuffixHash,omitempty" yaml:"disableNameSuffixHash,omitempty" mapstructure:"disableNameSuffixHash,omitempty"` - // Immutable corresponds to the JSON schema field "immutable". + // If true, the secret will be immutable Immutable *bool `json:"immutable,omitempty" yaml:"immutable,omitempty" mapstructure:"immutable,omitempty"` - // Labels corresponds to the JSON schema field "labels". + // The labels of the secret Labels TypesKubeLabels `json:"labels,omitempty" yaml:"labels,omitempty" mapstructure:"labels,omitempty"` } @@ -514,26 +501,22 @@ type SpecDistributionCustomPatchesSecretGeneratorResource struct { Type *string `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"` } -type SpecDistributionCustomPatchesSecretGeneratorResourceBehavior string - -const ( - SpecDistributionCustomPatchesSecretGeneratorResourceBehaviorCreate SpecDistributionCustomPatchesSecretGeneratorResourceBehavior = "create" - SpecDistributionCustomPatchesSecretGeneratorResourceBehaviorMerge SpecDistributionCustomPatchesSecretGeneratorResourceBehavior = "merge" - SpecDistributionCustomPatchesSecretGeneratorResourceBehaviorReplace SpecDistributionCustomPatchesSecretGeneratorResourceBehavior = "replace" -) - -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"` +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionCustomPatchesSecretGeneratorResource) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["name"]; !ok || v == nil { + return fmt.Errorf("field name in SpecDistributionCustomPatchesSecretGeneratorResource: required") + } + type Plain SpecDistributionCustomPatchesSecretGeneratorResource + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecDistributionCustomPatchesSecretGeneratorResource(plain) + return nil } type SpecDistributionCustomPatchesSecretGenerator []SpecDistributionCustomPatchesSecretGeneratorResource @@ -556,11 +539,11 @@ type SpecDistributionCustomPatches struct { SecretGenerator SpecDistributionCustomPatchesSecretGenerator `json:"secretGenerator,omitempty" yaml:"secretGenerator,omitempty" mapstructure:"secretGenerator,omitempty"` } -type SpecDistributionModulesAuth struct { - // The base domain for the auth module - BaseDomain *string `json:"baseDomain,omitempty" yaml:"baseDomain,omitempty" mapstructure:"baseDomain,omitempty"` +type TypesFuryModuleComponentOverrides struct { + // The node selector to use to place the pods for the minio module + NodeSelector TypesKubeNodeSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty" mapstructure:"nodeSelector,omitempty"` - // Tolerations corresponds to the JSON schema field "tolerations". + // The tolerations that will be added to the pods for the minio module Tolerations []TypesKubeToleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"` } @@ -622,15 +605,22 @@ type SpecDistributionModulesAuthOIDCKubernetesAuth struct { UsernameClaim *string `json:"usernameClaim,omitempty" yaml:"usernameClaim,omitempty" mapstructure:"usernameClaim,omitempty"` } -type SpecDistributionModulesAuthOverrides struct { - // Ingresses corresponds to the JSON schema field "ingresses". - Ingresses SpecDistributionModulesAuthOverridesIngresses `json:"ingresses,omitempty" yaml:"ingresses,omitempty" mapstructure:"ingresses,omitempty"` - - // The node selector to use to place the pods for the auth module - NodeSelector TypesKubeNodeSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty" mapstructure:"nodeSelector,omitempty"` - - // The tolerations that will be added to the pods for the auth module - Tolerations []TypesKubeToleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"` +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesAuthOIDCKubernetesAuth) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["enabled"]; !ok || v == nil { + return fmt.Errorf("field enabled in SpecDistributionModulesAuthOIDCKubernetesAuth: required") + } + type Plain SpecDistributionModulesAuthOIDCKubernetesAuth + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecDistributionModulesAuthOIDCKubernetesAuth(plain) + return nil } type SpecDistributionModulesAuthOverridesIngress struct { @@ -668,10 +658,10 @@ type SpecDistributionModulesAuthOverrides struct { // Ingresses corresponds to the JSON schema field "ingresses". Ingresses SpecDistributionModulesAuthOverridesIngresses `json:"ingresses,omitempty" yaml:"ingresses,omitempty" mapstructure:"ingresses,omitempty"` - // The policy for pomerium - Policy string `json:"policy" yaml:"policy" mapstructure:"policy"` + // The node selector to use to place the pods for the auth module + NodeSelector TypesKubeNodeSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty" mapstructure:"nodeSelector,omitempty"` - // Tolerations corresponds to the JSON schema field "tolerations". + // The tolerations that will be added to the pods for the auth module Tolerations []TypesKubeToleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"` } @@ -710,8 +700,36 @@ func (j *SpecDistributionModulesAuthPomeriumSecrets) UnmarshalJSON(b []byte) err return nil } - // The type of the provider, must be ***none***, ***sso*** or ***basicAuth*** - Type SpecDistributionModulesAuthProviderType `json:"type" yaml:"type" mapstructure:"type"` +type SpecDistributionModulesAuthPomerium struct { + // Overrides corresponds to the JSON schema field "overrides". + Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` + + // The policy for pomerium + Policy string `json:"policy" yaml:"policy" mapstructure:"policy"` + + // Secrets corresponds to the JSON schema field "secrets". + Secrets SpecDistributionModulesAuthPomeriumSecrets `json:"secrets" yaml:"secrets" mapstructure:"secrets"` +} + +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesAuthPomerium) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["policy"]; !ok || v == nil { + return fmt.Errorf("field policy in SpecDistributionModulesAuthPomerium: required") + } + if v, ok := raw["secrets"]; !ok || v == nil { + return fmt.Errorf("field secrets in SpecDistributionModulesAuthPomerium: required") + } + type Plain SpecDistributionModulesAuthPomerium + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecDistributionModulesAuthPomerium(plain) + return nil } type SpecDistributionModulesAuthProviderBasicAuth struct { @@ -781,681 +799,156 @@ func (j *SpecDistributionModulesAuthProviderType) UnmarshalJSON(b []byte) error } if !ok { return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValues_SpecDistributionModulesAuthProviderType, v) - } - *j = SpecDistributionModulesAuthProviderType(v) - return nil -} - -const ( - SpecDistributionModulesAuthProviderTypeNone SpecDistributionModulesAuthProviderType = "none" - SpecDistributionModulesAuthProviderTypeBasicAuth SpecDistributionModulesAuthProviderType = "basicAuth" - SpecDistributionModulesAuthProviderTypeSso SpecDistributionModulesAuthProviderType = "sso" -) - -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 DR, must be ***none*** or ***on-premises*** - 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"` -} - -type SpecDistributionModulesDrType string - -const ( - SpecDistributionModulesDrTypeNone SpecDistributionModulesDrType = "none" - SpecDistributionModulesDrTypeOnPremises SpecDistributionModulesDrType = "on-premises" -) - -type SpecDistributionModulesDrVelero struct { - // The backend for velero - Backend *SpecDistributionModulesDrVeleroBackend `json:"backend,omitempty" yaml:"backend,omitempty" mapstructure:"backend,omitempty"` - - // ExternalEndpoint corresponds to the JSON schema field "externalEndpoint". - 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"` - - // The retention time for velero - RetentionTime *string `json:"retentionTime,omitempty" yaml:"retentionTime,omitempty" mapstructure:"retentionTime,omitempty"` -} - -type SpecDistributionModulesDrVeleroBackend string - -const ( - SpecDistributionModulesDrVeleroBackendExternalEndpoint SpecDistributionModulesDrVeleroBackend = "externalEndpoint" - SpecDistributionModulesDrVeleroBackendMinio SpecDistributionModulesDrVeleroBackend = "minio" -) - -type SpecDistributionModulesDrVeleroExternalEndpoint struct { - // The access key id for velero backend - AccessKeyId *string `json:"accessKeyId,omitempty" yaml:"accessKeyId,omitempty" mapstructure:"accessKeyId,omitempty"` - - // The bucket name for velero backend - BucketName *string `json:"bucketName,omitempty" yaml:"bucketName,omitempty" mapstructure:"bucketName,omitempty"` - - // The endpoint for velero - Endpoint *string `json:"endpoint,omitempty" yaml:"endpoint,omitempty" mapstructure:"endpoint,omitempty"` - - // If true, the endpoint will be insecure - Insecure *bool `json:"insecure,omitempty" yaml:"insecure,omitempty" mapstructure:"insecure,omitempty"` - - // The secret access key for velero backend - SecretAccessKey *string `json:"secretAccessKey,omitempty" yaml:"secretAccessKey,omitempty" mapstructure:"secretAccessKey,omitempty"` -} - -type SpecDistributionModulesIngress struct { - // the base domain used for all the KFD ingresses, if in the nginx dual - // configuration, it should be the same as the - // .spec.distribution.modules.ingress.dns.private.name zone - BaseDomain string `json:"baseDomain" yaml:"baseDomain" mapstructure:"baseDomain"` - - // Dex corresponds to the JSON schema field "dex". - Dex *SpecDistributionModulesAuthDex `json:"dex,omitempty" yaml:"dex,omitempty" mapstructure:"dex,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 nginx ingress controller module - Nginx SpecDistributionModulesIngressNginx `json:"nginx" yaml:"nginx" mapstructure:"nginx"` - - // 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"` -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecDistributionModulesAuth) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["provider"]; !ok || v == nil { - return fmt.Errorf("field provider in SpecDistributionModulesAuth: required") - } - type Plain SpecDistributionModulesAuth - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecDistributionModulesAuth(plain) - return nil -} - -type SpecDistributionModulesIngressCertManagerClusterIssuer struct { - // The email of the cluster issuer - Email string `json:"email" yaml:"email" mapstructure:"email"` - - // The name of the cluster issuer - Name string `json:"name" yaml:"name" mapstructure:"name"` - - // The custom solvers configurations - Solvers []interface{} `json:"solvers,omitempty" yaml:"solvers,omitempty" mapstructure:"solvers,omitempty"` - - // The type of the cluster issuer, must be ***http01*** - Type *SpecDistributionModulesIngressCertManagerClusterIssuerType `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"` -} - -// UnmarshalJSON implements json.Unmarshaler. -func (j *SpecKubernetes) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["controlPlaneAddress"]; !ok || v == nil { - return fmt.Errorf("field controlPlaneAddress in SpecKubernetes: required") - } - if v, ok := raw["dnsZone"]; !ok || v == nil { - return fmt.Errorf("field dnsZone in SpecKubernetes: required") - } - if v, ok := raw["loadBalancers"]; !ok || v == nil { - return fmt.Errorf("field loadBalancers in SpecKubernetes: required") - } - if v, ok := raw["masters"]; !ok || v == nil { - return fmt.Errorf("field masters in SpecKubernetes: required") - } - if v, ok := raw["nodes"]; !ok || v == nil { - return fmt.Errorf("field nodes in SpecKubernetes: required") - } - if v, ok := raw["pkiFolder"]; !ok || v == nil { - return fmt.Errorf("field pkiFolder in SpecKubernetes: required") - } - if v, ok := raw["podCidr"]; !ok || v == nil { - return fmt.Errorf("field podCidr in SpecKubernetes: required") - } - if v, ok := raw["ssh"]; !ok || v == nil { - return fmt.Errorf("field ssh in SpecKubernetes: required") - } - if v, ok := raw["svcCidr"]; !ok || v == nil { - return fmt.Errorf("field svcCidr in SpecKubernetes: required") - } - type Plain SpecKubernetes - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - *j = SpecKubernetes(plain) - return nil -} - -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 nginx ingress controller, must be ***none***, ***single*** or - // ***dual*** - Type SpecDistributionModulesIngressNginxType `json:"type" yaml:"type" mapstructure:"type"` -} - -type SpecDistributionModulesIngressNginxTLS struct { - // The provider of the TLS certificate, must be ***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"` -} - -type SpecDistributionModulesIngressNginxTLSProvider string - -const ( - SpecDistributionModulesIngressNginxTLSProviderCertManager SpecDistributionModulesIngressNginxTLSProvider = "certManager" - SpecDistributionModulesIngressNginxTLSProviderNone SpecDistributionModulesIngressNginxTLSProvider = "none" - SpecDistributionModulesIngressNginxTLSProviderSecret SpecDistributionModulesIngressNginxTLSProvider = "secret" -) - -type SpecDistributionModulesIngressNginxTLSSecret struct { - // Ca corresponds to the JSON schema field "ca". - Ca string `json:"ca" yaml:"ca" mapstructure:"ca"` - - // The certificate file content or you can use the file notation to get the - // content from a file - Cert string `json:"cert" yaml:"cert" mapstructure:"cert"` - - // Key corresponds to the JSON schema field "key". - Key string `json:"key" yaml:"key" mapstructure:"key"` -} - -type SpecDistributionModulesIngressNginxType string - -const ( - SpecDistributionModulesIngressNginxTypeDual SpecDistributionModulesIngressNginxType = "dual" - SpecDistributionModulesIngressNginxTypeNone SpecDistributionModulesIngressNginxType = "none" - SpecDistributionModulesIngressNginxTypeSingle SpecDistributionModulesIngressNginxType = "single" -) - -type SpecDistributionModulesIngressOverrides struct { - // Ingresses corresponds to the JSON schema field "ingresses". - Ingresses *SpecDistributionModulesIngressOverridesIngresses `json:"ingresses,omitempty" yaml:"ingresses,omitempty" mapstructure:"ingresses,omitempty"` - - // The node selector to use to place the pods for the ingress module - NodeSelector TypesKubeNodeSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty" mapstructure:"nodeSelector,omitempty"` - - // The tolerations that will be added to the pods for the ingress module - Tolerations []TypesKubeToleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"` -} - -type SpecDistributionModulesIngressOverridesIngresses struct { - // Forecastle corresponds to the JSON schema field "forecastle". - Forecastle *TypesFuryModuleOverridesIngress `json:"forecastle,omitempty" yaml:"forecastle,omitempty" mapstructure:"forecastle,omitempty"` -} - -type SpecDistributionModulesLogging struct { - // Cerebro corresponds to the JSON schema field "cerebro". - Cerebro *SpecDistributionModulesLoggingCerebro `json:"cerebro,omitempty" yaml:"cerebro,omitempty" mapstructure:"cerebro,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"` - - // The type of the logging, must be ***none***, ***opensearch*** or ***loki*** - Type SpecDistributionModulesLoggingType `json:"type" yaml:"type" mapstructure:"type"` -} - -type SpecDistributionModulesLoggingCerebro struct { - // Overrides corresponds to the JSON schema field "overrides". - Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` -} - -type SpecDistributionModulesLoggingLoki struct { - // Backend corresponds to the JSON schema field "backend". - Backend *SpecDistributionModulesLoggingLokiBackend `json:"backend,omitempty" yaml:"backend,omitempty" mapstructure:"backend,omitempty"` - - // ExternalEndpoint corresponds to the JSON schema field "externalEndpoint". - 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"` -} - -type SpecDistributionModulesLoggingLokiBackend string - -const ( - SpecDistributionModulesLoggingLokiBackendExternalEndpoint SpecDistributionModulesLoggingLokiBackend = "externalEndpoint" - SpecDistributionModulesLoggingLokiBackendMinio SpecDistributionModulesLoggingLokiBackend = "minio" -) - -type SpecDistributionModulesLoggingLokiExternalEndpoint struct { - // The access key id of the loki external endpoint - AccessKeyId *string `json:"accessKeyId,omitempty" yaml:"accessKeyId,omitempty" mapstructure:"accessKeyId,omitempty"` - - // The bucket name of the loki external endpoint - BucketName *string `json:"bucketName,omitempty" yaml:"bucketName,omitempty" mapstructure:"bucketName,omitempty"` - - // The endpoint of the loki external endpoint - Endpoint *string `json:"endpoint,omitempty" yaml:"endpoint,omitempty" mapstructure:"endpoint,omitempty"` - - // If true, the loki external endpoint will be insecure - Insecure *bool `json:"insecure,omitempty" yaml:"insecure,omitempty" mapstructure:"insecure,omitempty"` - - // The secret access key of the loki external endpoint - SecretAccessKey *string `json:"secretAccessKey,omitempty" yaml:"secretAccessKey,omitempty" mapstructure:"secretAccessKey,omitempty"` -} - -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"` -} - -type SpecDistributionModulesLoggingMinioRootUser struct { - // The password of the minio root user - Password *string `json:"password,omitempty" yaml:"password,omitempty" mapstructure:"password,omitempty"` - - // The username of the minio root user - Username *string `json:"username,omitempty" yaml:"username,omitempty" mapstructure:"username,omitempty"` -} - -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 pods - StorageSize *string `json:"storageSize,omitempty" yaml:"storageSize,omitempty" mapstructure:"storageSize,omitempty"` - - // The type of the opensearch, must be ***single*** or ***triple*** - Type SpecDistributionModulesLoggingOpensearchType `json:"type" yaml:"type" mapstructure:"type"` -} - -type SpecDistributionModulesLoggingOpensearchType string - -const ( - SpecDistributionModulesLoggingOpensearchTypeSingle SpecDistributionModulesLoggingOpensearchType = "single" - SpecDistributionModulesLoggingOpensearchTypeTriple SpecDistributionModulesLoggingOpensearchType = "triple" -) - -type SpecDistributionModulesLoggingOperator struct { - // Overrides corresponds to the JSON schema field "overrides". - Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` -} - -type SpecDistributionModulesLoggingType string - -const ( - SpecDistributionModulesLoggingTypeLoki SpecDistributionModulesLoggingType = "loki" - SpecDistributionModulesLoggingTypeNone SpecDistributionModulesLoggingType = "none" - SpecDistributionModulesLoggingTypeOpensearch SpecDistributionModulesLoggingType = "opensearch" -) - -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"` - - // The type of the monitoring, must be ***none***, ***prometheus*** or ***mimir*** - 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"` -} - -type SpecDistributionModulesMonitoringAlertManager struct { - // The webhook url to send deadman switch monitoring, for example to use with - // healthchecks.io - DeadManSwitchWebhookUrl *string `json:"deadManSwitchWebhookUrl,omitempty" yaml:"deadManSwitchWebhookUrl,omitempty" mapstructure:"deadManSwitchWebhookUrl,omitempty"` - - // If true, the default rules will be installed - InstallDefaultRules *bool `json:"installDefaultRules,omitempty" yaml:"installDefaultRules,omitempty" mapstructure:"installDefaultRules,omitempty"` - - // The slack webhook url to send alerts - SlackWebhookUrl *string `json:"slackWebhookUrl,omitempty" yaml:"slackWebhookUrl,omitempty" mapstructure:"slackWebhookUrl,omitempty"` -} - -type SpecDistributionModulesMonitoringBlackboxExporter struct { - // Overrides corresponds to the JSON schema field "overrides". - Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` -} - -type SpecDistributionModulesMonitoringGrafana struct { - // Overrides corresponds to the JSON schema field "overrides". - Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` -} - -type SpecDistributionModulesMonitoringKubeStateMetrics struct { - // Overrides corresponds to the JSON schema field "overrides". - Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` -} - -type SpecDistributionModulesMonitoringMimir struct { - // The backend for the mimir pods, must be ***minio*** or ***externalEndpoint*** - Backend *SpecDistributionModulesMonitoringMimirBackend `json:"backend,omitempty" yaml:"backend,omitempty" mapstructure:"backend,omitempty"` - - // ExternalEndpoint corresponds to the JSON schema field "externalEndpoint". - 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 mimir pods - RetentionTime *string `json:"retentionTime,omitempty" yaml:"retentionTime,omitempty" mapstructure:"retentionTime,omitempty"` -} - -type SpecDistributionModulesMonitoringMimirBackend string - -const ( - SpecDistributionModulesMonitoringMimirBackendExternalEndpoint SpecDistributionModulesMonitoringMimirBackend = "externalEndpoint" - SpecDistributionModulesMonitoringMimirBackendMinio SpecDistributionModulesMonitoringMimirBackend = "minio" -) - -type SpecDistributionModulesMonitoringMimirExternalEndpoint struct { - // The access key id of the external mimir backend - AccessKeyId *string `json:"accessKeyId,omitempty" yaml:"accessKeyId,omitempty" mapstructure:"accessKeyId,omitempty"` - - // The bucket name of the external mimir backend - BucketName *string `json:"bucketName,omitempty" yaml:"bucketName,omitempty" mapstructure:"bucketName,omitempty"` - - // The endpoint of the external mimir backend - Endpoint *string `json:"endpoint,omitempty" yaml:"endpoint,omitempty" mapstructure:"endpoint,omitempty"` - - // If true, the external mimir backend will not use tls - Insecure *bool `json:"insecure,omitempty" yaml:"insecure,omitempty" mapstructure:"insecure,omitempty"` - - // The secret access key of the external mimir backend - SecretAccessKey *string `json:"secretAccessKey,omitempty" yaml:"secretAccessKey,omitempty" mapstructure:"secretAccessKey,omitempty"` -} - -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 storage size for the minio pods - StorageSize *string `json:"storageSize,omitempty" yaml:"storageSize,omitempty" mapstructure:"storageSize,omitempty"` -} - -type SpecDistributionModulesMonitoringMinioRootUser struct { - // The password for the minio root user - Password *string `json:"password,omitempty" yaml:"password,omitempty" mapstructure:"password,omitempty"` - - // The username for the minio root user - Username *string `json:"username,omitempty" yaml:"username,omitempty" mapstructure:"username,omitempty"` -} - -type SpecDistributionModulesMonitoringPrometheus struct { - // Resources corresponds to the JSON schema field "resources". - Resources *TypesKubeResources `json:"resources,omitempty" yaml:"resources,omitempty" mapstructure:"resources,omitempty"` - - // The retention size for the prometheus pods - RetentionSize *string `json:"retentionSize,omitempty" yaml:"retentionSize,omitempty" mapstructure:"retentionSize,omitempty"` - - // The retention time for the prometheus pods - RetentionTime *string `json:"retentionTime,omitempty" yaml:"retentionTime,omitempty" mapstructure:"retentionTime,omitempty"` - - // The storage size for the prometheus pods - StorageSize *string `json:"storageSize,omitempty" yaml:"storageSize,omitempty" mapstructure:"storageSize,omitempty"` -} - -type SpecDistributionModulesMonitoringType string - -const ( - SpecDistributionModulesMonitoringTypeMimir SpecDistributionModulesMonitoringType = "mimir" - SpecDistributionModulesMonitoringTypeNone SpecDistributionModulesMonitoringType = "none" - SpecDistributionModulesMonitoringTypePrometheus SpecDistributionModulesMonitoringType = "prometheus" -) - -type SpecDistributionModulesMonitoringX509Exporter struct { - // Overrides corresponds to the JSON schema field "overrides". - Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` -} - -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 *TypesFuryModuleComponentOverrides `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 networking to use, either ***calico*** or ***cilium*** - Type SpecDistributionModulesNetworkingType `json:"type" yaml:"type" mapstructure:"type"` -} - -type SpecDistributionModulesNetworkingCilium struct { - // The mask size to use for the cilium pods - 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"` - - // The pod cidr to use for the cilium pods - PodCidr *TypesCidr `json:"podCidr,omitempty" yaml:"podCidr,omitempty" mapstructure:"podCidr,omitempty"` -} - -type SpecDistributionModulesNetworkingTigeraOperator struct { - // Overrides corresponds to the JSON schema field "overrides". - Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` -} - -type SpecDistributionModulesNetworkingType string - -const ( - SpecDistributionModulesNetworkingTypeCalico SpecDistributionModulesNetworkingType = "calico" - SpecDistributionModulesNetworkingTypeCilium SpecDistributionModulesNetworkingType = "cilium" -) - -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 security to use, either ***none***, ***gatekeeper*** or - // ***kyverno*** - Type SpecDistributionModulesPolicyType `json:"type" yaml:"type" mapstructure:"type"` -} - -type SpecDistributionModulesPolicyGatekeeper struct { - // This parameter adds namespaces to Gatekeeper's exemption list, so it will not - // enforce the constraints on them. - AdditionalExcludedNamespaces []string `json:"additionalExcludedNamespaces,omitempty" yaml:"additionalExcludedNamespaces,omitempty" mapstructure:"additionalExcludedNamespaces,omitempty"` - - // The enforcement action to use for the gatekeeper module - EnforcementAction SpecDistributionModulesPolicyGatekeeperEnforcementAction `json:"enforcementAction" yaml:"enforcementAction" mapstructure:"enforcementAction"` - - // If true, the default policies will be installed - 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"` -} - -type SpecDistributionModulesPolicyGatekeeperEnforcementAction string - -const ( - SpecDistributionModulesPolicyGatekeeperEnforcementActionDeny SpecDistributionModulesPolicyGatekeeperEnforcementAction = "deny" - SpecDistributionModulesPolicyGatekeeperEnforcementActionDryrun SpecDistributionModulesPolicyGatekeeperEnforcementAction = "dryrun" - SpecDistributionModulesPolicyGatekeeperEnforcementActionWarn SpecDistributionModulesPolicyGatekeeperEnforcementAction = "warn" -) - -type SpecDistributionModulesPolicyKyverno struct { - // This parameter adds namespaces to Kyverno's exemption list, so it will not - // enforce the constraints on them. - AdditionalExcludedNamespaces []string `json:"additionalExcludedNamespaces,omitempty" yaml:"additionalExcludedNamespaces,omitempty" mapstructure:"additionalExcludedNamespaces,omitempty"` - - // If true, the default policies will be installed - 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 kyverno module - ValidationFailureAction SpecDistributionModulesPolicyKyvernoValidationFailureAction `json:"validationFailureAction" yaml:"validationFailureAction" mapstructure:"validationFailureAction"` -} - -type SpecDistributionModulesPolicyKyvernoValidationFailureAction string - -const ( - SpecDistributionModulesPolicyKyvernoValidationFailureActionAudit SpecDistributionModulesPolicyKyvernoValidationFailureAction = "audit" - SpecDistributionModulesPolicyKyvernoValidationFailureActionEnforce SpecDistributionModulesPolicyKyvernoValidationFailureAction = "enforce" -) - -type SpecDistributionModulesPolicyType string + } + *j = SpecDistributionModulesAuthProviderType(v) + return nil +} const ( - SpecDistributionModulesPolicyTypeGatekeeper SpecDistributionModulesPolicyType = "gatekeeper" - SpecDistributionModulesPolicyTypeKyverno SpecDistributionModulesPolicyType = "kyverno" - SpecDistributionModulesPolicyTypeNone SpecDistributionModulesPolicyType = "none" + SpecDistributionModulesAuthProviderTypeNone SpecDistributionModulesAuthProviderType = "none" + SpecDistributionModulesAuthProviderTypeBasicAuth SpecDistributionModulesAuthProviderType = "basicAuth" + SpecDistributionModulesAuthProviderTypeSso SpecDistributionModulesAuthProviderType = "sso" ) -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"` +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 tracing to use, either ***none*** or ***tempo*** - Type SpecDistributionModulesTracingType `json:"type" yaml:"type" mapstructure:"type"` + // The type of the provider, must be ***none***, ***sso*** or ***basicAuth*** + Type SpecDistributionModulesAuthProviderType `json:"type" yaml:"type" mapstructure:"type"` } -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 storage size for the minio pods - StorageSize *string `json:"storageSize,omitempty" yaml:"storageSize,omitempty" mapstructure:"storageSize,omitempty"` +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesAuthProvider) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["type"]; !ok || v == nil { + return fmt.Errorf("field type in SpecDistributionModulesAuthProvider: required") + } + type Plain SpecDistributionModulesAuthProvider + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecDistributionModulesAuthProvider(plain) + return nil } -type SpecDistributionModulesTracingMinioRootUser struct { - // The password for the minio root user - Password *string `json:"password,omitempty" yaml:"password,omitempty" mapstructure:"password,omitempty"` - - // The username for the minio root user - Username *string `json:"username,omitempty" yaml:"username,omitempty" mapstructure:"username,omitempty"` -} +type SpecDistributionModulesAuth struct { + // The base domain for the auth module + BaseDomain *string `json:"baseDomain,omitempty" yaml:"baseDomain,omitempty" mapstructure:"baseDomain,omitempty"` -type SpecDistributionModulesTracingTempo struct { - // The backend for the tempo pods, must be ***minio*** or ***externalEndpoint*** - Backend *SpecDistributionModulesTracingTempoBackend `json:"backend,omitempty" yaml:"backend,omitempty" mapstructure:"backend,omitempty"` + // Dex corresponds to the JSON schema field "dex". + Dex *SpecDistributionModulesAuthDex `json:"dex,omitempty" yaml:"dex,omitempty" mapstructure:"dex,omitempty"` - // ExternalEndpoint corresponds to the JSON schema field "externalEndpoint". - ExternalEndpoint *SpecDistributionModulesTracingTempoExternalEndpoint `json:"externalEndpoint,omitempty" yaml:"externalEndpoint,omitempty" mapstructure:"externalEndpoint,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 *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` - - // The retention time for the tempo pods - RetentionTime *string `json:"retentionTime,omitempty" yaml:"retentionTime,omitempty" mapstructure:"retentionTime,omitempty"` -} - -type SpecDistributionModulesTracingTempoBackend string + Overrides *SpecDistributionModulesAuthOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` -const ( - SpecDistributionModulesTracingTempoBackendExternalEndpoint SpecDistributionModulesTracingTempoBackend = "externalEndpoint" - SpecDistributionModulesTracingTempoBackendMinio SpecDistributionModulesTracingTempoBackend = "minio" -) + // Pomerium corresponds to the JSON schema field "pomerium". + Pomerium *SpecDistributionModulesAuthPomerium `json:"pomerium,omitempty" yaml:"pomerium,omitempty" mapstructure:"pomerium,omitempty"` -type SpecDistributionModulesTracingTempoExternalEndpoint struct { - // The access key id of the external tempo backend - AccessKeyId *string `json:"accessKeyId,omitempty" yaml:"accessKeyId,omitempty" mapstructure:"accessKeyId,omitempty"` + // Provider corresponds to the JSON schema field "provider". + Provider SpecDistributionModulesAuthProvider `json:"provider" yaml:"provider" mapstructure:"provider"` +} - // The bucket name of the external tempo backend - BucketName *string `json:"bucketName,omitempty" yaml:"bucketName,omitempty" mapstructure:"bucketName,omitempty"` +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecDistributionModulesAuth) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["provider"]; !ok || v == nil { + return fmt.Errorf("field provider in SpecDistributionModulesAuth: required") + } + type Plain SpecDistributionModulesAuth + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecDistributionModulesAuth(plain) + return nil +} - // The endpoint of the external tempo backend - Endpoint *string `json:"endpoint,omitempty" yaml:"endpoint,omitempty" mapstructure:"endpoint,omitempty"` +type SpecPluginsHelmReleasesElemSetElem struct { + // The name of the set + Name string `json:"name" yaml:"name" mapstructure:"name"` - // If true, the external tempo backend will not use tls - Insecure *bool `json:"insecure,omitempty" yaml:"insecure,omitempty" mapstructure:"insecure,omitempty"` + // The value of the set + Value string `json:"value" yaml:"value" mapstructure:"value"` +} - // The secret access key of the external tempo backend - SecretAccessKey *string `json:"secretAccessKey,omitempty" yaml:"secretAccessKey,omitempty" mapstructure:"secretAccessKey,omitempty"` +// UnmarshalJSON implements json.Unmarshaler. +func (j *SpecKubernetes) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["controlPlaneAddress"]; !ok || v == nil { + return fmt.Errorf("field controlPlaneAddress in SpecKubernetes: required") + } + if v, ok := raw["dnsZone"]; !ok || v == nil { + return fmt.Errorf("field dnsZone in SpecKubernetes: required") + } + if v, ok := raw["loadBalancers"]; !ok || v == nil { + return fmt.Errorf("field loadBalancers in SpecKubernetes: required") + } + if v, ok := raw["masters"]; !ok || v == nil { + return fmt.Errorf("field masters in SpecKubernetes: required") + } + if v, ok := raw["nodes"]; !ok || v == nil { + return fmt.Errorf("field nodes in SpecKubernetes: required") + } + if v, ok := raw["pkiFolder"]; !ok || v == nil { + return fmt.Errorf("field pkiFolder in SpecKubernetes: required") + } + if v, ok := raw["podCidr"]; !ok || v == nil { + return fmt.Errorf("field podCidr in SpecKubernetes: required") + } + if v, ok := raw["ssh"]; !ok || v == nil { + return fmt.Errorf("field ssh in SpecKubernetes: required") + } + if v, ok := raw["svcCidr"]; !ok || v == nil { + return fmt.Errorf("field svcCidr in SpecKubernetes: required") + } + type Plain SpecKubernetes + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + *j = SpecKubernetes(plain) + return nil } -type SpecDistributionModulesTracingType string +// UnmarshalJSON implements json.Unmarshaler. +func (j *Metadata) UnmarshalJSON(b []byte) error { + var raw map[string]interface{} + if err := json.Unmarshal(b, &raw); err != nil { + return err + } + if v, ok := raw["name"]; !ok || v == nil { + return fmt.Errorf("field name in Metadata: required") + } + type Plain Metadata + var plain Plain + if err := json.Unmarshal(b, &plain); err != nil { + return err + } + if len(plain.Name) < 1 { + return fmt.Errorf("field %s length: must be >= %d", "name", 1) + } + if len(plain.Name) > 56 { + return fmt.Errorf("field %s length: must be <= %d", "name", 56) + } + *j = Metadata(plain) + return nil +} -const ( - SpecDistributionModulesTracingTypeNone SpecDistributionModulesTracingType = "none" - SpecDistributionModulesTracingTypeTempo SpecDistributionModulesTracingType = "tempo" -) +type SpecDistributionModulesDrType string type SpecKubernetes struct { // Advanced corresponds to the JSON schema field "advanced". @@ -1569,24 +1062,24 @@ const ( ) type SpecDistributionModulesDrVeleroExternalEndpoint struct { - // AccessKeyId corresponds to the JSON schema field "accessKeyId". + // The access key id for velero backend AccessKeyId *string `json:"accessKeyId,omitempty" yaml:"accessKeyId,omitempty" mapstructure:"accessKeyId,omitempty"` - // BucketName corresponds to the JSON schema field "bucketName". + // The bucket name for velero backend BucketName *string `json:"bucketName,omitempty" yaml:"bucketName,omitempty" mapstructure:"bucketName,omitempty"` - // Endpoint corresponds to the JSON schema field "endpoint". + // The endpoint for velero Endpoint *string `json:"endpoint,omitempty" yaml:"endpoint,omitempty" mapstructure:"endpoint,omitempty"` - // Insecure corresponds to the JSON schema field "insecure". + // If true, the endpoint will be insecure Insecure *bool `json:"insecure,omitempty" yaml:"insecure,omitempty" mapstructure:"insecure,omitempty"` - // SecretAccessKey corresponds to the JSON schema field "secretAccessKey". + // The secret access key for velero backend SecretAccessKey *string `json:"secretAccessKey,omitempty" yaml:"secretAccessKey,omitempty" mapstructure:"secretAccessKey,omitempty"` } type SpecDistributionModulesDrVelero struct { - // Backend corresponds to the JSON schema field "backend". + // The backend for velero Backend *SpecDistributionModulesDrVeleroBackend `json:"backend,omitempty" yaml:"backend,omitempty" mapstructure:"backend,omitempty"` // ExternalEndpoint corresponds to the JSON schema field "externalEndpoint". @@ -1595,7 +1088,7 @@ type SpecDistributionModulesDrVelero struct { // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` - // RetentionTime corresponds to the JSON schema field "retentionTime". + // The retention time for velero RetentionTime *string `json:"retentionTime,omitempty" yaml:"retentionTime,omitempty" mapstructure:"retentionTime,omitempty"` } @@ -1603,7 +1096,7 @@ type SpecDistributionModulesDr struct { // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` - // Type corresponds to the JSON schema field "type". + // The type of the DR, must be ***none*** or ***on-premises*** Type SpecDistributionModulesDrType `json:"type" yaml:"type" mapstructure:"type"` // Velero corresponds to the JSON schema field "velero". @@ -1631,10 +1124,10 @@ func (j *SpecDistributionModulesDr) UnmarshalJSON(b []byte) error { type SpecDistributionModulesIngressCertManagerClusterIssuerType string type SpecKubernetesSSH struct { - // KeyPath corresponds to the JSON schema field "keyPath". + // The path to the private key to use to connect to the nodes KeyPath string `json:"keyPath" yaml:"keyPath" mapstructure:"keyPath"` - // Username corresponds to the JSON schema field "username". + // The username to use to connect to the nodes Username string `json:"username" yaml:"username" mapstructure:"username"` } @@ -1661,16 +1154,16 @@ func (j *SpecDistributionModulesIngressCertManagerClusterIssuerType) UnmarshalJS const SpecDistributionModulesIngressCertManagerClusterIssuerTypeHttp01 SpecDistributionModulesIngressCertManagerClusterIssuerType = "http01" type SpecDistributionModulesIngressCertManagerClusterIssuer struct { - // Email corresponds to the JSON schema field "email". + // The email of the cluster issuer Email string `json:"email" yaml:"email" mapstructure:"email"` - // Name corresponds to the JSON schema field "name". + // The name of the cluster issuer Name string `json:"name" yaml:"name" mapstructure:"name"` - // Solvers corresponds to the JSON schema field "solvers". + // The custom solvers configurations Solvers []interface{} `json:"solvers,omitempty" yaml:"solvers,omitempty" mapstructure:"solvers,omitempty"` - // Type corresponds to the JSON schema field "type". + // The type of the cluster issuer, must be ***http01*** Type *SpecDistributionModulesIngressCertManagerClusterIssuerType `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"` } @@ -1729,13 +1222,13 @@ type SpecDistributionModulesIngressForecastle struct { type SpecDistributionModulesIngressNginxTLSProvider string type SpecKubernetesProxy struct { - // Http corresponds to the JSON schema field "http". + // The HTTP proxy to use Http *TypesUri `json:"http,omitempty" yaml:"http,omitempty" mapstructure:"http,omitempty"` - // Https corresponds to the JSON schema field "https". + // The HTTPS proxy to use Https *TypesUri `json:"https,omitempty" yaml:"https,omitempty" mapstructure:"https,omitempty"` - // NoProxy corresponds to the JSON schema field "noProxy". + // The no proxy to use NoProxy *string `json:"noProxy,omitempty" yaml:"noProxy,omitempty" mapstructure:"noProxy,omitempty"` } @@ -1769,7 +1262,8 @@ type SpecDistributionModulesIngressNginxTLSSecret struct { // Ca corresponds to the JSON schema field "ca". Ca string `json:"ca" yaml:"ca" mapstructure:"ca"` - // Cert corresponds to the JSON schema field "cert". + // The certificate file content or you can use the file notation to get the + // content from a file Cert string `json:"cert" yaml:"cert" mapstructure:"cert"` // Key corresponds to the JSON schema field "key". @@ -1801,7 +1295,8 @@ func (j *SpecDistributionModulesIngressNginxTLSSecret) UnmarshalJSON(b []byte) e } type SpecDistributionModulesIngressNginxTLS struct { - // Provider corresponds to the JSON schema field "provider". + // The provider of the TLS certificate, must be ***none***, ***certManager*** or + // ***secret*** Provider SpecDistributionModulesIngressNginxTLSProvider `json:"provider" yaml:"provider" mapstructure:"provider"` // Secret corresponds to the JSON schema field "secret". @@ -1863,7 +1358,8 @@ type SpecDistributionModulesIngressNginx struct { // Tls corresponds to the JSON schema field "tls". Tls *SpecDistributionModulesIngressNginxTLS `json:"tls,omitempty" yaml:"tls,omitempty" mapstructure:"tls,omitempty"` - // Type corresponds to the JSON schema field "type". + // The type of the nginx ingress controller, must be ***none***, ***single*** or + // ***dual*** Type SpecDistributionModulesIngressNginxType `json:"type" yaml:"type" mapstructure:"type"` } @@ -1894,15 +1390,17 @@ type SpecDistributionModulesIngressOverrides struct { // Ingresses corresponds to the JSON schema field "ingresses". Ingresses *SpecDistributionModulesIngressOverridesIngresses `json:"ingresses,omitempty" yaml:"ingresses,omitempty" mapstructure:"ingresses,omitempty"` - // NodeSelector corresponds to the JSON schema field "nodeSelector". + // The node selector to use to place the pods for the ingress module NodeSelector TypesKubeNodeSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty" mapstructure:"nodeSelector,omitempty"` - // Tolerations corresponds to the JSON schema field "tolerations". + // The tolerations that will be added to the pods for the ingress module Tolerations []TypesKubeToleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"` } type SpecDistributionModulesIngress struct { - // BaseDomain corresponds to the JSON schema field "baseDomain". + // the base domain used for all the KFD ingresses, if in the nginx dual + // configuration, it should be the same as the + // .spec.distribution.modules.ingress.dns.private.name zone BaseDomain string `json:"baseDomain" yaml:"baseDomain" mapstructure:"baseDomain"` // CertManager corresponds to the JSON schema field "certManager". @@ -1914,7 +1412,7 @@ type SpecDistributionModulesIngress struct { // If corresponds to the JSON schema field "if". If interface{} `json:"if,omitempty" yaml:"if,omitempty" mapstructure:"if,omitempty"` - // Nginx corresponds to the JSON schema field "nginx". + // Configurations for the nginx ingress controller module Nginx SpecDistributionModulesIngressNginx `json:"nginx" yaml:"nginx" mapstructure:"nginx"` // Overrides corresponds to the JSON schema field "overrides". @@ -2002,19 +1500,19 @@ const ( ) type SpecDistributionModulesLoggingLokiExternalEndpoint struct { - // AccessKeyId corresponds to the JSON schema field "accessKeyId". + // The access key id of the loki external endpoint AccessKeyId *string `json:"accessKeyId,omitempty" yaml:"accessKeyId,omitempty" mapstructure:"accessKeyId,omitempty"` - // BucketName corresponds to the JSON schema field "bucketName". + // The bucket name of the loki external endpoint BucketName *string `json:"bucketName,omitempty" yaml:"bucketName,omitempty" mapstructure:"bucketName,omitempty"` - // Endpoint corresponds to the JSON schema field "endpoint". + // The endpoint of the loki external endpoint Endpoint *string `json:"endpoint,omitempty" yaml:"endpoint,omitempty" mapstructure:"endpoint,omitempty"` - // Insecure corresponds to the JSON schema field "insecure". + // If true, the loki external endpoint will be insecure Insecure *bool `json:"insecure,omitempty" yaml:"insecure,omitempty" mapstructure:"insecure,omitempty"` - // SecretAccessKey corresponds to the JSON schema field "secretAccessKey". + // The secret access key of the loki external endpoint SecretAccessKey *string `json:"secretAccessKey,omitempty" yaml:"secretAccessKey,omitempty" mapstructure:"secretAccessKey,omitempty"` } @@ -2085,10 +1583,10 @@ type SpecDistributionModulesLoggingLoki struct { } type SpecDistributionModulesLoggingMinioRootUser struct { - // Password corresponds to the JSON schema field "password". + // The password of the minio root user Password *string `json:"password,omitempty" yaml:"password,omitempty" mapstructure:"password,omitempty"` - // Username corresponds to the JSON schema field "username". + // The username of the minio root user Username *string `json:"username,omitempty" yaml:"username,omitempty" mapstructure:"username,omitempty"` } @@ -2099,7 +1597,7 @@ type SpecDistributionModulesLoggingMinio struct { // RootUser corresponds to the JSON schema field "rootUser". RootUser *SpecDistributionModulesLoggingMinioRootUser `json:"rootUser,omitempty" yaml:"rootUser,omitempty" mapstructure:"rootUser,omitempty"` - // StorageSize corresponds to the JSON schema field "storageSize". + // The PVC size for each minio disk, 6 disks total StorageSize *string `json:"storageSize,omitempty" yaml:"storageSize,omitempty" mapstructure:"storageSize,omitempty"` } @@ -2170,7 +1668,7 @@ type SpecDistributionModulesLogging struct { // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` - // Type corresponds to the JSON schema field "type". + // The type of the logging, must be ***none***, ***opensearch*** or ***loki*** Type SpecDistributionModulesLoggingType `json:"type" yaml:"type" mapstructure:"type"` } @@ -2240,10 +1738,10 @@ type SpecDistributionModulesLoggingOpensearch struct { // Resources corresponds to the JSON schema field "resources". Resources *TypesKubeResources `json:"resources,omitempty" yaml:"resources,omitempty" mapstructure:"resources,omitempty"` - // StorageSize corresponds to the JSON schema field "storageSize". + // The storage size for the opensearch pods StorageSize *string `json:"storageSize,omitempty" yaml:"storageSize,omitempty" mapstructure:"storageSize,omitempty"` - // Type corresponds to the JSON schema field "type". + // The type of the opensearch, must be ***single*** or ***triple*** Type SpecDistributionModulesLoggingOpensearchType `json:"type" yaml:"type" mapstructure:"type"` } @@ -2266,14 +1764,14 @@ func (j *SpecKubernetesLoadBalancersKeepalived) UnmarshalJSON(b []byte) error { } type SpecDistributionModulesMonitoringAlertManager struct { - // DeadManSwitchWebhookUrl corresponds to the JSON schema field - // "deadManSwitchWebhookUrl". + // The webhook url to send deadman switch monitoring, for example to use with + // healthchecks.io DeadManSwitchWebhookUrl *string `json:"deadManSwitchWebhookUrl,omitempty" yaml:"deadManSwitchWebhookUrl,omitempty" mapstructure:"deadManSwitchWebhookUrl,omitempty"` - // InstallDefaultRules corresponds to the JSON schema field "installDefaultRules". + // If true, the default rules will be installed InstallDefaultRules *bool `json:"installDefaultRules,omitempty" yaml:"installDefaultRules,omitempty" mapstructure:"installDefaultRules,omitempty"` - // SlackWebhookUrl corresponds to the JSON schema field "slackWebhookUrl". + // The slack webhook url to send alerts SlackWebhookUrl *string `json:"slackWebhookUrl,omitempty" yaml:"slackWebhookUrl,omitempty" mapstructure:"slackWebhookUrl,omitempty"` } @@ -2338,24 +1836,24 @@ const ( ) type SpecDistributionModulesMonitoringMimirExternalEndpoint struct { - // AccessKeyId corresponds to the JSON schema field "accessKeyId". + // The access key id of the external mimir backend AccessKeyId *string `json:"accessKeyId,omitempty" yaml:"accessKeyId,omitempty" mapstructure:"accessKeyId,omitempty"` - // BucketName corresponds to the JSON schema field "bucketName". + // The bucket name of the external mimir backend BucketName *string `json:"bucketName,omitempty" yaml:"bucketName,omitempty" mapstructure:"bucketName,omitempty"` - // Endpoint corresponds to the JSON schema field "endpoint". + // The endpoint of the external mimir backend Endpoint *string `json:"endpoint,omitempty" yaml:"endpoint,omitempty" mapstructure:"endpoint,omitempty"` - // Insecure corresponds to the JSON schema field "insecure". + // If true, the external mimir backend will not use tls Insecure *bool `json:"insecure,omitempty" yaml:"insecure,omitempty" mapstructure:"insecure,omitempty"` - // SecretAccessKey corresponds to the JSON schema field "secretAccessKey". + // The secret access key of the external mimir backend SecretAccessKey *string `json:"secretAccessKey,omitempty" yaml:"secretAccessKey,omitempty" mapstructure:"secretAccessKey,omitempty"` } type SpecDistributionModulesMonitoringMimir struct { - // Backend corresponds to the JSON schema field "backend". + // The backend for the mimir pods, must be ***minio*** or ***externalEndpoint*** Backend *SpecDistributionModulesMonitoringMimirBackend `json:"backend,omitempty" yaml:"backend,omitempty" mapstructure:"backend,omitempty"` // ExternalEndpoint corresponds to the JSON schema field "externalEndpoint". @@ -2364,15 +1862,15 @@ type SpecDistributionModulesMonitoringMimir struct { // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` - // RetentionTime corresponds to the JSON schema field "retentionTime". + // The retention time for the mimir pods RetentionTime *string `json:"retentionTime,omitempty" yaml:"retentionTime,omitempty" mapstructure:"retentionTime,omitempty"` } type SpecDistributionModulesMonitoringMinioRootUser struct { - // Password corresponds to the JSON schema field "password". + // The password for the minio root user Password *string `json:"password,omitempty" yaml:"password,omitempty" mapstructure:"password,omitempty"` - // Username corresponds to the JSON schema field "username". + // The username for the minio root user Username *string `json:"username,omitempty" yaml:"username,omitempty" mapstructure:"username,omitempty"` } @@ -2383,33 +1881,45 @@ type SpecDistributionModulesMonitoringMinio struct { // RootUser corresponds to the JSON schema field "rootUser". RootUser *SpecDistributionModulesMonitoringMinioRootUser `json:"rootUser,omitempty" yaml:"rootUser,omitempty" mapstructure:"rootUser,omitempty"` - // StorageSize corresponds to the JSON schema field "storageSize". + // The storage size for the minio pods StorageSize *string `json:"storageSize,omitempty" yaml:"storageSize,omitempty" mapstructure:"storageSize,omitempty"` } type SpecDistributionModulesMonitoringPrometheusRemoteWriteElem map[string]interface{} type SpecDistributionModulesMonitoringPrometheus struct { - // RemoteWrite corresponds to the JSON schema field "remoteWrite". + // 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"` - // RetentionSize corresponds to the JSON schema field "retentionSize". + // The retention size for the k8s Prometheus instance. RetentionSize *string `json:"retentionSize,omitempty" yaml:"retentionSize,omitempty" mapstructure:"retentionSize,omitempty"` - // RetentionTime corresponds to the JSON schema field "retentionTime". + // The retention time for the k8s Prometheus instance. RetentionTime *string `json:"retentionTime,omitempty" yaml:"retentionTime,omitempty" mapstructure:"retentionTime,omitempty"` - // StorageSize corresponds to the JSON schema field "storageSize". + // The storage size for the k8s Prometheus instance. StorageSize *string `json:"storageSize,omitempty" yaml:"storageSize,omitempty" mapstructure:"storageSize,omitempty"` } type SpecDistributionModulesMonitoringPrometheusAgentRemoteWriteElem map[string]interface{} type SpecDistributionModulesMonitoringPrometheusAgent struct { - // RemoteWrite corresponds to the JSON schema field "remoteWrite". + // 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". @@ -2484,9 +1994,22 @@ type SpecDistributionModulesMonitoring struct { // PrometheusAgent corresponds to the JSON schema field "prometheusAgent". PrometheusAgent *SpecDistributionModulesMonitoringPrometheusAgent `json:"prometheusAgent,omitempty" yaml:"prometheusAgent,omitempty" mapstructure:"prometheusAgent,omitempty"` - // choose the prefered stack for Monitoring. Prometheus, Prometheus Agent (no - // local metrics and alerts, ship to remote), Mimir or None for not installing the - // monitoring stack. + // 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 + // instace, 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`: wil 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, and in addition + // Grafana Mimir that allows for longer retention of metrics and the usage of + // Object Storage. Type SpecDistributionModulesMonitoringType `json:"type" yaml:"type" mapstructure:"type"` // X509Exporter corresponds to the JSON schema field "x509Exporter". @@ -2514,13 +2037,13 @@ func (j *SpecDistributionModulesMonitoring) UnmarshalJSON(b []byte) error { type TypesCidr string type SpecDistributionModulesNetworkingCilium struct { - // MaskSize corresponds to the JSON schema field "maskSize". + // The mask size to use for the cilium pods 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"` - // PodCidr corresponds to the JSON schema field "podCidr". + // The pod cidr to use for the cilium pods PodCidr *TypesCidr `json:"podCidr,omitempty" yaml:"podCidr,omitempty" mapstructure:"podCidr,omitempty"` } @@ -2587,7 +2110,7 @@ type SpecDistributionModulesNetworking struct { // TigeraOperator corresponds to the JSON schema field "tigeraOperator". TigeraOperator *SpecDistributionModulesNetworkingTigeraOperator `json:"tigeraOperator,omitempty" yaml:"tigeraOperator,omitempty" mapstructure:"tigeraOperator,omitempty"` - // Type corresponds to the JSON schema field "type". + // The type of networking to use, either ***calico*** or ***cilium*** Type SpecDistributionModulesNetworkingType `json:"type" yaml:"type" mapstructure:"type"` } @@ -2612,10 +2135,10 @@ func (j *SpecDistributionModulesNetworking) UnmarshalJSON(b []byte) error { type SpecDistributionModulesPolicyGatekeeperEnforcementAction string type SpecKubernetesMastersHost struct { - // Ip corresponds to the JSON schema field "ip". + // The IP of the host Ip string `json:"ip" yaml:"ip" mapstructure:"ip"` - // Name corresponds to the JSON schema field "name". + // The name of the host Name string `json:"name" yaml:"name" mapstructure:"name"` } @@ -2646,15 +2169,14 @@ const ( ) type SpecDistributionModulesPolicyGatekeeper struct { - // AdditionalExcludedNamespaces corresponds to the JSON schema field - // "additionalExcludedNamespaces". + // This parameter adds namespaces to Gatekeeper's exemption list, so it will not + // enforce the constraints on them. AdditionalExcludedNamespaces []string `json:"additionalExcludedNamespaces,omitempty" yaml:"additionalExcludedNamespaces,omitempty" mapstructure:"additionalExcludedNamespaces,omitempty"` - // EnforcementAction corresponds to the JSON schema field "enforcementAction". + // The enforcement action to use for the gatekeeper module EnforcementAction SpecDistributionModulesPolicyGatekeeperEnforcementAction `json:"enforcementAction" yaml:"enforcementAction" mapstructure:"enforcementAction"` - // InstallDefaultPolicies corresponds to the JSON schema field - // "installDefaultPolicies". + // If true, the default policies will be installed InstallDefaultPolicies bool `json:"installDefaultPolicies" yaml:"installDefaultPolicies" mapstructure:"installDefaultPolicies"` // Overrides corresponds to the JSON schema field "overrides". @@ -2728,19 +2250,17 @@ const ( ) type SpecDistributionModulesPolicyKyverno struct { - // AdditionalExcludedNamespaces corresponds to the JSON schema field - // "additionalExcludedNamespaces". + // This parameter adds namespaces to Kyverno's exemption list, so it will not + // enforce the constraints on them. AdditionalExcludedNamespaces []string `json:"additionalExcludedNamespaces,omitempty" yaml:"additionalExcludedNamespaces,omitempty" mapstructure:"additionalExcludedNamespaces,omitempty"` - // InstallDefaultPolicies corresponds to the JSON schema field - // "installDefaultPolicies". + // If true, the default policies will be installed 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"` - // ValidationFailureAction corresponds to the JSON schema field - // "validationFailureAction". + // The validation failure action to use for the kyverno module ValidationFailureAction SpecDistributionModulesPolicyKyvernoValidationFailureAction `json:"validationFailureAction" yaml:"validationFailureAction" mapstructure:"validationFailureAction"` } @@ -2768,10 +2288,10 @@ func (j *SpecDistributionModulesPolicyKyverno) UnmarshalJSON(b []byte) error { type SpecDistributionModulesPolicyType string type SpecKubernetesLoadBalancers struct { - // AdditionalConfig corresponds to the JSON schema field "additionalConfig". + // The additional config to use AdditionalConfig *string `json:"additionalConfig,omitempty" yaml:"additionalConfig,omitempty" mapstructure:"additionalConfig,omitempty"` - // Enabled corresponds to the JSON schema field "enabled". + // If true, the load balancers will be enabled Enabled bool `json:"enabled" yaml:"enabled" mapstructure:"enabled"` // Hosts corresponds to the JSON schema field "hosts". @@ -2820,7 +2340,8 @@ type SpecDistributionModulesPolicy struct { // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` - // Type corresponds to the JSON schema field "type". + // The type of security to use, either ***none***, ***gatekeeper*** or + // ***kyverno*** Type SpecDistributionModulesPolicyType `json:"type" yaml:"type" mapstructure:"type"` } @@ -2843,10 +2364,10 @@ func (j *SpecDistributionModulesPolicy) UnmarshalJSON(b []byte) error { } type SpecDistributionModulesTracingMinioRootUser struct { - // Password corresponds to the JSON schema field "password". + // The password for the minio root user Password *string `json:"password,omitempty" yaml:"password,omitempty" mapstructure:"password,omitempty"` - // Username corresponds to the JSON schema field "username". + // The username for the minio root user Username *string `json:"username,omitempty" yaml:"username,omitempty" mapstructure:"username,omitempty"` } @@ -2857,7 +2378,7 @@ type SpecDistributionModulesTracingMinio struct { // RootUser corresponds to the JSON schema field "rootUser". RootUser *SpecDistributionModulesTracingMinioRootUser `json:"rootUser,omitempty" yaml:"rootUser,omitempty" mapstructure:"rootUser,omitempty"` - // StorageSize corresponds to the JSON schema field "storageSize". + // The storage size for the minio pods StorageSize *string `json:"storageSize,omitempty" yaml:"storageSize,omitempty" mapstructure:"storageSize,omitempty"` } @@ -2910,24 +2431,24 @@ const ( ) type SpecDistributionModulesTracingTempoExternalEndpoint struct { - // AccessKeyId corresponds to the JSON schema field "accessKeyId". + // The access key id of the external tempo backend AccessKeyId *string `json:"accessKeyId,omitempty" yaml:"accessKeyId,omitempty" mapstructure:"accessKeyId,omitempty"` - // BucketName corresponds to the JSON schema field "bucketName". + // The bucket name of the external tempo backend BucketName *string `json:"bucketName,omitempty" yaml:"bucketName,omitempty" mapstructure:"bucketName,omitempty"` - // Endpoint corresponds to the JSON schema field "endpoint". + // The endpoint of the external tempo backend Endpoint *string `json:"endpoint,omitempty" yaml:"endpoint,omitempty" mapstructure:"endpoint,omitempty"` - // Insecure corresponds to the JSON schema field "insecure". + // If true, the external tempo backend will not use tls Insecure *bool `json:"insecure,omitempty" yaml:"insecure,omitempty" mapstructure:"insecure,omitempty"` - // SecretAccessKey corresponds to the JSON schema field "secretAccessKey". + // The secret access key of the external tempo backend SecretAccessKey *string `json:"secretAccessKey,omitempty" yaml:"secretAccessKey,omitempty" mapstructure:"secretAccessKey,omitempty"` } type SpecDistributionModulesTracingTempo struct { - // Backend corresponds to the JSON schema field "backend". + // The backend for the tempo pods, must be ***minio*** or ***externalEndpoint*** Backend *SpecDistributionModulesTracingTempoBackend `json:"backend,omitempty" yaml:"backend,omitempty" mapstructure:"backend,omitempty"` // ExternalEndpoint corresponds to the JSON schema field "externalEndpoint". @@ -2936,17 +2457,17 @@ type SpecDistributionModulesTracingTempo struct { // Overrides corresponds to the JSON schema field "overrides". Overrides *TypesFuryModuleComponentOverrides `json:"overrides,omitempty" yaml:"overrides,omitempty" mapstructure:"overrides,omitempty"` - // RetentionTime corresponds to the JSON schema field "retentionTime". + // The retention time for the tempo pods RetentionTime *string `json:"retentionTime,omitempty" yaml:"retentionTime,omitempty" mapstructure:"retentionTime,omitempty"` } type SpecDistributionModulesTracingType string type SpecKubernetesLoadBalancersStats struct { - // Password corresponds to the JSON schema field "password". + // The password to use Password string `json:"password" yaml:"password" mapstructure:"password"` - // Username corresponds to the JSON schema field "username". + // The username to use Username string `json:"username" yaml:"username" mapstructure:"username"` } @@ -2985,7 +2506,7 @@ type SpecDistributionModulesTracing struct { // Tempo corresponds to the JSON schema field "tempo". Tempo *SpecDistributionModulesTracingTempo `json:"tempo,omitempty" yaml:"tempo,omitempty" mapstructure:"tempo,omitempty"` - // Type corresponds to the JSON schema field "type". + // The type of tracing to use, either ***none*** or ***tempo*** Type SpecDistributionModulesTracingType `json:"type" yaml:"type" mapstructure:"type"` } @@ -3090,16 +2611,16 @@ func (j *SpecDistribution) UnmarshalJSON(b []byte) error { } type SpecKubernetesAdvancedAirGapDependenciesOverrideApt struct { - // GpgKey corresponds to the JSON schema field "gpg_key". + // The gpg key of the apt dependency GpgKey string `json:"gpg_key" yaml:"gpg_key" mapstructure:"gpg_key"` - // GpgKeyId corresponds to the JSON schema field "gpg_key_id". + // The gpg key id of the apt dependency GpgKeyId string `json:"gpg_key_id" yaml:"gpg_key_id" mapstructure:"gpg_key_id"` - // Name corresponds to the JSON schema field "name". + // The name of the apt dependency Name string `json:"name" yaml:"name" mapstructure:"name"` - // Repo corresponds to the JSON schema field "repo". + // The repo of the apt dependency Repo string `json:"repo" yaml:"repo" mapstructure:"repo"` } @@ -3131,19 +2652,19 @@ func (j *SpecKubernetesAdvancedAirGapDependenciesOverrideApt) UnmarshalJSON(b [] } type SpecKubernetesAdvancedAirGapDependenciesOverrideYum struct { - // GpgKey corresponds to the JSON schema field "gpg_key". + // The gpg key of the yum dependency GpgKey string `json:"gpg_key" yaml:"gpg_key" mapstructure:"gpg_key"` - // GpgKeyCheck corresponds to the JSON schema field "gpg_key_check". + // If true, the gpg key check will be enabled GpgKeyCheck bool `json:"gpg_key_check" yaml:"gpg_key_check" mapstructure:"gpg_key_check"` - // Name corresponds to the JSON schema field "name". + // The name of the yum dependency Name string `json:"name" yaml:"name" mapstructure:"name"` - // Repo corresponds to the JSON schema field "repo". + // The repo of the yum dependency Repo string `json:"repo" yaml:"repo" mapstructure:"repo"` - // RepoGpgCheck corresponds to the JSON schema field "repo_gpg_check". + // If true, the repo gpg check will be enabled RepoGpgCheck bool `json:"repo_gpg_check" yaml:"repo_gpg_check" mapstructure:"repo_gpg_check"` } @@ -3203,50 +2724,6 @@ type SpecKubernetesAdvancedAirGap struct { RuncDownloadUrl *string `json:"runcDownloadUrl,omitempty" yaml:"runcDownloadUrl,omitempty" mapstructure:"runcDownloadUrl,omitempty"` } -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 struct { - // The gpg key of the apt dependency - GpgKey string `json:"gpg_key" yaml:"gpg_key" mapstructure:"gpg_key"` - - // The gpg key id of the apt dependency - GpgKeyId string `json:"gpg_key_id" yaml:"gpg_key_id" mapstructure:"gpg_key_id"` - - // The name of the apt dependency - Name string `json:"name" yaml:"name" mapstructure:"name"` - - // The repo of the apt dependency - Repo string `json:"repo" yaml:"repo" mapstructure:"repo"` -} - -type SpecKubernetesAdvancedAirGapDependenciesOverrideYum struct { - // The gpg key of the yum dependency - GpgKey string `json:"gpg_key" yaml:"gpg_key" mapstructure:"gpg_key"` - - // If true, the gpg key check will be enabled - GpgKeyCheck bool `json:"gpg_key_check" yaml:"gpg_key_check" mapstructure:"gpg_key_check"` - - // The name of the yum dependency - Name string `json:"name" yaml:"name" mapstructure:"name"` - - // The repo of the yum dependency - Repo string `json:"repo" yaml:"repo" mapstructure:"repo"` - - // If true, the repo gpg check will be enabled - RepoGpgCheck bool `json:"repo_gpg_check" yaml:"repo_gpg_check" mapstructure:"repo_gpg_check"` -} - -type SpecKubernetesAdvancedAnsible struct { - // The python interpreter to use - PythonInterpreter *string `json:"pythonInterpreter,omitempty" yaml:"pythonInterpreter,omitempty" mapstructure:"pythonInterpreter,omitempty"` -} - type SpecKubernetesAdvancedCloud struct { // The cloud config to use Config *string `json:"config,omitempty" yaml:"config,omitempty" mapstructure:"config,omitempty"` @@ -3304,12 +2781,12 @@ type SpecKubernetesAdvancedUsers struct { Org *string `json:"org,omitempty" yaml:"org,omitempty" mapstructure:"org,omitempty"` } -type SpecKubernetesLoadBalancers struct { - // The additional config to use - AdditionalConfig *string `json:"additionalConfig,omitempty" yaml:"additionalConfig,omitempty" mapstructure:"additionalConfig,omitempty"` +type SpecKubernetesAdvanced struct { + // AirGap corresponds to the JSON schema field "airGap". + AirGap *SpecKubernetesAdvancedAirGap `json:"airGap,omitempty" yaml:"airGap,omitempty" mapstructure:"airGap,omitempty"` - // If true, the load balancers will be enabled - Enabled bool `json:"enabled" yaml:"enabled" mapstructure:"enabled"` + // 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"` @@ -3325,7 +2802,7 @@ type SpecKubernetesLoadBalancers struct { } type SpecKubernetesAdvancedAnsible struct { - // PythonInterpreter corresponds to the JSON schema field "pythonInterpreter". + // The python interpreter to use PythonInterpreter *string `json:"pythonInterpreter,omitempty" yaml:"pythonInterpreter,omitempty" mapstructure:"pythonInterpreter,omitempty"` } @@ -3375,152 +2852,11 @@ type SpecKubernetesLoadBalancersKeepalived struct { VirtualRouterId *string `json:"virtualRouterId,omitempty" yaml:"virtualRouterId,omitempty" mapstructure:"virtualRouterId,omitempty"` } -type SpecKubernetesLoadBalancersStats struct { - // The password to use - Password string `json:"password" yaml:"password" mapstructure:"password"` - - // The username to use - Username string `json:"username" yaml:"username" mapstructure:"username"` -} - -type SpecKubernetesMasters struct { - // Hosts corresponds to the JSON schema field "hosts". - Hosts []SpecKubernetesMastersHost `json:"hosts" yaml:"hosts" mapstructure:"hosts"` -} - -type SpecKubernetesMastersHost struct { - // The IP of the host - Ip string `json:"ip" yaml:"ip" mapstructure:"ip"` - - // The name of the host - Name string `json:"name" yaml:"name" mapstructure:"name"` -} - -type SpecKubernetesNodes []SpecKubernetesNodesNode - -type SpecKubernetesNodesNode struct { - // Hosts corresponds to the JSON schema field "hosts". - Hosts []SpecKubernetesNodesNodeHost `json:"hosts" yaml:"hosts" mapstructure:"hosts"` - - // Name corresponds to the JSON schema field "name". - 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"` -} - -type SpecKubernetesNodesNodeHost struct { - // Ip corresponds to the JSON schema field "ip". - Ip string `json:"ip" yaml:"ip" mapstructure:"ip"` - +type Metadata struct { // Name corresponds to the JSON schema field "name". Name string `json:"name" yaml:"name" mapstructure:"name"` } -type SpecKubernetesProxy struct { - // The HTTP proxy to use - Http *TypesUri `json:"http,omitempty" yaml:"http,omitempty" mapstructure:"http,omitempty"` - - // The HTTPS proxy to use - Https *TypesUri `json:"https,omitempty" yaml:"https,omitempty" mapstructure:"https,omitempty"` - - // The no proxy to use - NoProxy *string `json:"noProxy,omitempty" yaml:"noProxy,omitempty" mapstructure:"noProxy,omitempty"` -} - -type SpecKubernetesSSH struct { - // The path to the private key to use to connect to the nodes - KeyPath string `json:"keyPath" yaml:"keyPath" mapstructure:"keyPath"` - - // The username to use to connect to the nodes - Username string `json:"username" yaml:"username" mapstructure:"username"` -} - -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 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 []struct { - // The chart of the release - Chart string `json:"chart" yaml:"chart" mapstructure:"chart"` - - // 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 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"` -} - -type SpecPluginsHelmRepositories []struct { - // The name of the repository - Name string `json:"name" yaml:"name" mapstructure:"name"` - - // The url of the repository - Url string `json:"url" yaml:"url" mapstructure:"url"` -} - -type SpecPluginsKustomize []struct { - // The folder of the kustomize plugin - Folder string `json:"folder" yaml:"folder" mapstructure:"folder"` - - // The name of the kustomize plugin - Name string `json:"name" yaml:"name" mapstructure:"name"` -} - -type TypesCidr string - -type TypesEnvRef string - -type TypesFileRef string - -type TypesFuryModuleComponentOverrides struct { - // The node selector to use to place the pods for the minio module - NodeSelector TypesKubeNodeSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty" mapstructure:"nodeSelector,omitempty"` - - // The tolerations that will be added to the pods for the minio module - Tolerations []TypesKubeToleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"` -} - -type TypesFuryModuleOverrides struct { - // Ingresses corresponds to the JSON schema field "ingresses". - Ingresses TypesFuryModuleOverridesIngresses `json:"ingresses,omitempty" yaml:"ingresses,omitempty" mapstructure:"ingresses,omitempty"` - - // The node selector to use to place the pods for the tracing module - NodeSelector TypesKubeNodeSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty" mapstructure:"nodeSelector,omitempty"` - - // The tolerations that will be added to the pods for the policy module - Tolerations []TypesKubeToleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty" mapstructure:"tolerations,omitempty"` -} - type TypesFuryModuleOverridesIngress struct { // If true, the ingress will not have authentication DisableAuth *bool `json:"disableAuth,omitempty" yaml:"disableAuth,omitempty" mapstructure:"disableAuth,omitempty"` @@ -3730,28 +3066,10 @@ var enumValues_SpecDistributionModulesTracingType = []interface{}{ "tempo", } -// UnmarshalJSON implements json.Unmarshaler. -func (j *Metadata) UnmarshalJSON(b []byte) error { - var raw map[string]interface{} - if err := json.Unmarshal(b, &raw); err != nil { - return err - } - if v, ok := raw["name"]; !ok || v == nil { - return fmt.Errorf("field name in Metadata: required") - } - type Plain Metadata - var plain Plain - if err := json.Unmarshal(b, &plain); err != nil { - return err - } - if len(plain.Name) < 1 { - return fmt.Errorf("field %s length: must be >= %d", "name", 1) - } - if len(plain.Name) > 56 { - return fmt.Errorf("field %s length: must be <= %d", "name", 56) - } - *j = Metadata(plain) - return nil +var enumValues_TypesKubeTaintsEffect = []interface{}{ + "NoSchedule", + "PreferNoSchedule", + "NoExecute", } var enumValues_TypesKubeTolerationEffect = []interface{}{ diff --git a/schemas/private/ekscluster-kfd-v1alpha2.json b/schemas/private/ekscluster-kfd-v1alpha2.json index 9c9d4193..4a41a4f6 100644 --- a/schemas/private/ekscluster-kfd-v1alpha2.json +++ b/schemas/private/ekscluster-kfd-v1alpha2.json @@ -1148,7 +1148,7 @@ "prometheusAgent", "mimir" ], - "description": "choose the prefered stack for Monitoring. Prometheus, Prometheus Agent (no local metrics and alerts, ship to remote), Mimir or None for not installing the monitoring stack." + "description": "The type of the monitoring, must be ***none***, ***prometheus***, ***prometheusAgent*** or ***mimir***.\n\n- `none`: will disable the whole monitoring stack.\n- `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.\n- `prometheusAgent`: wil 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.\n- `mimir`: will install the same as the `prometheus` option, and in addition Grafana Mimir that allows for longer retention of metrics and the usage of Object Storage." }, "overrides": { "$ref": "#/$defs/Types.FuryModuleOverrides" @@ -1313,18 +1313,18 @@ }, "retentionTime": { "type": "string", - "description": "The retention time for the prometheus pods" + "description": "The retention time for the k8s Prometheus instance." }, "retentionSize": { "type": "string", - "description": "The retention size for the prometheus pods" + "description": "The retention size for the k8s Prometheus instance." }, "storageSize": { "type": "string", - "description": "The storage size for the prometheus pods" + "description": "The storage size for the k8s Prometheus instance." }, "remoteWrite": { - "desciption": "configuration for sending metrics to a remote receiver. Schema follows the same as the Prometheus operator.", + "description": "Set this option to ship the collected metrics to a remote Prometheus receiver.\n\n`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).", "type": "array", "items": { "type": "object" @@ -1340,7 +1340,7 @@ "$ref": "#/$defs/Types.KubeResources" }, "remoteWrite": { - "desciption": "configuration for sending metrics to a remote receiver. Schema follows the same as the Prometheus operator.", + "description": "Set this option to ship the collected metrics to a remote Prometheus receiver.\n\n`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).", "type": "array", "items": { "type": "object" @@ -2745,4 +2745,4 @@ "spec" ], "type": "object" -} \ No newline at end of file +} diff --git a/schemas/public/ekscluster-kfd-v1alpha2.json b/schemas/public/ekscluster-kfd-v1alpha2.json index 846b636e..4bd5e69d 100644 --- a/schemas/public/ekscluster-kfd-v1alpha2.json +++ b/schemas/public/ekscluster-kfd-v1alpha2.json @@ -9,9 +9,7 @@ }, "kind": { "type": "string", - "enum": [ - "EKSCluster" - ] + "enum": ["EKSCluster"] }, "metadata": { "$ref": "#/$defs/Metadata" @@ -21,12 +19,7 @@ } }, "additionalProperties": false, - "required": [ - "apiVersion", - "kind", - "metadata", - "spec" - ], + "required": ["apiVersion", "kind", "metadata", "spec"], "$defs": { "Metadata": { "type": "object", @@ -38,9 +31,7 @@ "maxLength": 56 } }, - "required": [ - "name" - ] + "required": ["name"] }, "Spec": { "type": "object", @@ -105,10 +96,7 @@ "then": { "properties": { "kubernetes": { - "required": [ - "vpcId", - "subnetIds" - ] + "required": ["vpcId", "subnetIds"] } } }, @@ -136,9 +124,7 @@ "$ref": "#/$defs/Spec.ToolsConfiguration.Terraform" } }, - "required": [ - "terraform" - ] + "required": ["terraform"] }, "Spec.ToolsConfiguration.Terraform": { "type": "object", @@ -148,9 +134,7 @@ "$ref": "#/$defs/Spec.ToolsConfiguration.Terraform.State" } }, - "required": [ - "state" - ] + "required": ["state"] }, "Spec.ToolsConfiguration.Terraform.State": { "type": "object", @@ -160,9 +144,7 @@ "$ref": "#/$defs/Spec.ToolsConfiguration.Terraform.State.S3" } }, - "required": [ - "s3" - ] + "required": ["s3"] }, "Spec.ToolsConfiguration.Terraform.State.S3": { "type": "object", @@ -185,11 +167,7 @@ "description": "This value defines if the region of the bucket should be validated or not by Terraform, useful when using a bucket in a recently added region" } }, - "required": [ - "bucketName", - "keyPrefix", - "region" - ] + "required": ["bucketName", "keyPrefix", "region"] }, "Spec.Infrastructure": { "type": "object", @@ -229,9 +207,7 @@ "then": { "properties": { "vpn": { - "required": [ - "vpcId" - ] + "required": ["vpcId"] } } } @@ -285,9 +261,7 @@ "$ref": "#/$defs/Spec.Infrastructure.Vpc.Network" } }, - "required": [ - "network" - ] + "required": ["network"] }, "Spec.Infrastructure.Vpc.Network": { "type": "object", @@ -301,10 +275,7 @@ "$ref": "#/$defs/Spec.Infrastructure.Vpc.Network.SubnetsCidrs" } }, - "required": [ - "cidr", - "subnetsCidrs" - ] + "required": ["cidr", "subnetsCidrs"] }, "Spec.Infrastructure.Vpc.Network.SubnetsCidrs": { "type": "object", @@ -325,10 +296,7 @@ "description": "These are the CIDRs for the public subnets, where the public load balancers and the VPN servers will be created" } }, - "required": [ - "private", - "public" - ] + "required": ["private", "public"] }, "Spec.Infrastructure.Vpn": { "type": "object", @@ -378,10 +346,7 @@ "description": "Overrides the default IAM user name for the VPN" } }, - "required": [ - "ssh", - "vpnClientsSubnetCidr" - ] + "required": ["ssh", "vpnClientsSubnetCidr"] }, "Spec.Infrastructure.Vpn.Ssh": { "type": "object", @@ -417,10 +382,7 @@ "description": "The CIDR enabled in the security group that can access the bastions in SSH" } }, - "required": [ - "allowedFromCidrs", - "githubUsersName" - ] + "required": ["allowedFromCidrs", "githubUsersName"] }, "Spec.Kubernetes": { "type": "object", @@ -465,11 +427,7 @@ }, "nodePoolsLaunchKind": { "type": "string", - "enum": [ - "launch_configurations", - "launch_templates", - "both" - ], + "enum": ["launch_configurations", "launch_templates", "both"], "description": "Either `launch_configurations`, `launch_templates` or `both`. For new clusters use `launch_templates`, for existing cluster you'll need to migrate from `launch_configurations` to `launch_templates` using `both` as interim." }, "logRetentionDays": { @@ -537,10 +495,7 @@ "description": "This value defines if the API server will be accessible from the public subnets" } }, - "required": [ - "privateAccess", - "publicAccess" - ] + "required": ["privateAccess", "publicAccess"] }, "Spec.Kubernetes.NodePool": { "type": "object", @@ -548,10 +503,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "eks-managed", - "self-managed" - ] + "enum": ["eks-managed", "self-managed"] }, "name": { "type": "string", @@ -562,10 +514,7 @@ }, "containerRuntime": { "type": "string", - "enum": [ - "docker", - "containerd" - ], + "enum": ["docker", "containerd"], "description": "The container runtime to use for the nodes" }, "size": { @@ -604,11 +553,7 @@ "$ref": "#/$defs/Spec.Kubernetes.NodePool.AdditionalFirewallRules" } }, - "required": [ - "instance", - "name", - "size" - ] + "required": ["instance", "name", "size"] }, "Spec.Kubernetes.NodePool.Ami": { "type": "object", @@ -623,10 +568,7 @@ "description": "The owner of the AMI" } }, - "required": [ - "id", - "owner" - ] + "required": ["id", "owner"] }, "Spec.Kubernetes.NodePool.Instance": { "type": "object", @@ -646,20 +588,13 @@ }, "volumeType": { "type": "string", - "enum": [ - "gp2", - "gp3", - "io1", - "standard" - ] + "enum": ["gp2", "gp3", "io1", "standard"] }, "maxPods": { "type": "integer" } }, - "required": [ - "type" - ] + "required": ["type"] }, "Spec.Kubernetes.NodePool.Size": { "type": "object", @@ -676,10 +611,7 @@ "description": "The maximum number of nodes in the node pool" } }, - "required": [ - "max", - "min" - ] + "required": ["max", "min"] }, "Spec.Kubernetes.NodePool.AdditionalFirewallRules": { "type": "object", @@ -718,10 +650,7 @@ }, "type": { "type": "string", - "enum": [ - "ingress", - "egress" - ] + "enum": ["ingress", "egress"] }, "tags": { "$ref": "#/$defs/Types.AwsTags" @@ -740,13 +669,7 @@ "$ref": "#/$defs/Spec.Kubernetes.NodePool.AdditionalFirewallRule.Ports" } }, - "required": [ - "cidrBlocks", - "name", - "ports", - "protocol", - "type" - ] + "required": ["cidrBlocks", "name", "ports", "protocol", "type"] }, "Spec.Kubernetes.NodePool.AdditionalFirewallRule.SourceSecurityGroupId": { "type": "object", @@ -758,10 +681,7 @@ }, "type": { "type": "string", - "enum": [ - "ingress", - "egress" - ], + "enum": ["ingress", "egress"], "description": "The type of the FW rule can be ingress or egress" }, "tags": { @@ -780,13 +700,7 @@ "$ref": "#/$defs/Spec.Kubernetes.NodePool.AdditionalFirewallRule.Ports" } }, - "required": [ - "sourceSecurityGroupId", - "name", - "ports", - "protocol", - "type" - ] + "required": ["sourceSecurityGroupId", "name", "ports", "protocol", "type"] }, "Spec.Kubernetes.NodePool.AdditionalFirewallRule.Self": { "type": "object", @@ -798,10 +712,7 @@ }, "type": { "type": "string", - "enum": [ - "ingress", - "egress" - ], + "enum": ["ingress", "egress"], "description": "The type of the FW rule can be ingress or egress" }, "tags": { @@ -820,13 +731,7 @@ "$ref": "#/$defs/Spec.Kubernetes.NodePool.AdditionalFirewallRule.Ports" } }, - "required": [ - "self", - "name", - "ports", - "protocol", - "type" - ] + "required": ["self", "name", "ports", "protocol", "type"] }, "Spec.Kubernetes.NodePool.AdditionalFirewallRule.Ports": { "type": "object", @@ -839,10 +744,7 @@ "$ref": "#/$defs/Types.TcpPort" } }, - "required": [ - "from", - "to" - ] + "required": ["from", "to"] }, "Spec.Kubernetes.AwsAuth": { "type": "object", @@ -888,11 +790,7 @@ "$ref": "#/$defs/Types.AwsArn" } }, - "required": [ - "groups", - "rolearn", - "username" - ] + "required": ["groups", "rolearn", "username"] }, "Spec.Kubernetes.AwsAuth.User": { "type": "object", @@ -911,11 +809,7 @@ "$ref": "#/$defs/Types.AwsArn" } }, - "required": [ - "groups", - "userarn", - "username" - ] + "required": ["groups", "userarn", "username"] }, "Spec.Distribution": { "type": "object", @@ -931,22 +825,16 @@ "$ref": "../public/spec-distribution-custom-patches.json" } }, - "required": [ - "modules" - ], + "required": ["modules"], "if": { "allOf": [ { - "required": [ - "common" - ] + "required": ["common"] }, { "properties": { "common": { - "required": [ - "provider" - ] + "required": ["provider"] } } }, @@ -955,9 +843,7 @@ "common": { "properties": { "provider": { - "required": [ - "type" - ] + "required": ["type"] } } } @@ -983,9 +869,7 @@ "then": { "properties": { "modules": { - "required": [ - "aws" - ] + "required": ["aws"] } } }, @@ -1034,9 +918,7 @@ "description": "The type of the provider, must be EKS if specified" } }, - "required": [ - "type" - ] + "required": ["type"] }, "Spec.Distribution.Modules": { "type": "object", @@ -1070,12 +952,7 @@ "$ref": "#/$defs/Spec.Distribution.Modules.Policy" } }, - "required": [ - "dr", - "ingress", - "logging", - "policy" - ] + "required": ["dr", "ingress", "logging", "policy"] }, "Spec.Distribution.Modules.Ingress": { "type": "object", @@ -1102,11 +979,7 @@ "$ref": "#/$defs/Spec.Distribution.Modules.Ingress.Forecastle" } }, - "required": [ - "baseDomain", - "dns", - "nginx" - ], + "required": ["baseDomain", "dns", "nginx"], "if": { "properties": { "nginx": { @@ -1123,9 +996,7 @@ } }, "then": { - "required": [ - "certManager" - ] + "required": ["certManager"] } }, "Spec.Distribution.Modules.Ingress.Overrides": { @@ -1172,11 +1043,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "none", - "single", - "dual" - ], + "enum": ["none", "single", "dual"], "description": "The type of the nginx ingress controller, must be ***none***, ***single*** or ***dual***" }, "tls": { @@ -1186,9 +1053,7 @@ "$ref": "#/$defs/Types.FuryModuleComponentOverrides" } }, - "required": [ - "type" - ] + "required": ["type"] }, "Spec.Distribution.Modules.Ingress.Nginx.TLS": { "type": "object", @@ -1196,20 +1061,14 @@ "properties": { "provider": { "type": "string", - "enum": [ - "certManager", - "secret", - "none" - ], + "enum": ["certManager", "secret", "none"], "description": "The provider of the TLS certificate, must be ***none***, ***certManager*** or ***secret***" }, "secret": { "$ref": "#/$defs/Spec.Distribution.Modules.Ingress.Nginx.TLS.Secret" } }, - "required": [ - "provider" - ], + "required": ["provider"], "if": { "properties": { "provider": { @@ -1218,9 +1077,7 @@ } }, "then": { - "required": [ - "secret" - ] + "required": ["secret"] } }, "Spec.Distribution.Modules.Ingress.Nginx.TLS.Secret": { @@ -1238,11 +1095,7 @@ "type": "string" } }, - "required": [ - "ca", - "cert", - "key" - ] + "required": ["ca", "cert", "key"] }, "Spec.Distribution.Modules.Ingress.CertManager": { "type": "object", @@ -1255,9 +1108,7 @@ "$ref": "#/$defs/Types.FuryModuleComponentOverrides" } }, - "required": [ - "clusterIssuer" - ] + "required": ["clusterIssuer"] }, "Spec.Distribution.Modules.Ingress.CertManager.ClusterIssuer": { "type": "object", @@ -1274,10 +1125,7 @@ }, "type": { "type": "string", - "enum": [ - "dns01", - "http01" - ], + "enum": ["dns01", "http01"], "description": "The type of the cluster issuer, must be ***dns01*** or ***http01***" }, "solvers": { @@ -1285,20 +1133,13 @@ "description": "The custom solvers configurations" } }, - "required": [ - "name", - "email" - ], + "required": ["name", "email"], "oneOf": [ { - "required": [ - "type" - ] + "required": ["type"] }, { - "required": [ - "solvers" - ] + "required": ["solvers"] } ] }, @@ -1316,10 +1157,7 @@ "$ref": "#/$defs/Types.FuryModuleComponentOverrides" } }, - "required": [ - "public", - "private" - ] + "required": ["public", "private"] }, "Spec.Distribution.Modules.Ingress.DNS.Public": { "type": "object", @@ -1334,10 +1172,7 @@ "description": "If true, the public hosted zone will be created" } }, - "required": [ - "name", - "create" - ] + "required": ["name", "create"] }, "Spec.Distribution.Modules.Ingress.DNS.Private": { "type": "object", @@ -1352,10 +1187,7 @@ "description": "If true, the private hosted zone will be created" } }, - "required": [ - "name", - "create" - ] + "required": ["name", "create"] }, "Spec.Distribution.Modules.Logging": { "type": "object", @@ -1366,11 +1198,7 @@ }, "type": { "type": "string", - "enum": [ - "none", - "opensearch", - "loki" - ], + "enum": ["none", "opensearch", "loki"], "description": "The type of the logging, must be ***none***, ***opensearch*** or ***loki***" }, "opensearch": { @@ -1389,9 +1217,7 @@ "$ref": "#/$defs/Spec.Distribution.Modules.Logging.Operator" } }, - "required": [ - "type" - ], + "required": ["type"], "allOf": [ { "if": { @@ -1402,9 +1228,7 @@ } }, "then": { - "required": [ - "opensearch" - ] + "required": ["opensearch"] } } ] @@ -1415,10 +1239,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "single", - "triple" - ], + "enum": ["single", "triple"], "description": "The type of the opensearch, must be ***single*** or ***triple***" }, "resources": { @@ -1432,9 +1253,7 @@ "$ref": "#/$defs/Types.FuryModuleComponentOverrides" } }, - "required": [ - "type" - ] + "required": ["type"] }, "Spec.Distribution.Modules.Logging.Cerebro": { "type": "object", @@ -1478,10 +1297,7 @@ "properties": { "backend": { "type": "string", - "enum": [ - "minio", - "externalEndpoint" - ] + "enum": ["minio", "externalEndpoint"] }, "externalEndpoint": { "type": "object", @@ -1530,12 +1346,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "none", - "prometheus", - "prometheusAgent", - "mimir" - ], + "enum": ["none", "prometheus", "prometheusAgent", "mimir"], "description": "The type of the monitoring, must be ***none***, ***prometheus***, ***prometheusAgent*** or ***mimir***.\n\n- `none`: will disable the whole monitoring stack.\n- `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.\n- `prometheusAgent`: wil 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.\n- `mimir`: will install the same as the `prometheus` option, and in addition Grafana Mimir that allows for longer retention of metrics and the usage of Object Storage." }, "overrides": { @@ -1569,9 +1380,7 @@ "$ref": "#/$defs/Spec.Distribution.Modules.Monitoring.Minio" } }, - "required": [ - "type" - ] + "required": ["type"] }, "Spec.Distribution.Modules.Monitoring.Prometheus": { "type": "object", @@ -1593,7 +1402,7 @@ "description": "The storage size for the k8s Prometheus instance." }, "remoteWrite": { - "desciption": "Set this option to ship the collected metrics to a remote Prometheus receiver.\n\n`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).", + "description": "Set this option to ship the collected metrics to a remote Prometheus receiver.\n\n`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).", "type": "array", "items": { "type": "object" @@ -1609,7 +1418,7 @@ "$ref": "#/$defs/Types.KubeResources" }, "remoteWrite": { - "desciption": "Set this option to ship the collected metrics to a remote Prometheus receiver.\n\n`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).", + "description": "Set this option to ship the collected metrics to a remote Prometheus receiver.\n\n`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).", "type": "array", "items": { "type": "object" @@ -1681,10 +1490,7 @@ }, "backend": { "type": "string", - "enum": [ - "minio", - "externalEndpoint" - ], + "enum": ["minio", "externalEndpoint"], "description": "The backend for the mimir pods, must be ***minio*** or ***externalEndpoint***" }, "externalEndpoint": { @@ -1754,10 +1560,7 @@ }, "type": { "type": "string", - "enum": [ - "none", - "tempo" - ], + "enum": ["none", "tempo"], "description": "The type of tracing to use, either ***none*** or ***tempo***" }, "tempo": { @@ -1767,9 +1570,7 @@ "$ref": "#/$defs/Spec.Distribution.Modules.Tracing.Minio" } }, - "required": [ - "type" - ] + "required": ["type"] }, "Spec.Distribution.Modules.Tracing.Tempo": { "type": "object", @@ -1781,10 +1582,7 @@ }, "backend": { "type": "string", - "enum": [ - "minio", - "externalEndpoint" - ], + "enum": ["minio", "externalEndpoint"], "description": "The backend for the tempo pods, must be ***minio*** or ***externalEndpoint***" }, "externalEndpoint": { @@ -1875,11 +1673,7 @@ }, "type": { "type": "string", - "enum": [ - "none", - "gatekeeper", - "kyverno" - ], + "enum": ["none", "gatekeeper", "kyverno"], "description": "The type of security to use, either ***none***, ***gatekeeper*** or ***kyverno***" }, "gatekeeper": { @@ -1889,9 +1683,7 @@ "$ref": "#/$defs/Spec.Distribution.Modules.Policy.Kyverno" } }, - "required": [ - "type" - ], + "required": ["type"], "allOf": [ { "if": { @@ -1902,9 +1694,7 @@ } }, "then": { - "required": [ - "gatekeeper" - ] + "required": ["gatekeeper"] } }, { @@ -1916,9 +1706,7 @@ } }, "then": { - "required": [ - "kyverno" - ] + "required": ["kyverno"] } } ] @@ -1936,11 +1724,7 @@ }, "enforcementAction": { "type": "string", - "enum": [ - "deny", - "dryrun", - "warn" - ], + "enum": ["deny", "dryrun", "warn"], "description": "The enforcement action to use for the gatekeeper module" }, "installDefaultPolicies": { @@ -1951,10 +1735,7 @@ "$ref": "#/$defs/Types.FuryModuleComponentOverrides" } }, - "required": [ - "enforcementAction", - "installDefaultPolicies" - ] + "required": ["enforcementAction", "installDefaultPolicies"] }, "Spec.Distribution.Modules.Policy.Kyverno": { "type": "object", @@ -1969,10 +1750,7 @@ }, "validationFailureAction": { "type": "string", - "enum": [ - "audit", - "enforce" - ], + "enum": ["audit", "enforce"], "description": "The validation failure action to use for the kyverno module" }, "installDefaultPolicies": { @@ -1983,10 +1761,7 @@ "$ref": "#/$defs/Types.FuryModuleComponentOverrides" } }, - "required": [ - "validationFailureAction", - "installDefaultPolicies" - ] + "required": ["validationFailureAction", "installDefaultPolicies"] }, "Spec.Distribution.Modules.Dr": { "type": "object", @@ -1997,19 +1772,14 @@ }, "type": { "type": "string", - "enum": [ - "none", - "eks" - ], + "enum": ["none", "eks"], "description": "The type of the DR, must be ***none*** or ***eks***" }, "velero": { "$ref": "#/$defs/Spec.Distribution.Modules.Dr.Velero" } }, - "required": [ - "type" - ], + "required": ["type"], "if": { "properties": { "type": { @@ -2018,10 +1788,7 @@ } }, "then": { - "required": [ - "type", - "velero" - ] + "required": ["type", "velero"] } }, "Spec.Distribution.Modules.Dr.Velero": { @@ -2035,9 +1802,7 @@ "$ref": "#/$defs/Types.FuryModuleComponentOverrides" } }, - "required": [ - "eks" - ] + "required": ["eks"] }, "Spec.Distribution.Modules.Dr.Velero.Eks": { "type": "object", @@ -2053,10 +1818,7 @@ "description": "The name of the velero bucket" } }, - "required": [ - "region", - "bucketName" - ] + "required": ["region", "bucketName"] }, "Spec.Distribution.Modules.Auth": { "type": "object", @@ -2079,9 +1841,7 @@ "$ref": "#/$defs/Spec.Distribution.Modules.Auth.Dex" } }, - "required": [ - "provider" - ], + "required": ["provider"], "allOf": [ { "if": { @@ -2096,11 +1856,7 @@ } }, "then": { - "required": [ - "dex", - "pomerium", - "baseDomain" - ] + "required": ["dex", "pomerium", "baseDomain"] }, "else": { "properties": { @@ -2128,9 +1884,7 @@ "then": { "properties": { "provider": { - "required": [ - "basicAuth" - ] + "required": ["basicAuth"] } } }, @@ -2155,10 +1909,7 @@ "description": "The node selector to use to place the pods for the auth module" }, "tolerations": { - "type": [ - "array", - "null" - ], + "type": ["array", "null"], "items": { "$ref": "#/$defs/Types.KubeToleration" }, @@ -2185,10 +1936,7 @@ "description": "The ingress class of the ingress" } }, - "required": [ - "host", - "ingressClass" - ] + "required": ["host", "ingressClass"] }, "Spec.Distribution.Modules.Auth.Provider": { "type": "object", @@ -2196,20 +1944,14 @@ "properties": { "type": { "type": "string", - "enum": [ - "none", - "basicAuth", - "sso" - ], + "enum": ["none", "basicAuth", "sso"], "description": "The type of the provider, must be ***none***, ***sso*** or ***basicAuth***" }, "basicAuth": { "$ref": "#/$defs/Spec.Distribution.Modules.Auth.Provider.BasicAuth" } }, - "required": [ - "type" - ] + "required": ["type"] }, "Spec.Distribution.Modules.Auth.Provider.BasicAuth": { "type": "object", @@ -2224,10 +1966,7 @@ "description": "The password for the basic auth" } }, - "required": [ - "username", - "password" - ] + "required": ["username", "password"] }, "Spec.Distribution.Modules.Auth.Pomerium": { "type": "object", @@ -2244,10 +1983,7 @@ "$ref": "#/$defs/Types.FuryModuleComponentOverrides" } }, - "required": [ - "secrets", - "policy" - ] + "required": ["secrets", "policy"] }, "Spec.Distribution.Modules.Auth.Pomerium.Secrets": { "type": "object", @@ -2266,11 +2002,7 @@ "description": "The shared secret for pomerium" } }, - "required": [ - "COOKIE_SECRET", - "IDP_CLIENT_SECRET", - "SHARED_SECRET" - ] + "required": ["COOKIE_SECRET", "IDP_CLIENT_SECRET", "SHARED_SECRET"] }, "Spec.Distribution.Modules.Auth.Dex": { "type": "object", @@ -2288,9 +2020,7 @@ "$ref": "#/$defs/Types.FuryModuleComponentOverrides" } }, - "required": [ - "connectors" - ] + "required": ["connectors"] }, "Spec.Distribution.Modules.Aws": { "type": "object", @@ -2484,10 +2214,7 @@ } }, "Types.KubeNodeSelector": { - "type": [ - "object", - "null" - ], + "type": ["object", "null"], "additionalProperties": { "type": "string" } @@ -2498,18 +2225,11 @@ "properties": { "effect": { "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] + "enum": ["NoSchedule", "PreferNoSchedule", "NoExecute"] }, "operator": { "type": "string", - "enum": [ - "Exists", - "Equal" - ] + "enum": ["Exists", "Equal"] }, "key": { "type": "string", @@ -2520,20 +2240,13 @@ "description": "The value of the toleration" } }, - "required": [ - "effect", - "key" - ], + "required": ["effect", "key"], "anyOf": [ { - "required": [ - "operator" - ] + "required": ["operator"] }, { - "required": [ - "value" - ] + "required": ["value"] } ] }, @@ -2580,10 +2293,7 @@ "description": "The node selector to use to place the pods for the dr module" }, "tolerations": { - "type": [ - "array", - "null" - ], + "type": ["array", "null"], "items": { "$ref": "#/$defs/Types.KubeToleration" }, @@ -2606,10 +2316,7 @@ "description": "The node selector to use to place the pods for the minio module" }, "tolerations": { - "type": [ - "array", - "null" - ], + "type": ["array", "null"], "items": { "$ref": "#/$defs/Types.KubeToleration" }, @@ -2626,10 +2333,7 @@ "description": "The node selector to use to place the pods for the load balancer controller module" }, "tolerations": { - "type": [ - "array", - "null" - ], + "type": ["array", "null"], "items": { "$ref": "#/$defs/Types.KubeToleration" }, @@ -2659,4 +2363,4 @@ } } } -} \ No newline at end of file +} diff --git a/schemas/public/kfddistribution-kfd-v1alpha2.json b/schemas/public/kfddistribution-kfd-v1alpha2.json index 059d4b1b..4cbbab70 100644 --- a/schemas/public/kfddistribution-kfd-v1alpha2.json +++ b/schemas/public/kfddistribution-kfd-v1alpha2.json @@ -9,9 +9,7 @@ }, "kind": { "type": "string", - "enum": [ - "KFDDistribution" - ] + "enum": ["KFDDistribution"] }, "metadata": { "$ref": "#/$defs/Metadata" @@ -21,12 +19,7 @@ } }, "additionalProperties": false, - "required": [ - "apiVersion", - "kind", - "metadata", - "spec" - ], + "required": ["apiVersion", "kind", "metadata", "spec"], "$defs": { "Metadata": { "type": "object", @@ -38,9 +31,7 @@ "maxLength": 56 } }, - "required": [ - "name" - ] + "required": ["name"] }, "Spec": { "type": "object", @@ -57,10 +48,7 @@ "$ref": "./spec-plugins.json" } }, - "required": [ - "distributionVersion", - "distribution" - ] + "required": ["distributionVersion", "distribution"] }, "Spec.Distribution": { "type": "object", @@ -80,23 +68,16 @@ "$ref": "../public/spec-distribution-custom-patches.json" } }, - "required": [ - "modules", - "kubeconfig" - ], + "required": ["modules", "kubeconfig"], "if": { "allOf": [ { - "required": [ - "common" - ] + "required": ["common"] }, { "properties": { "common": { - "required": [ - "provider" - ] + "required": ["provider"] } } }, @@ -105,9 +86,7 @@ "common": { "properties": { "provider": { - "required": [ - "type" - ] + "required": ["type"] } } } @@ -164,9 +143,7 @@ "description": "The type of the provider" } }, - "required": [ - "type" - ] + "required": ["type"] }, "Spec.Distribution.Modules": { "type": "object", @@ -197,12 +174,7 @@ "$ref": "#/$defs/Spec.Distribution.Modules.Policy" } }, - "required": [ - "dr", - "ingress", - "logging", - "policy" - ] + "required": ["dr", "ingress", "logging", "policy"] }, "Spec.Distribution.Modules.Ingress": { "type": "object", @@ -226,10 +198,7 @@ "$ref": "#/$defs/Spec.Distribution.Modules.Ingress.Forecastle" } }, - "required": [ - "baseDomain", - "nginx" - ], + "required": ["baseDomain", "nginx"], "if": { "properties": { "nginx": { @@ -246,9 +215,7 @@ } }, "then": { - "required": [ - "certManager" - ] + "required": ["certManager"] } }, "Spec.Distribution.Modules.Ingress.Overrides": { @@ -295,11 +262,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "none", - "single", - "dual" - ], + "enum": ["none", "single", "dual"], "description": "The type of the nginx ingress controller, must be ***none***, ***single*** or ***dual***" }, "tls": { @@ -309,9 +272,7 @@ "$ref": "#/$defs/Types.FuryModuleComponentOverrides" } }, - "required": [ - "type" - ] + "required": ["type"] }, "Spec.Distribution.Modules.Ingress.Nginx.TLS": { "type": "object", @@ -319,20 +280,14 @@ "properties": { "provider": { "type": "string", - "enum": [ - "certManager", - "secret", - "none" - ], + "enum": ["certManager", "secret", "none"], "description": "The provider of the TLS certificate, must be ***none***, ***certManager*** or ***secret***" }, "secret": { "$ref": "#/$defs/Spec.Distribution.Modules.Ingress.Nginx.TLS.Secret" } }, - "required": [ - "provider" - ], + "required": ["provider"], "if": { "properties": { "provider": { @@ -341,9 +296,7 @@ } }, "then": { - "required": [ - "secret" - ] + "required": ["secret"] } }, "Spec.Distribution.Modules.Ingress.Nginx.TLS.Secret": { @@ -361,11 +314,7 @@ "type": "string" } }, - "required": [ - "ca", - "cert", - "key" - ] + "required": ["ca", "cert", "key"] }, "Spec.Distribution.Modules.Ingress.CertManager": { "type": "object", @@ -378,9 +327,7 @@ "$ref": "#/$defs/Types.FuryModuleComponentOverrides" } }, - "required": [ - "clusterIssuer" - ] + "required": ["clusterIssuer"] }, "Spec.Distribution.Modules.Ingress.CertManager.ClusterIssuer": { "type": "object", @@ -397,9 +344,7 @@ }, "type": { "type": "string", - "enum": [ - "http01" - ], + "enum": ["http01"], "description": "The type of the cluster issuer, must be ***http01***" }, "solvers": { @@ -407,20 +352,13 @@ "description": "The custom solvers configurations" } }, - "required": [ - "name", - "email" - ], + "required": ["name", "email"], "oneOf": [ { - "required": [ - "type" - ] + "required": ["type"] }, { - "required": [ - "solvers" - ] + "required": ["solvers"] } ] }, @@ -433,11 +371,7 @@ }, "type": { "type": "string", - "enum": [ - "none", - "opensearch", - "loki" - ], + "enum": ["none", "opensearch", "loki"], "description": "The type of the logging, must be ***none***, ***opensearch*** or ***loki***" }, "opensearch": { @@ -456,9 +390,7 @@ "$ref": "#/$defs/Spec.Distribution.Modules.Logging.Operator" } }, - "required": [ - "type" - ], + "required": ["type"], "allOf": [ { "if": { @@ -469,9 +401,7 @@ } }, "then": { - "required": [ - "opensearch" - ] + "required": ["opensearch"] } } ] @@ -482,10 +412,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "single", - "triple" - ], + "enum": ["single", "triple"], "description": "The type of the opensearch, must be ***single*** or ***triple***" }, "resources": { @@ -499,9 +426,7 @@ "$ref": "#/$defs/Types.FuryModuleComponentOverrides" } }, - "required": [ - "type" - ] + "required": ["type"] }, "Spec.Distribution.Modules.Logging.Cerebro": { "type": "object", @@ -545,10 +470,7 @@ "properties": { "backend": { "type": "string", - "enum": [ - "minio", - "externalEndpoint" - ] + "enum": ["minio", "externalEndpoint"] }, "externalEndpoint": { "type": "object", @@ -597,12 +519,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "none", - "prometheus", - "prometheusAgent", - "mimir" - ], + "enum": ["none", "prometheus", "prometheusAgent", "mimir"], "description": "The type of the monitoring, must be ***none***, ***prometheus***, ***prometheusAgent*** or ***mimir***.\n\n- `none`: will disable the whole monitoring stack.\n- `prometheus`: will install Prometheus Operator and a preconfigured Prometheus instace, 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.\n- `prometheusAgent`: wil 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.\n- `mimir`: will install the same as the `prometheus` option, and in addition Grafana Mimir that allows for longer retention of metrics and the usage of Object Storage." }, "overrides": { @@ -636,9 +553,7 @@ "$ref": "#/$defs/Spec.Distribution.Modules.Monitoring.Minio" } }, - "required": [ - "type" - ] + "required": ["type"] }, "Spec.Distribution.Modules.Monitoring.Prometheus": { "type": "object", @@ -660,7 +575,7 @@ "description": "The storage size for the k8s Prometheus instance." }, "remoteWrite": { - "desciption": "Set this option to ship the collected metrics to a remote Prometheus receiver.\n\n`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).", + "description": "Set this option to ship the collected metrics to a remote Prometheus receiver.\n\n`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).", "type": "array", "items": { "type": "object" @@ -676,7 +591,7 @@ "$ref": "#/$defs/Types.KubeResources" }, "remoteWrite": { - "desciption": "Set this option to ship the collected metrics to a remote Prometheus receiver.\n\n`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).", + "description": "Set this option to ship the collected metrics to a remote Prometheus receiver.\n\n`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).", "type": "array", "items": { "type": "object" @@ -748,10 +663,7 @@ }, "backend": { "type": "string", - "enum": [ - "minio", - "externalEndpoint" - ], + "enum": ["minio", "externalEndpoint"], "description": "The backend for the mimir pods, must be ***minio*** or ***externalEndpoint***" }, "externalEndpoint": { @@ -821,10 +733,7 @@ }, "type": { "type": "string", - "enum": [ - "none", - "tempo" - ], + "enum": ["none", "tempo"], "description": "The type of tracing to use, either ***none*** or ***tempo***" }, "tempo": { @@ -834,9 +743,7 @@ "$ref": "#/$defs/Spec.Distribution.Modules.Tracing.Minio" } }, - "required": [ - "type" - ] + "required": ["type"] }, "Spec.Distribution.Modules.Tracing.Tempo": { "type": "object", @@ -848,10 +755,7 @@ }, "backend": { "type": "string", - "enum": [ - "minio", - "externalEndpoint" - ], + "enum": ["minio", "externalEndpoint"], "description": "The backend for the tempo pods, must be ***minio*** or ***externalEndpoint***" }, "externalEndpoint": { @@ -927,17 +831,11 @@ }, "type": { "type": "string", - "enum": [ - "none", - "calico", - "cilium" - ], + "enum": ["none", "calico", "cilium"], "description": "The type of networking to use, either ***none***, ***calico*** or ***cilium***" } }, - "required": [ - "type" - ], + "required": ["type"], "allOf": [ { "if": { @@ -948,9 +846,7 @@ } }, "then": { - "required": [ - "cilium" - ] + "required": ["cilium"] } } ] @@ -978,10 +874,7 @@ "$ref": "#/$defs/Types.FuryModuleComponentOverrides" } }, - "required": [ - "podCidr", - "maskSize" - ] + "required": ["podCidr", "maskSize"] }, "Spec.Distribution.Modules.Policy": { "type": "object", @@ -992,11 +885,7 @@ }, "type": { "type": "string", - "enum": [ - "none", - "gatekeeper", - "kyverno" - ], + "enum": ["none", "gatekeeper", "kyverno"], "description": "The type of security to use, either ***none***, ***gatekeeper*** or ***kyverno***" }, "gatekeeper": { @@ -1006,9 +895,7 @@ "$ref": "#/$defs/Spec.Distribution.Modules.Policy.Kyverno" } }, - "required": [ - "type" - ], + "required": ["type"], "allOf": [ { "if": { @@ -1019,9 +906,7 @@ } }, "then": { - "required": [ - "gatekeeper" - ] + "required": ["gatekeeper"] } }, { @@ -1033,9 +918,7 @@ } }, "then": { - "required": [ - "kyverno" - ] + "required": ["kyverno"] } } ] @@ -1053,11 +936,7 @@ }, "enforcementAction": { "type": "string", - "enum": [ - "deny", - "dryrun", - "warn" - ], + "enum": ["deny", "dryrun", "warn"], "description": "The enforcement action to use for the gatekeeper module" }, "installDefaultPolicies": { @@ -1068,10 +947,7 @@ "$ref": "#/$defs/Types.FuryModuleComponentOverrides" } }, - "required": [ - "enforcementAction", - "installDefaultPolicies" - ] + "required": ["enforcementAction", "installDefaultPolicies"] }, "Spec.Distribution.Modules.Policy.Kyverno": { "type": "object", @@ -1086,10 +962,7 @@ }, "validationFailureAction": { "type": "string", - "enum": [ - "audit", - "enforce" - ], + "enum": ["audit", "enforce"], "description": "The validation failure action to use for the kyverno module" }, "installDefaultPolicies": { @@ -1100,10 +973,7 @@ "$ref": "#/$defs/Types.FuryModuleComponentOverrides" } }, - "required": [ - "validationFailureAction", - "installDefaultPolicies" - ] + "required": ["validationFailureAction", "installDefaultPolicies"] }, "Spec.Distribution.Modules.Dr": { "type": "object", @@ -1114,19 +984,14 @@ }, "type": { "type": "string", - "enum": [ - "none", - "on-premises" - ], + "enum": ["none", "on-premises"], "description": "The type of the DR, must be ***none*** or ***on-premises***" }, "velero": { "$ref": "#/$defs/Spec.Distribution.Modules.Dr.Velero" } }, - "required": [ - "type" - ], + "required": ["type"], "if": { "properties": { "type": { @@ -1135,10 +1000,7 @@ } }, "then": { - "required": [ - "type", - "velero" - ] + "required": ["type", "velero"] } }, "Spec.Distribution.Modules.Dr.Velero": { @@ -1151,10 +1013,7 @@ }, "backend": { "type": "string", - "enum": [ - "minio", - "externalEndpoint" - ], + "enum": ["minio", "externalEndpoint"], "description": "The backend for velero" }, "externalEndpoint": { @@ -1209,9 +1068,7 @@ "$ref": "#/$defs/Spec.Distribution.Modules.Auth.Dex" } }, - "required": [ - "provider" - ], + "required": ["provider"], "allOf": [ { "if": { @@ -1226,11 +1083,7 @@ } }, "then": { - "required": [ - "dex", - "pomerium", - "baseDomain" - ] + "required": ["dex", "pomerium", "baseDomain"] }, "else": { "properties": { @@ -1258,9 +1111,7 @@ "then": { "properties": { "provider": { - "required": [ - "basicAuth" - ] + "required": ["basicAuth"] } } }, @@ -1285,10 +1136,7 @@ "description": "The node selector to use to place the pods for the auth module" }, "tolerations": { - "type": [ - "array", - "null" - ], + "type": ["array", "null"], "items": { "$ref": "#/$defs/Types.KubeToleration" }, @@ -1315,10 +1163,7 @@ "description": "The ingress class of the ingress" } }, - "required": [ - "host", - "ingressClass" - ] + "required": ["host", "ingressClass"] }, "Spec.Distribution.Modules.Auth.Provider": { "type": "object", @@ -1326,20 +1171,14 @@ "properties": { "type": { "type": "string", - "enum": [ - "none", - "basicAuth", - "sso" - ], + "enum": ["none", "basicAuth", "sso"], "description": "The type of the provider, must be ***none***, ***sso*** or ***basicAuth***" }, "basicAuth": { "$ref": "#/$defs/Spec.Distribution.Modules.Auth.Provider.BasicAuth" } }, - "required": [ - "type" - ] + "required": ["type"] }, "Spec.Distribution.Modules.Auth.Provider.BasicAuth": { "type": "object", @@ -1354,10 +1193,7 @@ "description": "The password for the basic auth" } }, - "required": [ - "username", - "password" - ] + "required": ["username", "password"] }, "Spec.Distribution.Modules.Auth.Pomerium": { "type": "object", @@ -1374,10 +1210,7 @@ "$ref": "#/$defs/Types.FuryModuleComponentOverrides" } }, - "required": [ - "secrets", - "policy" - ] + "required": ["secrets", "policy"] }, "Spec.Distribution.Modules.Auth.Pomerium.Secrets": { "type": "object", @@ -1396,11 +1229,7 @@ "description": "The shared secret for pomerium" } }, - "required": [ - "COOKIE_SECRET", - "IDP_CLIENT_SECRET", - "SHARED_SECRET" - ] + "required": ["COOKIE_SECRET", "IDP_CLIENT_SECRET", "SHARED_SECRET"] }, "Spec.Distribution.Modules.Auth.Dex": { "type": "object", @@ -1418,9 +1247,7 @@ "$ref": "#/$defs/Types.FuryModuleComponentOverrides" } }, - "required": [ - "connectors" - ] + "required": ["connectors"] }, "Types.SemVer": { "type": "string", @@ -1469,10 +1296,7 @@ } }, "Types.KubeNodeSelector": { - "type": [ - "object", - "null" - ], + "type": ["object", "null"], "additionalProperties": { "type": "string" } @@ -1483,18 +1307,11 @@ "properties": { "effect": { "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] + "enum": ["NoSchedule", "PreferNoSchedule", "NoExecute"] }, "operator": { "type": "string", - "enum": [ - "Exists", - "Equal" - ] + "enum": ["Exists", "Equal"] }, "key": { "type": "string", @@ -1505,20 +1322,13 @@ "description": "The value of the toleration" } }, - "required": [ - "effect", - "key" - ], + "required": ["effect", "key"], "anyOf": [ { - "required": [ - "operator" - ] + "required": ["operator"] }, { - "required": [ - "value" - ] + "required": ["value"] } ] }, @@ -1565,10 +1375,7 @@ "description": "The node selector to use to place the pods for the security module" }, "tolerations": { - "type": [ - "array", - "null" - ], + "type": ["array", "null"], "items": { "$ref": "#/$defs/Types.KubeToleration" }, @@ -1591,10 +1398,7 @@ "description": "The node selector to use to place the pods for the minio module" }, "tolerations": { - "type": [ - "array", - "null" - ], + "type": ["array", "null"], "items": { "$ref": "#/$defs/Types.KubeToleration" }, @@ -1621,4 +1425,4 @@ } } } -} \ No newline at end of file +} diff --git a/schemas/public/onpremises-kfd-v1alpha2.json b/schemas/public/onpremises-kfd-v1alpha2.json index 0859d0bb..0bfdab10 100644 --- a/schemas/public/onpremises-kfd-v1alpha2.json +++ b/schemas/public/onpremises-kfd-v1alpha2.json @@ -9,9 +9,7 @@ }, "kind": { "type": "string", - "enum": [ - "OnPremises" - ] + "enum": ["OnPremises"] }, "metadata": { "$ref": "#/$defs/Metadata" @@ -21,12 +19,7 @@ } }, "additionalProperties": false, - "required": [ - "apiVersion", - "kind", - "metadata", - "spec" - ], + "required": ["apiVersion", "kind", "metadata", "spec"], "$defs": { "Metadata": { "type": "object", @@ -38,9 +31,7 @@ "maxLength": 56 } }, - "required": [ - "name" - ] + "required": ["name"] }, "Spec": { "type": "object", @@ -60,10 +51,7 @@ "$ref": "./spec-plugins.json" } }, - "required": [ - "distributionVersion", - "distribution" - ] + "required": ["distributionVersion", "distribution"] }, "Spec.Kubernetes": { "type": "object", @@ -136,10 +124,7 @@ "description": "The path to the private key to use to connect to the nodes" } }, - "required": [ - "username", - "keyPath" - ] + "required": ["username", "keyPath"] }, "Spec.Kubernetes.Proxy": { "type": "object", @@ -185,9 +170,7 @@ "description": "The additional config to use" } }, - "required": [ - "enabled" - ], + "required": ["enabled"], "if": { "properties": { "enabled": { @@ -196,11 +179,7 @@ } }, "then": { - "required": [ - "hosts", - "keepalived", - "stats" - ] + "required": ["hosts", "keepalived", "stats"] } }, "Spec.Kubernetes.LoadBalancers.Host": { @@ -216,10 +195,7 @@ "description": "The IP of the host" } }, - "required": [ - "name", - "ip" - ] + "required": ["name", "ip"] }, "Spec.Kubernetes.LoadBalancers.Keepalived": { "type": "object", @@ -246,9 +222,7 @@ "description": "The passphrase to use" } }, - "required": [ - "enabled" - ], + "required": ["enabled"], "if": { "properties": { "enabled": { @@ -257,12 +231,7 @@ } }, "then": { - "required": [ - "interface", - "ip", - "virtualRouterId", - "passphrase" - ] + "required": ["interface", "ip", "virtualRouterId", "passphrase"] } }, "Spec.Kubernetes.LoadBalancers.Stats": { @@ -278,10 +247,7 @@ "description": "The password to use" } }, - "required": [ - "username", - "password" - ] + "required": ["username", "password"] }, "Spec.Kubernetes.Masters": { "type": "object", @@ -294,9 +260,7 @@ } } }, - "required": [ - "hosts" - ] + "required": ["hosts"] }, "Spec.Kubernetes.Masters.Host": { "type": "object", @@ -311,10 +275,7 @@ "description": "The IP of the host" } }, - "required": [ - "name", - "ip" - ] + "required": ["name", "ip"] }, "Spec.Kubernetes.Nodes": { "type": "array", @@ -338,19 +299,13 @@ } }, "taints": { - "type": [ - "array", - "null" - ], + "type": ["array", "null"], "items": { "$ref": "#/$defs/Types.KubeTaints" } } }, - "required": [ - "name", - "hosts" - ] + "required": ["name", "hosts"] }, "Spec.Kubernetes.Nodes.Node.Host": { "type": "object", @@ -363,10 +318,7 @@ "type": "string" } }, - "required": [ - "name", - "ip" - ] + "required": ["name", "ip"] }, "Spec.Kubernetes.AdvancedAnsible": { "type": "object", @@ -550,12 +502,7 @@ "description": "The gpg key id of the apt dependency" } }, - "required": [ - "name", - "repo", - "gpg_key", - "gpg_key_id" - ] + "required": ["name", "repo", "gpg_key", "gpg_key_id"] }, "yum": { "type": "object", @@ -608,22 +555,16 @@ "$ref": "../public/spec-distribution-custom-patches.json" } }, - "required": [ - "modules" - ], + "required": ["modules"], "if": { "allOf": [ { - "required": [ - "common" - ] + "required": ["common"] }, { "properties": { "common": { - "required": [ - "provider" - ] + "required": ["provider"] } } }, @@ -632,9 +573,7 @@ "common": { "properties": { "provider": { - "required": [ - "type" - ] + "required": ["type"] } } } @@ -691,9 +630,7 @@ "description": "The type of the provider" } }, - "required": [ - "type" - ] + "required": ["type"] }, "Spec.Distribution.Modules": { "type": "object", @@ -724,12 +661,7 @@ "$ref": "#/$defs/Spec.Distribution.Modules.Policy" } }, - "required": [ - "dr", - "ingress", - "logging", - "policy" - ] + "required": ["dr", "ingress", "logging", "policy"] }, "Spec.Distribution.Modules.Ingress": { "type": "object", @@ -768,15 +700,10 @@ } }, "then": { - "required": [ - "certManager" - ] + "required": ["certManager"] } }, - "required": [ - "baseDomain", - "nginx" - ] + "required": ["baseDomain", "nginx"] }, "Spec.Distribution.Modules.Ingress.Overrides": { "type": "object", @@ -822,11 +749,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "none", - "single", - "dual" - ], + "enum": ["none", "single", "dual"], "description": "The type of the nginx ingress controller, must be ***none***, ***single*** or ***dual***" }, "tls": { @@ -836,9 +759,7 @@ "$ref": "#/$defs/Types.FuryModuleComponentOverrides" } }, - "required": [ - "type" - ] + "required": ["type"] }, "Spec.Distribution.Modules.Ingress.Nginx.TLS": { "type": "object", @@ -846,20 +767,14 @@ "properties": { "provider": { "type": "string", - "enum": [ - "certManager", - "secret", - "none" - ], + "enum": ["certManager", "secret", "none"], "description": "The provider of the TLS certificate, must be ***none***, ***certManager*** or ***secret***" }, "secret": { "$ref": "#/$defs/Spec.Distribution.Modules.Ingress.Nginx.TLS.Secret" } }, - "required": [ - "provider" - ], + "required": ["provider"], "if": { "properties": { "provider": { @@ -868,9 +783,7 @@ } }, "then": { - "required": [ - "secret" - ] + "required": ["secret"] } }, "Spec.Distribution.Modules.Ingress.Nginx.TLS.Secret": { @@ -888,11 +801,7 @@ "type": "string" } }, - "required": [ - "ca", - "cert", - "key" - ] + "required": ["ca", "cert", "key"] }, "Spec.Distribution.Modules.Ingress.CertManager": { "type": "object", @@ -905,9 +814,7 @@ "$ref": "#/$defs/Types.FuryModuleComponentOverrides" } }, - "required": [ - "clusterIssuer" - ] + "required": ["clusterIssuer"] }, "Spec.Distribution.Modules.Ingress.CertManager.ClusterIssuer": { "type": "object", @@ -924,9 +831,7 @@ }, "type": { "type": "string", - "enum": [ - "http01" - ], + "enum": ["http01"], "description": "The type of the cluster issuer, must be ***http01***" }, "solvers": { @@ -934,20 +839,13 @@ "description": "The custom solvers configurations" } }, - "required": [ - "name", - "email" - ], + "required": ["name", "email"], "oneOf": [ { - "required": [ - "type" - ] + "required": ["type"] }, { - "required": [ - "solvers" - ] + "required": ["solvers"] } ] }, @@ -960,11 +858,7 @@ }, "type": { "type": "string", - "enum": [ - "none", - "opensearch", - "loki" - ], + "enum": ["none", "opensearch", "loki"], "description": "The type of the logging, must be ***none***, ***opensearch*** or ***loki***" }, "opensearch": { @@ -983,9 +877,7 @@ "$ref": "#/$defs/Spec.Distribution.Modules.Logging.Operator" } }, - "required": [ - "type" - ], + "required": ["type"], "allOf": [ { "if": { @@ -996,9 +888,7 @@ } }, "then": { - "required": [ - "opensearch" - ] + "required": ["opensearch"] } } ] @@ -1009,10 +899,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "single", - "triple" - ], + "enum": ["single", "triple"], "description": "The type of the opensearch, must be ***single*** or ***triple***" }, "resources": { @@ -1026,9 +913,7 @@ "$ref": "#/$defs/Types.FuryModuleComponentOverrides" } }, - "required": [ - "type" - ] + "required": ["type"] }, "Spec.Distribution.Modules.Logging.Cerebro": { "type": "object", @@ -1072,10 +957,7 @@ "properties": { "backend": { "type": "string", - "enum": [ - "minio", - "externalEndpoint" - ] + "enum": ["minio", "externalEndpoint"] }, "externalEndpoint": { "type": "object", @@ -1124,12 +1006,7 @@ "properties": { "type": { "type": "string", - "enum": [ - "none", - "prometheus", - "prometheusAgent", - "mimir" - ], + "enum": ["none", "prometheus", "prometheusAgent", "mimir"], "description": "The type of the monitoring, must be ***none***, ***prometheus***, ***prometheusAgent*** or ***mimir***.\n\n- `none`: will disable the whole monitoring stack.\n- `prometheus`: will install Prometheus Operator and a preconfigured Prometheus instace, 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.\n- `prometheusAgent`: wil 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.\n- `mimir`: will install the same as the `prometheus` option, and in addition Grafana Mimir that allows for longer retention of metrics and the usage of Object Storage." }, "overrides": { @@ -1163,9 +1040,7 @@ "$ref": "#/$defs/Spec.Distribution.Modules.Monitoring.Minio" } }, - "required": [ - "type" - ] + "required": ["type"] }, "Spec.Distribution.Modules.Monitoring.Prometheus": { "type": "object", @@ -1187,7 +1062,7 @@ "description": "The storage size for the k8s Prometheus instance." }, "remoteWrite": { - "desciption": "Set this option to ship the collected metrics to a remote Prometheus receiver.\n\n`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).", + "description": "Set this option to ship the collected metrics to a remote Prometheus receiver.\n\n`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).", "type": "array", "items": { "type": "object" @@ -1203,7 +1078,7 @@ "$ref": "#/$defs/Types.KubeResources" }, "remoteWrite": { - "desciption": "Set this option to ship the collected metrics to a remote Prometheus receiver.\n\n`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).", + "description": "Set this option to ship the collected metrics to a remote Prometheus receiver.\n\n`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).", "type": "array", "items": { "type": "object" @@ -1275,10 +1150,7 @@ }, "backend": { "type": "string", - "enum": [ - "minio", - "externalEndpoint" - ], + "enum": ["minio", "externalEndpoint"], "description": "The backend for the mimir pods, must be ***minio*** or ***externalEndpoint***" }, "externalEndpoint": { @@ -1348,10 +1220,7 @@ }, "type": { "type": "string", - "enum": [ - "none", - "tempo" - ], + "enum": ["none", "tempo"], "description": "The type of tracing to use, either ***none*** or ***tempo***" }, "tempo": { @@ -1361,9 +1230,7 @@ "$ref": "#/$defs/Spec.Distribution.Modules.Tracing.Minio" } }, - "required": [ - "type" - ] + "required": ["type"] }, "Spec.Distribution.Modules.Tracing.Tempo": { "type": "object", @@ -1375,10 +1242,7 @@ }, "backend": { "type": "string", - "enum": [ - "minio", - "externalEndpoint" - ], + "enum": ["minio", "externalEndpoint"], "description": "The backend for the tempo pods, must be ***minio*** or ***externalEndpoint***" }, "externalEndpoint": { @@ -1454,16 +1318,11 @@ }, "type": { "type": "string", - "enum": [ - "calico", - "cilium" - ], + "enum": ["calico", "cilium"], "description": "The type of networking to use, either ***calico*** or ***cilium***" } }, - "required": [ - "type" - ] + "required": ["type"] }, "Spec.Distribution.Modules.Networking.TigeraOperator": { "type": "object", @@ -1500,11 +1359,7 @@ }, "type": { "type": "string", - "enum": [ - "none", - "gatekeeper", - "kyverno" - ], + "enum": ["none", "gatekeeper", "kyverno"], "description": "The type of security to use, either ***none***, ***gatekeeper*** or ***kyverno***" }, "gatekeeper": { @@ -1514,9 +1369,7 @@ "$ref": "#/$defs/Spec.Distribution.Modules.Policy.Kyverno" } }, - "required": [ - "type" - ], + "required": ["type"], "allOf": [ { "if": { @@ -1527,9 +1380,7 @@ } }, "then": { - "required": [ - "gatekeeper" - ] + "required": ["gatekeeper"] } }, { @@ -1541,9 +1392,7 @@ } }, "then": { - "required": [ - "kyverno" - ] + "required": ["kyverno"] } } ] @@ -1561,11 +1410,7 @@ }, "enforcementAction": { "type": "string", - "enum": [ - "deny", - "dryrun", - "warn" - ], + "enum": ["deny", "dryrun", "warn"], "description": "The enforcement action to use for the gatekeeper module" }, "installDefaultPolicies": { @@ -1576,10 +1421,7 @@ "$ref": "#/$defs/Types.FuryModuleComponentOverrides" } }, - "required": [ - "enforcementAction", - "installDefaultPolicies" - ] + "required": ["enforcementAction", "installDefaultPolicies"] }, "Spec.Distribution.Modules.Policy.Kyverno": { "type": "object", @@ -1594,10 +1436,7 @@ }, "validationFailureAction": { "type": "string", - "enum": [ - "audit", - "enforce" - ], + "enum": ["audit", "enforce"], "description": "The validation failure action to use for the kyverno module" }, "installDefaultPolicies": { @@ -1608,10 +1447,7 @@ "$ref": "#/$defs/Types.FuryModuleComponentOverrides" } }, - "required": [ - "validationFailureAction", - "installDefaultPolicies" - ] + "required": ["validationFailureAction", "installDefaultPolicies"] }, "Spec.Distribution.Modules.Dr": { "type": "object", @@ -1622,19 +1458,14 @@ }, "type": { "type": "string", - "enum": [ - "none", - "on-premises" - ], + "enum": ["none", "on-premises"], "description": "The type of the DR, must be ***none*** or ***on-premises***" }, "velero": { "$ref": "#/$defs/Spec.Distribution.Modules.Dr.Velero" } }, - "required": [ - "type" - ], + "required": ["type"], "if": { "properties": { "type": { @@ -1643,10 +1474,7 @@ } }, "then": { - "required": [ - "type", - "velero" - ] + "required": ["type", "velero"] } }, "Spec.Distribution.Modules.Dr.Velero": { @@ -1659,10 +1487,7 @@ }, "backend": { "type": "string", - "enum": [ - "minio", - "externalEndpoint" - ], + "enum": ["minio", "externalEndpoint"], "description": "The backend for velero" }, "externalEndpoint": { @@ -1720,9 +1545,7 @@ "$ref": "#/$defs/Spec.Distribution.Modules.Auth.OIDCKubernetesAuth" } }, - "required": [ - "provider" - ], + "required": ["provider"], "allOf": [ { "if": { @@ -1737,11 +1560,7 @@ } }, "then": { - "required": [ - "dex", - "pomerium", - "baseDomain" - ] + "required": ["dex", "pomerium", "baseDomain"] } }, { @@ -1759,9 +1578,7 @@ "then": { "properties": { "provider": { - "required": [ - "basicAuth" - ] + "required": ["basicAuth"] } } } @@ -1792,10 +1609,7 @@ } ], "then": { - "required": [ - "baseDomain", - "dex" - ] + "required": ["baseDomain", "dex"] } } ] @@ -1809,10 +1623,7 @@ "description": "The node selector to use to place the pods for the auth module" }, "tolerations": { - "type": [ - "array", - "null" - ], + "type": ["array", "null"], "items": { "$ref": "#/$defs/Types.KubeToleration" }, @@ -1839,10 +1650,7 @@ "description": "The ingress class of the ingress" } }, - "required": [ - "host", - "ingressClass" - ] + "required": ["host", "ingressClass"] }, "Spec.Distribution.Modules.Auth.Provider": { "type": "object", @@ -1850,20 +1658,14 @@ "properties": { "type": { "type": "string", - "enum": [ - "none", - "basicAuth", - "sso" - ], + "enum": ["none", "basicAuth", "sso"], "description": "The type of the provider, must be ***none***, ***sso*** or ***basicAuth***" }, "basicAuth": { "$ref": "#/$defs/Spec.Distribution.Modules.Auth.Provider.BasicAuth" } }, - "required": [ - "type" - ] + "required": ["type"] }, "Spec.Distribution.Modules.Auth.Provider.BasicAuth": { "type": "object", @@ -1878,10 +1680,7 @@ "description": "The password for the basic auth" } }, - "required": [ - "username", - "password" - ] + "required": ["username", "password"] }, "Spec.Distribution.Modules.Auth.Pomerium": { "type": "object", @@ -1898,10 +1697,7 @@ "$ref": "#/$defs/Types.FuryModuleComponentOverrides" } }, - "required": [ - "secrets", - "policy" - ] + "required": ["secrets", "policy"] }, "Spec.Distribution.Modules.Auth.Pomerium.Secrets": { "type": "object", @@ -1920,11 +1716,7 @@ "description": "The shared secret for pomerium" } }, - "required": [ - "COOKIE_SECRET", - "IDP_CLIENT_SECRET", - "SHARED_SECRET" - ] + "required": ["COOKIE_SECRET", "IDP_CLIENT_SECRET", "SHARED_SECRET"] }, "Spec.Distribution.Modules.Auth.Dex": { "type": "object", @@ -1942,9 +1734,7 @@ "$ref": "#/$defs/Types.FuryModuleComponentOverrides" } }, - "required": [ - "connectors" - ] + "required": ["connectors"] }, "Spec.Distribution.Modules.Auth.OIDCKubernetesAuth": { "type": "object", @@ -1990,9 +1780,7 @@ "description": "The namespace to set in the context of the kubeconfig file" } }, - "required": [ - "enabled" - ], + "required": ["enabled"], "if": { "properties": { "enabled": { @@ -2001,11 +1789,7 @@ } }, "then": { - "required": [ - "clientID", - "clientSecret", - "sessionSecurityKey" - ] + "required": ["clientID", "clientSecret", "sessionSecurityKey"] } }, "Types.SemVer": { @@ -2053,11 +1837,7 @@ "properties": { "effect": { "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] + "enum": ["NoSchedule", "PreferNoSchedule", "NoExecute"] }, "key": { "type": "string" @@ -2066,17 +1846,10 @@ "type": "string" } }, - "required": [ - "effect", - "key", - "value" - ] + "required": ["effect", "key", "value"] }, "Types.KubeNodeSelector": { - "type": [ - "object", - "null" - ], + "type": ["object", "null"], "additionalProperties": { "type": "string" } @@ -2087,18 +1860,11 @@ "properties": { "effect": { "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] + "enum": ["NoSchedule", "PreferNoSchedule", "NoExecute"] }, "operator": { "type": "string", - "enum": [ - "Exists", - "Equal" - ] + "enum": ["Exists", "Equal"] }, "key": { "type": "string", @@ -2109,20 +1875,13 @@ "description": "The value of the toleration" } }, - "required": [ - "effect", - "key" - ], + "required": ["effect", "key"], "anyOf": [ { - "required": [ - "operator" - ] + "required": ["operator"] }, { - "required": [ - "value" - ] + "required": ["value"] } ] }, @@ -2169,10 +1928,7 @@ "description": "The node selector to use to place the pods for the tracing module" }, "tolerations": { - "type": [ - "array", - "null" - ], + "type": ["array", "null"], "items": { "$ref": "#/$defs/Types.KubeToleration" }, @@ -2195,10 +1951,7 @@ "description": "The node selector to use to place the pods for the minio module" }, "tolerations": { - "type": [ - "array", - "null" - ], + "type": ["array", "null"], "items": { "$ref": "#/$defs/Types.KubeToleration" }, @@ -2225,4 +1978,4 @@ } } } -} \ No newline at end of file +}