Skip to content

Commit 31d81a7

Browse files
committed
Provision turing with guix
This places a starting point for Guix experiments on Turing. At present, it configures the following things on Turing: - SSH - nginx with `certbot` - PostgreSQL - nftables blocking everything but SSH It serves to test out fully declarative deployments and in no point aims to replace our Ansible setup. This commit is purely proposed for merge to enable collaboration.
1 parent 4fdd086 commit 31d81a7

11 files changed

Lines changed: 224 additions & 0 deletions

File tree

.pre-commit-config.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ repos:
1111
- id: end-of-file-fixer
1212
- id: trailing-whitespace
1313
args: [--markdown-linebreak-ext=md]
14+
exclude: ^guix/guix-acl-keys/
1415

1516
- repo: local
1617
hooks:

guix/README.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# DevOps Area 51
2+
3+
> This directory is a declarative deployment... and part of a system of
4+
> declarative deployments... pay attention to it!
5+
6+
Here we test out declarative deployments using Guix on Turing. It serves mainly
7+
as a playground for ideas.
8+
9+
## Deploying
10+
11+
**Prerequisites**
12+
13+
- Relevant SSH key (see `./ssh-keys/`) in your SSH agent
14+
- Guix packaging ACL key deployed on turing
15+
- This is usually at `/etc/guix/signing-key`. If not, run `guix archive
16+
--generate-key` as root.
17+
- This is needed for the remote Guix instance to accept packages we build
18+
locally.
19+
20+
**Deploying**
21+
22+
```sh
23+
# Optional, but recommended
24+
# guix pull
25+
guix deploy turing.scm
26+
```

guix/guix-acl-keys/jc.pub

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
(public-key
2+
(ecc
3+
(curve Ed25519)
4+
(q #4D454A6338DCC455670972224BC70BEB22BA45E5D90010B9982B8BADF3BF1391#)
5+
)
6+
)

guix/guix-acl-keys/lovelace.pub

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
(public-key
2+
(ecc
3+
(curve Ed25519)
4+
(q #C2F473C5A16D14256DC6CBE78DB3F2D782B7723AECCCBCB123BE84DB110BF348#)
5+
)
6+
)

guix/ssh-keys/chris-lovelace.pub

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN9bVRTi9UIihz9B2wRpnsyl/1NqXJXuea6aPrH/h+o2 cj@lovelace.box.pydis.wtf

guix/ssh-keys/chris.pub

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFMxOPLzQEOJtBJJ6Od9ucrDUpAFOviqJaUAvoG8NzyM chris@neptune

guix/ssh-keys/jb-lovelace.pub

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIFKEXZxjRHz7Isq6+XmwkVu+PLDtlVRWlWfvx1QFxCN joe@lovelace

guix/ssh-keys/jb.pub

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPyNdEOw7tfOHWCM0w2A7UzspnYYpNiF+nak51dcx3d7

guix/ssh-keys/jb2.pub

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBAeclEz5F0yR4ip/cCbsJ6uHdo8QPK5FBPb6aH/e2Fg

guix/ssh-keys/jc.pub

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINoHtDPD+w3rKGW4JVEDXidpRM1UXksC+/cMFgCykQBy jc@turing.box.chrisjl.dev

0 commit comments

Comments
 (0)