Packages

This provides a way to store environment variables into AWS SSM keystore backed by KMS encryption. Then you can invoke a function that will update your environment variables without recompiling or restarting your application.

Current section

Files

Jump to
dynamic_env lib aws util.ex
Raw

lib/aws/util.ex

defmodule DynamicEnv.AWS.Util do
import DynamicEnv.AWS.Config
def generate_kms_key_id(key_name) do
key_id = config()
|> AWS.KMS.create_key(%{"Description": key_name})
|> elem(1)
|> Map.get("KeyMetadata")
|> Map.get("KeyId")
config()
|> AWS.KMS.create_alias(%{"TargetKeyId": key_id, "AliasName": "alias/#{key_name}"})
key_id
end
end