Skip to content

Conversation

@or4dx
Copy link
Contributor

@or4dx or4dx commented Jul 19, 2025

This pull request adds a comprehensive README.md file to the bit-blocks-starter repository, providing an overview of the project, its structure, and instructions for getting started. It aims to make the repository more user-friendly and accessible for startups, founders, and DevOps teams.

Documentation Enhancements:

  • Added a detailed project overview, explaining the purpose of the SaaS Automation Bitblock Pack and its benefits for infrastructure automation and DevOps.
  • Included a visual representation of the project structure, describing the purpose of each directory and file.
  • Provided a step-by-step "Getting Started" guide to help users quickly set up and customize the repository for their needs.
  • Highlighted key features of the repository, including modular automation packs, Terraform templates, CI/CD pipeline scripts, and observability tooling.

@or4dx or4dx merged commit cf4c0b6 into main Jul 19, 2025
4 of 29 checks passed
@github-actions
Copy link

🧾 Terraform Plan for gov_tagging

⚠️ Review this carefully before applying changes

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # module.tag_governance_advanced.aws_config_config_rule.required_tags will be created
  + resource "aws_config_config_rule" "required_tags" {
      + arn              = (known after apply)
      + id               = (known after apply)
      + input_parameters = jsonencode(
            {
              + tag1Key = "Environment"
              + tag2Key = "Owner"
            }
        )
      + name             = "required-tags"
      + rule_id          = (known after apply)
      + tags_all         = (known after apply)

      + scope {
          + compliance_resource_types = [
              + "AWS::EC2::Instance",
              + "AWS::RDS::DBInstance",
              + "AWS::S3::Bucket",
            ]
        }

      + source {
          + owner             = "AWS"
          + source_identifier = "REQUIRED_TAGS"
        }
    }

  # module.tag_governance_advanced.aws_config_config_rule.sns_alert[0] will be created
  + resource "aws_config_config_rule" "sns_alert" {
      + arn              = (known after apply)
      + id               = (known after apply)
      + input_parameters = jsonencode(
            {
              + tag1Key = "Environment"
            }
        )
      + name             = "sns-config-compliance-alert"
      + rule_id          = (known after apply)
      + tags_all         = (known after apply)

      + scope {
          + compliance_resource_types = [
              + "AWS::EC2::Instance",
            ]
        }

      + source {
          + owner             = "AWS"
          + source_identifier = "REQUIRED_TAGS"
        }
    }

  # module.tag_governance_advanced.aws_organizations_policy.tag_policy will be created
  + resource "aws_organizations_policy" "tag_policy" {
      + arn         = (known after apply)
      + content     = jsonencode(
            {
              + tags = {
                  + Environment = {
                      + tag_value = {
                          + "*" = {
                              + enforced_for = [
                                  + "ec2:instance",
                                  + "s3:bucket",
                                ]
                            }
                        }
                    }
                  + Owner       = {
                      + tag_value = {
                          + "*" = {
                              + enforced_for = [
                                  + "ec2:instance",
                                ]
                            }
                        }
                    }
                }
            }
        )
      + description = "Strict org-wide tagging policy"
      + id          = (known after apply)
      + name        = "enforce-core-tags"
      + tags_all    = (known after apply)
      + type        = "TAG_POLICY"
    }

  # module.tag_governance_advanced.aws_organizations_policy_attachment.this will be created
  + resource "aws_organizations_policy_attachment" "this" {
      + id        = (known after apply)
      + policy_id = (known after apply)
      + target_id = "ou-abcd-12345678"
    }

  # module.tag_governance_advanced.aws_sns_topic.compliance_alerts[0] will be created
  + resource "aws_sns_topic" "compliance_alerts" {
      + arn                         = (known after apply)
      + content_based_deduplication = false
      + fifo_topic                  = false
      + id                          = (known after apply)
      + name                        = "compliance-alerts-topic"
      + name_prefix                 = (known after apply)
      + owner                       = (known after apply)
      + policy                      = (known after apply)
      + signature_version           = (known after apply)
      + tags_all                    = (known after apply)
      + tracing_config              = (known after apply)
    }

  # module.tag_governance_basic.aws_config_config_rule.required_tags will be created
  + resource "aws_config_config_rule" "required_tags" {
      + arn              = (known after apply)
      + id               = (known after apply)
      + input_parameters = jsonencode(
            {
              + tag1Key = "Environment"
              + tag2Key = "Owner"
            }
        )
      + name             = "required-tags"
      + rule_id          = (known after apply)
      + tags_all         = (known after apply)

      + scope {
          + compliance_resource_types = [
              + "AWS::EC2::Instance",
              + "AWS::S3::Bucket",
            ]
        }

      + source {
          + owner             = "AWS"
          + source_identifier = "REQUIRED_TAGS"
        }
    }

  # module.tag_governance_basic.aws_organizations_policy.tag_policy will be created
  + resource "aws_organizations_policy" "tag_policy" {
      + arn         = (known after apply)
      + content     = jsonencode(
            {
              + tags = {
                  + Environment = {
                      + tag_value = {
                          + "*" = {
                              + enforced_for = [
                                  + "ec2:instance",
                                  + "s3:bucket",
                                ]
                            }
                        }
                    }
                  + Owner       = {
                      + tag_value = {
                          + "*" = {
                              + enforced_for = [
                                  + "ec2:instance",
                                ]
                            }
                        }
                    }
                }
            }
        )
      + description = "Ensure all resources have Environment and Owner tags"
      + id          = (known after apply)
      + name        = "enforce-core-tags"
      + tags_all    = (known after apply)
      + type        = "TAG_POLICY"
    }

  # module.tag_governance_basic.aws_organizations_policy_attachment.this will be created
  + resource "aws_organizations_policy_attachment" "this" {
      + id        = (known after apply)
      + policy_id = (known after apply)
      + target_id = "ou-abcd-12345678"
    }

Plan: 8 to add, 0 to change, 0 to destroy.

Warning: Argument is deprecated

  with provider["registry.terraform.io/hashicorp/aws"],
  on providers.tf line 7, in provider "aws":
   7:   s3_force_path_style         = true

Use s3_use_path_style instead.

(and one more similar warning elsewhere)

Warning: Attribute Deprecated

  with provider["registry.terraform.io/hashicorp/aws"],
  on providers.tf line 7, in provider "aws":
   7:   s3_force_path_style         = true

Use s3_use_path_style instead.

(and one more similar warning elsewhere)

─────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant