mirror of
https://github.com/QingWei-Li/notea.git
synced 2024-11-25 15:12:51 +03:00
Added Helm Chart
This commit is contained in:
parent
31e466eff5
commit
57c2264c59
@ -65,6 +65,10 @@ docker run -d \
|
|||||||
If you are looking for MinIO + Notea docker
|
If you are looking for MinIO + Notea docker
|
||||||
configuration [check this](https://www.reddit.com/r/selfhosted/comments/n0jacf/notea_selfhosted_notetaking_app_stored_on_s3_aka/gw89iyo?utm_source=share&utm_medium=web2x&context=3)
|
configuration [check this](https://www.reddit.com/r/selfhosted/comments/n0jacf/notea_selfhosted_notetaking_app_stored_on_s3_aka/gw89iyo?utm_source=share&utm_medium=web2x&context=3)
|
||||||
|
|
||||||
|
### Kubernetes Helm Chart
|
||||||
|
|
||||||
|
Use [helm chart](/helm) to deploy to Kubernetes via Helm.
|
||||||
|
|
||||||
## Storage
|
## Storage
|
||||||
|
|
||||||
Configure environment variables according to storage service.
|
Configure environment variables according to storage service.
|
||||||
|
4
helm/Chart.yaml
Normal file
4
helm/Chart.yaml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
appVersion: 0.0.1
|
||||||
|
version: 0.0.1
|
||||||
|
name: notea
|
5
helm/README.md
Normal file
5
helm/README.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
### Just simple Helm Chart
|
||||||
|
|
||||||
|
Use this command to insall notea to kubernetes:
|
||||||
|
|
||||||
|
`helm upgrade --install notea -n notea -f values.yaml .`
|
3
helm/templates/NOTES.txt
Normal file
3
helm/templates/NOTES.txt
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
🎉 Notea has been installed!
|
||||||
|
|
||||||
|
📎 Please check the service at https://{{ .Values.host }}
|
58
helm/templates/deployment.yaml
Normal file
58
helm/templates/deployment.yaml
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: {{ .Release.Name }}-deployment
|
||||||
|
labels:
|
||||||
|
app: {{ .Release.Name }}
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: {{ .Release.Name }}
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: {{ .Release.Name }}
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: {{ .Release.Name }}
|
||||||
|
image: "{{ .Values.image }}"
|
||||||
|
env:
|
||||||
|
- name: PASSWORD
|
||||||
|
value: "{{ .Values.application.password }}"
|
||||||
|
- name: STORE_ACCESS_KEY
|
||||||
|
value: "{{ .Values.application.store_access_key }}"
|
||||||
|
- name: STORE_SECRET_KEY
|
||||||
|
value: "{{ .Values.application.store_secret_key }}"
|
||||||
|
- name: STORE_BUCKET
|
||||||
|
value: "{{ .Values.application.store_bucket }}"
|
||||||
|
{{- if .Values.application.store_end_point }}
|
||||||
|
- name: STORE_END_POINT
|
||||||
|
value: "{{ .Values.application.store_end_point }}"
|
||||||
|
{{- end}}
|
||||||
|
{{- if .Values.application.store_force_path_style }}
|
||||||
|
- name: STORE_FORCE_PATH_STYLE
|
||||||
|
value: "{{ .Values.application.store_force_path_style }}"
|
||||||
|
{{- end}}
|
||||||
|
{{- if .Values.application.store_prefix }}
|
||||||
|
- name: STORE_PREFIX
|
||||||
|
value: "{{ .Values.application.store_prefix }}"
|
||||||
|
{{- end}}
|
||||||
|
{{- if .Values.application.cookie_secure }}
|
||||||
|
- name: COOKIE_SECURE
|
||||||
|
value: "{{ .Values.application.cookie_secure }}"
|
||||||
|
{{- end}}
|
||||||
|
{{- if .Values.application.base_url }}
|
||||||
|
- name: BASE_URL
|
||||||
|
value: "{{ .Values.application.base_url }}"
|
||||||
|
{{- end}}
|
||||||
|
{{- if .Values.application.disable_password }}
|
||||||
|
- name: DISABLE_PASSWORD
|
||||||
|
value: "{{ .Values.application.disable_password }}"
|
||||||
|
{{- end}}
|
||||||
|
{{- if .Values.application.direct_response_attachment }}
|
||||||
|
- name: DIRECT_RESPONSE_ATTACHMENT
|
||||||
|
value: "{{ .Values.application.direct_response_attachment }}"
|
||||||
|
{{- end}}
|
||||||
|
ports:
|
||||||
|
- containerPort: {{ .Values.service.port }}
|
24
helm/templates/ingress.yaml
Normal file
24
helm/templates/ingress.yaml
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
{{- if .Values.ingress.enabled }}
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kubernetes.io/ingress.class: "nginx"
|
||||||
|
name: {{ .Release.Name }}-ingress
|
||||||
|
spec:
|
||||||
|
rules:
|
||||||
|
- host: "{{ .Values.ingress.host }}"
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- backend:
|
||||||
|
service:
|
||||||
|
name: {{ .Release.Name }}-service
|
||||||
|
port:
|
||||||
|
number: {{ .Values.service.port }}
|
||||||
|
path: /
|
||||||
|
pathType: Prefix
|
||||||
|
{{- if .Values.ingress.tls }}
|
||||||
|
tls:
|
||||||
|
{{ toYaml .Values.ingress.tls | indent 4 }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end }}
|
12
helm/templates/service.yaml
Normal file
12
helm/templates/service.yaml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: {{ .Release.Name }}-service
|
||||||
|
spec:
|
||||||
|
type: {{ .Values.service.type }}
|
||||||
|
selector:
|
||||||
|
app: {{ .Release.Name }}
|
||||||
|
ports:
|
||||||
|
- protocol: TCP
|
||||||
|
port: {{ .Values.service.port }}
|
||||||
|
targetPort: {{ .Values.service.port }}
|
45
helm/values.yaml
Normal file
45
helm/values.yaml
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
# docker image
|
||||||
|
image: cinwell/notea
|
||||||
|
|
||||||
|
service:
|
||||||
|
# service port
|
||||||
|
port: 3000
|
||||||
|
# service type
|
||||||
|
type: NodePort
|
||||||
|
|
||||||
|
application:
|
||||||
|
# Required parameters:
|
||||||
|
# Password to login to the app
|
||||||
|
password: "<your-password>"
|
||||||
|
# AccessKey
|
||||||
|
store_access_key: "<your-s3-access-key>"
|
||||||
|
# SecretKey
|
||||||
|
store_secret_key: "<your-s3-secret-key>"
|
||||||
|
# Bucket
|
||||||
|
store_bucket: "<your-s3-bucket>"
|
||||||
|
# Optional parameters:
|
||||||
|
# Host name or an IP address.
|
||||||
|
store_end_point: "<your-s3-end-point>"
|
||||||
|
# region
|
||||||
|
store_region: ""
|
||||||
|
# Whether to force path style URLs for S3 objects
|
||||||
|
store_force_path_style: ""
|
||||||
|
# Storage path prefix
|
||||||
|
store_prefix: ""
|
||||||
|
# Only works under https: scheme If the website is not https, you may not be able to log in, and you need to set it to false
|
||||||
|
cookie_secure: ""
|
||||||
|
# The domain of the website, used for SEO
|
||||||
|
base_url: ""
|
||||||
|
# Disable password protection. This means that you need to implement authentication on the server yourself,
|
||||||
|
# but the route /share/:id needs to be accessible anonymously, if you need share page. #31
|
||||||
|
disable_password: ""
|
||||||
|
# By default, requesting attachment links will redirect to S3 URL, Set to true to directly output attachments from the notea services. #28
|
||||||
|
direct_response_attachment: ""
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
enabled: false
|
||||||
|
host: hotea.example.com
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- hotea.example.com
|
||||||
|
secretName: example-ca
|
Loading…
Reference in New Issue
Block a user