Installation
Prerequisites
- Go 1.21+
- Nomad Cluster (1.5+)
- Consul Cluster (1.15+) for service discovery
- Vault (1.13+) for secrets (optional)
Install from Source
git clone https://gitlab.com/drpdishant/nomad-paas.git
cd nomad-paas/controlplane
go build -o bin/controlplane ./cmd/server
Docker
docker run -d \
-p 8080:8080 \
-e NOMAD_ADDR=http://nomad:4646 \
-e CONSUL_ADDR=consul:8500 \
-e VAULT_ADDR=http://vault:8200 \
nomad-paas/controlplane:latest
Configuration
The controlplane can be configured via config file or environment variables.
Config File (config.yaml)
server:
host: 0.0.0.0
port: 8080
nomad:
address: http://localhost:4646
region: global
namespace: default
consul:
address: localhost:8500
namespace: default
vault:
address: http://localhost:8200
path: secret/data/nomad-paas
defaults:
datacenter: dc1
resources:
cpu: 250m
memory: 256Mi
Environment Variables
| Variable | Description | Default |
|---|---|---|
NOMAD_ADDR |
Nomad API address | http://localhost:4646 |
CONSUL_ADDR |
Consul API address | http://localhost:8500 |
VAULT_ADDR |
Vault API address | http://localhost:8200 |
SERVER_PORT |
HTTP server port | 8080 |