This release introduces embedded DNS service for internal service discovery, Compose profiles support, and several improvements for CLI and machine daemon.
New Features
Embedded DNS service
- Runs on each machine's IP (10.210.X.1) and handles
.internaldomain. - Automatically configured for all service containers and used for service discovery (resolves
service-nameandservice-name.internalto IP addresses of theservice-nameservice containers). - Transparently forwards non-
.internalqueries to upstream DNS servers. - Can be used as the main nameserver on the machine to simplify service troubleshooting from the host shell. K8s, don't be jealous!
- Fast failure during
machine init/addif DNS port is already in use.
Compose profiles
- Support for Compose profiles via
-p/--profileflag.
CLI enhancements
- Display version information for
ucandunclouddbinaries with--versionflag. - Made all confirmation forms accessible.
Bug fixes
- Fixed Caddy proxy to only route to healthy containers.
- Fixed panic in
ctxcommand when Uncloud config contains only one context. Thanks to @tonyo for reporting. - Fixed loss of message from child loggers (created with
slog.With).
Contributors
Thanks to @cedws for contributing the Compose profiles and CLI --version features!
Changelog
- ef57b62 Merge pull request #50 from cedws/version
- 7861d56 Merge pull request #54 from cedws/profiles
- c563856 chore(dns-server): authoritative responses for internal DNS queries and forwarding to ustream servers
- 70e9385 chore(dns-server): implement resolver for service records that watches container changes
- 6e1165e chore(dns-server): make TCP server non-critical; do not exit if it fails to start
- fbbf839 chore: init embedded DNS server
- 769f5e4 feat(dns-server): check system prerequisites when init/add machine: DNS port is not in use by another DNS server
- 8d16da5 feat(dns-server): run embedded internal DNS server on machine IP in uncloudd daemon process
- cf7e333 feat(dns-server): use embedded DNS server for all service containers
- 7bc69b9 feat: add support for Compose profiles
- e854bbb feat: add version flag to main cmd
- eee28e2 feat: add version flag to uncloudd binary
- 0b8495e feat: make all confirmation forms accessible
- 3880092 fix(caddy): proxy to only healthy containers
- 6068e24 fix(ctx): panic: index out of range when only one context in uncloud config (closes #52)
- d6c0682 fix(dns-server): fix constructor and log messages
- db3016f fix: --file flag description for uc deploy cmd
- fe93d91 fix: attributes handling in SlogTextHandler for child loggers
- 3f70018 fix: import cycle in pkg/api