Pavel Sviderski
|
b3885b0888
|
chore: activate the context of a newly initialised cluster
|
2025-04-03 13:38:48 +10:00 |
|
Pavel Sviderski
|
3ada89c4f8
|
fix: adding ucind cluster with tcp connections to config
|
2025-04-02 19:45:15 +10:00 |
|
Pavel Sviderski
|
20b2ca2ea5
|
feat(ctx): interactive ctx command to switch between cluster contexts
|
2025-04-02 16:31:26 +10:00 |
|
Pavel Sviderski
|
1bbefdd0d2
|
feat: add 'ctx ls' command to list available cluster contexts in config
|
2025-04-02 09:25:12 +10:00 |
|
Pavel Sviderski
|
f467fad84c
|
chore: rename cluster term to context in CLI and config, convert config toml -> yaml
|
2025-04-01 21:29:32 +10:00 |
|
Pavel Sviderski
|
0e80f2e5b2
|
chore: replace immutable hash with container spec comparison
|
2025-03-31 15:58:02 +10:00 |
|
Pavel Sviderski
|
64f6a4f3d3
|
chore: use original service spec instead of deriving from container, fixes diff for scale
|
2025-03-30 12:54:36 +10:00 |
|
Pavel Sviderski
|
0975cbab66
|
chore: handle RemoveContainer server-side that deletes container from machine db
|
2025-03-29 20:06:49 +10:00 |
|
Pavel Sviderski
|
615022c9ac
|
feat(scale): set file permissions for machine.db database to 600 (may container secrets as env vars)
|
2025-03-29 15:19:37 +10:00 |
|
Pavel Sviderski
|
ecbd4378e4
|
feat(scale): store container spec in local machine.db sqlite
|
2025-03-29 15:14:43 +10:00 |
|
Pavel Sviderski
|
1becd033e6
|
chore: rename CaddyConfigPath field
|
2025-03-29 11:39:45 +10:00 |
|
Pavel Sviderski
|
1cba1eef0a
|
refactor: handle CreateContainer server-side
|
2025-03-28 19:01:19 +10:00 |
|
Pavel Sviderski
|
3893005866
|
fix(compose): remove ServiceSpec validation for 0 replicas, it's handled when resolving defaults
|
2025-03-27 20:40:11 +10:00 |
|
Pavel Sviderski
|
1911e03c82
|
feat(compose): handle image pull policy
|
2025-03-27 15:15:57 +10:00 |
|
Pavel Sviderski
|
641b11a92d
|
feat: implement --pull policy for run command: always, missing, never
|
2025-03-27 15:06:32 +10:00 |
|
Pavel Sviderski
|
7c7530f977
|
chore: add comments and TODOs about the disabled image digest resolver
|
2025-03-27 14:12:20 +10:00 |
|
Pavel Sviderski
|
6e7fe405ef
|
feat(compose): partially implement image resolver (pinner) but disable for now
|
2025-03-26 20:42:41 +10:00 |
|
Pavel Sviderski
|
03c5c054e1
|
feat(compose): client methods for inspecting images
|
2025-03-26 20:38:41 +10:00 |
|
Pavel Sviderski
|
c42968c812
|
feat(compose): add InspectRemoteImage api endpoint to inspect images in registry
|
2025-03-26 20:37:53 +10:00 |
|
Pavel Sviderski
|
ffef41081b
|
feat(compose): add ContainerSpec.PullPolicy field to define when to pull image from registry
|
2025-03-25 11:03:19 +10:00 |
|
Pavel Sviderski
|
58b51b974c
|
refactor: postpone spec resolver initialisation when creating Deployment
|
2025-03-24 21:56:30 +10:00 |
|
Pavel Sviderski
|
2d923380a3
|
chore: compare container ports to spec in assertContainerMatchesSpec
|
2025-03-24 20:24:40 +10:00 |
|
Pavel Sviderski
|
3910101a88
|
refactor: embed ServiceSpecResolver into Deployment to handle spec only there
|
2025-03-24 20:10:28 +10:00 |
|
Pavel Sviderski
|
7a9d0cf9db
|
refactor: move compose and deploy packages under client
|
2025-03-24 14:41:50 +10:00 |
|
Pavel Sviderski
|
042dd594e0
|
refactor: decouple deploy and compose packages from client dependency
|
2025-03-24 14:38:16 +10:00 |
|
Pavel Sviderski
|
1471a94162
|
refactor(compose): move compose deployment from client to compose pkg
|
2025-03-24 11:11:36 +10:00 |
|
Pavel Sviderski
|
b1abd07dde
|
refactor: move api, client, compose packages to pkg
|
2025-03-22 18:43:00 +10:00 |
|
Pavel Sviderski
|
3757813b20
|
refactor: rename main module to github.com/psviderski/uncloud
|
2025-03-22 18:25:08 +10:00 |
|
Pavel Sviderski
|
f1a150821c
|
fix(compose): client.ImageInspect to handle broadcasted responses to multiple machines
|
2025-03-22 08:44:17 +10:00 |
|
Pavel Sviderski
|
874af1ba10
|
feat(compose): implement InspectImage rpc with broadcast support
|
2025-03-21 19:43:58 +10:00 |
|
Pavel Sviderski
|
2ad098c612
|
feat(deploy): introduce proto for InspectImage and InspectRemoteImage methods
|
2025-03-20 21:36:41 +10:00 |
|
Pavel Sviderski
|
4172cb826f
|
refactor: compose deployment plan to not use PrepareDeploymentSpec
|
2025-03-19 16:54:00 +10:00 |
|
Pavel Sviderski
|
041d51b74f
|
refactor: compose deployment with pluggable spec resolver, basic test
|
2025-03-19 16:28:17 +10:00 |
|
Pavel Sviderski
|
fb01604d21
|
fix: recreate containers only if spec changed by comparing spec hash
|
2025-03-19 13:11:04 +10:00 |
|
 Pavel SviderskiandGitHub
|
bd8bcbd2f9
|
Merge pull request #40 from cedws/userguide
|
2025-03-19 09:24:50 +10:00 |
|
Pavel Sviderski
|
1bbcfa8519
|
feat(entrypoint): allow to override service ENTRYPOINT for run command
|
2025-03-18 16:44:15 +10:00 |
|
Pavel Sviderski
|
e8715fce38
|
fix: list containers if some of them concurrently removed, fixes #33
|
2025-03-18 15:39:15 +10:00 |
|
Pavel Sviderski
|
a0a66f34c4
|
feat(connect): add --connect flag to connect to remote cluster machine without using config
|
2025-03-18 14:01:38 +10:00 |
|
Pavel Sviderski
|
b799b7518e
|
feat(compose): add TODO to address deployment idempotency
|
2025-03-17 20:32:14 +10:00 |
|
Pavel Sviderski
|
5bcbfc332d
|
feat(compose): deploy compose services without waiting dependencies
|
2025-03-15 20:45:02 +10:00 |
|
Pavel Sviderski
|
34574e41fc
|
feat(compose): plan compose deployment
|
2025-03-15 20:43:30 +10:00 |
|
Pavel Sviderski
|
c7355afa3d
|
refactor: move Confirm logic to common place from caddy deployment
|
2025-03-15 20:42:44 +10:00 |
|
Pavel Sviderski
|
a907fdb1af
|
chore: update todo
|
2025-03-15 20:41:57 +10:00 |
|
Pavel Sviderski
|
c9ba4adccb
|
chore: add todo for ServiceSpec that it may return a spec not equal to original
|
2025-03-15 20:41:02 +10:00 |
|
Pavel Sviderski
|
a0551d2d64
|
fix: print service endpoints for run service only when non-empty
|
2025-03-15 19:35:21 +10:00 |
|
Pavel Sviderski
|
76129ea056
|
refactor: include service name in deployment plan
|
2025-03-15 19:34:37 +10:00 |
|
Pavel Sviderski
|
6ffd35f596
|
feat(compose): parse Compose project and transform ports extension
|
2025-03-15 14:18:06 +10:00 |
|
Pavel Sviderski
|
0ef776e7f1
|
chore: add link to uncloud-dns repo in README
|
2025-03-14 22:01:19 +10:00 |
|
Pavel Sviderski
|
0b22b2136a
|
chore: add deployments and managed DNS features to README
|
2025-03-14 21:59:40 +10:00 |
|
Pavel Sviderski
|
e1530bb6f3
|
feat(deploy): load compose project
|
2025-03-14 21:41:06 +10:00 |
|
Pavel Sviderski
|
7fc07ce4bd
|
feat(deploy): init a new deploy command to deploy services from Compose file
|
2025-03-12 20:37:01 +10:00 |
|
Pavel Sviderski
|
eb42082955
|
fix(dns): update DNS records when reserving a new cluster domain, fixes #36
|
2025-03-11 21:12:00 +10:00 |
|
Pavel Sviderski
|
8719e37856
|
fix(dns): retry HTTP requests to verify Caddy reachability for up to 5 seconds
|
2025-03-10 21:26:02 +10:00 |
|
Pavel Sviderski
|
e1cc39b0d5
|
lint: variable collides with imported package name
|
2025-03-09 19:26:06 +10:00 |
|
Pavel Sviderski
|
efe646f54c
|
chore: validate unsupported tcp/udp protocols for ingress port
|
2025-03-08 19:07:51 +10:00 |
|
Pavel Sviderski
|
e130d803e4
|
fix(website): demo min height to not shrink before video is loaded
|
2025-03-06 17:30:16 +10:00 |
|
Pavel Sviderski
|
56e7e8baa2
|
chore(readme): cleanup coming soon features
|
2025-03-06 17:13:29 +10:00 |
|
Pavel Sviderski
|
b963ef39d1
|
chore(makefile): demo-reset target to reset machines before recording a VHS demo
|
2025-03-06 16:55:16 +10:00 |
|
Pavel Sviderski
|
1df0fa290f
|
chore(readme): add uc machine ls command
|
2025-03-06 16:54:35 +10:00 |
|
Pavel Sviderski
|
c3bb0c9f49
|
chore(readme): add Quick demo section with video, update how it works outputs
|
2025-03-06 16:49:58 +10:00 |
|
Pavel Sviderski
|
cf65cecd9e
|
chore: replace terminal example with a demo video on landing
|
2025-03-06 15:49:06 +10:00 |
|
Pavel Sviderski
|
fff17dbb60
|
add VHS tape script for the terminal demo
|
2025-03-05 22:17:54 +10:00 |
|
Pavel Sviderski
|
586a4fa129
|
feat(scale): basic service scale command
|
2025-03-05 20:24:54 +10:00 |
|
Pavel Sviderski
|
2a82f75cad
|
fix: deduplicate discovered machine IPs when adding a new machine
|
2025-03-05 09:14:11 +10:00 |
|
Pavel Sviderski
|
805afd0d28
|
fix(dns): update cluster domain DNS records when adding a new machine to cluster
|
2025-03-04 20:49:41 +10:00 |
|
Pavel Sviderski
|
11098ea7d1
|
fix: url for uninstall.sh script in install script
|
2025-03-04 12:54:48 +10:00 |
|
Pavel Sviderski
|
90e357a1dc
|
feat: install uncloud-uninstall script when provisioning machine
|
2025-03-04 12:50:29 +10:00 |
|
Pavel Sviderski
|
91d58bc701
|
chore: add uninstall.sh script to remove uncloud and managed containers and network from machine
|
2025-03-04 12:14:49 +10:00 |
|
Pavel Sviderski
|
69d3a511d6
|
feat(dns): reserve cluster domain when initialising cluster by default + update dns records
|
2025-03-03 19:12:21 +10:00 |
|
Pavel Sviderski
|
c3123820b2
|
fix: install script tar flag
|
2025-03-03 18:51:41 +10:00 |
|
Pavel Sviderski
|
2e49d94fad
|
fix: deduplicate discovered machine IPs
|
2025-03-03 18:42:00 +10:00 |
|
Pavel Sviderski
|
bb51e01c5c
|
fix: install script unpack uncloudd binary to tmp dir
|
2025-03-03 18:38:51 +10:00 |
|
Pavel Sviderski
|
cdb2884e4e
|
fix: check for dockerd command to determine if docker engine is installed
|
2025-03-03 18:05:52 +10:00 |
|
Pavel Sviderski
|
137abde808
|
feat: set container hostname equal to container name
|
2025-03-03 16:58:42 +10:00 |
|
Pavel Sviderski
|
342969b7f4
|
fix(caddy): remove debug prints
|
2025-03-03 15:05:57 +10:00 |
|
Pavel Sviderski
|
d9e350c4dd
|
fix(caddy): config generation for multiple https containers
|
2025-03-03 15:04:04 +10:00 |
|
Pavel Sviderski
|
3f4f263c05
|
test: increase test cluster wait timeout 5->30 seconds
|
2025-03-03 12:21:22 +10:00 |
|
Pavel Sviderski
|
0760ba3b18
|
test: replicated deployment with machine filter
|
2025-03-03 11:26:08 +10:00 |
|
Pavel Sviderski
|
0896bd27fb
|
test: basic replicated deployment, prioritise host with the most up-to-date containers
|
2025-03-02 10:23:49 +10:00 |
|
Pavel Sviderski
|
a16b2d1c74
|
feat: service ls command include ID column if there are multiple services with same name
|
2025-03-01 22:31:58 +10:00 |
|
Pavel Sviderski
|
52117954a8
|
fix: specs equals ignores replicas
|
2025-03-01 22:31:18 +10:00 |
|
Pavel Sviderski
|
435a794fa5
|
fix: e2e tests
|
2025-02-28 18:00:02 +10:00 |
|
Pavel Sviderski
|
9642863d7b
|
feat(replicas): support --replicas and --machines for run command
|
2025-02-28 17:53:58 +10:00 |
|
Pavel Sviderski
|
6bb9bdeb5a
|
feat(replicas): implement rolling strategy for replicated service with basic spread strategy
|
2025-02-28 17:51:38 +10:00 |
|
Pavel Sviderski
|
30f1e135f1
|
feat: print ENDPOINTS column when listing services
|
2025-02-27 20:37:02 +10:00 |
|
Pavel Sviderski
|
58ecc17ac1
|
feat: print service endpoints on service creation
|
2025-02-27 20:37:02 +10:00 |
|
Pavel Sviderski
|
d7f437107d
|
fix(dns): error message for ingress port without hostname and no cluster domain
|
2025-02-26 21:13:18 +10:00 |
|
Pavel Sviderski
|
72548fbd1b
|
feat(dns): allow to specify http(s) ports without hostname to default to cluster domain
|
2025-02-26 21:10:55 +10:00 |
|
Pavel Sviderski
|
a5f6ec4a68
|
feat(dns): expose service as service-name.cluster-domain if cluster domain reserved
|
2025-02-26 21:10:21 +10:00 |
|
Pavel Sviderski
|
4cc68e3133
|
include cloud vm in dev set in Makefile
|
2025-02-26 15:52:33 +10:00 |
|
Pavel Sviderski
|
2bacebe900
|
refactor(dns): remove leading dot from domain when interecting with Uncloud DNS
|
2025-02-26 15:45:28 +10:00 |
|
Pavel Sviderski
|
09bea1d12d
|
feat(dns): update ingress records in Uncloud DNS when deploying Caddy
|
2025-02-26 14:23:00 +10:00 |
|
Pavel Sviderski
|
5e9b883ad5
|
fix: increase wait time for machine to 5 min, discard unknown when decoding json to proto
|
2025-02-26 12:19:04 +10:00 |
|
Pavel Sviderski
|
1046396edc
|
feat(dns): configure and store public IP when adding new machine
|
2025-02-26 11:16:13 +10:00 |
|
 Pavel SviderskiandGitHub
|
35804458b0
|
Merge pull request #28 from psviderski/tonyo/27-feat-social-tags
feat(smm): Add OpenGraph tags
|
2025-02-26 10:10:49 +10:00 |
|
Pavel Sviderski
|
e5f68947f9
|
feat(dns): missed CLI changes
|
2025-02-25 21:22:32 +10:00 |
|
Pavel Sviderski
|
289d964b2a
|
feat(dns): configure and store public IP when initialising machine
|
2025-02-25 21:21:37 +10:00 |
|
Pavel Sviderski
|
d0fd9db258
|
feat(dns): serve machine IP at /.uncloud-verify to verify Caddy reachability
|
2025-02-25 17:36:44 +10:00 |
|
Pavel Sviderski
|
0ea997e826
|
feat(dns): update caddy deploy command to create ingress records (stubs for now)
|
2025-02-24 20:33:54 +10:00 |
|
Pavel Sviderski
|
2d84059d7f
|
feat(dns): client for creating ingress records
|
2025-02-24 20:33:08 +10:00 |
|