Как файл .env остается скрытым / секретным? - PullRequest
0 голосов
/ 13 октября 2019

Как файл .env остается скрытым / секретным, если он находится в том же каталоге, что и settings.py, urls.py и wsgi.py? Должен ли я сделать что-то дополнительное, чтобы скрыть переменные env? Я буду развертывать AWS эластичный beanstalk и хочу сделать код открытым исходным кодом. У меня (переменные окружения) установлены как:

.env

DEBUG=on
SECRET_KEY=blah123456
MAILCHIMP_API_KEY=blah123456

Settings.py

import os
import environ

env = environ.Env(
    #set casting
    DEBUG=(bool, False)
)
# read .env file 
environ.Env.read_env()

MAILCHIMP_API_KEY = env('MAILCHIMP_API_KEY')
SECRET_KEY = env('SECRET_KEY')

1 Ответ

0 голосов
/ 13 октября 2019

Как уже упоминалось в комментарии, вы можете поместить .env в git ignore, но я предложу еще две вещи.

  • Загрузка переменной среды из конфигурации системы в Elasticbeanstalk.
  • или Если вы все еще хотите использовать dotenv, тогда предложите ввести .env.template с примерами значений, чтобы знать необходимые ENV.

Настройка свойств среды

Свойства среды отображаются в консоли Elastic Beanstalk в разделе «Конфигурация программного обеспечения».

Чтобы настроить свойства среды в консоли Elastic Beanstalk

Откройте консоль Elastic Beanstalk.

  • Перейдите на страницу управления для своей среды.

  • Выберите конфигурацию.

  • В категории конфигурации программного обеспечения выберитеИзменить.

  • В разделе Свойства среды введите пары ключ-значение.

  • Выберите Применить.

Вы сиспользовать файлы конфигурации Elastic Beanstalk для установки свойств среды и параметров конфигурации в исходном коде. Используйте aws :asticbeanstalk: application: пространство имен среды для определения свойств среды.

#Example .ebextensions/options.config

option_settings:
  aws:elasticbeanstalk:application:environment:
    API_ENDPOINT: www.example.com/api

, тогда вы можете использовать

import os
endpoint = os.environ['API_ENDPOINT']

asticbeanstalk-environment-cfg-softwaresettings

...