Как отправить Node-Red на GitHub, не раскрывая конфиденциальную информацию?

avatar
Portfedh
9 августа 2021 в 03:39
171
1
-1

Я хотел бы поделиться своим кодом NodeRed в Github в рамках проекта IOT, однако я хотел бы сохранить некоторые свои данные в тайне (пароль Wi-Fi, пароль базы данных и т. д.).

Я мог бы вручную стереть эту информацию, но это было бы не очень практично, так как мне пришлось бы делать это каждый раз, когда я обновляю файл.

В своих скриптах Python я использую os.environ.get для сохранения паролей и безопасной загрузки на GitHub.

¿Есть ли какой-нибудь способ настроить Node-Red для простой отправки на GitHub без раскрытия конфиденциальной информации?

Источник
okzoomer
9 августа 2021 в 03:47
0

создать файл .gitignore и добавить .env и другие файлы без отслеживания?

Portfedh
9 августа 2021 в 04:21
0

Но как тогда настроить Node Red для извлечения учетных данных из файлов .env?

okzoomer
9 августа 2021 в 04:27
0

выполнить с опцией --env-file

Ответы (1)

avatar
hardillb
9 августа 2021 в 06:50
1

Свойства узла можно получить из переменных среды, используя синтаксис ${}. Это реализуется средой выполнения, поэтому должно работать на всех узлах. Если узел использует типизированный виджет ввода, он также должен напрямую поддерживать переменные среды.

Подробности в документации здесь: https://nodered.org/docs/user-guide/environment-variables

Во-вторых, любые параметры узла, явно помеченные как учетные данные, хранятся в отдельном зашифрованном файле _creds.json. По умолчанию он шифруется случайно сгенерированным ключом при первом запуске и сохраняется в скрытом файле в userDir, но вы можете установить свой собственный ключ в файле settings.js.

Если вы используете функцию Проекты для хранения ваших потоков в репозитории git, вам будет предложено ввести ключ шифрования, необходимый при настройке проекта или при его извлечении. Документация по проектам здесь: https://nodered.org/docs/user-guide/projects/