diff --git a/docs/concepts/guardrails/configured.md b/docs/concepts/guardrails/configured.md index 241dcbcc..45448499 100644 --- a/docs/concepts/guardrails/configured.md +++ b/docs/concepts/guardrails/configured.md @@ -5,6 +5,10 @@ sidebar_label: Stack/Configured # Stacks and the Configured Guardrails +> [!IMPORTANT] +> This document pertains to the legacy `Stack` and `Configured` controls. Consider migrating to the [Stack [Native] Controls](/guardrails/docs/concepts/guardrails/stacks) for [even more power and flexibility!](/guardrails/docs/concepts/guardrails/stacks#stack-native-controls-vs-legacy-stacks--configured-controls). + + ## Overview Guardrails provides a mechanism for managing resource configuration using Terraform. diff --git a/docs/concepts/guardrails/index.md b/docs/concepts/guardrails/index.md index d9254258..507f4c72 100644 --- a/docs/concepts/guardrails/index.md +++ b/docs/concepts/guardrails/index.md @@ -23,7 +23,8 @@ there are many guardrails that are common and consistent across resources. | [Encryption in Transit](concepts/guardrails/encryption-in-transit) | A mechanism to manage data encryption in transit (i.e. AWS S3 Buckets). | | [Public Access](concepts/guardrails/public-access) | Configure public access settings on cloud resources. | | [Scheduling](concepts/guardrails/scheduling) | Define schedules to control cloud resource usage. | -| [Stacks/ Configured](concepts/guardrails/configured) | Manage resource configuration using Terraform. | +| [Stacks/ Configured](concepts/guardrails/configured) | [DEPRECATED] Manage resource configuration using Terraform. | +| [Stacks [Native]](concepts/guardrails/stacks) | Manage resource configuration using OpenTofu (open source Terraform). | | [Tagging](concepts/guardrails/tagging) | Tagging of both Guardrails resources, such as a folder, and Cloud Provider resources, such as an Azure Subscription or AWS EC2 instance. | | [Trusted Access](concepts/guardrails/trusted-access) | Trusted Access allow you to define whom and what you trust and enforce those limitations on your cloud resources. | | [Usage](concepts/guardrails/usage) | Generate alarms if the number of resources in a specific service exceeds a set amount. | diff --git a/docs/concepts/guardrails/stacks.md b/docs/concepts/guardrails/stacks.md new file mode 100644 index 00000000..3822d18a --- /dev/null +++ b/docs/concepts/guardrails/stacks.md @@ -0,0 +1,243 @@ +--- +title: Stack [Native] Guardrails +sidebar_label: Stack [Native] +--- + +# Stack [Native] Guardrails + +## Overview + +Guardrails **Stack [Native]** controls provide a mechanism for managing resource configuration using [OpenTofu](https://opentofu.org), an open-source implementation of Terraform. You can define your configuration using standard Terraform HCL, and Guardrails will apply your configuration at regular intervals or when resources are modified, enforcing your standards and preventing configuration drift. + + +## Stack Controls + +Guardrails provides many `Stack [Native]` controls in multiple mods. These stacks all behave the same way and have the same policy structure, but they serve different purposes: +- Account/Project/Subscription stacks allow you to manage resources that are global to the account. +- Regional stacks allow you to manage regionally scoped resources. +- Service stacks let you organize and separate your stack configurations by the types of resources that they manage. The service stacks target the region or resource group for regional services and the "global" region for global services like IAM. +- Resource stacks target individual resources, allowing you to configure standard resources that should be associated with them. Resource stacks will run for every resource of that type, and will run whenever new resources of that type are discovered. + + +
Stack | +Target | +Intended Purpose | +
---|---|---|
AWS > Account > Stack [Native] | +Account | +Account-level settings and global services like Route53 and CloudFront. | +
AWS > Region > Stack [Native] | +Region | +Regional resources, like Lambda Functions, EC2 instances, SNS Topics, etc. | +
AWS > IAM > Stack [Native] | +Account | +IAM resources, like standard users, roles, policies, and identity providers. | +
AWS > VPC > Stack [Native] | +Region | +VPC resources to set your standard "landing zone" VPCs - subnets, security groups, gateways, etc. | +
AWS > S3 > Bucket > Stack [Native] | +Bucket | +Resources to associate with buckets such as lifecycle policies or replication configuration | +
AWS > VPC > VPC > Stack [Native] | +VPC | +Standard VPC resources that belong in every VPC, like security groups, gateways, NACLs, etc. | +
Azure > Subscription > Stack [Native] | +Subscription | +Subscription-level settings and global services | +
Azure > Network > Virtual Network > Stack [Native] | +Virtual Network | +Standard network resources that belong in every Virtual Network | +
GCP > Project > Stack [Native] | +Project | +Project-level settings and global services | +