Skip to content

ci: add kind testing #28

ci: add kind testing

ci: add kind testing #28

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: Write config file
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
- name: Set up Kind cluster
uses: helm/kind-action@v1.7.0
with:
version: v0.20.0
config: kind-config.yaml
env:
KIND_EXPERIMENTAL_DOCKER_NETWORK: kind
- 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 config set no_pvc true
pulumi config set expose true
pulumi up -y
docker ps -a
URL="http://$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' kind-control-plane):$(pulumi stack output exposed_port)/healthcheck"
echo $URL
curl -v $URL