5959 uses : actions/checkout@v2
6060 with :
6161 fetch-depth : 0
62- - name : Mirror Setup
63- run : |
64- cat << EOF > /tmp/cluster.yml
65- kind: Cluster
66- apiVersion: kind.x-k8s.io/v1alpha4
67- containerdConfigPatches:
68- - |-
69- [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
70- endpoint = ["http://139.178.70.81:80"]
71- [plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry:5000"]
72- endpoint = ["http://localhost:5000"]
73- [plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry.default.svc.cluster.local:5000"]
74- endpoint = ["http://localhost:5000"]
75- EOF
76- - name : sysctls specs kind config override
77- if : matrix.spec == 'sysctls'
78- run : |
79- cat << EOF > /tmp/cluster.yml
80- kind: Cluster
81- apiVersion: kind.x-k8s.io/v1alpha4
82-
83- # Enabled additional unsafe sysctls to support the negative spec test for sysctls
84- nodes:
85- - role: control-plane
86- kubeadmConfigPatches:
87- - |
88- kind: KubeletConfiguration
89- allowedUnsafeSysctls: ["kernel.msg*"]
90- EOF
91- - name : Mirror Override
92- if : matrix.spec == 'private_registry_image'
93- run : |
94- cat << EOF > /tmp/cluster.yml
95- kind: Cluster
96- apiVersion: kind.x-k8s.io/v1alpha4
97- containerdConfigPatches:
98- - |-
99- [plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry:5000"]
100- endpoint = ["http://localhost:5000"]
101- [plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry.default.svc.cluster.local:5000"]
102- endpoint = ["http://localhost:5000"]
103- - name : Create Kind Cluster
104- run : |
105- cat /tmp/cluster.yml
106- export CLUSTER=$(uuidgen)
107- echo "export CLUSTER=$CLUSTER" > cluster.env
108- echo kind create cluster --name $CLUSTER --config=/tmp/cluster.yml --kubeconfig ./$CLUSTER.conf
109- kind create cluster --name $CLUSTER --config=/tmp/cluster.yml --kubeconfig ./$CLUSTER.conf
110- export KUBECONFIG=$(pwd)/$CLUSTER.conf
111- kubectl get nodes
11262 - name : Cache crystal shards
11363 uses : actions/cache@v2
11464 env :
14191 echo "RUNNER: $RUNNER_NAME"
14292 - name : Run Crystal Spec
14393 env :
144- FALCO_ENV : CI
14594 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
14695 DOCKERHUB_USERNAMES : ${{ secrets.DOCKERHUB_USERNAMES }}
14796 DOCKERHUB_PASSWORDS : ${{ secrets.DOCKERHUB_PASSWORDS }}
@@ -165,33 +114,11 @@ jobs:
165114
166115 docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_PASSWORD
167116
168- source cluster.env
169- export KUBECONFIG=$(pwd)/$CLUSTER.conf
170- until [[ $(kubectl get pods -l app=local-path-provisioner --namespace=local-path-storage -o 'jsonpath={..status.conditions[?(@.type=="Ready")].status}') == "True" ]]; do
171- echo "Waiting for local-path-storage"
172- sleep 1
173- done
174- LOCAL_PATH_STORAGE_POD=$(kubectl get pods -l app=local-path-provisioner --namespace=local-path-storage -o jsonpath='{range .items[*]}{.metadata.name}')
175- until [[ $(kubectl exec -ti $LOCAL_PATH_STORAGE_POD --namespace=local-path-storage -- apk add curl jq) ]]; do
176- echo "Failed to install packages, retrying"
177- sleep 1
178- done
179- CLUSTER_RATE_LIMIT=$(kubectl exec -ti $LOCAL_PATH_STORAGE_POD --namespace=local-path-storage -- curl --head -H "Authorization: Bearer $(curl "https://auth.docker.io/token?service=registry.docker.io&scope=repository:ratelimitpreview/test:pull" | jq -r .token)" https://registry-1.docker.io/v2/ratelimitpreview/test/manifests/latest | grep ratelimit-remaining || true)
180- TOKEN=$(curl "https://auth.docker.io/token?service=registry.docker.io&scope=repository:ratelimitpreview/test:pull" | jq -r .token || true)
181- ANONYMOUS_RUNNER_RATE_LIMIT=$(curl --head -H "Authorization: Bearer $TOKEN" https://registry-1.docker.io/v2/ratelimitpreview/test/manifests/latest | grep ratelimit-remaining || echo "Runner Rate Limit Exceeded: $RUNNER_NAME")
182- TOKEN=$(curl --user "$DOCKERHUB_USERNAME:$DOCKERHUB_PASSWORD" "https://auth.docker.io/token?service=registry.docker.io&scope=repository:ratelimitpreview/test:pull" | jq -r .token)
183- AUTH_RATE_LIMIT=$(curl --head -H "Authorization: Bearer $TOKEN" https://registry-1.docker.io/v2/ratelimitpreview/test/manifests/latest | grep ratelimit-remaining || echo "Authenticated Rate Limit Exceeded")
184- echo "RUNNER RATE LIMIT: $ANONYMOUS_RUNNER_RATE_LIMIT"
185- echo "CLUSTER RATE LIMIT: $CLUSTER_RATE_LIMIT"
186- echo "DOCKER USER RATE LIMIT: $AUTH_RATE_LIMIT"
187-
188117 LOG_LEVEL=info crystal spec --warnings none --tag ${{ matrix.spec }} -v
189118
190119 - name : Delete Cluster
191120 if : ${{ always() }}
192121 run : |
193- source cluster.env
194- kind delete cluster --name $CLUSTER
195122 docker container prune -f || true
196123 docker volume prune -f || true
197124
0 commit comments