Compare commits

..

55 Commits
v0.0.2 ... main

Author SHA1 Message Date
4a4b6ba4fc Merge pull request 'Update actions/checkout action to v4' (#79) from renovate/actions-checkout-4.x into main
All checks were successful
checks / check and test (push) Successful in 52s
Reviewed-on: #79
2024-08-20 08:45:32 +00:00
ad67b6d253 Update actions/checkout action to v4
All checks were successful
checks / check and test (push) Successful in 58s
checks / check and test (pull_request) Successful in 43s
2024-08-10 10:06:00 +00:00
766991e454 Merge pull request 'Update Helm release mariadb to v18' (#69) from renovate/mariadb-18.x into main
All checks were successful
checks / check and test (push) Successful in 50s
Reviewed-on: #69
2024-05-14 06:39:12 +00:00
779ad7b00b Update Helm release mariadb to v18
Some checks failed
checks / check and test (pull_request) Failing after 21s
checks / check and test (push) Successful in 59s
2024-05-14 06:31:05 +00:00
87d3c84731 Merge pull request 'Update Helm release mariadb to v14' (#29) from renovate/mariadb-14.x into main
All checks were successful
checks / check and test (push) Successful in 37s
Reviewed-on: #29
2023-10-26 13:15:28 +00:00
4370b2ad01 Update Helm release mariadb to v14
All checks were successful
checks / check and test (push) Successful in 37s
checks / check and test (pull_request) Successful in 35s
2023-10-25 13:37:48 +00:00
c8f8e96cd0 Merge pull request 'Update Helm release mariadb to v12.2.8' (#21) from renovate/mariadb-12.x into main
All checks were successful
checks / check and test (push) Successful in 27s
Reviewed-on: #21
2023-07-24 11:25:49 +00:00
7444d9c53a Update Helm release mariadb to v12.2.8
All checks were successful
checks / check and test (push) Successful in 29s
checks / check and test (pull_request) Successful in 27s
2023-07-13 15:30:33 +00:00
820369de0c Merge pull request 'Update Helm release mariadb to v12.2.7' (#20) from renovate/mariadb-12.x into main
All checks were successful
checks / check and test (push) Successful in 28s
Reviewed-on: #20
2023-07-09 14:36:30 +00:00
5bc4197bc3 Update Helm release mariadb to v12.2.7
All checks were successful
checks / check and test (push) Successful in 28s
checks / check and test (pull_request) Successful in 27s
2023-07-09 14:30:33 +00:00
0x6b-dev
152ce3479a add in the enabled/disabled flags for probes
All checks were successful
checks / check and test (push) Successful in 28s
2023-07-10 00:15:05 +10:00
0x6b-dev
67d26d4c59 added liveliness probe, readiness probe and startup probe
Some checks failed
checks / check and test (push) Failing after 1m28s
2023-07-10 00:10:55 +10:00
f75a17282a Merge branch 'main' into main
All checks were successful
checks / check and test (push) Successful in 27s
2023-07-03 15:58:23 +00:00
fad191a562 Update 'renovate.json'
All checks were successful
checks / check and test (push) Successful in 27s
2023-07-02 13:17:21 +00:00
b7dd7b06b9 Merge pull request 'Update Helm release mariadb to v12' (#18) from renovate/mariadb-12.x into main
All checks were successful
checks / check and test (push) Successful in 25s
Reviewed-on: #18
2023-07-02 11:51:42 +00:00
92dc07ed3a Update Helm release mariadb to v12
All checks were successful
checks / check and test (push) Successful in 28s
checks / check and test (pull_request) Successful in 27s
2023-07-02 11:45:53 +00:00
a53b15f5a3 Merge pull request 'Configure Renovate' (#16) from renovate/configure into main
All checks were successful
checks / check and test (push) Successful in 25s
Reviewed-on: #16
2023-07-02 11:37:30 +00:00
1fd6124ea2 Add renovate.json
All checks were successful
checks / check and test (push) Successful in 31s
checks / check and test (pull_request) Successful in 26s
2023-07-02 07:51:51 +00:00
f3c3703976 Merge pull request 'main' (#2) from coo-ops.space/helm-charts:main into main
Reviewed-on: alice/helm-charts#2
2023-07-01 13:52:36 +00:00
0x6b-dev
3a852c326a kavita first attempt
All checks were successful
checks / check and test (push) Successful in 26s
2023-07-01 02:06:16 +10:00
2cb2de7281 Merge pull request 'Romm 0.1.2' (#15) from alice/helm-charts:main into main
Some checks failed
checks / check and test (push) Successful in 28s
generate-chart / generate-chart-publish (push) Failing after 23s
Reviewed-on: #15
2023-06-28 02:58:40 +00:00
0bb627be5b Romm 0.1.2
All checks were successful
checks / check and test (pull_request) Successful in 22s
2023-06-28 02:58:01 +00:00
db3e0f59ca Merge pull request 'v0.1.1 Romm - Fix Service' (#14) from alice/helm-charts:main into main
Some checks failed
checks / check and test (push) Successful in 26s
generate-chart / generate-chart-publish (push) Failing after 3m33s
Reviewed-on: #14
2023-06-26 15:51:05 +00:00
103b1d3145 v0.1.1 Romm - Fix Service
All checks were successful
checks / check and test (pull_request) Successful in 28s
2023-06-26 15:49:57 +00:00
a75e56947a Fix Gitea Deployment fully 2023-06-26 15:47:44 +00:00
04c463aff6 Merge pull request 'Homebox Service selectors' (#13) from alice/helm-charts:main into main
All checks were successful
checks / check and test (push) Successful in 31s
generate-chart / generate-chart-publish (push) Successful in 36s
Reviewed-on: #13
2023-06-26 13:55:39 +00:00
7bcc4aa117 Homebox Service selectors
All checks were successful
checks / check and test (pull_request) Successful in 29s
2023-06-26 13:54:58 +00:00
3e15878edc Merge pull request 'fix homebox bools' (#12) from alice/helm-charts:main into main
All checks were successful
checks / check and test (push) Successful in 23s
generate-chart / generate-chart-publish (push) Successful in 32s
Reviewed-on: #12
2023-06-26 13:41:12 +00:00
6941f0d019 fix homebox bools
All checks were successful
checks / check and test (pull_request) Successful in 27s
2023-06-26 13:40:21 +00:00
bf51b4651b Merge pull request 'trailing slash' (#11) from alice/helm-charts:main into main
All checks were successful
checks / check and test (push) Successful in 28s
generate-chart / generate-chart-publish (push) Successful in 36s
Reviewed-on: #11
2023-06-26 13:29:45 +00:00
63ecf5ed41 trailing slash
All checks were successful
checks / check and test (pull_request) Successful in 26s
2023-06-26 13:28:43 +00:00
e62326bbd9 Merge pull request 'revert to olf FTP Deploy' (#10) from alice/helm-charts:main into main
Some checks failed
checks / check and test (push) Successful in 24s
generate-chart / generate-chart-publish (push) Failing after 31s
Reviewed-on: #10
2023-06-26 13:25:51 +00:00
eae311b0d7 revert to olf FTP Deploy
All checks were successful
checks / check and test (pull_request) Successful in 26s
2023-06-26 13:25:20 +00:00
887ded2960 Merge pull request 'path slash?' (#9) from alice/helm-charts:main into main
Some checks failed
checks / check and test (push) Successful in 29s
generate-chart / generate-chart-publish (push) Failing after 3m30s
Reviewed-on: #9
2023-06-26 13:14:03 +00:00
bfa84ad284 path slash?
All checks were successful
checks / check and test (pull_request) Successful in 29s
2023-06-26 13:13:33 +00:00
fb88e458e6 Merge pull request 'try different ftp action' (#8) from alice/helm-charts:main into main
Some checks failed
checks / check and test (push) Successful in 26s
generate-chart / generate-chart-publish (push) Failing after 47s
Reviewed-on: #8
2023-06-26 13:09:33 +00:00
efe3786515 try different ftp action
All checks were successful
checks / check and test (pull_request) Successful in 28s
2023-06-26 13:08:56 +00:00
bdd05131a7 Merge pull request 'version number?' (#7) from alice/helm-charts:main into main
Some checks failed
checks / check and test (push) Successful in 28s
generate-chart / generate-chart-publish (push) Failing after 48s
Reviewed-on: #7
2023-06-26 12:48:49 +00:00
32bf483323 version number?
All checks were successful
checks / check and test (pull_request) Successful in 27s
2023-06-26 12:48:12 +00:00
4959c9362f Merge pull request 'fix actions' (#6) from alice/helm-charts:main into main
Some checks failed
checks / check and test (push) Successful in 26s
generate-chart / generate-chart-publish (push) Failing after 3s
Reviewed-on: #6
2023-06-26 12:40:31 +00:00
f7ed3e27c4 fix actions
All checks were successful
checks / check and test (pull_request) Successful in 27s
2023-06-26 12:39:54 +00:00
79a2be9123 Merge pull request 'main' (#5) from alice/helm-charts:main into main
Some checks failed
checks / check and test (push) Successful in 26s
generate-chart / generate-chart-publish (push) Failing after 3s
Reviewed-on: #5
2023-06-26 12:36:46 +00:00
c79f684e01 Merge branch 'main' of git.coo-ops.space:alice/helm-charts
All checks were successful
checks / check and test (pull_request) Successful in 26s
2023-06-26 12:35:51 +00:00
033d09ae04 don't delete old releases 2023-06-26 12:33:59 +00:00
299c26cf26 Merge pull request 'main' (#1) from coo-ops.space/helm-charts:main into main
Reviewed-on: alice/helm-charts#1
2023-06-26 11:33:06 +00:00
575121159c Merge pull request 'Bump Homebox version' (#4) from alice/helm-charts:main into main
All checks were successful
generate-chart / generate-chart-publish (push) Successful in 31s
checks / check and test (push) Successful in 1m21s
Reviewed-on: #4
2023-06-26 11:32:13 +00:00
83bab561e8 Bump Homebox version
All checks were successful
checks / check and test (pull_request) Successful in 22s
2023-06-26 11:31:16 +00:00
3c6bba5704 Merge pull request 'ConfigMap not secret' (#3) from alice/helm-charts:main into main
All checks were successful
checks / check and test (push) Successful in 22s
Reviewed-on: #3
2023-06-26 11:29:59 +00:00
3ee2b1da1c ConfigMap not secret
All checks were successful
checks / check and test (pull_request) Successful in 22s
2023-06-26 11:29:09 +00:00
51ab27ecbc Merge pull request 'main' (#2) from alice/helm-charts:main into main
All checks were successful
checks / check and test (push) Successful in 21s
generate-chart / generate-chart-publish (push) Successful in 32s
Reviewed-on: #2
2023-06-26 11:11:53 +00:00
d1b12ef7f6 fix makefile
All checks were successful
checks / check and test (pull_request) Successful in 23s
2023-06-26 11:10:59 +00:00
c1466a998b Fixed actions
Some checks failed
checks / check and test (pull_request) Failing after 16s
2023-06-26 11:07:51 +00:00
b22b7376a3 add romm 2023-06-25 19:16:34 +00:00
cf7fc0b844 add ci tests to actions 2023-06-25 19:16:28 +00:00
0x6b-dev
0220dd465f fixed multiple issues
All checks were successful
generate-chart / generate-chart-publish (push) Successful in 20s
2023-06-26 01:25:40 +10:00
31 changed files with 1036 additions and 33 deletions

View File

@ -0,0 +1,25 @@
name: checks
on:
- push
- pull_request
jobs:
lint:
name: check and test
runs-on: ubuntu-latest
steps:
- uses: https://gitea.com/actions/checkout@v4
- name: install tools
run: |
apt update -y
apt install -y curl
curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | tee /usr/share/keyrings/helm.gpg > /dev/null
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | tee /etc/apt/sources.list.d/helm-stable-debian.list
apt update -y
apt install -y python helm python3-pip apt-transport-https
- name: lint charts
run: |
make ci

View File

@ -9,11 +9,11 @@ jobs:
generate-chart-publish:
runs-on: ubuntu-latest
steps:
- uses: https://gitea.com/actions/checkout@v3
- uses: https://gitea.com/actions/checkout@v4
- name: install tools
run: |
apt update -y
apt install -y curl
apt install -y curl lftp
curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | tee /usr/share/keyrings/helm.gpg > /dev/null
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | tee /etc/apt/sources.list.d/helm-stable-debian.list
apt update -y
@ -32,14 +32,16 @@ jobs:
run: |
# FIXME: use upstream after https://github.com/technosophos/helm-gpg/issues/1 is solved
helm plugin install https://github.com/pat-s/helm-gpg
helm plugin install https://github.com/chartmuseum/helm-push
make all
- name: Deploy to Gitea helm
run: |
helm repo add --username ${{ secrets.repo_user }} --password ${{ secrets.repo_password }} cooopsspace https://git.coo-ops.space/api/packages/coo-ops.space/helm
for filename in ./_build/*.tgz; do
helm cm-push $filename cooopsspace
done
- name: Deploy to FTP Server
uses: https://github.com/SamKirkland/FTP-Deploy-Action@v4.3.4
with:
server: ${{ secrets.ftp_host }}
username: ${{ secrets.ftp_user }}
server-dir: ./
local-dir: ./_build/
protocol: ftps
password: ${{ secrets.ftp_password }}
run: |
lftp ${{ secrets.ftp_host }} -u ${{ secrets.ftp_user }},${{ secrets.ftp_password }} -e "set ftp:ssl-protect-data true; set ftp:ssl-force true; set ssl:verify-certificate true; mirror --overwrite --reverse --continue --dereference -x ^\.git/$ ./_build/ ./; quit"

View File

@ -5,14 +5,22 @@ configure:
@mkdir -p _build/
helm repo add bitnami https://charts.bitnami.com/bitnami
homebox: configure
helm lint charts/stable/homebox/
homebox_ci: configure
helm dependency build charts/stable/homebox/
helm lint charts/stable/homebox/
homebox: configure homebox_ci
helm package charts/stable/homebox/ -d _build/
romm_ci: configure
helm dependency build charts/stable/romm/
helm lint charts/stable/romm/
romm: configure romm_ci
helm package charts/stable/romm/ -d _build/
index:
curl -L -o _build/index.yaml https://charts.coo-ops.space/index.yaml
curl -L -o index.yaml https://charts.coo-ops.space/index.yaml
helm repo index _build/ --url https://charts.coo-ops.space --merge index.yaml
stable: homebox
ci: homebox_ci romm_ci
stable: homebox romm
all: stable index

View File

@ -3,3 +3,4 @@
| Chart | Description |
| ----- | ----------- |
| [homebox](stable/homebox) | Homebox is the inventory and organization system built for the Home User |
| [romm](stable/romm) | Romm is a rom manager for all your local rom backup needs |

View File

@ -1,7 +1,7 @@
apiVersion: v2
name: homebox
# This is the chart version.
version: 0.1.0
version: 0.1.6
# A SemVer range of compatible Kubernetes versions (optional)
# kubeVersion: ">=1.16.0-0"
# What is this Application?

View File

@ -1,5 +1,5 @@
apiVersion: v1
kind: Secret
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-config
namespace: {{ .Values.namespace }}

View File

@ -6,9 +6,7 @@ metadata:
labels:
{{- include "homebox.labels" . | nindent 4 }}
spec:
{{- if not .Values.autoscaling.enabled }}
replicas: {{ .Values.replicaCount }}
{{- end }}
selector:
matchLabels:
{{- include "homebox.selectorLabels" . | nindent 6 }}
@ -32,7 +30,7 @@ spec:
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.www.image }}:{{ .Values.www.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
imagePullPolicy: {{ .Values.www.pullPolicy }}
envFrom:
- configMapRef:
name: {{ .Release.Name }}-config
@ -40,6 +38,18 @@ spec:
- name: http
containerPort: 7745
protocol: TCP
{{- if .Values.livenessProbe.enabled }}
livenessProbe:
{{- toYaml (omit .Values.livenessProbe "enabled") | nindent 12 }}
{{- end }}
{{- if .Values.readinessProbe.enabled }}
readinessProbe:
{{- toYaml (omit .Values.readinessProbe "enabled") | nindent 12 }}
{{- end }}
{{- if .Values.startupProbe.enabled }}
startupProbe:
{{- toYaml (omit .Values.startupProbe "enabled") | nindent 12 }}
{{- end }}
resources:
{{- toYaml .Values.resources | nindent 12 }}
volumeMounts:
@ -48,7 +58,6 @@ spec:
{{- if .Values.persistence.subPath }}
subPath: {{ .Values.persistence.subPath }}
{{- end }}
{{- include "homebox.container-additional-mounts" . | nindent 12 }}
volumes:
{{- if gt (len .Values.extraVolumes) 0 }}
{{- toYaml .Values.extraVolumes | nindent 8 }}

View File

@ -21,7 +21,7 @@ spec:
{{- range .Values.persistence.accessModes }}
- {{ . | quote }}
{{- end }}
{{- include "homebox.persistence.storageClass" . | indent 8 }}
{{- include "homebox.persistence.storageClass" . | indent 2 }}
resources:
requests:
storage: {{ .Values.persistence.size | quote }}

View File

@ -4,9 +4,9 @@ metadata:
name: {{ .Release.Name }}
namespace: {{ .Values.namespace }}
labels:
app: {{ .Release.Name }}
{{- include "homebox.labels" . | nindent 4 }}
spec:
ports:
- port: 7745
selector:
app: {{ .Release.Name }}
{{- include "homebox.selectorLabels" . | nindent 4 }}

View File

@ -21,21 +21,21 @@ fullnameOverride: ""
homebox:
env:
HBOX_MODE: production #application mode used for runtime behavior can be one of: development, production
HBOX_WEB_PORT: 7745 #port to run the web server on, if you're using docker do not change this
HBOX_WEB_PORT: "7745" #port to run the web server on, if you're using docker do not change this
# HBOX_WEB_HOST: #host to run the web server on, if you're using docker do not change this
HBOX_OPTIONS_ALLOW_REGISTRATION: true #allow users to register themselves
HBOX_OPTIONS_AUTO_INCREMENT_ASSET_ID: true #auto increments the asset_id field for new items
HBOX_WEB_MAX_UPLOAD_SIZE: 10 #maximum file upload size supported in MB
HBOX_OPTIONS_ALLOW_REGISTRATION: "true" #allow users to register themselves
HBOX_OPTIONS_AUTO_INCREMENT_ASSET_ID: "true" #auto increments the asset_id field for new items
HBOX_WEB_MAX_UPLOAD_SIZE: "10" #maximum file upload size supported in MB
HBOX_STORAGE_DATA: /data/ #path to the data directory, do not change this if you're using docker
HBOX_STORAGE_SQLITE_URL: /data/homebox.db?_fk=1 #sqlite database url, in you're using docker do not change this
HBOX_LOG_LEVEL: info #log level to use, can be one of: trace, debug, info, warn, error, critical
HBOX_LOG_FORMAT: text #log format to use, can be one of: text, json
# HBOX_MAILER_HOST: #email host to use, if not set no email provider will be used
HBOX_MAILER_PORT: 587 #email port to use
HBOX_MAILER_PORT: "587" #email port to use
# HBOX_MAILER_USERNAME: #email user to use
# HBOX_MAILER_PASSWORD: #email password to use
# HBOX_MAILER_FROM: #email from address to use
HBOX_SWAGGER_HOST: 7745 #swagger host to use, if not set swagger will be disabled
HBOX_SWAGGER_HOST: "7745" #swagger host to use, if not set swagger will be disabled
HBOX_SWAGGER_SCHEMA: http #swagger schema to use, can be one of: http, https
ingress:
@ -64,3 +64,33 @@ persistence:
extraVolumes: []
extraContainerVolumeMounts: []
livenessProbe:
enabled: true
tcpSocket:
port: http
initialDelaySeconds: 200
timeoutSeconds: 1
periodSeconds: 10
successThreshold: 1
failureThreshold: 10
readinessProbe:
enabled: true
tcpSocket:
port: http
initialDelaySeconds: 5
timeoutSeconds: 1
periodSeconds: 10
successThreshold: 1
failureThreshold: 3
startupProbe:
enabled: false
tcpSocket:
port: http
initialDelaySeconds: 60
timeoutSeconds: 1
periodSeconds: 10
successThreshold: 1
failureThreshold: 10

View File

@ -0,0 +1,36 @@
apiVersion: v2
name: kavita
# This is the chart version.
version: 0.1.0
# A SemVer range of compatible Kubernetes versions (optional)
# kubeVersion: ">=1.16.0-0"
# What is this Application?
description: "Kavita is a rocket fueled self-hosted digital library which supports a vast array of file formats."
type: application
# Meta Keywords
keywords:
- PDF
- Manga
- Comic
- eReader
# The URL of this projects home page
home: https://www.kavitareader.com/
# A list of URLs to source code for this project
sources:
- https://github.com/Kareadita/Kavita
- https://github.com/Kareadita/Kavita/pkgs/container/kavita
# Who's looking after this Chart?
maintainers:
- name: Kyle Coo-ops
email: kyle@coo-ops.space
url: https://git.coo-ops.space/cooper
- name: Alice
email: alice@stacktonic.com.au
url: https://github.com/HunterNyan
# A URL to an SVG or PNG image to be used as an icon (optional).
icon: https://raw.githubusercontent.com/Kareadita/Kavita/develop/favicon.ico
# This is the version number of the application being deployed. This version number should be
appVersion: "v0.7.3"
# Whether this chart is deprecated (optional, boolean)
deprecated: false

View File

@ -0,0 +1,73 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "kavita.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 "kavita.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 "kavita.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Common labels
*/}}
{{- define "kavita.labels" -}}
helm.sh/chart: {{ include "kavita.chart" . }}
{{ include "kavita.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}
{{/*
Selector labels
*/}}
{{- define "kavita.selectorLabels" -}}
app.kubernetes.io/name: {{ include "kavita.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}
{{/*
Storage Class
*/}}
{{- define "kavita.persistence.storageClass" -}}
{{- $storageClass := .Values.persistence.storageClass }}
{{- if $storageClass }}
storageClassName: {{ $storageClass | quote }}
{{- end }}
{{- end -}}
{{- define "kavita.container-additional-mounts" -}}
{{- /* Honor the deprecated extraVolumeMounts variable when defined */ -}}
{{- if gt (len .Values.extraContainerVolumeMounts) 0 -}}
{{- toYaml .Values.extraContainerVolumeMounts -}}
{{- else if gt (len .Values.extraVolumeMounts) 0 -}}
{{- toYaml .Values.extraVolumeMounts -}}
{{- end -}}
{{- end -}}

View File

@ -0,0 +1,7 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-config
namespace: {{ .Values.namespace }}
data:
{{- toYaml .Values.kavita.env | nindent 2 }}

View File

@ -0,0 +1,94 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "kavita.fullname" . }}
namespace: {{ .Values.namespace }}
labels:
{{- include "kavita.labels" . | nindent 4 }}
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
{{- include "kavita.selectorLabels" . | nindent 6 }}
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "kavita.selectorLabels" . | nindent 8 }}
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
containers:
- name: {{ .Chart.Name }}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.www.image }}:{{ .Values.www.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.www.pullPolicy }}
envFrom:
- configMapRef:
name: {{ .Release.Name }}-config
ports:
- name: http
containerPort: 7745
protocol: TCP
{{- if .Values.livenessProbe.enabled }}
livenessProbe:
{{- toYaml (omit .Values.livenessProbe "enabled") | nindent 12 }}
{{- end }}
{{- if .Values.readinessProbe.enabled }}
readinessProbe:
{{- toYaml (omit .Values.readinessProbe "enabled") | nindent 12 }}
{{- end }}
{{- if .Values.startupProbe.enabled }}
startupProbe:
{{- toYaml (omit .Values.startupProbe "enabled") | nindent 12 }}
{{- end }}
resources:
{{- toYaml .Values.resources | nindent 12 }}
volumeMounts:
- name: config
mountPath: /kavita/config
{{- if .Values.persistence.subPath }}
subPath: {{ .Values.persistence.subPath }}
{{- end }}
volumes:
{{- if gt (len .Values.extraVolumes) 0 }}
{{- toYaml .Values.extraVolumes | nindent 8 }}
{{- end }}
{{- if and .Values.persistence.enabled .Values.persistence.existingClaim }}
- name: config
persistentVolumeClaim:
{{- with .Values.persistence.existingClaim }}
claimName: {{ tpl . $ }}
{{- end }}
{{- else if not .Values.persistence.enabled }}
- name: config
emptyDir: {}
{{- else if and .Values.persistence.enabled (not .Values.persistence.existingClaim) }}
- name: config
persistentVolumeClaim:
claimName: {{ include "kavita.fullname" . }}-pvc
{{- end }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.dnsConfig }}
dnsConfig:
{{- toYaml . | nindent 8 }}
{{- end }}

View File

@ -0,0 +1,41 @@
{{- if .Values.ingress.enabled -}}
{{- $serviceName := .Release.Name -}}
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: {{ .Release.Name }}
{{- with .Values.ingress.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
{{- if .Values.ingress.className }}
ingressClassName: {{ .Values.ingress.className }}
{{- 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: {{ .host | quote }}
http:
paths:
{{- range .paths }}
- path: {{ .path }}
pathType: {{ .pathType }}
backend:
service:
name: {{ $serviceName }}
port:
number: 5000
{{- end }}
{{- end }}
{{- end }}

View File

@ -0,0 +1,28 @@
{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) }}
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
namespace: {{ .Values.namespace }}
name: {{ include "kavita.fullname" . }}-pvc
{{- with .Values.persistence.annotations }}
annotations:
{{- range $key, $value := . }}
{{ $key }}: {{ $value }}
{{- end }}
{{- end }}
{{- with .Values.persistence.labels }}
labels:
{{- range $key, $value := . }}
{{ $key }}: {{ $value }}
{{- end }}
{{- end }}
spec:
accessModes:
{{- range .Values.persistence.accessModes }}
- {{ . | quote }}
{{- end }}
{{- include "kavita.persistence.storageClass" . | indent 2 }}
resources:
requests:
storage: {{ .Values.persistence.size | quote }}
{{- end }}

View File

@ -0,0 +1,12 @@
apiVersion: v1
kind: Service
metadata:
name: {{ .Release.Name }}
namespace: {{ .Values.namespace }}
labels:
{{- include "kavita.labels" . | nindent 4 }}
spec:
ports:
- port: 5000
selector:
{{- include "kavita.selectorLabels" . | nindent 4 }}

View File

@ -0,0 +1,87 @@
# Default values for kavita.
# This is a YAML-formatted file.
# Namespace to use.
namespace: kavita
# Replica's to Deploy.
replicaCount: 1
# Image to use.
www:
image: kizaing/kavita
pullPolicy: Always
tag: "v0.7.3"
# Overrides.
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
kavita:
env:
TZ: UTC
ingress:
enabled: true
className: "nginx"
tls:
- secretName: kavita-domain-tls
hosts:
- kavita.example.com
hosts:
- host: kavita.example.com
paths:
- path: /
pathType: Prefix
persistence:
enabled: true
existingClaim:
size: 1Gi
accessModes:
- ReadWriteOnce
labels: {}
annotations: {}
storageClass:
subPath:
extraVolumes:
# - name: nfs
# nfs:
# server: "10.0.0.1"
# path: "/nextcloud_data"
# readOnly: false
extraVolumeMounts:
# - name: nfs
# mountPath: "/legacy_data"
livenessProbe:
enabled: true
tcpSocket:
port: http
initialDelaySeconds: 200
timeoutSeconds: 1
periodSeconds: 10
successThreshold: 1
failureThreshold: 10
readinessProbe:
enabled: true
tcpSocket:
port: http
initialDelaySeconds: 5
timeoutSeconds: 1
periodSeconds: 10
successThreshold: 1
failureThreshold: 3
startupProbe:
enabled: false
tcpSocket:
port: http
initialDelaySeconds: 60
timeoutSeconds: 1
periodSeconds: 10
successThreshold: 1
failureThreshold: 10

View File

@ -0,0 +1,6 @@
dependencies:
- name: mariadb
repository: https://charts.bitnami.com/bitnami
version: 18.0.4
digest: sha256:0a9177fb8bda8a0fd4cb8b281de618035ca08cfbd2f99edcb5b21559593b74ce
generated: "2024-05-14T06:30:55.182258781Z"

View File

@ -0,0 +1,40 @@
apiVersion: v2
name: romm
# This is the chart version.
version: 0.1.2
# A SemVer range of compatible Kubernetes versions (optional)
# kubeVersion: ">=1.16.0-0"
# What is this Application?
description: "ROMM (Rom Manager) is a web based retro roms manager integrated with IGDB. "
type: application
# Meta Keywords
keywords:
- organisation
- inventory
- ROMs
- Backups
# The URL of this projects home page
home: https://github.com/zurdi15/romm
# A list of URLs to source code for this project
sources:
- https://hub.docker.com/r/zurdi15/romm
dependencies:
- name: mariadb
version: 18.0.4
repository: https://charts.bitnami.com/bitnami
condition: mariadb.enabled
# Who's looking after this Chart?
maintainers:
- name: Kyle Coo-ops
email: kyle@coo-ops.space
url: https://git.coo-ops.space/cooper
- name: Alice
email: alice@stacktonic.com.au
url: https://github.com/HunterNyan
# A URL to an SVG or PNG image to be used as an icon (optional).
icon: https://raw.githubusercontent.com/zurdi15/romm/master/romm.svg
# This is the version number of the application being deployed. This version number should be
appVersion: "1.8.4"
# Whether this chart is deprecated (optional, boolean)
deprecated: false

Binary file not shown.

View File

@ -0,0 +1,21 @@
1. Get the application URL by running these commands:
{{- if .Values.ingress.enabled }}
{{- range $host := .Values.ingress.hosts }}
{{- range .paths }}
http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ . }}
{{- end }}
{{- end }}
{{- else if contains "NodePort" .Values.service.type }}
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "Speedtest-Tracker.fullname" . }})
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT
{{- else if contains "LoadBalancer" .Values.service.type }}
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "Speedtest-Tracker.fullname" . }}'
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "Speedtest-Tracker.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
echo http://$SERVICE_IP:{{ .Values.service.port }}
{{- else if contains "ClusterIP" .Values.service.type }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "Speedtest-Tracker.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
echo "Visit http://127.0.0.1:8080 to use your application"
kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:80
{{- end }}

View File

@ -0,0 +1,138 @@
{{/*
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).
*/}}
{{- define "romm.mariadb.fullname" -}}
{{- printf "%s-%s" .Release.Name "mariadb" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Return the MariaDB Hostname
*/}}
{{- define "romm.databaseHost" -}}
{{- if .Values.mariadb.enabled }}
{{- if eq .Values.mariadb.architecture "replication" }}
{{- printf "%s-%s" (include "romm.mariadb.fullname" .) "primary" | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s" (include "romm.mariadb.fullname" .) -}}
{{- end -}}
{{- else -}}
{{- printf "%s" .Values.externalDatabase.host -}}
{{- end -}}
{{- end -}}
{{/*
Return the MariaDB Port
*/}}
{{- define "romm.databasePort" -}}
{{- if .Values.mariadb.enabled }}
{{- printf "3306" -}}
{{- else -}}
{{- printf "%d" (.Values.externalDatabase.port | int ) -}}
{{- end -}}
{{- end -}}
{{/*
Return the MariaDB Database Name
*/}}
{{- define "romm.databaseName" -}}
{{- if .Values.mariadb.enabled }}
{{- printf "%s" .Values.mariadb.auth.database -}}
{{- else -}}
{{- printf "%s" .Values.externalDatabase.database -}}
{{- end -}}
{{- end -}}
{{/*
Return the MariaDB User
*/}}
{{- define "romm.databaseUser" -}}
{{- if .Values.mariadb.enabled }}
{{- printf "%s" .Values.mariadb.auth.username -}}
{{- else -}}
{{- printf "%s" .Values.externalDatabase.user -}}
{{- end -}}
{{- end -}}
{{/*
Return the MariaDB Secret Name
*/}}
{{- define "romm.databaseSecretName" -}}
{{- if .Values.mariadb.enabled }}
{{- printf "%s" (include "romm.mariadb.fullname" .) -}}
{{- else if .Values.externalDatabase.existingSecret -}}
{{- printf "%s" .Values.externalDatabase.existingSecret -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name "externaldb" -}}
{{- end -}}
{{- end -}}
{{/*
Expand the name of the chart.
*/}}
{{- define "romm.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 "romm.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 "romm.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Common labels
*/}}
{{- define "romm.labels" -}}
helm.sh/chart: {{ include "romm.chart" . }}
{{ include "romm.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}
{{/*
Selector labels
*/}}
{{- define "romm.selectorLabels" -}}
app.kubernetes.io/name: {{ include "romm.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}
{{/*
Storage Class
*/}}
{{- define "romm.persistence.storageClass" -}}
{{- $storageClass := .Values.persistence.storageClass }}
{{- if $storageClass }}
storageClassName: {{ $storageClass | quote }}
{{- end }}
{{- end -}}
{{- define "romm.container-additional-mounts" -}}
{{- /* Honor the deprecated extraVolumeMounts variable when defined */ -}}
{{- if gt (len .Values.extraContainerVolumeMounts) 0 -}}
{{- toYaml .Values.extraContainerVolumeMounts -}}
{{- else if gt (len .Values.extraVolumeMounts) 0 -}}
{{- toYaml .Values.extraVolumeMounts -}}
{{- end -}}
{{- end -}}

View File

@ -0,0 +1,121 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "romm.fullname" . }}
namespace: {{ .Values.namespace }}
labels:
{{- include "romm.labels" . | nindent 4 }}
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
{{- include "romm.selectorLabels" . | nindent 6 }}
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "romm.selectorLabels" . | nindent 8 }}
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
containers:
- name: {{ .Chart.Name }}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.www.image }}:{{ .Values.www.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.www.pullPolicy }}
env:
- name: ROMM_DB_DRIVER
value: mariadb
- name: DB_HOST
value: {{ include "romm.databaseHost" .}}:{{include "romm.databasePort" .}}
- name: DB_NAME
value: {{ include "romm.databaseName" . | quote }}
- name: DB_PASSWD
valueFrom:
secretKeyRef:
key: mariadb-password
name: {{ include "romm.databaseSecretName" . | quote }}
- name: DB_USER
value: {{ include "romm.databaseUser" . | quote }}
- name: CLIENT_ID
valueFrom:
secretKeyRef:
key: CLIENT_ID
name: {{ .Release.Name }}-config
- name: CLIENT_SECRET
valueFrom:
secretKeyRef:
key: CLIENT_SECRET
name: {{ .Release.Name }}-config
- name: STEAMGRIDDB_API_KEY
valueFrom:
secretKeyRef:
key: STEAMGRIDDB_API_KEY
name: {{ .Release.Name }}-config
ports:
- name: http
containerPort: 80
protocol: TCP
{{- if .Values.livenessProbe.enabled }}
livenessProbe:
{{- toYaml (omit .Values.livenessProbe "enabled") | nindent 12 }}
{{- end }}
{{- if .Values.readinessProbe.enabled }}
readinessProbe:
{{- toYaml (omit .Values.readinessProbe "enabled") | nindent 12 }}
{{- end }}
{{- if .Values.startupProbe.enabled }}
startupProbe:
{{- toYaml (omit .Values.startupProbe "enabled") | nindent 12 }}
{{- end }}
resources:
{{- toYaml .Values.resources | nindent 12 }}
volumeMounts:
- name: data
mountPath: /romm
{{- if .Values.persistence.subPath }}
subPath: {{ .Values.persistence.subPath }}
{{- end }}
volumes:
{{- if gt (len .Values.extraVolumes) 0 }}
{{- toYaml .Values.extraVolumes | nindent 8 }}
{{- end }}
{{- if and .Values.persistence.enabled .Values.persistence.existingClaim }}
- name: data
persistentVolumeClaim:
{{- with .Values.persistence.existingClaim }}
claimName: {{ tpl . $ }}
{{- end }}
{{- else if not .Values.persistence.enabled }}
- name: data
emptyDir: {}
{{- else if and .Values.persistence.enabled (not .Values.persistence.existingClaim) }}
- name: data
persistentVolumeClaim:
claimName: {{ include "romm.fullname" . }}-pvc
{{- end }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.dnsConfig }}
dnsConfig:
{{- toYaml . | nindent 8 }}
{{- end }}

View File

@ -0,0 +1,41 @@
{{- if .Values.ingress.enabled -}}
{{- $serviceName := .Release.Name -}}
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: {{ .Release.Name }}
{{- with .Values.ingress.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
{{- if .Values.ingress.className }}
ingressClassName: {{ .Values.ingress.className }}
{{- 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: {{ .host | quote }}
http:
paths:
{{- range .paths }}
- path: {{ .path }}
pathType: {{ .pathType }}
backend:
service:
name: {{ $serviceName }}
port:
number: 80
{{- end }}
{{- end }}
{{- end }}

View File

@ -0,0 +1,28 @@
{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) }}
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
namespace: {{ .Values.namespace }}
name: {{ include "romm.fullname" . }}-pvc
{{- with .Values.persistence.annotations }}
annotations:
{{- range $key, $value := . }}
{{ $key }}: {{ $value }}
{{- end }}
{{- end }}
{{- with .Values.persistence.labels }}
labels:
{{- range $key, $value := . }}
{{ $key }}: {{ $value }}
{{- end }}
{{- end }}
spec:
accessModes:
{{- range .Values.persistence.accessModes }}
- {{ . | quote }}
{{- end }}
{{- include "romm.persistence.storageClass" . | indent 8 }}
resources:
requests:
storage: {{ .Values.persistence.size | quote }}
{{- end }}

View File

@ -0,0 +1,7 @@
apiVersion: v1
kind: Secret
metadata:
name: {{ .Release.Name }}-config
namespace: {{ .Values.namespace }}
data:
{{- toYaml .Values.romm.env | nindent 2 }}

View File

@ -0,0 +1,12 @@
apiVersion: v1
kind: Service
metadata:
name: {{ .Release.Name }}
namespace: {{ .Values.namespace }}
labels:
{{- include "romm.labels" . | nindent 4 }}
spec:
ports:
- port: 80
selector:
{{- include "romm.selectorLabels" . | nindent 4 }}

View File

@ -0,0 +1,127 @@
# Default values for homebox.
# This is a YAML-formatted file.
# Namespace to use.
namespace: romm
# Replica's to Deploy.
replicaCount: 1
# Image to use.
www:
image: zurdi15/romm
pullPolicy: Always
tag: "1.8.4"
# Overrides.
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
romm:
env:
CLIENT_ID
CLIENT_SECRET
STEAMGRIDDB_API_KEY
ingress:
enabled: true
className: "nginx"
tls:
- secretName: romm-domain-tls
hosts:
- romm.example.com
hosts:
- host: romm.example.com
paths:
- path: /
pathType: Prefix
persistence:
enabled: true
existingClaim:
size: 10Gi
accessModes:
- ReadWriteOnce
labels: {}
annotations: {}
storageClass:
subPath:
extraVolumes: []
extraContainerVolumeMounts: []
## MariaDB chart configuration
## https://github.com/bitnami/charts/blob/main/bitnami/mariadb/values.yaml
##
mariadb:
enabled: true
primary:
persistence:
enabled: true
storageClass: ""
accessModes:
- ReadWriteOnce
size: 8Gi
## Use an existing PVC
##
existingClaim: ""
auth:
username: "dmarc"
password: "password"
database: dmarc
## External database configuration
##
externalDatabase:
## @param externalDatabase.existingSecret Name of the database existing Secret Object
## NOTE: When it's set, the `externalDatabase.password` parameter is ignored
##
existingSecret: ""
## @param externalDatabase.host Host of the existing database
##
host: ""
## @param externalDatabase.port Port of the existing database
##
port: 3306
## @param externalDatabase.user Existing username in the external db
##
user: dmarc
## @param externalDatabase.password Password for the above username
##
password: ""
## @param externalDatabase.database Name of the existing database
##
database: dmarc
livenessProbe:
enabled: true
tcpSocket:
port: http
initialDelaySeconds: 200
timeoutSeconds: 1
periodSeconds: 10
successThreshold: 1
failureThreshold: 10
readinessProbe:
enabled: true
tcpSocket:
port: http
initialDelaySeconds: 5
timeoutSeconds: 1
periodSeconds: 10
successThreshold: 1
failureThreshold: 3
startupProbe:
enabled: false
tcpSocket:
port: http
initialDelaySeconds: 60
timeoutSeconds: 1
periodSeconds: 10
successThreshold: 1
failureThreshold: 10

3
index.yaml Normal file
View File

@ -0,0 +1,3 @@
apiVersion: v1
entries: {}
generated: "2023-06-26T01:25:11.57441516+10:00"

6
renovate.json Normal file
View File

@ -0,0 +1,6 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"reviewers": ["alice","cooper"],
"assignees": ["alice","cooper"],
"dependencyDashboard": "true"
}