diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index 8e6b2594..9915d0a6 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -24,6 +24,7 @@ jobs: curl https://raw.githubusercontent.com/fluxcd/notification-controller/master/docs/spec/v1alpha1/event.md > docs/components/notification/event.md curl https://raw.githubusercontent.com/fluxcd/notification-controller/master/docs/spec/v1alpha1/alert.md > docs/components/notification/alert.md curl https://raw.githubusercontent.com/fluxcd/notification-controller/master/docs/spec/v1alpha1/provider.md > docs/components/notification/provider.md + curl https://raw.githubusercontent.com/fluxcd/notification-controller/master/docs/spec/v1alpha1/receiver.md > docs/components/notification/receiver.md - name: Deploy docs uses: mhausenblas/mkdocs-deploy-gh-pages@master env: diff --git a/docs/_files/notification-controller.png b/docs/_files/notification-controller.png new file mode 100644 index 00000000..f1a0f5c5 Binary files /dev/null and b/docs/_files/notification-controller.png differ diff --git a/docs/components/notification/controller.md b/docs/components/notification/controller.md index 6d5fac41..672f89fa 100644 --- a/docs/components/notification/controller.md +++ b/docs/components/notification/controller.md @@ -1,14 +1,15 @@ # Notification Controller -The Notification Controller is a Kubernetes operator, -specialized in dispatching events to external systems such as -Slack, Microsoft Teams, Discord and Rocket chat. +The Notification Controller is a Kubernetes operator, specialized in handling inbound and outbound events. -The controller receives events via HTTP and dispatch them to external -webhooks based on event severity and involved objects. +![](../../_files/notification-controller.png) -The controller can be configured with Kubernetes custom resources that -define how events are processed and where to dispatch them. +The controller handles events coming from external systems (GitHub, GitLab, Bitbucket, Harbour, Jenkins, etc) +and notifies the GitOps toolkit controllers about source changes. + +The controller handles events emitted by the GitOps toolkit controllers (source, kustomize, helm) +and dispatches them to external systems (Slack, Microsoft Teams, Discord, Rocker) +based on event severity and involved objects. Links: diff --git a/docs/guides/notifications.md b/docs/guides/notifications.md index 4fb116de..0030cd9d 100644 --- a/docs/guides/notifications.md +++ b/docs/guides/notifications.md @@ -42,9 +42,9 @@ spec: name: slack-url ``` -The provider type can be `slack`, `msteams`, `discord`, `rocket` or `webhook`. +The provider type can be `slack`, `msteams`, `discord`, `rocket` or `generic`. -When type `webhook` is specified, the notification controller will post the incoming +When type `generic` is specified, the notification controller will post the incoming [event](../components/notification/event.md) in JSON format to the webhook address. This way you can create custom handlers that can store the events in Elasticsearch, CloudWatch, Stackdriver, etc. diff --git a/docs/index.md b/docs/index.md index b66b709b..4bb25998 100644 --- a/docs/index.md +++ b/docs/index.md @@ -29,7 +29,7 @@ Target features: - External events handling (webhook receivers) - Source write-back (automated patching) - Policy driven validation (OPA, admission controllers) -- Seamless integration with Git providers (GitHub, GitLab, BitBucket) +- Seamless integration with Git providers (GitHub, GitLab, Bitbucket) - Interoperability with workflow providers (GitHub Actions, Tekton, Argo) - Interoperability with CAPI providers @@ -44,6 +44,7 @@ Components: - [Notification Controller](components/notification/controller.md) - [Provider CRD](components/notification/provider.md) - [Alert CRD](components/notification/alert.md) + - [Receiver CRD](components/notification/receiver.md) - Helm Controller (TBA) To get started with the toolkit please follow this [guide](get-started/index.md). diff --git a/manifests/bases/notification-controller/kustomization.yaml b/manifests/bases/notification-controller/kustomization.yaml index 4f111dc8..61527286 100644 --- a/manifests/bases/notification-controller/kustomization.yaml +++ b/manifests/bases/notification-controller/kustomization.yaml @@ -1,5 +1,5 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: -- github.com/fluxcd/notification-controller/config//crd?ref=v0.0.1-beta.1 -- github.com/fluxcd/notification-controller/config//manager?ref=v0.0.1-beta.1 +- github.com/fluxcd/notification-controller/config//crd?ref=v0.0.1 +- github.com/fluxcd/notification-controller/config//manager?ref=v0.0.1 diff --git a/mkdocs.yml b/mkdocs.yml index daed97b2..0950ec4c 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -56,6 +56,7 @@ nav: - Provider CRD: components/notification/provider.md - Alert CRD: components/notification/alert.md - Event: components/notification/event.md + - Webhook Receiver: components/notification/receiver.md - Notification API Reference: components/notification/api.md - Toolkit CLI: - Overview: cmd/tk.md