Pasha Sviderski
|
b046b78398
|
feat: migrate Caddy to generated Caddyfile, mount persistent data volume
|
2025-08-22 19:51:15 +10:00 |
|
Pasha Sviderski
|
e99e769455
|
chore: add Caddy gRPC service to retrieve Caddyfile config from machines
|
2025-08-21 17:04:42 +10:00 |
|
Pasha Sviderski
|
11949eeb3b
|
chore: include validation errors for user-defined Caddy configs as a comment in Caddyfile
|
2025-08-21 14:01:24 +10:00 |
|
Pasha Sviderski
|
b437659678
|
chore: update comments in generated Caddyfile
|
2025-08-21 13:14:54 +10:00 |
|
Pasha Sviderski
|
c01365b416
|
chore: add header to generated Caddyfile that it's autogenerated
|
2025-08-21 08:54:06 +10:00 |
|
Pasha Sviderski
|
813c397644
|
chore: change reverse_proxy upstreams from 'to' to the directive arguments
|
2025-08-21 08:32:45 +10:00 |
|
Pasha Sviderski
|
5cc005a423
|
feat: validate and append custom per-service Caddy configs to generated Caddyfile
|
2025-08-21 08:18:59 +10:00 |
|
Pasha Sviderski
|
03970862ab
|
feat: concatenate custom Caddy configs for services into final Caddyfile (no upstream interpolation)
|
2025-08-19 22:01:48 +10:00 |
|
Pasha Sviderski
|
8bf9fc0c9c
|
chore: introduce mockery for generating mocks, generate for CaddyfileValidator
|
2025-08-18 18:50:47 +10:00 |
|
Pasha Sviderski
|
93fef88fac
|
chore: refactor Caddyfile generator to accept a validator
|
2025-08-18 18:48:32 +10:00 |
|
Pasha Sviderski
|
455174ccb0
|
chore: generate sites in Caddyfile from x-ports alongside caddy.json
|
2025-08-15 18:29:23 +10:00 |
|
Pasha Sviderski
|
1ce3e62dbb
|
fix: use local and remote Docker credentials to pull image from private registry
|
2025-08-15 14:09:40 +10:00 |
|
Pasha Sviderski
|
4be8339c51
|
chore: generate a minimal Caddyfile with verify handler alongside caddy.json
|
2025-08-14 19:43:40 +10:00 |
|
Pasha Sviderski
|
8dd69b46da
|
chore: refactor docker gRPC server to use docker service for inspecting and listing containers
|
2025-08-14 15:34:59 +10:00 |
|
Pasha Sviderski
|
4cc1e556dd
|
chore: store ServiceContainer (includes service spec) instead of Container in Corrosion store
|
2025-08-14 14:53:33 +10:00 |
|
Pasha Sviderski
|
ae9f943404
|
chore: change default restart policy for service containers always -> unless-stopped
|
2025-08-07 18:09:35 +10:00 |
|
Pasha Sviderski
|
6c244bb8f9
|
fix: do not try to reset machine when removing unreachable machine
|
2025-08-06 15:11:27 +10:00 |
|
Pasha Sviderski
|
8beb9e2679
|
chore: lint
|
2025-08-04 19:20:52 +10:00 |
|
Pasha Sviderski
|
0c2ff499c6
|
fix: log message deleting iptables chain
|
2025-08-04 19:16:54 +10:00 |
|
Pasha Sviderski
|
b39585df4c
|
chore: do not masquerade container IPs when communicating via WG mesh
|
2025-08-04 19:09:38 +10:00 |
|
Pasha Sviderski
|
35d0a90125
|
fix: add machine with UFW firewall (allow ipv6 management traffic) fixes #65
|
2025-08-04 16:50:18 +10:00 |
|
Pasha Sviderski
|
2714587ec5
|
feat: add RemoveMachine API endpoint to remove a machine from the cluster
|
2025-07-25 19:30:59 +10:00 |
|
Pasha Sviderski
|
4166474ee8
|
fix: race on cluster init by waiting for corrosion service to become ready with schema applied
|
2025-07-25 16:28:32 +10:00 |
|
Pasha Sviderski
|
1b6130447f
|
chore: use a new uncancelled context for stopping corrosion service
|
2025-07-25 13:03:20 +10:00 |
|
Pasha Sviderski
|
614212a24c
|
chore: clean up custom iptables chains on machine reset
|
2025-07-25 12:37:54 +10:00 |
|
Pasha Sviderski
|
3ab708a437
|
fix: graceful machine shutdown when not initialised
|
2025-07-25 10:50:23 +10:00 |
|
Pasha Sviderski
|
7a6c5bf6d7
|
feat: machine Reset endpoint with asynchronous resource and data cleanup
|
2025-07-24 19:50:25 +10:00 |
|
Pasha Sviderski
|
2acfafe218
|
chore: regenerate proto
|
2025-07-24 19:34:05 +10:00 |
|
Pasha Sviderski
|
9a88e914f4
|
chore: simplify cluster controller initialisation, prepare for reset
|
2025-07-24 14:23:33 +10:00 |
|
 Evgenii OrlovandGitHub
|
2c3bea64e5
|
feat: impl of functionality for renaming and updating machines (#91)
|
2025-07-22 18:45:19 +10:00 |
|
  
|
da3634b690
|
E2E tests use repeated strings for test data where constants add no value (#97)
---------
Co-authored-by: Pasha Sviderski <me@psviderski.name>
Co-authored-by: Anton Ovchinnikov <anton@tonyo.info>
|
2025-07-21 19:30:02 +02:00 |
|
Anton Ovchinnikov
|
053d73048c
|
feat: Basic linting config
|
2025-07-13 23:50:27 +02:00 |
|
 Evgenii OrlovandGitHub
|
10bbe9fbc5
|
fix: prevent race condition with Docker network creation (#89)
|
2025-07-10 17:51:08 +10:00 |
|
 Evgenii OrlovandGitHub
|
31cd4c77e9
|
feat: support x-machines placement constraints in compose files (#90)
|
2025-07-10 16:46:29 +10:00 |
|
Pasha Sviderski
|
55773e92ce
|
fix: allow direct routing from WireGuard mesh to containers for Docker 28.2.0+
|
2025-07-08 21:20:49 +10:00 |
|
Pasha Sviderski
|
535b91fe52
|
feat: add stub for Reset method in machine API
|
2025-07-03 21:28:05 +10:00 |
|
Pasha Sviderski
|
4c77fe2cfd
|
chore: tidy up
|
2025-06-30 17:53:34 +10:00 |
|
 Anton OvchinnikovandGitHub
|
44549c00fd
|
feat: Label new volumes as managed by uncloud (#79)
|
2025-06-23 22:05:05 +02:00 |
|
 Anton OvchinnikovandGitHub
|
638f320959
|
build: Install protobuf tools via mise (#77)
|
2025-06-22 11:23:56 +02:00 |
|
Pavel Sviderski
|
fc61e2fc07
|
feat: enable passive health checks and upstream retries in Caddy
|
2025-06-12 18:38:28 +10:00 |
|
Pavel Sviderski
|
ff1a8fbcf9
|
chore: fix comment
|
2025-05-16 21:35:21 +10:00 |
|
Pavel Sviderski
|
3648187219
|
chore: allow DNS queries from Uncloud containers to the embedded DNS server
|
2025-05-05 20:00:34 +10:00 |
|
Pavel Sviderski
|
6e326277bb
|
chore: set up UNCLOUD-INPUT iptables chain and allow WireGuard traffic to the machine
|
2025-05-05 14:50:33 +10:00 |
|
Pavel Sviderski
|
38800924ed
|
fix(caddy): proxy to only healthy containers
|
2025-05-01 11:47:05 +10:00 |
|
Pavel Sviderski
|
cf7e333579
|
feat(dns-server): use embedded DNS server for all service containers
|
2025-05-01 11:27:27 +10:00 |
|
Pavel Sviderski
|
769f5e47c3
|
feat(dns-server): check system prerequisites when init/add machine: DNS port is not in use by another DNS server
|
2025-04-30 20:46:10 +10:00 |
|
Pavel Sviderski
|
6e1165ec57
|
chore(dns-server): make TCP server non-critical; do not exit if it fails to start
|
2025-04-30 17:46:44 +10:00 |
|
Pavel Sviderski
|
8d16da596c
|
feat(dns-server): run embedded internal DNS server on machine IP in uncloudd daemon process
|
2025-04-30 17:24:52 +10:00 |
|
Pavel Sviderski
|
d6c06828b3
|
fix(dns-server): fix constructor and log messages
|
2025-04-30 17:20:48 +10:00 |
|
Pavel Sviderski
|
70e9385032
|
chore(dns-server): implement resolver for service records that watches container changes
|
2025-04-30 14:13:48 +10:00 |
|