Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(hajimari): Add Hajimari to replace heimdall #126

Merged
merged 3 commits into from
Oct 4, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,9 @@ spec:
ingressClassName: "nginx"
annotations:
cert-manager.io/cluster-issuer: ${CLUSTER_CERT}
hajimari.io/enable: true
hajimari.io/group: Downloads
hajimari.io/icon: cloud-download
nginx.ingress.kubernetes.io/configuration-snippet: |
proxy_hide_header "x-webkit-csp";
proxy_hide_header "content-security-policy";
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: HelmRepository
metadata:
name: hajimari
namespace: flux-system
spec:
interval: 1h
url: https://hajimari.io
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,9 @@ spec:
ingressClassName: "nginx"
annotations:
cert-manager.io/cluster-issuer: ${CLUSTER_CERT}
hajimari.io/enable: true
hajimari.io/group: Media
hajimari.io/icon: translate
nginx.ingress.kubernetes.io/configuration-snippet: |
proxy_set_header Accept-Encoding "";
sub_filter '</head>' '<link rel="stylesheet" type="text/css" href="https://theme-park.${SECRET_DOMAIN}/css/base/bazarr/nord.css"></head>';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,9 @@ spec:
ingressClassName: "nginx"
annotations:
cert-manager.io/cluster-issuer: ${CLUSTER_CERT}
hajimari.io/enable: true
hajimari.io/group: Media
hajimari.io/icon: eye
external-dns.alpha.kubernetes.io/target: "ipv4.${SECRET_DOMAIN}"
external-dns/is-public: "true"
nginx.ingress.kubernetes.io/configuration-snippet: |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,9 @@ spec:
ingressClassName: "nginx"
annotations:
cert-manager.io/cluster-issuer: ${CLUSTER_CERT}
hajimari.io/enable: true
hajimari.io/group: Media
hajimari.io/icon: card-search
nginx.ingress.kubernetes.io/configuration-snippet: |
proxy_set_header Accept-Encoding "";
sub_filter '</head>' '<link rel="stylesheet" type="text/css" href="https://theme-park.${SECRET_DOMAIN}/css/base/prowlarr/nord.css"></head>';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,9 @@ spec:
ingressClassName: "nginx"
annotations:
cert-manager.io/cluster-issuer: ${CLUSTER_CERT}
hajimari.io/enable: true
hajimari.io/group: Media
hajimari.io/icon: filmstrip
nginx.ingress.kubernetes.io/configuration-snippet: |
proxy_set_header Accept-Encoding "";
sub_filter '</head>' '<link rel="stylesheet" type="text/css" href="https://theme-park.${SECRET_DOMAIN}/css/base/radarr/nord.css"></head>';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,10 @@ spec:
ingressClassName: "nginx"
annotations:
cert-manager.io/cluster-issuer: ${CLUSTER_CERT}
hajimari.io/enable: true
hajimari.io/group: Media
hajimari.io/icon: filmstrip
hajimari.io/appName: "Radarr 4k"
nginx.ingress.kubernetes.io/configuration-snippet: |
proxy_set_header Accept-Encoding "";
sub_filter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,9 @@ spec:
ingressClassName: "nginx"
annotations:
cert-manager.io/cluster-issuer: ${CLUSTER_CERT}
hajimari.io/enable: true
hajimari.io/group: Downloads
hajimari.io/icon: cloud-download
nginx.ingress.kubernetes.io/configuration-snippet: |
proxy_set_header Accept-Encoding "";
sub_filter '</head>' '<link rel="stylesheet" type="text/css" href="https://theme-park.${SECRET_DOMAIN}/css/base/sabnzbd/nord.css"></head>';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,9 @@ spec:
ingressClassName: "nginx"
annotations:
cert-manager.io/cluster-issuer: ${CLUSTER_CERT}
hajimari.io/enable: true
hajimari.io/group: Media
hajimari.io/icon: filmstrip
nginx.ingress.kubernetes.io/configuration-snippet: |
proxy_set_header Accept-Encoding "";
sub_filter '</head>' '<link rel="stylesheet" type="text/css" href="https://theme-park.${SECRET_DOMAIN}/css/base/sonarr/nord.css"></head>';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@ spec:
ingressClassName: "nginx"
annotations:
cert-manager.io/cluster-issuer: ${CLUSTER_CERT}
hajimari.io/enable: true
hajimari.io/group: Media
hajimari.io/icon: filmstrip
hajimari.io/appName: "Sonarr Anime"
nginx.ingress.kubernetes.io/configuration-snippet: |
proxy_set_header Accept-Encoding "";
sub_filter '</head>' '<link rel="stylesheet" type="text/css" href="https://theme-park.${SECRET_DOMAIN}/css/base/sonarr/nord.css"></head>';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,9 @@ spec:
ingressClassName: "nginx"
annotations:
cert-manager.io/cluster-issuer: ${CLUSTER_CERT}
hajimari.io/enable: true
hajimari.io/group: Media
hajimari.io/icon: briefcasearrowupdown
external-dns.alpha.kubernetes.io/target: "ipv4.${SECRET_DOMAIN}"
external-dns/is-public: "true"
nginx.ingress.kubernetes.io/configuration-snippet: |
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: hajimari-config
namespace: default
spec:
accessModes:
- ReadWriteOnce
storageClassName: local-path
resources:
requests:
storage: 128Mi
182 changes: 182 additions & 0 deletions k8s/namespaces/clusters/betty/web-tools/hajimari/helm-release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,182 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: &app hajimari
namespace: default
spec:
interval: 15m
chart:
spec:
chart: hajimari
version: 2.0.1
sourceRef:
kind: HelmRepository
name: hajimari
namespace: flux-system
interval: 15m
test:
enable: false
install:
remediation:
retries: 5
upgrade:
remediation:
retries: 5
remediateLastFailure: true
cleanupOnFail: true
rollback:
timeout: 10m
recreate: true
cleanupOnFail: true
values:
image:
repository: ghcr.io/toboshii/hajimari
tag: v0.3.1@sha256:2ee4cab12878fd0771092bf1b7e271f2715731d2ba60d92461f8010094cda994
hajimari:
name: Stephen
defaultEnable: true
title: *app
lightTheme: gazette
darkTheme: tron
showGreeting: true
showAppGroups: true
defaultAppIcon: mdi:application
alwaysTargetBlank: true
defaultSearchProvider: Google
namespaceSelector:
matchNames:
- media
- downloads
- web-tools
- networking
searchProviders:
- name: Google
token: g
icon: simple-icons:google
searchUrl: https://www.google.com/search?q={query}
url: https://www.google.com
- name: DuckDuckGo
token: d
icon: simple-icons:duckduckgo
searchUrl: https://duckduckgo.com/?q={query}
url: https://duckduckgo.com
- name: IMDB
token: i
icon: simple-icons:imdb
searchUrl: https://www.imdb.com/find?q={query}
url: https://www.imdb.com
- name: Reddit
token: r
icon: simple-icons:reddit
searchUrl: https://www.reddit.com/search?q={query}
url: https://www.reddit.com
- name: YouTube
token: 'y'
icon: simple-icons:youtube
searchUrl: https://www.youtube.com/results?search_query={query}
url: https://www.youtube.com
- name: Spotify
token: s
icon: simple-icons:spotify
searchUrl: hhttps://open.spotify.com/search/{query}
url: https://open.spotify.com
customApps:
- name: Some External Cluster Service
url: http://192.168.1.100:5000
icon: test-tube
globalBookmarks:
- group: Communicate
bookmarks:
- name: Discord
url: "https://discord.com"
- name: Gmail
url: "https://gmail.com"
- name: Slack
url: "https://slack.com/signin"
- group: Cloud
bookmarks:
- name: Box
url: "https://box.com"
- name: Dropbox
url: "https://dropbox.com"
- name: Drive
url: "https://drive.google.com"
- group: Design
bookmarks:
- name: Awwwards
url: "https://awwwards.com"
- name: Dribbble
url: "https://dribbble.com"
- name: Muz.li
url: "https://medium.muz.li/"
- group: Dev
bookmarks:
- name: Codepen
url: "https://codepen.io/"
- name: Devdocs
url: "https://devdocs.io"
- name: Devhints
url: "https://devhints.io"
- group: Lifestyle
bookmarks:
- name: Design Milk
url: "https://design-milk.com/category/interior-design/"
- name: Dwell
url: "https://www.dwell.com/"
- name: Freshome
url: "https://www.mymove.com/freshome/"
- group: Media
bookmarks:
- name: Spotify
url: "http://browse.spotify.com"
- name: Trakt
url: "http://trakt.tv"
- name: YouTube
url: "https://youtube.com/feed/subscriptions"
- group: Reading
bookmarks:
- name: Instapaper
url: "https://www.instapaper.com/u"
- name: Medium
url: "http://medium.com"
- name: Reddit
url: "http://reddit.com"
- group: Tech
bookmarks:
- name: Hacker News
url: "https://news.ycombinator.com/"
- name: The Verge
url: "https://theverge.com/"
- name: MIT Technology Review
url: "https://www.technologyreview.com/"
ingress:
main:
enabled: true
ingressClassName: "nginx"
annotations:
cert-manager.io/cluster-issuer: ${CLUSTER_CERT}
hajimari.io/enable: "true"
hajimari.io/icon: "weather-sunset"
nginx.ingress.kubernetes.io/whitelist-source-range: "10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"
hosts:
- host: &host "{{ .Release.Name }}.${SECRET_DOMAIN}"
paths:
- path: /
pathType: Prefix
tls:
- secretName: "{{ .Release.Name }}-tls"
hosts:
- *host
persistence:
data:
enabled: true
existingClaim: hajimari-config
podAnnotations:
configmap.reloader.stakater.com/reload: "hajimari-settings"
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
memory: 256Mi
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- config-pvc.yaml
- helm-release.yaml
27 changes: 27 additions & 0 deletions k8s/namespaces/overlays/betty/web-tools.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,33 @@ spec:
---
apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
kind: Kustomization
metadata:
name: web-tools-hajimari
namespace: flux-system
spec:
interval: 5m
path: "./k8s/namespaces/clusters/betty/web-tools/hajimari"
prune: true
wait: true
sourceRef:
kind: GitRepository
name: home-cluster
decryption:
provider: sops
secretRef:
name: sops-age
postBuild:
substitute: {}
substituteFrom:
- kind: ConfigMap
name: cluster-config
- kind: ConfigMap
name: global-config
- kind: Secret
name: cluster-secrets
---
apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
kind: Kustomization
metadata:
name: web-tools-theme-park
namespace: flux-system
Expand Down