sec(astrololo): pody bez tokenu konta serwisowego (LOG-33)
Wszystkie cztery usługi biegły na koncie `default` z AUTOMATYCZNIE montowanym tokenem API Kubernetesa. Żadna z nich nie rozmawia z API klastra — sekrety dostają przez `secretKeyRef`, który wstrzykuje kubelet, nie pod. Token był więc zbędny, a leżał w każdym kontenerze jako gotowy punkt wyjścia do klastra dla kogoś, kto przejmie proces (np. przez lukę w zależności). `automountServiceAccountToken: false` w szablonie poda data/logic/presentation/ render. Zweryfikowane `kubectl kustomize` — pole trafia do `.spec.template.spec`, nie do specu Deploymentu (tam byłoby ciche i bez efektu). Zero wpływu na działanie: nic w kodzie nie woła API Kubernetesa. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit was merged in pull request #13.
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user