Xe's Kubernetes custom resources
1#!/usr/bin/env bash
2
3source common.sh
4
5CRDS_RELEASE="${1:-latest}"
6NAMESPACE=ci
7CLUSTER_NAME=$(kubectl create -n $NAMESPACE -f ./test-cluster.yaml -ojson | jq -r '.metadata.name')
8
9echo "Created cluster $CLUSTER_NAME in namespace $NAMESPACE"
10
11k3kcli kubeconfig generate --namespace $NAMESPACE --name $CLUSTER_NAME --config-name "${CLUSTER_NAME}-kubeconfig.yaml"
12
13kubeconfig_fname="$(pwd)/${CLUSTER_NAME}-kubeconfig.yaml"
14
15(
16 export KUBECONFIG="${kubeconfig_fname}"
17 kubectl cluster-info
18
19 kubectl create namespace ci
20
21 yoke takeoff --create-namespace --namespace atc atc oci://ghcr.io/yokecd/atc-installer:0.18.7
22 wait_for_crd airways.yoke.cd
23)
24
25for test_case in ./test_scripts.d/*; do
26 echo "--- ${test_case} ---"
27 KUBECONFIG="${kubeconfig_fname}" bash "${test_case}" "${CRDS_RELEASE}"
28done
29
30kubectl delete -n "${NAMESPACE}" "clusters.k3k.io/${CLUSTER_NAME}"