infrastructure/hammerhead/README.md
LUXEY Adrien 7275c5b156 minor
2021-05-14 10:32:40 +02:00

1.6 KiB

Hammerhead Configuration

Roadmap

  1. 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.
  2. Base components: things that need to be installed before services

    • Dummy HTTP server to have something to work with.

    • 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.

    • 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.

  3. 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
  4. Synapse migration

    • Postgres already setup
    • Migrating from a Postgres on Serenity (easier)
    • Backups
  5. [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.