Files
home-docker/db/qdrant.yaml
T
Junv (via Hermes) a8b6890a99 chore: upgrade Docker images batch — June 2026
Updates 7 Docker images across the infrastructure manifests (PG14 kept as-is):

  media/jackett.yaml
    linuxserver/jackett: 0.24.1124 → 0.24.1985 (patch)

  media/media.yaml
    linuxserver/qbittorrent: version-5.1.2-r4 → version-5.2.1_v2.0.12 (major 5.1→5.2)

  home-apps/n8n.yaml
    n8nio/n8n: 2.15.0 → 2.23.1 (minor)

  db/qdrant.yaml
    qdrant/qdrant: v1.16-unprivileged → v1.18.1-unprivileged (minor)

  kube-vip/daemonset.yaml
    kube-vip/kube-vip: v0.4.4 → v0.9.2 (conservative, stayed within v0.x)

  on-demand/once-etcd-job.yaml
    etcd: 3.5.1-0 → 3.5.30-0 (patch)

  adhoc-config/oauth2-proxy.yaml
    oauth2-proxy/oauth2-proxy: v7.6.0 → v7.15.2 (minor)

Note: postgres:14 kept unchanged per PR review feedback.
kube-vip kept at v0.9.2 (latest v0.x) instead of v1.2.0 to avoid
v0→v1 breaking changes.
2026-06-01 16:52:51 +10:00

142 lines
3.2 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: qdrant
spec:
replicas: 1
selector:
matchLabels:
app: qdrant
template:
metadata:
labels:
app: qdrant
spec:
nodeSelector:
kubernetes.io/hostname: server-3
tolerations:
- key: "node"
operator: "Equal"
value: "special"
effect: "NoSchedule"
- key: node-role.kubernetes.io/master
operator: Equal
value: ""
effect: NoSchedule
- key: node-role.kubernetes.io/control-plane
operator: Equal
value: ""
effect: NoSchedule
containers:
- name: qdrant
# Updated: v1.16-unprivileged -> v1.18.1-unprivileged (minor bump, low risk)
image: mirror.gcr.io/qdrant/qdrant:v1.18.1-unprivileged
ports:
- containerPort: 6333
- containerPort: 6334
env:
- name: TZ
value: "Australia/Melbourne"
- name: QDRANT__SERVICE__ENABLE_TLS
value: "0"
- name: QDRANT__LOG_LEVEL
value: INFO
- name: QDRANT__SERVICE__API_KEY
valueFrom:
secretKeyRef:
name: qdrant-api-key
key: key
- name: QDRANT__SERVICE__JWT_RBAC
value: "true"
volumeMounts:
- name: data
mountPath: "/qdrant/storage"
resources:
limits:
cpu: "1"
memory: "1Gi"
requests:
cpu: "200m"
memory: "256Mi"
securityContext:
privileged: false
runAsGroup: 1000
# fsGroup: 1000
runAsUser: 1000
volumes:
- name: data
persistentVolumeClaim:
claimName: qdrant-local-pvc
---
apiVersion: v1
kind: Service
metadata:
name: qdrant-lb
namespace: db
annotations:
metallb.universe.tf/loadBalancerIPs: 192.168.1.202
spec:
selector:
app: qdrant
ports:
- protocol: TCP
port: 6333
targetPort: 6333
name: web
- protocol: TCP
port: 6334
targetPort: 6334
name: grpc
type: LoadBalancer
externalIPs:
- 192.168.1.202
---
apiVersion: v1
kind: Service
metadata:
name: qdrant
spec:
selector:
app: qdrant
ports:
- protocol: TCP
port: 6333
targetPort: 6333
name: web
- protocol: TCP
port: 6334
name: grpc
targetPort: 6334
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: qdrant-ingress
namespace: db
annotations:
kubernetes.io/ingress.class: "nginx"
kubernetes.io/tls-acme: "true"
cert-manager.io/cluster-issuer: "letsencrypt-prod"
nginx.ingress.kubernetes.io/auth-url: "https://pass.junv.cc/oauth2/auth"
nginx.ingress.kubernetes.io/auth-signin: "https://pass.junv.cc/oauth2/start?rd=https://$host$escaped_request_uri"
spec:
tls:
- hosts:
- qdrant.junv.cc
secretName: qdrant-tls
rules:
- host: qdrant.junv.cc
http:
paths:
- backend:
service:
name: qdrant
port:
number: 6333
path: /
pathType: Prefix