Skip to content

Commit

Permalink
Add traefik to ingress controller
Browse files Browse the repository at this point in the history
  • Loading branch information
titigmr committed Jun 1, 2023
1 parent 1f894aa commit 24a97e0
Showing 1 changed file with 38 additions and 14 deletions.
52 changes: 38 additions & 14 deletions .github/workflows/test-kube.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,38 +18,62 @@ jobs:
cluster_name: basegun-testing
wait: 60s
verbosity: 2
config: /tmp/

- name: Set up ingress controller
run: |
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml
kubectl wait --namespace ingress-nginx \
--for=condition=ready pod \
--selector=app.kubernetes.io/component=controller \
--timeout=90s
- name: Set up Helm
uses: azure/setup-helm@v3
with:
version: v3.11.2

- name: Set up ingress controller
run: |
cat << EOF > values.yml
deployment:
kind: DaemonSet
ingressClass:
enabled: true
isDefaultClass: true
ports:
web:
hostPort: 80
websecure:
hostPort: 443
service:
type: ClusterIP
EOF
helm repo add traefik https://traefik.github.io/charts && helm repo update
helm install --namespace ingress-traefik --create-namespace traefik traefik/traefik -f values.yml
kubectl --namespace ingress-traefik rollout status daemonset traefik --timeout=90s
- name: Add hosts to /etc/hosts
run: |
sudo echo "127.0.0.1 basegun.kubernetes.local" | sudo tee -a /etc/hosts
- name: Checkout to code
uses: actions/checkout@v2

- name: Install basegun with helm and test is running
- name: Install basegun with helm and test it's running
env:
OS_PASSWORD: ${{ secrets.OS_PASSWORD }}
X_OVH_TOKEN: ${{ secrets.PREPROD_OVH_TOKEN }}
OS_PROJECT_NAME: ${{ secrets.OS_PROJECT_NAME }}
OS_USERNAME: ${{ secrets.OS_USERNAME }}
API_OVH_TOKEN: ${{ secrets.API_OVH_TOKEN }}
run: |
helm upgrade --install basegun ./infra/kube/basegun/ \
--set="ingress.hosts[0].host=basegun.kubernetes.local,ingress.hosts[0].paths[0].path=/"
--wait
kubectl rollout status deploy basegun-backend basegun-frontend --timeout=300s
--set="ingress.hosts[0].host=basegun.kubernetes.local" \
--set="ingress.hosts[0].paths[0].path=/" \
--set="ingress.hosts[0].paths[0].pathType=Prefix" \
--set="secret.create=true" \
--set="secret.values.OS_PASSWORD=$OS_PASSWORD" \
--set="secret.values.OS_PROJECT_NAME=$OS_PROJECT_NAME" \
--set="secret.values.OS_USERNAME=$OS_USERNAME" \
--set="secret.values.X_OVH_TOKEN=$PREPROD_OVH_TOKEN" \
--set="secret.values.API_OVH_TOKEN=$API_OVH_TOKEN"
for i in $(kubectl get deploy -o name); do kubectl rollout status $i -w --timeout=130s; done
- name: Test unitests on backend
run : |
kubectl exec basegun-backend -- python -m unittest discover -v
kubectl exec deploy/basegun-backend -- python -m unittest discover -v
- name: Test frontend
run: |
Expand Down

0 comments on commit 24a97e0

Please sign in to comment.