Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

engine errors return false positives #971

Open
jhsinger-klotho opened this issue Mar 20, 2024 · 0 comments
Open

engine errors return false positives #971

jhsinger-klotho opened this issue Mar 20, 2024 · 0 comments

Comments

@jhsinger-klotho
Copy link
Contributor

this is likely because we are looking for errors in property vertex evaluation, but sometimes we dont evaluate in order so that assumption is broken.

repro

[
  {
    "error": {
      "chain": [
        "required property AutoScalingGroupProvider.AutoScalingGroupArn is not set on resource aws:ecs_capacity_provider:stackpacks-capacity-provider"
      ]
    },
    "error_code": "config_invalid",
    "property": "AutoScalingGroupProvider.AutoScalingGroupArn",
    "resource": "aws:ecs_capacity_provider:stackpacks-capacity-provider",
    "validation_error": "required property AutoScalingGroupProvider.AutoScalingGroupArn is not set on resource aws:ecs_capacity_provider:stackpacks-capacity-provider",
    "value": null
  },
  {
    "error": {
      "chain": [
        "required property Cluster is not set on resource aws:ecs_cluster_capacity_provider:stackpacks-cluster-capacity-provider"
      ]
    },
    "error_code": "config_invalid",
    "property": "Cluster",
    "resource": "aws:ecs_cluster_capacity_provider:stackpacks-cluster-capacity-provider",
    "validation_error": "required property Cluster is not set on resource aws:ecs_cluster_capacity_provider:stackpacks-cluster-capacity-provider",
    "value": null
  },
  {
    "error": {
      "chain": [
        "required property CapacityProviders is not set on resource aws:ecs_cluster_capacity_provider:stackpacks-cluster-capacity-provider"
      ]
    },
    "error_code": "config_invalid",
    "property": "CapacityProviders",
    "resource": "aws:ecs_cluster_capacity_provider:stackpacks-cluster-capacity-provider",
    "validation_error": "required property CapacityProviders is not set on resource aws:ecs_cluster_capacity_provider:stackpacks-cluster-capacity-provider",
    "value": null
  },
  {
    "error": {
      "chain": [
        "required property DefaultCapacityProviderStrategy is not set on resource aws:ecs_cluster_capacity_provider:stackpacks-cluster-capacity-provider"
      ]
    },
    "error_code": "config_invalid",
    "property": "DefaultCapacityProviderStrategy",
    "resource": "aws:ecs_cluster_capacity_provider:stackpacks-cluster-capacity-provider",
    "validation_error": "required property DefaultCapacityProviderStrategy is not set on resource aws:ecs_cluster_capacity_provider:stackpacks-cluster-capacity-provider",
    "value": null
  }
]

constraints

constraints:
- node: aws:ecr_image:mattermost
  operator: must_exist
  scope: application
- node: aws:ecs_service:mattermost-service
  operator: must_exist
  scope: application
- node: aws:ecs_task_definition:mattermost-task
  operator: must_exist
  scope: application
- node: aws:load_balancer:mattermost-lb
  operator: must_exist
  scope: application
- node: aws:rds_instance:mattermost-db
  operator: must_exist
  scope: application
- node: aws:efs_file_system:mattermost-efs
  operator: must_exist
  scope: application
- node: aws:cloudfront_distribution:mattermost-cf
  operator: must_exist
  scope: application
- operator: equals
  property: BaseImage
  scope: resource
  target: aws:ecr_image:mattermost
  value: mattermost/mattermost-team-edition:8.1
- operator: equals
  property: Dockerfile
  scope: resource
  target: aws:ecr_image:mattermost
  value: Dockerfile
- operator: equals
  property: LoadBalancers[0].ContainerPort
  scope: resource
  target: aws:ecs_service:mattermost-service
  value: 8065
- operator: equals
  property: TaskDefinition
  scope: resource
  target: aws:ecs_service:mattermost-service
  value: aws:ecs_task_definition:mattermost-task
- operator: equals
  property: Cpu
  scope: resource
  target: aws:ecs_task_definition:mattermost-task
  value: 512
- operator: equals
  property: Memory
  scope: resource
  target: aws:ecs_task_definition:mattermost-task
  value: 2048
- operator: equals
  property: ContainerDefinitions
  scope: resource
  target: aws:ecs_task_definition:mattermost-task
  value:
  - Cpu: 512
    Environment:
    - Name: MATTERMOST_CONFIG_PATH
      Value: /mnt/efs/mattermost/config
    - Name: MATTERMOST_DATA_PATH
      Value: /mnt/efs/mattermost/data
    - Name: MATTERMOST_LOGS_PATH
      Value: /mnt/efs/mattermost/logs
    - Name: MATTERMOST_PLUGINS_PATH
      Value: /mnt/efs/mattermost/plugins
    - Name: MATTERMOST_CLIENT_PLUGINS_PATH
      Value: /mnt/efs/mattermost/client/plugins
    - Name: MM_SQLSETTINGS_DRIVERNAME
      Value: postgres
    - Name: MM_DB_NAME
      Value: aws:rds_instance:mattermost-db#DatabaseName
    Image: aws:ecr_image:mattermost
    Memory: 2048
    Name: mattermost
    PortMappings:
    - ContainerPort: 8065
      HostPort: 8065
- operator: equals
  property: Scheme
  scope: resource
  target: aws:load_balancer:mattermost-lb
  value: internet-facing
- operator: must_exist
  scope: edge
  target:
    source: aws:cloudfront_distribution:mattermost-cf
    target: aws:load_balancer:mattermost-lb
- operator: must_exist
  scope: edge
  target:
    source: aws:load_balancer:mattermost-lb
    target: aws:ecs_service:mattermost-service
- operator: must_exist
  scope: edge
  target:
    source: aws:ecs_service:mattermost-service
    target: aws:rds_instance:mattermost-db
- operator: must_exist
  scope: edge
  target:
    source: aws:ecs_service:mattermost-service
    target: aws:efs_file_system:mattermost-efs
- node: aws:ecs_capacity_provider:stackpacks-capacity-provider
  operator: import
  scope: application
- node: aws:ecs_cluster:stackpacks-ecs-cluster
  operator: import
  scope: application
- node: aws:ecs_cluster_capacity_provider:stackpacks-cluster-capacity-provider
  operator: import
  scope: application
- node: aws:region:default_5_43_0
  operator: import
  scope: application
- node: aws:subnet:stackpacks-private-subnet-1
  operator: import
  scope: application
- node: aws:subnet:stackpacks-private-subnet-2
  operator: import
  scope: application
- node: aws:subnet:stackpacks-public-subnet-1
  operator: import
  scope: application
- node: aws:subnet:stackpacks-public-subnet-2
  operator: import
  scope: application
- node: aws:vpc:stackpacks-vpc
  operator: import
  scope: application
- node: aws:region:region
  operator: import
  scope: application
- node: aws:availability_zone:region:az1
  operator: import
  scope: application
- node: aws:availability_zone:region:az2
  operator: import
  scope: application
- operator: equals
  property: Arn
  scope: resource
  target: aws:ecs_capacity_provider:stackpacks-capacity-provider
  value: arn:aws:ecs:eu-central-1:064389020595:capacity-provider/stackpacks-capacity-provider-1da47ea
- operator: equals
  property: Id
  scope: resource
  target: aws:ecs_capacity_provider:stackpacks-capacity-provider
  value: stackpacks-capacity-provider-1da47ea
- operator: equals
  property: Tags.GlobalKlothoTag
  scope: resource
  target: aws:ecs_capacity_provider:stackpacks-capacity-provider
  value: ''
- operator: equals
  property: Tags.ResourceName
  scope: resource
  target: aws:ecs_capacity_provider:stackpacks-capacity-provider
  value: stackpacks-capacity-provider
- operator: equals
  property: Arn
  scope: resource
  target: aws:ecs_cluster:stackpacks-ecs-cluster
  value: arn:aws:ecs:eu-central-1:064389020595:cluster/stackpacks-ecs-cluster-5aff420
- operator: equals
  property: Id
  scope: resource
  target: aws:ecs_cluster:stackpacks-ecs-cluster
  value: stackpacks-ecs-cluster-5aff420
- operator: equals
  property: Tags.GlobalKlothoTag
  scope: resource
  target: aws:ecs_cluster:stackpacks-ecs-cluster
  value: ''
- operator: equals
  property: Tags.ResourceName
  scope: resource
  target: aws:ecs_cluster:stackpacks-ecs-cluster
  value: stackpacks-ecs-cluster
- operator: equals
  property: Id
  scope: resource
  target: aws:ecs_cluster_capacity_provider:stackpacks-cluster-capacity-provider
  value: stackpacks-ecs-cluster-5aff420
- operator: equals
  property: Name
  scope: resource
  target: aws:region:default_5_43_0
  value: eu-central-1
- operator: equals
  property: Arn
  scope: resource
  target: aws:subnet:stackpacks-private-subnet-1
  value: arn:aws:ec2:eu-central-1:064389020595:subnet/subnet-0fe86baba5af579c4
- operator: equals
  property: CidrBlock
  scope: resource
  target: aws:subnet:stackpacks-private-subnet-1
  value: 10.0.128.0/18
- operator: equals
  property: Id
  scope: resource
  target: aws:subnet:stackpacks-private-subnet-1
  value: subnet-0fe86baba5af579c4
- operator: equals
  property: MapPublicIpOnLaunch
  scope: resource
  target: aws:subnet:stackpacks-private-subnet-1
  value: false
- operator: equals
  property: Tags.GlobalKlothoTag
  scope: resource
  target: aws:subnet:stackpacks-private-subnet-1
  value: ''
- operator: equals
  property: Tags.ResourceName
  scope: resource
  target: aws:subnet:stackpacks-private-subnet-1
  value: stackpacks-private-subnet-1
- operator: equals
  property: Type
  scope: resource
  target: aws:subnet:stackpacks-private-subnet-1
  value: private
- operator: equals
  property: Vpc
  scope: resource
  target: aws:subnet:stackpacks-private-subnet-1
  value: aws:vpc:stackpacks-vpc
- operator: equals
  property: AvailabilityZone
  scope: resource
  target: aws:subnet:stackpacks-private-subnet-1
  value: aws:availability_zone:region:az1
- operator: equals
  property: Arn
  scope: resource
  target: aws:subnet:stackpacks-private-subnet-2
  value: arn:aws:ec2:eu-central-1:064389020595:subnet/subnet-0a7a05edcbdb1da55
- operator: equals
  property: CidrBlock
  scope: resource
  target: aws:subnet:stackpacks-private-subnet-2
  value: 10.0.192.0/18
- operator: equals
  property: Id
  scope: resource
  target: aws:subnet:stackpacks-private-subnet-2
  value: subnet-0a7a05edcbdb1da55
- operator: equals
  property: MapPublicIpOnLaunch
  scope: resource
  target: aws:subnet:stackpacks-private-subnet-2
  value: false
- operator: equals
  property: Tags.GlobalKlothoTag
  scope: resource
  target: aws:subnet:stackpacks-private-subnet-2
  value: ''
- operator: equals
  property: Tags.ResourceName
  scope: resource
  target: aws:subnet:stackpacks-private-subnet-2
  value: stackpacks-private-subnet-2
- operator: equals
  property: Type
  scope: resource
  target: aws:subnet:stackpacks-private-subnet-2
  value: private
- operator: equals
  property: Vpc
  scope: resource
  target: aws:subnet:stackpacks-private-subnet-2
  value: aws:vpc:stackpacks-vpc
- operator: equals
  property: AvailabilityZone
  scope: resource
  target: aws:subnet:stackpacks-private-subnet-2
  value: aws:availability_zone:region:az2
- operator: equals
  property: Arn
  scope: resource
  target: aws:subnet:stackpacks-public-subnet-1
  value: arn:aws:ec2:eu-central-1:064389020595:subnet/subnet-0cfff6507ebb63ecb
- operator: equals
  property: CidrBlock
  scope: resource
  target: aws:subnet:stackpacks-public-subnet-1
  value: 10.0.0.0/18
- operator: equals
  property: Id
  scope: resource
  target: aws:subnet:stackpacks-public-subnet-1
  value: subnet-0cfff6507ebb63ecb
- operator: equals
  property: MapPublicIpOnLaunch
  scope: resource
  target: aws:subnet:stackpacks-public-subnet-1
  value: false
- operator: equals
  property: Tags.GlobalKlothoTag
  scope: resource
  target: aws:subnet:stackpacks-public-subnet-1
  value: ''
- operator: equals
  property: Tags.ResourceName
  scope: resource
  target: aws:subnet:stackpacks-public-subnet-1
  value: stackpacks-public-subnet-1
- operator: equals
  property: Type
  scope: resource
  target: aws:subnet:stackpacks-public-subnet-1
  value: public
- operator: equals
  property: Vpc
  scope: resource
  target: aws:subnet:stackpacks-public-subnet-1
  value: aws:vpc:stackpacks-vpc
- operator: equals
  property: AvailabilityZone
  scope: resource
  target: aws:subnet:stackpacks-public-subnet-1
  value: aws:availability_zone:region:az1
- operator: equals
  property: Arn
  scope: resource
  target: aws:subnet:stackpacks-public-subnet-2
  value: arn:aws:ec2:eu-central-1:064389020595:subnet/subnet-0fcb9d0ce4e84d35a
- operator: equals
  property: CidrBlock
  scope: resource
  target: aws:subnet:stackpacks-public-subnet-2
  value: 10.0.64.0/18
- operator: equals
  property: Id
  scope: resource
  target: aws:subnet:stackpacks-public-subnet-2
  value: subnet-0fcb9d0ce4e84d35a
- operator: equals
  property: MapPublicIpOnLaunch
  scope: resource
  target: aws:subnet:stackpacks-public-subnet-2
  value: false
- operator: equals
  property: Tags.GlobalKlothoTag
  scope: resource
  target: aws:subnet:stackpacks-public-subnet-2
  value: ''
- operator: equals
  property: Tags.ResourceName
  scope: resource
  target: aws:subnet:stackpacks-public-subnet-2
  value: stackpacks-public-subnet-2
- operator: equals
  property: Type
  scope: resource
  target: aws:subnet:stackpacks-public-subnet-2
  value: public
- operator: equals
  property: Vpc
  scope: resource
  target: aws:subnet:stackpacks-public-subnet-2
  value: aws:vpc:stackpacks-vpc
- operator: equals
  property: AvailabilityZone
  scope: resource
  target: aws:subnet:stackpacks-public-subnet-2
  value: aws:availability_zone:region:az2
- operator: equals
  property: Arn
  scope: resource
  target: aws:vpc:stackpacks-vpc
  value: arn:aws:ec2:eu-central-1:064389020595:vpc/vpc-018204460500eff34
- operator: equals
  property: CidrBlock
  scope: resource
  target: aws:vpc:stackpacks-vpc
  value: 10.0.0.0/16
- operator: equals
  property: EnableDnsHostnames
  scope: resource
  target: aws:vpc:stackpacks-vpc
  value: true
- operator: equals
  property: EnableDnsSupport
  scope: resource
  target: aws:vpc:stackpacks-vpc
  value: true
- operator: equals
  property: Id
  scope: resource
  target: aws:vpc:stackpacks-vpc
  value: vpc-018204460500eff34
- operator: equals
  property: Tags.GlobalKlothoTag
  scope: resource
  target: aws:vpc:stackpacks-vpc
  value: ''
- operator: equals
  property: Tags.ResourceName
  scope: resource
  target: aws:vpc:stackpacks-vpc
  value: stackpacks-vpc
- operator: equals
  property: Region
  scope: resource
  target: aws:availability_zone:region:az1
  value: aws:region:region
- operator: equals
  property: Index
  scope: resource
  target: aws:availability_zone:region:az1
  value: 0
- operator: equals
  property: Region
  scope: resource
  target: aws:availability_zone:region:az2
  value: aws:region:region
- operator: equals
  property: Index
  scope: resource
  target: aws:availability_zone:region:az2
  value: 1
- operator: must_exist
  scope: edge
  target:
    source: aws:ecs_cluster_capacity_provider:stackpacks-cluster-capacity-provider
    target: aws:ecs_cluster:stackpacks-ecs-cluster
- operator: must_exist
  scope: edge
  target:
    source: aws:ecs_capacity_provider:stackpacks-capacity-provider
    target: aws:ecs_cluster_capacity_provider:stackpacks-cluster-capacity-provider
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant