Следующая задача падала на
run.py:91 data = json.load(file)
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
то есть снова читала пустой файл — на этот раз django-auth.json.
Аннотации пода показали, почему: VAULT_MOUNT_PATH у движка ОДИН НА ВСЕ
файлы. Он подставляет его в каждую аннотацию, меняя только имя ключа:
agent-inject-file-django-auth: django-auth.json
agent-inject-template-django-auth: {{- with secret
"secrets/data/apps/processing/yc-s3" -}}
Ключа django-auth.json в том секрете не было, агент отрендерил пустоту.
Поэтому путь переименован в secrets/apps/processing/job-files: имя yc-s3
описывало один из файлов и врало о содержимом. В секрет добавлен ключ
django-auth.json — объект {"token": "..."}, а не голая строка, потому что
задача читает файл целиком через json.load. Значение то же, что у
workspaces в DJANGO_BASIC_AUTH: base64 от логина и пароля администратора.
Правило на будущее: появился новый файл, который движок кладёт в под
задачи, — добавляется ключ в этот же секрет, с именем ровно как у файла.
|
||
|---|---|---|
| .. | ||
| aero | ||
| base | ||
| brusnika-prod | ||
| brusnika-stage | ||
| d8-ugmk-prod | ||
| yc-k8s-test | ||
| workflows-api.CONFIGURATION.md | ||
| workflows-api.env.example | ||
| workflows-api.openapi.yaml | ||
| workflows-engine.CONFIGURATION.md | ||
| workflows-engine.env.example | ||
| workflows-frontend.ENDPOINTS.md | ||