Helm Deployment via VMware Aria Automation Code Stream + Kubernetes

 

Overview

This deployment model integrates VMware Aria Automation Code Stream with Kubernetes to securely and automatically execute Helm chart deployments.

The approach leverages a short-lived Kubernetes Job that handles:

  • Git repository checkout

  • Helm chart installation/upgrade

  • Automatic cleanup post-execution

This ensures secure, ephemeral, and repeatable deployments with minimal cluster footprint.


Design Components

🔹 Code Stream Pipeline

  • Type: Kubernetes Task

  • Trigger: Manual or scheduled

  • Inputs: Git credentials (e.g., gitusername1, gitpassword2)

  • Purpose: Submits Kubernetes Job manifest to the target cluster


🔹 Kubernetes Job

  • API Version: batch/v1

  • Namespace: <Name Space>

  • Service Account: crypto (preconfigured RBAC permissions)

  • Image: Custom Alpine with Helm + Git CLI (k8s:1.33.3)

  • Execution Steps:

    1. Clone Helm chart from internal GitLab

    2. Run helm upgrade --install with values file

    3. Deploy resources into target namespace


🔹 Security Controls

  • ServiceAccount RBAC: Least-privilege access (create/update/patch on deployments, secrets, configmaps)

  • ImagePullSecrets: (creds) for private registry authentication

  • Git Access: HTTPS with token-based authentication

🔹 Lifecycle Management

  • Restart Policy: Never

  • Retries: backoffLimit: 0 (fail fast)

  • Cleanup: ttlSecondsAfterFinished: 60 for automatic pod/job deletion


Deployment Flow

  1. Pipeline Trigger → User initiates Code Stream pipeline with GitLab inputs

  2. Job Submission → Code Stream submits manifest to Kubernetes API

  3. Git & Helm Execution → Job container clones repo and runs helm upgrade --install

  4. Helm Deployment → Resources applied into namespace (--create-namespace if needed)

  5. Cleanup → Job & pod auto-delete after 60s/120s

  6. Validation → Operator checks with helm status & Kubernetes resources


Process Flow Diagram



Key Highlights

  1. Ephemeral Execution → No long-running CI/CD pods; jobs auto-cleanup

  2. Isolation → Each deployment runs independently, avoiding conflicts

  3. Rollback Ready → helm rollback services <REVISION> --namespace <NS> supported via pipeline

  4. Secure by Design → ServiceAccount with least privilege, private registry auth

  5. Namespace Agnostic → Can target any namespace via manifest update

  6. Minimal Footprint → TTL ensures no resource leftovers

  7. Scalable → Parallel deployments for multiple teams without interference


Implementation & Output

  • Code Stream pipeline screenshot




  • vRO task execution (optional)

  • Kubernetes Job logs

         kubectl get jobs -n <name space>
  • Helm release status (helm status <release> -n <namespace>)

        helm history application-name -n <name space>
  • Namespace pods/services after deployment


Further Automation

If you need enhancements or additional automation features, feel free to reach out. HashtagForge


Comments

Popular posts from this blog

CSP-102547 Patch Upgrade Experience VMware Identity Manager 3.3.7 & Aria Suite Lifecycle 8.18.0 (Patch 5 → 7)

Bulk Import DFW Rules to NSX-T using Aria Automation

VCF 9 Automation vs Aria Automation 8.x (Part 1)