85f8970d00
CI / build (push) Successful in 21s
CI / quality (push) Has been cancelled
CI / security (push) Has been cancelled
CI / integration_tests (push) Has been cancelled
CI / e2e_tests (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / typecheck (push) Has been cancelled
CI / helm (push) Has been cancelled
CI / benchmark-publish (push) Has been cancelled
CI / unit_tests (push) Has been cancelled
CI / coverage (push) Has been cancelled
CI / docker (push) Has been cancelled
CI / status-check (push) Has been cancelled
CI / benchmark-regression (push) Has been cancelled
Robot Framework integration test for Specification Workflow Example 8: Cloud Infrastructure Management with the supervised automation profile. Test suite exercises: - Custom resource type registration (local/terraform-state) via YAML fixture with copy_on_write sandbox strategy and CLI args validation - Custom skill creation (local/terraform-ops) with 3 anonymous tools (terraform_plan, terraform_show, cloud_metrics) and skill composition via includes (local/file-ops) - Supervised profile gating: verifies both strategize-to-execute (create_tool=1.0) and execute-to-apply (select_tool=1.0) transitions require explicit human approval via should_auto_progress() - Action creation with supervised profile, typed arguments (STRING, FLOAT), and invariant propagation to plans via InvariantSource.ACTION - Mocked infrastructure analysis producing right-sizing recommendations for over-provisioned resources while skipping critical instances - Invariant enforcement blocking modifications to resources tagged critical:true while allowing non-critical changes Fixture files provide deterministic mock Terraform state (3 AWS resources), CloudWatch metrics (CPU at 12% avg on m5.2xlarge), and sample HCL configuration. ISSUES CLOSED: #772 Reviewed-by: freemo (reviewer-pool-1) Co-authored-by: Brent E. Edwards <brent.edwards@cleverthis.com> Co-committed-by: Brent E. Edwards <brent.edwards@cleverthis.com>
53 lines
917 B
Terraform
53 lines
917 B
Terraform
terraform {
|
|
required_version = ">= 1.5.0"
|
|
|
|
required_providers {
|
|
aws = {
|
|
source = "hashicorp/aws"
|
|
version = "~> 5.0"
|
|
}
|
|
}
|
|
|
|
backend "s3" {
|
|
bucket = "terraform-state-prod"
|
|
key = "infrastructure/terraform.tfstate"
|
|
region = "us-east-1"
|
|
}
|
|
}
|
|
|
|
provider "aws" {
|
|
region = "us-east-1"
|
|
}
|
|
|
|
resource "aws_instance" "web" {
|
|
ami = "ami-0c55b159cbfafe1f0"
|
|
instance_type = "m5.2xlarge"
|
|
|
|
tags = {
|
|
Name = "web-server"
|
|
Environment = "production"
|
|
critical = "false"
|
|
}
|
|
}
|
|
|
|
resource "aws_instance" "api" {
|
|
ami = "ami-0c55b159cbfafe1f0"
|
|
instance_type = "m5.xlarge"
|
|
|
|
tags = {
|
|
Name = "api-server"
|
|
Environment = "production"
|
|
critical = "true"
|
|
}
|
|
}
|
|
|
|
resource "aws_s3_bucket" "logs" {
|
|
bucket = "prod-logs-bucket"
|
|
|
|
tags = {
|
|
Name = "log-storage"
|
|
Environment = "production"
|
|
critical = "false"
|
|
}
|
|
}
|