diff --git a/.github/workflows/deploy.yaml b/.github/workflows/build-containers.yaml similarity index 51% rename from .github/workflows/deploy.yaml rename to .github/workflows/build-containers.yaml index 0e146ce6..96e34437 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/build-containers.yaml @@ -50,41 +50,3 @@ jobs: - name: Build containers run: make build-and-push -e BUILD_TAG=${BUILD_TAG} - - - name: Set up wireguard tunnel configuration - run: | - sudo apt install wireguard resolvconf - echo '${{ secrets.WIRE_CONFIG }}' | sudo tee -a /etc/wireguard/tunnel.conf > /dev/null - - - name: Open wireguard tunnel - run: sudo wg-quick up tunnel - - - name: Export kubeconfig - run: | - mkdir -p ~/.kube/ - echo '${{ secrets.KUBE_CONFIG }}' > ~/.kube/config - kubectl get pods --namespace=${{ secrets.KUBE_NS }} - - - name: Deploy application - run: make deploy -e BUILD_TAG=${BUILD_TAG} - - - name: Wait for deployment success - run: kubectl rollout status deployment ${{ secrets.KUBE_DEPLOYMENT }} --namespace=${{ secrets.KUBE_NS }} - - - name: Check website is responding correctly, or rollback - run: | - set +e - curl --fail -sSL -D - ${{ env.TEST_URL }} -o /dev/null - - if [[ "$?" != 0 ]]; then - echo "Website is not properly online, rolling back" - kubectl rollout undo deployment.v1.apps/${{ secrets.KUBE_DEPLOYMENT }} --namespace=${{ secrets.KUBE_NS }} - kubectl rollout status deployment ${{ secrets.KUBE_DEPLOYMENT }} --namespace=${{ secrets.KUBE_NS }} - exit 1 - fi - - set -e - - - name: Disconnect from tunnel - if: always() - run: wg-quick down tunnel diff --git a/Dockerfile b/Dockerfile index 161a474c..fc32493a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -79,8 +79,7 @@ WORKDIR /application COPY infrastructure/nginx/nginx.conf /etc/nginx/conf.d/default.conf # NGINX config: update php-fpm hostname to localhost (same pod in k8s), activate pagespeed config, deactivate SSL -RUN sed -i "s/php-fpm/localhost/g" /etc/nginx/conf.d/default.conf \ - && sed -i "s/# %DEPLOYMENT //g" /etc/nginx/conf.d/default.conf \ +RUN sed -i "s/# %DEPLOYMENT //g" /etc/nginx/conf.d/default.conf \ && sed -i "s/listen 443/#listen 443/g" /etc/nginx/conf.d/default.conf \ && sed -i "s/ssl_/#ssl_/g" /etc/nginx/conf.d/default.conf diff --git a/infrastructure/kubernetes/deployment.yaml b/infrastructure/kubernetes/deployment.yaml deleted file mode 100644 index 7a2905ad..00000000 --- a/infrastructure/kubernetes/deployment.yaml +++ /dev/null @@ -1,164 +0,0 @@ -# See https://github.com/idev4u/concourse-ci-kube -kind: Namespace -apiVersion: v1 -metadata: - name: phpdocker - labels: - name: phpdocker - ---- - -apiVersion: v1 -kind: Service -metadata: - name: phpdocker - namespace: phpdocker - labels: - app: phpdocker -spec: - ports: - - port: 80 - targetPort: 80 - protocol: TCP - selector: - app: phpdocker - ---- -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: phpdocker - namespace: phpdocker - annotations: - nginx.ingress.kubernetes.io/server-alias: www.phpdocker.io - cert-manager.io/cluster-issuer: letsencrypt-prod -spec: - ingressClassName: nginx - rules: - - host: phpdocker.io - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: phpdocker - port: - number: 80 - tls: - - secretName: phpdocker-tls - hosts: - - phpdocker.io - - www.phpdocker.io - ---- - -kind: ConfigMap -apiVersion: v1 -metadata: - name: phpdocker - namespace: phpdocker -data: - redis_host: "redis" - redis_port: "6379" - ---- - -apiVersion: apps/v1 -kind: Deployment -metadata: - name: phpdocker - namespace: phpdocker - labels: - app: phpdocker -spec: - replicas: 1 - strategy: - type: RollingUpdate - selector: - matchLabels: - app: phpdocker - template: - metadata: - labels: - app: phpdocker - spec: - containers: - - image: phpdockerio/site-ngx:latest - name: nginx - - - image: phpdockerio/site-php:latest - name: php-fpm - - env: - - name: APP_ENV - value: prod - - - name: SYMFONY_ENV - value: prod - - - name: APP_SECRET - valueFrom: - secretKeyRef: - name: phpdocker - key: app.secret - - - name: GOOGLE_ANALYTICS - valueFrom: - secretKeyRef: - name: phpdocker - key: google_analytics - - - name: REDIS_HOST - valueFrom: - configMapKeyRef: - name: phpdocker - key: redis_host - - - name: REDIS_PORT - valueFrom: - configMapKeyRef: - name: phpdocker - key: redis_port - ---- - -apiVersion: v1 -kind: Service -metadata: - name: redis - namespace: phpdocker - labels: - app: redis -spec: - ports: - - port: 6379 - targetPort: 6379 - protocol: TCP - selector: - app: redis - ---- - -apiVersion: apps/v1 -kind: Deployment -metadata: - name: redis - namespace: phpdocker - labels: - app: redis -spec: - replicas: 1 - strategy: - type: RollingUpdate - selector: - matchLabels: - app: redis - template: - metadata: - labels: - app: redis - spec: - containers: - - image: redis:alpine - name: redis