AWS
Credentials, the SDK reachable from Jsonnet, an S3 state backend, and factories for buckets and Lambda functions.
-
aws.authAWS credentials, role chaining and profile handling for SpellCraft, with the AWS SDK reachable directly from Jsonnet. -
aws.terraformS3 state backend, remote state, artifacts and provider aliases for SpellCraft. -
aws.terraform.s3Secure-by-default S3 buckets for SpellCraft, in one line of Jsonnet. -
aws.terraform.lambdaNode.js Lambda functions for SpellCraft, packaging, IAM and log retention included.
local plugins = import "@c6fc/spellcraft-plugins/module.libsonnet";
local aws = plugins.aws.terraform;
local s3 = plugins.aws.terraform.s3;
{
// Creates the state bucket if it is missing, and returns the backend block.
"backend.tf.json": aws.bootstrap("my-project"),
// One aliased provider per region the account can see, plus a default.
"providers.tf.json": { provider: aws.providerAliases("us-east-1") },
// KMS-encrypted, public access blocked, TLS 1.2 enforced.
"artifacts.tf.json": s3.bucket("artifacts", "us-west-2"),
}