Skip to content

Instantly share code, notes, and snippets.

@Kolossi
Created June 21, 2020 17:26
Show Gist options
  • Save Kolossi/c9ee0900a23f73d41ce16d68231abd7d to your computer and use it in GitHub Desktop.
Save Kolossi/c9ee0900a23f73d41ce16d68231abd7d to your computer and use it in GitHub Desktop.
carlosedp cluster-monitoring builder
echo ------------
echo ============
echo ****NOTE**** : This will take around 20 mins to complete!
echo ============
echo ------------
# first check logged in using docker desktop
docker build -t kolossi/cluster_monitoring_builder .
docker tag kolossi/cluster_monitoring_builder kolossi/cluster_monitoring_builder:v0.40.0
docker tag kolossi/cluster_monitoring_builder kolossi/cluster_monitoring_builder:latest
docker push kolossi/cluster_monitoring_builder:v0.40.0
echo Starting container to copy files
winpty docker run -v {my-local-manifests-path}\\manifests:/go/manifests kolossi/cluster_monitoring_builder bash -c 'cp /go/cluster-monitoring/manifests/*.yaml /go/manifests/'
echo Done.
FROM golang
VOLUME /go/manifests
WORKDIR /go
RUN PATH=$PATH:$GOPATH/bin ; go get github.com/bitnami/kubecfg \
&& apt update \
&& apt install -y vim \
&& git clone https://github.com/carlosedp/cluster-monitoring.git cluster-monitoring \
&& cd cluster-monitoring/ \
&& sed -i "/armExporter/,/\}/s/enabled: false/enabled: true/i" vars.jsonnet \
&& sed -i "/enablePersistence: {/,/},/s/\(prometheus\|grafana\): false/\1: true/i" vars.jsonnet \
&& sed -i "/enablePersistence: {/,/},/s/\(prometheusPV: '\).*\(',\)/\1serfs-prometheus\2/i" vars.jsonnet \
&& sed -i "/enablePersistence: {/,/},/s/\(grafanaPV: '\).*\(',\)/\1serfs-grafana\2/i" vars.jsonnet \
&& sed -i "s/\(suffixDomain: '\).*\(',\)/\1kolossi.local\2/i" vars.jsonnet \
&& sed -i "s/\(TLSIngress: \)true/\1false/i" vars.jsonnet \
&& make vendor \
&& make \
&& cd /go/cluster-monitoring/manifests/setup \
&& ( ls -1 | xargs -I{} cp {} ../00{} ) \
&& cd /go/cluster-monitoring/manifests \
&& sed -i "s/ \([a-zA-Z0-9\-]*.kolossi.local\)/ www.\1/i" ingress-alertmanager.yaml \
&& sed -i "s/ \([a-zA-Z0-9\-]*.kolossi.local\)/ www.\1/i" ingress-grafana.yaml \
&& sed -i "s/ \([a-zA-Z0-9\-]*.kolossi.local\)/ www.\1/i" ingress-prometheus.yaml \
&& sed -i "s/\( http:\/\/\)\([a-zA-Z0-9\-]*.kolossi.local\)/\1www.\2/i" prometheus-prometheus.yaml \
&& sed -i "s/\( runAsUser:\).*/\1 1036/i" grafana-deployment.yaml \
&& sed -i "s/\( runAsUser:\).*/\1 1036/i" alertmanager-alertmanager.yaml \
&& sed -i "s/\( runAsUser:\).*/\1 1036/i" prometheus-prometheus.yaml \
&& sed -i "s/\( fsGroup:\).*/\1 100/i" grafana-deployment.yaml \
&& sed -i "s/\( fsGroup:\).*/\1 100/i" alertmanager-alertmanager.yaml \
&& sed -i "s/\( fsGroup:\).*/\1 100/i" prometheus-prometheus.yaml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment