-
Notifications
You must be signed in to change notification settings - Fork 1
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
Conversation
Path: @@ -127,6 +127,9 @@
app.kubernetes.io/name: app-template
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>'; |
Path: @@ -127,6 +127,9 @@
app.kubernetes.io/name: app-template
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>'; |
Path: @@ -160,6 +160,9 @@
app.kubernetes.io/name: app-template
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"; |
Path: @@ -139,6 +139,9 @@
app.kubernetes.io/name: app-template
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>'; |
Path: @@ -117,6 +117,9 @@
cert-manager.io/cluster-issuer: ${CLUSTER_CERT}
external-dns.alpha.kubernetes.io/target: ipv4.${SECRET_DOMAIN}
external-dns/is-public: "true"
+ hajimari.io/enable: true
+ hajimari.io/group: Media
+ hajimari.io/icon: briefcasearrowupdown
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/tautulli/nord.css"></head>'; |
Path: @@ -139,6 +139,10 @@
app.kubernetes.io/name: app-template
annotations:
cert-manager.io/cluster-issuer: ${CLUSTER_CERT}
+ hajimari.io/appName: Sonarr Anime
+ 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>'; |
Path: @@ -1,166 +1 @@
----
-# Source: app-template/templates/common.yaml
-apiVersion: v1
-kind: Service
-metadata:
- name: app-template
- labels:
- app.kubernetes.io/service: app-template
- app.kubernetes.io/instance: app-template
- app.kubernetes.io/managed-by: Helm
- app.kubernetes.io/name: app-template
- annotations:
-spec:
- type: ClusterIP
- ports:
- - port: 7878
- targetPort: http
- protocol: TCP
- name: http
- selector:
- app.kubernetes.io/name: app-template
- app.kubernetes.io/instance: app-template
----
{}
-# Source: app-template/templates/common.yaml
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: app-template
- labels:
- app.kubernetes.io/instance: app-template
- app.kubernetes.io/managed-by: Helm
- app.kubernetes.io/name: app-template
-spec:
- revisionHistoryLimit: 3
- replicas: 1
- strategy:
- type: Recreate
- selector:
- matchLabels:
- app.kubernetes.io/name: app-template
- app.kubernetes.io/instance: app-template
- template:
- metadata:
- annotations:
- configmap.reloader.stakater.com/reload: cluster-config
- labels:
- app.kubernetes.io/name: app-template
- app.kubernetes.io/instance: app-template
- spec:
- serviceAccountName: default
- automountServiceAccountToken: true
- securityContext:
- fsGroup: 568
- fsGroupChangePolicy: OnRootMismatch
- runAsGroup: 568
- runAsUser: 568
- supplementalGroups:
- - 100
- dnsPolicy: ClusterFirst
- enableServiceLinks: true
- containers:
- - name: app-template
- image: "ghcr.io/onedr0p/radarr:4.2.4.6635@sha256:21d2d1cfc838f04167989076ac0505e09de110e1f5ea4dd955d5c46463577ad1"
- imagePullPolicy:
- env:
- - name: RADARR__API_KEY
- value: ${RADARR_UHD_APIKEY}
- - name: RADARR__APPLICATION_URL
- value: https://app-template.${SECRET_DOMAIN}
- - name: RADARR__INSTANCE_NAME
- value: Radarr4k
- - name: RADARR__LOG_LEVEL
- value: info
- - name: RADARR__PORT
- value: "7878"
- - name: TZ
- value: ${TIMEZONE}
- ports:
- - name: http
- containerPort: 7878
- protocol: TCP
- volumeMounts:
- - name: backup
- mountPath: /backup
- - name: config
- mountPath: /config
- - name: media
- mountPath: /media
- livenessProbe:
- tcpSocket:
- port: 7878
- initialDelaySeconds: 0
- failureThreshold: 3
- timeoutSeconds: 1
- periodSeconds: 10
- readinessProbe:
- tcpSocket:
- port: 7878
- initialDelaySeconds: 0
- failureThreshold: 3
- timeoutSeconds: 1
- periodSeconds: 10
- startupProbe:
- tcpSocket:
- port: 7878
- initialDelaySeconds: 0
- failureThreshold: 30
- timeoutSeconds: 1
- periodSeconds: 5
- resources:
- limits:
- memory: 2000Mi
- requests:
- cpu: 10m
- memory: 250Mi
- volumes:
- - name: backup
- nfs:
- server: ${NAS_NAME}
- path: /mnt/storage0/backup
- - name: config
- persistentVolumeClaim:
- claimName: radarr4k-config-v1
- - name: media
- nfs:
- server: ${NAS_NAME}
- path: /mnt/storage0/Data
----
-# Source: app-template/templates/common.yaml
-apiVersion: networking.k8s.io/v1
-kind: Ingress
-metadata:
- name: app-template
- labels:
- app.kubernetes.io/instance: app-template
- app.kubernetes.io/managed-by: Helm
- app.kubernetes.io/name: app-template
- annotations:
- cert-manager.io/cluster-issuer: ${CLUSTER_CERT}
- 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">
- <link rel="stylesheet" type="text/css" href="https://theme-park.${SECRET_DOMAIN}/css/addons/radarr/radarr-4k-logo/radarr-4k-logo.css">
- </head>';
- sub_filter_once on;
-spec:
- ingressClassName: nginx
- tls:
- - hosts:
- - "app-template.${SECRET_DOMAIN}"
- secretName: "app-template-tls"
- rules:
- - host: "app-template.${SECRET_DOMAIN}"
- http:
- paths:
- - path: "/"
- pathType: Prefix
- backend:
- service:
- name: app-template
- port:
- number: 7878 |
Path: @@ -139,6 +139,9 @@
app.kubernetes.io/name: app-template
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>'; |
Path: @@ -116,6 +116,9 @@
cert-manager.io/cluster-issuer: ${CLUSTER_CERT}
external-dns.alpha.kubernetes.io/target: ipv4.${SECRET_DOMAIN}
external-dns/is-public: "true"
+ hajimari.io/enable: true
+ hajimari.io/group: Media
+ hajimari.io/icon: eye
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/overseerr/nord.css"></head>'; |
Path: @@ -133,6 +133,9 @@
app.kubernetes.io/name: app-template
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>'; |
🦙 MegaLinter status:
|
Descriptor | Linter | Files | Fixed | Errors | Elapsed time |
---|---|---|---|---|---|
✅ COPYPASTE | jscpd | yes | no | 1.61s | |
✅ REPOSITORY | git_diff | yes | no | 0.02s | |
✅ REPOSITORY | secretlint | yes | no | 1.71s | |
prettier | 15 | 1 | 1.21s | ||
✅ YAML | yamllint | 15 | 0 | 0.59s |
See errors details in artifact MegaLinter reports on CI Job page
Set VALIDATE_ALL_CODEBASE: true
in mega-linter.yml to validate all sources, not only the diff
Path: @@ -127,6 +127,9 @@
app.kubernetes.io/name: app-template
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>'; |
Path: @@ -133,6 +133,9 @@
app.kubernetes.io/name: app-template
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>'; |
Path: @@ -139,6 +139,10 @@
app.kubernetes.io/name: app-template
annotations:
cert-manager.io/cluster-issuer: ${CLUSTER_CERT}
+ hajimari.io/appName: Sonarr Anime
+ 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>'; |
Path: @@ -127,6 +127,9 @@
app.kubernetes.io/name: app-template
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>'; |
Path: @@ -139,6 +139,10 @@
app.kubernetes.io/name: app-template
annotations:
cert-manager.io/cluster-issuer: ${CLUSTER_CERT}
+ hajimari.io/appName: Radarr 4k
+ 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 |
Path: @@ -139,6 +139,9 @@
app.kubernetes.io/name: app-template
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>'; |
Path: @@ -139,6 +139,9 @@
app.kubernetes.io/name: app-template
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>'; |
Path: @@ -116,6 +116,9 @@
cert-manager.io/cluster-issuer: ${CLUSTER_CERT}
external-dns.alpha.kubernetes.io/target: ipv4.${SECRET_DOMAIN}
external-dns/is-public: "true"
+ hajimari.io/enable: true
+ hajimari.io/group: Media
+ hajimari.io/icon: eye
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/overseerr/nord.css"></head>'; |
Path: @@ -117,6 +117,9 @@
cert-manager.io/cluster-issuer: ${CLUSTER_CERT}
external-dns.alpha.kubernetes.io/target: ipv4.${SECRET_DOMAIN}
external-dns/is-public: "true"
+ hajimari.io/enable: true
+ hajimari.io/group: Media
+ hajimari.io/icon: briefcasearrowupdown
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/tautulli/nord.css"></head>'; |
Path: @@ -160,6 +160,9 @@
app.kubernetes.io/name: app-template
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"; |
Path: @@ -127,6 +127,9 @@
app.kubernetes.io/name: app-template
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>'; |
Path: @@ -127,6 +127,9 @@
app.kubernetes.io/name: app-template
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>'; |
Path: @@ -116,6 +116,9 @@
cert-manager.io/cluster-issuer: ${CLUSTER_CERT}
external-dns.alpha.kubernetes.io/target: ipv4.${SECRET_DOMAIN}
external-dns/is-public: "true"
+ hajimari.io/enable: true
+ hajimari.io/group: Media
+ hajimari.io/icon: eye
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/overseerr/nord.css"></head>'; |
Path: @@ -139,6 +139,9 @@
app.kubernetes.io/name: app-template
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>'; |
Path: @@ -139,6 +139,10 @@
app.kubernetes.io/name: app-template
annotations:
cert-manager.io/cluster-issuer: ${CLUSTER_CERT}
+ hajimari.io/appName: Sonarr Anime
+ 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>'; |
Path: @@ -139,6 +139,9 @@
app.kubernetes.io/name: app-template
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>'; |
Path: @@ -139,6 +139,10 @@
app.kubernetes.io/name: app-template
annotations:
cert-manager.io/cluster-issuer: ${CLUSTER_CERT}
+ hajimari.io/appName: Radarr 4k
+ 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 |
Path: @@ -117,6 +117,9 @@
cert-manager.io/cluster-issuer: ${CLUSTER_CERT}
external-dns.alpha.kubernetes.io/target: ipv4.${SECRET_DOMAIN}
external-dns/is-public: "true"
+ hajimari.io/enable: true
+ hajimari.io/group: Media
+ hajimari.io/icon: briefcasearrowupdown
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/tautulli/nord.css"></head>'; |
Path: @@ -133,6 +133,9 @@
app.kubernetes.io/name: app-template
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>'; |
Description of the change
Add Hajimari to replace heimdall
Benefits
Adds dynamic home page
Possible drawbacks
none
Applicable issues
fixes: #125
Additional information