commit 4eb7b062be54922567c0d60e9e4e68867c40181c Author: Georg K Date: Sat Sep 28 00:23:33 2024 +0300 Initial commit diff --git a/.gitea/workflows/push.yaml b/.gitea/workflows/push.yaml new file mode 100644 index 0000000..5b26909 --- /dev/null +++ b/.gitea/workflows/push.yaml @@ -0,0 +1,19 @@ +name: Publish to helm repo +run-name: ${{ gitea.actor }} is runs ci pipeline +on: + push: + branches: + - main + +jobs: + publish: + name: deploy + runs-on: helm + + steps: + - name: add gitea repo + run: helm repo add --username ${{ secrets.REPO_USER }} --password ${{ secrets.REPO_PASS }} gitea https://git.ahax86.ru/api/packages/pub/helm + - name: update repo + run: helm repo update + - name: push to helm repo + run: helm push .kube/ gitea \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..62c8935 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.idea/ \ No newline at end of file diff --git a/.kube/Chart.yaml b/.kube/Chart.yaml new file mode 100644 index 0000000..d75c32b --- /dev/null +++ b/.kube/Chart.yaml @@ -0,0 +1,3 @@ +apiVersion: v2 +name: local-storage +version: 1.0.1 diff --git a/.kube/templates/pv.yaml b/.kube/templates/pv.yaml new file mode 100644 index 0000000..9ddd68f --- /dev/null +++ b/.kube/templates/pv.yaml @@ -0,0 +1,26 @@ +{{- range $index, $node := (lookup "v1" "Node" "" "").items }} +apiVersion: v1 +kind: PersistentVolume +metadata: + name: "{{ $.Release.Name }}-{{ $index }}" + namespace: {{ $.Release.Namespace }} +spec: + capacity: + storage: {{ $.Values.request }} + volumeMode: Filesystem + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + storageClassName: {{ $.Release.Name }} + local: + path: /{{$.Values.localPathBase}}/{{$.Release.Name}} + nodeAffinity: + required: + nodeSelectorTerms: + - matchExpressions: + - key: kubernetes.io/hostname + operator: In + values: + - "{{ ($node).metadata.name }}" +--- +{{- end }} diff --git a/.kube/templates/storage_class.yaml b/.kube/templates/storage_class.yaml new file mode 100644 index 0000000..3b14828 --- /dev/null +++ b/.kube/templates/storage_class.yaml @@ -0,0 +1,7 @@ +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: {{ .Release.Name }} +provisioner: kubernetes.io/no-provisioner +volumeBindingMode: WaitForFirstConsumer +reclaimPolicy: Retain \ No newline at end of file diff --git a/.kube/values.yaml b/.kube/values.yaml new file mode 100644 index 0000000..779ba98 --- /dev/null +++ b/.kube/values.yaml @@ -0,0 +1,2 @@ +request: 30Gi +localPathBase: "local-storage" \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..ca82827 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# local-storage + +Local storage (https://kubernetes.io/blog/2019/04/04/kubernetes-1.14-local-persistent-volumes-ga/) \ No newline at end of file