feat(cluster): add multiple TrueCharts hosted service prototypes
This commit is contained in:
@@ -0,0 +1,78 @@
|
|||||||
|
---
|
||||||
|
# yaml-language-server: $schema=https://kubernetes-schemas.zinn.ca/helm.toolkit.fluxcd.io/helmrelease_v2beta1.json
|
||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: bitmagnet
|
||||||
|
namespace: bitmagnet
|
||||||
|
spec:
|
||||||
|
interval: 15m
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: bitmagnet
|
||||||
|
version: 3.3.0
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: truecharts
|
||||||
|
namespace: flux-system
|
||||||
|
interval: 15m
|
||||||
|
timeout: 20m
|
||||||
|
maxHistory: 3
|
||||||
|
install:
|
||||||
|
createNamespace: true
|
||||||
|
remediation:
|
||||||
|
retries: 3
|
||||||
|
upgrade:
|
||||||
|
cleanupOnFail: true
|
||||||
|
remediation:
|
||||||
|
retries: 3
|
||||||
|
uninstall:
|
||||||
|
keepHistory: false
|
||||||
|
values:
|
||||||
|
credentials:
|
||||||
|
s3:
|
||||||
|
type: s3
|
||||||
|
url: "${S3URL}"
|
||||||
|
bucket: "${S3PREFIX}-bitmagnet"
|
||||||
|
accessKey: "${S3ID}"
|
||||||
|
secretKey: "${S3KEY}"
|
||||||
|
encrKey: "${S3KEY}"
|
||||||
|
|
||||||
|
global:
|
||||||
|
stopAll: false
|
||||||
|
workload:
|
||||||
|
main:
|
||||||
|
podSpec:
|
||||||
|
containers:
|
||||||
|
main:
|
||||||
|
env:
|
||||||
|
TMDB_API_KEY: ${TMDB_API_KEY}
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
main:
|
||||||
|
enabled: true
|
||||||
|
integrations:
|
||||||
|
traefik:
|
||||||
|
enabled: true
|
||||||
|
middlewares:
|
||||||
|
- name: local
|
||||||
|
namespace: traefik
|
||||||
|
- name: bouncer
|
||||||
|
namespace: traefik
|
||||||
|
certManager:
|
||||||
|
enabled: true
|
||||||
|
certificateIssuer: ks-le-prod
|
||||||
|
hosts:
|
||||||
|
- host: bitmagnet.${BASE_DOMAIN}
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
cnpg:
|
||||||
|
main:
|
||||||
|
backups:
|
||||||
|
enabled: false
|
||||||
|
credentials: s3
|
||||||
|
|
||||||
|
recovery:
|
||||||
|
method: object_store
|
||||||
|
credentials: s3
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- helm-release.yaml
|
||||||
|
- namespace.yaml
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: bitmagnet
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: bitmagnet
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
interval: 10m
|
||||||
|
path: clusters/main/kubernetes/apps/bitmagnet/app
|
||||||
|
prune: true
|
||||||
|
sourceRef:
|
||||||
|
kind: GitRepository
|
||||||
|
name: truecharts
|
||||||
@@ -0,0 +1,72 @@
|
|||||||
|
---
|
||||||
|
# yaml-language-server: $schema=https://kubernetes-schemas.zinn.ca/helm.toolkit.fluxcd.io/helmrelease_v2beta1.json
|
||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: jackett
|
||||||
|
namespace: jackett
|
||||||
|
spec:
|
||||||
|
interval: 15m
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: jackett
|
||||||
|
version: 22.2.0
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: truecharts
|
||||||
|
namespace: flux-system
|
||||||
|
interval: 15m
|
||||||
|
timeout: 20m
|
||||||
|
maxHistory: 3
|
||||||
|
install:
|
||||||
|
createNamespace: true
|
||||||
|
remediation:
|
||||||
|
retries: 3
|
||||||
|
upgrade:
|
||||||
|
cleanupOnFail: true
|
||||||
|
remediation:
|
||||||
|
retries: 3
|
||||||
|
uninstall:
|
||||||
|
keepHistory: false
|
||||||
|
values:
|
||||||
|
credentials:
|
||||||
|
s3:
|
||||||
|
type: s3
|
||||||
|
url: "${S3URL}"
|
||||||
|
bucket: "${S3PREFIX}-jackett"
|
||||||
|
accessKey: "${S3ID}"
|
||||||
|
secretKey: "${S3KEY}"
|
||||||
|
encrKey: "${S3KEY}"
|
||||||
|
|
||||||
|
persistence:
|
||||||
|
config:
|
||||||
|
volsync:
|
||||||
|
- name: b2
|
||||||
|
type: restic
|
||||||
|
credentials: s3
|
||||||
|
dest:
|
||||||
|
enabled: true
|
||||||
|
cacheCapacity: 10Gi
|
||||||
|
src:
|
||||||
|
enabled: true
|
||||||
|
cacheCapacity: 10Gi
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
main:
|
||||||
|
enabled: true
|
||||||
|
integrations:
|
||||||
|
traefik:
|
||||||
|
enabled: true
|
||||||
|
middlewares:
|
||||||
|
- name: local
|
||||||
|
namespace: traefik
|
||||||
|
- name: bouncer
|
||||||
|
namespace: traefik
|
||||||
|
certManager:
|
||||||
|
enabled: true
|
||||||
|
certificateIssuer: ks-le-prod
|
||||||
|
hosts:
|
||||||
|
- host: jackett.${BASE_DOMAIN}
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- helm-release.yaml
|
||||||
|
- namespace.yaml
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: jackett
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: jackett
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
interval: 10m
|
||||||
|
path: clusters/main/kubernetes/apps/jackett/app
|
||||||
|
prune: true
|
||||||
|
sourceRef:
|
||||||
|
kind: GitRepository
|
||||||
|
name: truecharts
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- minecraft/ks.yaml
|
||||||
|
- vaultwarden/ks.yaml
|
||||||
|
- jackett/ks.yaml
|
||||||
|
- bitmagnet/ks.yaml
|
||||||
@@ -0,0 +1,321 @@
|
|||||||
|
---
|
||||||
|
# yaml-language-server: $schema=https://kubernetes-schemas.zinn.ca/helm.toolkit.fluxcd.io/helmrelease_v2beta1.json
|
||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: minecraft
|
||||||
|
namespace: minecraft
|
||||||
|
spec:
|
||||||
|
interval: 15m
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: minecraft-java
|
||||||
|
version: 11.0.2
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: truecharts
|
||||||
|
namespace: flux-system
|
||||||
|
interval: 15m
|
||||||
|
timeout: 20m
|
||||||
|
maxHistory: 3
|
||||||
|
install:
|
||||||
|
createNamespace: true
|
||||||
|
remediation:
|
||||||
|
retries: 3
|
||||||
|
upgrade:
|
||||||
|
cleanupOnFail: true
|
||||||
|
remediation:
|
||||||
|
retries: 3
|
||||||
|
uninstall:
|
||||||
|
keepHistory: false
|
||||||
|
values:
|
||||||
|
credentials:
|
||||||
|
s3:
|
||||||
|
type: s3
|
||||||
|
url: "${S3URL}"
|
||||||
|
bucket: "${S3PREFIX}-minecraft"
|
||||||
|
accessKey: "${S3ID}"
|
||||||
|
secretKey: "${S3KEY}"
|
||||||
|
encrKey: "${S3KEY}"
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
enabled: true
|
||||||
|
loadBalancerIP: ${MINECRAFT_IP}
|
||||||
|
type: LoadBalancer
|
||||||
|
ports:
|
||||||
|
main:
|
||||||
|
enabled: true
|
||||||
|
protocol: tcp
|
||||||
|
port: 25565
|
||||||
|
query:
|
||||||
|
enabled: true
|
||||||
|
protocol: udp
|
||||||
|
port: 25565
|
||||||
|
rcon:
|
||||||
|
enabled: true
|
||||||
|
loadBalancerIP: ${MINECRAFT_IP}
|
||||||
|
type: LoadBalancer
|
||||||
|
ports:
|
||||||
|
rcon:
|
||||||
|
enabled: true
|
||||||
|
port: 25575
|
||||||
|
dynmap:
|
||||||
|
enabled: true
|
||||||
|
loadBalancerIP: ${MINECRAFT_IP}
|
||||||
|
type: LoadBalancer
|
||||||
|
ports:
|
||||||
|
dynmap:
|
||||||
|
enabled: true
|
||||||
|
port: 8123
|
||||||
|
|
||||||
|
mcbackup:
|
||||||
|
# White spaced separated list
|
||||||
|
zstd_params:
|
||||||
|
- --long=25
|
||||||
|
- --single-thread
|
||||||
|
# comma separated list
|
||||||
|
excludes:
|
||||||
|
- "*.jar"
|
||||||
|
- "cache"
|
||||||
|
- "logs"
|
||||||
|
- "*.tmp"
|
||||||
|
podOptions:
|
||||||
|
terminationGracePeriodSeconds: 120
|
||||||
|
workload:
|
||||||
|
main:
|
||||||
|
podSpec:
|
||||||
|
containers:
|
||||||
|
main:
|
||||||
|
imageSelector: j17alpineImage
|
||||||
|
env:
|
||||||
|
ENABLE_QUERY: "true"
|
||||||
|
OVERRIDE_SERVER_PROPERTIES: true
|
||||||
|
VERSION: "1.20.1"
|
||||||
|
TYPE: "AUTO_CURSEFORGE"
|
||||||
|
FORGEVERSION: "forge-47.3.7"
|
||||||
|
CF_SLUG: "sixcraft"
|
||||||
|
# CF_MODPACK_ZIP: "/customdata/SixCraft-4.1.0.zip"
|
||||||
|
DIFFICULTY: hard
|
||||||
|
MAX_PLAYERS: 20
|
||||||
|
MAX_WORLD_SIZE: 1000000
|
||||||
|
ALLOW_NETHER: true
|
||||||
|
ANNOUNCE_PLAYER_ACHIEVEMENTS: true
|
||||||
|
ENABLE_COMMAND_BLOCK: false
|
||||||
|
FORCE_GAMEMODE: true
|
||||||
|
STOP_SERVER_ANNOUNCE_DELAY: 60
|
||||||
|
GENERATE_STRUCTURES: true
|
||||||
|
HARDCORE: false
|
||||||
|
MAX_BUILD_HEIGHT: 300
|
||||||
|
MAX_TICK_TIME: 90000
|
||||||
|
SPAWN_ANIMALS: true
|
||||||
|
SPAWN_MONSTERS: true
|
||||||
|
SPAWN_NPCS: true
|
||||||
|
VIEW_DISTANCE: 32
|
||||||
|
SPAWN_PROTECTION: 5
|
||||||
|
MODE: survival
|
||||||
|
MOTD: "Welcome to Six-Shooter Minecraft"
|
||||||
|
PVP: false
|
||||||
|
LEVEL_TYPE: DEFAULT
|
||||||
|
LEVEL: world
|
||||||
|
ONLINE_MODE: true
|
||||||
|
MAX_MEMORY: 12228M
|
||||||
|
INIT_MEMORY: 8096M
|
||||||
|
JVM_XX_OPTS: "-XX:MaxRAMPercentage=75"
|
||||||
|
RCON_PASSWORD: ${MC_RCON_PASS}
|
||||||
|
BROADCAST_CONSOLE_TO_OPS: true
|
||||||
|
USE_AIKAR_FLAGS: true
|
||||||
|
OPS: "99093856-888c-49e5-b7ea-6849c4012469,6253eb28-5be7-4c94-8936-701b9e257f0c"
|
||||||
|
WHITELIST: "99093856-888c-49e5-b7ea-6849c4012469,6253eb28-5be7-4c94-8936-701b9e257f0c,06fd4434-f41d-45bb-84a7-16c1138b62a8,497d6257-d336-4922-b5e0-3ee0fbe2b3d3"
|
||||||
|
EXISTING_OPS_FILE: "SYNCHRONIZE"
|
||||||
|
EXISTING_WHITELIST_FILE: "SYNCHRONIZE"
|
||||||
|
# PACKWIZ_URL: ""
|
||||||
|
# CUSTOM_SERVER: ""
|
||||||
|
# QUILT_LOADER_VERSION: ""
|
||||||
|
# QUILT_LAUNCHER: ""
|
||||||
|
# QUILT_LAUNCHER_URL: ""
|
||||||
|
# PUFFERFISH_BUILD: "lastSuccessfulBuild"
|
||||||
|
# FORGE_INSTALLER: ""
|
||||||
|
# FORGE_INSTALLER_URL: ""
|
||||||
|
# FABRIC_LOADER_VERSION: ""
|
||||||
|
# FABRIC_INSTALLER: ""
|
||||||
|
# FABRIC_INSTALLER_URL: ""
|
||||||
|
# SPIGOT_DOWNLOAD_URL: ""
|
||||||
|
# BUILD_FROM_SOURCE: false
|
||||||
|
# BUKKIT_DOWNLOAD_URL: ""
|
||||||
|
# PAPERBUILD: ""
|
||||||
|
# PAPER_DOWNLOAD_URL: ""
|
||||||
|
# AIRPLANE_BUILD: "lastSuccessfulBuild"
|
||||||
|
# MAGMA_CHANNEL: "stable"
|
||||||
|
# MOHIST_BUILD: ""
|
||||||
|
# CANYON_BUILD: ""
|
||||||
|
# SPONGEBRANCH: "STABLE"
|
||||||
|
# SPONGEVERSION: ""
|
||||||
|
# LIMBO_BUILD: "LATEST"
|
||||||
|
# LIMBO_SCHEMA_FILENAME: "default.schem"
|
||||||
|
# CRUCIBLE_RELEASE: "latest"
|
||||||
|
# FTB_MODPACK_ID: ""
|
||||||
|
# FTB_MODPACK_VERSION_ID: ""
|
||||||
|
# CF_SERVER_MOD: ""
|
||||||
|
# CF_BASE_DIR: ""
|
||||||
|
# USE_MODPACK_START_SCRIPT: true
|
||||||
|
# FTB_LEGACYJAVAFIXER: false
|
||||||
|
# WHITELIST: ""
|
||||||
|
# OPS: ""
|
||||||
|
# ICON: ""
|
||||||
|
SEED: "-1412583731547517931"
|
||||||
|
# GENERATOR_SETTINGS: ""
|
||||||
|
# WORLD: ""
|
||||||
|
# FORCE_REDOWNLOAD: false
|
||||||
|
# USE_FLARE_FLAGS: false
|
||||||
|
# USE_AIKAR_FLAGS: true
|
||||||
|
# USE_SIMD_FLAGS: false
|
||||||
|
# JVM_OPTS: ""
|
||||||
|
# JVM_XX_OPTS: ""
|
||||||
|
CF_API_KEY: "$2a$10$/${MINECRAFT_CF_API_KEY}"
|
||||||
|
# CF_PAGE_URL
|
||||||
|
# CF_SLUG
|
||||||
|
# CF_EXCLUDE_INCLUDE_FILE
|
||||||
|
# CF_EXCLUDE_MODS
|
||||||
|
# CF_FORCE_INCLUDE_MODS
|
||||||
|
# CF_FORCE_SYNCHRONIZE
|
||||||
|
# CF_OVERRIDES_SKIP_EXISTING
|
||||||
|
# CF_PARALLEL_DOWNLOADS
|
||||||
|
# CF_SET_LEVEL_FROM
|
||||||
|
mcbackup:
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
persistence:
|
||||||
|
data:
|
||||||
|
volsync:
|
||||||
|
- name: b2
|
||||||
|
type: restic
|
||||||
|
credentials: s3
|
||||||
|
dest:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
enabled: true
|
||||||
|
src:
|
||||||
|
enabled: true
|
||||||
|
enabled: true
|
||||||
|
size: 500Gi
|
||||||
|
targetSelector:
|
||||||
|
main:
|
||||||
|
main:
|
||||||
|
mountPath: /data
|
||||||
|
mcbackup:
|
||||||
|
mcbackup:
|
||||||
|
mountPath: /data
|
||||||
|
readOnly: true
|
||||||
|
dynmap:
|
||||||
|
enabled: true
|
||||||
|
storageClass: ceph-nvme2
|
||||||
|
size: 250Gi
|
||||||
|
targetSelector:
|
||||||
|
main:
|
||||||
|
main:
|
||||||
|
mountPath: /data/dynmap/web
|
||||||
|
#customdata:
|
||||||
|
# existingClaim: minecraft-serverdata-pvc
|
||||||
|
# enabled: true
|
||||||
|
# targetSelector:
|
||||||
|
# main:
|
||||||
|
# main:
|
||||||
|
# mountPath: /customdata
|
||||||
|
backups:
|
||||||
|
volsync:
|
||||||
|
- name: b2
|
||||||
|
type: restic
|
||||||
|
credentials: s3
|
||||||
|
dest:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
enabled: true
|
||||||
|
src:
|
||||||
|
enabled: true
|
||||||
|
enabled: true
|
||||||
|
storageClass: ceph-nvme2
|
||||||
|
size: 250Gi
|
||||||
|
targetSelector:
|
||||||
|
mcbackup:
|
||||||
|
mcbackup:
|
||||||
|
mountPath: /backups
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 10000m
|
||||||
|
memory: 14Gi
|
||||||
|
requests:
|
||||||
|
cpu: 1000m
|
||||||
|
memory: 5Gi
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
main:
|
||||||
|
enabled: true
|
||||||
|
primary: true
|
||||||
|
targetSelector:
|
||||||
|
dynmap: dynmap
|
||||||
|
hosts:
|
||||||
|
- host: dynmap.sixcraft.org
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
integrations:
|
||||||
|
certManager:
|
||||||
|
enabled: true
|
||||||
|
certificateIssuer: sc-le-prod
|
||||||
|
traefik:
|
||||||
|
enabled: true
|
||||||
|
middlewares:
|
||||||
|
- name: bouncer
|
||||||
|
namespace: traefik
|
||||||
|
#- name: auth
|
||||||
|
# namespace: traefik
|
||||||
|
entrypoints:
|
||||||
|
- websecure
|
||||||
|
enableFixedMiddlewares: true
|
||||||
|
forceTLS: true
|
||||||
|
allowCors: false
|
||||||
|
fixedMiddlewares:
|
||||||
|
- name: chain-basic
|
||||||
|
namespace: ""
|
||||||
|
|
||||||
|
cnpg:
|
||||||
|
main:
|
||||||
|
enabled: false
|
||||||
|
primary: true
|
||||||
|
# -- Puts the cnpg cluster in hibernation mode
|
||||||
|
hibernate: false
|
||||||
|
pgVersion: 16
|
||||||
|
mode: standalone
|
||||||
|
|
||||||
|
# Database details
|
||||||
|
database: “dynmap”
|
||||||
|
user: “dynmap
|
||||||
|
password: “minecraftdynmapPASSWORD"
|
||||||
|
|
||||||
|
# Database cluster configuration
|
||||||
|
cluster:
|
||||||
|
|
||||||
|
# Number of instances
|
||||||
|
instances: 1
|
||||||
|
|
||||||
|
# set to true on single-node clusters to allow PVCs to be kept on instance restart
|
||||||
|
singleNode: true
|
||||||
|
# # -- storage size for the data pvc's
|
||||||
|
# # Follows the same spec as .Values.Persistence type=PVC
|
||||||
|
storage:
|
||||||
|
storageClass: “ceph-nvme2”
|
||||||
|
# # -- storage size for the wal pvc's
|
||||||
|
# # Follows the same spec as .Values.Persistence type=PVC
|
||||||
|
walStorage:
|
||||||
|
storageClass: “ceph-nvme2”
|
||||||
|
|
||||||
|
|
||||||
|
# The instances' log level, one of the following values: error, warning, info (default), debug, trace
|
||||||
|
logLevel: info
|
||||||
|
|
||||||
|
backups:
|
||||||
|
enabled: true
|
||||||
|
credentials: s3
|
||||||
|
recovery:
|
||||||
|
method: object_store
|
||||||
|
credentials: s3
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- namespace.yaml
|
||||||
|
- helm-release.yaml
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: minecraft
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: minecraft
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
interval: 10m
|
||||||
|
path: clusters/main/kubernetes/apps/minecraft/app
|
||||||
|
prune: true
|
||||||
|
sourceRef:
|
||||||
|
kind: GitRepository
|
||||||
|
name: six-shooter
|
||||||
@@ -0,0 +1,171 @@
|
|||||||
|
---
|
||||||
|
# yaml-language-server: $schema=https://kubernetes-schemas.zinn.ca/helm.toolkit.fluxcd.io/helmrelease_v2beta1.json
|
||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: vaultwarden
|
||||||
|
namespace: vaultwarden
|
||||||
|
spec:
|
||||||
|
interval: 15m
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: vaultwarden
|
||||||
|
version: 28.4.2
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: truecharts
|
||||||
|
namespace: flux-system
|
||||||
|
interval: 15m
|
||||||
|
timeout: 20m
|
||||||
|
maxHistory: 3
|
||||||
|
install:
|
||||||
|
createNamespace: true
|
||||||
|
remediation:
|
||||||
|
retries: 3
|
||||||
|
upgrade:
|
||||||
|
cleanupOnFail: true
|
||||||
|
remediation:
|
||||||
|
retries: 3
|
||||||
|
uninstall:
|
||||||
|
keepHistory: false
|
||||||
|
values:
|
||||||
|
credentials:
|
||||||
|
s3:
|
||||||
|
type: s3
|
||||||
|
url: "${S3URL}"
|
||||||
|
bucket: "${S3PREFIX}-vaultwarden"
|
||||||
|
accessKey: "${S3ID}"
|
||||||
|
secretKey: "${S3KEY}"
|
||||||
|
encrKey: "${S3KEY}"
|
||||||
|
workload:
|
||||||
|
main:
|
||||||
|
replicas: 2
|
||||||
|
vaultwarden:
|
||||||
|
allowSignups: true
|
||||||
|
signupDomains:
|
||||||
|
- truecharts.org
|
||||||
|
- kjeldschouten.nl
|
||||||
|
verifySignup: true
|
||||||
|
requireEmail: true
|
||||||
|
allowInvitation: true
|
||||||
|
defaultInviteName: "TrueCharts"
|
||||||
|
showPasswordHint: true
|
||||||
|
enableWebVault: true
|
||||||
|
# Restrict creation of orgs. Options are: 'all', 'none' or a comma-separated list of users.
|
||||||
|
orgCreationUsers: all
|
||||||
|
## Limit attachment disk usage per organization.
|
||||||
|
# attachmentLimitOrg:
|
||||||
|
## Limit attachment disk usage per user.
|
||||||
|
# attachmentLimitUser:
|
||||||
|
## HaveIBeenPwned API Key. Can be purchased at https://haveibeenpwned.com/API/Key.
|
||||||
|
# hibpApiKey:
|
||||||
|
|
||||||
|
admin:
|
||||||
|
enabled: true
|
||||||
|
disableAdminToken: false
|
||||||
|
token: ${VWADMIN}
|
||||||
|
smtp:
|
||||||
|
enabled: true
|
||||||
|
host: "${SMTP}"
|
||||||
|
from: "noreply@truecharts.org"
|
||||||
|
fromName: "TrueCharts Vaultwarden"
|
||||||
|
security: starttls
|
||||||
|
port: 587
|
||||||
|
# authMechanism: Plain
|
||||||
|
# heloName: ""
|
||||||
|
user: "${ICLOGIN}"
|
||||||
|
password: "${ICPASS}"
|
||||||
|
yubico:
|
||||||
|
enabled: false
|
||||||
|
## Yubico server. Defaults to YubiCloud.
|
||||||
|
# server:
|
||||||
|
## Yubico ID and Secret Key.
|
||||||
|
# clientId:
|
||||||
|
# secretKey:
|
||||||
|
push:
|
||||||
|
enabled: true
|
||||||
|
installationId: ${BWPUSHID}
|
||||||
|
installationKey: ${BWPUSHKEY}
|
||||||
|
log:
|
||||||
|
# Log level. Options are "trace", "debug", "info", "warn", "error" or "off".
|
||||||
|
level: "trace"
|
||||||
|
icons:
|
||||||
|
cache: 0
|
||||||
|
|
||||||
|
persistence:
|
||||||
|
data:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
storageClass: ceph-filesystem-nvme-3
|
||||||
|
volsync:
|
||||||
|
- name: b2
|
||||||
|
type: restic
|
||||||
|
credentials: s3
|
||||||
|
dest:
|
||||||
|
volumeSnapshotClassName: csi-ceph-filesystem
|
||||||
|
storageClassName: ceph-filesystem-nvme-3
|
||||||
|
enabled: true
|
||||||
|
src:
|
||||||
|
volumeSnapshotClassName: csi-ceph-filesystem
|
||||||
|
storageClassName: ceph-filesystem-nvme-3
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
main:
|
||||||
|
enabled: true
|
||||||
|
integrations:
|
||||||
|
certManager:
|
||||||
|
enabled: true
|
||||||
|
certificateIssuer: tc-le-prod
|
||||||
|
traefik:
|
||||||
|
enabled: true
|
||||||
|
middlewares:
|
||||||
|
- name: bouncer
|
||||||
|
namespace: traefik
|
||||||
|
hosts:
|
||||||
|
- host: vaultwarden.${BASE_DOMAIN2}
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
admin:
|
||||||
|
enabled: true
|
||||||
|
primary: false
|
||||||
|
targetSelector:
|
||||||
|
main: main
|
||||||
|
hosts:
|
||||||
|
- host: vaultwarden.${BASE_DOMAIN2}
|
||||||
|
paths:
|
||||||
|
- path: /admin
|
||||||
|
pathType: Prefix
|
||||||
|
integrations:
|
||||||
|
certManager:
|
||||||
|
enabled: true
|
||||||
|
certificateIssuer: tc-le-prod
|
||||||
|
traefik:
|
||||||
|
enabled: true
|
||||||
|
middlewares:
|
||||||
|
- name: local
|
||||||
|
namespace: traefik
|
||||||
|
- name: bouncer
|
||||||
|
namespace: traefik
|
||||||
|
- name: auth
|
||||||
|
namespace: traefik
|
||||||
|
entrypoints:
|
||||||
|
- websecure
|
||||||
|
enableFixedMiddlewares: true
|
||||||
|
forceTLS: true
|
||||||
|
allowCors: false
|
||||||
|
fixedMiddlewares:
|
||||||
|
- name: chain-basic
|
||||||
|
namespace: ""
|
||||||
|
|
||||||
|
|
||||||
|
cnpg:
|
||||||
|
main:
|
||||||
|
# mode: recovery
|
||||||
|
backups:
|
||||||
|
enabled: true
|
||||||
|
credentials: s3
|
||||||
|
recovery:
|
||||||
|
method: object_store
|
||||||
|
credentials: s3
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- namespace.yaml
|
||||||
|
- helm-release.yaml
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: vaultwarden
|
||||||
|
labels:
|
||||||
|
pod-security.kubernetes.io/enforce: privileged
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: vaultwarden
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
interval: 10m
|
||||||
|
path: clusters/main/kubernetes/apps/vaultwarden/app
|
||||||
|
prune: true
|
||||||
|
sourceRef:
|
||||||
|
kind: GitRepository
|
||||||
|
name: truecharts
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
---
|
||||||
|
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json
|
||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: six-shooter-flux-entry
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
interval: 10m
|
||||||
|
path: ./clusters/main/kubernetes
|
||||||
|
prune: true
|
||||||
|
sourceRef:
|
||||||
|
kind: GitRepository
|
||||||
|
name: six-shooter
|
||||||
|
decryption:
|
||||||
|
provider: sops
|
||||||
|
secretRef:
|
||||||
|
name: sops-age
|
||||||
|
postBuild:
|
||||||
|
substituteFrom:
|
||||||
|
- kind: ConfigMap
|
||||||
|
name: cluster-config
|
||||||
|
patches:
|
||||||
|
- patch: |-
|
||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: not-used
|
||||||
|
spec:
|
||||||
|
decryption:
|
||||||
|
provider: sops
|
||||||
|
secretRef:
|
||||||
|
name: sops-age
|
||||||
|
postBuild:
|
||||||
|
substituteFrom:
|
||||||
|
- kind: ConfigMap
|
||||||
|
name: cluster-config
|
||||||
|
target:
|
||||||
|
group: kustomize.toolkit.fluxcd.io
|
||||||
|
kind: Kustomization
|
||||||
|
labelSelector: substitution.flux.home.arpa/disabled notin (true)
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- apps
|
||||||
Reference in New Issue
Block a user