
silence-operator
The silence-operator manages alertmanager silences.
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.
- Cronjob runs the synchronization of raw CRs definition from the specified folder by matching tags.
Sample CR:
apiVersion: monitoring.giantswarm.io/v1alpha1
kind: Silence
metadata:
name: test-silence1
spec:
targetTags:
- name: installation
value: kind
- name: provider
value: local
matchers:
- name: cluster
value: test
isRegex: false
targetTags field:
- defines a list of tags, which
sync command uses to match CRs towards a specific environment
- each target tag consists of
name and value which is a regexp matched against corresponding name tag given on the command line
- if a
Silence doesn't specify any targetTags it is assumed to match any environment and is synced
- otherwise for a
Silence to be synced, all tags defined in its targetTags must match all tags given on the sync command line
For example, to ensure raw CR, stored at /folder/cr.yaml, run:
silence-operator sync --tag installation=kind --tag provider=local --dir /folder
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
silence-operator is under the Apache 2.0 license. See the LICENSE file
for details.
Credit