Addresses #5901
Related: #4056
Add clear documentation on annotation placement for Gateway API sources
to prevent confusion about which annotations go on Gateway vs Route resources.
Changes:
- Add Gateway API Annotation Placement section to annotations.md
- Add Annotations section with examples to gateway-api.md
- Include Cloudflare and AWS provider examples
- Document common mistakes
Per review feedback, compressed annotations.md section to minimal size:
- Removed annotation placement matrix table
- Removed YAML examples
- Kept concise 2-line summary
- Kept link to comprehensive documentation
Co-authored-by: Claude <noreply@anthropic.com>
* feat(source/f5-virtual-server): add host aliases support for Virtual Server source
* fix: markdown lint
* fix: markdown lint
* refactor(source/f5_virtualserver): remove if check for array length, already taken care of by the iterator
* feat(source/istio): support version 1.22
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* feat(source/istio): support version 1.22
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* feat(source/istio): support version 1.22
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* feat(source/istio): support version 1.22
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* feat(source/istio): support version 1.22
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* feat(source/istio): support version 1.22
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* feat(source/istio): support version 1.22
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* feat(source/istio): support version 1.25+
Co-authored-by: mthemis-provenir <168411899+mthemis-provenir@users.noreply.github.com>
---------
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
Co-authored-by: mthemis-provenir <168411899+mthemis-provenir@users.noreply.github.com>
* feat(source): pods added support for annotation filter and label selectors
* feat(source/pods): support for annotation and label filter
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
---------
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* feat(traefik)!: disable legacy listeners on traefik.containo.us API Group
* update docs accordingly
* update test accordingly
* type argument is infered
* fix rebase
* docs: added treafik public and private routing
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
docs: added treafik public and private routing
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
docs: added treafik public and private routing
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
docs: added treafik public and private routing
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
docs: added treafik public and private routing
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
docs: added treafik public and private routing
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
docs: added treafik public and private routing
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
docs: added treafik public and private routing
Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
docs(traefik): public and private routing
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* docs(traefik): public and private routing
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* docs(traefik): public and private routing
Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
* docs(traefik): public and private routing
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
* docs(traefik): public and private routing
Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
---------
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
* feat(cloudflare): add support for MX records
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* test(txt): add additional TXT and MX record test cases
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* feat(endpoint): implement parsing for MX and SRV records with structured targets
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* fix(txt): remove TXT record type from supported types in NewTXTRegistry
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* refactor(digitalocean): streamline MX record handling
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* refactor(cloudflare): improve error handling in change creation
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* fix(endpoint): return all parsed SRV targets instead of a single target
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* test(endpoint): add parsing tests for MX and SRV records
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* fix(endpoint): streamline MX and SRV record validation and parsing
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* fix(digital_ocean): simplify MX record parsing
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* fix(docs): update link to CRD source in MX record documentation
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* fix(cloudflare): improve error handling for MX record parsing
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* fix(cloudflare): improve error message formatting for MX record parsing
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* refactor(endpoint): rename ParseMXRecord to NewMXTarget and update references
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* fix(endpoint): update NewMXTarget to return pointer and adjust tests accordingly
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* refactor(cloudflare): consolidate proxyEnabled and proxyDisabled variable declarations
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* fix(endpoint): update TestNewMXTarget to reflect changes in MXTarget struct fields and add missing test case for host validation
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* fix(digitalocean): improve MX record handling by adjusting error handling and ensuring proper priority and host retrieval
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* refactor(endpoint): change MXTarget fields to unexported and update NewMXTarget to use them
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* refactor(cloudflare): update groupByNameAndTypeWithCustomHostnames to use provider methods and enhance MX record handling in tests
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* test(cloudflare): enhance test cover
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* refactor(endpoint): remove unused SRVTarget struct from endpoint.go
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* refactor(endpoint): rename NewMXTarget to NewMXRecord for clarity and update references
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
* Update docs/sources/mx-record.md
Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
---------
Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com>
Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
* feat(source/node): Make exclusion of unschedulable Nodes configurable
This fixes a behavioral regression introduced in #4761, where
nodes that were previously added to DNS are removed when they are considered
unschedulable, for example due to automated maintenance tasks.
This change will introduce a new flag called `exclude-unschedulable`, which
defaults to `true` in order to keep in line with the current behavior.
However, it would also be reasonable to restore the initial behavior before
* Allow testing for expected log entries in testNodeSourceEndpoints
This commit adds the required logic to be able to test for
the existence (and absence) of certain log messages
in testNodeSourceEndpoints. As an example, this is implemented
for the tests around excludeUnschedulable.
A side effect of using LogsToBuffer is that tests can't run in
parallel due to the log buffer being shared across all
parallel test cases. As such, these specific tests are now executed
one after another.
* Ensure logging is only hooked for tests that require it
* Document new exclude-unschedulable flag for nodes source
* First pass based on existing PR, what is currently on master and some
extra tests.
* Try to resolve AWS service documentation
* Add documentation on how to opt-out of AAAA record creation
* Address documentation concerns
* Add some IPv6 tests to sources
* Make recommended changes to documentation
Add two new options:
- --ignore-non-host-network-pods
- --pod-source-domain
Combined toghether, they can be used to register the IPs
of all pods with their associated PTR record.
Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>