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