Compare commits

...

19 Commits

Author SHA1 Message Date
gitea-admin d552a2b03a feat: create apps namespace
Validate Manifests / validate (pull_request) Has been cancelled
2026-05-17 13:45:55 +00:00
gitea-admin f489715864 Merge pull request 'deploy whoami test server' (#47) from orion/auto/deploy-whoami-test-server-1779024941578 into main
Reviewed-on: #47
2026-05-17 13:37:04 +00:00
gitea-admin 2a90fa8c53 deploy whoami test server
Validate Manifests / validate (pull_request) Has been cancelled
2026-05-17 13:35:42 +00:00
gitea-admin efb5abae5e deploy whoami test server 2026-05-17 13:35:42 +00:00
gitea-admin 72194bf59f deploy whoami test server 2026-05-17 13:35:41 +00:00
gitea-admin 7402e16cf4 feat: add ExternalSecret for tailscale operator OAuth credentials 2026-05-17 01:58:52 +00:00
gitea-admin 6f560c8c68 fix: add tailscale namespace manifest so ArgoCD can manage it 2026-05-17 01:57:23 +00:00
gitea-admin e29c00cae0 fix: correct env var names for tailscale operator OAuth (CLIENT_ID_FILE not TS_CLIENT_ID_FILE) 2026-05-17 01:55:59 +00:00
gitea-admin 81481bf274 chore: remove duplicate tailscale manifests from Alpha PR spam 2026-05-17 01:55:46 +00:00
gitea-admin e88ee7c408 chore: remove duplicate tailscale manifests from Alpha PR spam 2026-05-17 01:55:43 +00:00
gitea-admin 47368da4e3 chore: remove duplicate tailscale manifests from Alpha PR spam 2026-05-17 01:55:39 +00:00
gitea-admin a4db5a303d fix: update ExternalSecret apiVersion to v1 2026-05-17 01:50:48 +00:00
gitea-admin 294fe564da Merge pull request 'feat: migrate tailscale-operator to OAuth auth mode' (#45) from orion/auto/feat-migrate-tailscale-operator-to-oauth-1778979641646 into main
Reviewed-on: #45
2026-05-17 01:01:11 +00:00
gitea-admin e39182ecbf feat: migrate tailscale-operator to OAuth auth mode
Validate Manifests / validate (pull_request) Has been cancelled
2026-05-17 01:00:41 +00:00
gitea-admin f881ff31dc Merge pull request 'fix: migrate tailscale-operator to OAuth auth mode' (#44) from orion/auto/fix-migrate-tailscale-operator-to-oauth--1778979071556 into main
Reviewed-on: #44
2026-05-17 00:51:47 +00:00
gitea-admin dddd39e385 fix: migrate tailscale-operator to OAuth auth mode
Validate Manifests / validate (pull_request) Has been cancelled
2026-05-17 00:51:11 +00:00
gitea-admin bf88086a3d Merge pull request 'fix: add OAuth config to tailscale-operator deployment' (#38) from orion/auto/fix-add-oauth-config-to-tailscale-operat-1778977929419 into main
Reviewed-on: #38
2026-05-17 00:32:28 +00:00
gitea-admin df571132b7 fix: add OAuth config to tailscale-operator deployment
Validate Manifests / validate (pull_request) Has been cancelled
2026-05-17 00:32:09 +00:00
gitea-admin c4684fb0cf Merge pull request 'feat: migrate tailscale-operator to OAuth auth mode' (#37) from orion/auto/feat-migrate-tailscale-operator-to-oauth-1778968649055 into main
Reviewed-on: #37
2026-05-17 00:27:14 +00:00
11 changed files with 96 additions and 133 deletions
+6
View File
@@ -0,0 +1,6 @@
apiVersion: v1
kind: Namespace
metadata:
name: apps
labels:
name: apps
@@ -1,42 +0,0 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: tailscale-operator
namespace: tailscale
labels:
app: tailscale-operator
spec:
replicas: 1
selector:
matchLabels:
app: tailscale-operator
template:
metadata:
labels:
app: tailscale-operator
spec:
serviceAccountName: tailscale-operator
containers:
- name: operator
image: ghcr.io/tailscale/k8s-operator:v1.78.3
env:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: TS_CLIENT_ID_FILE
value: "/etc/tailscale/oauth/client_id"
- name: TS_CLIENT_SECRET_FILE
value: "/etc/tailscale/oauth/client_secret"
volumeMounts:
- name: oauth-secret
mountPath: /etc/tailscale/oauth
readOnly: true
volumes:
- name: oauth-secret
secret:
secretName: tailscale-operator-secret
@@ -1,49 +0,0 @@
apiVersion: v1
kind: Namespace
metadata:
name: tailscale
labels:
app.kubernetes.io/name: tailscale-operator
app.kubernetes.io/part-of: infrastructure
management: gitops
managed-by: orion
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: tailscale-operator
namespace: tailscale
labels:
app.kubernetes.io/name: tailscale-operator
app.kubernetes.io/part-of: infrastructure
management: gitops
managed-by: orion
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: tailscale-operator
template:
metadata:
labels:
app.kubernetes.io/name: tailscale-operator
spec:
serviceAccountName: tailscale-operator
containers:
- name: operator
image: ghcr.io/tailscale/k8s-operator:1.78.1
env:
- name: TS_AUTH_KEY
valueFrom:
secretKeyRef:
name: tailscale-auth
key: TS_AUTH_KEY
- name: TS_USERSPACE
value: "true"
resources:
requests:
cpu: 50m
memory: 64Mi
limits:
cpu: 100m
memory: 128Mi
+1 -1
View File
@@ -1,4 +1,4 @@
apiVersion: external-secrets.io/v1beta1
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: tailscale-auth
+4
View File
@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: tailscale
@@ -19,20 +19,19 @@ spec:
containers:
- name: operator
image: ghcr.io/tailscale/k8s-operator:v1.78.3
imagePullPolicy: IfNotPresent
env:
- name: POD_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.name
- name: POD_NAMESPACE
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.namespace
- name: TS_CLIENT_ID_FILE
- name: CLIENT_ID_FILE
value: /etc/tailscale/oauth/client-id
- name: TS_CLIENT_SECRET_FILE
- name: CLIENT_SECRET_FILE
value: /etc/tailscale/oauth/client-secret
volumeMounts:
- name: oauth-secret
@@ -0,0 +1,22 @@
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: tailscale-operator-secret
namespace: tailscale
spec:
refreshInterval: 1h
secretStoreRef:
name: orion-vault
kind: ClusterSecretStore
target:
name: tailscale-operator-secret
creationPolicy: Owner
data:
- secretKey: client-id
remoteRef:
key: tailscale/operator
property: CLIENT_ID_FILE
- secretKey: client-secret
remoteRef:
key: tailscale/operator
property: CLIENT_SECRET_FILE
@@ -1,37 +0,0 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: tailscale-operator
namespace: tailscale
spec:
replicas: 1
selector:
matchLabels:
app: tailscale-operator
template:
metadata:
labels:
app: tailscale-operator
spec:
containers:
- name: operator
image: ghcr.io/tailscale/k8s-operator:latest
env:
- name: TS_K8S_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: TS_K8S_SECRET
value: tailscale-operator-secret
- name: TS_CLIENT_ID_FILE
value: /etc/tailscale/oauth/client-id
- name: TS_CLIENT_SECRET_FILE
value: /etc/tailscale/oauth/client-secret
volumeMounts:
- name: oauth-secret
mountPath: /etc/tailscale/oauth
readOnly: true
volumes:
- name: oauth-secret
secret:
secretName: tailscale-operator-secret
+29
View File
@@ -0,0 +1,29 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: whoami
namespace: apps
labels:
app: whoami
spec:
replicas: 1
selector:
matchLabels:
app: whoami
template:
metadata:
labels:
app: whoami
spec:
containers:
- name: whoami
image: traefik/whoami:latest
ports:
- containerPort: 80
resources:
requests:
cpu: 50m
memory: 64Mi
limits:
cpu: 200m
memory: 128Mi
+18
View File
@@ -0,0 +1,18 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: whoami
namespace: apps
spec:
ingressClassName: traefik
rules:
- host: whoami.khalisio.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: whoami
port:
name: http
+13
View File
@@ -0,0 +1,13 @@
apiVersion: v1
kind: Service
metadata:
name: whoami
namespace: apps
spec:
selector:
app: whoami
ports:
- name: http
port: 80
targetPort: 80
type: ClusterIP