From 645c786d951c3e59dd9fe611b52a4ea1da424ede Mon Sep 17 00:00:00 2001 From: Ludovic Ortega Date: Sun, 10 Nov 2024 14:48:58 +0100 Subject: [PATCH] feat: move helm chart to https://github.com/Stirling-Tools/Stirling-PDF-chart (#2208) * feat: remove helm chart Signed-off-by: Ludovic Ortega * feat: mention kubernetes in install doc Signed-off-by: Ludovic Ortega --------- Signed-off-by: Ludovic Ortega --- .github/scripts/gradle_to_chart.py | 100 -------- .../workflows/lint-helm-charts.yml-disabled | 47 ---- .../release-helm-charts.yml-disabled | 31 --- .github/workflows/sync_files.yml | 42 --- .pre-commit-config.yaml | 6 - README.md | 4 + chart/stirling-pdf/Chart.yaml | 16 -- chart/stirling-pdf/README.md | 95 ------- chart/stirling-pdf/README.md.gotmpl | 25 -- chart/stirling-pdf/templates/NOTES.txt | 30 --- chart/stirling-pdf/templates/_helpers.tpl | 129 ---------- chart/stirling-pdf/templates/deployment.yaml | 131 ---------- chart/stirling-pdf/templates/ingress.yaml | 85 ------- chart/stirling-pdf/templates/pv.yaml | 16 -- chart/stirling-pdf/templates/pvc.yaml | 27 -- chart/stirling-pdf/templates/service.yaml | 48 ---- .../templates/serviceaccount.yaml | 13 - .../templates/servicemonitor.yaml | 31 --- chart/stirling-pdf/values.yaml | 239 ------------------ cr.yaml | 2 - 20 files changed, 4 insertions(+), 1113 deletions(-) delete mode 100644 .github/scripts/gradle_to_chart.py delete mode 100644 .github/workflows/lint-helm-charts.yml-disabled delete mode 100644 .github/workflows/release-helm-charts.yml-disabled delete mode 100644 chart/stirling-pdf/Chart.yaml delete mode 100644 chart/stirling-pdf/README.md delete mode 100644 chart/stirling-pdf/README.md.gotmpl delete mode 100644 chart/stirling-pdf/templates/NOTES.txt delete mode 100644 chart/stirling-pdf/templates/_helpers.tpl delete mode 100644 chart/stirling-pdf/templates/deployment.yaml delete mode 100644 chart/stirling-pdf/templates/ingress.yaml delete mode 100644 chart/stirling-pdf/templates/pv.yaml delete mode 100644 chart/stirling-pdf/templates/pvc.yaml delete mode 100644 chart/stirling-pdf/templates/service.yaml delete mode 100644 chart/stirling-pdf/templates/serviceaccount.yaml delete mode 100644 chart/stirling-pdf/templates/servicemonitor.yaml delete mode 100644 chart/stirling-pdf/values.yaml delete mode 100644 cr.yaml diff --git a/.github/scripts/gradle_to_chart.py b/.github/scripts/gradle_to_chart.py deleted file mode 100644 index c8944f6d..00000000 --- a/.github/scripts/gradle_to_chart.py +++ /dev/null @@ -1,100 +0,0 @@ -import re -import yaml - -# Paths to the files -chart_yaml_path = "chart/stirling-pdf/Chart.yaml" -gradle_path = "build.gradle" - - -def get_chart_version(path): - """ - Reads the version and the appVersion from Chart.yaml. - - Args: - path (str): The file path to the Chart.yaml. - - Returns: - dict: The version under "chart" key and the appVersion under "app" key. - """ - with open(path, encoding="utf-8") as file: - chart_yaml = yaml.safe_load(file) - return { - "chart": chart_yaml["version"], - "app": chart_yaml["appVersion"] - } - - -def get_gradle_version(path): - """ - Extracts the version from build.gradle. - - Args: - path (str): The file path to the build.gradle. - - Returns: - str: The version if found, otherwise an empty string. - """ - with open(path, encoding="utf-8") as file: - for line in file: - if "version =" in line: - # Extracts the value after 'version =' - return re.search(r'version\s*=\s*[\'"](.+?)[\'"]', line).group(1) - return "" - - -def get_new_chart_version(chart_version, old_app_version, new_app_version): - """ - Get the new chart version from - - Args: - str: The current chart version. - str: The current app version. - str: The new app version. - - Returns: - str: The new chart version to update to. - """ - chart_major, chart_minor, chart_patch = chart_version.split(".") - - old_major, old_minor, old_patch = old_app_version.split(".") - new_major, new_minor, new_patch = new_app_version.split(".") - - if old_major != new_major: - new_chart_version = f"{int(chart_major)+1}.0.0" - elif old_minor != new_minor: - new_chart_version = f"{chart_major}.{int(chart_minor)+1}.0" - elif old_patch != new_patch: - new_chart_version = f"{chart_major}.{chart_minor}.{int(chart_patch)+1}" - - return new_chart_version - - -def update_chart_version(path, new_chart_version, new_app_version): - """ - Updates the version and the appVersion in Chart.yaml with a new version. - - Args: - path (str): The file path to the Chart.yaml. - new_chart_version (str): The new chart version to update to. - new_app_version (str): The new app version to update to. - """ - with open(path, encoding="utf-8") as file: - chart_yaml = yaml.safe_load(file) - chart_yaml["version"] = new_chart_version - chart_yaml["appVersion"] = new_app_version - with open(path, "w", encoding="utf-8") as file: - yaml.safe_dump(chart_yaml, file) - - -# Main logic -chart_version = get_chart_version(chart_yaml_path) -gradle_version = get_gradle_version(gradle_path) - -if chart_version["app"] != gradle_version: - new_chart_version = get_new_chart_version(chart_version["chart"], chart_version["app"], gradle_version, ) - print( - f"Versions do not match. Updating Chart.yaml from {chart_version['chart']} to {new_chart_version}." - ) - update_chart_version(chart_yaml_path, new_chart_version, gradle_version) -else: - print("Versions match. No update required.") diff --git a/.github/workflows/lint-helm-charts.yml-disabled b/.github/workflows/lint-helm-charts.yml-disabled deleted file mode 100644 index 3b012091..00000000 --- a/.github/workflows/lint-helm-charts.yml-disabled +++ /dev/null @@ -1,47 +0,0 @@ -name: Lint and Test Helm Charts - -on: - push: - branches: ["main"] - pull_request: - branches: ["main"] - -jobs: - lint-test: - runs-on: ubuntu-latest - - permissions: - contents: read - - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Set up Helm - uses: azure/setup-helm@v4 - - - name: Set up python - uses: actions/setup-python@v5 - with: - python-version: '3.10' - - - name: Run pre-commit - uses: pre-commit/action@v3.0.1 - with: - extra_args: helm-docs-built - - - name: Set up chart-testing - uses: helm/chart-testing-action@v2 - - - name: Run chart-testing (list-changed) - id: list-changed - run: | - changed=$(ct list-changed --target-branch ${{ github.event.repository.default_branch }}) - if [[ -n "$changed" ]]; then - echo "changed=true" >> "$GITHUB_OUTPUT" - fi - - - name: Run chart-testing - if: steps.list-changed.outputs.changed == 'true' - run: ct lint --target-branch ${{ github.event.repository.default_branch }} --validate-maintainers=false diff --git a/.github/workflows/release-helm-charts.yml-disabled b/.github/workflows/release-helm-charts.yml-disabled deleted file mode 100644 index 0dca6fb5..00000000 --- a/.github/workflows/release-helm-charts.yml-disabled +++ /dev/null @@ -1,31 +0,0 @@ -name: Release Helm charts - -on: - push: - branches: - - main - -permissions: - contents: write - -jobs: - release: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Set up git config - run: | - git config --global user.name "github-actions[bot]" - git config --global user.email "github-actions[bot]@users.noreply.github.com" - - - name: Run chart-releaser - uses: helm/chart-releaser-action@v1.6.0 - with: - config: "./cr.yaml" - charts_dir: "chart" - env: - CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/sync_files.yml b/.github/workflows/sync_files.yml index 486cad5f..d220f92d 100644 --- a/.github/workflows/sync_files.yml +++ b/.github/workflows/sync_files.yml @@ -14,48 +14,6 @@ permissions: pull-requests: write jobs: - sync-versions: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: "3.x" - - name: Install dependencies - run: pip install pyyaml - - name: Sync versions - run: python .github/scripts/gradle_to_chart.py - - name: Run pre-commit helm-docs-built - uses: pre-commit/action@v3.0.1 - with: - extra_args: helm-docs-built - - name: Set up git config - run: | - git config --global user.name "github-actions[bot]" - git config --global user.email "github-actions[bot]@users.noreply.github.com" - - name: Run git add - run: | - git add . - git diff --staged --quiet || git commit -m ":floppy_disk: Sync Versions - > Made via sync_files.yml" || echo "no changes" - - name: Create Pull Request - uses: peter-evans/create-pull-request@v6 - with: - token: ${{ secrets.GITHUB_TOKEN }} - commit-message: Update files - committer: GitHub Action - author: GitHub Action - signoff: true - branch: sync_version - title: ":floppy_disk: Update Version" - body: | - Auto-generated by [create-pull-request][1] - - [1]: https://github.com/peter-evans/create-pull-request - draft: false - delete-branch: true - labels: github-actions sync-readme: runs-on: ubuntu-latest steps: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 125f0b50..45ce3639 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -37,9 +37,3 @@ repos: language: python exclude: ^(src/main/resources/static/pdfjs|src/main/resources/static/pdfjs-legacy) files: ^.*(\.html|\.css|\.js)$ - - repo: https://github.com/norwoodj/helm-docs - rev: v1.14.2 - hooks: - - id: helm-docs-built - args: - - --chart-search-root=chart diff --git a/README.md b/README.md index d8164c13..40d27dd7 100644 --- a/README.md +++ b/README.md @@ -161,6 +161,10 @@ services: Note: Podman is CLI-compatible with Docker, so simply replace "docker" with "podman". +### Kubernetes + +See the kubernetes helm chart [here](https://github.com/Stirling-Tools/Stirling-PDF-chart) + ## Enable OCR/Compression Feature Please view the [HowToUseOCR.md](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToUseOCR.md). diff --git a/chart/stirling-pdf/Chart.yaml b/chart/stirling-pdf/Chart.yaml deleted file mode 100644 index d99ddaf5..00000000 --- a/chart/stirling-pdf/Chart.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v2 -appVersion: 0.32.0 -description: locally hosted web application that allows you to perform various operations - on PDF files -home: https://github.com/Stirling-Tools/Stirling-PDF -keywords: -- stirling-pdf -- helm -- charts repo -maintainers: -- name: Stirling-Tools - url: https://github.com/Stirling-Tools/Stirling-PDF -name: stirling-pdf-chart -sources: -- https://github.com/Stirling-Tools/Stirling-PDF -version: 1.1.0 diff --git a/chart/stirling-pdf/README.md b/chart/stirling-pdf/README.md deleted file mode 100644 index 7536c6f0..00000000 --- a/chart/stirling-pdf/README.md +++ /dev/null @@ -1,95 +0,0 @@ -# stirling-pdf-chart - -![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: 0.30.1](https://img.shields.io/badge/AppVersion-0.30.1-informational?style=flat-square) - -locally hosted web application that allows you to perform various operations on PDF files - -**Homepage:** - -## Maintainers - -| Name | Email | Url | -| ---- | ------ | --- | -| Stirling-Tools | | | - -## Source Code - -* - -## Chart Repo - -Add the following repo to use the chart: - -```console -helm repo add stirling-pdf https://stirling-tools.github.io/Stirling-PDF -``` - -## Values - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| affinity | object | `{}` | | -| commonLabels | object | `{}` | Labels to apply to all resources | -| containerSecurityContext | object | `{}` | | -| deployment.annotations | object | `{}` | Stirling-pdf Deployment annotations | -| deployment.extraVolumeMounts | list | `[]` | Additional volumes to mount | -| deployment.extraVolumes | list | `[]` | Additional volumes | -| deployment.labels | object | `{}` | | -| deployment.sidecarContainers | object | `{}` | of the chart's content, send notifications... | -| envs | list | `[]` | | -| extraArgs | list | `[]` | | -| image.pullPolicy | string | `"IfNotPresent"` | | -| image.repository | string | `"frooodle/s-pdf"` | | -| image.tag | string | `nil` | | -| ingress | object | `{"annotations":{},"enabled":false,"hosts":[],"ingressClassName":null,"labels":{},"pathType":"ImplementationSpecific"}` | Ingress for load balancer | -| ingress.annotations | object | `{}` | Stirling-pdf Ingress annotations | -| ingress.hosts | list | `[]` | Must be provided if Ingress is enabled | -| ingress.ingressClassName | string | `nil` | See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress | -| ingress.labels | object | `{}` | Stirling-pdf Ingress labels | -| nodeSelector | object | `{}` | | -| persistence.accessMode | string | `"ReadWriteOnce"` | | -| persistence.enabled | bool | `false` | | -| persistence.labels | object | `{}` | | -| persistence.path | string | `"/tmp"` | | -| persistence.pv | object | `{"accessMode":"ReadWriteOnce","capacity":{"storage":"8Gi"},"enabled":false,"nfs":{"path":null,"server":null},"pvname":null}` | stirling-pdf data Persistent Volume Storage Class If defined, storageClassName: If set to "-", storageClassName: "", which disables dynamic provisioning If undefined (the default) or set to null, no storageClassName spec is set, choosing the default provisioner. (gp2 on AWS, standard on GKE, AWS & OpenStack) storageClass: "-" volumeName: | -| persistence.size | string | `"8Gi"` | | -| podAnnotations | object | `{}` | Read more about kube2iam to provide access to s3 https://github.com/jtblin/kube2iam | -| podLabels | object | `{}` | ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ | -| priorityClassName | string | `""` | | -| probes.liveness.failureThreshold | int | `3` | | -| probes.liveness.initialDelaySeconds | int | `5` | | -| probes.liveness.periodSeconds | int | `10` | | -| probes.liveness.successThreshold | int | `1` | | -| probes.liveness.timeoutSeconds | int | `1` | | -| probes.livenessHttpGetConfig.scheme | string | `"HTTP"` | | -| probes.readiness.failureThreshold | int | `3` | | -| probes.readiness.initialDelaySeconds | int | `5` | | -| probes.readiness.periodSeconds | int | `10` | | -| probes.readiness.successThreshold | int | `1` | | -| probes.readiness.timeoutSeconds | int | `1` | | -| probes.readinessHttpGetConfig.scheme | string | `"HTTP"` | | -| replicaCount | int | `1` | | -| resources | object | `{}` | | -| rootPath | string | `"/"` | Rootpath for the application | -| secret.labels | object | `{}` | | -| securityContext | object | `{"enabled":true,"fsGroup":1000}` | does not allow this, try setting securityContext: {} | -| service.annotations | object | `{}` | | -| service.externalPort | int | `8080` | | -| service.externalTrafficPolicy | string | `"Local"` | | -| service.labels | object | `{}` | | -| service.loadBalancerIP | string | `nil` | Only valid if service.type: LoadBalancer | -| service.loadBalancerSourceRanges | list | `[]` | Only valid if service.type: LoadBalancer | -| service.nodePort | string | `nil` | | -| service.servicename | string | `nil` | | -| service.targetPort | string | `nil` | from deployment above. Leave empty to use stirling-pdf directly. | -| service.type | string | `"ClusterIP"` | | -| serviceAccount.annotations | object | `{}` | | -| serviceAccount.automountServiceAccountToken | bool | `false` | | -| serviceAccount.create | bool | `true` | | -| serviceAccount.name | string | `""` | | -| serviceMonitor.enabled | bool | `false` | | -| serviceMonitor.labels | object | `{}` | | -| serviceMonitor.metricsPath | string | `"/metrics"` | | -| strategy.type | string | `"RollingUpdate"` | | -| tolerations | list | `[]` | | -| volumePermissions | object | `{"image":{"pullPolicy":"Always","registry":"docker.io","repository":"bitnami/minideb","tag":"buster"}}` | volumePermissions: Change the owner of the persistent volume mountpoint to RunAsUser:fsGroup | diff --git a/chart/stirling-pdf/README.md.gotmpl b/chart/stirling-pdf/README.md.gotmpl deleted file mode 100644 index caaddb04..00000000 --- a/chart/stirling-pdf/README.md.gotmpl +++ /dev/null @@ -1,25 +0,0 @@ -{{ template "chart.header" . }} - -{{ template "chart.deprecationWarning" . }} - -{{ template "chart.badgesSection" . }} - -{{ template "chart.description" . }} - -{{ template "chart.homepageLine" . }} - -{{ template "chart.maintainersSection" . }} - -{{ template "chart.sourcesSection" . }} - -{{ template "chart.requirementsSection" . }} - -## Chart Repo - -Add the following repo to use the chart: - -```console -helm repo add stirling-pdf https://docs.stirlingpdf.com/Stirling-PDF/ -``` - -{{ template "chart.valuesSection" . }} diff --git a/chart/stirling-pdf/templates/NOTES.txt b/chart/stirling-pdf/templates/NOTES.txt deleted file mode 100644 index 3b432f00..00000000 --- a/chart/stirling-pdf/templates/NOTES.txt +++ /dev/null @@ -1,30 +0,0 @@ -** Please be patient while the chart is being deployed ** - -Get the stirlingpdf URL by running: - -{{- if contains "NodePort" .Values.service.type }} - - export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "stirlingpdf.fullname" . }}) - export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") - echo http://$NODE_IP:$NODE_PORT/ - -{{- else if contains "LoadBalancer" .Values.service.type }} - -** Please ensure an external IP is associated to the {{ template "stirlingpdf.fullname" . }} service before proceeding ** -** Watch the status using: kubectl get svc --namespace {{ .Release.Namespace }} -w {{ template "stirlingpdf.fullname" . }} ** - - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "stirlingpdf.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') - echo http://$SERVICE_IP:{{ .Values.service.externalPort }}/ - -OR - - export SERVICE_HOST=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "stirlingpdf.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].hostname}') - echo http://$SERVICE_HOST:{{ .Values.service.externalPort }}/ - -{{- else if contains "ClusterIP" .Values.service.type }} - - export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "stirlingpdf.name" . }}" -l "release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") - echo http://127.0.0.1:8080/ - kubectl port-forward $POD_NAME 8080:8080 --namespace {{ .Release.Namespace }} - -{{- end }} diff --git a/chart/stirling-pdf/templates/_helpers.tpl b/chart/stirling-pdf/templates/_helpers.tpl deleted file mode 100644 index 4c862604..00000000 --- a/chart/stirling-pdf/templates/_helpers.tpl +++ /dev/null @@ -1,129 +0,0 @@ -{{/* -Expand the name of the chart. -*/}} -{{- define "stirlingpdf.name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Create a default fully qualified app name. -We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). -If release name contains chart name it will be used as a full name. -*/}} -{{- define "stirlingpdf.fullname" -}} -{{- if .Values.fullnameOverride }} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- $name := default .Chart.Name .Values.nameOverride }} -{{- if contains $name .Release.Name }} -{{- .Release.Name | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} -{{- end }} -{{- end }} -{{- end }} - -{{- /* -Create chart name and version as used by the chart label. - -It does minimal escaping for use in Kubernetes labels. - -Example output: - -stirlingpdf-0.4.5 -*/ -}} -{{- define "stirlingpdf.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} -{{- end -}} - -{{/* -Common labels -*/}} -{{- define "stirlingpdf.labels" -}} -helm.sh/chart: {{ include "stirlingpdf.chart" . }} -{{ include "stirlingpdf.selectorLabels" . }} -{{- if .Chart.AppVersion }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -{{- end }} -{{- if .Values.commonLabels}} -{{ toYaml .Values.commonLabels }} -{{- end }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* -Selector labels -*/}} -{{- define "stirlingpdf.selectorLabels" -}} -app.kubernetes.io/name: {{ include "stirlingpdf.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} - -{{/* -Create the name of the service account to use -*/}} -{{- define "stirlingpdf.serviceAccountName" -}} -{{- if .Values.serviceAccount.create }} -{{- default (include "stirlingpdf.fullname" .) .Values.serviceAccount.name }} -{{- else }} -{{- default "default" .Values.serviceAccount.name }} -{{- end }} -{{- end }} - -{{/* -Return the proper image name to change the volume permissions -*/}} -{{- define "stirlingpdf.volumePermissions.image" -}} -{{- $registryName := .Values.volumePermissions.image.registry -}} -{{- $repositoryName := .Values.volumePermissions.image.repository -}} -{{- $tag := .Values.volumePermissions.image.tag | toString -}} -{{/* -Helm 2.11 supports the assignment of a value to a variable defined in a different scope, -but Helm 2.9 and 2.10 doesn't support it, so we need to implement this if-else logic. -Also, we can't use a single if because lazy evaluation is not an option -*/}} -{{- if .Values.global }} - {{- if .Values.global.imageRegistry }} - {{- printf "%s/%s:%s" .Values.global.imageRegistry $repositoryName $tag -}} - {{- else -}} - {{- printf "%s/%s:%s" $registryName $repositoryName $tag -}} - {{- end -}} -{{- else -}} - {{- printf "%s/%s:%s" $registryName $repositoryName $tag -}} -{{- end -}} -{{- end -}} - -{{/* -Return the proper Docker Image Registry Secret Names -*/}} -{{- define "stirlingpdf.imagePullSecrets" -}} -{{/* -Helm 2.11 supports the assignment of a value to a variable defined in a different scope, -but Helm 2.9 and 2.10 does not support it, so we need to implement this if-else logic. -Also, we can not use a single if because lazy evaluation is not an option -*/}} -{{- if .Values.global }} -{{- if .Values.global.imagePullSecrets }} -imagePullSecrets: -{{- range .Values.global.imagePullSecrets }} - - name: {{ . }} -{{- end }} -{{- else if or .Values.image.pullSecrets .Values.volumePermissions.image.pullSecrets }} -imagePullSecrets: -{{- range .Values.image.pullSecrets }} - - name: {{ . }} -{{- end }} -{{- range .Values.volumePermissions.image.pullSecrets }} - - name: {{ . }} -{{- end }} -{{- end -}} -{{- else if or .Values.image.pullSecrets .Values.volumePermissions.image.pullSecrets }} -imagePullSecrets: -{{- range .Values.image.pullSecrets }} - - name: {{ . }} -{{- end }} -{{- range .Values.volumePermissions.image.pullSecrets }} - - name: {{ . }} -{{- end }} -{{- end -}} -{{- end -}} \ No newline at end of file diff --git a/chart/stirling-pdf/templates/deployment.yaml b/chart/stirling-pdf/templates/deployment.yaml deleted file mode 100644 index d91e8097..00000000 --- a/chart/stirling-pdf/templates/deployment.yaml +++ /dev/null @@ -1,131 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "stirlingpdf.fullname" . }} - {{- with .Values.deployment.annotations }} - annotations: - {{- toYaml . | nindent 4 }} - {{- end }} - labels: - {{- include "stirlingpdf.labels" . | nindent 4 }} - {{- if .Values.deployment.labels }} - {{- toYaml .Values.deployment.labels | nindent 4 }} - {{- end }} -spec: - selector: - matchLabels: - {{- include "stirlingpdf.selectorLabels" . | nindent 6 }} - replicas: {{ .Values.replicaCount }} - strategy: -{{ toYaml .Values.strategy | indent 4 }} - revisionHistoryLimit: 10 - template: - metadata: - {{- with .Values.podAnnotations }} - annotations: - {{- toYaml . | nindent 8 }} - {{- end }} - labels: - {{- include "stirlingpdf.selectorLabels" . | nindent 8 }} - {{- if .Values.podLabels }} - {{- toYaml .Values.podLabels | nindent 8 }} - {{- end }} - spec: - {{- if .Values.priorityClassName }} - priorityClassName: "{{ .Values.priorityClassName }}" - {{- end }} - {{- if .Values.securityContext.enabled }} - securityContext: - fsGroup: {{ .Values.securityContext.fsGroup }} - {{- if .Values.securityContext.runAsNonRoot }} - runAsNonRoot: {{ .Values.securityContext.runAsNonRoot }} - {{- end }} - {{- if .Values.securityContext.supplementalGroups }} - supplementalGroups: {{ .Values.securityContext.supplementalGroups }} - {{- end }} - {{- else if .Values.persistence.enabled }} - initContainers: - - name: volume-permissions - image: {{ template "stirlingpdf.volumePermissions.image" . }} - imagePullPolicy: "{{ .Values.volumePermissions.image.pullPolicy }}" - securityContext: - {{- toYaml .Values.containerSecurityContext | nindent 10 }} - command: ['sh', '-c', 'chown -R {{ .Values.securityContext.fsGroup }}:{{ .Values.securityContext.fsGroup }} {{ .Values.persistence.path }}'] - volumeMounts: - - mountPath: {{ .Values.persistence.path }} - name: storage-volume - {{- end }} -{{- include "stirlingpdf.imagePullSecrets" . | indent 6 }} - containers: - - name: {{ .Chart.Name }} - image: {{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }} - imagePullPolicy: {{ .Values.image.pullPolicy }} - securityContext: - {{- toYaml .Values.containerSecurityContext | nindent 10 }} - env: - - name: SYSTEM_ROOTURIPATH - value: {{ .Values.rootPath}} -{{- if .Values.envs }} -{{ toYaml .Values.envs | indent 8 }} -{{- end }} -{{- if .Values.extraArgs }} - args: -{{ toYaml .Values.extraArgs | indent 8 }} -{{- end }} - ports: - - name: http - containerPort: 8080 - livenessProbe: - httpGet: - path: {{ .Values.rootPath}} - port: http -{{ toYaml .Values.probes.livenessHttpGetConfig | indent 12 }} -{{ toYaml .Values.probes.liveness | indent 10 }} - readinessProbe: - httpGet: - path: {{ .Values.rootPath}} - port: http -{{ toYaml .Values.probes.readinessHttpGetConfig | indent 12 }} -{{ toYaml .Values.probes.readiness | indent 10 }} - volumeMounts: -{{- if .Values.deployment.extraVolumeMounts }} - {{- toYaml .Values.deployment.extraVolumeMounts | nindent 8 }} -{{- end }} -{{- if .Values.deployment.sidecarContainers }} -{{- range $name, $spec := .Values.deployment.sidecarContainers }} - - name: {{ $name }} -{{- toYaml $spec | nindent 8 }} -{{- end }} -{{- end }} - {{- with .Values.resources }} - resources: -{{ toYaml . | indent 10 }} - {{- end }} - {{- with .Values.nodeSelector }} - nodeSelector: -{{ toYaml . | indent 8 }} - {{- end }} - {{- with .Values.affinity }} - affinity: -{{ toYaml . | indent 8 }} - {{- end }} - {{- with .Values.tolerations }} - tolerations: -{{ toYaml . | indent 8 }} - {{- end }} - {{- if .Values.schedulerName }} - schedulerName: {{ .Values.schedulerName }} - {{- end }} - serviceAccountName: {{ include "stirlingpdf.serviceAccountName" . }} - automountServiceAccountToken: {{ .Values.serviceAccount.automountServiceAccountToken }} - volumes: - {{- if .Values.deployment.extraVolumes }} - {{- toYaml .Values.deployment.extraVolumes | nindent 6 }} - {{- end }} - - name: storage-volume - {{- if .Values.persistence.enabled }} - persistentVolumeClaim: - claimName: {{ .Values.persistence.existingClaim | default (include "stirlingpdf.fullname" .) }} - {{- else }} - emptyDir: {} - {{- end }} diff --git a/chart/stirling-pdf/templates/ingress.yaml b/chart/stirling-pdf/templates/ingress.yaml deleted file mode 100644 index c09fef68..00000000 --- a/chart/stirling-pdf/templates/ingress.yaml +++ /dev/null @@ -1,85 +0,0 @@ -{{- if .Values.ingress.enabled }} -{{- $servicePort := .Values.service.externalPort -}} -{{- $serviceName := include "stirlingpdf.fullname" . -}} -{{- $ingressExtraPaths := .Values.ingress.extraPaths -}} ---- -{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion }} -apiVersion: extensions/v1beta1 -{{- else if semverCompare "<1.19-0" .Capabilities.KubeVersion.GitVersion }} -apiVersion: networking.k8s.io/v1beta1 -{{- else }} -apiVersion: networking.k8s.io/v1 -{{- end }} -kind: Ingress -metadata: - name: {{ include "stirlingpdf.fullname" . }} - {{- with .Values.ingress.annotations }} - annotations: - {{- toYaml . | nindent 4 }} - {{- end }} - labels: - {{- include "stirlingpdf.labels" . | nindent 4 }} - {{- with .Values.ingress.labels }} - {{- toYaml . | nindent 4 }} - {{- end }} -spec: - {{- with .Values.ingress.ingressClassName }} - ingressClassName: {{ . }} - {{- end }} - rules: - {{- range .Values.ingress.hosts }} - - host: {{ .name }} - http: - paths: - {{- range $ingressExtraPaths }} - - path: {{ default "/" .path | quote }} - backend: - {{- if semverCompare "<1.19-0" $.Capabilities.KubeVersion.GitVersion }} - {{- if $.Values.service.servicename }} - serviceName: {{ $.Values.service.servicename }} - {{- else }} - serviceName: {{ default $serviceName .service }} - {{- end }} - servicePort: {{ default $servicePort .port }} - {{- else }} - service: - {{- if $.Values.service.servicename }} - name: {{ $.Values.service.servicename }} - {{- else }} - name: {{ default $serviceName .service }} - {{- end }} - port: - number: {{ default $servicePort .port }} - pathType: {{ default $.Values.ingress.pathType .pathType }} - {{- end }} - {{- end }} - - path: {{ default "/" .path | quote }} - backend: - {{- if semverCompare "<1.19-0" $.Capabilities.KubeVersion.GitVersion }} - {{- if $.Values.service.servicename }} - serviceName: {{ $.Values.service.servicename }} - {{- else }} - serviceName: {{ default $serviceName .service }} - {{- end }} - servicePort: {{ default $servicePort .servicePort }} - {{- else }} - service: - {{- if $.Values.service.servicename }} - name: {{ $.Values.service.servicename }} - {{- else }} - name: {{ default $serviceName .service }} - {{- end }} - port: - number: {{ default $servicePort .port }} - pathType: {{ $.Values.ingress.pathType }} - {{- end }} - {{- end }} - tls: - {{- range .Values.ingress.hosts }} - {{- if .tls }} - - hosts: - - {{ .name }} - secretName: {{ .tlsSecret }} - {{- end }} - {{- end }} -{{- end -}} diff --git a/chart/stirling-pdf/templates/pv.yaml b/chart/stirling-pdf/templates/pv.yaml deleted file mode 100644 index aa99c6a9..00000000 --- a/chart/stirling-pdf/templates/pv.yaml +++ /dev/null @@ -1,16 +0,0 @@ -{{- if .Values.persistence.pv.enabled -}} -apiVersion: v1 -kind: PersistentVolume -metadata: - name: {{ .Values.persistence.pv.pvname | default (include "stirlingpdf.fullname" .) }} - labels: - {{- include "stirlingpdf.labels" . | nindent 4 }} -spec: - capacity: - storage: {{ .Values.persistence.pv.capacity.storage }} - accessModes: - - {{ .Values.persistence.pv.accessMode | quote }} - nfs: - server: {{ .Values.persistence.pv.nfs.server }} - path: {{ .Values.persistence.pv.nfs.path | quote }} -{{- end }} \ No newline at end of file diff --git a/chart/stirling-pdf/templates/pvc.yaml b/chart/stirling-pdf/templates/pvc.yaml deleted file mode 100644 index f7a21722..00000000 --- a/chart/stirling-pdf/templates/pvc.yaml +++ /dev/null @@ -1,27 +0,0 @@ -{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}} -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: {{ include "stirlingpdf.fullname" . }} - labels: - {{- include "stirlingpdf.labels" . | nindent 4 }} - {{- with .Values.persistence.labels }} - {{- toYaml . | nindent 4 }} - {{- end }} -spec: - accessModes: - - {{ .Values.persistence.accessMode | quote }} - resources: - requests: - storage: {{ .Values.persistence.size | quote }} -{{- if .Values.persistence.storageClass }} -{{- if (eq "-" .Values.persistence.storageClass) }} - storageClassName: "" -{{- else }} - storageClassName: "{{ .Values.persistence.storageClass }}" -{{- end }} -{{- if .Values.persistence.volumeName }} - volumeName: "{{ .Values.persistence.volumeName }}" -{{- end }} -{{- end }} -{{- end }} diff --git a/chart/stirling-pdf/templates/service.yaml b/chart/stirling-pdf/templates/service.yaml deleted file mode 100644 index 13ee2420..00000000 --- a/chart/stirling-pdf/templates/service.yaml +++ /dev/null @@ -1,48 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ .Values.service.servicename | default (include "stirlingpdf.fullname" .) }} - {{- with .Values.service.annotations }} - annotations: - {{- toYaml . | nindent 4 }} - {{- end }} - labels: - {{- include "stirlingpdf.labels" . | nindent 4 }} - {{- with .Values.service.labels }} - {{- toYaml . | nindent 4 }} - {{- end }} -spec: - type: {{ .Values.service.type }} - {{- if (or (eq .Values.service.type "LoadBalancer") (and (eq .Values.service.type "NodePort") (not (empty .Values.service.nodePort)))) }} - externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy }} - {{- end }} - {{- if (and (eq .Values.service.type "LoadBalancer") .Values.service.loadBalancerIP) }} - loadBalancerIP: {{ .Values.service.loadBalancerIP }} - {{- end }} - {{- if (and (eq .Values.service.type "LoadBalancer") .Values.service.loadBalancerSourceRanges) }} - loadBalancerSourceRanges: - {{- with .Values.service.loadBalancerSourceRanges }} -{{ toYaml . | indent 2 }} - {{- end }} - {{- end }} - {{- if eq .Values.service.type "ClusterIP" }} - {{- if .Values.service.clusterIP }} - clusterIP: {{ .Values.service.clusterIP }} - {{- end }} - {{- end }} - ports: - - port: {{ .Values.service.externalPort }} -{{- if (and (eq .Values.service.type "NodePort") (not (empty .Values.service.nodePort))) }} - nodePort: {{.Values.service.nodePort}} -{{- end }} -{{- if .Values.service.targetPort }} - targetPort: {{ .Values.service.targetPort }} - name: {{ .Values.service.targetPort }} -{{- else }} - targetPort: http - name: http -{{- end }} - protocol: TCP - - selector: - {{- include "stirlingpdf.selectorLabels" . | nindent 4 }} diff --git a/chart/stirling-pdf/templates/serviceaccount.yaml b/chart/stirling-pdf/templates/serviceaccount.yaml deleted file mode 100644 index 7156e4a4..00000000 --- a/chart/stirling-pdf/templates/serviceaccount.yaml +++ /dev/null @@ -1,13 +0,0 @@ -{{- if .Values.serviceAccount.create -}} ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: {{ include "stirlingpdf.serviceAccountName" . }} - {{- with .Values.serviceAccount.annotations }} - annotations: - {{ toYaml . | nindent 4 }} - {{- end }} - labels: - {{- include "stirlingpdf.labels" . | nindent 4 }} -{{- end }} diff --git a/chart/stirling-pdf/templates/servicemonitor.yaml b/chart/stirling-pdf/templates/servicemonitor.yaml deleted file mode 100644 index ca0d31bb..00000000 --- a/chart/stirling-pdf/templates/servicemonitor.yaml +++ /dev/null @@ -1,31 +0,0 @@ -{{- if and ( .Capabilities.APIVersions.Has "monitoring.coreos.com/v1" ) ( .Values.serviceMonitor.enabled ) }} -apiVersion: monitoring.coreos.com/v1 -kind: ServiceMonitor -metadata: - name: {{ include "stirlingpdf.fullname" . }} - namespace: {{ .Values.serviceMonitor.namespace | default .Release.Namespace }} - labels: - {{- include "stirlingpdf.labels" . | nindent 4 }} - {{- with .Values.serviceMonitor.labels }} - {{- toYaml . | nindent 4 }} - {{- end }} -spec: - endpoints: - - targetPort: 8080 -{{- if .Values.serviceMonitor.interval }} - interval: {{ .Values.serviceMonitor.interval }} -{{- end }} -{{- if .Values.serviceMonitor.metricsPath }} - path: {{ .Values.serviceMonitor.metricsPath }} -{{- end }} -{{- if .Values.serviceMonitor.timeout }} - scrapeTimeout: {{ .Values.serviceMonitor.timeout }} -{{- end }} - jobLabel: {{ include "stirlingpdf.fullname" . }} - namespaceSelector: - matchNames: - - {{ .Release.Namespace }} - selector: - matchLabels: - {{- include "stirlingpdf.selectorLabels" . | nindent 6 }} -{{- end }} diff --git a/chart/stirling-pdf/values.yaml b/chart/stirling-pdf/values.yaml deleted file mode 100644 index eec1856e..00000000 --- a/chart/stirling-pdf/values.yaml +++ /dev/null @@ -1,239 +0,0 @@ -extraArgs: - [] - # - --storage-timestamp-tolerance 1s -replicaCount: 1 -strategy: - type: RollingUpdate -image: - repository: frooodle/s-pdf - # took Chart appVersion by default - tag: ~ - pullPolicy: IfNotPresent -secret: - labels: {} -# -- Labels to apply to all resources -commonLabels: {} -# team_name: dev - -# -- Rootpath for the application -rootPath: / - -envs: [] -# - name: UI_APP_NAME -# value: "Stirling PDF" -# - name: UI_HOME_DESCRIPTION -# value: "Your locally hosted one-stop-shop for all your PDF needs." -# - name: UI_APP_NAVBAR_NAME -# value: "Stirling PDF" -# - name: ALLOW_GOOGLE_VISIBILITY -# value: "true" -# - name: APP_LOCALE -# value: "en_GB" - -deployment: - # -- Stirling-pdf Deployment annotations - annotations: {} - # name: value - labels: {} - # name: value - # -- Additional volumes - extraVolumes: [] - # - name: nginx-config - # secret: - # secretName: nginx-config - # -- Additional volumes to mount - extraVolumeMounts: [] - # -- sidecarContainers for the stirling-pdf - # -- Can be used to add a proxy to the pod that does - # -- scanning for secrets, signing, authentication, validation - # -- of the chart's content, send notifications... - sidecarContainers: {} - ## Example sidecarContainer which uses an extraVolume from above and - ## a named port that can be referenced in the service as targetPort. - # proxy: - # image: nginx:latest - # ports: - # - name: proxy - # containerPort: 8081 - # volumeMounts: - # - name: nginx-config - # readOnly: true - # mountPath: /etc/nginx - -# -- Pod annotations -# -- ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ -# -- Read more about kube2iam to provide access to s3 https://github.com/jtblin/kube2iam -podAnnotations: - {} - # iam.amazonaws.com/role: role-arn - -# -- Pod labels -# -- ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ -podLabels: - {} - # name: value - -service: - servicename: - type: ClusterIP - externalTrafficPolicy: Local - # -- Uses pre-assigned IP address from cloud provider - # -- Only valid if service.type: LoadBalancer - loadBalancerIP: - # -- Limits which cidr blocks can connect to service's load balancer - # -- Only valid if service.type: LoadBalancer - loadBalancerSourceRanges: [] - # clusterIP: None - externalPort: 8080 - # -- targetPort of the container to use. If a sidecar should handle the - # -- requests first, use the named port from the sidecar. See sidecar example - # -- from deployment above. Leave empty to use stirling-pdf directly. - targetPort: - nodePort: - annotations: {} - labels: {} - -serviceMonitor: - enabled: false - # namespace: prometheus - labels: {} - metricsPath: "/metrics" - # timeout: 60 - # interval: 60 - -resources: {} -# limits: -# cpu: 100m -# memory: 128Mi -# requests: -# cpu: 80m -# memory: 64Mi - -probes: - liveness: - initialDelaySeconds: 5 - periodSeconds: 10 - timeoutSeconds: 1 - successThreshold: 1 - failureThreshold: 3 - livenessHttpGetConfig: - scheme: HTTP - readiness: - initialDelaySeconds: 5 - periodSeconds: 10 - timeoutSeconds: 1 - successThreshold: 1 - failureThreshold: 3 - readinessHttpGetConfig: - scheme: HTTP - -serviceAccount: - create: true - name: "" - automountServiceAccountToken: false - ## Annotations for the Service Account - annotations: {} - -# -- UID/GID 1000 is the default user "stirling-pdf" used in -# -- the container image starting in v0.8.0 and above. This -# -- is required for local persistent storage. If your cluster -# -- does not allow this, try setting securityContext: {} -securityContext: - enabled: true - fsGroup: 1000 - ## Optionally, specify supplementalGroups and/or - ## runAsNonRoot for security purposes - # runAsNonRoot: true - # supplementalGroups: [1000] - -containerSecurityContext: {} - -priorityClassName: "" - -nodeSelector: {} - -tolerations: [] - -affinity: {} - -persistence: - enabled: false - accessMode: ReadWriteOnce - size: 8Gi - labels: - {} - # name: value - path: /tmp - ## A manually managed Persistent Volume and Claim - ## Requires persistence.enabled: true - ## If defined, PVC must be created manually before volume will be bound - # existingClaim: - - # -- stirling-pdf data Persistent Volume Storage Class - # If defined, storageClassName: - # If set to "-", storageClassName: "", which disables dynamic provisioning - # If undefined (the default) or set to null, no storageClassName spec is - # set, choosing the default provisioner. (gp2 on AWS, standard on - # GKE, AWS & OpenStack) - # storageClass: "-" - # volumeName: - pv: - enabled: false - pvname: - capacity: - storage: 8Gi - accessMode: ReadWriteOnce - nfs: - server: - path: - -# -- Init containers parameters: -# -- volumePermissions: Change the owner of the persistent volume mountpoint to RunAsUser:fsGroup -volumePermissions: - image: - registry: docker.io - repository: bitnami/minideb - tag: buster - pullPolicy: Always - ## Optionally specify an array of imagePullSecrets. - ## Secrets must be manually created in the namespace. - ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ - ## - # pullSecrets: - # - myRegistryKeySecretName - -# -- Ingress for load balancer -ingress: - enabled: false - pathType: "ImplementationSpecific" - # -- Stirling-pdf Ingress labels - labels: - {} - # dns: "route53" - - # -- Stirling-pdf Ingress annotations - annotations: - {} - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" - - # -- Stirling-pdf Ingress hostnames - # -- Must be provided if Ingress is enabled - hosts: - [] - # - name: stirling-pdf.domain1.com - # path: / - # tls: false - # - name: stirling-pdf.domain2.com - # path: / - # - # ## Set this to true in order to enable TLS on the ingress record - # tls: true - # - # ## If TLS is set to true, you must declare what secret will store the key/certificate for TLS - # ## Secrets must be added manually to the namespace - # tlsSecret: stirling-pdf.domain2-tls - - # -- For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName - # -- See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress - ingressClassName: diff --git a/cr.yaml b/cr.yaml deleted file mode 100644 index 7a948c73..00000000 --- a/cr.yaml +++ /dev/null @@ -1,2 +0,0 @@ -skip-existing: true -generate-release-notes: true \ No newline at end of file