diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index d6e4a29..ae56f2a 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -47,18 +47,18 @@ jobs: id: docker with: images: ${{ steps.repository.outputs.registry }}/${{ steps.repository.outputs.repository }} - - - name: Login to registry + tags: | + type=sha,prefix= + type=ref,event=tag + - + name: Login to registry uses: docker/login-action@v3 with: registry: ${{ steps.repository.outputs.registry }} username: "${{ secrets.PACKAGES_USER }}" password: "${{ secrets.PACKAGES_TOKEN }}" - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Set up Docker Buildx + - + name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 with: buildkitd-flags: '--allow-insecure-entitlement network.host' @@ -71,7 +71,6 @@ jobs: push: true allow: network.host network: host - platforms: linux/amd64,linux/arm64 tags: ${{ steps.docker.outputs.tags }} labels: ${{ steps.docker.outputs.labels }} build-args: | diff --git a/.github/workflows/delete-edge.yaml b/.github/workflows/delete-edge.yaml new file mode 100644 index 0000000..e1de29d --- /dev/null +++ b/.github/workflows/delete-edge.yaml @@ -0,0 +1,32 @@ +name: delete-edge + +on: + workflow_run: + workflows: [build] + types: + - completed + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-22.04 + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Replace Image Version + run: | + sha="${{ github.sha }}" + shortSha="${sha:0:7}" + echo "Setting image version to: edp.buildth.ing/devfw-cicd/edpdoc:${shortSha}" + sed -i "s@###IMAGETAG###@edp.buildth.ing/devfw-cicd/edpdoc:${shortSha}@g" ./k8s-deployment.yaml + + - name: Delete action + uses: https://edp.buildth.ing/DevFW-CICD/edge-connect-delete-action@main + id: delete + with: + configFile: ./edgeconnectdeployment.yaml + baseUrl: https://hub.apps.edge.platform.mg3.mdb.osc.live + username: ${{ secrets.EDGEXR_PLATFORM_USERNAME }} + password: ${{ secrets.EDGEXR_PLATFORM_PASSWORD }} diff --git a/.github/workflows/deploy-edge.yaml b/.github/workflows/deploy-edge.yaml new file mode 100644 index 0000000..23fd47c --- /dev/null +++ b/.github/workflows/deploy-edge.yaml @@ -0,0 +1,32 @@ +name: deploy-edge + +on: + workflow_run: + workflows: [build] + types: + - completed + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-22.04 + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Replace Image Version + run: | + sha="${{ github.sha }}" + shortSha="${sha:0:7}" + echo "Setting image version to: edp.buildth.ing/devfw-cicd/edpdoc:${shortSha}" + sed -i "s@###IMAGETAG###@edp.buildth.ing/devfw-cicd/edpdoc:${shortSha}@g" ./k8s-deployment.yaml + + - name: Deploy action + uses: https://edp.buildth.ing/DevFW-CICD/edge-connect-deploy-action@main + id: deploy + with: + configFile: ./edgeconnectdeployment.yaml + baseUrl: https://hub.apps.edge.platform.mg3.mdb.osc.live + username: ${{ secrets.EDGEXR_PLATFORM_USERNAME }} + password: ${{ secrets.EDGEXR_PLATFORM_PASSWORD }} diff --git a/edgeconnectdeployment.yaml b/edgeconnectdeployment.yaml new file mode 100644 index 0000000..d2af901 --- /dev/null +++ b/edgeconnectdeployment.yaml @@ -0,0 +1,23 @@ +kind: edgeconnect-deployment +metadata: + name: "edpdoc" + appVersion: "1.0.0" + organization: "edp2" +spec: + k8sApp: + manifestFile: "./k8s-deployment.yaml" + infraTemplate: + - region: "EU" + cloudletOrg: "TelekomOP" + cloudletName: "Munich" + flavorName: "EU.small" + network: + outboundConnections: + - protocol: "tcp" + portRangeMin: 80 + portRangeMax: 80 + remoteCIDR: "0.0.0.0/0" + - protocol: "tcp" + portRangeMin: 443 + portRangeMax: 443 + remoteCIDR: "0.0.0.0/0" diff --git a/k8s-deployment.yaml b/k8s-deployment.yaml new file mode 100644 index 0000000..02166d0 --- /dev/null +++ b/k8s-deployment.yaml @@ -0,0 +1,39 @@ +apiVersion: v1 +kind: Service +metadata: + name: edpdoc + labels: + run: edpdoc +spec: + type: LoadBalancer + ports: + - name: tcp80 + protocol: TCP + port: 80 + targetPort: 80 + selector: + run: edpdoc +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: edpdoc +spec: + replicas: 1 + selector: + matchLabels: + run: edpdoc + template: + metadata: + labels: + run: edpdoc + mexDeployGen: kubernetes-basic + spec: + volumes: + containers: + - name: edpdoc + image: ###IMAGETAG### + imagePullPolicy: Always + ports: + - containerPort: 80 + protocol: TCP