Я сделал это!
Для локального развития я просто установил свой env как обычно.
Если выбран режим Production, я загружаю их из Google Datastore allпары значений ключей и задайте их как переменную env.
Я делаю это в инициализаторе, для этого просто создаю файл в YourApp/config/initializers/
и помещаю в него код!Просто создайте новые объекты, скопируйте имя Kind в коде и установите идентификатор своего проекта.Поскольку ваше приложение размещено в Google, оно должно иметь доступ к хранилищу данных (необходимо установить права в IAM-менеджере)
require "google/cloud/datastore"
# Load the enviroment variables from the google datastore!
if Rails.env == "production"
data_store = Google::Cloud::Datastore.new(
project_id: 'YOUR_PROJECT_ID'
)
query = data_store.query "YOUR_KIND_NAME"
results = data_store.run query
puts "Set custom env variables!"
# Set each result as an env variable
results[0].properties.to_h.each do |key, value|
ENV[key]= value
end
end