Skip to content

CI lacks end-to-end testing with real Kubernetes cluster #53

@yairfalse

Description

@yairfalse

Problem

Current CI (.github/workflows/ci.yml) only runs:

  • Format check
  • Clippy
  • Unit tests
  • Security audit
  • Build

There's no validation that the controller actually works in Kubernetes.

Impact

  • Regressions in K8s API interactions won't be caught
  • Gateway/HTTPRoute reconciliation bugs can ship
  • No confidence that releases actually work

Suggested Fix

Add a CI job that:

  1. Spins up Kind cluster
  2. Installs Gateway API CRDs
  3. Deploys RAUTA
  4. Creates test Gateway + HTTPRoute
  5. Sends HTTP traffic and verifies routing
  6. Checks controller logs for errors

Example workflow addition:

e2e:
  runs-on: ubuntu-latest
  steps:
    - uses: actions/checkout@v4
    - uses: helm/kind-action@v1
    - name: Install Gateway API CRDs
      run: kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.0.0/standard-install.yaml
    - name: Build and load image
      run: |
        docker build -t rauta:test .
        kind load docker-image rauta:test
    - name: Deploy and test
      run: |
        kubectl apply -f deploy/
        # ... run integration tests

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions