v0.2.0

psviderski/uncloudv0.2.0Feb 14, 2025by psviderski

AI Summary

This release (v0.2.0) introduces significant improvements to service deployment management including Deployment, Strategy, and Operation primitives, a rolling deploy strategy for global services, and better detection of conflicting service ports. It also adds SSH key configuration support and includes multiple bug fixes for the CLI installation process and config handling.

Key Highlights

  • Add Deployment, Strategy, Operation primitives for compose service deployments
  • Implement rolling deploy strategy for global services with automatic recreation
  • Add identity_file/SSHKeyFile field to config connections
  • Detect conflicting service ports on containers
  • Introduce client.Service entity for managing service containers

Breaking Changes

  • Field renamed from IdentityFile to SSHKeyFile in config - may require config updates

New Features

  • Deployment, Strategy, Operation primitives for service deployments
  • identity_file field in config connections
  • Conflicting service port detection on containers
  • Skip redeployment of global services when spec unchanged
  • client.Service entity for managing service containers
  • Progress tracking for service removal
  • Rolling deploy strategy for global services
  • SSH key file configuration support

Full Release Notes

## Changelog
* e3a310397be11546b562ff116e2725990cf11bcf Merge pull request #20 from cedws/init-19
* b482d836aa76cfde12f4b81f30876d8e26f438f6 Merge pull request #21 from cedws/identityfile
* 0d9a2b6e0736592b74f1a7286c1c1e73386b13bf add brew install command to README
* 653f47f507f74a4f9988f2a462e604ba69de21db add clean up step to quick start
* c0bf1f29304e096f7444ceceb5eabcce34294673 add contributors section to README, feature @cedws
* 9859be50a677116f189fe63b2bfeeba9c646162d feat: add Deployment, Strategy, Operation primitives to compose service deployments
* ac48b8bee6e7870050b3a665c4a772b4049db26c feat: add identity_file field to config connections config
* b17fd7531f86057b6f1c08b8f96ba69964c1cc3f feat: detect conflicing service port on a container
* a53fa2c1d8bd74b1411f08b24bc5c63cbfe1bd33 feat: do not redeploy global service if spec hasn't changed
* 04fd1b1425ed8921c0e5640a3c5baa80fd1493b2 feat: introduce client.Service entity for managing service containers
* f2098519869ca7263cac965a2fe4ae2d8d91c14a feat: progress for removing service(s)
* 43f28284f1a5c1a065d01f10a03be9a9fb126c45 feat: rolling deploy strategy for global service, always recreate
* fb68303825f16267d3970d478d464f6bb71a4a61 fix: cli install script, add manual instruction
* b2f7c6fb33a87a6a01cd3c1121e51348e46231b7 fix: execute valid bash cmd when running init as root
* cfe5b018f3c0876d5edd9a42ed50b8e8a572a6ca fix: install.sh install command
* b451f2cf7c79eb56e41bebdb3453451c09a5a065 fix: install_cli.sh install command
* 0bf759333a3ef051979224925b5821c2bf5ab98e fix: populate ssh_key_file in the config when adding machine to cluster
* 3d2d9b78e80d6611d94951e006edb71f16d1d7a2 fix: rename IdentityFile to SSHKeyFile
* 99219dc3762de02d3f51ba7171d11401b66e36c1 fix: set identity_file in config after init
* 408703360c77ae3c4a637293b8f4542427e56a26 fix: use os.UserHomeDir() instead of $HOME
* 5e2b2ac8361a458e3a5c9cbb68536be88c4abf65 refactor: api.Container to use the detailed ContainerJSON struct instead of Container (Summary)
* a477db6b1610f03c8fc963975a9fcc7b1512304f refactor: client CreateContainer and StartContainer methods
* 76a9f8e8b670f7c9304890fffcac2978b6b12171 refactor: client StartContainer pass serviceID
* c4398f9f06e78a9a3446d5b72ccb16d931849fff refactor: deploy global service using Deployment with RollingStrategy
* 4da51636fd30488354af72469c8f2d9240c55048 refactor: remove service with StopContainer and RemoveContainer
* 5b66cec627c8fc939704efadeb63694c128ba0af verify checksum in install_cli.sh