This commit introduces a new Helm chart for deploying paperless-ai, an AI- enhanced document management system based on paperless-ngx. The chart includes: - Complete deployment configuration with configurable replicas - Persistent volume support for data storage - Secret management for API tokens and keys - Environment variable configuration via ConfigMaps and Secrets - Ingress configuration options - Support for both OpenAI and Ollama AI providers - Customizable system prompts and document processing settings - CI workflow for automated chart packaging and publishing The chart enables Kubernetes users to easily deploy and configure the paperless-ai system with proper separation of configuration and secrets.
44 lines
1.4 KiB
YAML
44 lines
1.4 KiB
YAML
name: "Build Helm Chart"
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
paths:
|
|
- "charts/paperless-ai/Chart.yaml"
|
|
|
|
jobs:
|
|
helm-package:
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
APP: charts/paperless-ai
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Set Helm Chart App Name and Version
|
|
id: get_version
|
|
run: |
|
|
APP_NAME=$(grep -oP '(?<=^name: ).*' ${{ env.APP }}/Chart.yaml)
|
|
echo "Helm Chart App Name: $APP_NAME"
|
|
echo "::set-output name=app::$APP_NAME"
|
|
|
|
CHART_VERSION=$(grep -oP '(?<=^version: ).*' ${{ env.APP }}/Chart.yaml)
|
|
echo "Helm Chart version: $CHART_VERSION"
|
|
echo "::set-output name=tag::$CHART_VERSION"
|
|
|
|
- name: Setup Helm
|
|
run: |
|
|
#curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
|
|
curl -kSso /usr/local/bin/helm https://debmirror.cooltux.net/helm-v3.18.3 && chmod +x /usr/local/bin/helm
|
|
helm version
|
|
|
|
- name: Package Helm Chart
|
|
run: |
|
|
helm dependency update ${{ env.APP }}
|
|
helm lint ${{ env.APP }}
|
|
helm package ${{ env.APP }}
|
|
|
|
- name: Upload Helm Package to repo
|
|
run: |
|
|
curl --user ${{ secrets.USER }}:${{ secrets.TOKEN }} -X POST --upload-file ./${{ steps.get_version.outputs.app }}-${{ steps.get_version.outputs.tag }}.tgz ${{ vars.HELMREGISTRY }}/api/packages/${{ vars.OWNER }}/helm/api/charts
|