Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide Kubernetes Helm Chart #457

Merged
merged 58 commits into from
Mar 28, 2019
Merged
Show file tree
Hide file tree
Changes from 57 commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
6070d42
Initial commit - added initial helm chart template
cnadolny Mar 25, 2019
50ffaea
working changes
cnadolny Mar 25, 2019
21c3163
more working changes
cnadolny Mar 25, 2019
16f2ac0
Set secret var names & values for image in helm chart
lee0c Mar 25, 2019
82070cf
edited configmap
cnadolny Mar 25, 2019
16b6c63
removed ingress file
cnadolny Mar 25, 2019
009b4eb
forgot some vars
cnadolny Mar 25, 2019
776f02a
Define service values & var names
lee0c Mar 25, 2019
861c030
Merge branch 'master' of github.com:cnadolny/promitor
lee0c Mar 25, 2019
0d63104
Update helm chart values to use metrics config
lee0c Mar 25, 2019
b4b12fd
Add local values gitignore
lee0c Mar 25, 2019
fc8c552
Can't have default SBQ metric as namespace is globally unique
lee0c Mar 25, 2019
91c2360
helm chart fixes
lee0c Mar 25, 2019
b603f98
Helm chart progress
cnadolny Mar 25, 2019
8d549b6
Hellm
lee0c Mar 26, 2019
dd1e8b2
Merge branch 'master' of github.com:cnadolny/promitor
lee0c Mar 26, 2019
efbd42c
i can use git
lee0c Mar 26, 2019
cd089b6
Add additional environment variables
lee0c Mar 26, 2019
254b216
Merge branch 'master' of https://github.com/tomkerkhove/promitor
cnadolny Mar 26, 2019
568bc65
Merge branch 'master' of github.com:cnadolny/promitor
cnadolny Mar 26, 2019
d6de19e
added readiness probe
cnadolny Mar 26, 2019
de8503c
Merge branch 'master' of https://github.com/tomkerkhove/promitor
cnadolny Mar 26, 2019
a222860
Add scrape path env var
lee0c Mar 26, 2019
95126a4
Merge branch 'master' of github.com:cnadolny/promitor
lee0c Mar 26, 2019
db8c4fc
added liveness/readiness probe to kubernetes-spec
cnadolny Mar 26, 2019
8e3cb17
Merge branch 'master' of github.com:cnadolny/promitor
cnadolny Mar 26, 2019
4bd9e27
updated docs
cnadolny Mar 26, 2019
e5d40c2
removed kubernetes-spec
cnadolny Mar 26, 2019
f4b1b1a
Update values to align with metrics declaration
lee0c Mar 26, 2019
0f7d112
Merge branch 'master' of github.com:cnadolny/promitor
lee0c Mar 26, 2019
74b13e9
Update local values
lee0c Mar 26, 2019
b2e5cfd
Fix spacing in local values example file
lee0c Mar 26, 2019
dc6be3c
updated docs
cnadolny Mar 26, 2019
35d32ca
Merge branch 'master' of github.com:cnadolny/promitor
cnadolny Mar 26, 2019
2d88b09
updated docs again
cnadolny Mar 26, 2019
08f057f
updated docs again
cnadolny Mar 26, 2019
8b22134
updated docs again
cnadolny Mar 26, 2019
7d199c5
apparently I don't know how to us md files
cnadolny Mar 26, 2019
5b75717
formatting
cnadolny Mar 26, 2019
8592f89
formatting
cnadolny Mar 26, 2019
89c6125
formatting
cnadolny Mar 26, 2019
42e0638
Merge branch 'master' into master
tomkerkhove Mar 26, 2019
6e0ee57
Update Chart vals & doc for helm deployment
lee0c Mar 27, 2019
80cb2b9
Rename to promitor-scraper
lee0c Mar 27, 2019
732810d
Add clearer port names in values
lee0c Mar 27, 2019
825e1cc
Make secrets more configurable
lee0c Mar 27, 2019
92e5f88
Merge branch 'master' into master
lee0c Mar 27, 2019
91efa6c
Add NOTES.txt for helm chart user guidance
lee0c Mar 27, 2019
ccfbd4f
Update docs to show alternate method of installing
lee0c Mar 27, 2019
97592c5
Docs update to link full values file
lee0c Mar 27, 2019
7e444f1
Merge branch 'master' into master
lee0c Mar 27, 2019
24d98b6
Merge branch 'master' of github.com:cnadolny/promitor
lee0c Mar 27, 2019
b7ce9d8
Clean up docs
lee0c Mar 27, 2019
d3fc0d8
Clean up ports in helm chart & documentation
lee0c Mar 27, 2019
1cd37ad
Add checksum to force update on configmap or secret update
lee0c Mar 27, 2019
807b149
Don't use secret checksum if secret isn't deployed
lee0c Mar 27, 2019
dfb2182
Codefactor fix
lee0c Mar 27, 2019
c95e4e3
Merge branch 'master' into master
brusMX Mar 28, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs

# User-specific files (Helm)
local-values.yaml

# Build results
[Dd]ebug/
[Dd]ebugPublic/
Expand Down
21 changes: 21 additions & 0 deletions charts/promitor-scraper/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj
7 changes: 7 additions & 0 deletions charts/promitor-scraper/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
apiVersion: v1
appVersion: "1.0"
description: A Helm chart to deploy Promitor, an Azure Monitor scraper for Prometheus
name: promitor-scraper
icon: https://github.com/tomkerkhove/promitor/blob/master/docs/media/logos/promitor.png
home: https://github.com/tomkerkhove/promitor
version: 0.1.0
4 changes: 4 additions & 0 deletions charts/promitor-scraper/templates/NOTES.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
1. Forward the application port by running these commands:
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ include "promitor-scraper.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
kubectl port-forward $POD_NAME 8080:{{ .Values.service.targetPort }}
2. Check the scraping output at http://127.0.0.1:8080{{ .Values.scrapeConfig.path }}
43 changes: 43 additions & 0 deletions charts/promitor-scraper/templates/_helpers.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
{{/* vim: set filetype=mustache: */}}
tomkerkhove marked this conversation as resolved.
Show resolved Hide resolved
{{/*
Expand the name of the chart.
*/}}
{{- define "promitor-scraper.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}

{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
brusMX marked this conversation as resolved.
Show resolved Hide resolved
If release name contains chart name it will be used as a full name.
*/}}
{{- define "promitor-scraper.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}

{{/*
Create chart name and version as used by the chart label.
brusMX marked this conversation as resolved.
Show resolved Hide resolved
*/}}
{{- define "promitor-scraper.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}

{{/*
Create secret name based on whether or not user defined it.
*/}}
{{- define "promitor-scraper.secretname" -}}
{{- if .Values.secrets.createSecret -}}
{{ template "promitor-scraper.fullname" . }}
{{- else -}}
{{- printf "%s" .Values.secrets.secretName -}}
{{- end -}}
{{- end -}}
21 changes: 21 additions & 0 deletions charts/promitor-scraper/templates/configmap.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{{- $metrics := toYaml .Values.metrics -}}
apiVersion: v1
kind: ConfigMap
metadata:
name: config-map-{{ template "promitor-scraper.fullname" . }}
labels:
app: {{ template "promitor-scraper.name" . }}
chart: {{ template "promitor-scraper.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
data:
metrics-declaration.yaml: |-
azureMetadata:
tenantId: {{ .Values.azureMetadata.tenantId }}
subscriptionId: {{ .Values.azureMetadata.subscriptionId }}
resourceGroupName: {{ .Values.azureMetadata.resourceGroupName }}
metricDefaults:
aggregation:
interval: {{ .Values.metricDefaults.aggregation.interval }}
metrics:
{{ tpl $metrics . | indent 4 }}
82 changes: 82 additions & 0 deletions charts/promitor-scraper/templates/deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: {{ template "promitor-scraper.fullname" . }}
labels:
app: {{ template "promitor-scraper.name" . }}
chart: {{ template "promitor-scraper.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
spec:
replicas: {{ .Values.replicaCount }}
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
selector:
matchLabels:
app: {{ template "promitor-scraper.name" . }}
release: {{ .Release.Name }}
type: {{ .Values.service.selectorType }}
template:
metadata:
labels:
app: {{ template "promitor-scraper.name" . }}
release: {{ .Release.Name }}
type: {{ .Values.service.selectorType }}
annotations:
checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
{{- if .Values.secrets.createSecret }}
checksum/secret: {{ include (print $.Template.BasePath "/secret.yaml") . | sha256sum }}
brusMX marked this conversation as resolved.
Show resolved Hide resolved
{{- end }}
spec:
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- name: http
containerPort: {{ .Values.service.targetPort }}
protocol: TCP
env:
- name: PROMITOR_AUTH_APPID
valueFrom:
secretKeyRef:
name: {{ template "promitor-scraper.secretname" . }}
key: {{ .Values.secrets.appIdSecret }}
- name: PROMITOR_AUTH_APPKEY
valueFrom:
secretKeyRef:
name: {{ template "promitor-scraper.secretname" . }}
key: {{ .Values.secrets.appKeySecret }}
- name: PROMITOR_HTTP_PORT
value: {{ .Values.service.targetPort | quote }}
- name: PROMITOR_SCRAPE_BASEPATH
value: {{ .Values.scrapeConfig.path | quote }}
- name: PROMITOR_SCRAPE_SCHEDULE
value: {{ .Values.scrapeConfig.schedule | quote }}
- name: PROMITOR_FEATURE_METRICSTIMESTAMP
value: {{ .Values.scrapeConfig.timestamp | quote }}
{{- if .Values.telemetry.appInsightsKey }}
- name: PROMITOR_TELEMETRY_INSTRUMENTATIONKEY
valueFrom:
secretKeyRef:
name: {{ template "promitor-scraper.secretname" . }}
key: {{ .Values.secrets.appInsightsSecret }}
{{- end }}
volumeMounts:
- name: config-volume-{{ template "promitor-scraper.fullname" . }}
mountPath: /config/
livenessProbe:
httpGet:
path: /api/v1/health
port: http
readinessProbe:
httpGet:
path: /api/v1/health
port: http
volumes:
- name: config-volume-{{ template "promitor-scraper.fullname" . }}
configMap:
name: config-map-{{ template "promitor-scraper.fullname" . }}
18 changes: 18 additions & 0 deletions charts/promitor-scraper/templates/secret.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{{- if .Values.secrets.createSecret }}
apiVersion: v1
kind: Secret
metadata:
name: {{ template "promitor-scraper.secretname" . }}
labels:
app: {{ template "promitor-scraper.name" . }}
chart: {{ template "promitor-scraper.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
type: Opaque
data:
{{ .Values.secrets.appIdSecret }}: {{ .Values.azureAuthentication.appId | b64enc | quote }}
{{ .Values.secrets.appKeySecret }}: {{ .Values.azureAuthentication.appKey | b64enc | quote }}
{{- if .Values.telemetry.appInsightsKey }}
{{ .Values.secrets.appInsightsSecret }}: {{ .Values.telemetry.appInsightsKey | b64enc | quote }}
{{- end }}
{{- end }}
25 changes: 25 additions & 0 deletions charts/promitor-scraper/templates/service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
apiVersion: v1
kind: Service
metadata:
name: {{ template "promitor-scraper.fullname" . }}
labels:
app: {{ template "promitor-scraper.name" . }}
chart: {{ template "promitor-scraper.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
type: {{ .Values.service.labelType }}
spec:
{{- if .Values.service.exposeExternally }}
type: ExternalIP
{{- else }}
type: ClusterIP
{{- end }}
ports:
- name: http
port: {{ .Values.service.port }}
targetPort: {{ .Values.service.targetPort }}
protocol: TCP
selector:
app: {{ template "promitor-scraper.name" . }}
release: {{ .Release.Name }}
type: {{ .Values.service.selectorType }}
57 changes: 57 additions & 0 deletions charts/promitor-scraper/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Default values for promitor-scraper.
# This is a YAML-formatted file.

replicaCount: 1

image:
repository: tomkerkhove/promitor-agent-scraper
tag: 1.0.0-preview-2
pullPolicy: Always

azureAuthentication:
appId: ""
appKey: ""

scrapeConfig:
path: /prometheus/scrape
schedule: "*/5 * * * *"
timestamp: True

telemetry:
appInsightsKey: ""

## Metric Declaration YAML
azureMetadata:
tenantId: ""
subscriptionId: ""
resourceGroupName: promitor
metricDefaults:
aggregation:
interval: 00:05:00
metrics: []
# Sample metric configuration below
# - name: demo_queue_size
# description: "Amount of active messages of the 'myqueue' queue"
# resourceType: ServiceBusQueue
# namespace: promitor-messaging
# queueName: myqueue
# azureMetricConfiguration:
# metricName: ActiveMessages
# aggregation:
# type: Total
# interval: 00:15:00

secrets:
# To use your own secret, set createSecret to false and define the name/keys that your secret uses
createSecret: True
secretName: ""
appIdSecret: azure-app-id
appKeySecret: azure-app-key
appInsightsSecret: azure-appinsights-key

service:
exposeExternally: False
port: 80
targetPort: 9090
labelType: infrastructure
selectorType: runtime
91 changes: 0 additions & 91 deletions deploy/kubernetes-spec.yaml

This file was deleted.

Loading