Pasha Sviderski
772b31b57f
feat(pre-deploy): implement pre-deploy hook operations for deployment
2026-04-08 19:16:42 +10:00
Pasha Sviderski
1c8b77054a
feat(pre-deploy): add support for pre-deploy hook containers in service management, sync *all* containers to store
2026-04-08 19:16:28 +10:00
Miek Gieben and GitHub
cef047221c
feat(machine-logs): add server side of journal logs ( #282 )
...
* Add server side of journal logs
This add the server side and grpc methods to get a journal logs from a
machine. It repurposes ServiceLogEntry for these logs to keep the
changes somewhat to a minimum. And it lets us re-use the merging of the
various logs. In the protobufs ContainerLog has been renamed to just Log
and LogEntry, as these are now also used for journal logs.
It does api.LogOptions in more places to reduce the various logOpts that
were used.
It does not yet plumb it through to the uc client, that needs a follow
up pr. Following logs is also not yet implemented.
Signed-off-by: Miek Gieben <miek@miek.nl >
* Fix test too
Signed-off-by: Miek Gieben <miek@miek.nl >
* remove entire comment
Signed-off-by: Miek Gieben <miek@miek.nl >
* Implement the follow option, untested mind you
Signed-off-by: Miek Gieben <miek@miek.nl >
* update debug line
Signed-off-by: Miek Gieben <miek@miek.nl >
* internal/jounal: First batch of PR comments
Signed-off-by: Miek Gieben <miek@miek.nl >
* internal/journal: code review comments
Signed-off-by: Miek Gieben <miek@miek.nl >
* Manually apply suggestion
Signed-off-by: Miek Gieben <miek@miek.nl >
* apply comment manually
Signed-off-by: Miek Gieben <miek@miek.nl >
* internal/journal: add unit test
Signed-off-by: Miek Gieben <miek@miek.nl >
* Use testify
Signed-off-by: Miek Gieben <miek@miek.nl >
* -amFix scanner.Err checking
Signed-off-by: Miek Gieben <miek@miek.nl >
* Implement code review comments
Signed-off-by: Miek Gieben <miek@miek.nl >
---------
Signed-off-by: Miek Gieben <miek@miek.nl >
2026-04-08 18:51:52 +10:00
Pasha Sviderski
e22cdf0b18
refactor: NewTable for consistent CLI table rendering, style images for ls,ps
2026-03-30 14:08:50 +10:00
Pasha Sviderski
06c2bc55f2
feat: make connection method using system 'ssh' the default (add ssh+go:// fallback)
2026-03-27 20:27:36 +10:00
Pasha Sviderski
ada9bec2d4
refactor: remove docker dependency for Pid container property
2026-03-24 18:29:45 +10:00
98439b7743
feat: support PID namespace mode in Compose ( #276 )
...
This adds `pid: host` compose key support.
Modelled after #238 .
See: #237
Signed-off-by: Miek Gieben <miek@miek.nl >
Co-authored-by: Pasha Sviderski <me@psviderski.name >
2026-03-24 16:18:53 +10:00
Miek Gieben and GitHub
2ab58d24d4
chore: modernize the codebase using go 1.26 ( #278 )
...
This runs:
```
go run golang.org/x/tools/gopls/internal/analysis/modernize/cmd/modernize@latest -fix ./...
```
over the codebase, as this is using go 1.26, it can also use the new
new() functionallity so AsPtr and boolPtr is are needed anymore.
Signed-off-by: Miek Gieben <miek@miek.nl >
2026-03-21 21:16:09 +10:00
Pasha Sviderski
3f95583dd4
fix: plan formatting for service scaling (update verb), fix image and replicas diff
2026-03-19 15:29:21 +10:00
Pasha Sviderski
b4b1232375
refactor: format deployment plan for caddy (uc caddy deploy)
2026-03-19 14:22:01 +10:00
442f1d97a1
fix: uc deploy should not crash in empty git repository ( #275 )
...
Co-authored-by: Anton Ovchinnikov <anton@tonyo.info >
2026-03-19 10:16:03 +10:00
Pasha Sviderski
68661e57c3
refactor: tui package for CLI styles and prompts, restyle confirmation
2026-03-18 16:25:25 +10:00
Pasha Sviderski
1735ef9521
refactor: GetContextOverrideOrCurrent to check if config used
2026-03-17 20:21:54 +10:00
Pasha Sviderski
940732e91c
fix: sshcli unit test and lint
2026-03-14 15:04:50 +10:00
Pasha Sviderski
9e4c759ffc
fix: separate stdout and stderr in SSH CLI executor to prevent output contamination ( closes #270 )
2026-03-14 14:56:04 +10:00
Pasha Sviderski
1525d182b5
feat: add cluster context support in Compose with x-context extension
2026-03-13 18:37:36 +10:00
Pasha Sviderski
8ae38cfd57
feat: add shm_size support in Compose and --shm-size flag for 'uc run' ( closes #267 )
2026-03-12 22:09:28 +10:00
Pasha Sviderski
255448a59c
chore: migrate to hub/v2 and bubbletea/v2
2026-03-10 19:47:25 +10:00
Pasha Sviderski
9e39f03f75
chore: lint
2026-03-10 18:57:51 +10:00
Pasha Sviderski
33fcb2fe74
chore: migrate to lipgloss/v2
2026-03-10 18:54:34 +10:00
Pasha Sviderski
a67f936cc1
chore: wait for known missing changes during the initial cluster store sync
2026-03-09 17:40:51 +10:00
Pasha Sviderski
e6f013dbc8
fix: skip Tailscale addresses for using as auto-detected WireGuard endpoints
2026-03-09 17:38:25 +10:00
Pasha Sviderski
51c7b5ba8f
feat: add --wg-endpoint flag to 'uc machine add/init' to specify wireguard endpoint for the machine instead of auto-detecting
2026-03-06 15:39:14 +10:00
Pasha Sviderski
1f328e99d5
fix: remove the incorrect e2e test for updating machine endpoints with empty list
2026-03-04 14:04:46 +10:00
Pasha Sviderski
2405b156e4
chore: validate endpoints is not empty in update machine requests
2026-03-03 19:04:41 +10:00
Pasha Sviderski
4de17cb63c
chore: delete the obsolete 'machine token' command
2026-03-03 18:03:06 +10:00
Pasha Sviderski
3056e2af11
feat: add support for healthcheck in Compose
2026-02-25 14:54:24 +10:00
Pasha Sviderski
5c54e9d059
chore: refactor device mapping to be compliant with Compose (CDI requests)
2026-02-11 17:44:38 +00:00
Justin Bradford and GitHub
ab6f856987
feat: Add support for compose devices mappings ( #250 )
...
* feat: Add support for compose `devices` mappings
https://docs.docker.com/reference/compose-file/services/#devices
```
services:
foo:
devices:
- "/dev/ttyUSB0:/dev/ttyUSB0"
- "/dev/sda:/dev/xvda:rwm"
```
* Lint fix
2026-02-11 17:00:18 +00:00
Pasha Sviderski
a4a8e70f9c
fix: sshcli tests
2026-01-28 19:00:53 +10:00
Pasha Sviderski
ce46a67d6d
fix: ssh args for machine init/add when using ssh+cli
2026-01-28 17:44:54 +10:00
Pasha Sviderski
808bda67d4
chore: remove unused constants
2026-01-28 17:28:35 +10:00
Pasha Sviderski
c91a964513
chore: make ssh+cli connections reuse one SSH connection via control socket. Fix image push
2026-01-28 16:49:08 +10:00
Nick and GitHub
3bd9400051
feat: add support for ulimits in compose and container creation ( #221 ) ( #244 )
...
* feat: add support for ulimits in compose and container creation ([#221 ](https://github.com/ipaddicting/uncloud/issues/221 ))
* refactor: move Ulimits to ContainerResources and use map, also removed GEMINI.md.
2026-01-20 16:17:54 +10:00
Pasha Sviderski
76affeb6b2
chore: minor formatting for 'wg show' command, enrich Unimplemented error with >=0.16 requirement
2026-01-10 18:36:56 +11:00
Justin Bradford and GitHub
a945291371
feat: Add uc wg show command to inspect a machine's uncloud wireguard network ( #161 )
...
* feat: Add `uc wg show` command to inspect a machine's uncloud wireguard network (draft / work in progress)
* Compile proto files with `make proto-mise`
* Fix lint errors
* Output peers in tabwriter table
* Lookup machine name for wireguard peer public key
* Add --machine flag to `uc wg show` to proxy call to specific machine
* Small refactor to move wg show logic out into a separate function
2026-01-10 16:49:35 +11:00
06c3fba96e
feat: add support for sysctls compose key ( #239 )
...
* feat: add support for `sysctls` compose key
* lint
---------
Co-authored-by: Pasha Sviderski <me@psviderski.name >
2026-01-10 15:53:56 +11:00
Andrey Viktorov and GitHub
6c2f85d38a
feat: add support for cap_add and cap_drop compose keys ( #238 )
2026-01-10 15:13:03 +11:00
Anton Ovchinnikov and GitHub
2c34ba7eff
fix(configs): Create non-existent parent directories automatically ( #233 )
2025-12-29 11:38:06 +01:00
Pasha Sviderski
f86e63c851
chore: reduce the default gRPC connection timeout to proxied machines 20->10s
2025-12-23 19:48:57 +10:00
Pasha Sviderski
9bd5ffcd2d
chore: update ucind cluster to wait for initial store sync and cluster readiness
2025-12-23 19:02:04 +10:00
Pasha Sviderski
8d8acd5410
chore: wait for the initial store sync and cluster components before serving cluster gRPC requests
2025-12-23 19:00:09 +10:00
Pasha Sviderski
2345ee9856
docs: improve Caddyfile header and note about misconfigured caddy service, minor docs update
2025-12-22 16:31:15 +10:00
Pasha Sviderski
777615bc56
chore: add TODO to remove extra checks after upgrading clusters to perform store sync
2025-12-19 20:52:46 +10:00
Pasha Sviderski
bac34ebd0c
chore: save machine state file atomically
2025-12-19 20:12:46 +10:00
Pasha Sviderski
b2322e1c49
fix: WireGuard peers misconfiguration on joined machine by waiting for the initial store sync
2025-12-19 19:52:13 +10:00
Pasha Sviderski
436671457d
chore: pass current store DB version when adding new machine to cluster
2025-12-19 18:51:49 +10:00
Pasha Sviderski
fc847093d2
chore: new InspectMachine gRPC method that to return store DB version (lamport time)
2025-12-19 16:29:14 +10:00
Pasha Sviderski
d2a7af744d
fix: uncloud daemon crash when listing partially replicated container records
2025-12-18 16:32:26 +10:00
Pasha Sviderski
5acf557675
chore: add --yes flag to 'uc machine init/add' to auto-confirm machine reset
2025-12-17 17:36:54 +10:00