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).