#+title: Infra

This directory contains the definition of the VMs that host our infrastructure.
Their configuration can be updated via NixOps4. Run

#+begin_src sh
nixops4 deployments list
#+end_src

to see the available deployments. This should be done from the root of the
repository, otherwise NixOps4 will fail with something like:

#+begin_src
nixops4 error: evaluation: error:
       … while calling the 'getFlake' builtin

       error: path '/nix/store/05nn7krhvi8wkcyl6bsysznlv60g5rrf-source/flake.nix' does not exist, evaluation: error:
       … while calling the 'getFlake' builtin

       error: path '/nix/store/05nn7krhvi8wkcyl6bsysznlv60g5rrf-source/flake.nix' does not exist
#+end_src

Then, given a deployment (eg. ~git~), run

#+begin_src sh
nixops4 apply <deployment>
#+end_src

* Deployments

- ~git~ :: Machines hosting our Git infrastructure, eg. Forgejo and its actions
  runners
- ~web~ :: Machines hosting our online content, eg. the website or the wiki
- ~other~ :: Machines without a specific purpose

* Procolix machines

These machines are hosted on the Procolix Proxmox instance, to which
non-Procolix members of the project do not have access. They host our stable
infrastructure.

| Machine | Proxmox     | Description            | Deployment |
|---------+-------------+------------------------+------------|
| vm02116 | Procolix    | Forgejo                | ~git~      |
| vm02179 | Procolix    | /unused/               | ~other~    |
| vm02186 | Procolix    | /unused/               | ~other~    |
| vm02187 | Procolix    | Wiki                   | ~web~      |
| fedi300 | Fediversity | Forgejo actions runner | ~git~      |
