-
1b63e21c0f
Caught up is an equality, not an ordering
jschoubben
2026-09-02 00:02:44 +02:00
-
649ce9bc3b
Directories belong to the number that runs inside
jschoubben
2026-09-01 23:45:17 +02:00
-
d85be55e3c
The media tail: bazarr, jackett, nzbget, tautulli, ombi
jschoubben
2026-09-01 23:26:29 +02:00
-
1dce1fc5e7
The media four: plex, sonarr, radarr, qbittorrent
jschoubben
2026-09-01 23:23:43 +02:00
-
0ba52d03a3
Two more: nextcloud and home-assistant
jschoubben
2026-09-01 23:09:40 +02:00
-
c0107b8572
Status says when each machine last reported, beside when it was sent
jschoubben
2026-09-01 23:02:26 +02:00
-
ef7750f816
Three more: searxng, influxdb, verdaccio
jschoubben
2026-09-01 22:49:18 +02:00
-
8c4a478b09
Four more of the catalogue: registry, redis, umami, grafana
jschoubben
2026-09-01 22:44:53 +02:00
-
38d4e77cec
A certificate is issued once and kept
jschoubben
2026-09-01 22:26:50 +02:00
-
b70f0d626a
What review found in the port machinery, fixed
jschoubben
2026-09-01 21:54:05 +02:00
-
8174f5c41e
plan is the send without the sending, so it allocates
jschoubben
2026-09-01 21:32:57 +02:00
-
be62f49eab
What provides the artifact store cannot be delivered through it
jschoubben
2026-09-01 21:18:14 +02:00
-
4d6ec5b10c
One object store, not two
jschoubben
2026-09-01 21:06:17 +02:00
-
0d975a051d
Asking what the mesh would send must not change it
jschoubben
2026-09-01 20:05:08 +02:00
-
83c6a2f244
Withdraw the mount check: it refuses the builder
jschoubben
2026-09-01 19:45:36 +02:00
-
53eb000a84
A container may not mount a path the module never declared
jschoubben
2026-09-01 19:36:01 +02:00
-
c67f836185
The mesh may only move a port it actually publishes
jschoubben
2026-09-01 19:31:05 +02:00
-
41f7c51032
Assign around what a machine already holds
jschoubben
2026-09-01 18:32:38 +02:00
-
1f5b70a995
The mesh assigns the port, and a module says it once
jschoubben
2026-09-01 17:52:53 +02:00
-
a5d85266d0
A container does not take restart-on, and nine of them did
jschoubben
2026-09-01 17:19:04 +02:00
-
f5b03e1474
Declare the directories that hold the data
jschoubben
2026-09-01 16:09:23 +02:00
-
ee3cc1b6f4
Pin the example modules to images that exist
jschoubben
2026-09-01 15:13:33 +02:00
-
2835f41a64
Stop committing a 12 MB binary I added by accident today
jschoubben
2026-09-01 03:21:45 +02:00
-
e49586646b
A comment claimed a test that does not exist
jschoubben
2026-09-01 03:15:22 +02:00
-
a4090014f3
An example may not name an image nothing builds
jschoubben
2026-09-01 03:12:49 +02:00
-
e5243cd753
Ask every consumer for usable configuration, not just the one in hand
jschoubben
2026-09-01 03:10:43 +02:00
-
71f77617e3
Omit a consumer's identity where there is none
jschoubben
2026-09-01 03:09:18 +02:00
-
122680b554
A consumer can write its own connection string
jschoubben
2026-09-01 03:03:07 +02:00
-
96f90ab986
Refuse an action where it was written, not on the machine
jschoubben
2026-09-01 02:55:56 +02:00
-
be2dca27ab
The example modules put their credentials where the programs read them
jschoubben
2026-09-01 02:52:00 +02:00
-
0af3ea1acf
A consumer is a module on a machine, not a machine
jschoubben
2026-09-01 02:40:09 +02:00
-
1314be5282
A file may hold a credential where its content says one belongs
jschoubben
2026-09-01 02:28:50 +02:00
-
df62bb57e5
A requirement answered on this machine is still a requirement
jschoubben
2026-09-01 02:15:26 +02:00
-
d0511ee3fe
The command API, which refuses everything until it knows who is asking
jschoubben
2026-09-01 01:55:56 +02:00
-
8cf1ecf6a5
secret accept: see the flag that comes after the arguments
jschoubben
2026-08-31 23:05:10 +02:00
-
7e9c28fd9e
secret accept — carry a value the mesh did not make
jschoubben
2026-08-31 21:57:57 +02:00
-
f04d00b411
The proxy can obtain a public certificate, and asks staging by default
jschoubben
2026-08-31 19:35:34 +02:00
-
16faadfe52
A session is a consumer of a licence, and (node, module) already names one
jschoubben
2026-08-31 18:41:19 +02:00
-
981cd4139b
Reference the record rather than link across repositories
jschoubben
2026-08-31 17:52:25 +02:00
-
950ebb9e28
The two halves of an object-store edge, as a readable pair
jschoubben
2026-08-31 17:52:14 +02:00
-
ed9a30f22d
A module can be given a bucket: the provisioner that makes a secret true
jschoubben
2026-08-31 17:51:12 +02:00
-
9f5d7a1a83
Name ADR 0013 in the test that defends it
jschoubben
2026-08-31 17:33:34 +02:00
-
ee84b624b1
A provision names the engine, because a consumer is coupled to one
jschoubben
2026-08-31 17:12:46 +02:00
-
ab1dd34d12
The resolver does not ask itself for upstreams
jschoubben
2026-08-31 14:09:50 +02:00
-
a18c3b9d13
needs is now own-secrets, named for whose it is
jschoubben
2026-08-31 13:47:21 +02:00
-
e3a2790acd
The resolver answers on an address systemd does not hold
jschoubben
2026-08-31 13:39:58 +02:00
-
6eeb10f066
A command opens each store once, not once per machine
jschoubben
2026-08-31 13:35:39 +02:00
-
8623613704
Split main.go along the seams it already had
jschoubben
2026-08-31 13:30:54 +02:00
-
68b0d0c10a
What answers a requirement is applied before what asked for it
jschoubben
2026-08-31 12:54:27 +02:00
-
bff893f8af
Resolver modules: one that serves, and two ways of deciding what a machine asks
jschoubben
2026-08-31 12:21:58 +02:00
-
3954157555
The mesh computes every name under a machine, for a resolver to answer
jschoubben
2026-08-31 11:39:21 +02:00
-
4d67c48342
Every container is given the mesh's names
jschoubben
2026-08-31 11:13:34 +02:00
-
092109debc
A computed module says what its machine opens, so a hub can be filtered
jschoubben
2026-08-31 10:07:01 +02:00
-
d1c256c2b1
The board says what is waiting too, or it disagrees with the command
jschoubben
2026-08-31 06:00:04 +02:00
-
5a28434ba8
"Behind" means not running what the mesh would send
jschoubben
2026-08-31 05:17:21 +02:00
-
dfca21fa55
Keep what a machine said about itself, not just the yes
jschoubben
2026-08-31 04:53:45 +02:00
-
92133c340b
A board that reads through the same interfaces and holds nothing
jschoubben
2026-08-31 04:49:21 +02:00
-
29b336bb8d
Say the remedy beside the problem in status
jschoubben
2026-08-31 03:22:24 +02:00
-
faf5ecd70f
One machine's unanswerable requirement does not remove it from the mesh
jschoubben
2026-08-31 03:06:33 +02:00
-
005b928d36
Test the licence store, and name an unknown licence rather than a constraint
jschoubben
2026-08-31 02:59:39 +02:00
-
fbae2f1f9f
Build everything behind its source, in one command
jschoubben
2026-08-31 02:55:10 +02:00
-
87c6a56b81
Model access is a provision answered by a record, not a machine
jschoubben
2026-08-31 02:50:38 +02:00
-
d0c0ee8dab
A route is a grant, and a provider is told where its consumer is
jschoubben
2026-08-31 02:43:19 +02:00
-
ebcfd37b92
Rotate a credential and move both ends together
jschoubben
2026-08-31 02:38:52 +02:00
-
e2916ee3db
The pin is compared in the spelling the mesh writes it
jschoubben
2026-08-31 01:45:09 +02:00
-
8b2d1bce9d
Something answered on this machine is still bound
jschoubben
2026-08-31 01:35:23 +02:00
-
a5b11fd6b2
A build machine is told what to check the broker against
jschoubben
2026-08-31 00:55:33 +02:00
-
1eb1b69cae
What the mesh computes is applied before what the module declared
jschoubben
2026-08-31 00:37:01 +02:00
-
d9bee18d44
A mesh on both address families renders both
jschoubben
2026-08-31 00:34:20 +02:00
-
58c8ab7747
A secret the mesh was given is not one the mesh can reinvent
jschoubben
2026-08-31 00:32:11 +02:00
-
48735171eb
A machine's filtering is computed from what it was assigned
jschoubben
2026-08-31 00:25:12 +02:00
-
646609c1b2
The mesh certifies names inside it
jschoubben
2026-08-31 00:09:13 +02:00
-
0262873254
status --json, so a board has something to read
jschoubben
2026-08-30 20:22:04 +02:00
-
79d6ade4c8
push --behind, and a builder told where to publish
jschoubben
2026-08-30 19:47:02 +02:00
-
45c3853f4e
A consumer that stopped asking is withdrawn
jschoubben
2026-08-30 19:17:13 +02:00
-
15fd70e3ce
A module may mirror an image it did not write
jschoubben
2026-08-30 18:28:05 +02:00
-
c37d368f65
A module may need a secret of its own, and the provisioner watches
jschoubben
2026-08-30 18:22:05 +02:00
-
9681b288aa
Keep what each machine did, so status can say what is wrong
jschoubben
2026-08-30 18:08:59 +02:00
-
3195634441
A build machine gets its own credential, scoped to build work
jschoubben
2026-08-30 10:28:41 +02:00
-
0bbb5c6838
Builds have a history, and failures are rows like any other
jschoubben
2026-08-30 10:18:23 +02:00
-
78c5b653cf
A secret the mesh is given, not one it made
jschoubben
2026-08-30 03:47:04 +02:00
-
421fe73dce
The mesh builds: a machine takes the work, and the catalogue shows it
jschoubben
2026-08-30 03:46:02 +02:00
-
7d033ad9f6
Publish to the registry, and a command that builds a repository
jschoubben
2026-08-30 03:36:04 +02:00
-
604b04886b
A builder: a repository becomes artifacts the mesh can pin
jschoubben
2026-08-30 03:32:46 +02:00
-
44ba100595
A module says what it builds, and the built manifest is a different document
jschoubben
2026-08-30 03:29:17 +02:00
-
d978712d7f
Split resolving from rendering a declaration
jschoubben
2026-08-30 02:54:51 +02:00
-
02d1020bce
The token carries the node's name
jschoubben
2026-08-30 02:36:57 +02:00
-
b9aac2b700
Check that what a node says when it joins is what this mesh reads
jschoubben
2026-08-30 02:20:28 +02:00
-
c3046dcf56
A provider is told who its consumers are, and a reference provisioner
jschoubben
2026-08-30 01:31:25 +02:00
-
20f78cd5f1
Credentials the mesh delivers and cannot read
jschoubben
2026-08-30 00:21:18 +02:00
-
c4782ae2fd
An app is told where its database is
jschoubben
2026-08-30 00:02:18 +02:00
-
d4064122d6
Where the answer to a requirement is allowed to live
jschoubben
2026-08-29 23:51:50 +02:00
-
5a3a87e8c3
A module can tell its provider what it needs
jschoubben
2026-08-29 23:35:43 +02:00
-
44d134ba25
Networking is a module, and a domain module is how you avoid choosing
jschoubben
2026-08-29 23:19:32 +02:00
-
65ade756f2
Settings: changing a module's config without editing its file
jschoubben
2026-08-29 23:01:09 +02:00
-
653e232f1c
The mesh knows where a module came from, and whether it is behind
jschoubben
2026-08-29 22:32:16 +02:00
-
931a3a19a5
Taking a module off a node takes it off the machine
jschoubben
2026-08-29 22:16:11 +02:00
-
409cd16a09
The mesh decides what a node runs
jschoubben
2026-08-29 22:00:06 +02:00
-
f0cff88172
The mesh knows who is out of touch
jschoubben
2026-08-29 20:32:27 +02:00
-
fc1417be72
Names, from the same graph as the network
jschoubben
2026-08-29 19:58:01 +02:00