Skip to content

Commit

Permalink
add helm chart
Browse files Browse the repository at this point in the history
  • Loading branch information
dkhachyan committed Aug 13, 2024
1 parent 960a92d commit e55663f
Show file tree
Hide file tree
Showing 6 changed files with 115 additions and 0 deletions.
13 changes: 13 additions & 0 deletions helm/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
URL=https://kaasops.github.io/etcd-defrag-controller/helm

# Run linter for helm chart
lint:
helm lint charts/etcd-defrag-controller

# Package chart into zip file
package:
helm package charts/* -d packages

# Create index file (use only for initial setup)
index:
helm repo index --url ${URL} .
10 changes: 10 additions & 0 deletions helm/charts/etcd-defrag-controller/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
apiVersion: v2
name: etcd-defrag-controller
description: A Helm chart to install etcd defrag controller
type: application
version: 0.0.1
appVersion: "v0.0.1"

home: https://github.com/kaasops/etcd-defrag-controller
sources:
- https://github.com/kaasops/etcd-defrag-controller
71 changes: 71 additions & 0 deletions helm/charts/etcd-defrag-controller/templates/deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
---
kind: Deployment
apiVersion: apps/v1
metadata:
name: etcd-defrag-controller
namespace: kube-system
labels:
app: etcd-defrag-controller
spec:
replicas: 1
selector:
matchLabels:
app: etcd-defrag-controller
template:
metadata:
labels:
app: etcd-defrag-controller
spec:
terminationGracePeriodSeconds: 1
containers:
- name: etcd-defrag-controller
env:
- name: K8S_NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: K8S_NODE_IP
valueFrom:
fieldRef:
fieldPath: status.hostIP
- name: ETCD_CERTS_PATH
value: "/etc/ssl/etcd/ssl"
imagePullPolicy: Always
image: {{ .Values.image.repository }}:{{ default .Chart.AppVersion .Values.image.tag }}
resources:
limits:
memory: "50Mi"
cpu: 100m
args:
- "--endpoints=$(K8S_NODE_IP):2379"
- "--cacert=$(ETCD_CERTS_PATH)/ca.pem"
- "--cert=$(ETCD_CERTS_PATH)/admin-$(K8S_NODE_NAME).pem"
- "--key=$(ETCD_CERTS_PATH)/admin-$(K8S_NODE_NAME)-key.pem"
- "--maxfragmented=20"
- "--checkinterval=10"
volumeMounts:
- mountPath: /etc/ssl/etcd/ssl
name: etcd-certs
readOnly: true
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: node-role.kubernetes.io/control-plane
operator: Exists
- matchExpressions:
- key: node-role.kubernetes.io/master
operator: Exists
tolerations:
- key: node-role.kubernetes.io/master
operator: "Exists"
effect: "NoSchedule"
- key: node-role.kubernetes.io/control-plane
operator: "Exists"
effect: "NoSchedule"
volumes:
- hostPath:
path: /etc/ssl/etcd/ssl
type: DirectoryOrCreate
name: etcd-certs
4 changes: 4 additions & 0 deletions helm/charts/etcd-defrag-controller/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
image:
repository: kaasops/etcd-defrag-controller
tag: "" # rewrites Chart.AppVersion
pullPolicy: IfNotPresent
17 changes: 17 additions & 0 deletions helm/index.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
apiVersion: v1
entries:
etcd-defrag-controller:
- apiVersion: v2
appVersion: v0.0.1
created: "2024-08-13T10:26:02.023233+03:00"
description: A Helm chart to install etcd defrag controller
digest: 4a0c32850669adb1ac2d7ad3940da2e0faf4eb3ad773887f97e2180fc2baffe4
home: https://github.com/kaasops/etcd-defrag-controller
name: etcd-defrag-controller
sources:
- https://github.com/kaasops/etcd-defrag-controller
type: application
urls:
- https://kaasops.github.io/etcd-defrag-controller/helm/packages/etcd-defrag-controller-0.0.1.tgz
version: 0.0.1
generated: "2024-08-13T10:26:02.023047+03:00"
Binary file added helm/packages/etcd-defrag-controller-0.0.1.tgz
Binary file not shown.

0 comments on commit e55663f

Please sign in to comment.