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.
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