Remove unused ohmyform and grocy charts.
This commit is contained in:
		@ -1,24 +0,0 @@
 | 
			
		||||
apiVersion: v2
 | 
			
		||||
name: grocy
 | 
			
		||||
description: A Helm chart for deploying the grocy erp system on kubernetes.
 | 
			
		||||
 | 
			
		||||
# A chart can be either an 'application' or a 'library' chart.
 | 
			
		||||
#
 | 
			
		||||
# Application charts are a collection of templates that can be packaged into versioned archives
 | 
			
		||||
# to be deployed.
 | 
			
		||||
#
 | 
			
		||||
# Library charts provide useful utilities or functions for the chart developer. They're included as
 | 
			
		||||
# a dependency of application charts to inject those utilities and functions into the rendering
 | 
			
		||||
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
 | 
			
		||||
type: application
 | 
			
		||||
 | 
			
		||||
# This is the chart version. This version number should be incremented each time you make changes
 | 
			
		||||
# to the chart and its templates, including the app version.
 | 
			
		||||
# Versions are expected to follow Semantic Versioning (https://semver.org/)
 | 
			
		||||
version: 0.1.0
 | 
			
		||||
 | 
			
		||||
# This is the version number of the application being deployed. This version number should be
 | 
			
		||||
# incremented each time you make changes to the application. Versions are not expected to
 | 
			
		||||
# follow Semantic Versioning. They should reflect the version the application is using.
 | 
			
		||||
# It is recommended to use it with quotes.
 | 
			
		||||
appVersion: "3.3.0"
 | 
			
		||||
@ -1,14 +0,0 @@
 | 
			
		||||
#+TITLE: Grocy household management
 | 
			
		||||
#+AUTHOR: James Blair
 | 
			
		||||
#+EMAIL: mail@jamesblair.net
 | 
			
		||||
#+DATE: <2022-05-08 Sun 10:45>
 | 
			
		||||
 | 
			
		||||
[[https://github.com/grocy/grocy][Grocy]] is a web-based self-hosted groceries & household management solution for your home, created by [[https://github.com/berrnd][@berrnd]].
 | 
			
		||||
 | 
			
		||||
I created this helm chart for self-hosting grocy in a container on ~k3s~. Complete the steps below to deploy this chart.
 | 
			
		||||
 | 
			
		||||
#+NAME: Deploy grocy via helm
 | 
			
		||||
#+begin_src tmux
 | 
			
		||||
# Clone charts repository
 | 
			
		||||
git clone https://gitea.jamma.life/jmhbnz/charts.git
 | 
			
		||||
#+end_src
 | 
			
		||||
@ -1,35 +0,0 @@
 | 
			
		||||
---
 | 
			
		||||
apiVersion: apps/v1
 | 
			
		||||
kind: Deployment
 | 
			
		||||
metadata:
 | 
			
		||||
  name: grocy
 | 
			
		||||
spec:
 | 
			
		||||
  replicas: 1
 | 
			
		||||
  selector:
 | 
			
		||||
    matchLabels:
 | 
			
		||||
      name: grocy
 | 
			
		||||
  template:
 | 
			
		||||
    metadata:
 | 
			
		||||
      labels:
 | 
			
		||||
        name: grocy
 | 
			
		||||
    spec:
 | 
			
		||||
      containers:
 | 
			
		||||
      - name: grocy
 | 
			
		||||
        imagePullPolicy: Always
 | 
			
		||||
        image: ghcr.io/linuxserver/grocy:latest
 | 
			
		||||
        ports:
 | 
			
		||||
          - containerPort: 9283
 | 
			
		||||
        volumeMounts:
 | 
			
		||||
          - name: db
 | 
			
		||||
            mountPath: /config
 | 
			
		||||
        env:
 | 
			
		||||
          - name: PUID
 | 
			
		||||
            value: "1000"
 | 
			
		||||
          - name: PGID
 | 
			
		||||
            value: "1000"
 | 
			
		||||
          - name: TZ
 | 
			
		||||
            value: "Pacific/Auckland"
 | 
			
		||||
      volumes:
 | 
			
		||||
        - name: db
 | 
			
		||||
          persistentVolumeClaim:
 | 
			
		||||
            claimName: grocy
 | 
			
		||||
@ -1,32 +0,0 @@
 | 
			
		||||
---
 | 
			
		||||
kind: Ingress
 | 
			
		||||
apiVersion: networking.k8s.io/v1
 | 
			
		||||
metadata:
 | 
			
		||||
  name: grocy
 | 
			
		||||
  annotations:
 | 
			
		||||
    kubernetes.io/ingress.class: nginx
 | 
			
		||||
    cert-manager.io/cluster-issuer: "letsencrypt-prod"
 | 
			
		||||
    nginx.ingress.kubernetes.io/configuration-snippet: |
 | 
			
		||||
      more_set_headers "X-XSS-Protection: 1";
 | 
			
		||||
      more_set_headers "X-Content-Type-Options: nosniff";
 | 
			
		||||
      more_set_headers "X-Frame-Options: SAMEORIGIN";
 | 
			
		||||
      more_set_headers "Content-Security-Policy: frame-src 'self'; default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://nextcloud.jamma.life https://maxcdn.bootstrapcdn.com https://ajax.googleapis.com; img-src 'self' data: https://secure.gravatar.com; style-src 'self' 'unsafe-inline' https://maxcdn.bootstrapcdn.com https://fonts.googleapis.com; font-src 'self' data: https://maxcdn.bootstrapcdn.com https://fonts.gstatic.com; form-action 'self'; upgrade-insecure-requests";
 | 
			
		||||
      more_set_headers "Referrer-Policy: strict-origin-when-cross-origin";
 | 
			
		||||
      more_set_headers "Permissions-Policy: geolocation=(none);midi=(self);notifications=(self);push=(self);sync-xhr=();microphone=(none);camera=(none);magnetometer=(none);gyroscope=(none);speaker=(self);vibrate=(self);fullscreen=(self);payment=(none);";
 | 
			
		||||
      more_clear_headers "X-Powered-By";
 | 
			
		||||
spec:
 | 
			
		||||
  tls:
 | 
			
		||||
    - hosts:
 | 
			
		||||
        - grocy.jamma.life
 | 
			
		||||
      secretName: tls-jamma-grocy
 | 
			
		||||
  rules:
 | 
			
		||||
  - host: grocy.jamma.life
 | 
			
		||||
    http:
 | 
			
		||||
      paths:
 | 
			
		||||
      - path: /
 | 
			
		||||
        pathType: Prefix
 | 
			
		||||
        backend:
 | 
			
		||||
          service:
 | 
			
		||||
            name: grocy
 | 
			
		||||
            port:
 | 
			
		||||
              number: 80
 | 
			
		||||
@ -1,10 +0,0 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolumeClaim
 | 
			
		||||
metadata:
 | 
			
		||||
  name: grocy
 | 
			
		||||
spec:
 | 
			
		||||
  accessModes:
 | 
			
		||||
    - ReadWriteOnce
 | 
			
		||||
  resources:
 | 
			
		||||
    requests:
 | 
			
		||||
      storage: 2Gi
 | 
			
		||||
@ -1,12 +0,0 @@
 | 
			
		||||
---
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: Service
 | 
			
		||||
metadata:
 | 
			
		||||
  name: grocy
 | 
			
		||||
spec:
 | 
			
		||||
  ports:
 | 
			
		||||
    - name: http
 | 
			
		||||
      port: 80
 | 
			
		||||
      targetPort: 80
 | 
			
		||||
  selector:
 | 
			
		||||
    name: grocy
 | 
			
		||||
@ -1 +0,0 @@
 | 
			
		||||
replicaCount: 1
 | 
			
		||||
@ -1,7 +0,0 @@
 | 
			
		||||
---
 | 
			
		||||
apiVersion: v2
 | 
			
		||||
appVersion: 1.0.3
 | 
			
		||||
description: Ohmyform Helm chart for Kubernetes
 | 
			
		||||
name: gitea
 | 
			
		||||
type: application
 | 
			
		||||
version: "1.0.0"
 | 
			
		||||
@ -1,31 +0,0 @@
 | 
			
		||||
#+TITLE: Ohmyform survey forms
 | 
			
		||||
#+AUTHOR: James Blair
 | 
			
		||||
#+EMAIL: mail@jamesblair.net
 | 
			
		||||
#+DATE: <2023-06-29 Thu 16:00>
 | 
			
		||||
 | 
			
		||||
[[https://github.com/ohmyform/ohmyform][Ohmyform]] is an open source alternative to TypeForm that can create stunning mobile-ready forms, surveys and questionnaires.
 | 
			
		||||
 | 
			
		||||
I created this simplified helm chart for self-hosting ohmyform in a container on ~k3s~. Complete the steps below to deploy this chart.
 | 
			
		||||
 | 
			
		||||
#+NAME: Deploy ohmyform via helm
 | 
			
		||||
#+begin_src tmux
 | 
			
		||||
# Ensure ohmyform namespace exists
 | 
			
		||||
sudo kubectl create namespace jamma-ohmyform
 | 
			
		||||
 | 
			
		||||
# Create directories if they don't already exist
 | 
			
		||||
mkdir --parent "/home/${USER}/Services/ohmyform"
 | 
			
		||||
 | 
			
		||||
# Clone charts repository
 | 
			
		||||
cd "/home/${USER}/Services/ohmyform" && git clone https://ohmyform.jamma.life/jmhbnz/charts.git
 | 
			
		||||
 | 
			
		||||
# Ensure the repository is up to date
 | 
			
		||||
cd charts/ohmyform && git pull
 | 
			
		||||
 | 
			
		||||
# Install the chart
 | 
			
		||||
helm upgrade --install -n jamma-ohmyform jamma-ohmyform . \
 | 
			
		||||
    --set "ingress.hosts[0].host=ohmyform.jamma.dev" \
 | 
			
		||||
    --set "ingress.hosts[0].paths[0].path=/" \
 | 
			
		||||
    --set "ingress.hosts[0].paths[0].pathType=Prefix" \
 | 
			
		||||
    --set "ingress.tls[0].hosts[0]=ohmyform.jamma.dev" \
 | 
			
		||||
    --set "ingress.tls[0].secretName=tls-jamma-ohmyform"
 | 
			
		||||
#+end_src
 | 
			
		||||
@ -1,32 +0,0 @@
 | 
			
		||||
{{/* vim: set filetype=mustache: */}}
 | 
			
		||||
{{/*
 | 
			
		||||
Expand the name of the chart.
 | 
			
		||||
*/}}
 | 
			
		||||
{{- define "ohmyform.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).
 | 
			
		||||
If release name contains chart name it will be used as a full name.
 | 
			
		||||
*/}}
 | 
			
		||||
{{- define "ohmyform.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.
 | 
			
		||||
*/}}
 | 
			
		||||
{{- define "ohmyform.chart" -}}
 | 
			
		||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
 | 
			
		||||
{{- end -}}
 | 
			
		||||
@ -1,48 +0,0 @@
 | 
			
		||||
---
 | 
			
		||||
apiVersion: apps/v1
 | 
			
		||||
kind: Deployment
 | 
			
		||||
metadata:
 | 
			
		||||
  name: ohmyform
 | 
			
		||||
spec:
 | 
			
		||||
  replicas: 1
 | 
			
		||||
  selector:
 | 
			
		||||
    matchLabels:
 | 
			
		||||
      app: ohmyform
 | 
			
		||||
  strategy:
 | 
			
		||||
    type: Recreate
 | 
			
		||||
  template:
 | 
			
		||||
    metadata:
 | 
			
		||||
      labels:
 | 
			
		||||
        app: ohmyform
 | 
			
		||||
    spec:
 | 
			
		||||
      containers:
 | 
			
		||||
        - env:
 | 
			
		||||
            - name: ADMIN_EMAIL
 | 
			
		||||
              value: admin@local.host
 | 
			
		||||
            - name: ADMIN_PASSWORD
 | 
			
		||||
              value: admin
 | 
			
		||||
            - name: ADMIN_USERNAME
 | 
			
		||||
              value: admin
 | 
			
		||||
            - name: CREATE_ADMIN
 | 
			
		||||
              value: "TRUE"
 | 
			
		||||
            - name: DATABASE_DRIVER
 | 
			
		||||
              value: sqlite
 | 
			
		||||
            - name: DATABASE_URL
 | 
			
		||||
              value: sqlite:///data/data.sqlite
 | 
			
		||||
            - name: LOGIN_NOTE
 | 
			
		||||
              value: Either login with admin:admin or create your own account to test OhMyForm
 | 
			
		||||
            - name: MAILER_URI
 | 
			
		||||
              value: smtp://local.host
 | 
			
		||||
          image: ohmyform/ohmyform
 | 
			
		||||
          name: ohmyform
 | 
			
		||||
          ports:
 | 
			
		||||
            - containerPort: 3000
 | 
			
		||||
          resources: {}
 | 
			
		||||
          volumeMounts:
 | 
			
		||||
            - mountPath: /data
 | 
			
		||||
              name: ohmyform
 | 
			
		||||
      restartPolicy: Always
 | 
			
		||||
      volumes:
 | 
			
		||||
        - name: ohmyform
 | 
			
		||||
          persistentVolumeClaim:
 | 
			
		||||
            claimName: ohmyform
 | 
			
		||||
@ -1,47 +0,0 @@
 | 
			
		||||
---
 | 
			
		||||
{{- if .Values.ingress.enabled -}}
 | 
			
		||||
{{- $fullName := include "ohmyform.fullname" . -}}
 | 
			
		||||
{{- $ingressPath := .Values.ingress.path -}}
 | 
			
		||||
apiVersion: networking.k8s.io/v1
 | 
			
		||||
kind: Ingress
 | 
			
		||||
metadata:
 | 
			
		||||
  name: {{ $fullName }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: {{ include "ohmyform.name" . }}
 | 
			
		||||
    helm.sh/chart: {{ include "ohmyform.chart" . }}
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/managed-by: {{ .Release.Service }}
 | 
			
		||||
{{- with .Values.ingress.annotations }}
 | 
			
		||||
  annotations:
 | 
			
		||||
{{ toYaml . | indent 4 }}
 | 
			
		||||
{{- end }}
 | 
			
		||||
spec:
 | 
			
		||||
  {{- if or (.Capabilities.APIVersions.Has "networking.k8s.io/v1/IngressClass") (.Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/IngressClass") }}
 | 
			
		||||
  {{- if .Values.ingress.ingressClassName }}
 | 
			
		||||
  ingressClassName: {{ .Values.ingress.ingressClassName }}
 | 
			
		||||
  {{- end }}
 | 
			
		||||
  {{- end }}
 | 
			
		||||
{{- if .Values.ingress.tls }}
 | 
			
		||||
  tls:
 | 
			
		||||
  {{- range .Values.ingress.tls }}
 | 
			
		||||
    - hosts:
 | 
			
		||||
      {{- range .hosts }}
 | 
			
		||||
        - {{ . | quote }}
 | 
			
		||||
      {{- end }}
 | 
			
		||||
      secretName: {{ .secretName }}
 | 
			
		||||
  {{- end }}
 | 
			
		||||
{{- end }}
 | 
			
		||||
  rules:
 | 
			
		||||
  {{- range .Values.ingress.hosts }}
 | 
			
		||||
    - host: {{ . | quote }}
 | 
			
		||||
      http:
 | 
			
		||||
        paths:
 | 
			
		||||
          - pathType: Prefix
 | 
			
		||||
            path: {{ $ingressPath }}
 | 
			
		||||
            backend:
 | 
			
		||||
              service:
 | 
			
		||||
                name: {{ $fullName }}
 | 
			
		||||
                port:
 | 
			
		||||
                  name: http
 | 
			
		||||
  {{- end }}
 | 
			
		||||
{{- end }}
 | 
			
		||||
@ -1,11 +0,0 @@
 | 
			
		||||
---
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolumeClaim
 | 
			
		||||
metadata:
 | 
			
		||||
  name: ohmyform
 | 
			
		||||
spec:
 | 
			
		||||
  accessModes:
 | 
			
		||||
    - ReadWriteOnce
 | 
			
		||||
  resources:
 | 
			
		||||
    requests:
 | 
			
		||||
      storage: 100Mi
 | 
			
		||||
@ -1,12 +0,0 @@
 | 
			
		||||
---
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: Service
 | 
			
		||||
metadata:
 | 
			
		||||
  name: ohmyform
 | 
			
		||||
spec:
 | 
			
		||||
  ports:
 | 
			
		||||
    - name: "8080"
 | 
			
		||||
      port: 8080
 | 
			
		||||
      targetPort: 3000
 | 
			
		||||
  selector:
 | 
			
		||||
    app: ohmyform
 | 
			
		||||
@ -1,35 +0,0 @@
 | 
			
		||||
---
 | 
			
		||||
image:
 | 
			
		||||
  repository: ohmyform/ohmyform
 | 
			
		||||
  pullPolicy: IfNotPresent
 | 
			
		||||
  tag: ""
 | 
			
		||||
 | 
			
		||||
nameOverride: ""
 | 
			
		||||
fullnameOverride: ""
 | 
			
		||||
 | 
			
		||||
service:
 | 
			
		||||
  type: ClusterIP
 | 
			
		||||
  port: 8080
 | 
			
		||||
 | 
			
		||||
ingress:
 | 
			
		||||
  enabled: true
 | 
			
		||||
  annotations:
 | 
			
		||||
    kubernetes.io/ingress.class: nginx
 | 
			
		||||
    kubernetes.io/tls-acme: "true"
 | 
			
		||||
    nginx.ingress.kubernetes.io/proxy-body-size: 10G
 | 
			
		||||
    cert-manager.io/cluster-issuer: "letsencrypt-prod"
 | 
			
		||||
    nginx.ingress.kubernetes.io/configuration-snippet: |
 | 
			
		||||
      more_clear_headers "X-Powered-By";
 | 
			
		||||
      more_set_headers "X-XSS-Protection: 1";
 | 
			
		||||
      more_set_headers "X-Frame-Options: SAMEORIGIN";
 | 
			
		||||
      more_set_headers "X-Content-Type-Options: nosniff";
 | 
			
		||||
      more_set_headers "Referrer-Policy: strict-origin-when-cross-origin";
 | 
			
		||||
      more_set_headers "Permissions-Policy: geolocation=(none);midi=(self);notifications=(self);push=(self);sync-xhr=();microphone=(none);camera=(none);magnetometer=(none);gyroscope=(none);speaker=(self);vibrate=(self);fullscreen=(self);payment=(none);";
 | 
			
		||||
      more_set_headers "Content-Security-Policy: base-uri 'none'; manifest-src 'self'; connect-src 'self' wss: ws: https://mb3admin.com; font-src 'self' data: ; form-action 'self'; frame-ancestors 'self'; worker-src 'self' blob:; frame-src 'self'; img-src data: https: http:; media-src 'self' blob: data:; object-src 'none'; script-src 'self' https://www.gstatic.com; style-src 'self' 'unsafe-inline'";
 | 
			
		||||
  path: /
 | 
			
		||||
  hosts:
 | 
			
		||||
    - etcd.jamma.dev
 | 
			
		||||
  tls:
 | 
			
		||||
   - secretName: tls-jamma-ohmyform
 | 
			
		||||
     hosts:
 | 
			
		||||
       - etcd.jamma.dev
 | 
			
		||||
		Reference in New Issue
	
	Block a user