diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index 5483033..5dbf2bc 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -1,13 +1,13 @@ name: Deploy on: - push: - tags: - - 'v*' + push: + tags: + - "v*" jobs: ci: - uses: ./.github/workflows/ci.yaml + uses: ./.github/workflows/ci.yaml push: needs: ci @@ -29,10 +29,11 @@ jobs: with: images: gitea.ia-innovacion.work/innovacion/searchbox-mcp tags: | - type=ref,event=branch - type=ref,event=pr - type=sha,prefix={{branch}}- - type=raw,value=latest,enable={{is_default_branch}} + type=ref,event=tag + type=ref,event=tag,suffix=-{{sha}} + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=raw,value=latest - name: Build and push Docker image uses: docker/build-push-action@v5 @@ -43,22 +44,22 @@ jobs: tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} - # deploy: - # needs: release - # runs-on: ubuntu-latest - # steps: - # - name: Checkout code - # uses: actions/checkout@v4 + deploy: + needs: push + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 - # - name: Install kubectl - # uses: azure/setup-kubectl@v3 + - name: Install kubectl + uses: azure/setup-kubectl@v3 - # - name: Deploy to cluster - # env: - # KUBECONFIG_CONTENT: ${{ secrets.KUBECONFIG_CONTENT }} - # run: | - # echo "$KUBECONFIG_CONTENT" > kubeconfig - # export KUBECONFIG=$PWD/kubeconfig - # kubectl apply -f .k8s/ - # kubectl rollout restart deployment/python-demo - # kubectl rollout status deployment/python-demo + - name: Deploy to cluster + env: + KUBECONFIG_CONTENT: ${{ secrets.KUBECONFIG_CONTENT }} + run: | + echo "$KUBECONFIG_CONTENT" > kubeconfig + export KUBECONFIG=$PWD/kubeconfig + kubectl apply -f .k8s/ + kubectl rollout restart deployment/searchbox-mcp + kubectl rollout status deployment/searchbox-mcp diff --git a/.k8s/ingress.yaml b/.k8s/ingress.yaml new file mode 100644 index 0000000..348abed --- /dev/null +++ b/.k8s/ingress.yaml @@ -0,0 +1,20 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: searchbox-mcp-ingress + namespace: apps + annotations: + nginx.ingress.kubernetes.io/rewrite-target: / +spec: + ingressClassName: nginx + rules: + - host: searchbox.app.ia-innovacion.work + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: searchbox-mcp-service + port: + number: 80 diff --git a/.k8s/service.yaml b/.k8s/service.yaml new file mode 100644 index 0000000..60dd51f --- /dev/null +++ b/.k8s/service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: searchbox-mcp-service + namespace: apps + labels: + app: searchbox-mcp +spec: + selector: + app: searchbox-mcp + type: ClusterIP + ports: + - port: 80 + targetPort: 8000 + protocol: TCP