Please refer to the community cookbook documentation on testing.
- Chef Workstation: Install from Chef Downloads
- Docker: Required for Dokken driver (faster local testing)
- macOS: Docker Desktop
- Linux: Install via package manager
-
Enable Dokken driver (faster than Vagrant):
export KITCHEN_LOCAL_YAML=kitchen.dokken.ymlOr add to your shell profile (
~/.bashrc,~/.zshrc, or usemise.toml):echo 'export KITCHEN_LOCAL_YAML=kitchen.dokken.yml' >> ~/.zshrc
-
Verify setup:
kitchen list
You should see Dokken as the driver for all instances.
kitchen test ident-16-debian-12kitchen test ident-16kitchen test ident-16-debian-12 ident-16-ubuntu-2204 ident-16-rockylinux-9# Create and converge the instance
kitchen converge ident-16-debian-12
# Login to inspect
kitchen login ident-16-debian-12
# Inside the container, check PostgreSQL status
systemctl status postgresql-16
cat /var/lib/pgsql/16/data/pg_ident.conf
cat /var/lib/pgsql/16/data/pg_hba.conf
tail -f /var/lib/pgsql/16/data/log/postgresql-*.log
# Run tests manually
kitchen verify ident-16-debian-12
# Cleanup when done
kitchen destroy ident-16-debian-12# Linux: Add your user to docker group
sudo usermod -aG docker $USER
# Then logout and login again# Clean up old containers
docker ps -a | grep kitchen | awk '{print $1}' | xargs docker rm -f
# Clean up dokken network
docker network prune- Ensure you're using the same PostgreSQL version (check
node['test']['pg_ver']) - Check platform differences (RHEL vs Debian package names, paths)
- Review CI logs for specific error messages
- access-*: Tests
postgresql_accessresource (pg_hba.conf management) - client-install-*: Tests client-only installation
- extension-*: Tests PostgreSQL extension installation
- ident-*: Tests
postgresql_identresource (pg_ident.conf management) - initdb-locale-*: Tests database initialization with custom locale
- server-install-*: Tests full server installation
- all-repos-install-*: Tests installation with all repository options enabled
- no-repos-install-*: Tests installation without PGDG repositories
- repo-*: Tests repository configuration only