Mam wiele aplikacji Railsowych hostowanych na GitHub. Wszystkie są obecnie prywatne, a ja często wdrażam je z ich repozytorium GitHub. Chciałbym móc zrobić niektóre z nich open source, tak jak te, które można znaleźć na http://opensourcerails.com.Jak mogę otworzyć źródła aplikacji Railsowych bez podawania tajnych kluczy i poświadczeń aplikacji?
Moje pytanie brzmi: jak mogę udostępnić te repozytoria bez ujawniania super tajnych danych uwierzytelniających?
Na przykład mogę zajrzeć do pliku /config/initializers/cookie_verification_secret.rb i zobaczyć tajny plik cookie dla prawie każdego z nich. Nie rozumiem, jak to jest dopuszczalne. Czy ci użytkownicy w jakiś sposób zmieniają te wartości w swoich środowiskach wdrażania?
Niektórzy użytkownicy ujawniają swoje tajemnice i klucz AWS! Inni zamiast tego ustawią swoje tajemnice AWS na coś takiego:
ENV['aws-secret']
, chociaż nie jestem pewien, w którym momencie ustawiają tę wartość.
Jakie są najlepsze praktyki związane z otwartym zaopatrzeniem aplikacji Railsowych bez wpływu na bezpieczeństwo aplikacji.
Świetna rada. Ponadto, jeśli nie chcesz usuwać historii i jeśli jest to wykonalne, możesz po prostu zmienić wartości po nowym wdrożeniu (i po ich ukryciu za pomocą .gitignore), co spowoduje, że stare wartości będą bezużyteczne. Jest to oczywiście nieco podatne na niepowodzenie, ponieważ jeśli zapomnisz zmienić jedną z wartości krytycznych, możesz zostać wyrzucony. – jefflunt
Ponieważ ta odpowiedź wciąż zdobywa głosy, uważam, że powinienem zaktualizować to, co zrobiłbym (i zrobię) dzisiaj: https://github.com/bkeepers/dotenv –