# Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. --- default_stages: [pre-commit, pre-push] default_language_version: # force all unspecified Python hooks to run python3 python: python3 minimum_pre_commit_version: "3.2.0" repos: - repo: meta hooks: - id: identity - id: check-hooks-apply - repo: https://github.com/gitleaks/gitleaks rev: v8.27.2 hooks: - id: gitleaks name: run gitleaks description: detect hardcoded secrets - repo: https://github.com/pre-commit/pre-commit-hooks rev: v5.0.0 hooks: #- id: check-added-large-files - id: check-case-conflict #- id: check-executables-have-shebangs - id: check-merge-conflict - id: check-shebang-scripts-are-executable files: \.sh$ - id: check-symlinks - id: check-vcs-permalinks #- id: check-yaml - id: destroyed-symlinks - id: detect-aws-credentials args: [--allow-missing-credentials] - id: detect-private-key exclude: > (?x) ^scripts/vm/systemvm/id_rsa\.cloud$| ^server/src/test/java/org/apache/cloudstack/network/ssl/CertServiceTest.java$| ^server/src/test/java/com/cloud/keystore/KeystoreTest\.java$| ^server/src/test/resources/certs/dsa_self_signed\.key$| ^server/src/test/resources/certs/non_root\.key$| ^server/src/test/resources/certs/root_chain\.key$| ^server/src/test/resources/certs/rsa_ca_signed\.key$| ^server/src/test/resources/certs/rsa_self_signed_with_pwd\.key$| ^server/src/test/resources/certs/rsa_self_signed\.key$| ^services/console-proxy/rdpconsole/src/test/doc/rdp-key\.pem$| ^systemvm/agent/certs/localhost\.key$| ^systemvm/agent/certs/realhostip\.key$| ^test/integration/smoke/test_ssl_offloading.py$ - id: end-of-file-fixer exclude: \.vhd$ - id: fix-byte-order-marker - id: forbid-submodules - id: mixed-line-ending exclude: \.cs$ - id: trailing-whitespace files: \.(bat|cfg|cs|css|gitignore|header|in|install|java|md|properties|py|rb|rc|sh|sql|te|template|txt|ucls|vue|xml|xsl|yaml|yml)$|^cloud-cli/bindir/cloud-tool$|^debian/changelog$ args: [--markdown-linebreak-ext=md] exclude: ^services/console-proxy/rdpconsole/src/test/doc/freerdp-debug-log\.txt$ - repo: https://github.com/codespell-project/codespell rev: v2.2.6 hooks: - id: codespell name: run codespell description: Check spelling with codespell args: [--ignore-words=.github/linters/codespell.txt] exclude: ^systemvm/agent/noVNC/|^ui/package\.json$|^ui/package-lock\.json$|^ui/public/js/less\.min\.js$|^ui/public/locales/.*[^n].*\.json$|^server/src/test/java/org/apache/cloudstack/network/ssl/CertServiceTest.java$|^test/integration/smoke/test_ssl_offloading.py$ - repo: https://github.com/pycqa/flake8 rev: 7.0.0 hooks: - id: flake8 args: [--config, .github/linters/.flake8] - repo: https://github.com/igorshubovych/markdownlint-cli rev: v0.45.0 hooks: - id: markdownlint name: run markdownlint description: check Markdown files with markdownlint args: [--config=.github/linters/.markdown-lint.yml] types: [markdown] files: \.(md|mdown|markdown)$ - repo: https://github.com/adrienverge/yamllint rev: v1.37.1 hooks: - id: yamllint name: run yamllint description: check YAML files with yamllint args: [--config-file=.github/linters/.yamllint.yml] types: [yaml] files: \.ya?ml$ exclude: ^.*k8s-.*\.ya?ml$