---
exclude: scripts|argocd/overlays/dev/configs|argocd/overlays/moc-infra/configs|.github/workflows

repos:
  - repo: https://github.com/Lucas-C/pre-commit-hooks
    rev: v1.4.2
    hooks:
      - id: remove-tabs

  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.4.0
    hooks:
      - id: trailing-whitespace
      - id: check-merge-conflict
      - id: end-of-file-fixer
      - id: check-added-large-files
        args:
          - '--maxkb=600'
      - id: check-case-conflict
      - id: check-json
      - id: check-symlinks
      - id: detect-private-key

  - repo: https://github.com/adrienverge/yamllint.git
    rev: v1.29.0
    hooks:
      - id: yamllint
        files: \.(yaml|yml)$
        types: [file, yaml]
        entry: yamllint --strict -c yamllint-config.yaml

  - repo: https://github.com/os-climate/osc-trino-acl-dsl
    rev: v0.3.1
    hooks:
      # manage rules.json files using a DSL for trino ACL
      # this check enforces that rules.json is consistent with dsl file
      # https://github.com/os-climate/osc-trino-acl-dsl/blob/main/.pre-commit-hooks.yaml
      - id: trino-acl-dsl-check
        files: |
          (?x)^(.*/)?(
            trino-acl-dsl\.yaml|
            rules\.json
          )$