Deployment
Requirements
Shelf does need the following requirements to be deployed:
A PostgreSQL Database
An OIDC Provider like Keycloak
Deploy with Helm
Create a new database and user for shelf. Shelf only needs one database with a owner for that database
Make sure you created a public client inside you oidc server for the shelf ui. There are no roles or special scopes needed yet.
Please update the helm values for your needs:
fullnameOverride: ""
nameOverride: ""
deployment:
replicas: 1
labels: {}
annotations: {}
image:
name: "klusoga/shelf"
tag: "latest"
configuration:
# Set to the url the application is reachable
baseUrl: "http://localhost:6300"
ipBinding: "0.0.0.0"
port: 6300
# Add extra environment variables to the deployment
# extraEnv:
# - name: test
# value: test
extraEnv: []
migrator:
image:
name: "klusoga/shelf"
tag: "latest"
resources:
requests:
memory: 64Mi
cpu: 100m
limits:
memory: 256Mi
cpu: 200m
# This block is for setting up the ingress for more information can be found here: https://kubernetes.io/docs/concepts/services-networking/ingress/
ingress:
enabled: false
className: ""
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
hosts:
- host: chart-example.local
paths:
- path: /
pathType: ImplementationSpecific
tls: []
# - secretName: chart-example-tls
# hosts:
# - chart-example.local
service:
type: ClusterIP
labels: {}
annotations: {}
persistence:
enabled: true
storage: 10Gi
storageClass: ""
# Set this to s3 if you want to store your packages in a s3 compatible storage
packageStorage: "local"
s3:
bucket: ""
host: ""
accessKey: ""
secretKey: ""
region: ""
security:
jwtSecret: ""
oidcConfigUrl: ""
audience: ""
issuer: ""
database:
connection_url: ""
Deploy with helm:
helm install shelf oci://ghcr.io/klusoga-software --version 0.2.0 --set-file values.yaml
Last modified: 14 October 2024