convert homepage to app-template
This commit is contained in:
		| @@ -0,0 +1,19 @@ | ||||
| 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 }} | ||||
| @@ -0,0 +1,51 @@ | ||||
| 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 | ||||
| @@ -0,0 +1,33 @@ | ||||
| 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: {{ .Release.Name }} | ||||
| spec: | ||||
|   entryPoints: | ||||
|     - websecure | ||||
|   routes: | ||||
|     - kind: Rule | ||||
|       match: Host(`home.alexlebens.net`) | ||||
|       middlewares: | ||||
|         - name: "authentik-{{ .Release.Name }}" | ||||
|           namespace: authentik | ||||
|       priority: 10 | ||||
|       services: | ||||
|         - kind: Service | ||||
|           name: homepage | ||||
|           port: 80 | ||||
|     - kind: Rule | ||||
|       match: Host(`home.alexlebens.net`) && PathPrefix(`/outpost.goauthentik.io/`) | ||||
|       priority: 15 | ||||
|       services: | ||||
|         - kind: Service | ||||
|           name: authentik-outpost-proxy | ||||
|           port: 9000 | ||||
|           namespace: authentik | ||||
| @@ -0,0 +1,27 @@ | ||||
| apiVersion: traefik.io/v1alpha1 | ||||
| kind: Middleware | ||||
| metadata: | ||||
|   name: "authentik-{{ .Release.Name }}" | ||||
|   namespace: authentik | ||||
|   labels: | ||||
|     app.kubernetes.io/name: "authentik-{{ .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://authentik-outpost-proxy.authentik:9000/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 | ||||
							
								
								
									
										14
									
								
								clusters/cl01tl/applications/homepage/templates/secret.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								clusters/cl01tl/applications/homepage/templates/secret.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| apiVersion: v1 | ||||
| kind: Secret | ||||
| type: kubernetes.io/service-account-token | ||||
| metadata: | ||||
|   name: "{{ .Release.Name }}-sa-token" | ||||
|   namespace: {{ .Release.Namespace }} | ||||
|   labels: | ||||
|     app.kubernetes.io/name: "{{ .Release.Name }}-sa-token" | ||||
|     app.kubernetes.io/instance: {{ .Release.Name }} | ||||
|     app.kubernetes.io/version: {{ .Chart.AppVersion }} | ||||
|     app.kubernetes.io/component: web | ||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} | ||||
|   annotations: | ||||
|     kubernetes.io/service-account.name: homepage | ||||
		Reference in New Issue
	
	Block a user