Conversation
- README.md: Add ECS support, auth system, user/settings management, new API endpoints, updated project structure, new CI/CD workflows (frontend-tests, ecs-build), IAM module, and Makefile targets - CLAUDE.md: Add ECS collector/routes, auth/users/settings routes and services, auth context/patterns, topology filtering, settings UI components, updated directory structure and quick reference - infrastructure/README.md: Add IAM module to module table with description of its role and policies - infrastructure/modules/iam/README.md: New README documenting the standalone IAM module resources, variables, and outputs https://claude.ai/code/session_01GSu1MTW8XvAbfNK28ug1kU
Implements full ECS container visualization with a new "managed by" concept that supports multiple management sources (Terraform, GitHub Actions, unmanaged). Backend changes: - Add ManagedBy enum and managed_by field to ECS schemas and database model - Add image_tag field to ECSContainer for CI/CD deployment detection - Add management source detection in ECS collector using image tag patterns (git SHA, semver) and resource tags (deployed-by, managed-by) - Add /ecs/summary API endpoint for dashboard counts - Update topology endpoint to include all ECS containers (not just TF-managed) with managed_by field - Update resource sync to persist managed_by and image_tag fields - Add ECS read permissions to IAM task role policy Frontend changes: - Create ManagedByBadge component with Terraform/GitHub Actions/Unmanaged states - Add ManagedBy type and ECSSummaryResponse to TypeScript types - Update ECS list page and detail panels to use ManagedByBadge - Add ECS Containers entry to sidebar navigation - Add /ecs route to App.tsx router - Add ECS summary card to dashboard with cluster/task counts - Update topology ECS node to show TF/GHA badge based on managed_by - Add useECSSummary hook and getECSSummary API function https://claude.ai/code/session_016ZmpvrW3h5SFZ3LGyRPXCr
- Add ECSListPage mock to App.test.tsx vi.mock("@/pages")
- Add useECSSummary mock to Dashboard.test.tsx vi.mock("@/hooks")
- Fix Prettier formatting in ManagedByBadge.tsx
https://claude.ai/code/session_016ZmpvrW3h5SFZ3LGyRPXCr
Add ECS management source detection and improve container tracking
- Add "ECS Containers" text assertion to Sidebar.test.tsx navigation check - Add ECS Containers href assertion to Sidebar.test.tsx link check - Add "ECS Containers" text assertion to App.test.tsx sidebar check https://claude.ai/code/session_016ZmpvrW3h5SFZ3LGyRPXCr
Add ECS Containers assertions to sidebar and app tests
The Terraform state parser and sync logic had no support for ECS resources, so containers in Terraform-managed clusters were never marked as managed. - Add aws_ecs_cluster, aws_ecs_service, aws_ecs_task_definition to TerraformStateParser.SUPPORTED_RESOURCE_TYPES - Add cluster name, service name, task family to ID extraction mappings - Add ecs_cluster, ecs_service, ecs_task_definition keys to aggregator - Add ECS section to _sync_terraform_state that marks all containers in a Terraform-managed cluster with tf_managed=True and managed_by="terraform" (containers detected as CI/CD-deployed keep managed_by="github_actions") https://claude.ai/code/session_016ZmpvrW3h5SFZ3LGyRPXCr
Fix ECS containers showing as unmanaged by adding Terraform state sync
Replace the conditional custom ECS card with a ResourceSummaryCard that always renders (matching EC2/RDS pattern), add a "Recent ECS Containers" section to the recent resources grid, and update the grid layout to accommodate 4 resource types. https://claude.ai/code/session_016ZmpvrW3h5SFZ3LGyRPXCr
Add ECS overview to dashboard with summary card and recent containers
Increase row gap (25→70px) and vertical spacing (20→30px) to give edges room between subnet rows, add pathOptions.offset to smoothstep edges so step-paths clear parent containers, and lower edge z-index (10→0) so edges render behind subnet/resource nodes. https://claude.ai/code/session_01BrehwLocNceLbt4vFRUuCc
Improve topology diagram spacing and edge rendering
Version updates: - VERSION: 1.3.0 -> 1.4.0 - frontend/package.json: 1.2.2 -> 1.4.0 (sync with project version) - frontend/package-lock.json: updated accordingly Documentation updates: - README.md: Add missing env vars (LOCAL_AUTH_ENABLED, ADMIN_USERNAME, ADMIN_PASSWORD, FRONTEND_URL, token expiration settings) - CLAUDE.md: Add same env vars, update VERSION example to 1.4.0 - infrastructure/README.md: Add secrets module description documenting Secrets Manager integration for session, OIDC, and admin password persistence; add app_task_role_arn to outputs table https://claude.ai/code/session_01GSu1MTW8XvAbfNK28ug1kU
Add ECS support, authentication, user management, and admin settings
Separate IGW-to-subnet spacing from resource grid spacing by adding a dedicated igwToSubnetGap (50px) so smoothstep edges with offset=20 have enough room (≥40px) to route without zigzagging through subnet headers. Revert spacing.vertical to 20px (resource grid) and reduce rowGap from 70 to 50px for better proportions. https://claude.ai/code/session_01BrehwLocNceLbt4vFRUuCc
Fix IGW-to-subnet edge overlap and reduce excessive row gap
Split 5 summary cards from a single 4-column grid (which orphaned the Terraform card on its own row) into two semantic rows: - Row 1 (3-col): Compute resources (EC2, RDS, ECS) - Row 2 (2-col): Infrastructure & management (VPC Networking, Terraform) https://claude.ai/code/session_016ZmpvrW3h5SFZ3LGyRPXCr
Increase smoothstep borderRadius from 5 to 20px for rounder, more natural-looking edge turns. Raise edge zIndex from 0 to 3 so edges render above subnet containers instead of being partially hidden behind container borders. https://claude.ai/code/session_01BrehwLocNceLbt4vFRUuCc
Restructure dashboard layout: semantic 3+2 card grouping
Smooth edge corners and raise edges above containers
Set borderRadius to 100px on smoothstep edges so corners become large arcs instead of near-right-angle turns. React Flow clamps the radius to half the shortest adjacent segment, so this effectively maximizes rounding on every corner for the most natural-looking paths. https://claude.ai/code/session_01BrehwLocNceLbt4vFRUuCc
Increase edge borderRadius to 100 for flowing curves
- Add ECSReadAccess policy (ListClusters, ListTasks, DescribeTasks, DescribeClusters) to IAM module main.tf to match the ECS collector - Add ECS permissions statement to IAM JSON examples in README.md and CLAUDE.md - Fix architecture diagram in both README.md and CLAUDE.md: remove dangling vertical line on the right side, connect Parsers box directly to Terraform State, add ECS to AWS APIs label - Update diagram frontend section to show ECSList, Settings, Login pages and settings/ component directory - Update infrastructure/README.md and IAM module README with ECS read-only policy description https://claude.ai/code/session_01GSu1MTW8XvAbfNK28ug1kU
All box-drawing lines in both diagrams now have consistent 71-char display width, fixing the right-side border misalignment. https://claude.ai/code/session_01GSu1MTW8XvAbfNK28ug1kU
The develop branch added additional ECS permissions (DescribeServices, ListServices, DescribeTaskDefinition, DescribeContainerInstances). Updated all documentation to reflect the full 8-action ECS policy. https://claude.ai/code/session_01GSu1MTW8XvAbfNK28ug1kU
Add ECS IAM permissions and fix architecture diagram
The ARG declarations for APP_VERSION, BUILD_SHA, and BUILD_DATE were only in the builder stage. In multi-stage Docker builds, ARGs don't persist across FROM boundaries, so the LABEL instruction in the nginx stage was referencing undefined variables. Re-declare the ARGs in the production stage. https://claude.ai/code/session_018ncFGFZ9AkumwKBMU6nDYL
Replace smoothstep edge type with default (bezier) for smooth S-curves instead of orthogonal step-paths with corners. This matches the desired flowing edge style. Lower edge zIndex to 0 (below subnets at 1) so edges are hidden where they cross container borders but visible in the gaps between rows. Remove smoothstep-specific pathOptions (offset, borderRadius) as bezier uses curvature-based routing instead. https://claude.ai/code/session_01BrehwLocNceLbt4vFRUuCc
…ion-1YZch Fix undefined variable warnings in frontend Dockerfile LABEL
Switch edges from smoothstep to bezier for smooth flowing curves
🐳 Docker Build Results
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Primarily UI updates.