Skip to main content

Deploy AI Platform Engineering on EKS

This guide shows how to deploy the ai-platform-engineering helm chart to your EKS cluster using ArgoCD.

Prerequisites: Ensure you have completed the previous sections:

  • ArgoCD is deployed on your cluster
  • Agent secrets are configured

Step 1: Create ArgoCD Application

Copy the ArgoCD application template:

cp deploy/eks/argocd-application.yaml.example argocd-application.yaml

Step 2: Configure Your Deployment

Create a new branch to customize your deployment configuration. You can see an example at example-argocd-deploy-values branch.

Enable Desired Agents

Edit helm/values.yaml to enable the agents you want to deploy:

# Agent configurations
agent-argocd:
- enabled: false
+ enabled: true
nameOverride: "agent-argocd"
image:
repository: "ghcr.io/cnoe-io/agent-argocd"

agent-pagerduty:
- enabled: false
+ enabled: true
nameOverride: "agent-pagerduty"
image:
repository: "ghcr.io/cnoe-io/agent-pagerduty"

agent-github:
enabled: false # Only enable what you need

# ... configure other agents as needed

Step 3: Configure Secret Management

Choose one of the following approaches based on how you've set up your secrets in the Configure Agent Secrets section.

Option A: Using Manual Secrets

If you created secrets manually in the previous step, edit helm/values-existing-secrets.yaml to reference your secret names:

# Secret for your global LLM provider
global:
secrets:
- secretName: ""
+ secretName: "llm-secret"

# Agent specific secrets
agent-argocd:
secrets:
- secretName: ""
+ secretName: "argocd-secret"

agent-pagerduty:
secrets:
- secretName: ""
+ secretName: "pagerduty-secret"

# ... configure other agent secrets as needed

Option B: Using External Secrets

If you're using external secret management (e.g., AWS Secrets Manager, HashiCorp Vault):

cp helm/values-external-secrets.yaml.example helm/values-external-secrets.yaml

Then edit the file to configure your external secret management solution with the appropriate providers and secret references.

Step 3: Update ArgoCD Application

Edit your argocd-application.yaml file:

Set Target Branch

    - repoURL: https://github.com/cnoe-io/ai-platform-engineering.git
targetRevision: <YOUR BRANCH NAME> # Replace with your branch name
ref: values

Set Chart Version

Find the current chart version in helm/Chart.yaml and update:

  sources:
# Main chart from GHCR
- chart: ai-platform-engineering
repoURL: ghcr.io/cnoe-io/helm-charts
targetRevision: <CHART VERSION> # Replace with your chart version

Step 4: Commit and Push Changes

git add .
git commit -m "Configure ai-platform-engineering deployment"
git push origin your-branch-name

Step 5: Deploy with ArgoCD

Apply the ArgoCD application:

kubectl apply -f argocd-application.yaml

Step 6: Verify Deployment

Check the ArgoCD UI or use kubectl to verify your deployment:

# Check ArgoCD applications
kubectl get applications -n argocd

# Check deployed pods
kubectl get pods -n ai-platform-engineering

# Check application sync status
kubectl describe application ai-platform-engineering -n argocd

Troubleshooting

  • Application not syncing: Check that your branch name and chart version are correct in the ArgoCD application
  • Pods not starting: Verify that all required secrets are created and contain valid values
  • Agent connection issues: Check the logs of individual agent pods for authentication or configuration errors