NAME

k8s-test - Run DBIO tests against Kubernetes-provisioned databases

SYNOPSIS

# Set kubeconfig (or use KUBECONFIG / default ~/.kube/config)
export DBIO_TEST_KUBECONFIG=~/.kube/config

# Local mode (default): port-forward, run prove on your machine
maint/k8s-test                           # run all tests
maint/k8s-test t/72pg.t t/71mysql.t      # specific tests
maint/k8s-test --keep                    # don't delete namespace after

# In-cluster mode: build image, run as Job inside the cluster
maint/k8s-test --mode cluster
maint/k8s-test --mode cluster --image my-registry/dbio-test:v1

# Coverage
maint/k8s-test --cover                   # run with Devel::Cover
maint/k8s-test --cover t/72pg.t          # coverage for specific tests

# Options
--mode local|cluster    Test execution mode (default: local)
--keep                  Don't delete namespace after tests
--cover                 Run with Devel::Cover and generate report
--namespace NAME        Use specific namespace name
--image IMAGE           Docker image for cluster mode (default: dbio-test:latest)
--db pg,mysql,pg-ext,duckdb  Which databases to provision (default: pg,mysql)
--timeout SECS          Readiness timeout in seconds (default: 120)

DESCRIPTION

Provisions temporary PostgreSQL and MySQL pods in a Kubernetes cluster, then runs the DBIO test suite against them. Cleans up automatically unless --keep is specified.

Uses Kubernetes::REST and IO::K8s for all API interactions (no kubectl shelling out, except for port-forward in local mode).