Key changes
- Added initial Docker Compose support for service deployment. The same Compose can be used for developing locally and deploying to your cluster.
- New demo screencast: Deploy a highly available web app with automatic HTTPS across cloud VMs and on-premises in just a couple minutes.
- Completely revamped how service and container specifications are stored, enabling proper implementation of the service 'scale' command and selective container recreation.
Changelog
- bd8bcbd Merge pull request #40 from cedws/userguide
- fff17db add VHS tape script for the terminal demo
- b963ef3 chore(makefile): demo-reset target to reset machines before recording a VHS demo
- c3bb0c9 chore(readme): add Quick demo section with video, update how it works outputs
- 1df0fa2 chore(readme): add uc machine ls command
- 56e7e8b chore(readme): cleanup coming soon features
- 7c7530f chore: add comments and TODOs about the disabled image digest resolver
- 0b22b21 chore: add deployments and managed DNS features to README
- 0ef776e chore: add link to uncloud-dns repo in README
- c9ba4ad chore: add todo for ServiceSpec that it may return a spec not equal to original
- 2d92338 chore: compare container ports to spec in assertContainerMatchesSpec
- 0975cba chore: handle RemoveContainer server-side that deletes container from machine db
- 1becd03 chore: rename CaddyConfigPath field
- 0e80f2e chore: replace immutable hash with container spec comparison
- cf65cec chore: replace terminal example with a demo video on landing
- a907fdb chore: update todo
- 64f6a4f chore: use original service spec instead of deriving from container, fixes diff for scale
- efe646f chore: validate unsupported tcp/udp protocols for ingress port
- ffef410 feat(compose): add ContainerSpec.PullPolicy field to define when to pull image from registry
- c42968c feat(compose): add InspectRemoteImage api endpoint to inspect images in registry
- b799b75 feat(compose): add TODO to address deployment idempotency
- 03c5c05 feat(compose): client methods for inspecting images
- 5bcbfc3 feat(compose): deploy compose services without waiting dependencies
- 1911e03 feat(compose): handle image pull policy
- 874af1b feat(compose): implement InspectImage rpc with broadcast support
- 6ffd35f feat(compose): parse Compose project and transform ports extension
- 6e7fe40 feat(compose): partially implement image resolver (pinner) but disable for now
- 34574e4 feat(compose): plan compose deployment
- a0a66f3 feat(connect): add --connect flag to connect to remote cluster machine without using config
- 7fc07ce feat(deploy): init a new deploy command to deploy services from Compose file
- 2ad098c feat(deploy): introduce proto for InspectImage and InspectRemoteImage methods
- e1530bb feat(deploy): load compose project
- 1bbcfa8 feat(entrypoint): allow to override service ENTRYPOINT for run command
- 615022c feat(scale): set file permissions for machine.db database to 600 (may container secrets as env vars)
- ecbd437 feat(scale): store container spec in local machine.db sqlite
- 641b11a feat: implement --pull policy for run command: always, missing, never
- f1a1508 fix(compose): client.ImageInspect to handle broadcasted responses to multiple machines
- 3893005 fix(compose): remove ServiceSpec validation for 0 replicas, it's handled when resolving defaults
- 8719e37 fix(dns): retry HTTP requests to verify Caddy reachability for up to 5 seconds
- eb42082 fix(dns): update DNS records when reserving a new cluster domain, fixes #36
- e130d80 fix(website): demo min height to not shrink before video is loaded
- e8715fc fix: list containers if some of them concurrently removed, fixes #33
- a0551d2 fix: print service endpoints for run service only when non-empty
- fb01604 fix: recreate containers only if spec changed by comparing spec hash
- e1cc39b lint: variable collides with imported package name
- 1471a94 refactor(compose): move compose deployment from client to compose pkg
- 4172cb8 refactor: compose deployment plan to not use PrepareDeploymentSpec
- 041d51b refactor: compose deployment with pluggable spec resolver, basic test
- 042dd59 refactor: decouple deploy and compose packages from client dependency
- 3910101 refactor: embed ServiceSpecResolver into Deployment to handle spec only there
- 1cba1ee refactor: handle CreateContainer server-side
- 76129ea refactor: include service name in deployment plan
- c7355af refactor: move Confirm logic to common place from caddy deployment
- b1abd07 refactor: move api, client, compose packages to pkg
- 7a9d0cf refactor: move compose and deploy packages under client
- 58b51b9 refactor: postpone spec resolver initialisation when creating Deployment
- 3757813 refactor: rename main module to github.com/psviderski/uncloud