github psviderski/uncloud v0.7.0

latest releases: v0.16.0, v0.15.1, v0.15.0...
9 months ago

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 .internal domain.
  • Automatically configured for all service containers and used for service discovery (resolves service-name and service-name.internal to IP addresses of the service-name service containers).
  • Transparently forwards non-.internal queries 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/add if DNS port is already in use.

Compose profiles

  • Support for Compose profiles via -p/--profile flag.

CLI enhancements

  • Display version information for uc and uncloudd binaries with --version flag.
  • Made all confirmation forms accessible.

Bug fixes

  • Fixed Caddy proxy to only route to healthy containers.
  • Fixed panic in ctx command 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

Don't miss a new uncloud release

NewReleases is sending notifications on new releases.