@@ -60,6 +60,9 @@ curl https://raw.githubusercontent.com/kubero-dev/ladder/main/docker-compose.yam
|
|||||||
docker-compose up -d
|
docker-compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Helm
|
||||||
|
See [README.md](/helm-chart/README.md) in helm-chart sub-directory for more information.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
### Browser
|
### Browser
|
||||||
|
|||||||
6
helm-chart/Chart.yaml
Normal file
6
helm-chart/Chart.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
name: ladder
|
||||||
|
description: A helm chart to deploy kubero-dev/ladder
|
||||||
|
type: application
|
||||||
|
version: "1.0"
|
||||||
|
appVersion: "v0.0.11"
|
||||||
27
helm-chart/README.md
Normal file
27
helm-chart/README.md
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
# Helm Chart for deployment of Ladder
|
||||||
|
This folder contains a basic helm chart deployment for the ladder app.
|
||||||
|
|
||||||
|
# Deployment pre-reqs
|
||||||
|
## Values
|
||||||
|
Edit the values to your own preferences, with the only minimum requirement being `ingress.HOST` (line 19) being updated to your intended domain name.
|
||||||
|
|
||||||
|
Other variables in `values.yaml` can be updated as to your preferences, with details on each variable being listed in the main [README.md](/README.md) in the root of this repo.
|
||||||
|
|
||||||
|
## Defaults in K8s
|
||||||
|
No ingress default has been specified.
|
||||||
|
You can set this manually by adding an annotation to the ingress.yaml - if needed.
|
||||||
|
For example, to use Traefik -
|
||||||
|
```yaml
|
||||||
|
metadata:
|
||||||
|
name: ladder-ingress
|
||||||
|
annotations:
|
||||||
|
kubernetes.io/ingress.class: traefik
|
||||||
|
```
|
||||||
|
|
||||||
|
## Helm Install
|
||||||
|
`helm install <name> <location> -n <namespace-name> --create-namespace`
|
||||||
|
`helm install ladder .\ladder\ -n ladder --create-namespace`
|
||||||
|
|
||||||
|
## Helm Upgrade
|
||||||
|
`helm upgrade <name> <location> -n <namespace-name>`
|
||||||
|
`helm upgrade ladder .\ladder\ -n ladder`
|
||||||
55
helm-chart/templates/deployment.yaml
Normal file
55
helm-chart/templates/deployment.yaml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: ladder
|
||||||
|
name: ladder
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: ladder
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: ladder
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- image: "{{ .Values.image.RELEASE }}"
|
||||||
|
imagePullPolicy: Always
|
||||||
|
name: ladder
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 250m
|
||||||
|
memory: 128Mi
|
||||||
|
requests:
|
||||||
|
cpu: 250m
|
||||||
|
memory: 128Mi
|
||||||
|
env:
|
||||||
|
- name: PORT
|
||||||
|
value: "{{ .Values.env.PORT }}"
|
||||||
|
- name: PREFORK
|
||||||
|
value: "{{ .Values.env.PREFORK }}"
|
||||||
|
- name: USER_AGENT
|
||||||
|
value: "{{ .Values.env.USER_AGENT }}"
|
||||||
|
- name: X_FORWARDED_FOR
|
||||||
|
value: "{{ .Values.env.X_FORWARDED_FOR }}"
|
||||||
|
- name: USERPASS
|
||||||
|
value: "{{ .Values.env.USERPASS }}"
|
||||||
|
- name: LOG_URLS
|
||||||
|
value: "{{ .Values.env.LOG_URLS }}"
|
||||||
|
- name: DISABLE_FORM
|
||||||
|
value: "{{ .Values.env.DISABLE_FORM }}"
|
||||||
|
- name: FORM_PATH
|
||||||
|
value: "{{ .Values.env.FORM_PATH }}"
|
||||||
|
- name: RULESET
|
||||||
|
value: "{{ .Values.env.RULESET }}"
|
||||||
|
- name: EXPOSE_RULESET
|
||||||
|
value: "{{ .Values.env.EXPOSE_RULESET }}"
|
||||||
|
- name: ALLOWED_DOMAINS
|
||||||
|
value: "{{ .Values.env.ALLOWED_DOMAINS }}"
|
||||||
|
- name: ALLOWED_DOMAINS_RULESET
|
||||||
|
value: "{{ .Values.env.ALLOWED_DOMAINS_RULESET }}"
|
||||||
|
restartPolicy: Always
|
||||||
|
terminationGracePeriodSeconds: 30
|
||||||
17
helm-chart/templates/ingress.yaml
Normal file
17
helm-chart/templates/ingress.yaml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: ladder-ingress
|
||||||
|
spec:
|
||||||
|
rules:
|
||||||
|
- host: "{{ .Values.ingress.HOST }}"
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: ladder-service
|
||||||
|
port:
|
||||||
|
number: {{ .Values.ingress.PORT }}
|
||||||
14
helm-chart/templates/service.yaml
Normal file
14
helm-chart/templates/service.yaml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
---
|
||||||
|
kind: Service
|
||||||
|
apiVersion: v1
|
||||||
|
metadata:
|
||||||
|
name: ladder-service
|
||||||
|
spec:
|
||||||
|
type: ClusterIP
|
||||||
|
selector:
|
||||||
|
app: ladder
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
port: {{ .Values.ingress.PORT }}
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: {{ .Values.env.PORT }}
|
||||||
20
helm-chart/values.yaml
Normal file
20
helm-chart/values.yaml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
image:
|
||||||
|
RELEASE: ghcr.io/kubero-dev/ladder:v0.0.11
|
||||||
|
|
||||||
|
env:
|
||||||
|
PORT: 8080
|
||||||
|
PREFORK: "false"
|
||||||
|
USER_AGENT: "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
|
||||||
|
X_FORWARDED_FOR:
|
||||||
|
USERPASS: ""
|
||||||
|
LOG_URLS: "true"
|
||||||
|
DISABLE_FORM: "false"
|
||||||
|
FORM_PATH: ""
|
||||||
|
RULESET: "https://raw.githubusercontent.com/kubero-dev/ladder/main/ruleset.yaml"
|
||||||
|
EXPOSE_RULESET: "true"
|
||||||
|
ALLOWED_DOMAINS: ""
|
||||||
|
ALLOWED_DOMAINS_RULESET: "false"
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
HOST: "ladder.domain.com"
|
||||||
|
PORT: 80
|
||||||
Reference in New Issue
Block a user