898 lines
22 KiB
YAML
898 lines
22 KiB
YAML
suite: ControlPlane StatefulSet
|
|
templates:
|
|
- statefulset.yaml
|
|
|
|
tests:
|
|
- it: should not create control-plane
|
|
set:
|
|
experimental:
|
|
isolatedControlPlane:
|
|
headless: true
|
|
asserts:
|
|
- hasDocuments:
|
|
count: 0
|
|
|
|
- it: image name
|
|
set:
|
|
controlPlane:
|
|
statefulSet:
|
|
image:
|
|
registry: "custom-registry.com"
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.containers[0].image
|
|
value: custom-registry.com/loft-sh/vcluster-pro:0.0.1
|
|
|
|
- it: defaultImageRegistry
|
|
set:
|
|
controlPlane:
|
|
advanced:
|
|
defaultImageRegistry: docker.io
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.containers[0].image
|
|
value: docker.io/loft-sh/vcluster-pro:0.0.1
|
|
|
|
- it: custom tag
|
|
set:
|
|
controlPlane:
|
|
statefulSet:
|
|
image:
|
|
repository: my-repo
|
|
tag: "custom-tag"
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.containers[0].image
|
|
value: ghcr.io/my-repo:custom-tag
|
|
|
|
- it: custom init container
|
|
set:
|
|
controlPlane:
|
|
distro:
|
|
k3s:
|
|
enabled: true
|
|
image:
|
|
registry: "ghcr.io"
|
|
repository: "test"
|
|
tag: "123"
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.initContainers[0].image
|
|
value: ghcr.io/test:123
|
|
|
|
- it: custom init container
|
|
set:
|
|
controlPlane:
|
|
distro:
|
|
k0s:
|
|
enabled: true
|
|
image:
|
|
registry: ""
|
|
repository: "k0s"
|
|
tag: "123"
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.initContainers[0].image
|
|
value: k0s:123
|
|
|
|
- it: disables serviceLinks for sts etcd pod
|
|
set:
|
|
controlPlane:
|
|
statefulSet:
|
|
enableServiceLinks: false
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.enableServiceLinks
|
|
value: false
|
|
|
|
- it: custom init container
|
|
set:
|
|
controlPlane:
|
|
distro:
|
|
k8s:
|
|
enabled: true
|
|
controllerManager:
|
|
image:
|
|
registry: ""
|
|
repository: "k8s-controller"
|
|
tag: "123"
|
|
apiServer:
|
|
image:
|
|
registry: ""
|
|
repository: "k8s-api"
|
|
tag: "456"
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.initContainers[1].image
|
|
value: k8s-controller:123
|
|
- equal:
|
|
path: spec.template.spec.initContainers[2].image
|
|
value: k8s-api:456
|
|
|
|
- it: custom init container
|
|
set:
|
|
controlPlane:
|
|
distro:
|
|
k8s:
|
|
enabled: true
|
|
controllerManager:
|
|
image:
|
|
repository: "k8s-controller"
|
|
tag: "123"
|
|
apiServer:
|
|
image:
|
|
repository: "k8s-api"
|
|
tag: "456"
|
|
advanced:
|
|
defaultImageRegistry: "bbb.com"
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.initContainers[1].image
|
|
value: bbb.com/k8s-controller:123
|
|
- equal:
|
|
path: spec.template.spec.initContainers[2].image
|
|
value: bbb.com/k8s-api:456
|
|
|
|
- it: name & defaults
|
|
release:
|
|
name: my-release
|
|
namespace: my-namespace
|
|
capabilities:
|
|
majorVersion: 1
|
|
minorVersion: 29
|
|
asserts:
|
|
- hasDocuments:
|
|
count: 1
|
|
- equal:
|
|
path: kind
|
|
value: StatefulSet
|
|
- lengthEqual:
|
|
path: spec.template.spec.containers
|
|
count: 1
|
|
- equal:
|
|
path: spec.template.spec.containers[0].image
|
|
value: ghcr.io/loft-sh/vcluster-pro:0.0.1
|
|
- contains:
|
|
path: spec.template.spec.containers[0].env
|
|
content:
|
|
name: VCLUSTER_NAME
|
|
value: my-release
|
|
- contains:
|
|
path: spec.template.spec.containers[0].volumeMounts
|
|
content:
|
|
name: data
|
|
mountPath: /data
|
|
- contains:
|
|
path: spec.template.spec.containers[0].volumeMounts
|
|
content:
|
|
name: binaries
|
|
mountPath: /binaries
|
|
- contains:
|
|
path: spec.template.spec.containers[0].volumeMounts
|
|
content:
|
|
name: certs
|
|
mountPath: /pki
|
|
- contains:
|
|
path: spec.template.spec.containers[0].volumeMounts
|
|
content:
|
|
name: helm-cache
|
|
mountPath: /.cache/helm
|
|
- equal:
|
|
path: metadata.name
|
|
value: my-release
|
|
- equal:
|
|
path: metadata.namespace
|
|
value: my-namespace
|
|
- equal:
|
|
path: spec.podManagementPolicy
|
|
value: Parallel
|
|
- equal:
|
|
path: spec.persistentVolumeClaimRetentionPolicy.whenDeleted
|
|
value: Retain
|
|
- equal:
|
|
path: spec.replicas
|
|
value: 1
|
|
- equal:
|
|
path: spec.template.metadata.labels.app
|
|
value: vcluster
|
|
- equal:
|
|
path: spec.template.spec.terminationGracePeriodSeconds
|
|
value: 10
|
|
- equal:
|
|
path: spec.volumeClaimTemplates[0].spec.accessModes[0]
|
|
value: ReadWriteOnce
|
|
- equal:
|
|
path: spec.volumeClaimTemplates[0].spec.resources.requests.storage
|
|
value: 5Gi
|
|
|
|
- it: fail when both backing stores are enabled
|
|
set:
|
|
controlPlane:
|
|
backingStore:
|
|
etcd:
|
|
embedded:
|
|
enabled: true
|
|
deploy:
|
|
enabled: true
|
|
asserts:
|
|
- failedTemplate:
|
|
errorMessage: "you can only enable one backingStore at the same time"
|
|
|
|
- it: not persistent when external etcd is enabled
|
|
set:
|
|
controlPlane:
|
|
backingStore:
|
|
etcd:
|
|
deploy:
|
|
enabled: true
|
|
asserts:
|
|
- equal:
|
|
path: kind
|
|
value: Deployment
|
|
- notExists:
|
|
path: spec.volumeClaimTemplates
|
|
|
|
- it: not persistent when k8s and external database
|
|
set:
|
|
controlPlane:
|
|
distro:
|
|
k8s:
|
|
enabled: true
|
|
backingStore:
|
|
database:
|
|
external:
|
|
enabled: true
|
|
asserts:
|
|
- equal:
|
|
path: kind
|
|
value: Deployment
|
|
- notExists:
|
|
path: spec.volumeClaimTemplates
|
|
|
|
- it: persistent when embedded database
|
|
set:
|
|
controlPlane:
|
|
distro:
|
|
k8s:
|
|
enabled: true
|
|
backingStore:
|
|
database:
|
|
embedded:
|
|
enabled: true
|
|
asserts:
|
|
- equal:
|
|
path: kind
|
|
value: StatefulSet
|
|
- lengthEqual:
|
|
path: spec.volumeClaimTemplates
|
|
count: 1
|
|
|
|
- it: persistent when k8s and embedded etcd
|
|
set:
|
|
controlPlane:
|
|
backingStore:
|
|
etcd:
|
|
embedded:
|
|
enabled: true
|
|
distro:
|
|
k8s:
|
|
enabled: true
|
|
asserts:
|
|
- equal:
|
|
path: kind
|
|
value: StatefulSet
|
|
- lengthEqual:
|
|
path: spec.volumeClaimTemplates
|
|
count: 1
|
|
|
|
- it: persistent when embedded database
|
|
asserts:
|
|
- equal:
|
|
path: kind
|
|
value: StatefulSet
|
|
- lengthEqual:
|
|
path: spec.volumeClaimTemplates
|
|
count: 1
|
|
|
|
- it: plugin 1
|
|
set:
|
|
plugins:
|
|
test:
|
|
image: test
|
|
plugin:
|
|
test123:
|
|
version: v2
|
|
image: test
|
|
asserts:
|
|
- lengthEqual:
|
|
path: spec.template.spec.volumes
|
|
count: 7
|
|
- lengthEqual:
|
|
path: spec.template.spec.initContainers
|
|
count: 5
|
|
|
|
- it: plugin volumes 2
|
|
set:
|
|
controlPlane:
|
|
distro:
|
|
k0s:
|
|
enabled: true
|
|
plugin:
|
|
test:
|
|
version: v2
|
|
image: test
|
|
asserts:
|
|
- equal:
|
|
path: kind
|
|
value: StatefulSet
|
|
- lengthEqual:
|
|
path: spec.template.spec.volumes
|
|
count: 8
|
|
- lengthEqual:
|
|
path: spec.template.spec.initContainers
|
|
count: 2
|
|
|
|
- it: plugin volumes 3
|
|
set:
|
|
plugin:
|
|
test:
|
|
image: test
|
|
asserts:
|
|
- lengthEqual:
|
|
path: spec.template.spec.volumes
|
|
count: 6
|
|
- lengthEqual:
|
|
path: spec.template.spec.initContainers
|
|
count: 3
|
|
|
|
- it: add volumes
|
|
set:
|
|
controlPlane:
|
|
distro:
|
|
k3s:
|
|
enabled: true
|
|
statefulSet:
|
|
persistence:
|
|
addVolumes:
|
|
- name: myVolume
|
|
asserts:
|
|
- contains:
|
|
path: spec.template.spec.volumes
|
|
content:
|
|
name: myVolume
|
|
- lengthEqual:
|
|
path: spec.template.spec.volumes
|
|
count: 8
|
|
|
|
- it: enable k8s
|
|
set:
|
|
controlPlane:
|
|
distro:
|
|
k8s:
|
|
enabled: true
|
|
asserts:
|
|
- equal:
|
|
path: kind
|
|
value: StatefulSet
|
|
- lengthEqual:
|
|
path: spec.volumeClaimTemplates
|
|
count: 1
|
|
|
|
- it: enable k8s with deploy etcd
|
|
set:
|
|
controlPlane:
|
|
distro:
|
|
k8s:
|
|
enabled: true
|
|
backingStore:
|
|
etcd:
|
|
deploy:
|
|
enabled: true
|
|
asserts:
|
|
- equal:
|
|
path: kind
|
|
value: Deployment
|
|
- notExists:
|
|
path: spec.volumeClaimTemplates
|
|
- contains:
|
|
path: spec.template.spec.volumes
|
|
content:
|
|
name: data
|
|
emptyDir: {}
|
|
|
|
- it: enable k8s
|
|
release:
|
|
name: my-release
|
|
namespace: my-namespace
|
|
set:
|
|
controlPlane:
|
|
distro:
|
|
k8s:
|
|
enabled: true
|
|
statefulSet:
|
|
persistence:
|
|
volumeClaim:
|
|
enabled: false
|
|
volumeClaimTemplates:
|
|
- metadata:
|
|
name: data
|
|
spec:
|
|
resources:
|
|
requests:
|
|
storage: 5Gi
|
|
asserts:
|
|
- equal:
|
|
path: kind
|
|
value: StatefulSet
|
|
- equal:
|
|
path: spec.serviceName
|
|
value: my-release-headless
|
|
- contains:
|
|
path: spec.volumeClaimTemplates
|
|
content:
|
|
metadata:
|
|
name: data
|
|
spec:
|
|
resources:
|
|
requests:
|
|
storage: 5Gi
|
|
|
|
- it: enable k8s
|
|
set:
|
|
controlPlane:
|
|
distro:
|
|
k8s:
|
|
enabled: true
|
|
release:
|
|
name: my-release
|
|
namespace: my-namespace
|
|
asserts:
|
|
- equal:
|
|
path: kind
|
|
value: StatefulSet
|
|
- equal:
|
|
path: spec.serviceName
|
|
value: my-release-headless
|
|
- lengthEqual:
|
|
path: spec.volumeClaimTemplates
|
|
count: 1
|
|
|
|
- it: enable k8s with deploy etcd
|
|
set:
|
|
controlPlane:
|
|
distro:
|
|
k8s:
|
|
enabled: true
|
|
backingStore:
|
|
etcd:
|
|
deploy:
|
|
enabled: true
|
|
asserts:
|
|
- equal:
|
|
path: kind
|
|
value: Deployment
|
|
- notExists:
|
|
path: spec.volumeClaimTemplates
|
|
- contains:
|
|
path: spec.template.spec.volumes
|
|
content:
|
|
name: data
|
|
emptyDir: {}
|
|
|
|
- it: enable k0s
|
|
set:
|
|
controlPlane:
|
|
backingStore:
|
|
etcd:
|
|
deploy:
|
|
enabled: true
|
|
distro:
|
|
k0s:
|
|
enabled: true
|
|
asserts:
|
|
- equal:
|
|
path: kind
|
|
value: Deployment
|
|
- notExists:
|
|
path: spec.volumeClaimTemplates
|
|
- contains:
|
|
path: spec.template.spec.volumes
|
|
content:
|
|
name: data
|
|
emptyDir: {}
|
|
|
|
- it: append distro env
|
|
set:
|
|
controlPlane:
|
|
distro:
|
|
k3s:
|
|
enabled: true
|
|
env:
|
|
- name: KEY
|
|
value: VALUE
|
|
asserts:
|
|
- equal:
|
|
path: kind
|
|
value: StatefulSet
|
|
- contains:
|
|
path: spec.template.spec.containers[0].env
|
|
content:
|
|
name: KEY
|
|
value: VALUE
|
|
|
|
- it: should correctly set labels on the statefulset
|
|
set:
|
|
controlPlane:
|
|
statefulSet:
|
|
labels:
|
|
my-label: my-value
|
|
|
|
asserts:
|
|
- equal:
|
|
path: kind
|
|
value: StatefulSet
|
|
- equal:
|
|
path: metadata.labels["my-label"]
|
|
value: "my-value"
|
|
|
|
- it: binariesVolume - should set to emptyDir by default
|
|
asserts:
|
|
- contains:
|
|
path: spec.template.spec.volumes
|
|
content:
|
|
name: binaries
|
|
emptyDir: {}
|
|
|
|
- it: binariesVolume - should set the specified volume type correctly
|
|
set:
|
|
controlPlane:
|
|
statefulSet:
|
|
persistence:
|
|
binariesVolume:
|
|
- name: binaries
|
|
persistentVolumeClaim:
|
|
claimName: my-pvc
|
|
asserts:
|
|
- contains:
|
|
path: spec.template.spec.volumes
|
|
content:
|
|
name: binaries
|
|
persistentVolumeClaim:
|
|
claimName: my-pvc
|
|
|
|
- it: dataVolume - should set the specified data volume type correctly
|
|
set:
|
|
controlPlane:
|
|
statefulSet:
|
|
persistence:
|
|
dataVolume:
|
|
- name: data
|
|
persistentVolumeClaim:
|
|
claimName: my-custom-pvc
|
|
asserts:
|
|
- contains:
|
|
path: spec.template.spec.volumes
|
|
content:
|
|
name: data
|
|
persistentVolumeClaim:
|
|
claimName: my-custom-pvc
|
|
|
|
- it: k8s version not set, default tag images used for apiServer and controllerManager
|
|
chart:
|
|
version: "test-"
|
|
set:
|
|
controlPlane:
|
|
distro:
|
|
k8s:
|
|
enabled: true
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.initContainers[1].image
|
|
value: registry.k8s.io/kube-controller-manager:v1.31.1
|
|
- equal:
|
|
path: spec.template.spec.initContainers[2].image
|
|
value: registry.k8s.io/kube-apiserver:v1.31.1
|
|
|
|
- it: k8s capabilities set
|
|
chart:
|
|
version: "test-v1.29.3"
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.initContainers[1].image
|
|
value: registry.k8s.io/kube-controller-manager:v1.29.3
|
|
- equal:
|
|
path: spec.template.spec.initContainers[2].image
|
|
value: registry.k8s.io/kube-apiserver:v1.29.3
|
|
|
|
- it: k8s capabilities orbstack
|
|
chart:
|
|
version: "test-v1.29.3+orb1"
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.initContainers[1].image
|
|
value: registry.k8s.io/kube-controller-manager:v1.29.3
|
|
- equal:
|
|
path: spec.template.spec.initContainers[2].image
|
|
value: registry.k8s.io/kube-apiserver:v1.29.3
|
|
|
|
- it: k8s capabilities invalid
|
|
chart:
|
|
version: "test-invalid"
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.initContainers[1].image
|
|
value: registry.k8s.io/kube-controller-manager:v1.31.1
|
|
|
|
- it: k8s capabilities incomplete
|
|
chart:
|
|
version: "test-v1.22"
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.initContainers[1].image
|
|
value: registry.k8s.io/kube-controller-manager:v1.31.1
|
|
|
|
- it: k8s capabilities incomplete 2
|
|
chart:
|
|
version: "test-1.22.11"
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.initContainers[1].image
|
|
value: registry.k8s.io/kube-controller-manager:v1.31.1
|
|
|
|
- it: k8s capabilities incomplete 2
|
|
chart:
|
|
version: "test-v1.22.33"
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.initContainers[1].image
|
|
value: registry.k8s.io/kube-controller-manager:v1.22.33
|
|
|
|
- it: k8s version sets image tag for apiServer and controllerManager
|
|
set:
|
|
controlPlane:
|
|
distro:
|
|
k8s:
|
|
enabled: true
|
|
version: v1.35.999
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.initContainers[1].image
|
|
value: registry.k8s.io/kube-controller-manager:v1.35.999
|
|
- equal:
|
|
path: spec.template.spec.initContainers[2].image
|
|
value: registry.k8s.io/kube-apiserver:v1.35.999
|
|
|
|
- it: k8s version set but overridden by image tag for apiServer and controllerManager
|
|
set:
|
|
controlPlane:
|
|
distro:
|
|
k8s:
|
|
enabled: true
|
|
version: v1.30.999
|
|
apiServer:
|
|
image:
|
|
tag: v99912
|
|
controllerManager:
|
|
image:
|
|
tag: v23123
|
|
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.initContainers[1].image
|
|
value: registry.k8s.io/kube-controller-manager:v23123
|
|
- equal:
|
|
path: spec.template.spec.initContainers[2].image
|
|
value: registry.k8s.io/kube-apiserver:v99912
|
|
|
|
- it: k8s not version set but image tags for apiServer and controllerManager set
|
|
set:
|
|
controlPlane:
|
|
distro:
|
|
k8s:
|
|
enabled: true
|
|
apiServer:
|
|
image:
|
|
tag: v99914
|
|
controllerManager:
|
|
image:
|
|
tag: v23127
|
|
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.initContainers[1].image
|
|
value: registry.k8s.io/kube-controller-manager:v23127
|
|
- equal:
|
|
path: spec.template.spec.initContainers[2].image
|
|
value: registry.k8s.io/kube-apiserver:v99914
|
|
|
|
- it: k8s version not set, default tag images used for apiServer and controllerManager (virtual scheduler enabled)
|
|
chart:
|
|
version: "test-"
|
|
set:
|
|
controlPlane:
|
|
distro:
|
|
k8s:
|
|
enabled: true
|
|
advanced:
|
|
virtualScheduler:
|
|
enabled: true
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.initContainers[1].image
|
|
value: registry.k8s.io/kube-controller-manager:v1.31.1
|
|
- equal:
|
|
path: spec.template.spec.initContainers[2].image
|
|
value: registry.k8s.io/kube-scheduler:v1.31.1
|
|
- equal:
|
|
path: spec.template.spec.initContainers[3].image
|
|
value: registry.k8s.io/kube-apiserver:v1.31.1
|
|
|
|
- it: k8s version sets image tag for apiServer and controllerManager (virtual scheduler enabled)
|
|
set:
|
|
controlPlane:
|
|
distro:
|
|
k8s:
|
|
enabled: true
|
|
version: v1.35.999
|
|
advanced:
|
|
virtualScheduler:
|
|
enabled: true
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.initContainers[1].image
|
|
value: registry.k8s.io/kube-controller-manager:v1.35.999
|
|
- equal:
|
|
path: spec.template.spec.initContainers[2].image
|
|
value: registry.k8s.io/kube-scheduler:v1.35.999
|
|
- equal:
|
|
path: spec.template.spec.initContainers[3].image
|
|
value: registry.k8s.io/kube-apiserver:v1.35.999
|
|
|
|
- it: k8s version set but overridden by image tag for apiServer and controllerManager (virtual scheduler enabled)
|
|
set:
|
|
controlPlane:
|
|
distro:
|
|
k8s:
|
|
enabled: true
|
|
version: v1.30.999
|
|
apiServer:
|
|
image:
|
|
tag: v99912
|
|
controllerManager:
|
|
image:
|
|
tag: v23123
|
|
scheduler:
|
|
image:
|
|
tag: v123654
|
|
advanced:
|
|
virtualScheduler:
|
|
enabled: true
|
|
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.initContainers[1].image
|
|
value: registry.k8s.io/kube-controller-manager:v23123
|
|
- equal:
|
|
path: spec.template.spec.initContainers[2].image
|
|
value: registry.k8s.io/kube-scheduler:v123654
|
|
- equal:
|
|
path: spec.template.spec.initContainers[3].image
|
|
value: registry.k8s.io/kube-apiserver:v99912
|
|
|
|
- it: k8s not version set but image tags for apiServer and controllerManager set (virtual scheduler enabled)
|
|
set:
|
|
controlPlane:
|
|
distro:
|
|
k8s:
|
|
enabled: true
|
|
apiServer:
|
|
image:
|
|
tag: v99914
|
|
controllerManager:
|
|
image:
|
|
tag: v23127
|
|
scheduler:
|
|
image:
|
|
tag: v123656
|
|
|
|
advanced:
|
|
virtualScheduler:
|
|
enabled: true
|
|
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.initContainers[1].image
|
|
value: registry.k8s.io/kube-controller-manager:v23127
|
|
- equal:
|
|
path: spec.template.spec.initContainers[2].image
|
|
value: registry.k8s.io/kube-scheduler:v123656
|
|
- equal:
|
|
path: spec.template.spec.initContainers[3].image
|
|
value: registry.k8s.io/kube-apiserver:v99914
|
|
|
|
- it: custom dnsPolicy
|
|
set:
|
|
controlPlane:
|
|
statefulSet:
|
|
dnsPolicy: "ClusterFirst"
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.dnsPolicy
|
|
value: "ClusterFirst"
|
|
|
|
- it: custom dnsConfig
|
|
set:
|
|
controlPlane:
|
|
statefulSet:
|
|
dnsConfig:
|
|
nameservers:
|
|
- 192.0.2.1
|
|
searches:
|
|
- ns1.svc.cluster-domain.example
|
|
options:
|
|
- name: ndots
|
|
value: "2"
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.dnsConfig.nameservers[0]
|
|
value: "192.0.2.1"
|
|
- equal:
|
|
path: spec.template.spec.dnsConfig.searches[0]
|
|
value: "ns1.svc.cluster-domain.example"
|
|
- equal:
|
|
path: spec.template.spec.dnsConfig.options[0].name
|
|
value: "ndots"
|
|
- equal:
|
|
path: spec.template.spec.dnsConfig.options[0].value
|
|
value: "2"
|
|
|
|
- it: must use StatefulSet for embedded etcd
|
|
set:
|
|
controlPlane:
|
|
backingStore:
|
|
etcd:
|
|
embedded:
|
|
enabled: true
|
|
|
|
asserts:
|
|
- equal:
|
|
path: kind
|
|
value: StatefulSet
|
|
|
|
- it: must use StatefulSet for embedded etcd without persistence
|
|
set:
|
|
controlPlane:
|
|
backingStore:
|
|
etcd:
|
|
embedded:
|
|
enabled: true
|
|
statefulSet:
|
|
persistence:
|
|
volumeClaim:
|
|
enabled: false
|
|
binariesVolume:
|
|
- name: binaries
|
|
emptyDir:
|
|
medium: Memory
|
|
|
|
asserts:
|
|
- equal:
|
|
path: kind
|
|
value: StatefulSet
|
|
|
|
- it: sync custom resources
|
|
set:
|
|
sync:
|
|
toHost:
|
|
customResources:
|
|
test.cert-manager.io:
|
|
enabled: true
|
|
patches:
|
|
- path: spec.dnsNames[*]
|
|
expression: "value.startsWith('www.') ? value.slice(4) : value"
|
|
reverseExpression: '"www."+value'
|
|
asserts:
|
|
- equal:
|
|
path: kind
|
|
value: StatefulSet
|