Skip to content

Merge pull request #34 from vaisu-bhut/dd_agent #42

Merge pull request #34 from vaisu-bhut/dd_agent

Merge pull request #34 from vaisu-bhut/dd_agent #42

Workflow file for this run

name: CD
on:
push:
branches: ["main", "staging"]
workflow_dispatch:
jobs:
build-and-health-check:
runs-on: ubuntu-latest
if: github.repository == 'ClestiqShield/AgentCore'
steps:
- uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Authenticate to Google Cloud
if: success()
uses: google-github-actions/auth@v1
with:
credentials_json: "${{ secrets.GCP_SA_KEY }}"
- name: Set up Cloud SDK
if: success()
uses: google-github-actions/setup-gcloud@v1
- name: Create Artifact Registry Repository
if: success()
env:
REPO: ${{ secrets.GCP_REPO }}
REGION: ${{ secrets.GCP_REGION }}
run: |
if ! gcloud artifacts repositories describe $REPO --location=$REGION; then
echo "Creating repository $REPO in $REGION..."
gcloud artifacts repositories create $REPO \
--repository-format=docker \
--location=$REGION \
--description="Docker repository for Clestiq Shield"
else
echo "Repository $REPO already exists."
fi
- name: Configure Docker for Artifact Registry
if: success()
run: gcloud auth configure-docker us-east1-docker.pkg.dev
- name: Build and Push Images to Artifact Registry
if: success()
env:
PROJECT_ID: ${{ secrets.GCP_PROJECT_ID }}
REPO: ${{ secrets.GCP_REPO }}
REGION: ${{ secrets.GCP_REGION }}
run: |
echo "Building and Pushing images..."
# Gateway
docker build -t $REGION-docker.pkg.dev/$PROJECT_ID/$REPO/gateway:${{ github.sha }} ./services/gateway
docker push $REGION-docker.pkg.dev/$PROJECT_ID/$REPO/gateway:${{ github.sha }}
# Also push 'latest' tag
docker tag $REGION-docker.pkg.dev/$PROJECT_ID/$REPO/gateway:${{ github.sha }} $REGION-docker.pkg.dev/$PROJECT_ID/$REPO/gateway:latest
docker push $REGION-docker.pkg.dev/$PROJECT_ID/$REPO/gateway:latest
# Sentinel (Source is services/security-agent)
docker build -t $REGION-docker.pkg.dev/$PROJECT_ID/$REPO/sentinel:${{ github.sha }} ./services/security-agent
docker push $REGION-docker.pkg.dev/$PROJECT_ID/$REPO/sentinel:${{ github.sha }}
docker tag $REGION-docker.pkg.dev/$PROJECT_ID/$REPO/sentinel:${{ github.sha }} $REGION-docker.pkg.dev/$PROJECT_ID/$REPO/sentinel:latest
docker push $REGION-docker.pkg.dev/$PROJECT_ID/$REPO/sentinel:latest
# Guardian
docker build -t $REGION-docker.pkg.dev/$PROJECT_ID/$REPO/guardian:${{ github.sha }} ./services/guardian
docker push $REGION-docker.pkg.dev/$PROJECT_ID/$REPO/guardian:${{ github.sha }}
docker tag $REGION-docker.pkg.dev/$PROJECT_ID/$REPO/guardian:${{ github.sha }} $REGION-docker.pkg.dev/$PROJECT_ID/$REPO/guardian:latest
docker push $REGION-docker.pkg.dev/$PROJECT_ID/$REPO/guardian:latest
# EagleEye
docker build -t $REGION-docker.pkg.dev/$PROJECT_ID/$REPO/eagle-eye:${{ github.sha }} ./services/eagle-eye
docker push $REGION-docker.pkg.dev/$PROJECT_ID/$REPO/eagle-eye:${{ github.sha }}
docker tag $REGION-docker.pkg.dev/$PROJECT_ID/$REPO/eagle-eye:${{ github.sha }} $REGION-docker.pkg.dev/$PROJECT_ID/$REPO/eagle-eye:latest
docker push $REGION-docker.pkg.dev/$PROJECT_ID/$REPO/eagle-eye:latest
echo "✅ All images pushed successfully!"
- name: Clean up
if: always()
run: |
echo "Cleaning up Docker resources..."
docker compose down -v
echo "✅ Cleanup complete"