Commit Graph

189 Commits

Author SHA1 Message Date
Stefan Prodan ed816fbc9e receiver: Update default API versions to GA
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
(cherry picked from commit c5e11470bd)
2025-10-02 19:18:34 +00:00
Dipti Pai 3ee0e7a8cd Provider Azure Event Hub - Remove JWT auth from docs
Signed-off-by: Dipti Pai <diptipai89@outlook.com>
2025-09-05 11:21:23 -07:00
Adrian Fernandez De La Torre a332f9c326 Setup OTEL provider type
Signed-off-by: Adrian Fernandez De La Torre <adri1197@gmail.com>
2025-09-05 11:02:14 +02:00
Matheus Pimenta de328fa438
Introduce zulip alert provider
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2025-09-04 19:08:06 +01:00
Stefan Prodan b8f0c5ab23
docs: Fix GitHub dispatch example
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-09-03 10:09:30 +03:00
abhijith-darshan 4eae0d34da
Add support for mTLS to GitHub App transport
This commit ensures that if GitHub app secret data contains ca.crt then a TLS config with user provided custom ca is used in the underlying HTTP transports. The ca.crt in GitHub App secretRef is ignored if certSecretRef is also provided.

Signed-off-by: abhijith-darshan <abhijith.darshan@hotmail.com>

(chore): keep Makefile in sync with other controllers

Signed-off-by: abhijith-darshan <abhijith.darshan@hotmail.com>

(chore): use proper func naming format

Signed-off-by: abhijith-darshan <abhijith.darshan@hotmail.com>

(chore): revert Makefile changes

Signed-off-by: abhijith-darshan <abhijith.darshan@hotmail.com>

(chore): add get secret helper

This commit creates a getSecret helper func which can be used to resolve secret. createNotifier re-uses this helper func to extract and pass secrets down to other methods

Signed-off-by: abhijith-darshan <abhijith.darshan@hotmail.com>

(chore): adds tls test cases

Signed-off-by: abhijith-darshan <abhijith.darshan@hotmail.com>

(chore): remove debug logs

Signed-off-by: abhijith-darshan <abhijith.darshan@hotmail.com>

(chore): adds documentation

Signed-off-by: abhijith-darshan <abhijith.darshan@hotmail.com>

(chore): update docs with mTLS info

Signed-off-by: abhijith-darshan <abhijith.darshan@hotmail.com>
2025-08-18 11:03:43 +02:00
cappyzawa 039cd81a6f
docs: enhance workload identity documentation for providers
Add comprehensive workload identity documentation for both Google Pub/Sub and Azure DevOps providers.
Include controller-level and object-level authentication patterns with feature gate requirements
and setup instructions for multi-tenant environments.

Signed-off-by: cappyzawa <cappyzawa@gmail.com>
2025-08-03 07:35:37 +09:00
cappyzawa c2d0f5ec98
docs: improve mTLS documentation structure and visibility
Reorganize Certificate secret reference section to prioritize mutual TLS
authentication discovery and reduce user friction. The previous structure
buried mTLS information within generic certificate documentation, causing
users to miss this important security feature.

Move provider compatibility validation before configuration examples to
prevent wasted effort with unsupported providers. Create dedicated sections
for mTLS and CA-only authentication with complete examples and clear
explanations of field requirements.

Signed-off-by: cappyzawa <cappyzawa@gmail.com>
2025-07-29 23:28:34 +09:00
Matheus Pimenta 3e69e745a3
Introduce proper basic auth support for Alertmanager Provider
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2025-07-28 11:32:41 +01:00
Matheus Pimenta fd7385ba15
Introduce label selector for watching Secrets referenced in Receivers
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2025-07-27 20:08:00 +01:00
cappyzawa 67c049d3c7
Add mTLS support for DataDog and Sentry notifiers
These notifiers were using x509.CertPool which only supports CA
certificates for server authentication. By migrating to tls.Config,
they now support mutual TLS authentication with client certificates.

This enables secure communication in enterprise environments that
require client certificate authentication, completing the runtime/secrets
migration for these remaining notifiers.

Signed-off-by: cappyzawa <cappyzawa@gmail.com>
2025-07-22 14:23:12 +09:00
cappyzawa 0c1801906a
Add mTLS support for git-based notifiers
Replace x509.CertPool with tls.Config across all Git-based notifiers
(GitHub, GitLab, Gitea, Bitbucket, Azure DevOps, GitHub Dispatch) to
enable mutual TLS authentication for enterprise environments.

Adopt runtime/secrets AuthMethodsFromSecret for standardized handling
of Bearer tokens, basic auth, and token auth while maintaining full
backward compatibility with existing Secret formats.

This unifies authentication processing across Git-based providers and
adds mTLS capability without changing API surface or breaking existing
deployments.

Signed-off-by: cappyzawa <cappyzawa@gmail.com>
2025-07-19 08:31:47 +09:00
Dipti Pai dc8e92c119 Azure OIDC integration updates:
- Azure DevOps commit status update using Managed Identity.
- Migrate Azure Event Hubs to new ProducerClient (azeventhubs) sdk
- Unit Tests and doc update

Signed-off-by: Dipti Pai <diptipai89@outlook.com>
2025-07-18 07:58:13 -07:00
cappyzawa 955d24142c
Make address field optional for providers that generate URLs internally
This change removes the generic address validation from event_handlers.go
that was preventing address-optional providers from functioning without
specifying a dummy address value. Some providers generate URLs internally
and don't require external address configuration.

This allows providers that generate URLs internally to work without
requiring dummy address values in the provider configuration.

Signed-off-by: cappyzawa <cappyzawa@gmail.com>
2025-07-16 00:13:29 +09:00
cappyzawa fc4adfd030
Add proxy support to Telegram notifier
Replace shoutrrr with direct Telegram Bot API calls to enable proxy
configuration through postMessage function.

Signed-off-by: cappyzawa <cappyzawa@gmail.com>
2025-07-08 00:15:02 +09:00
cappyzawa 98ecf2de79
Add mTLS support for postMessage-based notifiers
- Implement mTLS support for 10 postMessage notifiers
- Unify constructor signatures with tlsConfig parameter
- Make TLSConfig field public for consistency
- Update factory functions and fuzz tests
- Add mTLS test cases
- Replace CertPool with TLSConfig using runtime/secrets

Signed-off-by: cappyzawa <cappyzawa@gmail.com>
2025-07-03 21:39:16 +09:00
cappyzawa 8858332c27
Add ProxySecretRef field to Provider API
Introduce spec.proxySecretRef to enable secure proxy configuration
through dedicated Secrets. This provides a more secure alternative
to the deprecated spec.proxy field and secret proxy key.

The new field integrates with runtime/secrets for unified proxy
handling and maintains backward compatibility. Deprecation warnings
are implemented for existing proxy configuration methods.

Proxy priority: ProxySecretRef > secret proxy key > spec.proxy

Signed-off-by: cappyzawa <cappyzawa@gmail.com>
2025-06-27 23:31:02 +09:00
Stefan Prodan fc126284ab
Fix links in provider API doc
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-05-29 17:09:54 +03:00
Matheus Pimenta f2e2340807
[RFC-0010] Link workload identity docs to complete guide
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2025-05-26 23:42:01 +01:00
Dipti Pai 0beb3d02f7 Managed Identity support for Azure Event Hubs. Changes include -
- If authentication token is not specified in provider, attempt to get the token using workload identity.
= Add new field .spec.serviceAccountName to support multi-tenant workload identity as defined in RFC-0010 to use an identity with a service account other than the notification-controller.
- Use proxy to get the token if specified in provider spec.
- Cache the tokens if enabled in the notification controller options.
- If address has SAS connection string, use that for authentication, this takes priority over token-authentication
- If static JWT token is specified in the secret reference, use it for authentication, this takes priority over workload identity-acquired token.
- Update RBAC for notification-controller to be able to create service token requests.
- Add unit tests for the 3 authentication mechanisms (SAS, JWT, managed identity).
- Add documentation for using single-tenant and multi-tenant approaches of workload identity with azureeventhub provider.
- Add operation post to github helpers and provider controller for cache event metrics
- Enable token cache by default.

Signed-off-by: Dipti Pai <diptipai89@outlook.com>

review comments

Signed-off-by: Dipti Pai <diptipai89@outlook.com>

enable cache by default

Signed-off-by: Dipti Pai <diptipai89@outlook.com>
2025-05-05 12:03:52 -07:00
Dipti Pai bc7166d419 [RFC-007] GitHub App authentication support for github and github-dispatch providers.
- Add providerOpts in notifier to configure authentication options for various providers.
- If token/password are not set to PAT, check if github app details are configured in secret and if found; authenticate using github-app by retrieving app installation token.
- If proxy is specified in the provider spec OR in the secret, configure github app authentication to fetch the installation token over the proxy.
- Add unit tests for providers.
- Update documentation describing the usage of github app authentication with the providers.
- Add token cache to notification controller to cache and re-use the tokens.

Signed-off-by: Dipti Pai <diptipai89@outlook.com>
2025-03-20 14:18:10 -07:00
Alexey Orlov 1a9858d725 updated docs to include telegram forum chat conf
Signed-off-by: Alexey Orlov <orlov.aa@selectel.com>
Signed-off-by: Alexey Orlov <v1km4n@ya.ru>
2025-03-19 15:15:34 +03:00
kathleen french 1967bc0c74 feat: support CEL expressions to construct commit statuses for v1beta3 provider types
Signed-off-by: kathleen french <kfrench@groq.com>
2025-03-14 08:53:55 -04:00
Matheus Pimenta 7a34aee2bd
Add involved object reference as annotations for the grafana provider
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2025-02-12 14:10:13 +00:00
Sebastian Woehrl b72ecab696 Clarify gitlab provider usage
Currrent gitlab API does not accept project name for setting git commit
status, a project ID must be used.

Signed-off-by: Sebastian Woehrl <sebastian.woehrl@maibornwolff.de>
2025-02-12 11:57:51 +00:00
Kevin McDermott 28deef923f
Implement Receiver resource filtering with CEL
Signed-off-by: Kevin McDermott <bigkevmcd@gmail.com>
Co-authored-by: Matheus Pimenta <matheuscscp@gmail.com>
2025-02-10 16:21:50 +00:00
Matheus Pimenta b362a258fe
Enforce namespace check on receiver
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2025-01-30 10:27:01 +00:00
Georgi Panov ecc3395615 Add support for Bearer Token authentication to Provider alertmanager
Signed-off-by: Georgi Panov <77702912+d4rkfella@users.noreply.github.com>
Signed-off-by: Darkfella91 <darkfella91@gmail.com>

Update alertmanager_test.go

Signed-off-by: Georgi Panov <77702912+d4rkfella@users.noreply.github.com>
Signed-off-by: Darkfella91 <darkfella91@gmail.com>

Update alertmanager_fuzz_test.go

Signed-off-by: Georgi Panov <77702912+d4rkfella@users.noreply.github.com>
Signed-off-by: Darkfella91 <darkfella91@gmail.com>

Update factory.go

Signed-off-by: Georgi Panov <77702912+d4rkfella@users.noreply.github.com>
Signed-off-by: Darkfella91 <darkfella91@gmail.com>

Update factory.go

Signed-off-by: Darkfella91 <darkfella91@gmail.com>

Fix a mistake with the last commit to update the docs

Signed-off-by: Darkfella91 <darkfella91@gmail.com>

Fix another formatting issue

Signed-off-by: Darkfella91 <darkfella91@gmail.com>

Screwed up my previous commit so implementing the suggested changes again and fixed formatting for the structs

Signed-off-by: Darkfella91 <darkfella91@gmail.com>

Tried to use better wording, to outline that authentication is optional

Signed-off-by: Darkfella91 <darkfella91@gmail.com>

Another small change to the explanation for bearer token authentication

Signed-off-by: Darkfella91 <darkfella91@gmail.com>

Fix incorrect article usage and the configured address example as suggested

Signed-off-by: Darkfella91 <darkfella91@gmail.com>
2025-01-26 23:43:03 +02:00
Matheus Pimenta 9dc18128c8
Add subsection for Git providers supporting commit status updates
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2025-01-23 10:33:56 +00:00
Matheus Pimenta 939a16620f
[RFC-0008] Custom Event Metadata from Annotations
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2025-01-10 13:19:15 +00:00
Stefan Prodan 05be0bd5a1
Fix CDEvents example
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-09-26 10:40:37 +03:00
Matheus Pimenta e0cf7a1fc7 Add MS Adaptive Card payload to `msteams` Provider
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2024-09-12 11:00:51 -03:00
Thomas DANGLETERRE fd2df2cffe chore: set stringData for secret of github PAT in githubdispatch provider doc
Signed-off-by: Thomas DANGLETERRE <thomas.dangleterre@decathlon.com>
2024-07-09 10:42:28 +02:00
Timur Demin 531c5873e7 Alertmanager: Change timestamp label to .StartsAt
notification-controller posted all outgoing Alertmanager alerts with
"timestamp" label, effectively preventing grouping alerts related to the
same resource and forcing users to configure a separate alert receiver
with `send_resolved: false`.

This changes it to instead set "startsAt", which was previously set
(automatically by Alertmanager) to alert posting time. "endsAt" remains
unset, as we have no way of figuring that out but the reconciliation
interval of the resource that generated the alert, which can currently
only be found out by making a Kubernetes API round-trip.

Note that this requires users to adapt alert templates that relied on
.Labels.Timestamp.

Signed-off-by: Timur Demin <me@tdem.in>
2024-04-27 16:20:12 +05:00
Gaurav Dasson 633e33bf4b Add support for Bitbucket Context path - Fix issue #742
Signed-off-by: Gaurav Dasson <gaurav.dasson@gmail.com>
2024-04-20 23:56:03 -05:00
adam b4949b6e05 Implement CDEvents Receiver
Signed-off-by: adamkenihan <adam.kenihan@est.tech>

Added CDEvents Receiver

Signed-off-by: adamkenihan <adam.kenihan@est.tech>

Added CDEvent Validation + Tests

Signed-off-by: adamkenihan <adam.kenihan@est.tech>

Small changes to CDEvent Receiver

Signed-off-by: adamkenihan <adam.kenihan@est.tech>

More CDEvents Tests and Docs added

Signed-off-by: adamkenihan <adam.kenihan@est.tech>

Adding imports to go.mod

Signed-off-by: adamkenihan <adam.kenihan@est.tech>

small changes + manifests and formatting

Signed-off-by: adamkenihan <adam.kenihan@est.tech>

Changing string compare to EqualFold

Signed-off-by: adamkenihan <adam.kenihan@est.tech>
2024-03-27 10:36:51 +00:00
Stefan Prodan 34a9099884
Add the Provider `.spec.timeout` field to the API docs
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2024-03-07 15:22:25 +02:00
piny940 f5c0f6d33b fix typo in docs/spec/v1beta3/providers.md
Signed-off-by: piny940 <an.s.shoma@gmail.com>
2024-01-26 20:04:14 +05:30
Sunny 5b152f583d Remove old/incorrect API version usage
- Update README.md to point to v1beta3 spec docs.
- Remove provider testdata which had old API version and is no longer
  used in any test.
- Update Provider v1beta2 spec docs to use Alert v1beta2.
- Update Provider v1beta3 spec docs to use v1beta3 API in all the
  code snippets.

Signed-off-by: Sunny <darkowlzz@protonmail.com>
2023-12-19 18:25:16 +05:30
SkullKidCode 3c05438d62
Update docs/spec/v1beta3/providers.md
Co-authored-by: Stefan Prodan <stefan.prodan@gmail.com>
Signed-off-by: SkullKidCode <SkullKidCode@users.noreply.github.com>
2023-12-01 13:50:35 +00:00
Toby Watson 427d20046e
Add NATS provider to v1beta3
Signed-off-by: Toby Watson <SkullKidCode@users.noreply.github.com>
2023-11-30 23:19:21 +00:00
Sunny b2e533af67 Add v1beta3 spec docs
Signed-off-by: Sunny <darkowlzz@protonmail.com>
2023-11-28 16:17:03 +05:30
gdasson 504dc991cc Adding bitbucketserver provider for git commit status
Signed-off-by: gdasson <gaurav.dasson@gmail.com>
2023-11-20 23:17:04 -06:00
Arik Kfir 823c76342b
Fix README.md links to notification APIs
This change fixes the documentation links for the notification manager APIs.

Signed-off-by: Arik Kfir <arik@kfirs.com>
2023-09-16 12:28:33 +03:00
Somtochi Onyekwere 23e733b9c7 use kubernetes tls style secret in provider
Signed-off-by: Somtochi Onyekwere <somtochionyekwere@gmail.com>
2023-08-23 14:06:15 +01:00
Michael Parker 71ed90ee8c
feat: create datadog notification provider
Signed-off-by: Michael Parker <michael@parker.gg>
2023-08-15 11:36:54 +03:00
Max Jonas Werner e1d3a59b5a Clarify permission requirements for Gitea provider token
closes #580

Signed-off-by: Max Jonas Werner <mail@makk.es>
2023-08-03 13:06:14 +02:00
Satish Kumar Kadarkarai Main 002474c3d5 change key type to []byte
Signed-off-by: Satish Kumar Kadarkarai Main <michael.satish@gmail.com>
2023-07-29 20:50:45 -04:00
Max Jonas Werner 926efbc120 Align docs structure with other controllers
In order to streamline the docs across all controllers, the CRD spec
file names are pluralized. This lets us better automate docs generation
from CRD specs.

refs fluxcd/website#1577

Signed-off-by: Max Jonas Werner <mail@makk.es>
2023-07-29 16:39:13 +02:00
Hidde Beydals 1a3ce97ee6
docs: update link to Gitea hooks source
While pinning it to a version, to ensure it continues to point to the
right LOC.

Signed-off-by: Hidde Beydals <hiddeco@users.noreply.github.com>
2023-07-14 15:37:37 +02:00