Skip to content

feat(config): generowanie klucza szyfrowania pól BPP (DJANGO_BPP_FIELD_ENCRYPTION_KEY) - #41

Merged
mpasternak merged 1 commit into
mainfrom
feat/klucz-szyfrowania-pol
Oct 24, 2026
Merged

mpasternak merged 1 commit into
mainfrom
feat/klucz-szyfrowania-pol

Conversation

@mpasternak

Copy link
Copy Markdown
Member

Co

  • scripts/ensure-config-files.sh: _ensure_secret DJANGO_BPP_FIELD_ENCRYPTION_KEY — klucz Fernet (32 losowe bajty, base64 URL-safe, 44 znaki) z openssl rand -base64 32 | tr '+/' '-_'. Append-only: istniejąca wartość nigdy nie jest nadpisywana; dawny DSPACE_CREDENTIALS_KEY (jeśli ktoś go ustawił) zostaje.
  • Nowe instalacje dostają klucz przez make init-configs, istniejące przy zwykłym git pull && make up. Do Django trafia przez env_file — bez zmian w Compose.
  • docs/konfiguracja/architektura.md: nowa sekcja (+ ostrzeżenie: klucz backupować razem z .env; utrata = ponowne wpisanie tokenów integracji). CLAUDE.md: notka dla agentów.
  • tests/test_makefile.sh: format klucza po init-configs i self-heal, stabilność między przebiegami, brak duplikatów, nietykanie istniejącego klucza i DSPACE_CREDENTIALS_KEY.

Powiązane: iplweb/bpp — pola sekretów integracji przechodzą na EncryptedTextField z kluczem DJANGO_BPP_FIELD_ENCRYPTION_KEY. Kolejność wdrożenia dowolna: starsze obrazy BPP zmienną ignorują, a nowy BPP bez klucza działa (zapis jawny + ostrzeżenie).

Testy

Uruchomione lokalnie (wycinek tests/test_makefile.sh: nowe testy + testy ALTCHA): PASS=16 FAIL=0 SKIP=1 (SKIP: walidacja przez cryptography.Fernet wymaga python3+cryptography na hoście; klucze z tego polecenia sprawdzone ręcznie przez Fernet(...)). pre-commit — OK.

🤖 Generated with Claude Code

https://claude.ai/code/session_01UJ23Rb1c5UtxHTfAke9ENQ

ensure-config-files.sh dopisuje (append-only, bez nadpisywania) zmienną
DJANGO_BPP_FIELD_ENCRYPTION_KEY — klucz Fernet generowany przez
`openssl rand -base64 32 | tr '+/' '-_'`, bez Pythona na hoście. Nowe
instalacje dostają go przez init-configs, istniejące przy `make up`.
Istniejący DSPACE_CREDENTIALS_KEY pozostaje bez zmian.

Dokumentacja (architektura.md) z ostrzeżeniem o backupie klucza oraz
testy w tests/test_makefile.sh.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UJ23Rb1c5UtxHTfAke9ENQ
@mpasternak
mpasternak merged commit e1929c9 into main Oct 24, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant