diff --git a/kubernetes/apps/default/glance/app/configs/glance.yml b/kubernetes/apps/default/glance/app/configs/glance.yml new file mode 100644 index 000000000..12faa82ae --- /dev/null +++ b/kubernetes/apps/default/glance/app/configs/glance.yml @@ -0,0 +1,65 @@ +pages: + - name: Home + columns: + - size: small + widgets: + - type: calendar + + - type: rss + limit: 10 + collapse-after: 3 + cache: 3h + feeds: + - url: https://ciechanow.ski/atom.xml + - url: https://www.joshwcomeau.com/rss.xml + title: Josh Comeau + - url: https://samwho.dev/rss.xml + - url: https://awesomekling.github.io/feed.xml + - url: https://ishadeed.com/feed.xml + title: Ahmad Shadeed + + - type: twitch-channels + channels: + - theprimeagen + - cohhcarnage + - christitustech + - blurbs + - asmongold + - jembawls + + - size: full + widgets: + - type: hacker-news + + - type: videos + channels: + - UCR-DXc1voovS8nhAvccRZhg # Jeff Geerling + - UCv6J_jJa8GJqFwQNgNrMuww # ServeTheHome + - UCOk-gHyjcWZNj3Br4oxwh0A # Techno Tim + + - type: reddit + subreddit: selfhosted + + - size: small + widgets: + - type: weather + location: London, United Kingdom + + - type: markets + markets: + - symbol: SPY + name: S&P 500 + - symbol: BTC-USD + name: Bitcoin + - symbol: NVDA + name: NVIDIA + - symbol: AAPL + name: Apple + - symbol: MSFT + name: Microsoft + - symbol: GOOGL + name: Google + - symbol: AMD + name: AMD + - symbol: RDDT + name: Reddit diff --git a/kubernetes/apps/default/glance/app/helmrelease.yaml b/kubernetes/apps/default/glance/app/helmrelease.yaml new file mode 100644 index 000000000..753ce022a --- /dev/null +++ b/kubernetes/apps/default/glance/app/helmrelease.yaml @@ -0,0 +1,73 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2.schema.json +apiVersion: helm.toolkit.fluxcd.io/v2 +kind: HelmRelease +metadata: + name: &app glance +spec: + interval: 30m + chart: + spec: + chart: app-template + version: 3.5.1 + sourceRef: + kind: HelmRepository + name: bjw-s + namespace: flux-system + install: + remediation: + retries: 3 + upgrade: + cleanupOnFail: true + remediation: + strategy: rollback + retries: 3 + values: + defaultPodOptions: + securityContext: + runAsNonRoot: true + runAsUser: 1000 + runAsGroup: 1000 + fsGroup: 1000 + fsGroupChangePolicy: OnRootMismatch + controllers: + glance: + annotations: + reloader.stakater.com/auto: "true" + containers: + glance: + image: + repository: docker.io/glanceapp/glance + tag: v0.6.3@sha256:e84f27a7342af3f0ebba34bc3e3a251733f805f30f3c881e8c6656349a698db2 + args: + - --config + - /config/glance.yml + env: + TZ: America/Los_Angeles + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: { drop: ["ALL"] } + ingress: + glance: + className: internal + hosts: + - host: "${APP_SUBDOMAIN:-${APP}}.${PUBLIC_DOMAIN0}" + paths: + - path: / + service: + identifier: glance + port: http + service: + glance: + controller: glance + ports: + http: + port: 8080 + serviceAccount: + create: true + name: glance + persistence: + config: + type: configMap + name: glance-config diff --git a/kubernetes/apps/default/glance/app/kustomization.yaml b/kubernetes/apps/default/glance/app/kustomization.yaml new file mode 100644 index 000000000..64dfbf433 --- /dev/null +++ b/kubernetes/apps/default/glance/app/kustomization.yaml @@ -0,0 +1,16 @@ +--- +# yaml-language-server: $schema=https://json.schemastore.org/kustomization +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - ./helmrelease.yaml + - ../../../../templates/gatus/guarded +configMapGenerator: + - name: glance-config + files: + - ./configs/glance.yml + options: + annotations: + kustomize.toolkit.fluxcd.io/substitute: disabled +generatorOptions: + disableNameSuffixHash: true diff --git a/kubernetes/apps/default/glance/ks.yaml b/kubernetes/apps/default/glance/ks.yaml new file mode 100644 index 000000000..8ae070de4 --- /dev/null +++ b/kubernetes/apps/default/glance/ks.yaml @@ -0,0 +1,25 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/kustomization-kustomize-v1.json +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: &app glance + namespace: flux-system +spec: + targetNamespace: default + commonMetadata: + labels: + app.kubernetes.io/name: *app + dependsOn: + - name: cnpg-postgres16 + - name: external-secrets-stores + path: ./kubernetes/apps/default/glance/app + prune: true + sourceRef: + kind: GitRepository + name: home-kubernetes + wait: false + interval: 30m + postBuild: + substitute: + APP: *app diff --git a/kubernetes/apps/default/kustomization.yaml b/kubernetes/apps/default/kustomization.yaml index 2d004b9ad..0cf1dea7c 100644 --- a/kubernetes/apps/default/kustomization.yaml +++ b/kubernetes/apps/default/kustomization.yaml @@ -8,6 +8,7 @@ resources: # - ./autobrr/ks.yaml - ./buildkit/ks.yaml - ./dashbrr/ks.yaml + - ./glance/ks.yaml - ./gluetun/ks.yaml - ./homepage/ks.yaml - ./media-smb/ks.yaml