Decommission JobSync service (#308)
All checks were successful
Build Container / detect (push) Successful in 3s
All checks were successful
Build Container / detect (push) Successful in 3s
## Summary - Remove all JobSync infrastructure: ArgoCD app, k8s manifests, container build (nix), Caddy reverse proxy entry, Homepage dashboard entry, service-versions tracking, and all documentation - Runtime teardown already completed: ArgoCD app cascade-deleted (removes deployment, PVC, service, ingress, external-secret), forge mirror deleted, 1Password item archived, local clone removed ## Motivation Replacing JobSync with a datasette-based job tracking pipeline driven by mise tasks and a Claude agent frontend. JobSync's Next.js server actions don't expose a useful API for automation. ## Remaining manual steps after merge - Provision Caddy to remove the stale proxy route: `mise run provision-indri -- --tags caddy` - Sync Homepage: `argocd app sync homepage` - Verify namespace cleanup on ringtail: `kubectl get ns jobsync --context=k3s-ringtail` (should be gone) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Reviewed-on: #308
This commit is contained in:
parent
0d422f5234
commit
fc45989a6c
18 changed files with 1 additions and 588 deletions
|
|
@ -1,18 +0,0 @@
|
|||
---
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: jobsync
|
||||
namespace: argocd
|
||||
spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: ssh://forgejo@forge.ops.eblu.me:2222/eblume/blumeops.git
|
||||
targetRevision: main
|
||||
path: argocd/manifests/jobsync
|
||||
destination:
|
||||
server: https://ringtail.tail8d86e.ts.net:6443
|
||||
namespace: jobsync
|
||||
syncPolicy:
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
|
|
@ -68,11 +68,6 @@
|
|||
enableBlocks: true
|
||||
enableNowPlaying: false
|
||||
fields: ["movies", "series", "episodes"]
|
||||
- Services:
|
||||
- JobSync:
|
||||
href: https://jobsync.ops.eblu.me
|
||||
icon: mdi-briefcase-search
|
||||
description: Job application tracker
|
||||
- Infrastructure:
|
||||
- Authentik:
|
||||
href: https://authentik.ops.eblu.me
|
||||
|
|
|
|||
|
|
@ -1,78 +0,0 @@
|
|||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: jobsync
|
||||
namespace: jobsync
|
||||
spec:
|
||||
replicas: 1
|
||||
strategy:
|
||||
type: Recreate
|
||||
selector:
|
||||
matchLabels:
|
||||
app: jobsync
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: jobsync
|
||||
spec:
|
||||
containers:
|
||||
- name: jobsync
|
||||
image: blumeops/jobsync:kustomized
|
||||
ports:
|
||||
- containerPort: 3000
|
||||
name: http
|
||||
env:
|
||||
- name: DATABASE_URL
|
||||
value: "file:/data/dev.db"
|
||||
- name: NEXTAUTH_URL
|
||||
value: "https://jobsync.ops.eblu.me"
|
||||
- name: AUTH_TRUST_HOST
|
||||
value: "true"
|
||||
- name: NEXT_TELEMETRY_DISABLED
|
||||
value: "1"
|
||||
- name: TZ
|
||||
value: "America/Los_Angeles"
|
||||
- name: OLLAMA_BASE_URL
|
||||
value: "http://ollama.ollama.svc.cluster.local:11434"
|
||||
- name: AUTH_SECRET
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: jobsync-secrets
|
||||
key: auth_secret
|
||||
- name: ENCRYPTION_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: jobsync-secrets
|
||||
key: encryption_key
|
||||
- name: RAPIDAPI_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: jobsync-secrets
|
||||
key: rapidapi_key
|
||||
volumeMounts:
|
||||
- name: data
|
||||
mountPath: /data
|
||||
resources:
|
||||
requests:
|
||||
memory: "256Mi"
|
||||
cpu: "100m"
|
||||
limits:
|
||||
memory: "512Mi"
|
||||
cpu: "500m"
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: 3000
|
||||
initialDelaySeconds: 30
|
||||
periodSeconds: 30
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: 3000
|
||||
initialDelaySeconds: 10
|
||||
periodSeconds: 10
|
||||
volumes:
|
||||
- name: data
|
||||
persistentVolumeClaim:
|
||||
claimName: jobsync-data
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
---
|
||||
apiVersion: external-secrets.io/v1
|
||||
kind: ExternalSecret
|
||||
metadata:
|
||||
name: jobsync-secrets
|
||||
namespace: jobsync
|
||||
spec:
|
||||
refreshInterval: 1h
|
||||
secretStoreRef:
|
||||
kind: ClusterSecretStore
|
||||
name: onepassword-blumeops
|
||||
target:
|
||||
name: jobsync-secrets
|
||||
creationPolicy: Owner
|
||||
data:
|
||||
- secretKey: auth_secret
|
||||
remoteRef:
|
||||
key: JobSync
|
||||
property: auth_secret
|
||||
- secretKey: encryption_key
|
||||
remoteRef:
|
||||
key: JobSync
|
||||
property: encryption_key
|
||||
- secretKey: rapidapi_key
|
||||
remoteRef:
|
||||
key: JobSync
|
||||
property: rapidapi_key
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: jobsync-tailscale
|
||||
namespace: jobsync
|
||||
annotations:
|
||||
tailscale.com/proxy-class: "default"
|
||||
tailscale.com/proxy-group: "ingress"
|
||||
gethomepage.dev/enabled: "true"
|
||||
gethomepage.dev/name: "JobSync"
|
||||
gethomepage.dev/group: "Services"
|
||||
gethomepage.dev/icon: "mdi-briefcase-search"
|
||||
gethomepage.dev/description: "Job application tracker"
|
||||
gethomepage.dev/href: "https://jobsync.ops.eblu.me"
|
||||
gethomepage.dev/pod-selector: "app=jobsync"
|
||||
spec:
|
||||
ingressClassName: tailscale
|
||||
defaultBackend:
|
||||
service:
|
||||
name: jobsync
|
||||
port:
|
||||
number: 3000
|
||||
tls:
|
||||
- hosts:
|
||||
- jobsync
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
---
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
namespace: jobsync
|
||||
resources:
|
||||
- pvc.yaml
|
||||
- external-secret.yaml
|
||||
- deployment.yaml
|
||||
- service.yaml
|
||||
- ingress-tailscale.yaml
|
||||
|
||||
images:
|
||||
- name: blumeops/jobsync
|
||||
newName: registry.ops.eblu.me/blumeops/jobsync
|
||||
newTag: "v1.1.4-3a811fb-nix"
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: jobsync-data
|
||||
namespace: jobsync
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
storageClassName: local-path
|
||||
resources:
|
||||
requests:
|
||||
storage: 5Gi
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: jobsync
|
||||
namespace: jobsync
|
||||
spec:
|
||||
selector:
|
||||
app: jobsync
|
||||
ports:
|
||||
- name: http
|
||||
port: 3000
|
||||
targetPort: 3000
|
||||
Loading…
Add table
Add a link
Reference in a new issue