rules:
- id: alias-must-be-unique
  severity: ERROR
  languages: [generic]
  patterns:
  - pattern-either:
    - pattern: |
        FROM ... as $REF
        ...
        ...
        FROM ... as $REF
    - pattern: |
        FROM ... AS $REF
        ...
        ...
        FROM ... AS $REF
  - pattern-not-inside: |
      FROM ... as $REF
      ...
      ...
      FROM ... as $REF-
  - pattern-not-inside: |
      FROM ... AS $REF
      ...
      ...
      FROM ... AS $REF-
  paths:
    include:
    - '*dockerfile*'
    - '*Dockerfile*'
  message: >-
    Image aliases must have a unique name, and '$REF' is used twice.
    Use another name for '$REF'.
  metadata:
    source-rule-url: https://github.com/hadolint/hadolint/wiki/DL3024
    references:
    - https://github.com/hadolint/hadolint/wiki/DL3024
    category: correctness
    technology:
    - dockerfile
