https://github.com/diogok/systemd-nomad
Docker, Consul and Nomad (and soon Vault) on systemd using cloud-init.
https://github.com/diogok/systemd-nomad
cloud-init consul docker multipass nomad systemd vault
Last synced: 10 months ago
JSON representation
Docker, Consul and Nomad (and soon Vault) on systemd using cloud-init.
- Host: GitHub
- URL: https://github.com/diogok/systemd-nomad
- Owner: diogok
- License: mit
- Created: 2018-11-28T20:01:35.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2023-01-28T10:14:17.000Z (about 3 years ago)
- Last Synced: 2025-04-06T17:50:10.890Z (10 months ago)
- Topics: cloud-init, consul, docker, multipass, nomad, systemd, vault
- Language: HCL
- Homepage:
- Size: 16.6 KB
- Stars: 9
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Systemd Hashcorp Nomad
Scripts and config to provision Hashistack on systemd systems using cloud-init.
Includes:
- docker
- cni plugins
- consul
- nomad
It can be used as a reference, as a terraform module (maybe...) or to generate and use cloud-init using terraform.
To do:
- vault
## Cloud-init
### Testing local
You can test using [multipass](https://multipass.run/) and [terraform](https://www.terraform.io/).
To launch server:
```
make launch-server
```
To launch client:
```
make launch-client
```
To see IPs and machines:
```
make list
```
## More information
- We setup max_map_count and max open files (fs.file-max)
- We create a docker network called just `network`
- The docker internal network will be 10.2.2.0/24
- The docker network will have host exposed to the containers at 10.2.2.1
- Connect is enabled on consul
- The machine default DNS is set as rescursive DNS on consul
- Nomad has prometheus metrics endpoint enabled
- Nomad have docker privilieged and raw exec enabled
- Nomad is connect enabled
- Set client or server vars accordingly
- Set bootstrap_expect var only on first manager
- It is all managed on systemd
- Use "join" var to set a seed node ip or cloud auto join string
## License
MIT