feat: migrate argocd from k8s manifests to argo-helm
This commit is contained in:
parent
c5c1dc9b42
commit
56a78aa73a
38 changed files with 438 additions and 69 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -15,4 +15,5 @@ terraform.rc
|
||||||
secrets.yaml
|
secrets.yaml
|
||||||
.env
|
.env
|
||||||
*~
|
*~
|
||||||
|
*.tgz
|
||||||
STABILITY.md
|
STABILITY.md
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ apiVersion: argoproj.io/v1alpha1
|
||||||
kind: Application
|
kind: Application
|
||||||
metadata:
|
metadata:
|
||||||
name: adguard
|
name: adguard
|
||||||
namespace: argocd
|
namespace: argo-cd
|
||||||
spec:
|
spec:
|
||||||
destination:
|
destination:
|
||||||
name: ''
|
name: ''
|
||||||
|
|
|
||||||
|
|
@ -3,11 +3,11 @@ apiVersion: argoproj.io/v1alpha1
|
||||||
kind: Application
|
kind: Application
|
||||||
metadata:
|
metadata:
|
||||||
name: argo
|
name: argo
|
||||||
namespace: argocd
|
namespace: argo-cd
|
||||||
spec:
|
spec:
|
||||||
destination:
|
destination:
|
||||||
name: ''
|
name: ''
|
||||||
namespace: argocd
|
namespace: argo-cd
|
||||||
server: https://kubernetes.default.svc
|
server: https://kubernetes.default.svc
|
||||||
sources:
|
sources:
|
||||||
- repoURL: https://git.roboces.dev/catalin/fukuops.git
|
- repoURL: https://git.roboces.dev/catalin/fukuops.git
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ apiVersion: argoproj.io/v1alpha1
|
||||||
kind: Application
|
kind: Application
|
||||||
metadata:
|
metadata:
|
||||||
name: authentik
|
name: authentik
|
||||||
namespace: argocd
|
namespace: argo-cd
|
||||||
spec:
|
spec:
|
||||||
destination:
|
destination:
|
||||||
name: ''
|
name: ''
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ apiVersion: argoproj.io/v1alpha1
|
||||||
kind: Application
|
kind: Application
|
||||||
metadata:
|
metadata:
|
||||||
name: democratic-csi
|
name: democratic-csi
|
||||||
namespace: argocd
|
namespace: argo-cd
|
||||||
spec:
|
spec:
|
||||||
destination:
|
destination:
|
||||||
name: ''
|
name: ''
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ apiVersion: argoproj.io/v1alpha1
|
||||||
kind: Application
|
kind: Application
|
||||||
metadata:
|
metadata:
|
||||||
name: forgejo
|
name: forgejo
|
||||||
namespace: argocd
|
namespace: argo-cd
|
||||||
annotations:
|
annotations:
|
||||||
argocd.argoproj.io/sync-options: Force=true,Replace=true
|
argocd.argoproj.io/sync-options: Force=true,Replace=true
|
||||||
spec:
|
spec:
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ apiVersion: argoproj.io/v1alpha1
|
||||||
kind: Application
|
kind: Application
|
||||||
metadata:
|
metadata:
|
||||||
name: huesoporro
|
name: huesoporro
|
||||||
namespace: argocd
|
namespace: argo-cd
|
||||||
spec:
|
spec:
|
||||||
destination:
|
destination:
|
||||||
name: ''
|
name: ''
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ apiVersion: argoproj.io/v1alpha1
|
||||||
kind: Application
|
kind: Application
|
||||||
metadata:
|
metadata:
|
||||||
name: immich
|
name: immich
|
||||||
namespace: argocd
|
namespace: argo-cd
|
||||||
spec:
|
spec:
|
||||||
destination:
|
destination:
|
||||||
name: ''
|
name: ''
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ apiVersion: argoproj.io/v1alpha1
|
||||||
kind: Application
|
kind: Application
|
||||||
metadata:
|
metadata:
|
||||||
name: kured
|
name: kured
|
||||||
namespace: argocd
|
namespace: argo-cd
|
||||||
spec:
|
spec:
|
||||||
destination:
|
destination:
|
||||||
name: ''
|
name: ''
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ apiVersion: argoproj.io/v1alpha1
|
||||||
kind: Application
|
kind: Application
|
||||||
metadata:
|
metadata:
|
||||||
name: meili
|
name: meili
|
||||||
namespace: argocd
|
namespace: argo-cd
|
||||||
spec:
|
spec:
|
||||||
destination:
|
destination:
|
||||||
name: ''
|
name: ''
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ apiVersion: argoproj.io/v1alpha1
|
||||||
kind: Application
|
kind: Application
|
||||||
metadata:
|
metadata:
|
||||||
name: miniflux
|
name: miniflux
|
||||||
namespace: argocd
|
namespace: argo-cd
|
||||||
spec:
|
spec:
|
||||||
destination:
|
destination:
|
||||||
name: ''
|
name: ''
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ apiVersion: argoproj.io/v1alpha1
|
||||||
kind: Application
|
kind: Application
|
||||||
metadata:
|
metadata:
|
||||||
name: oxicloud
|
name: oxicloud
|
||||||
namespace: argocd
|
namespace: argo-cd
|
||||||
spec:
|
spec:
|
||||||
destination:
|
destination:
|
||||||
name: ''
|
name: ''
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ apiVersion: argoproj.io/v1alpha1
|
||||||
kind: Application
|
kind: Application
|
||||||
metadata:
|
metadata:
|
||||||
name: portainer
|
name: portainer
|
||||||
namespace: argocd
|
namespace: argo-cd
|
||||||
spec:
|
spec:
|
||||||
destination:
|
destination:
|
||||||
name: ''
|
name: ''
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ apiVersion: argoproj.io/v1alpha1
|
||||||
kind: Application
|
kind: Application
|
||||||
metadata:
|
metadata:
|
||||||
name: renovate
|
name: renovate
|
||||||
namespace: argocd
|
namespace: argo-cd
|
||||||
spec:
|
spec:
|
||||||
destination:
|
destination:
|
||||||
name: ''
|
name: ''
|
||||||
|
|
|
||||||
78
k8s/argo-apps/rustical.yaml
Normal file
78
k8s/argo-apps/rustical.yaml
Normal file
|
|
@ -0,0 +1,78 @@
|
||||||
|
---
|
||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: rustical
|
||||||
|
namespace: argo-cd
|
||||||
|
spec:
|
||||||
|
destination:
|
||||||
|
name: ''
|
||||||
|
namespace: apps-roboces
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
|
sources:
|
||||||
|
- repoURL: git.roboces.dev/catalin/fukuops
|
||||||
|
chart: rustical
|
||||||
|
targetRevision: 0.1.2
|
||||||
|
helm:
|
||||||
|
valuesObject:
|
||||||
|
replicaCount: 1
|
||||||
|
securityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
runAsUser: 10000
|
||||||
|
runAsGroup: 10000
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- all
|
||||||
|
service:
|
||||||
|
type: LoadBalancer
|
||||||
|
port: 8001
|
||||||
|
ingress:
|
||||||
|
enabled: true
|
||||||
|
className: "traefik"
|
||||||
|
hosts:
|
||||||
|
- host: cal.roboces.dev
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 100m
|
||||||
|
memory: 128Mi
|
||||||
|
limits:
|
||||||
|
cpu: 500m
|
||||||
|
memory: 256Mi
|
||||||
|
livenessProbe:
|
||||||
|
tcpSocket:
|
||||||
|
port: 4000
|
||||||
|
initialDelaySeconds: 10
|
||||||
|
timeoutSeconds: 15
|
||||||
|
successThreshold: 1
|
||||||
|
failureThreshold: 3
|
||||||
|
periodSeconds: 10
|
||||||
|
readinessProbe:
|
||||||
|
tcpSocket:
|
||||||
|
port: 4000
|
||||||
|
initialDelaySeconds: 5
|
||||||
|
timeoutSeconds: 2
|
||||||
|
successThreshold: 1
|
||||||
|
failureThreshold: 3
|
||||||
|
periodSeconds: 10
|
||||||
|
persistence:
|
||||||
|
enabled: true
|
||||||
|
rustical:
|
||||||
|
oidc:
|
||||||
|
name: "Authentik"
|
||||||
|
issuer: "https://auth.fukurokuju.dev/application/o/rustical/"
|
||||||
|
claim_userid: "preffered_username"
|
||||||
|
scopes: '["openid", "profile", "groups"]'
|
||||||
|
allow_sign_up: "true"
|
||||||
|
frontend:
|
||||||
|
allow_password_login: "false"
|
||||||
|
secret:
|
||||||
|
existingSecretName: rustical
|
||||||
|
project: roboces
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: true
|
||||||
|
|
@ -3,7 +3,7 @@ apiVersion: argoproj.io/v1alpha1
|
||||||
kind: Application
|
kind: Application
|
||||||
metadata:
|
metadata:
|
||||||
name: sealed-secrets
|
name: sealed-secrets
|
||||||
namespace: argocd
|
namespace: argo-cd
|
||||||
spec:
|
spec:
|
||||||
destination:
|
destination:
|
||||||
name: ''
|
name: ''
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ apiVersion: argoproj.io/v1alpha1
|
||||||
kind: Application
|
kind: Application
|
||||||
metadata:
|
metadata:
|
||||||
name: tailscale
|
name: tailscale
|
||||||
namespace: argocd
|
namespace: argo-cd
|
||||||
spec:
|
spec:
|
||||||
destination:
|
destination:
|
||||||
name: ''
|
name: ''
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ apiVersion: argoproj.io/v1alpha1
|
||||||
kind: Application
|
kind: Application
|
||||||
metadata:
|
metadata:
|
||||||
name: vault-sm
|
name: vault-sm
|
||||||
namespace: argocd
|
namespace: argo-cd
|
||||||
spec:
|
spec:
|
||||||
destination:
|
destination:
|
||||||
name: ''
|
name: ''
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ apiVersion: argoproj.io/v1alpha1
|
||||||
kind: Application
|
kind: Application
|
||||||
metadata:
|
metadata:
|
||||||
name: vaultwarden
|
name: vaultwarden
|
||||||
namespace: argocd
|
namespace: argo-cd
|
||||||
spec:
|
spec:
|
||||||
destination:
|
destination:
|
||||||
name: ''
|
name: ''
|
||||||
|
|
|
||||||
8
k8s/charts/rustical/Chart.yaml
Normal file
8
k8s/charts/rustical/Chart.yaml
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
apiVersion: v2
|
||||||
|
name: rustical
|
||||||
|
description: A Helm chart for Rustical
|
||||||
|
type: application
|
||||||
|
version: 0.1.2
|
||||||
|
appVersion: 0.14.1
|
||||||
|
annotations:
|
||||||
|
artifacthub.io/images: "- name: rustical\n image: ghcr.io/lennart-k/rustical:0.14.1\n"
|
||||||
3
k8s/charts/rustical/README.md
Normal file
3
k8s/charts/rustical/README.md
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
# Rustical
|
||||||
|
|
||||||
|
A Helm chart for [Rustical](https://github.com/lennart-k/rustical), an LDAP address book application.
|
||||||
49
k8s/charts/rustical/templates/_helpers.tpl
Normal file
49
k8s/charts/rustical/templates/_helpers.tpl
Normal file
|
|
@ -0,0 +1,49 @@
|
||||||
|
{{/*
|
||||||
|
Expand the name of the chart.
|
||||||
|
*/}}
|
||||||
|
{{- define "rustical.name" -}}
|
||||||
|
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create a default fully qualified app name.
|
||||||
|
*/}}
|
||||||
|
{{- define "rustical.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.
|
||||||
|
*/}}
|
||||||
|
{{- define "rustical.chart" -}}
|
||||||
|
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Common labels
|
||||||
|
*/}}
|
||||||
|
{{- define "rustical.labels" -}}
|
||||||
|
helm.sh/chart: {{ include "rustical.chart" . }}
|
||||||
|
{{ include "rustical.selectorLabels" . }}
|
||||||
|
{{- if .Chart.AppVersion }}
|
||||||
|
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||||
|
{{- end }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Selector labels
|
||||||
|
*/}}
|
||||||
|
{{- define "rustical.selectorLabels" -}}
|
||||||
|
app.kubernetes.io/name: {{ include "rustical.name" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
{{- end }}
|
||||||
97
k8s/charts/rustical/templates/deployment.yaml
Normal file
97
k8s/charts/rustical/templates/deployment.yaml
Normal file
|
|
@ -0,0 +1,97 @@
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: {{ include "rustical.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "rustical.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
{{- if not .Values.autoscaling.enabled }}
|
||||||
|
replicas: {{ .Values.replicaCount }}
|
||||||
|
{{- end }}
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
{{- include "rustical.selectorLabels" . | nindent 6 }}
|
||||||
|
strategy:
|
||||||
|
rollingUpdate:
|
||||||
|
maxSurge: 50%
|
||||||
|
maxUnavailable: 50%
|
||||||
|
type: RollingUpdate
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
{{- with .Values.podAnnotations }}
|
||||||
|
annotations:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
labels:
|
||||||
|
{{- include "rustical.selectorLabels" . | nindent 8 }}
|
||||||
|
spec:
|
||||||
|
{{- with .Values.imagePullSecrets }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
securityContext:
|
||||||
|
{{- toYaml .Values.podSecurityContext | nindent 8 }}
|
||||||
|
containers:
|
||||||
|
- name: {{ .Chart.Name }}
|
||||||
|
securityContext:
|
||||||
|
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||||
|
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
|
||||||
|
imagePullPolicy: {{ .Values.image.pullpolicy }}
|
||||||
|
{{- if or .Values.secret.existingSecretName .Values.secret.enabled }}
|
||||||
|
envFrom:
|
||||||
|
- secretRef:
|
||||||
|
name: {{ .Values.secret.existingSecretName | default (include "rustical.fullname" .) }}
|
||||||
|
{{- end }}
|
||||||
|
env:
|
||||||
|
{{- range $key, $value := .Values.env }}
|
||||||
|
- name: {{ $key }}
|
||||||
|
value: {{ $value | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- range $section, $items := .Values.rustical }}
|
||||||
|
{{- range $key, $value := $items }}
|
||||||
|
{{- if not (eq $value nil) }}
|
||||||
|
- name: {{ printf "RUSTICAL_%s__%s" (upper $section) (upper $key) }}
|
||||||
|
value: {{ $value | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
containerPort: 4000
|
||||||
|
protocol: TCP
|
||||||
|
{{- if .Values.persistence.enabled }}
|
||||||
|
volumeMounts:
|
||||||
|
- name: data
|
||||||
|
mountPath: {{ .Values.persistence.mountPath }}
|
||||||
|
{{- end }}
|
||||||
|
livenessProbe:
|
||||||
|
{{- toYaml .Values.livenessProbe | nindent 12 }}
|
||||||
|
readinessProbe:
|
||||||
|
{{- toYaml .Values.readinessProbe | nindent 12 }}
|
||||||
|
resources:
|
||||||
|
{{- toYaml .Values.resources | nindent 12 }}
|
||||||
|
{{- if .Values.persistence.enabled }}
|
||||||
|
volumes:
|
||||||
|
- name: data
|
||||||
|
{{- if .Values.persistence.existingClaim }}
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: {{ .Values.persistence.existingClaim }}
|
||||||
|
{{- else }}
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: {{ include "rustical.fullname" . }}-pvc
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.nodeSelector }}
|
||||||
|
nodeSelector:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.affinity }}
|
||||||
|
affinity:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.tolerations }}
|
||||||
|
tolerations:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
restartPolicy: Always
|
||||||
|
automountServiceAccountToken: false
|
||||||
39
k8s/charts/rustical/templates/ingress.yaml
Normal file
39
k8s/charts/rustical/templates/ingress.yaml
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
{{- if .Values.ingress.enabled }}
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: {{ include "rustical.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "rustical.labels" . | nindent 4 }}
|
||||||
|
{{- with .Values.ingress.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
ingressClassName: {{ .Values.ingress.className }}
|
||||||
|
{{- 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 "rustical.fullname" $ }}
|
||||||
|
port:
|
||||||
|
number: {{ $.Values.service.port }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
14
k8s/charts/rustical/templates/pvc.yaml
Normal file
14
k8s/charts/rustical/templates/pvc.yaml
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) }}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: {{ include "rustical.fullname" . }}-pvc
|
||||||
|
labels:
|
||||||
|
{{- include "rustical.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: {{ .Values.persistence.size }}
|
||||||
|
{{- end }}
|
||||||
13
k8s/charts/rustical/templates/secret.yaml
Normal file
13
k8s/charts/rustical/templates/secret.yaml
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
{{- if and .Values.secret.enabled (not .Values.secret.existingSecretName) -}}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: {{ include "rustical.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "rustical.labels" . | nindent 4 }}
|
||||||
|
type: Opaque
|
||||||
|
stringData:
|
||||||
|
{{- range $key, $value := .Values.secret.data }}
|
||||||
|
{{ $key }}: {{ $value | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
15
k8s/charts/rustical/templates/service.yaml
Normal file
15
k8s/charts/rustical/templates/service.yaml
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: {{ include "rustical.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "rustical.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
type: {{ .Values.service.type }}
|
||||||
|
ports:
|
||||||
|
- port: {{ .Values.service.port }}
|
||||||
|
targetPort: {{ .Values.service.targetPort }}
|
||||||
|
protocol: TCP
|
||||||
|
name: http
|
||||||
|
selector:
|
||||||
|
{{- include "rustical.selectorLabels" . | nindent 4 }}
|
||||||
44
k8s/charts/rustical/values.yaml
Normal file
44
k8s/charts/rustical/values.yaml
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
replicaCount: 1
|
||||||
|
|
||||||
|
image:
|
||||||
|
repository: ghcr.io/lennart-k/rustical
|
||||||
|
pullpolicy: IfNotPresent
|
||||||
|
tag: ""
|
||||||
|
|
||||||
|
imagePullSecrets: []
|
||||||
|
podAnnotations: {}
|
||||||
|
podSecurityContext: {}
|
||||||
|
securityContext: {}
|
||||||
|
|
||||||
|
service:
|
||||||
|
type: ClusterIP
|
||||||
|
port: 4000
|
||||||
|
targetPort: 4000
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
resources: {}
|
||||||
|
|
||||||
|
livenessProbe: {}
|
||||||
|
readinessProbe: {}
|
||||||
|
|
||||||
|
autoscaling:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
nodeSelector: {}
|
||||||
|
tolerations: []
|
||||||
|
affinity: {}
|
||||||
|
|
||||||
|
rustical: {}
|
||||||
|
|
||||||
|
secret:
|
||||||
|
enabled: false
|
||||||
|
existingSecretName: ""
|
||||||
|
data: {}
|
||||||
|
|
||||||
|
persistence:
|
||||||
|
enabled: true
|
||||||
|
existingClaim: ""
|
||||||
|
size: "1Gi"
|
||||||
|
mountPath: /var/lib/rustical/
|
||||||
30
k8s/helm/argo-cd/values.yaml
Normal file
30
k8s/helm/argo-cd/values.yaml
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
---
|
||||||
|
global:
|
||||||
|
domain: argo.fuku
|
||||||
|
|
||||||
|
configs:
|
||||||
|
params:
|
||||||
|
server.insecure: true
|
||||||
|
|
||||||
|
server:
|
||||||
|
service:
|
||||||
|
type: LoadBalancer
|
||||||
|
servicePortHttp: 8002
|
||||||
|
servicePortHttps: 8003
|
||||||
|
|
||||||
|
redis:
|
||||||
|
image:
|
||||||
|
repository: docker.io/library/redis
|
||||||
|
tag: 8.2.3-alpine
|
||||||
|
|
||||||
|
repoServer:
|
||||||
|
livenessProbe:
|
||||||
|
initialDelaySeconds: 60
|
||||||
|
periodSeconds: 30
|
||||||
|
timeoutSeconds: 10
|
||||||
|
failureThreshold: 10
|
||||||
|
readinessProbe:
|
||||||
|
initialDelaySeconds: 30
|
||||||
|
periodSeconds: 30
|
||||||
|
timeoutSeconds: 10
|
||||||
|
failureThreshold: 10
|
||||||
|
|
@ -3,7 +3,7 @@ apiVersion: argoproj.io/v1alpha1
|
||||||
kind: Application
|
kind: Application
|
||||||
metadata:
|
metadata:
|
||||||
name: fukuops-appgen
|
name: fukuops-appgen
|
||||||
namespace: argocd
|
namespace: argo-cd
|
||||||
finalizers:
|
finalizers:
|
||||||
- resources-finalizer.argocd.argoproj.io
|
- resources-finalizer.argocd.argoproj.io
|
||||||
spec:
|
spec:
|
||||||
|
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: argocd-cmd-params-cm
|
|
||||||
namespace: argocd
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: argocd-cmd-params-cm
|
|
||||||
app.kubernetes.io/part-of: argocd
|
|
||||||
data:
|
|
||||||
server.insecure: 'true'
|
|
||||||
|
|
@ -3,24 +3,16 @@ apiVersion: traefik.io/v1alpha1
|
||||||
kind: IngressRoute
|
kind: IngressRoute
|
||||||
metadata:
|
metadata:
|
||||||
name: argocd-server
|
name: argocd-server
|
||||||
namespace: argocd
|
namespace: argo-cd
|
||||||
spec:
|
spec:
|
||||||
entryPoints:
|
entryPoints:
|
||||||
- websecure
|
- websecure
|
||||||
- web
|
|
||||||
routes:
|
routes:
|
||||||
- kind: Rule
|
- kind: Rule
|
||||||
match: Host(`argo.fuku`)
|
match: Host(`argo.fuku`)
|
||||||
priority: 10
|
priority: 10
|
||||||
services:
|
services:
|
||||||
- name: argocd-server
|
- name: argo-cd-argocd-server
|
||||||
port: 80
|
port: 8002
|
||||||
- kind: Rule
|
|
||||||
match: Host(`argo.fuku`) && Headers(`Content-Type`, `application/grpc`)
|
|
||||||
priority: 11
|
|
||||||
services:
|
|
||||||
- name: argocd-server
|
|
||||||
port: 80
|
|
||||||
scheme: h2c
|
|
||||||
tls:
|
tls:
|
||||||
certResolver: default
|
secretName: argocd-server-tls
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
apiVersion: argoproj.io/v1alpha1
|
apiVersion: argoproj.io/v1alpha1
|
||||||
kind: AppProject
|
kind: AppProject
|
||||||
metadata:
|
metadata:
|
||||||
namespace: argocd
|
namespace: argo-cd
|
||||||
name: fuku
|
name: fuku
|
||||||
spec:
|
spec:
|
||||||
destinations:
|
destinations:
|
||||||
|
|
|
||||||
|
|
@ -2,11 +2,11 @@
|
||||||
apiVersion: argoproj.io/v1alpha1
|
apiVersion: argoproj.io/v1alpha1
|
||||||
kind: AppProject
|
kind: AppProject
|
||||||
metadata:
|
metadata:
|
||||||
namespace: argocd
|
namespace: argo-cd
|
||||||
name: management
|
name: management
|
||||||
spec:
|
spec:
|
||||||
destinations:
|
destinations:
|
||||||
- namespace: argocd
|
- namespace: argo-cd
|
||||||
server: https://kubernetes.default.svc
|
server: https://kubernetes.default.svc
|
||||||
- namespace: democratic-csi
|
- namespace: democratic-csi
|
||||||
server: https://kubernetes.default.svc
|
server: https://kubernetes.default.svc
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
apiVersion: argoproj.io/v1alpha1
|
apiVersion: argoproj.io/v1alpha1
|
||||||
kind: AppProject
|
kind: AppProject
|
||||||
metadata:
|
metadata:
|
||||||
namespace: argocd
|
namespace: argo-cd
|
||||||
name: roboces
|
name: roboces
|
||||||
spec:
|
spec:
|
||||||
destinations:
|
destinations:
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,10 @@
|
||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Secret
|
kind: Secret
|
||||||
metadata:
|
|
||||||
name: fuku-services
|
|
||||||
namespace: argocd
|
|
||||||
labels:
|
|
||||||
argocd.argoproj.io/secret-type: repository
|
|
||||||
stringData:
|
|
||||||
url: https://gitlab.com/fukurokuju/k3s/services.git
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Secret
|
|
||||||
metadata:
|
metadata:
|
||||||
name: fukuops-repo
|
name: fukuops-repo
|
||||||
namespace: argocd
|
namespace: argo-cd
|
||||||
labels:
|
labels:
|
||||||
argocd.argoproj.io/secret-type: repository
|
argocd.argoproj.io/secret-type: repository
|
||||||
stringData:
|
stringData:
|
||||||
url: https://git.roboces.dev/catalin/fukuops.git
|
url: "https://git.roboces.dev/catalin/fukuops.git"
|
||||||
|
|
|
||||||
9
k8s/services/argo/tls-store.yaml
Normal file
9
k8s/services/argo/tls-store.yaml
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
---
|
||||||
|
apiVersion: traefik.io/v1alpha1
|
||||||
|
kind: TLSStore
|
||||||
|
metadata:
|
||||||
|
name: default
|
||||||
|
namespace: argo-cd
|
||||||
|
spec:
|
||||||
|
certificates:
|
||||||
|
- secretName: argocd-server-tls
|
||||||
|
|
@ -42,20 +42,11 @@ resource "adguard_rewrite" "ireul" {
|
||||||
answer = "192.168.1.6"
|
answer = "192.168.1.6"
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "adguard_rewrite" "argo_1" {
|
resource "adguard_rewrite" "argo" {
|
||||||
domain = "argo.fuku"
|
domain = "argo.fuku"
|
||||||
answer = "192.168.1.31"
|
answer = "192.168.1.12"
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "adguard_rewrite" "argo_2" {
|
|
||||||
domain = "argo.fuku"
|
|
||||||
answer = "192.168.1.32"
|
|
||||||
}
|
|
||||||
|
|
||||||
resource "adguard_rewrite" "argo_3" {
|
|
||||||
domain = "argo.fuku"
|
|
||||||
answer = "192.168.1.33"
|
|
||||||
}
|
|
||||||
resource "adguard_rewrite" "feeds" {
|
resource "adguard_rewrite" "feeds" {
|
||||||
domain = "feeds.roboces.dev"
|
domain = "feeds.roboces.dev"
|
||||||
answer = "192.168.1.12"
|
answer = "192.168.1.12"
|
||||||
|
|
@ -105,11 +96,18 @@ resource "adguard_rewrite" "pgadmin" {
|
||||||
domain = "pgadmin.fuku"
|
domain = "pgadmin.fuku"
|
||||||
answer = "192.168.1.12"
|
answer = "192.168.1.12"
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "adguard_rewrite" "d1" {
|
resource "adguard_rewrite" "d1" {
|
||||||
domain = "d1.fuku"
|
domain = "d1.fuku"
|
||||||
answer = "192.168.1.10"
|
answer = "192.168.1.10"
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "adguard_rewrite" "d2" {
|
resource "adguard_rewrite" "d2" {
|
||||||
domain = "d1.fuku"
|
domain = "d1.fuku"
|
||||||
answer = "192.168.1.13"
|
answer = "192.168.1.13"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
resource "adguard_rewrite" "vault" {
|
||||||
|
domain = "vault.roboces.dev"
|
||||||
|
answer = "192.168.1.12"
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue