declare tools (#1)

Reviewed-on: https://gitea.arcodange.duckdns.org/arcodange-org/tools/pulls/1
Co-authored-by: Gabriel Radureau <arcodange@gmail.com>
Co-committed-by: Gabriel Radureau <arcodange@gmail.com>
This commit is contained in:
2024-09-01 23:04:57 +02:00
parent 9af9e41b0d
commit ddb0112696
27 changed files with 764 additions and 1 deletions

23
pgbouncer/.helmignore Normal file
View File

@@ -0,0 +1,23 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/

32
pgbouncer/Chart.yaml Normal file
View File

@@ -0,0 +1,32 @@
apiVersion: v2
name: pgbouncer
description: A Helm chart for Kubernetes
dependencies:
- name: tool
version: 0.1.0
repository: https://gitea.arcodange.duckdns.org/api/packages/arcodange-org/helm
- name: pgbouncer
version: 2.3.1
repository: https://icoretech.github.io/helm
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.1.0
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
# appVersion: "1.16.0"

7
pgbouncer/NOTES.txt Normal file
View File

@@ -0,0 +1,7 @@
Try connectivity with
kubectl run --rm -i postgres --image=postgres --env PGCONNECT_TIMEOUT=2 --env PGPASSWORD=pgbouncer_auth --restart=Never -- psql -h pgbouncer.tools -p 5432 -U 'pgbouncer_auth' -d postgres -tc "SELECT 1;"
kubectl run --rm -i postgres --image=postgres --env PGCONNECT_TIMEOUT=2 --env PGPASSWORD=admin --restart=Never -- psql -h pgbouncer.tools -p 5432 -U 'admin' -d pgbouncer -tc "SHOW DATABASES;"
kubectl run --rm -i postgres --image=postgres --env PGCONNECT_TIMEOUT=2 --env PGPASSWORD=pgbouncer_auth --restart=Never -- psql -h 192.168.1.202 -p 5432 -U 'pgbouncer_auth' -d postgres -tc "SELECT 1;"

View File

@@ -0,0 +1,3 @@
{{- if eq .Values.tool.kind "HelmChart" -}}
{{- include "tool.helm-chart-config.tpl" . -}}
{{- end -}}

View File

@@ -0,0 +1,3 @@
{{- if eq .Values.tool.kind "HelmChart" -}}
{{- include "tool.helm-chart.tpl" . -}}
{{- end -}}

24
pgbouncer/values.yaml Normal file
View File

@@ -0,0 +1,24 @@
pgbouncer: &pgbouncer_config
nodeSelector: kubernetes.io/hostname=pi2 # close to postgres instance
config:
adminUser: "admin"
adminPassword: "admin"
authUser: &authUser pgbouncer_auth
authPassword: *authUser
databases:
"*":
host: "192.168.1.202" # kubernetes.io/hostname=pi2 ip
port: 5432
pgbouncer:
auth_type: scram-sha-256
auth_query: SELECT uname, phash FROM user_lookup($1)
pgbouncerExporter:
enabled: false
tool:
# kind: 'SubChart' or 'HelmChart', if subchart then uncomment Chart.yaml dependency, else comment and use tool library with helm chart template
kind: 'SubChart'
repo: https://icoretech.github.io/helm
chart: pgbouncer
version: 2.3.1
values: *pgbouncer_config