# Secret 'indexer-secret' must be created separately with real values: # kubectl -n gitea-search create secret generic indexer-secret \ # --from-literal=gitea-token="" \ # --from-literal=webhook-secret="$(openssl rand -hex 32)" --- apiVersion: batch/v1 kind: CronJob metadata: name: gitea-indexer namespace: gitea-search spec: schedule: "0 */4 * * *" # Every 4 hours concurrencyPolicy: Forbid successfulJobsHistoryLimit: 3 failedJobsHistoryLimit: 3 jobTemplate: spec: backoffLimit: 2 activeDeadlineSeconds: 1800 # 30 min timeout template: spec: restartPolicy: OnFailure containers: - name: indexer image: gitea.rspworks.tech/rpert/gitea-search:v1.0.1 imagePullPolicy: IfNotPresent command: ["indexer", "full"] env: - name: GITEA_URL value: "https://gitea.rspworks.tech" - name: GITEA_TOKEN valueFrom: secretKeyRef: name: indexer-secret key: gitea-token - name: MEILI_URL value: "http://meilisearch.gitea-search.svc.cluster.local:7700" - name: MEILI_KEY valueFrom: secretKeyRef: name: meilisearch-secret key: master-key - name: INDEX_NAME value: "gitea-code" resources: requests: cpu: 100m memory: 128Mi limits: cpu: 500m memory: 512Mi --- # Optional: webhook server deployment for real-time indexing apiVersion: apps/v1 kind: Deployment metadata: name: indexer-webhook namespace: gitea-search labels: app: indexer-webhook spec: replicas: 1 selector: matchLabels: app: indexer-webhook template: metadata: labels: app: indexer-webhook spec: containers: - name: webhook image: gitea.rspworks.tech/rpert/gitea-search:v1.0.1 imagePullPolicy: IfNotPresent command: ["indexer", "webhook"] ports: - containerPort: 8080 env: - name: GITEA_URL value: "https://gitea.rspworks.tech" - name: GITEA_TOKEN valueFrom: secretKeyRef: name: indexer-secret key: gitea-token - name: MEILI_URL value: "http://meilisearch.gitea-search.svc.cluster.local:7700" - name: MEILI_KEY valueFrom: secretKeyRef: name: meilisearch-secret key: master-key - name: INDEX_NAME value: "gitea-code" - name: WEBHOOK_SECRET valueFrom: secretKeyRef: name: indexer-secret key: webhook-secret resources: requests: cpu: 50m memory: 64Mi limits: cpu: 250m memory: 256Mi livenessProbe: httpGet: path: /healthz port: 8080 periodSeconds: 30 --- apiVersion: v1 kind: Service metadata: name: indexer-webhook namespace: gitea-search spec: selector: app: indexer-webhook ports: - port: 8080 targetPort: 8080