Pasha Sviderski
|
27bbbe7186
|
chore: internal docker package with handy PullImage and CreateContainerWithImagePull methods
|
2025-09-26 21:24:56 +10:00 |
|
Pasha Sviderski
|
20cf98d42e
|
fix: return an error if 'uc rm' tries to remove a service that doesn't exist
|
2025-09-26 21:24:56 +10:00 |
|
Pasha Sviderski
|
977fdf3cc3
|
chore: add Proxy for proxing local connections to a remote TCP address using the dialer
|
2025-09-24 19:52:37 +10:00 |
|
Pasha Sviderski
|
9f6880b701
|
feat(push): stub for 'image push' command and Dialer interface for cluster connectors
|
2025-09-23 16:54:47 +10:00 |
|
Pasha Sviderski
|
1a1afece7d
|
fix: e2e test rebind the registry port to unoccupied 5001
|
2025-09-23 15:26:36 +10:00 |
|
Pasha Sviderski
|
08f233c5b1
|
fix: auto-detect containerd.sock path and conditionally start unregistry
|
2025-09-23 15:10:34 +10:00 |
|
Pasha Sviderski
|
9438654d99
|
docs: fix comment in schema.sql
|
2025-09-23 12:21:45 +10:00 |
|
Pasha Sviderski
|
60926f64cc
|
feat: show IMAGE column when listing services (uc ls) #13
|
2025-09-22 14:03:45 +10:00 |
|
Pasha Sviderski
|
b6b8286118
|
feat: run embedded unregistry on machine IP in uncloudd daemon
|
2025-09-19 20:43:20 +10:00 |
|
Pasha Sviderski
|
8f906cfd95
|
fix: do not auto-confirm deploy plan on CI (no TTY), require explicit --yes or UNCLOUD_AUTO_CONFIRM=true
|
2025-09-18 12:12:06 +10:00 |
|
Pasha Sviderski
|
da03ed8ece
|
docs: generate CLI reference docs
|
2025-09-17 15:11:36 +10:00 |
|
Pasha Sviderski
|
7239cd3a6b
|
docs: clarify 'machine init' help, --context flag description, add examples
|
2025-09-17 15:10:59 +10:00 |
|
Pasha Sviderski
|
3db07ca2d4
|
feat: allow setting config and connection with UNCLOUD_CONFIG and UNCLOUD_CONNECT env vars
|
2025-09-16 10:17:44 +10:00 |
|
Pasha Sviderski
|
f8fe3c7af3
|
feat: --no-install flag for 'machine init/add' to skip installing Uncloud daemon and dependencies #122
|
2025-09-15 20:44:35 +10:00 |
|
Pasha Sviderski
|
b6e9766f40
|
lint: gRPC status.Error for static error messages
|
2025-09-15 17:11:12 +10:00 |
|
Pasha Sviderski
|
1f62e30a08
|
chore: update mise checksums for linux-x64
|
2025-09-13 22:02:11 +10:00 |
|
Pasha Sviderski
|
88f05ffd75
|
chore: update mise checksums for macos-arm64
|
2025-09-13 21:50:40 +10:00 |
|
Pasha Sviderski
|
375bb385a2
|
chore: bump golangci-lint to 2.4.0 on CI
|
2025-09-13 21:44:45 +10:00 |
|
Pasha Sviderski
|
51840e0366
|
chore: bump golangci-lint to 2.4.0
|
2025-09-13 21:20:48 +10:00 |
|
Pasha Sviderski
|
831c581e0f
|
feat: try each cluster connection in order until one succeeds, add progress spinner
|
2025-09-13 21:12:20 +10:00 |
|
Pasha Sviderski
|
e1734a1aa6
|
chore: bump Go to 1.25.1
|
2025-09-13 21:06:17 +10:00 |
|
Pasha Sviderski
|
84376bb34c
|
chore: mise.lock include checksums for linux-x64
|
2025-09-12 23:18:45 +10:00 |
|
Pasha Sviderski
|
6d0b1dc1ee
|
chore bump mise version on CI to 2025.9.6
|
2025-09-12 22:58:26 +10:00 |
|
Pasha Sviderski
|
bc078472d4
|
feat: add -y|--yes flag for 'us deploy' to auto-confirm deployment plan
|
2025-09-12 22:52:06 +10:00 |
|
Pasha Sviderski
|
8a273dbf63
|
chore: rename cluster -> context option in commands for consistency
|
2025-09-11 20:21:07 +10:00 |
|
Pasha Sviderski
|
001acfc6a5
|
docs: remove --watch flag from compose file for deploying caddy
|
2025-09-10 17:32:15 +10:00 |
|
Pasha Sviderski
|
7b88b8b810
|
fix: write generated Caddyfile to disk only if succesfully loaded into local Caddy (means valid)
|
2025-09-10 16:59:31 +10:00 |
|
Pasha Sviderski
|
97bdb8eae1
|
fix: skip validation for user-defined Caddy configs if caddy not running locally
|
2025-09-10 15:04:45 +10:00 |
|
Pasha Sviderski
|
5baa8087e5
|
chore: load Caddy config via admin API instead of watching Caddyfile change on fs
|
2025-09-09 19:10:32 +10:00 |
|
Pasha Sviderski
|
d25864e52f
|
feat: automatically generate a unique 'default-N' context name for new cluster (fixes #113)
|
2025-09-08 20:35:17 +10:00 |
|
Pasha Sviderski
|
51ba3c7df8
|
fix: landing navbar on mobile
|
2025-09-04 18:15:52 +10:00 |
|
Pasha Sviderski
|
047f661462
|
docs: finish the Deploy demo app page
|
2025-09-03 20:42:26 +10:00 |
|
Pasha Sviderski
|
5a1e61ccff
|
fix: broken links to completions docs in CLI reference
|
2025-08-28 20:15:54 +10:00 |
|
Pasha Sviderski
|
db60a81b2d
|
chore: lint
|
2025-08-28 20:09:48 +10:00 |
|
Pasha Sviderski
|
7c19323ea1
|
docs: 'uc docs' command to generate CLI reference docs
|
2025-08-28 20:09:18 +10:00 |
|
Pasha Sviderski
|
290e6db98e
|
docs(ingress): Publishing service and Managing Caddy
|
2025-08-28 17:40:39 +10:00 |
|
Pasha Sviderski
|
df29d9ba43
|
docs: Ingress & HTTP overview
|
2025-08-27 22:26:50 +10:00 |
|
Pasha Sviderski
|
64769081d9
|
fix: format for --publish flag
|
2025-08-27 22:25:32 +10:00 |
|
Pasha Sviderski
|
0107363d41
|
fix: allow host mode x-ports with x-caddy in compose
|
2025-08-26 19:15:09 +10:00 |
|
Pasha Sviderski
|
48dc1dd624
|
chore: delete unused image digest resolver
|
2025-08-25 20:36:56 +10:00 |
|
Pasha Sviderski
|
3a6eef410a
|
feat: add --caddyfile flag to 'uc caddy deploy' and 'uc run' commands
|
2025-08-22 20:52:01 +10:00 |
|
Pasha Sviderski
|
9f5ca9a33d
|
feat: add 'uc caddy config' command to show the current Caddyfile
|
2025-08-22 20:20:02 +10:00 |
|
Pasha Sviderski
|
b046b78398
|
feat: migrate Caddy to generated Caddyfile, mount persistent data volume
|
2025-08-22 19:51:15 +10:00 |
|
Pasha Sviderski
|
ff213e71d3
|
fix: unmarshaling of ServiceSpec in ServiceContainer struct
|
2025-08-22 17:25:28 +10:00 |
|
Pasha Sviderski
|
3cda5cc564
|
chore: caddy client to get caddy config
|
2025-08-22 15:58:21 +10:00 |
|
Pasha Sviderski
|
75fdbaf2f4
|
chore: relax ports+Caddy spec validation to allow host mode ports
|
2025-08-22 15:34:59 +10:00 |
|
Pasha Sviderski
|
81f4e3a67a
|
chore: fix mockery for linux in .mise.lock
|
2025-08-21 17:31:43 +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
|
066d411367
|
chore: parse Created time on container with CreatedTime
|
2025-08-20 22:54:51 +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
|
9186d31d12
|
chore: go mod tidy
|
2025-08-13 19:31:13 +10:00 |
|
Pasha Sviderski
|
dd7bc6c982
|
chore: trim spaces for x-caddy, diff Caddy configs when comparing service specs
|
2025-08-13 19:27:40 +10:00 |
|
Pasha Sviderski
|
12c07812a2
|
chore: add Caddy config to ServiceSpec, load x-caddy to it
|
2025-08-13 18:44:38 +10:00 |
|
Pasha Sviderski
|
ec73f9ecd8
|
chore: handle x-caddy: path/to/Caddyfile to read Caddy config in compose from file
|
2025-08-13 13:45:39 +10:00 |
|
Pasha Sviderski
|
879c7c1876
|
test: x-caddy extension parsing
|
2025-08-13 13:45:39 +10:00 |
|
Pasha Sviderski
|
5d3f1fe225
|
chore: x-caddy extension type in compose
|
2025-08-11 21:11:40 +10:00 |
|
Pasha Sviderski
|
2e585d0183
|
feat: add --recreate flag for deploy command to force container recreation
|
2025-08-07 18:09:35 +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
|
ec3de3a099
|
feat: ask whether to reset already initialised machine on 'machine init/add'
|
2025-08-06 16:57:09 +10:00 |
|
Pasha Sviderski
|
2c02139369
|
fix: add ssh_key_path for connections in uncloud config only when using SSH key explicitly (not SSH agent)
|
2025-08-06 16:49:57 +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
|
fc0bf4a91b
|
chore: lint
|
2025-08-05 19:37:12 +10:00 |
|
Pasha Sviderski
|
bc577fe405
|
docs: emphasize passwordless sudo in requirements
|
2025-08-05 19:32:11 +10:00 |
|
Pasha Sviderski
|
6cc0611d75
|
chore: meaningful error message when passwordless sudo required on machine provisioning
|
2025-08-05 18:56:14 +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
|
a7273c8c96
|
chore: fix wide svg rendering on landing
|
2025-08-04 15:22:05 +10:00 |
|
Pasha Sviderski
|
9b48003a3f
|
blog: set diagram as og image for wireguard overlay post
|
2025-08-04 15:19:27 +10:00 |
|
Pasha Sviderski
|
1e750cc7e1
|
chore: add Blog links on landing page, fix header on small screens
|
2025-08-04 14:50:56 +10:00 |
|
Pasha Sviderski
|
2d73b541c5
|
blog: proof read WireGuard overlay post, update blog description tag
|
2025-08-04 14:21:48 +10:00 |
|
Pasha Sviderski
|
cd9c0a1d2c
|
docs: enable blog in docusaurus, add first wireguard overlay blog post
|
2025-08-01 21:45:50 +10:00 |
|
Pasha Sviderski
|
37a76809ec
|
docs: wwizzle breadcrumbs and overwrite base url to /docs
|
2025-07-31 19:07:12 +10:00 |
|
Pasha Sviderski
|
f6062cf343
|
docs: fix docs urls for local dev
|
2025-07-31 19:04:24 +10:00 |
|
Pasha Sviderski
|
4fe360c573
|
docs: combine landing page and docusaurus together and deploy as one image
|
2025-07-31 18:43:06 +10:00 |
|
Pasha Sviderski
|
cac1550b7d
|
docs: enable blog in docusaurus and change domain to uncloud.run
|
2025-07-30 21:28:06 +10:00 |
|
Pasha Sviderski
|
0bd42b2fca
|
chore: do not allow to remove a machine the client is connected to, add --no-reset flag
|
2025-07-29 19:54:16 +10:00 |
|
Pasha Sviderski
|
ad83d942e1
|
docs: manual cli upgrade
|
2025-07-28 21:45:33 +10:00 |
|
Pasha Sviderski
|
65f5a714dd
|
feat: machine rm command to remove a machine from the cluster and reset it
|
2025-07-25 19:32:02 +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
|
3faaac4da7
|
chore: run machine tests in parallel
|
2025-07-25 13:56:35 +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 |
|