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
chart/.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/

24
chart/Chart.yaml Normal file
View File

@@ -0,0 +1,24 @@
apiVersion: v2
name: chart
description: A Helm chart for Kubernetes
# 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"

25
chart/templates/apps.yaml Normal file
View File

@@ -0,0 +1,25 @@
{{- range $app_name := .Values.tools -}}
---
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: {{ $app_name }}
namespace: argocd
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
project: tools
source:
repoURL: https://gitea.arcodange.duckdns.org/arcodange-org/tools
targetRevision: HEAD
path: {{ $app_name }}
destination:
server: https://kubernetes.default.svc
namespace: tools
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
{{ end }}

View File

@@ -0,0 +1,17 @@
# https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#projects
apiVersion: argoproj.io/v1alpha1
kind: AppProject
metadata:
name: tools
namespace: argocd
# Finalizer that ensures that project is not deleted until it is not referenced by any application
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
description: Arcodange tools (monitoring, cache, connection pool, secret management...)
sourceRepos:
- 'https://gitea.arcodange.duckdns.org/arcodange-org/tools'
# Only permit applications to deploy to the tools namespace in the same cluster
destinations:
- namespace: tools
server: https://kubernetes.default.svc

5
chart/values.yaml Normal file
View File

@@ -0,0 +1,5 @@
tools:
- pgbouncer
#- pgcat # trop contraignant: lister tous les databases/users et auth_type md5 uniquement
# - prometheus
# - hashicorp_vault