Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4bf16c41d0 | |||
| abc0f98034 | |||
| 71b9fe0842 | |||
| 261b41240d | |||
| de4d41808a | |||
| b9289c4f8c | |||
| 536b2bbbbb | |||
| e2af5e331e | |||
| 1a02704422 | |||
| 91890b701e | |||
| 597cbd40f8 | |||
| 6983814a5c |
@@ -9,6 +9,10 @@ spec:
|
|||||||
template:
|
template:
|
||||||
metadata: { labels: { app: data } }
|
metadata: { labels: { app: data } }
|
||||||
spec:
|
spec:
|
||||||
|
# LOG-33: pody nie rozmawiają z API Kubernetesa, więc token konta
|
||||||
|
# serwisowego jest im niepotrzebny — a zamontowany byłby gotowym
|
||||||
|
# punktem wyjścia do klastra dla kogoś, kto przejmie kontener.
|
||||||
|
automountServiceAccountToken: false
|
||||||
imagePullSecrets: [{ name: gitea-registry }]
|
imagePullSecrets: [{ name: gitea-registry }]
|
||||||
containers:
|
containers:
|
||||||
- name: data
|
- name: data
|
||||||
|
|||||||
@@ -10,10 +10,10 @@ resources:
|
|||||||
- ingress.yaml # wejście po https + przekierowanie z http
|
- ingress.yaml # wejście po https + przekierowanie z http
|
||||||
images:
|
images:
|
||||||
- name: gitea.czernobog.pl/gitea/astrololo-data
|
- name: gitea.czernobog.pl/gitea/astrololo-data
|
||||||
newTag: b36b3bee
|
newTag: 70c83cfc
|
||||||
- name: gitea.czernobog.pl/gitea/astrololo-logic
|
- name: gitea.czernobog.pl/gitea/astrololo-logic
|
||||||
newTag: b36b3bee
|
newTag: 70c83cfc
|
||||||
- name: gitea.czernobog.pl/gitea/astrololo-render
|
- name: gitea.czernobog.pl/gitea/astrololo-render
|
||||||
newTag: latest
|
newTag: latest
|
||||||
- name: gitea.czernobog.pl/gitea/astrololo-presentation
|
- name: gitea.czernobog.pl/gitea/astrololo-presentation
|
||||||
newTag: a9f2a038
|
newTag: 70c83cfc
|
||||||
|
|||||||
@@ -9,6 +9,10 @@ spec:
|
|||||||
template:
|
template:
|
||||||
metadata: { labels: { app: logic } }
|
metadata: { labels: { app: logic } }
|
||||||
spec:
|
spec:
|
||||||
|
# LOG-33: pody nie rozmawiają z API Kubernetesa, więc token konta
|
||||||
|
# serwisowego jest im niepotrzebny — a zamontowany byłby gotowym
|
||||||
|
# punktem wyjścia do klastra dla kogoś, kto przejmie kontener.
|
||||||
|
automountServiceAccountToken: false
|
||||||
imagePullSecrets: [{ name: gitea-registry }]
|
imagePullSecrets: [{ name: gitea-registry }]
|
||||||
containers:
|
containers:
|
||||||
- name: logic
|
- name: logic
|
||||||
|
|||||||
@@ -9,6 +9,10 @@ spec:
|
|||||||
template:
|
template:
|
||||||
metadata: { labels: { app: presentation } }
|
metadata: { labels: { app: presentation } }
|
||||||
spec:
|
spec:
|
||||||
|
# LOG-33: pody nie rozmawiają z API Kubernetesa, więc token konta
|
||||||
|
# serwisowego jest im niepotrzebny — a zamontowany byłby gotowym
|
||||||
|
# punktem wyjścia do klastra dla kogoś, kto przejmie kontener.
|
||||||
|
automountServiceAccountToken: false
|
||||||
imagePullSecrets: [{ name: gitea-registry }]
|
imagePullSecrets: [{ name: gitea-registry }]
|
||||||
containers:
|
containers:
|
||||||
- name: presentation
|
- name: presentation
|
||||||
@@ -56,9 +60,26 @@ spec:
|
|||||||
secretKeyRef: { name: astrololo-link, key: LINK_KEY_PRESENTATION_RENDER }
|
secretKeyRef: { name: astrololo-link, key: LINK_KEY_PRESENTATION_RENDER }
|
||||||
- name: LINK_ENCRYPTION_REQUIRED
|
- name: LINK_ENCRYPTION_REQUIRED
|
||||||
value: "true"
|
value: "true"
|
||||||
|
# Konta zakładane z ekranu „Konta" (PRE-26). Konto administracyjne
|
||||||
|
# zostaje w APP_USER/APP_PASSWORD powyżej — celowo, bo dzięki temu
|
||||||
|
# NIE DA SIĘ go skasować ani ograniczyć z aplikacji.
|
||||||
|
- name: ACCOUNTS_FILE
|
||||||
|
value: "/app/state/accounts.json"
|
||||||
|
volumeMounts:
|
||||||
|
# subPath, NIE cały udział: prezentacja dostaje wyłącznie własny
|
||||||
|
# podkatalog i nie widzi baz interpretacyjnych. Zamontowanie tu całego
|
||||||
|
# /mnt/Tank1/astrololo obeszłoby bokiem zamknięcie dostępu z DAN-25.
|
||||||
|
- name: state
|
||||||
|
mountPath: /app/state
|
||||||
|
subPath: presentation-state
|
||||||
resources:
|
resources:
|
||||||
requests: { cpu: "100m", memory: "128Mi" }
|
requests: { cpu: "100m", memory: "128Mi" }
|
||||||
limits: { cpu: "300m", memory: "256Mi" }
|
limits: { cpu: "300m", memory: "256Mi" }
|
||||||
|
volumes:
|
||||||
|
- name: state
|
||||||
|
nfs:
|
||||||
|
server: 192.168.1.34
|
||||||
|
path: /mnt/Tank1/astrololo
|
||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
|
|||||||
@@ -19,6 +19,10 @@ spec:
|
|||||||
template:
|
template:
|
||||||
metadata: { labels: { app: render } }
|
metadata: { labels: { app: render } }
|
||||||
spec:
|
spec:
|
||||||
|
# LOG-33: pody nie rozmawiają z API Kubernetesa, więc token konta
|
||||||
|
# serwisowego jest im niepotrzebny — a zamontowany byłby gotowym
|
||||||
|
# punktem wyjścia do klastra dla kogoś, kto przejmie kontener.
|
||||||
|
automountServiceAccountToken: false
|
||||||
imagePullSecrets: [{ name: gitea-registry }]
|
imagePullSecrets: [{ name: gitea-registry }]
|
||||||
containers:
|
containers:
|
||||||
- name: render
|
- name: render
|
||||||
|
|||||||
+11
-9
@@ -23,17 +23,19 @@ bytes). The image-updater's `deploy-bot` alias then bumps this bot's tag.
|
|||||||
So: normal commits update the test bot + librarian; a commit with `[deploy]` in
|
So: normal commits update the test bot + librarian; a commit with `[deploy]` in
|
||||||
its message is the one that also rolls the production bot.
|
its message is the one that also rolls the production bot.
|
||||||
|
|
||||||
**Bootstrap (first run):** `conjurer-bot-deploy` doesn't exist until the first
|
**Already bootstrapped:** the channel was seeded by the first `[deploy]` commit
|
||||||
`[deploy]` build. Either land one commit with `[deploy]` in the message, or seed
|
(the merge of conjurer#20), which promoted `conjurer-bot-deploy:fbd1ec9f` — the
|
||||||
it once by hand:
|
tag pinned in `kustomization.yaml`. From here the image-updater keeps it current
|
||||||
|
on each future `[deploy]` commit. Note the librarian is shared and still tracks
|
||||||
|
latest, so mind large bot⇄librarian version skews.
|
||||||
|
|
||||||
|
If you ever need to seed a tag by hand:
|
||||||
```bash
|
```bash
|
||||||
docker pull gitea.czernobog.pl/gitea/conjurer-bot:ac16b77f
|
docker pull gitea.czernobog.pl/gitea/conjurer-bot:<sha>
|
||||||
docker tag gitea.czernobog.pl/gitea/conjurer-bot:ac16b77f \
|
docker tag gitea.czernobog.pl/gitea/conjurer-bot:<sha> \
|
||||||
gitea.czernobog.pl/gitea/conjurer-bot-deploy:ac16b77f
|
gitea.czernobog.pl/gitea/conjurer-bot-deploy:<sha>
|
||||||
docker push gitea.czernobog.pl/gitea/conjurer-bot-deploy:ac16b77f
|
docker push gitea.czernobog.pl/gitea/conjurer-bot-deploy:<sha>
|
||||||
```
|
```
|
||||||
(match the tag in `kustomization.yaml`). Note the librarian is shared, so it
|
|
||||||
still tracks latest — mind large bot⇄librarian version skews.
|
|
||||||
|
|
||||||
## One-time setup
|
## One-time setup
|
||||||
|
|
||||||
|
|||||||
@@ -8,11 +8,12 @@ resources:
|
|||||||
- deploy-bot-backup.yaml
|
- deploy-bot-backup.yaml
|
||||||
images:
|
images:
|
||||||
- name: gitea.czernobog.pl/gitea/conjurer-librarian
|
- name: gitea.czernobog.pl/gitea/conjurer-librarian
|
||||||
newTag: f4dea535
|
newTag: ae1bd677
|
||||||
- name: gitea.czernobog.pl/gitea/conjurer-bot
|
- name: gitea.czernobog.pl/gitea/conjurer-bot
|
||||||
newTag: f4dea535
|
newTag: fbd1ec9f
|
||||||
# Production bot channel - only bumped when a [deploy]-tagged build appears.
|
# Production bot channel - only bumped when a [deploy]-tagged build appears.
|
||||||
# Placeholder tag; the image-updater sets the real one once the first
|
# Bootstrapped to fbd1ec9f: that's the image the first [deploy] build (merge
|
||||||
# [deploy] build (merging conjurer#20) creates conjurer-bot-deploy.
|
# of conjurer#20) promoted to conjurer-bot-deploy. From here the image-updater
|
||||||
|
# keeps it current across future [deploy] commits.
|
||||||
- name: gitea.czernobog.pl/gitea/conjurer-bot-deploy
|
- name: gitea.czernobog.pl/gitea/conjurer-bot-deploy
|
||||||
newTag: f4dea535
|
newTag: fbd1ec9f
|
||||||
|
|||||||
Reference in New Issue
Block a user