Categorygithub.com/giantswarm/prometheus-meta-operator
repositorypackage
3.8.0+incompatible
Repository: https://github.com/giantswarm/prometheus-meta-operator.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# README

CircleCI Docker Repository on Quay

prometheus-meta-operator

The prometheus-meta-operator watches Cluster CRs and creates prometheus-operator CRs. It is implemented using operatorkit.

Getting Project

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

How to build

Build it using the standard go build command.

go build github.com/giantswarm/prometheus-meta-operator

How to update upstream code

We store modified upstream code for our own usage.

  • pkg/alertmanager/config
  • pkg/prometheus/common/config

Initial upstream setup

Add the upstream git repository:

$ git remote add alertmanager https://github.com/prometheus/alertmanager.git

On first run commands are the same as for Upgrade except for git subtree merge which has to be replaced with:

$ git subtree add --squash -P pkg/alertmanager/config alertmanager-config

Upgrade

# add upstream tags
$ git tag -d $(git tag -l)
$ git fetch alertmanager

$ git checkout v0.22.2
$ git subtree split -P config/ -b alertmanager-config
$ git checkout -b alertmanager-0.22.2 origin/master
$ git subtree merge --message "Upgrade alertmanager/config to v0.22.2" --squash -P pkg/alertmanager/config alertmanager-config
# fix conflicts (the usual way) if any

# restore local tags
$ git tag -d $(git tag -l)
$ git fetch

# push for review
$ git push -u origin HEAD

/!\ Do not merge with squash, once approved merge to master manually.
/!\ We need to preserve commit history otherwise following git subtree commands won't work.
$ git checkout master
$ git merge --ff-only alertmanager-0.22.2
$ git push

remoteWrite CRs

Prometheus-meta-operator also manages remoteWrite custom resources.

remoteWrite CRDs

Code for remoteWrite CRDs is in the api/v1alpha1/ directory.

The actual CRDs are in config/crd/monitoring.giantswarm.io_remotewrites.yaml

To generate the CRDs from code, just use make generate.

Deployment

CRDs deployment is managed within the helm chart. The remoteWrite CRD is located under the chart's templates directory as a symbolic link to the generated yaml file.