Shelf Help

Deployment

Requirements

Shelf does need the following requirements to be deployed:

  • A PostgreSQL Database

  • An OIDC Provider like Keycloak

Deploy with Helm

  1. Create a new database and user for shelf. Shelf only needs one database with a owner for that database

  2. Make sure you created a public client inside you oidc server for the shelf ui. There are no roles or special scopes needed yet.

  3. 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: ""
  1. Deploy with helm:

helm install shelf oci://ghcr.io/klusoga-software --version 0.2.0 --set-file values.yaml
Last modified: 14 October 2024