Compare commits

...

46 Commits

Author SHA1 Message Date
gitea b7f226062c conjurer: napraw drogę powrotną librarian/musician -> bot
Wyniki wyszukań (librarian) i eventy 'now playing' (musician) POST-owane do
bota ginęły, bo droga powrotna do bota była krucha:

* Service 'bot' był NodePort BEZ przypiętego nodePort -> k8s losował port z
  30000-32767 przy każdym (od)tworzeniu Service, a musician/betoniarka z
  Dockera adresują bota na sztywno http://192.168.1.73:32442. Rozjazd = każdy
  POST leci w zamknięty port. Przypinam nodePort: 32442.
* Librarian jest w tym samym klastrze co bot, a mimo to szedł przez nodePort
  węzła. Przełączam na DNS Service'u http://bot:5000 - odporne na
  przetasowania nodePortu (nodePort zostaje tylko dla zewnętrznych z Dockera).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-02 17:04:57 +02:00
gitea d84b982e0f fx 2026-08-01 20:44:00 +02:00
argocd-image-updater 83f928c278 build: automatic update of conjurer
updates image gitea/conjurer-bot tag 'defc482a' to '5d321f2f'
2026-08-01 17:16:14 +00:00
argocd-image-updater a0330b0b77 build: automatic update of conjurer
updates image gitea/conjurer-librarian tag 'defc482a' to '5d321f2f'
2026-08-01 17:14:12 +00:00
gitea e33d59b70c fx 2026-08-01 14:33:17 +02:00
argocd-image-updater 5d1be5398b build: automatic update of conjurer
updates image gitea/conjurer-librarian tag 'latest' to 'defc482a'
updates image gitea/conjurer-bot tag 'e1fca864' to 'defc482a'
2026-08-01 11:54:44 +00:00
gitea 70161cb7bd fx 2026-08-01 13:52:47 +02:00
argocd-image-updater 486e81a817 build: automatic update of conjurer
updates image gitea/conjurer-librarian tag 'latest' to 'defc482a'
2026-08-01 11:52:39 +00:00
argocd-image-updater 3d521a20c8 build: automatic update of conjurer
updates image gitea/conjurer-bot tag '3f4a1d50' to 'e1fca864'
2026-07-31 20:32:28 +00:00
argocd-image-updater 92c1683363 build: automatic update of conjurer
updates image gitea/conjurer-bot tag 'latest' to '3f4a1d50'
2026-07-31 18:15:55 +00:00
argocd-image-updater 627a8b5d7f build: automatic update of conjurer
updates image gitea/conjurer-bot tag 'latest' to 'e9e731e2'
2026-07-31 18:11:52 +00:00
argocd-image-updater 6c0213911d build: automatic update of conjurer
updates image gitea/conjurer-librarian tag '031c1f8a' to 'latest'
2026-07-30 17:43:53 +00:00
argocd-image-updater 814673390f build: automatic update of astrololo
updates image gitea/astrololo-render tag '8ebce816' to 'latest'
2026-07-30 17:31:41 +00:00
argocd-image-updater cab8bda7f8 build: automatic update of conjurer
updates image gitea/conjurer-bot tag '031c1f8a' to 'latest'
2026-07-30 17:11:02 +00:00
gitea aa4f015212 fx 2026-07-30 17:39:22 +02:00
argocd-image-updater 8ec74d1af0 build: automatic update of conjurer
updates image gitea/conjurer-bot tag 'f177dee4' to '031c1f8a'
2026-07-30 15:34:35 +00:00
argocd-image-updater bdb8a0cb0d build: automatic update of conjurer
updates image gitea/conjurer-librarian tag 'f177dee4' to '031c1f8a'
2026-07-30 15:26:22 +00:00
argocd-image-updater 268ea8359f build: automatic update of astrololo
updates image gitea/astrololo-render tag 'latest' to '8ebce816'
2026-07-30 15:17:47 +00:00
argocd-image-updater a88148f7d3 build: automatic update of astrololo
updates image gitea/astrololo-data tag '52b7c20c' to '8ebce816'
updates image gitea/astrololo-logic tag '52b7c20c' to '8ebce816'
updates image gitea/astrololo-presentation tag '52b7c20c' to '8ebce816'
2026-07-30 15:11:39 +00:00
argocd-image-updater 7b61f2e309 build: automatic update of astrololo
updates image gitea/astrololo-logic tag '9b1e4dbb' to '52b7c20c'
updates image gitea/astrololo-presentation tag '9b1e4dbb' to '52b7c20c'
2026-07-30 15:03:35 +00:00
argocd-image-updater 48250c7015 build: automatic update of astrololo
updates image gitea/astrololo-data tag 'f5dec15e' to '52b7c20c'
2026-07-30 15:01:31 +00:00
argocd-image-updater 6524258e1c build: automatic update of astrololo
updates image gitea/astrololo-render tag '998c83b2' to 'latest'
2026-07-30 11:38:30 +00:00
argocd-image-updater 6844dd5b55 build: automatic update of astrololo
updates image gitea/astrololo-render tag 'f5dec15e' to '998c83b2'
2026-07-30 09:42:47 +00:00
argocd-image-updater 311f1b2ce1 build: automatic update of astrololo
updates image gitea/astrololo-logic tag 'f5dec15e' to '9b1e4dbb'
updates image gitea/astrololo-presentation tag '4bdfb673' to '9b1e4dbb'
2026-07-29 00:06:27 +00:00
argocd-image-updater 3bd5ba7a81 build: automatic update of astrololo
updates image gitea/astrololo-presentation tag 'f5dec15e' to '4bdfb673'
2026-07-28 23:36:09 +00:00
argocd-image-updater dda554d98c build: automatic update of astrololo
updates image gitea/astrololo-data tag '998c83b2' to 'f5dec15e'
updates image gitea/astrololo-logic tag '998c83b2' to 'f5dec15e'
updates image gitea/astrololo-presentation tag '495f3734' to 'f5dec15e'
updates image gitea/astrololo-render tag 'latest' to 'f5dec15e'
2026-07-28 19:50:13 +00:00
argocd-image-updater a60dd816e8 build: automatic update of astrololo
updates image gitea/astrololo-render tag 'latest' to 'f5dec15e'
2026-07-28 19:48:08 +00:00
argocd-image-updater 3aba21d062 build: automatic update of astrololo
updates image gitea/astrololo-presentation tag '998c83b2' to '495f3734'
2026-07-28 18:29:32 +00:00
argocd-image-updater 615293b916 build: automatic update of astrololo
updates image gitea/astrololo-data tag '623603b1' to '998c83b2'
updates image gitea/astrololo-logic tag '623603b1' to '998c83b2'
updates image gitea/astrololo-presentation tag '4b17f2dd' to '998c83b2'
2026-07-28 16:27:02 +00:00
argocd-image-updater a2bd1e0202 build: automatic update of astrololo
updates image gitea/astrololo-data tag '623603b1' to '998c83b2'
updates image gitea/astrololo-logic tag '623603b1' to '998c83b2'
2026-07-28 16:24:58 +00:00
argocd-image-updater 073ed904e9 build: automatic update of astrololo
updates image gitea/astrololo-data tag '623603b1' to '998c83b2'
updates image gitea/astrololo-render tag '56131b20' to 'latest'
2026-07-28 16:22:44 +00:00
argocd-image-updater 494b49b9ac build: automatic update of astrololo
updates image gitea/astrololo-render tag '56131b20' to 'latest'
2026-07-28 16:18:33 +00:00
argocd-image-updater 14e62adc94 build: automatic update of conjurer
updates image gitea/conjurer-librarian tag 'e243777e' to 'f177dee4'
updates image gitea/conjurer-bot tag 'e243777e' to 'f177dee4'
2026-07-28 13:51:02 +00:00
argocd-image-updater 3dccbeb27d build: automatic update of conjurer
updates image gitea/conjurer-librarian tag 'e243777e' to 'f177dee4'
2026-07-28 13:48:55 +00:00
gitea 00ce859105 2 2026-07-28 15:37:48 +02:00
gitea d4dda58492 1 2026-07-28 15:34:12 +02:00
gitea 182c579664 Fix updater 2026-07-28 14:21:00 +02:00
argocd-image-updater 2f4e8d1799 build: automatic update of conjurer
updates image gitea/conjurer-bot tag 'c8aae106' to 'e243777e'
2026-07-28 12:17:50 +00:00
gitea 65d1d0c4d8 imageupdater 2026-07-28 14:10:07 +02:00
gitea 8020eb6b05 bot 2026-07-28 13:56:46 +02:00
gitea 327028ce42 bot 2026-07-28 13:40:49 +02:00
gitea 4fa3700f9c Libr 2026-07-28 13:28:38 +02:00
gitea 31a97615a3 Libr 2026-07-28 13:25:04 +02:00
gitea 19ed73cd11 Libr 2026-07-28 11:22:00 +00:00
argocd-image-updater 303be20455 build: automatic update of astrololo
updates image gitea/astrololo-render tag 'latest' to '56131b20'
2026-07-26 19:32:42 +00:00
argocd-image-updater a092350b3b build: automatic update of astrololo
updates image gitea/astrololo-presentation tag '623603b1' to '4b17f2dd'
2026-07-25 23:58:48 +00:00
6 changed files with 154 additions and 3 deletions
+3 -3
View File
@@ -10,10 +10,10 @@ resources:
- ingress.yaml # wejście po https + przekierowanie z http
images:
- name: gitea.czernobog.pl/gitea/astrololo-data
newTag: 623603b1
newTag: 8ebce816
- name: gitea.czernobog.pl/gitea/astrololo-logic
newTag: 623603b1
newTag: 8ebce816
- name: gitea.czernobog.pl/gitea/astrololo-render
newTag: latest
- name: gitea.czernobog.pl/gitea/astrololo-presentation
newTag: 623603b1
newTag: 8ebce816
+59
View File
@@ -0,0 +1,59 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: bot
namespace: conjurer
spec:
replicas: 1 # NIGDY więcej — jedna sesja gateway na token
strategy: { type: Recreate } # NIE RollingUpdate — dwa pody = wojna o sesję Discord
selector: { matchLabels: { app: bot } }
template:
metadata: { labels: { app: bot } }
spec:
imagePullSecrets: [{ name: gitea-registry }]
containers:
- name: bot
image: gitea.czernobog.pl/gitea/conjurer-bot:c8aae106
ports: [{ containerPort: 5000 }]
env:
- { name: CONJURER_DATA_DIR, value: "/data" }
- { name: CONJURER_DISCORD_HOST, value: "0.0.0.0" }
- { name: CONJURER_DISCORD_PORT, value: "5000" }
- { name: CONJURER_API_KEY, value: "d97008b3-7a5a-11f1-acd1-000b0e0f00ed" }
- { name: CONJURER_NETRC_FILE, value: "/secrets/.netrc" }
# ↓ NAZWY PODSTAW WG WYNIKU grepa z 0.2 ↓
- { name: CONJURER_LIBRARIAN_SERVICE, value: "http://librarian:5001" }
- { name: CONJURER_MUSICIAN_SERVICE, value: "http://192.168.1.89:5000" }
- { name: CONJURER_RADIO_SERVICE, value: "http://192.168.1.79:5005" }
- { name: CONJURER_FILE_SERVICE, value: "http://192.168.1.89:5000" }
- { name: CONJURER_RADIO_HARBOR, value: "http://192.168.1.79:54321" }
volumeMounts:
- { name: data, mountPath: /data }
- { name: netrc, mountPath: /secrets, readOnly: true }
resources:
requests: { cpu: "200m", memory: "256Mi" }
limits: { cpu: "2", memory: "1Gi" }
volumes:
- name: data
persistentVolumeClaim: { claimName: bot-data }
- name: netrc
secret: { secretName: conjurer-netrc }
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata: { name: bot-data, namespace: conjurer }
spec:
accessModes: [ReadWriteOnce]
resources: { requests: { storage: 2Gi } }
---
apiVersion: v1
kind: Service
metadata: { name: bot, namespace: conjurer }
spec:
type: NodePort # radio/musician z Dockera muszą go dosięgnąć
selector: { app: bot }
# nodePort PRZYPIĘTY na sztywno. Bez tego k8s losuje port z 30000-32767 przy
# (od)tworzeniu Service, a musician/betoniarka z Dockera adresują bota po
# http://192.168.1.73:32442 na sztywno - rozjazd = wyniki/eventy giną w locie.
ports: [{ port: 5000, targetPort: 5000, nodePort: 32442 }]
+19
View File
@@ -0,0 +1,19 @@
apiVersion: argocd-image-updater.argoproj.io/v1alpha1
kind: ImageUpdater
metadata:
name: conjurer
namespace: argocd
spec:
commonUpdateSettings:
updateStrategy: "newest-build"
writeBackConfig:
method: "git:secret:argocd/git-creds"
gitConfig:
repository: "https://gitea.czernobog.pl/gitea/deploy.git"
branch: "master" # ← gałąź repo deploy
writeBackTarget: "kustomization:/conjurer"
applicationRefs:
- namePattern: "conjurer"
images:
- { alias: "librarian", imageName: "gitea.czernobog.pl/gitea/conjurer-librarian" }
- { alias: "bot", imageName: "gitea.czernobog.pl/gitea/conjurer-bot" }
+11
View File
@@ -0,0 +1,11 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- namespace.yaml
- librarian.yaml
- bot.yaml
images:
- name: gitea.czernobog.pl/gitea/conjurer-librarian
newTag: 5d321f2f
- name: gitea.czernobog.pl/gitea/conjurer-bot
newTag: 5d321f2f
+58
View File
@@ -0,0 +1,58 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: librarian
namespace: conjurer
spec:
replicas: 1
selector: { matchLabels: { app: librarian } }
template:
metadata: { labels: { app: librarian } }
spec:
imagePullSecrets: [{ name: gitea-registry }]
containers:
- name: librarian
image: gitea.czernobog.pl/gitea/conjurer-librarian:e243777e
ports: [{ containerPort: 5001 }]
env:
- { name: CONJURER_LIBRARIAN_HOST, value: "0.0.0.0" }
- { name: CONJURER_LIBRARIAN_PORT, value: "5001" }
- { name: CONJURER_LIBRARIAN_DB_PATH, value: "/doi/" }
- { name: CONJURER_API_KEY, value: "d97008b3-7a5a-11f1-acd1-000b0e0f00ed" }
- { name: CONJURER_LIBRARIAN_MAXTHREADS, value: "40" }
- { name: CONJURER_CROSSREF_MAILTO, value: "mtuszowski@gmail.com" }
- { name: CONJURER_LIBRARIAN_CHUNK, value: "_chunk.txt" }
# Librarian jest W TYM SAMYM klastrze/namespace co bot - gada z nim
# po DNS Service'u, nie przez nodePort węzła (ten zostaje tylko dla
# zewnętrznych musician/betoniarka z Dockera). Odporne na przetasowania.
- { name: CONJURER_MAIN_BOT, value: "http://bot:5000" }
- { name: CONJURER_LIBRARIAN_STATE_DIR, value: "/lib_temp_files" }
volumeMounts:
- { name: doi, mountPath: /doi, readOnly: true }
- { name: state, mountPath: /lib_temp_files }
resources:
requests: { cpu: "100m", memory: "256Mi" }
limits: { cpu: "1", memory: "1Gi" }
volumes:
- name: doi
nfs:
server: 192.168.1.34
path: /mnt/Tank1/conjurer_swap/librarian_data/base_it1
- name: state
persistentVolumeClaim: { claimName: librarian-state }
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata: { name: librarian-state, namespace: conjurer }
spec:
accessModes: [ReadWriteOnce]
resources: { requests: { storage: 1Gi } }
---
apiVersion: v1
kind: Service
metadata: { name: librarian, namespace: conjurer }
spec:
selector: { app: librarian }
ports: [{ port: 5001, targetPort: 5001 }]
+4
View File
@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: conjurer