Deploy on Minikube

The swim-deploy-minikube project provides an Ansible playbook that automates the entire setup: cluster creation, operator installation, certificate generation, and SWIM service deployment.

Prerequisites

Minikube latest version
Podman or Docker container runtime for Minikube
Ansible for playbook execution
6 CPUs / 16 GB RAM recommended minimums

Windows: The commands below use GNU Make. Install it via choco install make (Chocolatey) or scoop install make.

1. Clone and Run

git clone https://github.com/swim-developer/swim-deploy-minikube.git
cd swim-deploy-minikube

# Infrastructure only (no SWIM services)
make setup

# Full setup with sample services deployed
make setup-samples

2. What Gets Installed

  • cert-manager with a self-signed SWIM CA (ClusterIssuer)
  • Strimzi Kafka Operator and a Kafka cluster
  • ArtemisCloud Operator for AMQP brokers
  • Keycloak for OAuth 2.0 / OIDC
  • SWIM Kubernetes Operator
  • DNOTAM Consumer, Provider, and Consumer Validator (with deploy_samples=true)

3. Network Access

On macOS with Apple Silicon (Podman driver), run the tunnel:

sudo minikube tunnel --profile=swim
# Run PowerShell as Administrator
minikube tunnel --profile=swim

Access services at https://<service>.127.0.0.1.nip.io. On other platforms, use minikube ip --profile=swim to get the cluster IP.

4. Import the CA Certificate

The playbook exports swim-ca.crt, swim-client.crt, and swim-client.key. Import the CA into your browser or system trust store to access SWIM endpoints over HTTPS without warnings.

5. Tear Down

make destroy