Add test to universe

Signed-off-by: Tom Chauveau <tom.chauveau@epitech.eu>
This commit is contained in:
Tom Chauveau
2021-06-18 18:03:59 +02:00
parent b999a3dd11
commit 2e9a0d6509
40 changed files with 1202 additions and 2 deletions

View File

@@ -0,0 +1,2 @@
# dagger state
state/**

View File

@@ -0,0 +1,56 @@
package main
import (
"dagger.io/kubernetes/helm"
"dagger.io/random"
"dagger.io/dagger"
)
// We assume that a kinD cluster is running locally
// To deploy a local KinD cluster, follow this link : https://kind.sigs.k8s.io/docs/user/quick-start/
TestKubeconfig: string @dagger(input)
TestChartSource: dagger.#Artifact @dagger(input)
// Deploy user local chart
TestHelmSimpleChart: {
suffix: random.#String & {
seed: "simple"
}
// Deploy chart
deploy: helm.#Chart & {
name: "dagger-test-inline-chart-\(suffix.out)"
namespace: "dagger-test"
kubeconfig: TestKubeconfig
chartSource: TestChartSource
}
// Verify deployment
verify: #VerifyHelm & {
chartName: deploy.name
namespace: deploy.namespace
}
}
// Deploy remote chart
TestHelmRepoChart: {
suffix: random.#String & {
seed: "repo"
}
// Deploy chart
deploy: helm.#Chart & {
name: "dagger-test-repository-\(suffix.out)"
namespace: "dagger-test"
kubeconfig: TestKubeconfig
repository: "https://charts.bitnami.com/bitnami"
chart: "redis"
}
// Verify deployment
verify: #VerifyHelm & {
chartName: deploy.name
namespace: deploy.namespace
}
}

View File

@@ -0,0 +1,51 @@
package main
import (
"dagger.io/dagger/op"
"dagger.io/kubernetes"
)
#VerifyHelm: {
chartName: string
namespace: string
// Verify that pod exist
#getHelmPods:
"""
kubectl get pods --namespace "$KUBE_NAMESPACE" | grep "\(chartName)"
"""
#up: [
op.#Load & {
from: kubernetes.#Kubectl
},
op.#WriteFile & {
dest: "/getHelmPods.sh"
content: #getHelmPods
},
op.#WriteFile & {
dest: "/kubeconfig"
content: TestKubeconfig
mode: 0o600
},
op.#Exec & {
always: true
args: [
"/bin/bash",
"--noprofile",
"--norc",
"-eo",
"pipefail",
"/getHelmPods.sh",
]
env: {
KUBECONFIG: "/kubeconfig"
KUBE_NAMESPACE: namespace
}
},
]
}

View File

@@ -0,0 +1,27 @@
plan:
module: .dagger/env/kubernetes-helm/plan
name: kubernetes-helm
inputs:
TestChartSource:
dir:
path: ./kubernetes/helm/testdata/mychart
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1gxwmtwahzwdmrskhf90ppwlnze30lgpm056kuesrxzeuyclrwvpsupwtpk
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBud1hMc0dTZTlIQ3lZVEQ5
WjA2UlAvTm15ZEgycXlKKzhjTmU0Ui9xZHcwCkRxclFUTUE0aXRvaElkc3diV2Ix
N2VZZVIzS2t3cVl3UmtXOC9PY1VObzAKLS0tIG9ydkFzak1SaUo2NGxET3ZiNklZ
VHlGUExaMzcwM0pOM2VDY280UWZXSzQKAm7ZV1agxbla3Yrc7vrwJosSjQtWhdac
ZFyQ6Gi+9H7qHZM89yVjAaIg1lwr68HcjYgDzpvvhJO9YPfzwoLyHw==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-18T15:42:52Z"
mac: ENC[AES256_GCM,data:SzHFZpgiv+h1vRjq0GP+4nzj9az6pAwQwstxYz10yBGPQXnZv/VtJm071oouiK7pgD4i7cTvTKgIOaX9K74PiWSiTjWI5F9sGHvt9ZoGyU08OHM6zwGMDiYygBN2+5dd5jBvT4Xy6efa0IOMxSqhp69+VoJRWesAFsN6IfDcIEY=,iv:Af2WeB2eVk5hnWFWaQij7hz2wjXgNWDJTWDm13iKNvA=,tag:uvR1ruMc69ZhDJRtYCFQBw==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1