2020-11-15 21:42:02 +00:00
---
title: Manual Outpost deployment on Kubernetes
---
Use the following manifest, replacing all values surrounded with `__` .
2020-12-05 21:08:42 +00:00
Afterwards, configure the proxy provider to connect to `<service name>.<namespace>.svc.cluster.local` , and update your Ingress to connect to the `authentik-outpost` service.
2020-11-15 21:42:02 +00:00
```yaml
apiVersion: v1
kind: Secret
metadata:
2021-03-05 14:30:41 +00:00
labels:
app.kubernetes.io/instance: __OUTPOST_NAME__
app.kubernetes.io/managed-by: goauthentik.io
app.kubernetes.io/name: authentik-proxy
2021-12-21 19:52:08 +00:00
app.kubernetes.io/version: 2021.12.3
2021-03-05 14:30:41 +00:00
name: authentik-outpost-api
2020-11-15 21:42:02 +00:00
stringData:
2021-03-05 14:30:41 +00:00
authentik_host: "__AUTHENTIK_URL__"
authentik_host_insecure: "true"
token: "__AUTHENTIK_TOKEN__"
2020-11-15 21:42:02 +00:00
type: Opaque
---
apiVersion: v1
kind: Service
metadata:
2021-03-05 14:30:41 +00:00
labels:
app.kubernetes.io/instance: __OUTPOST_NAME__
app.kubernetes.io/managed-by: goauthentik.io
app.kubernetes.io/name: authentik-proxy
2021-12-21 19:52:08 +00:00
app.kubernetes.io/version: 2021.12.3
2021-03-05 14:30:41 +00:00
name: authentik-outpost
2020-11-15 21:42:02 +00:00
spec:
2021-03-05 14:30:41 +00:00
ports:
- name: http
2021-09-08 19:04:56 +01:00
port: 9000
2021-03-05 14:30:41 +00:00
protocol: TCP
targetPort: http
- name: https
2022-01-18 18:57:55 +00:00
port: 9443
2021-03-05 14:30:41 +00:00
protocol: TCP
targetPort: https
type: ClusterIP
selector:
app.kubernetes.io/managed-by: goauthentik.io
app.kubernetes.io/name: authentik-outpost
app.kubernetes.io/instance: __OUTPOST_NAME__
2020-11-15 21:42:02 +00:00
---
apiVersion: apps/v1
kind: Deployment
metadata:
2021-03-05 14:30:41 +00:00
labels:
app.kubernetes.io/instance: __OUTPOST_NAME__
app.kubernetes.io/managed-by: goauthentik.io
app.kubernetes.io/name: authentik-proxy
2021-12-21 19:52:08 +00:00
app.kubernetes.io/version: 2021.12.3
2021-03-05 14:30:41 +00:00
name: authentik-outpost
spec:
selector:
matchLabels:
app.kubernetes.io/instance: __OUTPOST_NAME__
app.kubernetes.io/managed-by: goauthentik.io
app.kubernetes.io/name: authentik-proxy
2021-12-21 19:52:08 +00:00
app.kubernetes.io/version: 2021.12.3
2021-03-05 14:30:41 +00:00
template:
metadata:
labels:
app.kubernetes.io/instance: __OUTPOST_NAME__
2020-12-05 21:08:42 +00:00
app.kubernetes.io/managed-by: goauthentik.io
app.kubernetes.io/name: authentik-proxy
2021-12-21 19:52:08 +00:00
app.kubernetes.io/version: 2021.12.3
2021-03-05 14:30:41 +00:00
spec:
containers:
- env:
- name: AUTHENTIK_HOST
valueFrom:
secretKeyRef:
key: authentik_host
name: authentik-outpost-api
- name: AUTHENTIK_TOKEN
valueFrom:
secretKeyRef:
key: token
name: authentik-outpost-api
- name: AUTHENTIK_INSECURE
valueFrom:
secretKeyRef:
key: authentik_host_insecure
name: authentik-outpost-api
2021-12-22 16:36:45 +00:00
image: ghcr.io/goauthentik/proxy:stable
2021-03-05 14:30:41 +00:00
name: proxy
ports:
2021-09-08 19:04:56 +01:00
- containerPort: 9000
2021-03-05 14:30:41 +00:00
name: http
protocol: TCP
2021-09-08 19:04:56 +01:00
- containerPort: 9443
2021-03-05 14:30:41 +00:00
name: https
protocol: TCP
---
2021-08-31 20:11:01 +01:00
apiVersion: networking.k8s.io/v1
2021-03-05 14:30:41 +00:00
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/affinity: cookie
nginx.ingress.kubernetes.io/proxy-buffer-size: 16k
nginx.ingress.kubernetes.io/proxy-buffers-number: "4"
traefik.ingress.kubernetes.io/affinity: "true"
labels:
app.kubernetes.io/instance: __OUTPOST_NAME__
app.kubernetes.io/managed-by: goauthentik.io
app.kubernetes.io/name: authentik-proxy
2021-12-21 19:52:08 +00:00
app.kubernetes.io/version: 2021.12.3
2021-03-05 14:30:41 +00:00
name: authentik-outpost
2020-11-15 21:42:02 +00:00
spec:
2021-03-05 14:30:41 +00:00
rules:
- host: __EXTERNAL_HOSTNAME__
http:
paths:
- backend:
2021-08-31 20:11:01 +01:00
service:
name: authentik-outpost
port:
name: http
2021-03-05 14:30:41 +00:00
path: /
2020-11-15 21:42:02 +00:00
```