feat: addon rss forwarder (#876)
Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
This commit is contained in:
1 parent
0cc281e7c9
commit
3af392c008
8 files changed
+152
No files matched your search
@@ -0,0 +1,45 @@
|
|||||||
|
---
|
||||||
|
- name: Set addon facts
|
||||||
|
ansible.builtin.set_fact:
|
||||||
|
addon_name: discord-template-notifier
|
||||||
|
addon_namespace: default
|
||||||
|
|
||||||
|
- name: Ensure directories exist for {{ addon_namespace }}/{{ addon_name }}
|
||||||
|
when: item.state == 'directory'
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "{{ repository_path }}/kubernetes/apps/{{ addon_namespace }}/{{ addon_name }}/{{ item.path }}"
|
||||||
|
state: directory
|
||||||
|
mode: "0755"
|
||||||
|
with_community.general.filetree: ["../templates/addons/{{ addon_name }}/"]
|
||||||
|
|
||||||
|
- name: Template unencrypted files for {{ addon_namespace }}/{{ addon_name }}
|
||||||
|
when: item.state == 'file' and 'sops' not in item.path
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: "{{ item.src }}"
|
||||||
|
dest: "{{ repository_path }}/kubernetes/apps/{{ addon_namespace }}/{{ addon_name }}/{{ item.path | replace('.j2', '') }}"
|
||||||
|
mode: "0644"
|
||||||
|
with_community.general.filetree: ["../templates/addons/{{ addon_name }}/"]
|
||||||
|
|
||||||
|
# https://github.com/ansible-collections/community.sops/issues/153
|
||||||
|
- name: Template encrypted files for {{ addon_namespace }}/{{ addon_name }}
|
||||||
|
block:
|
||||||
|
- name: Disable Sops config
|
||||||
|
ansible.builtin.include_tasks:
|
||||||
|
file: ../sops/disable.yaml
|
||||||
|
- name: Template encrypted files
|
||||||
|
when: item.state == 'file' and 'sops' in item.path
|
||||||
|
community.sops.sops_encrypt:
|
||||||
|
path: "{{ repository_path }}/kubernetes/apps/{{ addon_namespace }}/{{ addon_name }}/{{ item.path | replace('.j2', '') }}"
|
||||||
|
encrypted_regex: ^(data|stringData)$
|
||||||
|
age: ["{{ bootstrap_age_public_key }}"]
|
||||||
|
content_yaml: "{{ lookup('ansible.builtin.template', item.src) | from_yaml }}"
|
||||||
|
mode: "0644"
|
||||||
|
force: true
|
||||||
|
with_community.general.filetree: ["../templates/addons/{{ addon_name }}/"]
|
||||||
|
- name: Enable Sops config
|
||||||
|
ansible.builtin.include_tasks:
|
||||||
|
file: ../sops/enable.yaml
|
||||||
|
rescue:
|
||||||
|
- name: Enable Sops config
|
||||||
|
ansible.builtin.include_tasks:
|
||||||
|
file: ../sops/enable.yaml
|
||||||
@@ -27,3 +27,7 @@
|
|||||||
- name: Process addon weave-gitops
|
- name: Process addon weave-gitops
|
||||||
when: weave_gitops.enabled | default(false)
|
when: weave_gitops.enabled | default(false)
|
||||||
ansible.builtin.include_tasks: weave_gitops.yaml
|
ansible.builtin.include_tasks: weave_gitops.yaml
|
||||||
|
|
||||||
|
- name: Process addon discord-template-notifier
|
||||||
|
when: discord_template_notifier.enabled | default(false)
|
||||||
|
ansible.builtin.include_tasks: discord_template_notifier.yaml
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
---
|
||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2beta1
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: discord-template-notifier
|
||||||
|
namespace: default
|
||||||
|
spec:
|
||||||
|
interval: 15m
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: app-template
|
||||||
|
version: 1.5.1
|
||||||
|
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:
|
||||||
|
image:
|
||||||
|
repository: ghcr.io/morphy2k/rss-forwarder
|
||||||
|
tag: 0.6.1
|
||||||
|
env:
|
||||||
|
TZ: "${TIMEZONE}"
|
||||||
|
service:
|
||||||
|
main: &disableSvc
|
||||||
|
enabled: false
|
||||||
|
ingress:
|
||||||
|
main: *disableSvc
|
||||||
|
probes:
|
||||||
|
liveness: *disableSvc
|
||||||
|
readiness: *disableSvc
|
||||||
|
startup: *disableSvc
|
||||||
|
persistence:
|
||||||
|
data:
|
||||||
|
enabled: true
|
||||||
|
type: secret
|
||||||
|
name: discord-template-notifier-secret
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 15m
|
||||||
|
memory: 110M
|
||||||
|
limits:
|
||||||
|
cpu: 15m
|
||||||
|
memory: 110M
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
namespace: default
|
||||||
|
resources:
|
||||||
|
- ./secret.sops.yaml
|
||||||
|
- ./helmrelease.yaml
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: discord-template-notifier-secret
|
||||||
|
namespace: default
|
||||||
|
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 }}"
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
---
|
||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: cluster-apps-discord-template-notifier
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
path: ./kubernetes/apps/default/discord-template-notifier/app
|
||||||
|
prune: true
|
||||||
|
sourceRef:
|
||||||
|
kind: GitRepository
|
||||||
|
name: home-kubernetes
|
||||||
|
wait: false
|
||||||
|
interval: 30m
|
||||||
|
retryInterval: 1m
|
||||||
|
timeout: 5m
|
||||||
@@ -7,3 +7,6 @@ resources:
|
|||||||
{% if hajimari.enabled | default(false) %}
|
{% if hajimari.enabled | default(false) %}
|
||||||
- ./hajimari/ks.yaml
|
- ./hajimari/ks.yaml
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% if discord_template_notifier.enabled | default(false) %}
|
||||||
|
- ./discord-template-notifier/ks.yaml
|
||||||
|
{% endif %}
|
||||||
@@ -42,3 +42,10 @@ system_upgrade_controller:
|
|||||||
# ansible configuration files. Running ansible against an already provisioned
|
# ansible configuration files. Running ansible against an already provisioned
|
||||||
# cluster with this enabled might cause your cluster to be downgraded.
|
# cluster with this enabled might cause your cluster to be downgraded.
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
|
# https://github.com/morphy2k/rss-forwarder
|
||||||
|
discord_template_notifier:
|
||||||
|
# Will post commits from the template repository to the specified discord channel
|
||||||
|
# so it's easier to keep track of changes.
|
||||||
|
enabled: false
|
||||||
|
webhook_url: # Discord webhook url
|
||||||
Reference in new issue
Block a user