All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.4.13 - 2024-01-12
- Decrease "drift detection" frequency only, still check again quickly after a failed discovery.
0.4.12 - 2024-01-12
- Decrease the frequency of reconcilation requests for healthy DNS-SD instances
(10 times TTL). This is a hack to reduce the likelyhood of false negatives
until a fix can be applied to the upstream dependency
dogmatiq/dissolve
.
0.4.11 - 2024-01-12
- Log DNS resolver configuration on startup
0.4.10 - 2024-01-12
- Bumped chart version to 0.4.10
0.4.9 - 2024-01-12
- Fixed "reconciler returned both a non-zero result and a non-nil error" warning
- Fixed "the object has been modified" error by always requeing on conflict
0.4.8 - 2023-11-16
- Added
common.annotations
value to Helm chart, which adds annotations to all Kubernetes resources - Added
rbac.annotations
value to Helm chart, which adds annotations to RBAC-related Kubernetes resources
0.4.7 - 2023-11-07
- Use case-insensitive comparison when detecting hostname drift
0.4.6 - 2023-11-07
- Ensure Helm Chart version is bumped in lockstep with Proclaim version
0.4.5 - 2023-11-07
- Always use TCP (not UDP) for DNS-SD reconcilation queries to avoid truncated responses
- Fixed false-negative reported for the
Discoverable
condition
- Added brief description of the drifted values when
Discoverable
isFalse
due toLookupResultOutOfSync
0.4.4 - 2023-11-05
- The dependency on the
proclaim
secret is now optional
0.4.3 - 2023-08-15
- Proclaim is now built against Go v1.21
- Updated AWS, Kubernetes and DNS-SD related dependencies
0.4.2 - 2023-04-22
- The Helm chart in versioned in lockstep with Proclaim itself
0.4.1 - 2023-04-22
- Drastically reduced the re-reconciliation interval from 10 hours (the Kubernetes default), to the TTL of the DNS-SD instance (typically ~1 minute). This provides much more practical drift-detection behavior. Assuming there is no DNS record drift, the only overhead is a DNS query every TTL period.
- The
Discovered
event is now only emitted when a service instance is first discovered, or returns to being discoverable after a period of undiscoverability or drift. Prior to this change the event was emitted every time drift detection was performed.
- Added granular debug logging for advertise, unadvertise, discover and finalization operations.
0.4.0 - 2023-03-21
- Added
env
key to Helm chart values
- Handle
null
values inattributes
field
- Controller now loads all values from the
proclaim
secret as environment variables - [BC] Changed some Helm chart values for consistency:
- Added
deployment.labels
- Renamed
deploymentAnnotations
todeployment.annotations
- Renamed
podAnnotations
topod.annotations
- Renamed
podLabels
topod.labels
- Renamed
commonLabels
tocommon.labels
- Added
- Removed various unused Helm chart values
0.3.0 - 2023-03-20
- [BC] Changed
attributes
field to accept any scalar type- Empty string values are longer treated as "flags", use
true
instead - Regular associative attributes with empty values are now supported
- Empty string values are longer treated as "flags", use
0.2.0 - 2023-03-20
- The controller now verifies instances are advertised correctly using DNS-SD queries
- Added "conditions" to CRD status, as per Kubernetes API design recommendations
- The
Adopted
condition indicates whether a suitable DNS provider has been found - The
Advertised
condition indicates whether the DNS records have been successfully created/updated - The
Discoverable
condition indicates whether the service is discoverable via DNS-SD
- The
- Added more granular events
- Added
targets
field to CRD, allowing (future) support for multiple targets per instance
- Marked
DNSIMPLE_TOKEN
environment variable as "sensitive" to avoid showing its value in validation output
- [BC] Moved DNS-SD properties in CRD into
instance
subkey ofspec
- [BC] Renamed
service
fields in CRD toserviceType
for better alignment with the DNS-SD spec - [BC] Removed
targetHost
andtargetPort
fields from CRD, see newtargets
field instead
0.1.0 - 2023-03-16
- Initial release