Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/__shared-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,11 @@ jobs:
with:
helm-repositories: |
bitnami https://charts.bitnami.com/bitnami
jetstack https://charts.jetstack.io
helm-set: |
global.railsSecretKey=\$RAILS_SECRET_KEY
global.signingKey=\$SIGNING_KEY
cert-manager.enabled=true
env:
RAILS_SECRET_KEY: ${{ secrets.RAILS_SECRET_KEY }}
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

# helm
postal/values-local.yaml
postal/charts/**

# TODO list
.TODO
14 changes: 7 additions & 7 deletions .tool-versions
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
github-cli 2.58.0
helm 3.14.3
helm-ct 3.10.1
helm-docs 1.14.2
kubeconform 0.6.4
kubectl 1.30.5
cosign 2.0.2
cosign 2.0.2
github-cli 2.86.0
helm 3.14.3
helm-ct 3.10.1
helm-docs 1.14.2
kubeconform 0.6.4
kubectl 1.30.5
9 changes: 6 additions & 3 deletions postal/Chart.lock
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
dependencies:
- name: mariadb
repository: https://charts.bitnami.com/bitnami
version: 16.5.0
digest: sha256:b8d5aaa73ffcafb8792593ee848b85ffc743f4ae221ace5e22e4b18dddd732c8
generated: "2024-12-12T00:39:35.18628+01:00"
version: 24.1.1
- name: cert-manager
repository: https://charts.jetstack.io
version: v1.19.3
digest: sha256:dedc4fe64102ad01f78f2e0d93cfaffbd7838d7003472cf2e5d67e78590bee9a
generated: "2026-02-16T18:22:17.714365+01:00"
6 changes: 5 additions & 1 deletion postal/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,5 +35,9 @@ maintainers:
dependencies:
Comment thread
fredleger marked this conversation as resolved.
- name: mariadb
repository: https://charts.bitnami.com/bitnami
version: 16.*.*
version: 24.1.1
condition: mariadb.enabled
- name: cert-manager
repository: https://charts.jetstack.io
version: 1.19.3
Comment thread
fredleger marked this conversation as resolved.
condition: cert-manager.enabled
2 changes: 0 additions & 2 deletions postal/charts/.gitignore

This file was deleted.

4 changes: 4 additions & 0 deletions postal/ci/00-hack-values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
cert-manager:
enabled: true
crds:
enabled: true
18 changes: 18 additions & 0 deletions postal/ci/01-base-values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
image:
registry: fake.registry

jobs:
initialize:
enable: false

web:
replicaCount: 0

smtp:
replicaCount: 0

worker:
replicaCount: 0

cert-manager:
enabled: true
45 changes: 45 additions & 0 deletions postal/ci/02-smtp-tls-values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# SECURITY NOTE: These are example values for CI/testing purposes only.
# In production, these values MUST be replaced with actual secrets.
# Consider using environment variables or secret management systems.
global:
# checkov:skip=CKV_SECRET_6:sample value only
railsSecretKey: LvH4wQpMsNbzuXcNIkvedxBLT9VSSXcjC5LbIcGOS0x06ooTLqtAnPradCvAjIHS7hO90KdUSjfY4xtMWPb6SRdSLH03JNest3xVNJx0ORzhtJYaJX9wjqfH6NTAHyEt
# checkov:skip=CKV_SECRET_13:sample value only
signingKey: |
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDSAOXj/qF/TzuP
Ut/ns25uK/jBnIZCwQUJyODksJCRCUU9CUgafZwyyTvox91Es36Xqg/xVfunR/d/
AFiabpqBY2om1Kvi1CvRLiZCiuKAY9zPtTjPqOKnDEcR6fPqq/9cSZaUNOytqBjK
N82bGTlAWXcWauY6kmciyJASkSHNA5/nzoVlmCvcGAHxVQq/SyDSbGOcKBW26ayC
N04peX3hOnOkOm+R6pdg/gnSK3P8NsW3MxP+MugcZGnyUZXysGWRZgh7A7vtrVcp
omMZsdw7KjcJr4z/2gHtogIQU2O6O2nWQZfowVdcNfPsvzumL3XokTOtNSeWxj2u
N8vmToTnAgMBAAECggEAEeDwsYHupuOMew2/sT618pw8v+L/DTTYpHYdK2say7ZB
1knxgQvbnflC5/UIEf7EEs5wMAg1dg7q872ITZGIBub7VRX7EkMk/diTekvPr8WQ
uYBAt3E15qnlbRGBaiO9iFJdhv2gfsJWZfTtRLyXgrJ7MIXmVus665uupF4FxinW
u/vQnxZOp0lNd1y/9wWP9qx5c47H2DVjxtbog5Wbo3GjjUWIEpsJWs/CBSoINhNc
THFKvimVgPOcqz8vhyrobnUJAFEBH4AcDIydrCVBEEpwTKRhs1ww+Asrj+w+Am+/
1TMQfXpnym3KIQx9uaFqHPNFfb6/+6s5/xib2dJZMQKBgQD6tv0+SvFY9znxWp2x
IOQKJzPKfVWhtiLL1mSHmL1jR/WOFzoe8u4oKiYdyATECXGf/5bd4aOIRKxaFnDC
TUYBtoDFqejHlRjAjz280zASd/YB1TTk9LwPtxCF3DDXtuM2qRooCqO1gn7kSwBq
IpLT4H2edj/EA2CvP6V9QY3VVwKBgQDWbjSnZHq+LIO7582cY04bOSkhTCSh+kA2
wjp0C+ZriFlKoiwMQAz6D5YFGE2rhAeur00l01Emgtq+T0dcZ6k4o+JfUQZVS4Qp
AY1EoEGLG7XvjVJhB5Dpdjk5zso/6L5vpsroH4Cz3ejdE7YcdQmvEXzW5PS2lJpb
+DajDBIC8QKBgHoee8fF1T0SXuTS0JCghrLzWWS+G+HCx7wl1528pjMfr9ngMm00
wxBJR3umG7wpJXFbm27EI1WSrajL2WyrGvhmnt6o3juowf+5RccdzwKP8AIAid0j
4B5/esrY7+mCqbXMNHNgi1E0GP62EaOg54fQhx+SVYjyZDu4crFKJv3NAoGBALUD
u3dDn0pDEcHiYPQP8LOSgWIWgSYrt2GCfQ3RreZA5//U/xIoT8wYtDAA4DBV+JZC
bgHsbajw9e+JxVgAOh4SWtrT72C5qwtiv/qavjnMXr2ms1AtrusmXhCqvJlOxNRE
HS3uyhsMzbMzHJzRQCeFv7k49kvbDqNs2dKyMdJBAoGBAKyd19QDKgl14Qcfpyrt
NWufWVbukOFVJlh6XCxR9qyMZRAtw9cJbQshUfaOXxzh1H7soJ+Bq4ySW7MkzhCG
oDDsor1Y3hxiLCDctwdr8qX3F0je4ow7HftyFTlh5xtSbmYV/EnHpO40tuKBLqnA
ZPicQao+s/8DQwNr25oSL+kM
-----END PRIVATE KEY-----

smtp:
tls:
enabled: true
hosts:
- smtp.example.local

cert-manager:
enabled: true
54 changes: 54 additions & 0 deletions postal/ci/03-ingress-values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# SECURITY NOTE: These are example values for CI/testing purposes only.
# In production, these values MUST be replaced with actual secrets.
# Consider using environment variables or secret management systems.
global:
# checkov:skip=CKV_SECRET_6:sample value only
railsSecretKey: LvH4wQpMsNbzuXcNIkvedxBLT9VSSXcjC5LbIcGOS0x06ooTLqtAnPradCvAjIHS7hO90KdUSjfY4xtMWPb6SRdSLH03JNest3xVNJx0ORzhtJYaJX9wjqfH6NTAHyEt
# checkov:skip=CKV_SECRET_13:sample value only
signingKey: |
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDSAOXj/qF/TzuP
Ut/ns25uK/jBnIZCwQUJyODksJCRCUU9CUgafZwyyTvox91Es36Xqg/xVfunR/d/
AFiabpqBY2om1Kvi1CvRLiZCiuKAY9zPtTjPqOKnDEcR6fPqq/9cSZaUNOytqBjK
N82bGTlAWXcWauY6kmciyJASkSHNA5/nzoVlmCvcGAHxVQq/SyDSbGOcKBW26ayC
N04peX3hOnOkOm+R6pdg/gnSK3P8NsW3MxP+MugcZGnyUZXysGWRZgh7A7vtrVcp
omMZsdw7KjcJr4z/2gHtogIQU2O6O2nWQZfowVdcNfPsvzumL3XokTOtNSeWxj2u
N8vmToTnAgMBAAECggEAEeDwsYHupuOMew2/sT618pw8v+L/DTTYpHYdK2say7ZB
1knxgQvbnflC5/UIEf7EEs5wMAg1dg7q872ITZGIBub7VRX7EkMk/diTekvPr8WQ
uYBAt3E15qnlbRGBaiO9iFJdhv2gfsJWZfTtRLyXgrJ7MIXmVus665uupF4FxinW
u/vQnxZOp0lNd1y/9wWP9qx5c47H2DVjxtbog5Wbo3GjjUWIEpsJWs/CBSoINhNc
THFKvimVgPOcqz8vhyrobnUJAFEBH4AcDIydrCVBEEpwTKRhs1ww+Asrj+w+Am+/
1TMQfXpnym3KIQx9uaFqHPNFfb6/+6s5/xib2dJZMQKBgQD6tv0+SvFY9znxWp2x
IOQKJzPKfVWhtiLL1mSHmL1jR/WOFzoe8u4oKiYdyATECXGf/5bd4aOIRKxaFnDC
TUYBtoDFqejHlRjAjz280zASd/YB1TTk9LwPtxCF3DDXtuM2qRooCqO1gn7kSwBq
IpLT4H2edj/EA2CvP6V9QY3VVwKBgQDWbjSnZHq+LIO7582cY04bOSkhTCSh+kA2
wjp0C+ZriFlKoiwMQAz6D5YFGE2rhAeur00l01Emgtq+T0dcZ6k4o+JfUQZVS4Qp
AY1EoEGLG7XvjVJhB5Dpdjk5zso/6L5vpsroH4Cz3ejdE7YcdQmvEXzW5PS2lJpb
+DajDBIC8QKBgHoee8fF1T0SXuTS0JCghrLzWWS+G+HCx7wl1528pjMfr9ngMm00
wxBJR3umG7wpJXFbm27EI1WSrajL2WyrGvhmnt6o3juowf+5RccdzwKP8AIAid0j
4B5/esrY7+mCqbXMNHNgi1E0GP62EaOg54fQhx+SVYjyZDu4crFKJv3NAoGBALUD
u3dDn0pDEcHiYPQP8LOSgWIWgSYrt2GCfQ3RreZA5//U/xIoT8wYtDAA4DBV+JZC
bgHsbajw9e+JxVgAOh4SWtrT72C5qwtiv/qavjnMXr2ms1AtrusmXhCqvJlOxNRE
HS3uyhsMzbMzHJzRQCeFv7k49kvbDqNs2dKyMdJBAoGBAKyd19QDKgl14Qcfpyrt
NWufWVbukOFVJlh6XCxR9qyMZRAtw9cJbQshUfaOXxzh1H7soJ+Bq4ySW7MkzhCG
oDDsor1Y3hxiLCDctwdr8qX3F0je4ow7HftyFTlh5xtSbmYV/EnHpO40tuKBLqnA
ZPicQao+s/8DQwNr25oSL+kM
-----END PRIVATE KEY-----

ingress:
enabled: true
className: "nginx"
annotations:
cert-manager.io/cluster-issuer: letsencrypt
hosts:
- host: chart-example.local
paths:
- path: /
pathType: ImplementationSpecific
tls:
- secretName: chart-example-tls
hosts:
- chart-example.local

cert-manager:
enabled: true
17 changes: 0 additions & 17 deletions postal/ci/base-values.yaml

This file was deleted.

40 changes: 0 additions & 40 deletions postal/ci/ingress-values.yaml

This file was deleted.

20 changes: 0 additions & 20 deletions postal/ci/smtp-tls-values.yaml

This file was deleted.

12 changes: 10 additions & 2 deletions postal/templates/secret.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,14 @@ metadata:
{{- end }}
data:
mariadb-password: {{ .Values.mariadb.auth.password | b64enc | quote }}
signing-key: {{ .Values.global.signingKey | required "You must provide a global.signingKey value" | b64enc | quote }}
rails-secret-key: {{ .Values.global.railsSecretKey | required "You must provide a global.railsSecretKey value" | b64enc | quote }}
{{- if .Values.global.signingKey }}
signing-key: {{ .Values.global.signingKey | b64enc | quote }}
{{- else }}
signing-key: {{ genPrivateKey "rsa" | b64enc | quote }}
{{- end }}
{{- if .Values.global.railsSecretKey }}
rails-secret-key: {{ .Values.global.railsSecretKey | b64enc | quote }}
{{- else }}
rails-secret-key: {{ randAlphaNum 128 | b64enc | quote }}
{{- end }}
Comment thread
fredleger marked this conversation as resolved.
{{- end }}
10 changes: 10 additions & 0 deletions postal/templates/smtp/tls-cert.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,14 @@ spec:
name: {{ .Values.smtp.tls.certManager.issuer.name }}
kind: {{ .Values.smtp.tls.certManager.issuer.kind }}
group: {{ .Values.smtp.tls.certManager.issuer.group }}
{{- else if and .Values.smtp.tls.enabled (eq .Values.smtp.tls.source "self-signed") }}
{{- $ca := genCA "test-ca" 365 }}
{{- $cert := genSignedCert (index .Values.smtp.tls.hosts 0) nil nil 365 $ca }}
Comment thread
fredleger marked this conversation as resolved.
Outdated
Comment thread
fredleger marked this conversation as resolved.
Outdated
apiVersion: v1
kind: Secret
metadata:
name: {{ include "postal.smtp.fullname" . }}-tls
Comment thread
fredleger marked this conversation as resolved.
data:
tls.crt: {{ $cert.Cert | b64enc }}
tls.key: {{ $cert.Key | b64enc }}
{{- end }}
Loading
Loading