Compare commits

..

4 Commits

Author SHA1 Message Date
h7x4
46d7220479 Move deployment section from dev docs to README, add warning 2026-01-13 22:54:51 +09:00
h7x4
cd6f35a42d base/auto-upgrade: display build logs in journalctl 2026-01-13 19:59:43 +09:00
h7x4
643dcb091f kommode/gitea: add developer experience label 2026-01-13 19:59:43 +09:00
h7x4
06d6a08938 flake.nix: bump pvv-nettsiden 2026-01-13 19:59:43 +09:00
3 changed files with 31 additions and 26 deletions

View File

@@ -4,7 +4,33 @@ This repository contains the NixOS configurations for Programvareverkstedet's se
In addition to machine configurations, it also contains a bunch of shared modules, packages, and In addition to machine configurations, it also contains a bunch of shared modules, packages, and
more. more.
## Machines > [!WARNING]
> Please read [Development - working on the PVV machines](./docs/development.md) before making
> any changes, and [Secret management and `sops-nix`](./docs/secret-management.md) before adding
> any credentials such as passwords, API tokens, etc. to the configuration.
## Deploying to machines
> [!WARNING]
> Be careful to think about state when testing changes against the machines. Sometimes, a certain change
> can lead to irreversible changes to the data stored on the machine. An example would be a set of database
> migrations applied when testing a newer version of a service. Unless that service also comes with downwards
> migrations, you can not go back to the previous version without losing data.
To deploy the changes to a machine, you should first SSH into the machine, and clone the pvv-nixos-config
repository unless you have already done so. After that, checkout the branch you want to deploy from, and rebuild:
```bash
# Run this while in the pvv-nixos-config directory
sudo nixos-rebuild switch --update-input nixpkgs --update-input nixpkgs-unstable --no-write-lock-file --refresh --flake .# --upgrade
```
This will rebuild the NixOS system on the current branch and switch the system configuration to reflect the new changes.
Note that unless you eventually merge the current changes into `main`, the machine will rebuild itself automatically and
revert the changes on the next nightly rebuild (tends to happen when everybody is asleep).
## Machine overview
| Name | Type | Description | | Name | Type | Description |
|----------------------------|----------|-----------------------------------------------------------| |----------------------------|----------|-----------------------------------------------------------|

View File

@@ -156,27 +156,6 @@ nix build .#
> built some of the machines recently. Be prepared to wait for up to an hour to build all machines from scratch > built some of the machines recently. Be prepared to wait for up to an hour to build all machines from scratch
> if this is the first time. > if this is the first time.
### Deploying to machines
> [!WARNING]
> Be careful to think about state when testing changes against the machines. Sometimes, a certain change
> can lead to irreversible changes to the data stored on the machine. An example would be a set of database
> migrations applied when testing a newer version of a service. Unless that service also comes with downwards
> migrations, you can not go back to the previous version without losing data.
To deploy the changes to a machine, you should first SSH into the machine, and clone the pvv-nixos-config
repository unless you have already done so. After that, checkout the branch you want to deploy from, and rebuild:
```bash
# Run this while in the pvv-nixos-config directory
sudo nixos-rebuild switch --update-input nixpkgs --update-input nixpkgs-unstable --no-write-lock-file --refresh --flake .# --upgrade
```
This will rebuild the NixOS system on the current branch and switch the system configuration to reflect the new changes.
Note that unless you eventually merge the current changes into `main`, the machine will rebuild itself automatically and
revert the changes on the next nightly rebuild (tends to happen when everybody is asleep).
### Forcefully reset to `main` ### Forcefully reset to `main`
If you ever want to reset a machine to the `main` branch, you can do so by running: If you ever want to reset a machine to the `main` branch, you can do so by running:

8
flake.lock generated
View File

@@ -387,11 +387,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1768292629, "lastModified": 1768301954,
"narHash": "sha256-gOiSfqeQs/rOcJtQMrH5r1t7Xvg9r3GO5YaUtQxTgVs=", "narHash": "sha256-qRmrsx0k6Hc0BLM0I/f3YnTg19Sofjk2l1Kp/0Xfhc8=",
"ref": "main", "ref": "main",
"rev": "597aaf413a9d3f1f8c1265a0d2bea24b3c7217c1", "rev": "c997ad4b47993dfd2368c3bbd07a0f71d55e3f5a",
"revCount": 560, "revCount": 569,
"type": "git", "type": "git",
"url": "https://git.pvv.ntnu.no/Projects/nettsiden.git" "url": "https://git.pvv.ntnu.no/Projects/nettsiden.git"
}, },