feat: replace ansible templating with makejinja (#1156)

This commit is contained in:
Devin Buhl authored and GitHub committed 2024-01-14 23:03:02 -05:00
1 parent a4731906d9
commit f9481d6202
114 files changed
+555 -906

No files matched your search

@@ -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 %}
@@ -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 %}
@@ -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 %}