fix: vendor critical bootstrap charts
This commit is contained in:
@@ -0,0 +1,228 @@
|
||||
suite: Test Deployment
|
||||
templates:
|
||||
- deployment.yaml
|
||||
- s3-secret.yaml
|
||||
- pvc.yaml
|
||||
- _helpers.tpl
|
||||
tests:
|
||||
- it: should set name
|
||||
template: deployment.yaml
|
||||
asserts:
|
||||
- equal:
|
||||
path: metadata.name
|
||||
value: "rancher-backup"
|
||||
- it: should set namespace
|
||||
template: deployment.yaml
|
||||
asserts:
|
||||
- equal:
|
||||
path: metadata.namespace
|
||||
value: "NAMESPACE"
|
||||
- it: should set priorityClassName
|
||||
set:
|
||||
priorityClassName: "testClass"
|
||||
template: deployment.yaml
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.template.spec.priorityClassName
|
||||
value: "testClass"
|
||||
- it: should set default imagePullPolicy
|
||||
template: deployment.yaml
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.template.spec.containers[0].imagePullPolicy
|
||||
value: "Always"
|
||||
- it: should set imagePullPolicy
|
||||
set:
|
||||
imagePullPolicy: "IfNotPresent"
|
||||
template: deployment.yaml
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.template.spec.containers[0].imagePullPolicy
|
||||
value: "IfNotPresent"
|
||||
- it: should set debug loglevel
|
||||
set:
|
||||
debug: true
|
||||
template: deployment.yaml
|
||||
asserts:
|
||||
- contains:
|
||||
path: spec.template.spec.containers[0].args
|
||||
content: "--debug"
|
||||
- it: should set trace loglevel
|
||||
set:
|
||||
trace: true
|
||||
template: deployment.yaml
|
||||
asserts:
|
||||
- contains:
|
||||
path: spec.template.spec.containers[0].args
|
||||
content: "--trace"
|
||||
- it: should set proxy environment variables
|
||||
set:
|
||||
proxy: "https://127.0.0.1:3128"
|
||||
template: deployment.yaml
|
||||
asserts:
|
||||
- contains:
|
||||
path: spec.template.spec.containers[0].env
|
||||
content:
|
||||
name: HTTP_PROXY
|
||||
value: "https://127.0.0.1:3128"
|
||||
- contains:
|
||||
path: spec.template.spec.containers[0].env
|
||||
content:
|
||||
name: HTTPS_PROXY
|
||||
value: "https://127.0.0.1:3128"
|
||||
- contains:
|
||||
path: spec.template.spec.containers[0].env
|
||||
content:
|
||||
name: NO_PROXY
|
||||
value: "127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local"
|
||||
- it: should set proxy environment variables with modified noproxy
|
||||
set:
|
||||
proxy: "https://127.0.0.1:3128"
|
||||
noProxy: "192.168.0.0/24"
|
||||
template: deployment.yaml
|
||||
asserts:
|
||||
- contains:
|
||||
path: spec.template.spec.containers[0].env
|
||||
content:
|
||||
name: NO_PROXY
|
||||
value: "192.168.0.0/24"
|
||||
- it: should set persistence variables
|
||||
set:
|
||||
persistence.enabled: true
|
||||
template: deployment.yaml
|
||||
asserts:
|
||||
- contains:
|
||||
path: spec.template.spec.containers[0].env
|
||||
content:
|
||||
name: DEFAULT_PERSISTENCE_ENABLED
|
||||
value: "persistence-enabled"
|
||||
- contains:
|
||||
path: spec.template.spec.containers[0].volumeMounts
|
||||
content:
|
||||
mountPath: "/var/lib/backups"
|
||||
name: "pv-storage"
|
||||
- equal:
|
||||
path: spec.template.spec.volumes[0].name
|
||||
value: "pv-storage"
|
||||
- equal:
|
||||
path: spec.template.spec.volumes[0].persistentVolumeClaim
|
||||
value:
|
||||
claimName: RELEASE-NAME-0
|
||||
- it: should set claim from custom static volumeName
|
||||
set:
|
||||
persistence.enabled: true
|
||||
persistence.volumeName: "PREDEFINED-VOLUME"
|
||||
persistence.storageClass: "PREDEFINED-STORAGECLASS"
|
||||
persistence.size: "PREDIFINED-SAMEAS-PVSIZE"
|
||||
template: deployment.yaml
|
||||
asserts:
|
||||
- contains:
|
||||
path: spec.template.spec.containers[0].env
|
||||
content:
|
||||
name: DEFAULT_PERSISTENCE_ENABLED
|
||||
value: "persistence-enabled"
|
||||
- equal:
|
||||
path: spec.template.spec.volumes[0].persistentVolumeClaim
|
||||
value:
|
||||
claimName: PREDEFINED-VOLUME
|
||||
- it: should set private registry
|
||||
template: deployment.yaml
|
||||
set:
|
||||
global.cattle.systemDefaultRegistry: "my.registry.local:3000"
|
||||
asserts:
|
||||
- matchRegex:
|
||||
path: spec.template.spec.containers[0].image
|
||||
pattern: ^my.registry.local:3000/rancher/backup-restore-operator:.*$
|
||||
- it: should set nodeselector
|
||||
template: deployment.yaml
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.template.spec.nodeSelector
|
||||
value:
|
||||
kubernetes.io/os: linux
|
||||
- it: should not set default affinity
|
||||
template: deployment.yaml
|
||||
asserts:
|
||||
- isNull:
|
||||
path: spec.template.spec.affinity
|
||||
- it: should set custom affinity
|
||||
template: deployment.yaml
|
||||
set:
|
||||
affinity:
|
||||
nodeAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: disktype
|
||||
operator: In
|
||||
values:
|
||||
- ssd
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.template.spec.affinity
|
||||
value:
|
||||
nodeAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: disktype
|
||||
operator: In
|
||||
values:
|
||||
- ssd
|
||||
- it: should set tolerations
|
||||
template: deployment.yaml
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.template.spec.tolerations[0]
|
||||
value:
|
||||
key: "cattle.io/os"
|
||||
value: "linux"
|
||||
effect: "NoSchedule"
|
||||
operator: "Equal"
|
||||
- it: should set custom tolerations
|
||||
template: deployment.yaml
|
||||
set:
|
||||
tolerations:
|
||||
- key: "example-key"
|
||||
operator: "Exists"
|
||||
effect: "NoSchedule"
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.template.spec.tolerations[0]
|
||||
value:
|
||||
key: "cattle.io/os"
|
||||
value: "linux"
|
||||
effect: "NoSchedule"
|
||||
operator: "Equal"
|
||||
- equal:
|
||||
path: spec.template.spec.tolerations[1]
|
||||
value:
|
||||
key: "example-key"
|
||||
operator: "Exists"
|
||||
effect: "NoSchedule"
|
||||
- it: should allow image tag overrides
|
||||
template: deployment.yaml
|
||||
set:
|
||||
image:
|
||||
tag: v1.2.3-abc.42
|
||||
asserts:
|
||||
- matchRegex:
|
||||
path: spec.template.spec.containers[0].image
|
||||
pattern: v1.2.3-abc.42$
|
||||
- notMatchRegex:
|
||||
path: spec.template.spec.containers[0].image
|
||||
pattern: v0.0.0-nope.1$
|
||||
- it: should not set default imagePullSecrets
|
||||
template: deployment.yaml
|
||||
asserts:
|
||||
- isNull:
|
||||
path: spec.template.spec.imagePullSecrets
|
||||
- it: should set imagePullSecrets
|
||||
set:
|
||||
imagePullSecrets:
|
||||
- name: "pull-secret"
|
||||
template: deployment.yaml
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.template.spec.imagePullSecrets[0].name
|
||||
value: "pull-secret"
|
||||
@@ -0,0 +1,102 @@
|
||||
suite: Test PVC
|
||||
templates:
|
||||
- pvc.yaml
|
||||
- _helpers.tpl
|
||||
tests:
|
||||
- it: should set name
|
||||
template: pvc.yaml
|
||||
set:
|
||||
persistence:
|
||||
enabled: true
|
||||
asserts:
|
||||
- equal:
|
||||
path: metadata.name
|
||||
value: "RELEASE-NAME-0"
|
||||
- it: should set namespace
|
||||
template: pvc.yaml
|
||||
set:
|
||||
persistence:
|
||||
enabled: true
|
||||
asserts:
|
||||
- equal:
|
||||
path: metadata.namespace
|
||||
value: "NAMESPACE"
|
||||
- it: should set accessModes
|
||||
template: pvc.yaml
|
||||
set:
|
||||
persistence:
|
||||
enabled: true
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.accessModes[0]
|
||||
value: "ReadWriteOnce"
|
||||
- it: should set size
|
||||
template: pvc.yaml
|
||||
set:
|
||||
persistence:
|
||||
enabled: true
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.resources.requests.storage
|
||||
value: "2Gi"
|
||||
- it: should set size
|
||||
template: pvc.yaml
|
||||
set:
|
||||
persistence:
|
||||
enabled: true
|
||||
size: "10Gi"
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.resources.requests.storage
|
||||
value: "10Gi"
|
||||
- it: should not set volumeName
|
||||
template: pvc.yaml
|
||||
set:
|
||||
persistence:
|
||||
enabled: true
|
||||
asserts:
|
||||
- isNull:
|
||||
path: spec.volumeName
|
||||
- it: should set default storageClass
|
||||
template: pvc.yaml
|
||||
set:
|
||||
persistence:
|
||||
enabled: true
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.storageClassName
|
||||
value: ""
|
||||
- it: should set custom storageClass
|
||||
template: pvc.yaml
|
||||
set:
|
||||
persistence:
|
||||
enabled: true
|
||||
storageClass: "storage-class"
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.storageClassName
|
||||
value: "storage-class"
|
||||
- it: should set custom volumeName
|
||||
template: pvc.yaml
|
||||
set:
|
||||
persistence:
|
||||
enabled: true
|
||||
volumeName: "volume-name"
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.volumeName
|
||||
value: "volume-name"
|
||||
- it: should set claim from custom static volumeName
|
||||
set:
|
||||
persistence.enabled: true
|
||||
persistence.volumeName: "PREDEFINED-VOLUME"
|
||||
persistence.storageClass: "PREDEFINED-STORAGECLASS"
|
||||
persistence.size: "PREDEFINED-SAMEAS-PVSIZE"
|
||||
template: pvc.yaml
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.resources.requests.storage
|
||||
value: "PREDEFINED-SAMEAS-PVSIZE"
|
||||
- equal:
|
||||
path: spec.storageClassName
|
||||
value: "PREDEFINED-STORAGECLASS"
|
||||
@@ -0,0 +1,141 @@
|
||||
suite: Test S3 Secret
|
||||
templates:
|
||||
- s3-secret.yaml
|
||||
- _helpers.tpl
|
||||
tests:
|
||||
- it: should set name
|
||||
template: s3-secret.yaml
|
||||
set:
|
||||
s3:
|
||||
enabled: true
|
||||
bucketName: "yourbucket"
|
||||
endpoint: "https://s3.amazonaws.com"
|
||||
asserts:
|
||||
- equal:
|
||||
path: metadata.name
|
||||
value: "rancher-backup-s3"
|
||||
- it: should set namespace
|
||||
template: s3-secret.yaml
|
||||
set:
|
||||
s3:
|
||||
enabled: true
|
||||
bucketName: "yourbucket"
|
||||
endpoint: "https://s3.amazonaws.com"
|
||||
asserts:
|
||||
- equal:
|
||||
path: metadata.namespace
|
||||
value: "NAMESPACE"
|
||||
- it: should not set credentialSecretName
|
||||
template: s3-secret.yaml
|
||||
set:
|
||||
s3:
|
||||
enabled: true
|
||||
bucketName: "yourbucket"
|
||||
endpoint: "https://s3.amazonaws.com"
|
||||
asserts:
|
||||
- isNull:
|
||||
path: stringData.credentialSecretName
|
||||
- it: should set credentialSecretName
|
||||
template: s3-secret.yaml
|
||||
set:
|
||||
s3:
|
||||
enabled: true
|
||||
bucketName: "yourbucket"
|
||||
endpoint: "https://s3.amazonaws.com"
|
||||
credentialSecretName: "credential-secret-name"
|
||||
credentialSecretNamespace: "credential-secret-namespace"
|
||||
asserts:
|
||||
- equal:
|
||||
path: stringData.credentialSecretName
|
||||
value: "credential-secret-name"
|
||||
- equal:
|
||||
path: stringData.credentialSecretNamespace
|
||||
value: "credential-secret-namespace"
|
||||
- it: should not set folder
|
||||
template: s3-secret.yaml
|
||||
set:
|
||||
s3:
|
||||
enabled: true
|
||||
bucketName: "yourbucket"
|
||||
endpoint: "https://s3.amazonaws.com"
|
||||
asserts:
|
||||
- isNull:
|
||||
path: stringData.folder
|
||||
- it: should set folder
|
||||
template: s3-secret.yaml
|
||||
set:
|
||||
s3:
|
||||
enabled: true
|
||||
bucketName: "yourbucket"
|
||||
endpoint: "https://s3.amazonaws.com"
|
||||
folder: "myfolder"
|
||||
asserts:
|
||||
- equal:
|
||||
path: stringData.folder
|
||||
value: "myfolder"
|
||||
- it: should not set region
|
||||
template: s3-secret.yaml
|
||||
set:
|
||||
s3:
|
||||
enabled: true
|
||||
bucketName: "yourbucket"
|
||||
endpoint: "https://s3.amazonaws.com"
|
||||
asserts:
|
||||
- isNull:
|
||||
path: stringData.region
|
||||
- it: should set region
|
||||
template: s3-secret.yaml
|
||||
set:
|
||||
s3:
|
||||
enabled: true
|
||||
bucketName: "yourbucket"
|
||||
endpoint: "https://s3.amazonaws.com"
|
||||
region: "us-west-1"
|
||||
asserts:
|
||||
- equal:
|
||||
path: stringData.region
|
||||
value: "us-west-1"
|
||||
- it: should not set endpointCA
|
||||
template: s3-secret.yaml
|
||||
set:
|
||||
s3:
|
||||
enabled: true
|
||||
bucketName: "yourbucket"
|
||||
endpoint: "https://s3.amazonaws.com"
|
||||
asserts:
|
||||
- isNull:
|
||||
path: stringData.endpointCA
|
||||
- it: should set endpointCA
|
||||
template: s3-secret.yaml
|
||||
set:
|
||||
s3:
|
||||
enabled: true
|
||||
bucketName: "yourbucket"
|
||||
endpoint: "https://s3.amazonaws.com"
|
||||
endpointCA: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURHakNDQWdLZ0F3SUJBZ0lKQUtpWFZpNEpBb0J5TUEwR0NTcUdTSWIzRFFFQkN3VUFNQkl4RURBT0JnTlYKQkFNTUIzUmxjM1F0WTJFd0hoY05NakF3T0RNd01UZ3lOVFE1V2hjTk1qQXhNREk1TVRneU5UUTVXakFTTVJBdwpEZ1lEVlFRRERBZDBaWE4wTFdOaE1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBCjA4dnV3Q2Y0SEhtR2Q2azVNTmozRW5NOG00T2RpS3czSGszd1NlOUlXQkwyVzY5WDZxenBhN2I2M3U2L05mMnkKSnZWNDVqeXplRFB6bFJycjlpbEpWaVZ1NFNqWlFjdG9jWmFCaVNsL0xDbEFDdkFaUlYvKzN0TFVTZSs1ZDY0QQpWcUhDQlZObU5xM3E3aVY0TE1aSVpRc3N6K0FxaU1Sd0pOMVVKQTZ6V0tUc2Yzc3ByQ0J2dWxJWmZsVXVETVAyCnRCTCt6cXZEc0pDdWlhNEEvU2JNT29tVmM2WnNtTGkwMjdub3dGRld3MnRpSkM5d0xMRE14NnJoVHQ4a3VvVHYKQXJpUjB4WktiRU45L1Uzb011eUVKbHZyck9YS2ZuUDUwbk8ycGNaQnZCb3pUTStYZnRvQ1d5UnhKUmI5cFNTRApKQjlmUEFtLzNZcFpMMGRKY2sxR1h3SURBUUFCbzNNd2NUQWRCZ05WSFE0RUZnUVU5NHU4WXlMdmE2MTJnT1pyCm44QnlFQ2NucVFjd1FnWURWUjBqQkRzd09ZQVU5NHU4WXlMdmE2MTJnT1pybjhCeUVDY25xUWVoRnFRVU1CSXgKRURBT0JnTlZCQU1NQjNSbGMzUXRZMkdDQ1FDb2wxWXVDUUtBY2pBTUJnTlZIUk1FQlRBREFRSC9NQTBHQ1NxRwpTSWIzRFFFQkN3VUFBNElCQVFER1JRZ1RtdzdVNXRQRHA5Q2psOXlLRW9Vd2pYWWM2UlAwdm1GSHpubXJ3dUVLCjFrTkVJNzhBTUw1MEpuS29CY0ljVDNEeGQ3TGdIbTNCRE5mVVh2anArNnZqaXhJYXR2UWhsSFNVaWIyZjJsSTkKVEMxNzVyNCtROFkzelc1RlFXSDdLK08vY3pJTGh5ei93aHRDUlFkQ29lS1dXZkFiby8wd0VSejZzNkhkVFJzNwpHcWlGNWZtWGp6S0lOcTBjMHRyZ0xtalNKd1hwSnU0ZnNGOEcyZUh4b2pOKzdJQ1FuSkg5cGRIRVpUQUtOL2ppCnIvem04RlZtd1kvdTBndEZneWVQY1ZWbXBqRm03Y0ZOSkc4Y2ZYd0QzcEFwVjhVOGNocTZGeFBHTkVvWFZnclMKY1VRMklaU0RJd1FFY3FvSzFKSGdCUWw2RXBaUVpWMW1DRklrdFBwSQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t"
|
||||
asserts:
|
||||
- equal:
|
||||
path: stringData.endpointCA
|
||||
value: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURHakNDQWdLZ0F3SUJBZ0lKQUtpWFZpNEpBb0J5TUEwR0NTcUdTSWIzRFFFQkN3VUFNQkl4RURBT0JnTlYKQkFNTUIzUmxjM1F0WTJFd0hoY05NakF3T0RNd01UZ3lOVFE1V2hjTk1qQXhNREk1TVRneU5UUTVXakFTTVJBdwpEZ1lEVlFRRERBZDBaWE4wTFdOaE1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBCjA4dnV3Q2Y0SEhtR2Q2azVNTmozRW5NOG00T2RpS3czSGszd1NlOUlXQkwyVzY5WDZxenBhN2I2M3U2L05mMnkKSnZWNDVqeXplRFB6bFJycjlpbEpWaVZ1NFNqWlFjdG9jWmFCaVNsL0xDbEFDdkFaUlYvKzN0TFVTZSs1ZDY0QQpWcUhDQlZObU5xM3E3aVY0TE1aSVpRc3N6K0FxaU1Sd0pOMVVKQTZ6V0tUc2Yzc3ByQ0J2dWxJWmZsVXVETVAyCnRCTCt6cXZEc0pDdWlhNEEvU2JNT29tVmM2WnNtTGkwMjdub3dGRld3MnRpSkM5d0xMRE14NnJoVHQ4a3VvVHYKQXJpUjB4WktiRU45L1Uzb011eUVKbHZyck9YS2ZuUDUwbk8ycGNaQnZCb3pUTStYZnRvQ1d5UnhKUmI5cFNTRApKQjlmUEFtLzNZcFpMMGRKY2sxR1h3SURBUUFCbzNNd2NUQWRCZ05WSFE0RUZnUVU5NHU4WXlMdmE2MTJnT1pyCm44QnlFQ2NucVFjd1FnWURWUjBqQkRzd09ZQVU5NHU4WXlMdmE2MTJnT1pybjhCeUVDY25xUWVoRnFRVU1CSXgKRURBT0JnTlZCQU1NQjNSbGMzUXRZMkdDQ1FDb2wxWXVDUUtBY2pBTUJnTlZIUk1FQlRBREFRSC9NQTBHQ1NxRwpTSWIzRFFFQkN3VUFBNElCQVFER1JRZ1RtdzdVNXRQRHA5Q2psOXlLRW9Vd2pYWWM2UlAwdm1GSHpubXJ3dUVLCjFrTkVJNzhBTUw1MEpuS29CY0ljVDNEeGQ3TGdIbTNCRE5mVVh2anArNnZqaXhJYXR2UWhsSFNVaWIyZjJsSTkKVEMxNzVyNCtROFkzelc1RlFXSDdLK08vY3pJTGh5ei93aHRDUlFkQ29lS1dXZkFiby8wd0VSejZzNkhkVFJzNwpHcWlGNWZtWGp6S0lOcTBjMHRyZ0xtalNKd1hwSnU0ZnNGOEcyZUh4b2pOKzdJQ1FuSkg5cGRIRVpUQUtOL2ppCnIvem04RlZtd1kvdTBndEZneWVQY1ZWbXBqRm03Y0ZOSkc4Y2ZYd0QzcEFwVjhVOGNocTZGeFBHTkVvWFZnclMKY1VRMklaU0RJd1FFY3FvSzFKSGdCUWw2RXBaUVpWMW1DRklrdFBwSQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t"
|
||||
- it: should not set insecureTLSSkipVerify
|
||||
template: s3-secret.yaml
|
||||
set:
|
||||
s3:
|
||||
enabled: true
|
||||
bucketName: "yourbucket"
|
||||
endpoint: "https://s3.amazonaws.com"
|
||||
asserts:
|
||||
- isNull:
|
||||
path: stringData.insecureTLSSkipVerify
|
||||
- it: should set insecureTLSSkipVerify
|
||||
template: s3-secret.yaml
|
||||
set:
|
||||
s3:
|
||||
enabled: true
|
||||
bucketName: "yourbucket"
|
||||
endpoint: "https://s3.amazonaws.com"
|
||||
insecureTLSSkipVerify: "true"
|
||||
asserts:
|
||||
- equal:
|
||||
path: stringData.insecureTLSSkipVerify
|
||||
value: "true"
|
||||
Reference in New Issue
Block a user