feat(resource): add cloud infrastructure resources #669

Merged
freemo merged 1 commits from feature/m7-post-resource-cloud into master 2026-03-17 17:22:14 +00:00
Owner

Summary

  • Add cloud infrastructure resource types (aws, gcp, azure) with credential fields, region/tenant metadata, and stubbed sandbox strategies
  • Implement CloudResourceHandler with credential resolution from environment variables and profile names, with no secrets logged
  • Register cloud types in bootstrap_builtin_types() with sandbox_strategy = "none"

Key Changes

  • New: src/cleveragents/resource/handlers/cloud.py - CloudResourceHandler with aws/gcp/azure type definitions, credential resolution, and stubbed sandbox strategies
  • Modified: src/cleveragents/domain/models/core/resource_type.py - Add aws, gcp, azure to BUILTIN_NAMES
  • Modified: src/cleveragents/application/services/resource_registry_service.py - Register cloud types in _BUILTIN_TYPES
  • Modified: src/cleveragents/resource/handlers/__init__.py - Export CloudResourceHandler
  • New: features/cloud_resources.feature + step definitions - 29 BDD test scenarios
  • New: robot/cloud_resources.robot + helper - 9 Robot integration tests
  • New: benchmarks/cloud_resource_bench.py - ASV performance benchmarks
  • New: docs/reference/cloud_resources.md - Documentation

Testing

  • All 29 Behave BDD scenarios pass
  • All 9 Robot Framework integration tests pass
  • Full unit test suite (9757 scenarios) passes with 0 failures
  • Lint (ruff) and typecheck (pyright strict) pass with 0 errors

Closes #343

## Summary - Add cloud infrastructure resource types (aws, gcp, azure) with credential fields, region/tenant metadata, and stubbed sandbox strategies - Implement `CloudResourceHandler` with credential resolution from environment variables and profile names, with no secrets logged - Register cloud types in `bootstrap_builtin_types()` with `sandbox_strategy = "none"` ## Key Changes - **New**: `src/cleveragents/resource/handlers/cloud.py` - CloudResourceHandler with aws/gcp/azure type definitions, credential resolution, and stubbed sandbox strategies - **Modified**: `src/cleveragents/domain/models/core/resource_type.py` - Add aws, gcp, azure to BUILTIN_NAMES - **Modified**: `src/cleveragents/application/services/resource_registry_service.py` - Register cloud types in _BUILTIN_TYPES - **Modified**: `src/cleveragents/resource/handlers/__init__.py` - Export CloudResourceHandler - **New**: `features/cloud_resources.feature` + step definitions - 29 BDD test scenarios - **New**: `robot/cloud_resources.robot` + helper - 9 Robot integration tests - **New**: `benchmarks/cloud_resource_bench.py` - ASV performance benchmarks - **New**: `docs/reference/cloud_resources.md` - Documentation ## Testing - All 29 Behave BDD scenarios pass - All 9 Robot Framework integration tests pass - Full unit test suite (9757 scenarios) passes with 0 failures - Lint (ruff) and typecheck (pyright strict) pass with 0 errors Closes #343
freemo added this to the v3.6.0 milestone 2026-03-10 07:01:02 +00:00
freemo force-pushed feature/m7-post-resource-cloud from c061ebb16b to 1c6ecd27f2 2026-03-10 18:01:35 +00:00 Compare
freemo force-pushed feature/m7-post-resource-cloud from 1c6ecd27f2 to 425bb774b7 2026-03-10 18:27:57 +00:00 Compare
freemo self-assigned this 2026-03-11 05:46:44 +00:00
freemo added the
Type
Feature
label 2026-03-11 05:47:14 +00:00
Author
Owner

PM Compliance Update (Day 31):

Fixed by PM:

  • Added Type/Feature label
  • Added assignee (@freemo)
  • Added closing keyword to PR body

Remaining issue: Merge conflict. Please rebase against current develop branch (17 PRs merged Days 30-31).

Priority: M6 work — continue at current pace.

**PM Compliance Update (Day 31)**: Fixed by PM: - Added `Type/Feature` label - Added assignee (@freemo) - Added closing keyword to PR body **Remaining issue**: Merge conflict. Please rebase against current `develop` branch (17 PRs merged Days 30-31). **Priority**: M6 work — continue at current pace.
freemo added a new dependency 2026-03-11 06:00:10 +00:00
freemo added the
Priority
Medium
State
Unverified
labels 2026-03-11 18:15:27 +00:00
Author
Owner

PM Status — Day 32

Status: CONFLICTED — needs rebase. Medium priority (M7).

PR: Cloud infrastructure resource types (AWS/GCP/Azure). M7 (v3.6.0), due Mar 28. Author: @freemo. 1 comment, 0 reviews.

Notes: Adds 3 cloud resource types with credential resolution from env vars. sandbox_strategy=none is appropriate for cloud resources. Security-sensitive area (credential handling) — needs careful code review.

Action Required: @freemo — Rebase when convenient. Labels have Priority/Medium, State/Unverified, Type/Feature. Missing MoSCoW (Should have), Points (8).

## PM Status — Day 32 **Status**: CONFLICTED — needs rebase. Medium priority (M7). **PR**: Cloud infrastructure resource types (AWS/GCP/Azure). M7 (v3.6.0), due Mar 28. Author: @freemo. 1 comment, 0 reviews. **Notes**: Adds 3 cloud resource types with credential resolution from env vars. `sandbox_strategy=none` is appropriate for cloud resources. Security-sensitive area (credential handling) — needs careful code review. **Action Required**: **@freemo** — Rebase when convenient. Labels have Priority/Medium, State/Unverified, Type/Feature. Missing MoSCoW (Should have), Points (8).
freemo added the
MoSCoW
Could have
Points
13
labels 2026-03-12 20:57:13 +00:00
Author
Owner

Rebase Required

@freemo — This PR has merge conflicts with master. Please rebase onto the latest master and force-push. See also: #668, #703, #708, #713, #720, #722 (all need rebase).

## Rebase Required @freemo — This PR has merge conflicts with `master`. Please rebase onto the latest `master` and force-push. See also: #668, #703, #708, #713, #720, #722 (all need rebase).
freemo reviewed 2026-03-16 16:26:43 +00:00
freemo left a comment
Author
Owner

PM Day 36: Cloud infrastructure resources. Closes #343. M7 scope. Merge conflict. @freemo rebase needed.

PM Day 36: Cloud infrastructure resources. Closes #343. M7 scope. Merge conflict. @freemo rebase needed.
freemo force-pushed feature/m7-post-resource-cloud from 425bb774b7 to 17d2f7c76d 2026-03-16 22:49:56 +00:00 Compare
freemo force-pushed feature/m7-post-resource-cloud from 17d2f7c76d to 5abf9fa52a 2026-03-16 22:59:14 +00:00 Compare
freemo force-pushed feature/m7-post-resource-cloud from 5abf9fa52a to 2bd096c027 2026-03-17 04:18:34 +00:00 Compare
freemo force-pushed feature/m7-post-resource-cloud from 2bd096c027 to 7fcdd01953 2026-03-17 16:44:10 +00:00 Compare
freemo scheduled this pull request to auto merge when all checks succeed 2026-03-17 16:44:45 +00:00
freemo added
State
In Review
and removed
State
Unverified
labels 2026-03-17 16:45:47 +00:00
freemo force-pushed feature/m7-post-resource-cloud from 7fcdd01953 to c65e8a5285 2026-03-17 17:15:10 +00:00 Compare
freemo merged commit c65e8a5285 into master 2026-03-17 17:22:14 +00:00
freemo deleted branch feature/m7-post-resource-cloud 2026-03-17 17:22:14 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Blocks
Reference: cleveragents/cleveragents-core#669