Skip to content

deckhouse/dmt

Repository files navigation

dmt

Deckhouse Module Tool - the swiss knife for your Deckhouse modules

How to use

Lint

You can run linter checks for a module:

dmt lint /some/path/<your-module>

or some pack of modules

dmt lint /some/path/

where /some/path/ looks like this:

ls -l /some/path/
drwxrwxr-x 1 deckhouse deckhouse  4096 Nov 10 21:46 001-module-one
drwxrwxr-x 1 deckhouse deckhouse  4096 Nov 12 21:45 002-module-two
drwxrwxr-x 1 deckhouse deckhouse  4096 Nov 10 21:46 003-module-three

Gen

Generate some automatic rules for you module

Linters list

Linter Description
container Check containers - duplicated names, env variables, ports, security context, liveness and readiness probes.
hooks Check hooks rules.
images Check images build instructions.
license Check license header in files.
module Check module.yaml definition, openapi conversions, oss.yaml file.
no-cyrillic Check cyrillic letters.
openapi Check openapi settings, crds.
rbac Check rbac rules.
templates Check templates rules, VPA, PDB settings, prometheus, grafana rules, kube-rbac-proxy, service target port.

Configuration

You can exclude linters or setup them via the config file .dmtlint.yaml

Global settings:

global:  
  linters:
    probes:
      impact: warn | critical
    images:
      impact: warn | critical