Skip to content

[Feature] Unified Containerization, CI/CD, and Kubernetes Deployment for Responsible AI Platform #61

@hasnatelias

Description

@hasnatelias

Module Name

responsible-ai-platform CI/CD

Is your feature request related to a problem? Please describe.

The overall Responsible AI project currently lacks a unified, reproducible, and automated environment for running all its modules together.
Each submodule (e.g., admin, backend, fairness, privacy, moderation, explainability, benchmarking, etc.) has its own Dockerfile, but there is no integrated orchestration system that allows contributors or users to build, test, and run the entire Responsible AI platform consistently.

This makes local setup, CI/CD validation, and Kubernetes deployment complex and fragmented.

Tagging @InfosysResponsibleAI for visibility.
Labels: enhancement, infrastructure, docker, kubernetes, ci-cd, devops

Describe the solution you'd like

Implement a unified containerization and deployment architecture for the Responsible AI project that includes:

  1. Docker & Docker Compose

    • Standardize all module builds using a single root-level docker-compose.yml.
    • Use a centralized .env file for shared environment variables and configuration consistency.
  2. Kubernetes (Minikube) Deployment

    • Provide Helm charts or K8s manifests to deploy all services locally for cluster-level validation.
    • Enable inter-service communication, autoscaling, and persistent storage where necessary.
  3. Local CI/CD with act

    • Simulate GitHub Actions workflows locally using the act tool.
    • Ensure developers can validate build/test pipelines before committing or merging.
  4. GitHub Workflows Integration

    • Create GitHub Actions pipelines to build, push, and test Docker images.
    • Automate end-to-end testing using Docker Compose or Kubernetes runners.
    • Optionally include deployment workflows for staging environments.

This architecture will allow:

  • One-command setup for local development and testing.
  • Consistent environment replication across contributors.
  • Seamless CI/CD integration for automated validation and deployment.
flowchart LR
    Dev["Developer (Local)"]
    Repo["GitHub Repository"]
    ENV["Central .env File"]

    subgraph DockerCompose [Local Environment - Docker Compose]
        Compose["docker-compose.yml"]
        Admin["Admin UI"]
        Backend["Backend API"]
        Fairness["Fairness Module"]
        Privacy["Privacy Module"]
        Moderation["Moderation Module"]
        Explain["Explainability Module"]
        Bench["Benchmarking Module"]
    end

    subgraph K8s [Local Cluster - Minikube / Kubernetes]
        Helm["Helm Charts / Manifests"]
        Services["Responsible AI Services Namespace"]
    end

    subgraph CICD [CI/CD Pipeline]
        Act["act (Local GitHub Actions Runner)"]
        GHA["GitHub Actions Workflows"]
        Registry["Container Registry"]
        Artifacts["Build Artifacts / Reports"]
    end

    Dev -->|"git push / PR"| Repo
    Dev -->|Run Compose locally| Compose
    ENV --> Compose
    ENV --> Helm

    Compose --> Admin
    Compose --> Backend
    Compose --> Fairness
    Compose --> Privacy
    Compose --> Moderation
    Compose --> Explain
    Compose --> Bench

    Helm --> Services

    Repo --> GHA
    Dev --> Act
    Act --> GHA

    GHA -->|Build & Push Images| Registry
    GHA -->|Upload| Artifacts
    GHA -->|Optional Deploy| Services

    Registry --> Compose
    Registry --> Services
    Artifacts --> Dev

Loading

Describe alternatives you've considered

  • Maintaining separate Dockerfiles per module with no orchestration (difficult to scale or test combined functionality).
  • Manual container startup using ad-hoc scripts (error-prone and inconsistent).
  • Cloud-only deployments without local Minikube validation (harder for open-source contributors).

By implementing this unified architecture, the Responsible AI project will become developer-friendly, CI/CD-ready, and cloud-native by design.

Metadata

Metadata

Labels

enhancementNew feature or request

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions