Rename the untaggable bucket to unmanageable and widen it - #210
Open
ale210 wants to merge 1 commit into
Open
Conversation
The bucket meant 'AWS exposes no way to tag this'. It now also covers resources AWS owns and resources Terraform cannot own or tag, which were reading as unmanaged forever with no apply able to fix them. Newly classified: autoscaling groups (default_tags does not apply), rules held inline by aws_default_security_group, instances and volumes an ASG launched, /aws/lambda/* log groups, ELB-owned elastic IPs, EventBridge rules AWS owns, listener default rules, and default.* RDS parameter groups. On the incubator account this moves 18 resources out of unmanaged, 48 to 30, and coverage from 83.2% to 88.8%. The numerator is unchanged; the ratio moved because the denominator shrank.
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.
Renames the
untaggablebucket tounmanageableand widens what it holds.untaggablemeant one thing: AWS exposes no way to tag this. That left a class ofresource with nowhere to go — things that read as
unmanagedforever, where no applycould ever fix it, so they sat in the report as permanent false positives. Some of them
are in Terraform state already.
What moved
Newly classified as unmanageable, each detected by signal rather than by ARN so it keeps
working as the account changes:
propagate_at_launch; the provider does not mergedefault_tagsinto itGroupIdis a group nameddefaultaws_default_security_groupholds its rules inline, so they are not resources of their ownaws:autoscaling:groupNametag/aws/lambda/*log groupsaws_cloudwatch_log_groupcould existServiceManagedfield setaws_eipat allManagedByfield setecs.amazonaws.comcreates and deletes these for capacity providersIsDefaultdefault_action, not anaws_lb_listener_ruledefault.*RDS parameter groupsThe VPC default security group itself is deliberately not included. It is taggable, it
currently carries
managed-by=terraform-incubator, and it stays in the ratio. Only itsinline rules move.
Effect on the incubator account
Same sweep, before and after:
All 321 ARNs are present on both sides — none added, none removed — and nothing left a
managed bucket. The numerator is unchanged at 237; the ratio moved only because the
denominator shrank by 18.
That jump is a definition change, not progress. The README now records the rename date
so a comparison against an earlier run knows why the number moved.
Checked for over-matching
The risk with signal-based detection is absorbing real work. Verified on a live run that
each of these stayed put:
terraform-incubatorbastion-incubator-prodand its rules → stillunmanaged, which is correct, it is anopen action item on Bring the shared AWS platform under Terraform incubator#184
ServiceManagedones movedIsDefaultones movedRDSOSMetricsand the two/aws/rds/*log groups → stillunmanagedincubator-prod-postgres15, the parameter group we actually manage → still managedNote on IAM
Service-linked roles (
/aws-service-role/) were already unmanageable and stay that way.Service roles (
/service-role/) are not included — despite the similar name and anAWS service principal in their trust policy, they are ordinary customer roles that
Terraform can import, so they remain real work.
Docs
scripts/README.mdnow describes three distinct reasons a resource lands in the bucket,and flags that members of the third group may well be under Terraform management already —
which is the misreading the old single-sentence explanation invited.