diff --git a/charts/homepage/Chart.yaml b/charts/homepage/Chart.yaml deleted file mode 100644 index de62811..0000000 --- a/charts/homepage/Chart.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v2 -name: homepage -version: 0.0.15 -description: Chart for benphelps homepage -keywords: - - dashboard -sources: - - https://github.com/gethomepage/homepage -maintainers: - - name: alexlebens -icon: https://github.com/benphelps/homepage/blob/de584eae8f12a0d257e554e9511ef19bd2a1232c/public/mstile-150x150.png -appVersion: v0.8.13 diff --git a/charts/homepage/README.md b/charts/homepage/README.md deleted file mode 100644 index 47ca62e..0000000 --- a/charts/homepage/README.md +++ /dev/null @@ -1,18 +0,0 @@ -## Introduction - -[Homepage](https://github.com/benphelps/homepage) - -A modern (fully static, fast), secure (fully proxied), highly customizable application dashboard with integrations for more than 25 services and translations for over 15 languages. Easily configured via YAML files (or discovery via docker labels). - -This chart bootstraps a [Homepage](https://github.com/benphelps/homepage) deployment on a [Kubernetes](https://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager. - -## Prerequisites - -- Kubernetes -- Helm -- Traefik v2 / IngressRoute -- Authentik / Auth - -## Parameters - -See the [values files](values.yaml). diff --git a/charts/homepage/templates/cluster-role-binding.yaml b/charts/homepage/templates/cluster-role-binding.yaml deleted file mode 100644 index 0c27f64..0000000 --- a/charts/homepage/templates/cluster-role-binding.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: {{ .Release.Name }} - namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name: {{ .Release.Name }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/version: {{ .Chart.AppVersion }} - app.kubernetes.io/component: web - app.kubernetes.io/part-of: {{ .Release.Name }} -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: {{ .Release.Name }} -subjects: - - kind: ServiceAccount - name: homepage - namespace: {{ .Release.Namespace }} diff --git a/charts/homepage/templates/cluster-role.yaml b/charts/homepage/templates/cluster-role.yaml deleted file mode 100644 index c71cb25..0000000 --- a/charts/homepage/templates/cluster-role.yaml +++ /dev/null @@ -1,51 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: {{ .Release.Name }} - namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name: {{ .Release.Name }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/version: {{ .Chart.AppVersion }} - app.kubernetes.io/component: web - app.kubernetes.io/part-of: {{ .Release.Name }} -rules: - - apiGroups: - - "" - resources: - - namespaces - - pods - - nodes - verbs: - - get - - list - - apiGroups: - - extensions - - networking.k8s.io - resources: - - ingresses - verbs: - - get - - list - - apiGroups: - - traefik.containo.us - - traefik.io - resources: - - ingressroutes - verbs: - - get - - list - - apiGroups: - - metrics.k8s.io - resources: - - nodes - - pods - verbs: - - get - - list - - apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions/status - verbs: - - get diff --git a/charts/homepage/templates/config-map.yaml b/charts/homepage/templates/config-map.yaml deleted file mode 100644 index bcc1c82..0000000 --- a/charts/homepage/templates/config-map.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: homepage-config - namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name: homepage - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/version: {{ .Chart.AppVersion }} - app.kubernetes.io/component: web - app.kubernetes.io/part-of: homepage -data: - bookmarks.yaml: {{- if .Values.config.bookmarks }} | -{{- .Values.config.bookmarks | toYaml | nindent 4}} -{{- else }} "" -{{- end }} - docker.yaml: {{- if .Values.config.docker }} | -{{- .Values.config.docker | toYaml | nindent 4 }} -{{- else }} "" -{{- end }} - kubernetes.yaml: {{- if .Values.config.kubernetes }} | -{{- .Values.config.kubernetes | toYaml | nindent 4 }} -{{- else }} "" -{{- end }} - services.yaml: {{- if .Values.config.services }} | -{{- .Values.config.services | toYaml | nindent 4 }} -{{- else }} "" -{{- end }} - settings.yaml: {{- if .Values.config.settings }} | -{{- .Values.config.settings | toYaml | nindent 4 }} -{{- else }} "" -{{- end }} - widgets.yaml: {{- if .Values.config.widgets }} | -{{- .Values.config.widgets | toYaml | nindent 4 }} -{{- else }} "" -{{- end }} diff --git a/charts/homepage/templates/deployment.yaml b/charts/homepage/templates/deployment.yaml deleted file mode 100644 index 75b35ef..0000000 --- a/charts/homepage/templates/deployment.yaml +++ /dev/null @@ -1,99 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: homepage - namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name: homepage - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/version: {{ .Chart.AppVersion }} - app.kubernetes.io/component: web - app.kubernetes.io/part-of: homepage - annotations: - {{- with .Values.deployment.annotations }} - {{- toYaml . | nindent 4 }} - {{- end }} -spec: - revisionHistoryLimit: 3 - replicas: {{ .Values.deployment.replicas }} - strategy: - type: {{ .Values.deployment.strategy }} - selector: - matchLabels: - app.kubernetes.io/name: homepage - app.kubernetes.io/instance: {{ .Release.Name }} - template: - metadata: - labels: - app.kubernetes.io/name: homepage - app.kubernetes.io/instance: {{ .Release.Name }} - spec: - serviceAccountName: homepage - automountServiceAccountToken: true - containers: - - name: {{ .Release.Name }} - image: "{{ .Values.deployment.image.repository }}:{{ .Values.deployment.image.tag }}" - imagePullPolicy: {{ .Values.deployment.image.imagePullPolicy }} - ports: - - name: http - containerPort: {{ .Values.service.http.port }} - protocol: TCP - env: - {{- range $k,$v := .Values.deployment.env }} - - name: {{ $k }} - value: {{ $v | quote }} - {{- end }} - {{- with .Values.deployment.envFrom }} - envFrom: - {{- toYaml . | nindent 12 }} - {{- end }} - volumeMounts: - - name: homepage-config - subPath: bookmarks.yaml - mountPath: /app/config/bookmarks.yaml - - name: homepage-config - subPath: docker.yaml - mountPath: /app/config/docker.yaml - - name: homepage-config - subPath: kubernetes.yaml - mountPath: /app/config/kubernetes.yaml - - name: homepage-config - subPath: services.yaml - mountPath: /app/config/services.yaml - - name: homepage-config - subPath: settings.yaml - mountPath: /app/config/settings.yaml - - name: homepage-config - subPath: widgets.yaml - mountPath: /app/config/widgets.yaml - - name: logs - mountPath: /app/config/logs - resources: - {{- toYaml .Values.deployment.resources | nindent 12 }} - livenessProbe: - failureThreshold: 3 - initialDelaySeconds: 0 - periodSeconds: 10 - tcpSocket: - port: {{ .Values.service.http.port }} - timeoutSeconds: 1 - readinessProbe: - failureThreshold: 3 - initialDelaySeconds: 0 - periodSeconds: 10 - tcpSocket: - port: {{ .Values.service.http.port }} - timeoutSeconds: 1 - startupProbe: - failureThreshold: 30 - initialDelaySeconds: 0 - periodSeconds: 5 - tcpSocket: - port: {{ .Values.service.http.port }} - timeoutSeconds: 1 - volumes: - - name: homepage-config - configMap: - name: homepage-config - - name: logs - emptyDir: {} diff --git a/charts/homepage/templates/ingress-route.yaml b/charts/homepage/templates/ingress-route.yaml deleted file mode 100644 index 4a15fc7..0000000 --- a/charts/homepage/templates/ingress-route.yaml +++ /dev/null @@ -1,33 +0,0 @@ -apiVersion: traefik.io/v1alpha1 -kind: IngressRoute -metadata: - name: homepage - namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name: homepage - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/version: {{ .Chart.AppVersion }} - app.kubernetes.io/component: web - app.kubernetes.io/part-of: homepage -spec: - entryPoints: - - websecure - routes: - - kind: Rule - match: "Host(`{{ .Values.ingressRoute.host }}`)" - middlewares: - - name: "authentik-{{ .Release.Name }}" - namespace: {{ .Release.Namespace }} - priority: 10 - services: - - kind: Service - name: homepage - port: {{ .Values.service.http.port }} - - kind: Rule - match: "Host(`{{ .Values.ingressRoute.host }}`) && PathPrefix(`/outpost.goauthentik.io/`)" - priority: 15 - services: - - kind: Service - name: {{ .Values.ingressRoute.authentik.outpost }} - port: {{ .Values.ingressRoute.authentik.port }} - namespace: {{ .Values.ingressRoute.authentik.namespace }} diff --git a/charts/homepage/templates/middleware.yaml b/charts/homepage/templates/middleware.yaml deleted file mode 100644 index 13ff7ef..0000000 --- a/charts/homepage/templates/middleware.yaml +++ /dev/null @@ -1,27 +0,0 @@ -apiVersion: traefik.io/v1alpha1 -kind: Middleware -metadata: - name: "authentik-{{ .Release.Name }}" - namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name: {{ .Release.Name }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/version: {{ .Chart.AppVersion }} - app.kubernetes.io/component: auth - app.kubernetes.io/part-of: {{ .Release.Name }} -spec: - forwardAuth: - address: "http://{{ .Values.ingressRoute.authentik.outpost }}.authentik:{{ .Values.ingressRoute.authentik.port }}/outpost.goauthentik.io/auth/traefik" - trustForwardHeader: true - authResponseHeaders: - - X-authentik-username - - X-authentik-groups - - X-authentik-email - - X-authentik-name - - X-authentik-uid - - X-authentik-jwt - - X-authentik-meta-jwks - - X-authentik-meta-outpost - - X-authentik-meta-provider - - X-authentik-meta-app - - X-authentik-meta-version diff --git a/charts/homepage/templates/secret.yaml b/charts/homepage/templates/secret.yaml deleted file mode 100644 index 7f0d8bf..0000000 --- a/charts/homepage/templates/secret.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Secret -type: kubernetes.io/service-account-token -metadata: - name: "{{ .Release.Name }}-sa-token" - namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name: homepage - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/version: {{ .Chart.AppVersion }} - app.kubernetes.io/component: web - app.kubernetes.io/part-of: homepage - annotations: - kubernetes.io/service-account.name: homepage diff --git a/charts/homepage/templates/service-account.yaml b/charts/homepage/templates/service-account.yaml deleted file mode 100644 index 015eaac..0000000 --- a/charts/homepage/templates/service-account.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: ServiceAccount -metadata: - name: homepage - namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name: homepage - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/version: {{ .Chart.AppVersion }} - app.kubernetes.io/component: web - app.kubernetes.io/part-of: homepage -secrets: - - name: "{{ .Release.Name }}-sa-token" diff --git a/charts/homepage/templates/service.yaml b/charts/homepage/templates/service.yaml deleted file mode 100644 index 8a69ac5..0000000 --- a/charts/homepage/templates/service.yaml +++ /dev/null @@ -1,21 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: homepage - namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name: homepage - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/version: {{ .Chart.AppVersion }} - app.kubernetes.io/component: web - app.kubernetes.io/part-of: homepage -spec: - type: ClusterIP - ports: - - port: {{ .Values.service.http.port }} - targetPort: http - protocol: TCP - name: http - selector: - app.kubernetes.io/name: homepage - app.kubernetes.io/instance: {{ .Release.Name }} diff --git a/charts/homepage/values.yaml b/charts/homepage/values.yaml deleted file mode 100644 index 4c1420b..0000000 --- a/charts/homepage/values.yaml +++ /dev/null @@ -1,34 +0,0 @@ -deployment: - annotations: {} - replicas: 1 - strategy: Recreate - image: - repository: ghcr.io/gethomepage/homepage - tag: v0.8.13 - imagePullPolicy: IfNotPresent - env: - envFrom: - resources: - requests: - memory: 256Mi - cpu: 50m - limits: - memory: 512Mi - cpu: 500m -service: - http: - port: 3000 -ingressRoute: - host: "" - authentik: - outpost: "" - port: 9000 - namespace: "" -config: - bookmarks: - services: - widgets: - kubernetes: - mode: cluster - docker: - settings: