silence-operator

module
v0.16.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 20, 2025 License: Apache-2.0

README

CircleCI Docker Repository on Quay

silence-operator

The Silence Operator automates the management of Alertmanager silences using Kubernetes Custom Resources. This allows you to define and manage silences declaratively, just like other Kubernetes objects, integrating them into your GitOps workflows.

Prerequisites

  • Kubernetes 1.25+
  • Helm 3+

Get Helm Repository Info

helm repo add giantswarm https://giantswarm.github.io/control-plane-catalog/
helm repo update

See helm repo for command documentation.

Install Helm Chart

helm install [RELEASE_NAME] giantswarm/silence-operator

See helm install for command documentation.

CRDs are not created by this chart and should be manually deployed:

kubectl apply --server-side -f https://raw.githubusercontent.com/giantswarm/silence-operator/main/config/crd/monitoring.giantswarm.io_silences.yaml

Uninstall Helm Chart

helm uninstall [RELEASE_NAME]

This removes all the Kubernetes components associated with the chart and deletes the release.

See helm uninstall for command documentation.

CRDs are not removed by default and should be manually cleaned up:

kubectl delete crd silences.monitoring.giantswarm.io

Upgrading Chart

helm upgrade [RELEASE_NAME] giantswarm/silence-operator

CRDs should be manually updated:

kubectl apply --server-side -f https://raw.githubusercontent.com/giantswarm/silence-operator/main/config/crd/monitoring.giantswarm.io_silences.yaml

See helm upgrade for command documentation.

Overview

CustomResourceDefinition

The silence-operator monitors the Kubernetes API server for changes to Silence objects and ensures that the current Alertmanager silences match these objects. The Operator reconciles the Silence Custom Resource Definition (CRD) which can be found here.

The Silence CRD generated at config/crd/monitoring.giantswarm.io_silences.yaml is deployed via management-cluster-bases repository.

How does it work

Deployment runs the Kubernetes controller, which reconciles Silence CRs.

Sample CR:

apiVersion: monitoring.giantswarm.io/v1alpha1
kind: Silence
metadata:
  name: test-silence1
spec:
  matchers:
  - name: cluster
    value: test
    isRegex: false
  • matchers field corresponds to the Alertmanager silence matchers each of which consists of:
    • name - name of tag on an alert to match
    • value - fixed string or expression to match against the value of the tag named by name above on an alert
    • isRegex - a boolean specifying whether to treat value as a regex (=~) or a fixed string (=)
    • isEqual - a boolean specifying whether to use equal signs (= or =~) or to negate the matcher (!= or !~)

Getting the Project

Download the latest release: https://github.com/giantswarm/silence-operator/releases/latest

Clone the git repository: https://github.com/giantswarm/silence-operator.git

Download the latest docker image from here: https://quay.io/repository/giantswarm/silence-operator

How to build

Build the standard way.

go build github.com/giantswarm/silence-operator

Contributing & Reporting Bugs

See CONTRIBUTING for details on submitting patches, the contribution workflow as well as reporting bugs.

For security issues, please see the security policy.

License

This project is licensed under the Apache 2.0 License. See the LICENSE file for the full license text.

Copyright (c) 2025 Giant Swarm GmbH

Directories

Path Synopsis
api
v1alpha1
Package v1alpha1 contains API Schema definitions for the monitoring v1alpha1 API group.
Package v1alpha1 contains API Schema definitions for the monitoring v1alpha1 API group.
internal
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL