Move tests plan from dagger dir to universe

Signed-off-by: Tom Chauveau <tom.chauveau@epitech.eu>
This commit is contained in:
Tom Chauveau
2021-06-24 21:01:17 +02:00
parent 36cf20ae2d
commit c99e39ec9c
69 changed files with 215 additions and 166 deletions

View File

@@ -0,0 +1,55 @@
package helm
import (
"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: #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 remote chart
deploy: #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 helm
import (
"alpha.dagger.io/dagger/op"
"alpha.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
}
},
]
}