Add validation phases
This patch introduces ability to validate phases using kubeval. Appropriate functionality was embedded into phase/plan validate command. Change-Id: I1e1ccae2b7e4948bdc97a199c96c07a3eb7292b2 Signed-off-by: Ruslan Aliev <raliev@mirantis.com> Relates-To: #503 Closes: #2 Closes: #19changes/81/780681/23
parent
3c53dcabdf
commit
31995eaf9d
@ -0,0 +1,2 @@
|
||||
generators:
|
||||
- template.yaml
|
@ -0,0 +1,26 @@
|
||||
apiVersion: airshipit.org/v1alpha1
|
||||
kind: Templater
|
||||
metadata:
|
||||
name: validator-config-patch-template
|
||||
annotations:
|
||||
config.kubernetes.io/function: |
|
||||
container:
|
||||
image: quay.io/airshipit/templater:v2
|
||||
envs:
|
||||
- AIRSHIPCTL_CURRENT_PHASE
|
||||
- AIRSHIPCTL_CURRENT_PLAN
|
||||
template: |
|
||||
{{- $currentPhase := env "AIRSHIPCTL_CURRENT_PHASE" }}
|
||||
{{- $currentPlan := env "AIRSHIPCTL_CURRENT_PLAN" }}
|
||||
apiVersion: builtin
|
||||
kind: PatchStrategicMergeTransformer
|
||||
metadata:
|
||||
name: smp
|
||||
patches: |-
|
||||
---
|
||||
apiVersion: airshipit.org/v1alpha1
|
||||
kind: KubevalOptions
|
||||
metadata:
|
||||
name: kubeval-options
|
||||
phaseName: {{ $currentPhase }}
|
||||
planName: {{ $currentPlan }}
|
@ -0,0 +1,73 @@
|
||||
apiVersion: airshipit.org/v1alpha1
|
||||
kind: KubevalOptions
|
||||
metadata:
|
||||
name: kubeval-options
|
||||
labels:
|
||||
airshipit.org/deploy-k8s: "false"
|
||||
siteConfig:
|
||||
strict: true
|
||||
kubernetesVersion: "1.16.0"
|
||||
ignoreMissingSchemas: false
|
||||
planName: AIRSHIPCTL_CURRENT_PLAN
|
||||
planConfigs:
|
||||
phasePlan:
|
||||
kindsToSkip:
|
||||
- Clusterctl
|
||||
- VariableCatalogue
|
||||
crdList:
|
||||
- function/airshipctl-schemas/versions-catalogue.yaml
|
||||
- function/airshipctl-schemas/network-catalogue.yaml
|
||||
phaseName: AIRSHIPCTL_CURRENT_PHASE
|
||||
phaseConfigs:
|
||||
initinfra-ephemeral:
|
||||
kindsToSkip:
|
||||
- Clusterctl
|
||||
- VariableCatalogue
|
||||
crdList:
|
||||
- function/airshipctl-schemas/versions-catalogue.yaml
|
||||
- function/airshipctl-schemas/network-catalogue.yaml
|
||||
clusterctl-init-ephemeral:
|
||||
crdList:
|
||||
- function/cert-manager/v1.1.0/upstream/cert-manager.yaml
|
||||
controlplane-ephemeral:
|
||||
kindsToSkip:
|
||||
- VariableCatalogue
|
||||
crdList:
|
||||
- function/airshipctl-schemas/network-catalogue.yaml
|
||||
- function/airshipctl-schemas/versions-catalogue.yaml
|
||||
- function/capi/v0.3.7/crd/bases/cluster.x-k8s.io_clusters.yaml
|
||||
- function/cacpk/v0.3.7/crd/bases/controlplane.cluster.x-k8s.io_kubeadmcontrolplanes.yaml
|
||||
- function/capm3/v0.4.0/crd/bases/infrastructure.cluster.x-k8s.io_metal3clusters.yaml
|
||||
- function/capm3/v0.4.0/crd/bases/infrastructure.cluster.x-k8s.io_metal3machinetemplates.yaml
|
||||
- global/crd/baremetal-operator/metal3.io_baremetalhosts_crd.yaml
|
||||
clusterctl-init-target:
|
||||
crdList:
|
||||
- function/cert-manager/v1.1.0/upstream/cert-manager.yaml
|
||||
initinfra-target:
|
||||
kindsToSkip:
|
||||
- Clusterctl
|
||||
- VariableCatalogue
|
||||
crdList:
|
||||
- function/airshipctl-schemas/network-catalogue.yaml
|
||||
- function/airshipctl-schemas/versions-catalogue.yaml
|
||||
workers-target:
|
||||
crdList:
|
||||
- global/crd/baremetal-operator/metal3.io_baremetalhosts_crd.yaml
|
||||
workers-classification:
|
||||
kindsToSkip:
|
||||
- VariableCatalogue
|
||||
crdList:
|
||||
- function/airshipctl-schemas/network-catalogue.yaml
|
||||
- function/airshipctl-schemas/versions-catalogue.yaml
|
||||
- function/cabpk/v0.3.7/crd/bases/bootstrap.cluster.x-k8s.io_kubeadmconfigtemplates.yaml
|
||||
- function/capi/v0.3.7/crd/bases/cluster.x-k8s.io_machinedeployments.yaml
|
||||
- function/capm3/v0.4.0/crd/bases/infrastructure.cluster.x-k8s.io_metal3machinetemplates.yaml
|
||||
- function/hwcc/crd/bases/metal3.io_hardwareclassifications.yaml
|
||||
workload-target:
|
||||
kindsToSkip:
|
||||
- VariableCatalogue
|
||||
crdList:
|
||||
- function/airshipctl-schemas/network-catalogue.yaml
|
||||
- function/airshipctl-schemas/versions-catalogue.yaml
|
||||
- function/flux/helm-controller/upstream/crd/bases/helm.toolkit.fluxcd.io_helmreleases.yaml
|
||||
- function/flux/source-controller/upstream/crd/bases/source.toolkit.fluxcd.io_helmrepositories.yaml
|
Loading…
Reference in New Issue