Hej, pytanie jak fachowo powinno się podejść do tajnych wartosci z configa? Przykładowo mam tam connectionStringi itp., nie chce ich w appSettings.json by nie były w repozytorium. Z tego powodu używam dotnewoych secretów na swoim środowisku. A co w przypadku, gdy chce aplikację spakować w dockerowy image by frontend developer mógł jedną komendą sobie uruchomić taką aplikację? Czy mogę jakoś przekazać mu swoj plik z sekretami by po odpaleniu takiego kontenera miał podpięte sekrety? Czy musze koniecznie je hardkodowac w dockerfile?
Docker także ma sekrety: https://blog.codito.pl/2022/04/docker-compose-sekrety-dostepne-w-trakcie-budowania/
Edit: z tego co widzę wsparcie jest od wersji 2.5, ja kilka dni temu instalowałem na nowej maszynie i oficjalna stabilna to już wersja 2.7.
Konfiguracji i tak się nie pakuje w dockerfile, bo jest ona po to, żeby ją zmieniać w zależności od wymagań końcowego użytkownika.
Najważniejsze: w jaki sposób aplikacja czyta sekrety na produkcji? Jak jest to plik to po prostu dodaj w instrukcji jak uruchomić kontener w taki sposób, żeby plik z sekretami pojawił się tam gdzie powinień. Jak chcesz, żeby plik z hosta (np. komputer frontasa) był dostępny w kontenerze to musisz użyć volumów.
ccwrc napisał(a):
Docker także ma sekrety: https://blog.codito.pl/2022/04/docker-compose-sekrety-dostepne-w-trakcie-budowania/
Edit: z tego co widzę wsparcie jest od wersji 2.5, ja kilka dni temu instalowałem na nowej maszynie i oficjalna stabilna to już wersja 2.7.
Ale to jest w czasie budowania jak. np potrzebujesz hasła, żeby pobrać jakąś zależność albo dobić się do farmy budującej.
dotnetowe sekrety działają z automatu przez zmienne środowiskowe, więc możesz je spokojnie przekazywać przy uruchamianiu kontenera w ten sposób.
I wtedy możesz przekazac komuś plik docker-compose wraz z .env
i mieć to od razu z głowy.
https://auth0.com/blog/secret-management-in-dotnet-applications/