feat: replace ansible templating with makejinja (#1156)
This commit is contained in:
1 parent
a4731906d9
commit
f9481d6202
114 files changed
+555
-906
No files matched your search
+65
@@ -0,0 +1,65 @@
|
||||
{% if discord_template_notifier.enabled | default(false) %}
|
||||
---
|
||||
apiVersion: helm.toolkit.fluxcd.io/v2beta2
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: discord-template-notifier
|
||||
spec:
|
||||
interval: 15m
|
||||
chart:
|
||||
spec:
|
||||
chart: app-template
|
||||
version: 2.4.0
|
||||
interval: 30m
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: bjw-s
|
||||
namespace: flux-system
|
||||
maxHistory: 2
|
||||
install:
|
||||
createNamespace: true
|
||||
remediation:
|
||||
retries: 3
|
||||
upgrade:
|
||||
cleanupOnFail: true
|
||||
remediation:
|
||||
retries: 3
|
||||
uninstall:
|
||||
keepHistory: false
|
||||
values:
|
||||
controllers:
|
||||
main:
|
||||
annotations:
|
||||
reloader.stakater.com/auto: "true"
|
||||
containers:
|
||||
main:
|
||||
image:
|
||||
repository: ghcr.io/morphy2k/rss-forwarder
|
||||
tag: 0.6.1
|
||||
env:
|
||||
TZ: "${TIMEZONE}"
|
||||
probes:
|
||||
liveness: &disabled
|
||||
enabled: false
|
||||
readiness: *disabled
|
||||
startup: *disabled
|
||||
resources:
|
||||
requests:
|
||||
cpu: 5m
|
||||
memory: 10M
|
||||
limits:
|
||||
memory: 64M
|
||||
service:
|
||||
main: *disabled
|
||||
ingress:
|
||||
main: *disabled
|
||||
persistence:
|
||||
config:
|
||||
enabled: true
|
||||
type: secret
|
||||
name: discord-template-notifier-secret
|
||||
globalMounts:
|
||||
- path: /data/config.toml
|
||||
subPath: config.toml
|
||||
readOnly: true
|
||||
{% endif %}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
{% if discord_template_notifier.enabled | default(false) %}
|
||||
---
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- ./secret.sops.yaml
|
||||
- ./helmrelease.yaml
|
||||
{% endif %}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
{% if discord_template_notifier.enabled | default(false) %}
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: discord-template-notifier-secret
|
||||
type: Opaque
|
||||
stringData:
|
||||
config.toml: |-
|
||||
[feeds.github-template]
|
||||
url = "https://github.com/onedr0p/flux-cluster-template/commits/main/.atom"
|
||||
interval = "10m"
|
||||
retry_limit = 5
|
||||
sink.type = "discord"
|
||||
sink.url = "{{ discord_template_notifier.webhook_url }}"
|
||||
{% endif %}
|
||||
@@ -0,0 +1,22 @@
|
||||
{% if discord_template_notifier.enabled | default(false) %}
|
||||
---
|
||||
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||
kind: Kustomization
|
||||
metadata:
|
||||
name: &app discord-template-notifier
|
||||
namespace: flux-system
|
||||
spec:
|
||||
targetNamespace: default
|
||||
commonMetadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: *app
|
||||
path: ./kubernetes/apps/default/discord-template-notifier/app
|
||||
prune: true
|
||||
sourceRef:
|
||||
kind: GitRepository
|
||||
name: home-kubernetes
|
||||
wait: false
|
||||
interval: 30m
|
||||
retryInterval: 1m
|
||||
timeout: 5m
|
||||
{% endif %}
|
||||
@@ -0,0 +1,79 @@
|
||||
{% if homepage.enabled | default(false) %}
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: homepage-config
|
||||
labels:
|
||||
app.kubernetes.io/name: homepage
|
||||
data:
|
||||
bookmarks.yaml: |
|
||||
- Communitcate:
|
||||
- Discord:
|
||||
- icon: discord.png
|
||||
href: https://discord.com/app
|
||||
- Media:
|
||||
- YouTube:
|
||||
- icon: youtube.png
|
||||
href: https://youtube.com/feed/subscriptions
|
||||
- Reading:
|
||||
- Reddit:
|
||||
- icon: reddit.png
|
||||
href: https://reddit.com
|
||||
- Git:
|
||||
- kubesearch:
|
||||
- icon: kubernetes-dashboard.png
|
||||
href: https://kubesearch.dev
|
||||
- flux-cluster-template:
|
||||
- icon: github.png
|
||||
href: https://github.com/onedr0p/flux-cluster-template
|
||||
docker.yaml: ""
|
||||
kubernetes.yaml: |
|
||||
mode: cluster
|
||||
services.yaml: |
|
||||
- Network:
|
||||
- Cloudflared:
|
||||
href: https://dash.cloudflare.com
|
||||
icon: cloudflare-zero-trust.png
|
||||
description: Cloudflared Tunnel
|
||||
widget:
|
||||
type: cloudflared
|
||||
accountid: "{% raw %}{{HOMEPAGE_VAR_CLOUDFLARED_ACCOUNTID}}{% endraw %}"
|
||||
tunnelid: "{% raw %}{{ HOMEPAGE_VAR_CLOUDFLARED_TUNNELID}}{% endraw %}"
|
||||
key: "{% raw %}{{HOMEPAGE_VAR_CLOUDFLARED_API_TOKEN}}{% endraw %}"
|
||||
settings.yaml: |
|
||||
title: Dashboard
|
||||
theme: dark
|
||||
color: slate
|
||||
headerStyle: clean
|
||||
layout:
|
||||
Home:
|
||||
style: column
|
||||
icon: mdi-home-analytics
|
||||
Network:
|
||||
style: row
|
||||
columns: 3
|
||||
icon: mdi-server
|
||||
Observability:
|
||||
style: column
|
||||
icon: mdi-chart-line
|
||||
widgets.yaml: |
|
||||
- resources:
|
||||
backend: kubernetes
|
||||
cpu: true
|
||||
expanded: true
|
||||
memory: true
|
||||
- search:
|
||||
provider: ["duckduckgo"]
|
||||
focus: false
|
||||
target: _blank
|
||||
- greeting:
|
||||
text_size: xl
|
||||
text: "Welcome!"
|
||||
- datetime:
|
||||
text_size: l
|
||||
format:
|
||||
dateStyle: long
|
||||
timeStyle: short
|
||||
hourCycle: h23
|
||||
{% endif %}
|
||||
@@ -0,0 +1,90 @@
|
||||
{% if homepage.enabled | default(false) %}
|
||||
---
|
||||
apiVersion: helm.toolkit.fluxcd.io/v2beta2
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: homepage
|
||||
spec:
|
||||
interval: 30m
|
||||
chart:
|
||||
spec:
|
||||
chart: app-template
|
||||
version: 2.4.0
|
||||
interval: 30m
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: bjw-s
|
||||
namespace: flux-system
|
||||
maxHistory: 2
|
||||
install:
|
||||
createNamespace: true
|
||||
remediation:
|
||||
retries: 3
|
||||
upgrade:
|
||||
cleanupOnFail: true
|
||||
remediation:
|
||||
retries: 3
|
||||
uninstall:
|
||||
keepHistory: false
|
||||
values:
|
||||
controllers:
|
||||
main:
|
||||
annotations:
|
||||
reloader.stakater.com/auto: "true"
|
||||
containers:
|
||||
main:
|
||||
image:
|
||||
repository: ghcr.io/gethomepage/homepage
|
||||
tag: v0.8.4
|
||||
env:
|
||||
TZ: "${TIMEZONE}"
|
||||
envFrom:
|
||||
- secretRef:
|
||||
name: homepage-secret
|
||||
resources:
|
||||
requests:
|
||||
cpu: 15m
|
||||
memory: 250M
|
||||
limits:
|
||||
memory: 1G
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
http:
|
||||
port: 3000
|
||||
ingress:
|
||||
main:
|
||||
enabled: true
|
||||
className: internal
|
||||
hosts:
|
||||
- host: &host home.${SECRET_DOMAIN}
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
service:
|
||||
name: main
|
||||
port: http
|
||||
tls:
|
||||
- hosts:
|
||||
- *host
|
||||
persistence:
|
||||
config:
|
||||
enabled: true
|
||||
type: configMap
|
||||
name: homepage-config
|
||||
globalMounts:
|
||||
- subPath: bookmarks.yaml
|
||||
path: /app/config/bookmarks.yaml
|
||||
- subPath: docker.yaml
|
||||
path: /app/config/docker.yaml
|
||||
- subPath: kubernetes.yaml
|
||||
path: /app/config/kubernetes.yaml
|
||||
- subPath: services.yaml
|
||||
path: /app/config/services.yaml
|
||||
- subPath: settings.yaml
|
||||
path: /app/config/settings.yaml
|
||||
- subPath: widgets.yaml
|
||||
path: /app/config/widgets.yaml
|
||||
serviceAccount:
|
||||
create: true
|
||||
{% endif %}
|
||||
@@ -0,0 +1,9 @@
|
||||
{% if homepage.enabled | default(false) %}
|
||||
---
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- ./configmap.yaml
|
||||
- ./helmrelease.yaml
|
||||
- ./secret.sops.yaml
|
||||
{% endif %}
|
||||
@@ -0,0 +1,13 @@
|
||||
{% if homepage.enabled | default(false) %}
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: homepage-secret
|
||||
stringData:
|
||||
HOMEPAGE_VAR_CLOUDFLARED_ACCOUNTID: "{{ bootstrap_cloudflare_account_tag }}"
|
||||
HOMEPAGE_VAR_CLOUDFLARED_TUNNELID: "{{ bootstrap_cloudflare_tunnel_id }}"
|
||||
HOMEPAGE_VAR_CLOUDFLARED_API_TOKEN: "{{ bootstrap_cloudflare_token }}"
|
||||
HOMEPAGE_VAR_GRAFANA_USERNAME: admin
|
||||
HOMEPAGE_VAR_GRAFANA_PASSWORD: "{{ grafana.password }}"
|
||||
{% endif %}
|
||||
@@ -0,0 +1,22 @@
|
||||
{% if homepage.enabled | default(false) %}
|
||||
---
|
||||
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||
kind: Kustomization
|
||||
metadata:
|
||||
name: &app homepage
|
||||
namespace: flux-system
|
||||
spec:
|
||||
targetNamespace: default
|
||||
commonMetadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: *app
|
||||
path: ./kubernetes/apps/default/homepage/app
|
||||
prune: true
|
||||
sourceRef:
|
||||
kind: GitRepository
|
||||
name: home-kubernetes
|
||||
wait: false
|
||||
interval: 30m
|
||||
retryInterval: 1m
|
||||
timeout: 5m
|
||||
{% endif %}
|
||||
Reference in new issue
Block a user