Skip to content

test with strict confinement #12

test with strict confinement

test with strict confinement #12

name: Test Launch Configuration Microk8s
on: [push]
jobs:
test:
runs-on: ubuntu-latest
name: A job to install MicroK8s with launch configurations
steps:
- uses: actions/checkout@v3
with:
sparse-checkout: |
microk8s-config.yaml
sparse-checkout-cone-mode: false
- name: build-image-and-create-microk8s-config
run: |
mkdir -p $HOME/sideload
docker pull alpine:edge
docker save alpine:edge > $HOME/sideload/alpine-edge.tar
- uses: balchua/microk8s-actions@master
with:
channel: "1.28/stable"
launch-configuration: "$GITHUB_WORKSPACE/microk8s-config.yaml"
sideload-images-path: "$HOME/sideload/"
- name: Check Side loaded images
run: |
sudo microk8s ctr images ls | grep alpine:edge
- name: Check enabled addons
run: |
echo "wait for a few seconds"
sleep 120
sudo microk8s kubectl wait pods --for=jsonpath='{.status.phase}'=Running -l name=nginx-ingress-microk8s -n ingress --timeout=300s
sudo microk8s status --wait-ready
sudo microk8s status --addon dns --wait-ready | grep enabled
sudo microk8s status --addon ingress --wait-ready | grep enabled
sudo microk8s status --addon rbac --wait-ready | grep enabled
sudo microk8s status --addon hostpath-storage --wait-ready | grep enabled
sudo microk8s status --addon registry --wait-ready | grep enabled
- name: Check push to local registry
run: |
sudo microk8s kubectl wait --for=jsonpath='{.status.phase}'=Bound pvc/registry-claim -n container-registry --timeout=90s
sudo microk8s kubectl wait pods --for=jsonpath='{.status.phase}'=Running -l app=registry -n container-registry --timeout=90s
docker pull busybox:1
docker tag busybox:1 localhost:32000/my-repo/busybox:1
docker push localhost:32000/my-repo/busybox:1
curl http://localhost:32000/v2/_catalog
- name: Test MicroK8s
id: microk8s
run: |
set -ex
kubectl get no
kubectl get pods -A -o wide
sleep 120 # Give it sometime before we start checking for pod readiness.
# wait for storage pod to be ready
kubectl -n kube-system wait --for=condition=ready pod -l k8s-app=hostpath-provisioner --timeout=60s
storage_ready=$?
if [ $storage_ready -ne 0 ]; then
echo "Error storage not ready."
exit $storage_ready
fi
- name: Test MicroK8s commands
id: microk8s-commands
run: |
set -ex
echo "Executing microk8s status using sg command."
sg microk8s -c 'microk8s status'
echo "Executing microk8s status using sudo command."
sudo microk8s status