Terraform modules for nomad clusters. In order to use these modules, please use the following provider block:
provider "nomad" {
address = env.NOMAD_ADDR
region = env.NOMAD_REGION
secret_id = env.NOMAD_TOKEN
}
DNS server which could be used to resolve nomad services into dns records
TODO:
- All nomad jobs will need to use the coredns service as a dns_server option
GitHub action runner, which can be placed on several nodes
TODO:
- Remove runner from github when job is removed
grafana is a database server
TODO:
- LDAP integration
- Add TLS support
- Data source provisioning
- Dashboard provisioning
Time-series database, which can be placed on several nodes
TODO:
- Add TLS support
Analytics dashboard builder
TODO:
- Add LDAP support
Document database, which can be replicated on several nodes
TODO:
- Add TLS support
MQTT broker, which can be placed on several nodes
TODO:
- Add TLS support
Web server and reverse proxy, which can be placed on several nodes
TODO:
- In progress
- Add TLS certificate support
- Not sure how we can integrate with nomad services
Ollama LLM service, with the Open WebUI.
TODO:
- Add multiple AI service keys and hosts
- Potentiallty don't call Ollama like this from the Web UI, if there is more than one host
OpenLDAP server, which can be placed on several nodes
TODO:
- In progress
- Add TLS support
- Add replication support
- Add custom schema support
OpenLDAP administration, for adding users and groups, and changing passwords
TODO:
- Add TLS support
- Add SNMP support
PostgreSQL is a database server
TODO:
- LDAP integration
- Add TLS support
- Add replication support
- Use volume instead when the data does not have '/' as prefix
- Add users, databases and roles support on initialization
Photoprism is a photo library hosting service. It uses it's own MariaDB database.
Cluster filesystem, which can be spread across multiple nodes.
TODO:
- A lot of testing is needed
Semaphore is a Ansible front-end
TODO:
- In progress
- LDAP integration
Time-series metrics collector, which can be placed on several nodes
When setting up your configuration with inputs and outputs, each value needs to be JSON encoded, so that the configuration can be passed as a map of strings, as Terraform does not support maps of more than one type. See the terraform example above for a demonstration of this.
TODO:
- Add processors support