Sha256: 61016c6f7d75b1d5eda2e655b6eabf402bca6535277188e547ed1c33d0fb5879
Contents?: true
Size: 1.65 KB
Versions: 39
Compression:
Stored size: 1.65 KB
Contents
# frozen_string_literal: true require "rails/generators/base" require "rails/generators/rails/master_key/master_key_generator" require "active_support/core_ext/string/strip" require "active_support/encrypted_configuration" module Rails module Generators class CredentialsGenerator < Base # :nodoc: def add_credentials_file unless credentials.content_path.exist? template = credentials_template say "Adding #{credentials.content_path} to store encrypted credentials." say "" say "The following content has been encrypted with the Rails master key:" say "" say template, :on_green say "" add_credentials_file_silently(template) say "You can edit encrypted credentials with `bin/rails credentials:edit`." say "" end end def add_credentials_file_silently(template = nil) unless credentials.content_path.exist? credentials.write(credentials_template) end end private def credentials ActiveSupport::EncryptedConfiguration.new( config_path: "config/credentials.yml.enc", key_path: "config/master.key", env_key: "RAILS_MASTER_KEY", raise_if_missing_key: true ) end def credentials_template <<-YAML.strip_heredoc # aws: # access_key_id: 123 # secret_access_key: 345 # Used as the base secret for all MessageVerifiers in Rails, including the one protecting cookies. secret_key_base: #{SecureRandom.hex(64)} YAML end end end end
Version data entries
39 entries across 39 versions & 3 rubygems