{
  "name": "datree",
  "description": "Datree can be used on the command line to run policies against Kubernetes manifests YAML files or Helm charts",
  "options": [
    {
      "names": [
        "--help",
        "-h"
      ],
      "description": "Show help for datree"
    }
  ],
  "subcommands": [
    {
      "name": "completion",
      "description": "Generate completion script for bash,zsh,fish,powershell"
    },
    {
      "name": "config",
      "description": "Internal configuration management for datree config file",
      "options": [
        {
          "names": [
            "-h",
            "--help"
          ],
          "description": "Help for config"
        }
      ],
      "subcommands": [
        {
          "name": "get",
          "description": "Get configuration value",
          "options": [
            {
              "names": [
                "-h",
                "--help"
              ],
              "description": "Get value for specific key from datree config.yaml file. Defaults to $HOME/.datree/config.yaml"
            }
          ]
        },
        {
          "name": "set",
          "description": "Set configuration value",
          "options": [
            {
              "names": [
                "-h",
                "--help"
              ],
              "description": "Apply value for specific key in datree config.yaml file. Defaults to $HOME/.datree/config.yaml"
            }
          ]
        }
      ]
    },
    {
      "name": "help",
      "description": "Help about any command",
      "args": [
        {
          "template": "help"
        }
      ]
    },
    {
      "name": "kustomize",
      "description": "Generate kustomization files from manifests",
      "options": [
        {
          "names": [
            "-h",
            "--help"
          ],
          "description": "Help for kustomize"
        }
      ],
      "subcommands": [
        {
          "name": "test",
          "description": "Test kustomization files",
          "options": [
            {
              "names": [
                "--help",
                "-h"
              ],
              "description": "Help for 'test'"
            },
            {
              "names": [
                "--ignore-missing-schemas"
              ],
              "description": "Ignore missing schemas when executing schema validation step"
            },
            {
              "names": [
                "--no-record"
              ],
              "description": "Do not send policy checks metadata to the backend"
            },
            {
              "names": [
                "--only-k8s-files"
              ],
              "description": "Evaluate only valid yaml files with the properties 'apiVersion' and 'kind'. Ignore everything else"
            },
            {
              "names": [
                "-o",
                "--output"
              ],
              "description": "Define output format (simple, yaml, json, xml, JUnit)",
              "args": [
                {
                  "name": "output",
                  "description": "Output format",
                  "suggestions": [
                    "simple",
                    "yaml",
                    "json",
                    "xml",
                    "junit"
                  ]
                }
              ]
            },
            {
              "names": [
                "-p",
                "--policy"
              ],
              "description": "Policy name to run against",
              "args": [
                {
                  "name": "policy",
                  "description": "String"
                }
              ]
            },
            {
              "names": [
                "--policy-config"
              ],
              "description": "Path for local policies configuration file",
              "args": [
                {
                  "template": "filepaths"
                }
              ]
            },
            {
              "names": [
                "--schema-location"
              ],
              "description": "Override schemas location search path (can be specified multiple times)",
              "args": [
                {
                  "name": "stringArray",
                  "description": "String array"
                }
              ]
            },
            {
              "names": [
                "-s",
                "--schema-version"
              ],
              "description": "Set kubernetes version to validate against. Defaults to 1.19.0"
            },
            {
              "names": [
                "--verbose"
              ],
              "description": "Display 'How to Fix' link"
            }
          ]
        }
      ]
    },
    {
      "name": "publish",
      "description": "Publish policies configuration for given <fileName>. Input should be the path to the Policy-as-Code yaml configuration file. ## Note You need to first enable Policy-as-Code (PaC) on the settings page in the dashboard",
      "options": [
        {
          "names": [
            "-h",
            "--help"
          ],
          "description": "Help for publish"
        }
      ],
      "args": [
        {
          "name": "file path",
          "template": "filepaths"
        }
      ]
    },
    {
      "name": "test",
      "description": "Trigger a policy check, provide a Kubernetes configuration file path or a glob pattern",
      "options": [
        {
          "names": [
            "--help",
            "-h"
          ],
          "description": "Help for 'test'"
        },
        {
          "names": [
            "--ignore-missing-schemas"
          ],
          "description": "Ignore missing schemas when executing schema validation step"
        },
        {
          "names": [
            "--no-record"
          ],
          "description": "Do not send policy checks metadata to the backend"
        },
        {
          "names": [
            "--only-k8s-files"
          ],
          "description": "Evaluate only valid yaml files with the properties 'apiVersion' and 'kind'. Ignore everything else"
        },
        {
          "names": [
            "-o",
            "--output"
          ],
          "description": "Define output format (simple, yaml, json, xml, JUnit)",
          "args": [
            {
              "name": "output",
              "description": "Output format",
              "suggestions": [
                "simple",
                "yaml",
                "json",
                "xml",
                "junit"
              ]
            }
          ]
        },
        {
          "names": [
            "-p",
            "--policy"
          ],
          "description": "Policy name to run against",
          "args": [
            {
              "name": "policy",
              "description": "String"
            }
          ]
        },
        {
          "names": [
            "--policy-config"
          ],
          "description": "Path for local policies configuration file",
          "args": [
            {
              "template": "filepaths"
            }
          ]
        },
        {
          "names": [
            "--schema-location"
          ],
          "description": "Override schemas location search path (can be specified multiple times)",
          "args": [
            {
              "name": "stringArray",
              "description": "String array"
            }
          ]
        },
        {
          "names": [
            "-s",
            "--schema-version"
          ],
          "description": "Set kubernetes version to validate against. Defaults to 1.19.0"
        },
        {
          "names": [
            "--verbose"
          ],
          "description": "Display 'How to Fix' link"
        }
      ],
      "args": [
        {
          "name": "file path",
          "template": "filepaths"
        }
      ]
    },
    {
      "name": "version",
      "description": "Print the version number"
    }
  ]
}
