Compare commits
23 Commits
0.0.1
..
6738a6a8be
| Author | SHA1 | Date | |
|---|---|---|---|
| 6738a6a8be | |||
| 104bc7a56f | |||
| 5d6a9de2d5 | |||
| 24fcde5f2e | |||
| f09e2ff4fe | |||
| fc3d9c0910 | |||
| 466cff4aa1 | |||
| b5ebad80c8 | |||
| 465e817e22 | |||
| 36c0e0a733 | |||
| 80f4cf1e3f | |||
| 0450089618 | |||
| 75414d80a9 | |||
| 7037baed38 | |||
| 024bc3fe46 | |||
| a0bf125273 | |||
| e69f46a89a | |||
| 9935992ef0 | |||
| cb93b32c18 | |||
| 005d53cce7 | |||
| c62e37d16f | |||
| 7049cf5b70 | |||
| 199d6bf2ac |
@@ -5,12 +5,12 @@ on:
|
||||
branches: [ main ]
|
||||
paths:
|
||||
- 'charts/**'
|
||||
- '.github/workflows/helm-chart-ci-cd.yml'
|
||||
- '.github/workflows/helm-chart-ci-cd.yaml'
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
paths:
|
||||
- 'charts/**'
|
||||
- '.github/workflows/helm-chart-ci-cd.yml'
|
||||
- '.github/workflows/helm-chart-ci-cd.yaml'
|
||||
release:
|
||||
types: [created]
|
||||
|
||||
@@ -32,6 +32,10 @@ jobs:
|
||||
with:
|
||||
version: v3.14.4
|
||||
|
||||
- name: Install Chart deps
|
||||
run: |
|
||||
helm repo add bitnami https://charts.bitnami.com/bitnami
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
@@ -65,10 +69,10 @@ jobs:
|
||||
if: github.event_name == 'release'
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Helm
|
||||
uses: azure/setup-helm@v3
|
||||
uses: azure/setup-helm@v4.2.0
|
||||
with:
|
||||
version: v3.11.1
|
||||
|
||||
@@ -85,14 +89,14 @@ jobs:
|
||||
helm package ${{ env.CHART_PATH }}
|
||||
|
||||
- name: Run chart-releaser
|
||||
uses: helm/chart-releaser-action@v1.5.0
|
||||
uses: helm/chart-releaser-action@v1.6.0
|
||||
env:
|
||||
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
||||
with:
|
||||
charts_dir: charts
|
||||
|
||||
- name: Login to GitHub Container Registry
|
||||
uses: docker/login-action@v2
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.actor }}
|
||||
@@ -10,11 +10,12 @@ This Helm chart deploys the Postiz application on a Kubernetes cluster using the
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
The Postiz helm chart registry uses the OCI format, not HTTP, which means you do not need to do a `helm repo add` to install the chart. You can install the chart directly from the GitHub repository.
|
||||
|
||||
To install the chart with the release name `postiz-app`:
|
||||
|
||||
```bash
|
||||
$ helm repo add postiz https://github.com/gitroomhq/postiz-helmchart
|
||||
$ helm install postiz-app postiz/postiz
|
||||
$ helm install postiz oci://ghcr.io/gitroomhq/postiz-helmchart/charts/postiz-app
|
||||
```
|
||||
|
||||
The command deploys Postiz on the Kubernetes cluster in the default configuration. The [Parameters](#parameters) section lists the parameters that can be configured during installation.
|
||||
@@ -23,7 +24,7 @@ The command deploys Postiz on the Kubernetes cluster in the default configuratio
|
||||
|
||||
## Uninstalling the Chart
|
||||
|
||||
To uninstall/delete the `postiz-app` deployment:
|
||||
To uninstall/delete the `postiz` deployment:
|
||||
|
||||
```bash
|
||||
$ helm delete postiz-app
|
||||
@@ -49,6 +50,15 @@ The following table lists the configurable parameters of the Postiz chart and th
|
||||
| `postgresql.auth.database` | PostgreSQL database | `postiz` |
|
||||
| `redis.enabled` | Deploy Redis | `true` |
|
||||
| `redis.auth.password` | Redis password | `postiz-redis-password` |
|
||||
| `ingress.enabled` | Enable ingress controller resource | `false` |
|
||||
| `ingress.className` | IngressClass that will be be used | `""` |
|
||||
| `ingress.annotations` | Ingress annotations | `{}` |
|
||||
| `ingress.hosts` | Ingress hostnames | `[]` |
|
||||
| `ingress.tls` | Ingress TLS configuration | `[]` |
|
||||
| `ingress.path` | Path within the host | `/` |
|
||||
| `ingress.pathType` | Ingress path type | `ImplementationSpecific` |
|
||||
| `extraVolumes` | Additional volumes to mount | `[{"name": "uploads-volume", "emptyDir": {}}]` |
|
||||
| `extraVolumeMounts` | Additional volume mounts to use | `[{"name": "uploads-volume", "mountPath": "/uploads"}]` |
|
||||
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
|
||||
|
||||
@@ -60,13 +70,26 @@ $ helm install postiz-app \
|
||||
|
||||
The above command sets the PostgreSQL password to `secretpassword`.
|
||||
|
||||
Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,
|
||||
Alternatively, you can use a YAML file to specify the values while installing the chart. Create a file called `custom-values.yaml` (or any name you prefer) and specify your values:
|
||||
|
||||
```bash
|
||||
$ helm install postiz-app -f values.yaml postiz/postiz
|
||||
```yaml
|
||||
postgresql:
|
||||
auth:
|
||||
password: secretpassword
|
||||
ingress:
|
||||
enabled: true
|
||||
hosts:
|
||||
- host: postiz.example.com
|
||||
```
|
||||
|
||||
> **Tip**: You can use the default [values.yaml](values.yaml)
|
||||
Then, you can install the chart using the `-f` flag:
|
||||
|
||||
```bash
|
||||
$ helm install postiz-app -f custom-values.yaml postiz/postiz
|
||||
```
|
||||
|
||||
> **Tip**: You can use the default [values.yaml](values.yaml) as a starting point for your custom configuration.
|
||||
|
||||
|
||||
## Persistence
|
||||
|
||||
|
||||
@@ -2,8 +2,15 @@ apiVersion: v2
|
||||
name: postiz-app
|
||||
description: A Social Media Scheduling App
|
||||
type: application
|
||||
version: 1.0.0 # Chart Version
|
||||
appVersion: "1.2.0"
|
||||
version: 1.0.5
|
||||
appVersion: "1.3.0"
|
||||
maintainers:
|
||||
- name: jonathan-irvin
|
||||
email: offendingcommit@gmail.com
|
||||
url: https://linktr.ee/offendingcommit
|
||||
- name: jamesread
|
||||
email: contact@jread.com
|
||||
url: http://jread.com
|
||||
keywords:
|
||||
- social media
|
||||
- marketing
|
||||
|
||||
@@ -35,8 +35,15 @@ spec:
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
ports:
|
||||
- name: http
|
||||
containerPort: 3000
|
||||
containerPort: 5000
|
||||
protocol: TCP
|
||||
volumeMounts:
|
||||
{{- if .Values.extraVolumeMounts }}
|
||||
{{- toYaml .Values.extraVolumeMounts | nindent 12 }}
|
||||
{{- else }}
|
||||
- name: uploads-volume
|
||||
mountPath: /uploads
|
||||
{{- end }}
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: {{ include "postiz.fullname" . }}-config
|
||||
@@ -44,6 +51,9 @@ spec:
|
||||
name: {{ include "postiz.fullname" . }}-secrets
|
||||
resources:
|
||||
{{- toYaml .Values.resources | nindent 12 }}
|
||||
{{- if .Values.extraContainers }}
|
||||
{{- toYaml .Values.extraContainers | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
@@ -56,3 +66,10 @@ spec:
|
||||
tolerations:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
volumes:
|
||||
{{- if .Values.extraVolumes }}
|
||||
{{- toYaml .Values.extraVolumes | nindent 8 }}
|
||||
{{- else }}
|
||||
- name: uploads-volume
|
||||
emptyDir: {}
|
||||
{{- end }}
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
{{- if .Values.ingress.enabled }}
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: {{ include "postiz.fullname" . }}
|
||||
labels:
|
||||
{{- include "postiz.labels" . | nindent 4 }}
|
||||
{{- with .Values.ingress.annotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.ingress.className }}
|
||||
ingressClassName: {{ .Values.ingress.className }}
|
||||
{{- end }}
|
||||
{{- if .Values.ingress.tls }}
|
||||
tls:
|
||||
{{- range .Values.ingress.tls }}
|
||||
- hosts:
|
||||
{{- range .hosts }}
|
||||
- {{ . | quote }}
|
||||
{{- end }}
|
||||
secretName: {{ .secretName }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
rules:
|
||||
{{- range .Values.ingress.hosts }}
|
||||
- host: {{ .host | quote }}
|
||||
http:
|
||||
paths:
|
||||
{{- range .paths }}
|
||||
- path: {{ .path }}
|
||||
pathType: {{ .pathType }}
|
||||
backend:
|
||||
service:
|
||||
name: {{ include "postiz.fullname" $ }}
|
||||
port:
|
||||
number: {{ .port }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.ingress.extraRules }}
|
||||
{{- toYaml .Values.ingress.extraRules | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
+3
@@ -11,5 +11,8 @@ spec:
|
||||
targetPort: http
|
||||
protocol: TCP
|
||||
name: http
|
||||
{{- if .Values.service.additionalPorts }}
|
||||
{{- toYaml .Values.service.additionalPorts | nindent 4 }}
|
||||
{{- end }}
|
||||
selector:
|
||||
{{- include "postiz.selectorLabels" . | nindent 4 }}
|
||||
@@ -0,0 +1,12 @@
|
||||
{{- if .Values.serviceAccount.create }}
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: {{ include "postiz.serviceAccountName" . }}
|
||||
labels:
|
||||
{{- include "postiz.labels" . | nindent 4 }}
|
||||
{{- with .Values.serviceAccount.annotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -23,20 +23,33 @@ securityContext: {}
|
||||
service:
|
||||
type: ClusterIP
|
||||
port: 80
|
||||
additionalPorts: []
|
||||
|
||||
ingress:
|
||||
enabled: false
|
||||
enabled: false # Disabled by default
|
||||
className: ""
|
||||
annotations: {}
|
||||
# kubernetes.io/ingress.class: nginx
|
||||
# kubernetes.io/tls-acme: "true"
|
||||
hosts:
|
||||
- host: chart-example.local
|
||||
paths:
|
||||
- path: /
|
||||
pathType: ImplementationSpecific
|
||||
pathType: Prefix
|
||||
port: 80
|
||||
tls: []
|
||||
# - secretName: chart-example-tls
|
||||
# hosts:
|
||||
# - chart-example.local
|
||||
extraRules: []
|
||||
|
||||
resources: {}
|
||||
|
||||
extraContainers: []
|
||||
|
||||
extraVolumes: []
|
||||
extraVolumeMounts: []
|
||||
|
||||
autoscaling:
|
||||
enabled: false
|
||||
minReplicas: 1
|
||||
|
||||
Reference in New Issue
Block a user