Commit Graph
1282 Commits
Author SHA1 Message Date
Pasha Sviderski cef6916544 docs(caddy): update references to custom global configuration in deployment instructions, typo fixes 2026-11-06 19:29:32 +10:00
Pasha Sviderski 68d2bd5656 docs(caddy): update managing Caddy documentation for v0.22.0 features and upgrade instructions 2026-11-06 19:15:10 +10:00
Pasha Sviderski 99c928f490 fix(docs): correct published port protocol default for 'uc run' 2026-11-06 12:13:27 +10:00
Pasha Sviderski e81115ef37 docs(caddy): update example caddy config 2026-11-05 19:16:37 +10:00
Pasha Sviderski 22b1c68798 feat(caddy): make cluster storage for Caddy default, remember 'uc caddy deploy' options 2026-11-05 16:03:34 +10:00
Pasha Sviderski 76b04dd56c fix(labels): allow setting 'uncloud.' prefixed labels on services using a client but not CLI or Compose 2026-11-04 13:51:53 +10:00
Pasha Sviderski 78facdfcc6 fix(labels): format adding new labels in service plan with + modifier 2026-11-03 18:46:45 +10:00
Pasha Sviderski 7b48ac5a4d feat(labels): include detailed labels diff in service plan 2026-11-03 16:08:21 +10:00
Pasha Sviderski 6c7ddeb82f fix(plan): make stop operation formatting consistent and do not count it as removal in summary 2026-11-03 12:54:57 +10:00
Pasha Sviderski ff6ac45e1e feat(update): add 'uc service update' command to update service configuration in place 2026-11-03 09:54:33 +10:00
Pasha Sviderski c1a7f84dad feat(labels): add support for service and container labels in uc run and inspect commands 2026-11-03 09:54:00 +10:00
Pasha Sviderski 81f30aac26 feat(labels): support service and container labels, update labels and cpu/memory in-place 2026-11-02 14:57:33 +10:00
Pasha Sviderski b214d23f21 chore: migrate linting and formatting commands to mise tasks 2026-10-30 21:33:07 +10:00
Pasha Sviderski 965879b69f docs: regenerate CLI reference 2026-10-29 14:08:59 +10:00
Pasha Sviderski d66ec2bada chore: bump mise to 2026.10.22 on CI 2026-10-29 14:05:19 +10:00
Pasha Sviderski 20e2e97c36 chore(docs): update documentation generation commands and regenerate reference docs 2026-10-29 13:52:38 +10:00
Pasha SviderskiandMiek Gieben e9eab32e6d feat(images): add 'uc image rm' command to remove images from cluster machines
Co-authored-by: Miek Gieben <miek@miek.nl>
2026-10-29 13:17:20 +10:00
Pasha Sviderski 7c6d1be8a7 feat(images): implement RemoveImage gRPC API with extra protection for used images 2026-10-28 20:24:16 +10:00
Pasha Sviderski a2987d3ff2 chore: minor comments in common proto 2026-10-28 20:24:16 +10:00
Pasha Sviderski 3351111feb refactor(images): simplify image name handling when listing images 2026-10-28 20:24:16 +10:00
Pasha Sviderski bd695f65a3 refactor(grpc-proxy): use Metadata.Err() method to get upstream error for a broadcasted request 2026-10-28 20:24:16 +10:00
Pasha Sviderski 7e8736fa99 feat(images): include all tags and digest references when listing images 2026-10-28 20:24:16 +10:00
Pasha Sviderski 8160c9b9d0 move deploy.operation package to operation 2026-10-28 20:24:16 +10:00
Pasha Sviderski 80d2a323c6 fix: handle output redirect and NO_COLOR for 'uc caddy config' 2026-10-28 20:24:16 +10:00
Miek GiebenandGitHub 5d640b9a57 uc context show: take UNCLOUD_CONTEXT into consideration (#444)
Signed-off-by: Miek Gieben <miek@miek.nl>
2026-10-14 10:32:55 +10:00
NickandGitHub ba224bb5be fix(deploy): prepare replacement before stop-first cutover (#420) 2026-10-12 16:02:54 +10:00
8ddbe3c606 fix(compose): strip and resolve pre-deploy hook secrets like service env (#424)
* fix(compose): strip and resolve pre-deploy hook secrets like service env (fixes #422)

normaliseContainerForStore only cleared Config.Env and
ServiceSpec.Container.Env before writing a container record to the
replicated Corrosion store, leaving ServiceSpec.PreDeploy.Env in place.
A secret set via x-pre_deploy.environment therefore replicated to
every machine in the cluster, unlike the same value set via
environment.

ResolveSecrets had the same asymmetry in the other direction: it only
resolved secret://name references in service.Environment, so a
reference placed in the pre-deploy hook's environment passed through
unresolved as a literal string. HasCommandSecretRefs is extended the
same way for consistency.

Add tests pinning both behaviours.

* update docs that secret references are available for pre-deploy hooks

---------

Co-authored-by: Pasha Sviderski <me@psviderski.name>
2026-10-12 15:48:47 +10:00
Pasha Sviderski ce1c6bd05a feat(machine): add validation for machine names to accept only DNS labels 2026-10-07 15:24:23 +10:00
Pasha Sviderski 11e1200fe8 docs: regenerate CLI reference 2026-10-07 15:00:40 +10:00
Miek GiebenandGitHub 0cdf721a6a feat(dns): implement DNS names for machines in m.internal (#359)
* feat(dns): implement extra dns names for machine in m.internal

This implements <machinename>.m.internal and <machineid>.m.internal as
names that can be queried in the cluster.

Listing all machines/services is not implemented, this may come later.

Fixes: #340

Signed-off-by: Miek Gieben <miek@miek.nl>

* Implement getting all machine address

A query for m.internal returns all ip address

There is no overflow check

Signed-off-by: Miek Gieben <miek@miek.nl>

---------

Signed-off-by: Miek Gieben <miek@miek.nl>
2026-10-07 14:54:28 +10:00
Pasha Sviderski 5e26cfbead feat(logs): add support for days unit (d) in --since/until filters for logs 2026-10-07 13:30:25 +10:00
Pasha Sviderski 409dc3bfe3 fix(logs): show all matched logs when --since filter specified 2026-10-07 13:30:25 +10:00
Pasha Sviderski 5fa236871f fix(logs): resolve time ranges using client local time zone for logs commands 2026-10-07 13:30:25 +10:00
Pasha Sviderski e3479409b1 docs(caddy): bump caddy-uncloud image to 0.1.3 2026-10-07 13:30:25 +10:00
Pasha Sviderski a1b6b31e9c fix(logs): implement color profiling for log output streams, e.g. disable color on redirect 2026-10-07 13:30:25 +10:00
Pasha Sviderski d04772dacd docs(caddy): add warning about certificate migration when changing storage 2026-10-07 13:30:25 +10:00
Pasha Sviderski 87691ec029 docs: bump caddy-uncloud image to 0.1.2 2026-10-07 13:30:25 +10:00
7ecf63169b feat(daemon): debounce container change notifications to avoid reconcile storms (#438)
* fix(store): debounce container change notifications to avoid reconcile storms

SubscribeContainers forwarded every raw row-level change event from
Corrosion as its own signal, with no coalescing. Each signal triggers
a full reconcile (ListContainers + regenerate) in every independent
subscriber (caddy-controller, DNS resolver) on every machine in the
cluster. With enough container/health-check churn across services,
this produces a sustained stream of events (observed ~1.6-1.7/sec
cluster-wide on a 45-service, 7-machine cluster) and burns meaningful
CPU on every machine continuously, regardless of whether that machine
runs Caddy locally. On a resource-constrained node this escalated into
kernel RCU stall warnings and a full freeze.

Coalesce bursts of events into a single signal per debounce window
instead of forwarding one per event.

* bound debounced changes by the window

---------

Co-authored-by: Pasha Sviderski <me@psviderski.name>
2026-10-07 13:30:09 +10:00
Pasha Sviderski c58108aa82 chore(.editorconfig): ignore formatting for release notes v0.21.0 2026-10-02 13:56:49 +10:00
Pasha Sviderski 5d7952952a docs(README): list cluster storage for certificates in features 2026-10-02 13:56:08 +10:00
Pasha Sviderski 87e99ae369 docs(caddy): new page Cluster storage for Caddy 2026-10-02 13:27:07 +10:00
Pasha Sviderski f78a8ca8b5 docs(caddy): regenerate CLI reference for 'caddy cert ls' command 2026-10-01 21:00:05 +10:00
Pasha Sviderski e4bd1ad443 feat(store): improve waiting for store replication to skip unavailable members 2026-10-01 20:59:15 +10:00
Pasha Sviderski 0e53f505c0 refactor(client): speed up service list call (N -> 1 broadcast RPC) 2026-10-01 19:52:18 +10:00
Pasha Sviderski 9c21ae6b08 feat(caddy): CLI command to list certificates stored in the Uncloud cluster storage for Caddy 2026-10-01 14:19:53 +10:00
Pasha Sviderski 70de7b1b8f feat(caddy): add healthcheck to default Caddy spec and Compose deployment in docs 2026-10-01 09:25:39 +10:00
Pasha Sviderski af277639dd chore(dns): require minimum server version 0.21.0 for 'uc dns set' command 2026-09-30 19:21:59 +10:00
Pasha Sviderski 25ca0a57e8 lint 2026-09-30 18:49:53 +10:00
Pasha Sviderski 4dae187aa5 chore(caddystorage): move storage module code to a separate unlabs-dev/caddy-uncloud repo 2026-09-30 16:43:46 +10:00
Pasha Sviderski 930e7ea637 feat(caddy): add ListCertificates method, refactor Caddy client layout (#31) 2026-09-30 16:43:46 +10:00