42 lines
1.6 KiB
Markdown
42 lines
1.6 KiB
Markdown
# Hammerhead Configuration
|
|
|
|
## Roadmap
|
|
|
|
0. Prior
|
|
|
|
* The OS is fully installed and configured using the `os/config` Ansible scripts.
|
|
* Since Hammerhead is its own one-node cluster, Consul and Nomad have been reconfigured wth `bootstrap_expect == 1` manually.
|
|
|
|
1. Base components: things that need to be installed before services
|
|
|
|
* [x] Dummy HTTP server to have something to work with.
|
|
* [x] Reverse-proxy/load-balancer: nginx is a good match for a one-node deployment. Installing it with Nomad/Consul will make me practice Consul Template etc.
|
|
* [x] Generate services configuration outside the nginx service definition.
|
|
|
|
Can't do because of *separation of concerns*: files needed by nginx need to be defined in the nginx job specification.
|
|
|
|
Solution: each new service needs to add its nginx configuration to `app/nginx/config`.
|
|
|
|
* The services URL should be accessible from Consul using tags, instead of being hard-coded in configuration files.
|
|
* The dummy HTTP server replicas must not be accessible through the Internet.
|
|
* TLS: Let's Encrypt will probably be part of the same job definition as nginx.
|
|
|
|
|
|
2. Gitea migration
|
|
|
|
* Postgres database: needs to be its own Nomad job.
|
|
* Gitea: setting it up on Nomad.
|
|
* Migrating data from Serenity, where the DB is MySQL. Expect fun times.
|
|
* Database & files periodic backups
|
|
|
|
3. Synapse migration
|
|
|
|
* Postgres already setup
|
|
* Migrating from a Postgres on Serenity (easier)
|
|
* Backups
|
|
|
|
4. [Own/Next]cloud: Adrien needs it for himself.
|
|
|
|
* Compare distribution capabilities / S3-compatibility between the two solutions. The assumption is that Owncloud's Go rewrite is the better fit.
|
|
* Do the things.
|
|
|