[Epic] Cloud resource hierarchy — Azure and DigitalOcean provider types #1019

Open
opened 2026-03-17 03:38:14 +00:00 by freemo · 2 comments
Owner

Summary

PR #669 implements the generic cloud-* base layer (19 types) and the full AWS hierarchy (39 types). This epic tracks the deferred work to add full hierarchies for Azure and DigitalOcean (and eventually GCP).

Currently gcp and azure exist as flat provider-level types inheriting from cloud-account. They need to be expanded into full hierarchies following the same pattern as AWS.

Scope

Azure Hierarchy (deferred)

  • azure-subscription (inherits cloud-account)
  • azure-resource-group
  • azure-vnet (inherits cloud-network), azure-subnet, azure-nsg
  • azure-vm (inherits cloud-compute-instance)
  • azure-storage-account (inherits cloud-object-store), azure-managed-disk
  • azure-ad-user, azure-ad-group, azure-role-assignment
  • azure-monitor-log-analytics, azure-monitor-alert
  • azure-service-bus-queue, azure-event-hub
  • azure-acr-repo, azure-aks-cluster

DigitalOcean Hierarchy (deferred)

  • do-account (inherits cloud-account)
  • do-region, do-vpc, do-droplet, do-spaces-bucket, etc.

GCP Hierarchy (deferred)

  • Replace flat gcp type with gcp-project hierarchy
  • gcp-project, gcp-region, gcp-vpc, gcp-gce-instance, gcp-gcs-bucket, etc.

Acceptance Criteria

  • Each provider has ≥15 types following the generic base inheritance pattern
  • All types pass ResourceTypeSpec.from_config() validation
  • Inheritance chains ≤ 5 levels deep (ADR-042)
  • BDD feature tests added for each provider
  • docs/specification.md updated with new provider tables
  • PR #669: Cloud resource hierarchy (generic + AWS)
  • Issue #343: Cloud Infrastructure Resources
## Summary PR #669 implements the generic `cloud-*` base layer (19 types) and the full AWS hierarchy (39 types). This epic tracks the deferred work to add full hierarchies for Azure and DigitalOcean (and eventually GCP). Currently `gcp` and `azure` exist as flat provider-level types inheriting from `cloud-account`. They need to be expanded into full hierarchies following the same pattern as AWS. ## Scope ### Azure Hierarchy (deferred) - `azure-subscription` (inherits `cloud-account`) - `azure-resource-group` - `azure-vnet` (inherits `cloud-network`), `azure-subnet`, `azure-nsg` - `azure-vm` (inherits `cloud-compute-instance`) - `azure-storage-account` (inherits `cloud-object-store`), `azure-managed-disk` - `azure-ad-user`, `azure-ad-group`, `azure-role-assignment` - `azure-monitor-log-analytics`, `azure-monitor-alert` - `azure-service-bus-queue`, `azure-event-hub` - `azure-acr-repo`, `azure-aks-cluster` ### DigitalOcean Hierarchy (deferred) - `do-account` (inherits `cloud-account`) - `do-region`, `do-vpc`, `do-droplet`, `do-spaces-bucket`, etc. ### GCP Hierarchy (deferred) - Replace flat `gcp` type with `gcp-project` hierarchy - `gcp-project`, `gcp-region`, `gcp-vpc`, `gcp-gce-instance`, `gcp-gcs-bucket`, etc. ## Acceptance Criteria - [ ] Each provider has ≥15 types following the generic base inheritance pattern - [ ] All types pass `ResourceTypeSpec.from_config()` validation - [ ] Inheritance chains ≤ 5 levels deep (ADR-042) - [ ] BDD feature tests added for each provider - [ ] `docs/specification.md` updated with new provider tables ## Related - PR #669: Cloud resource hierarchy (generic + AWS) - Issue #343: Cloud Infrastructure Resources
freemo added this to the v3.6.0 milestone 2026-03-17 18:31:19 +00:00
freemo self-assigned this 2026-03-23 03:36:43 +00:00
Author
Owner

Dependency link created: Epic #1019 now blocks Legendary #378 ("Post-MVP Deferred Work"). This establishes the correct parent-child relationship — cloud resource hierarchy work is deferred post-MVP work.


Automated by CleverAgents Bot
Supervisor: Backlog Grooming | Agent: ca-backlog-groomer

Dependency link created: Epic #1019 now blocks Legendary #378 ("Post-MVP Deferred Work"). This establishes the correct parent-child relationship — cloud resource hierarchy work is deferred post-MVP work. --- **Automated by CleverAgents Bot** Supervisor: Backlog Grooming | Agent: ca-backlog-groomer
Author
Owner

Epic Planning Complete — Child Issues Linked

The following child issues have been created and linked to this epic via Forgejo dependency tracking (each child blocks this epic):

Azure Hierarchy

  • #2425 — feat(resource): define Azure account and resource-group base resource types (foundational — no blockers)
  • #2426 — feat(resource): define Azure networking resource types (azure-vnet, azure-subnet, azure-nsg) (blocked by #2425)
  • #2427 — feat(resource): define Azure compute resource types (azure-vm, azure-managed-disk) (blocked by #2426)
  • #2428 — feat(resource): define Azure storage resource type (azure-storage-account) (blocked by #2425)
  • #2429 — feat(resource): define Azure IAM resource types (azure-ad-user, azure-ad-group, azure-role-assignment) (blocked by #2425)
  • #2430 — feat(resource): define Azure observability and messaging resource types (blocked by #2425)
  • #2431 — feat(resource): define Azure container resource types (azure-acr-repo, azure-aks-cluster) (blocked by #2425)

DigitalOcean Hierarchy

  • #2432 — feat(resource): define DigitalOcean cloud resource hierarchy (do-account, do-region, do-vpc, do-droplet, do-spaces-bucket) (no blockers)

GCP Hierarchy

  • #2442 — feat(resource): define GCP cloud resource hierarchy (gcp-project, gcp-region, gcp-vpc, gcp-gce-instance, gcp-gcs-bucket) (blocked by #2425 as pattern reference)

Dependency Chain

#2425 (Azure base) ──→ #2426 (Azure networking) ──→ #2427 (Azure compute)
                   ──→ #2428 (Azure storage)
                   ──→ #2429 (Azure IAM)
                   ──→ #2430 (Azure observability/messaging)
                   ──→ #2431 (Azure containers)
                   ──→ #2442 (GCP hierarchy)
#2432 (DigitalOcean) — independent, no blockers

All 9 child issues block this epic. Issues #2425–#2432 were pre-existing (created by other agents) and have been linked. Issue #2442 (GCP) was newly created by this planner.


Automated by CleverAgents Bot
Supervisor: Unknown | Agent: ca-epic-planner

## Epic Planning Complete — Child Issues Linked The following child issues have been created and linked to this epic via Forgejo dependency tracking (each child **blocks** this epic): ### Azure Hierarchy - [ ] #2425 — feat(resource): define Azure account and resource-group base resource types *(foundational — no blockers)* - [ ] #2426 — feat(resource): define Azure networking resource types (azure-vnet, azure-subnet, azure-nsg) *(blocked by #2425)* - [ ] #2427 — feat(resource): define Azure compute resource types (azure-vm, azure-managed-disk) *(blocked by #2426)* - [ ] #2428 — feat(resource): define Azure storage resource type (azure-storage-account) *(blocked by #2425)* - [ ] #2429 — feat(resource): define Azure IAM resource types (azure-ad-user, azure-ad-group, azure-role-assignment) *(blocked by #2425)* - [ ] #2430 — feat(resource): define Azure observability and messaging resource types *(blocked by #2425)* - [ ] #2431 — feat(resource): define Azure container resource types (azure-acr-repo, azure-aks-cluster) *(blocked by #2425)* ### DigitalOcean Hierarchy - [ ] #2432 — feat(resource): define DigitalOcean cloud resource hierarchy (do-account, do-region, do-vpc, do-droplet, do-spaces-bucket) *(no blockers)* ### GCP Hierarchy - [ ] #2442 — feat(resource): define GCP cloud resource hierarchy (gcp-project, gcp-region, gcp-vpc, gcp-gce-instance, gcp-gcs-bucket) *(blocked by #2425 as pattern reference)* ### Dependency Chain ``` #2425 (Azure base) ──→ #2426 (Azure networking) ──→ #2427 (Azure compute) ──→ #2428 (Azure storage) ──→ #2429 (Azure IAM) ──→ #2430 (Azure observability/messaging) ──→ #2431 (Azure containers) ──→ #2442 (GCP hierarchy) #2432 (DigitalOcean) — independent, no blockers ``` All 9 child issues block this epic. Issues #2425–#2432 were pre-existing (created by other agents) and have been linked. Issue #2442 (GCP) was newly created by this planner. --- **Automated by CleverAgents Bot** Supervisor: Unknown | Agent: ca-epic-planner
freemo removed this from the v3.6.0 milestone 2026-04-07 02:41:12 +00:00
HAL9000 added this to the v3.6.0 milestone 2026-04-08 17:54:24 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
cleveragents/cleveragents-core#1019
No description provided.