Skip to content

ci: add kind testing #21

ci: add kind testing

ci: add kind testing #21

Workflow file for this run

name: Create Cluster with Registry
on:
push: {}
jobs:
setup-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Set up Docker registry
run: |
docker network create kind || true
docker run -d --network kind --name registry -p 5000:5000 registry:2
- name: Set up Kind cluster
uses: helm/kind-action@v1.7.0
with:
version: v0.20.0
env:
KIND_EXPERIMENTAL_DOCKER_NETWORK: kind
- name: Connect Kind to the Docker registry
run: |
cat <<EOF > kind-config.yaml
apiVersion: kind.x-k8s.io/v1alpha4
kind: Cluster
containerdConfigPatches:
- |
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."localhost:5000"]
endpoint = ["http://registry:5000"]
EOF
kind create cluster --config kind-config.yaml
- name: Setup PVC Storage Class
run: |
kubectl apply -f - <<EOF
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: local-path
annotations:
storageclass.kubernetes.io/is-default-class: "true"
provisioner: rancher.io/local-path
volumeBindingMode: WaitForFirstConsumer
EOF
- name: Build and push CM
run: |
docker build \
-t localhost:5000/ctferio/chall-manager:${{ github.sha }} \
-f Dockerfile.chall-manager \
.
docker push localhost:5000/ctferio/chall-manager:${{ github.sha }}
- name: Build and push CMJ
run: |
docker build \
-t localhost:5000/ctferio/chall-manager-janitor:${{ github.sha }} \
-f Dockerfile.chall-manager-janitor \
.
docker push localhost:5000/ctferio/chall-manager-janitor:${{ github.sha }}
- name: Install Pulumi
uses: pulumi/actions@v4
- name: Configure stack
run: |
pulumi login --local
export PULUMI_CONFIG_PASSPHRASE=""
cd deploy
pulumi stack init dev
pulumi config set private-registry "localhost:5000/"
pulumi config set tag ${{ github.sha }}
pulumi up -y
pulumi stack output