{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/helmwave/latest.json",
  "x-lintel": {
    "source": "https://github.com/helmwave/helmwave/releases/latest/download/schema.json",
    "sourceSha256": "fe00ce46603ccb5dfeafbb9c198c42cee85e374c2538cd48976b030639605b68",
    "fileMatch": [
      "helmwave.yml"
    ],
    "parsers": [
      "yaml"
    ]
  },
  "type": "object",
  "properties": {
    "project": {
      "type": "string",
      "title": "project name",
      "description": "reserved for future",
      "examples": [
        "my-awesome-project"
      ]
    },
    "version": {
      "type": "string",
      "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$",
      "title": "version of helmwave",
      "description": "will check current version and project version",
      "examples": [
        "0.23.0",
        "0.22.1"
      ]
    },
    "monitors": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "items": {
        "oneOf": [
          {
            "required": [
              "prometheus"
            ],
            "title": "prometheus"
          },
          {
            "required": [
              "http"
            ],
            "title": "http"
          }
        ],
        "properties": {
          "prometheus": {
            "properties": {
              "url": {
                "type": "string",
                "title": "Prometheus URL"
              },
              "expr": {
                "type": "string",
                "title": "Prometheus expression"
              },
              "success_mode": {
                "type": "string",
                "enum": [
                  "if_empty",
                  "if_vector"
                ],
                "title": "Success mode",
                "default": "if_vector"
              },
              "insecure": {
                "type": "boolean",
                "default": false
              }
            },
            "title": "Config for prometheus type",
            "type": "object",
            "required": [
              "url",
              "expr"
            ],
            "additionalProperties": false
          },
          "http": {
            "properties": {
              "url": {
                "type": "string",
                "title": "URL to query"
              },
              "method": {
                "type": "string",
                "title": "HTTP method",
                "default": "HEAD"
              },
              "body": {
                "type": "string",
                "title": "HTTP body",
                "default": ""
              },
              "headers": {
                "title": "HTTP headers to set",
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                }
              },
              "expected_codes": {
                "items": {
                  "type": "integer"
                },
                "type": "array",
                "title": "Expected response codes"
              },
              "insecure": {
                "type": "boolean",
                "default": false
              }
            },
            "title": "Config for http type",
            "type": "object",
            "required": [
              "url",
              "expected_codes"
            ],
            "additionalProperties": false
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "prometheus",
              "http"
            ]
          },
          "total_timeout": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "integer"
              }
            ],
            "title": "Timeout for the whole monitor",
            "description": "After this timeout hits monitor will fail regardless of current streak"
          },
          "iteration_timeout": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "integer"
              }
            ],
            "title": "Timeout for each timeout execution",
            "description": "After this timeout hits monitor iteration will be considered as failed"
          },
          "interval": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "integer"
              }
            ]
          },
          "success_threshold": {
            "type": "integer",
            "default": 3
          },
          "failure_threshold": {
            "type": "integer",
            "default": 3
          }
        },
        "required": [
          "name",
          "type"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "type": "array",
      "title": "monitors list"
    },
    "repositories": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "items": {
        "properties": {
          "name": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "username": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "certFile": {
            "type": "string"
          },
          "keyFile": {
            "type": "string"
          },
          "caFile": {
            "type": "string"
          },
          "insecure_skip_tls_verify": {
            "type": "boolean"
          },
          "pass_credentials_all": {
            "type": "boolean"
          },
          "force": {
            "type": "boolean",
            "title": "force flag",
            "description": "force update helm repo list and download dependencies",
            "default": false
          }
        },
        "type": "object",
        "additionalProperties": false
      },
      "type": "array",
      "title": "repositories list",
      "description": "helm repositories"
    },
    "registries": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "items": {
        "properties": {
          "host": {
            "type": "string",
            "pattern": "^.*(:[0-9]+)?$",
            "description": "OCI registry host optionally with port"
          },
          "username": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "insecure": {
            "type": "boolean",
            "default": false
          }
        },
        "required": [
          "host"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "type": "array",
      "title": "registries list",
      "description": "helm OCI registries"
    },
    "releases": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "items": {
        "properties": {
          "lifecycle": {
            "properties": {
              "pre_build": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "items": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "object"
                    }
                  ],
                  "properties": {
                    "cmd": {
                      "type": "string",
                      "title": "cmd",
                      "description": "executable to run"
                    },
                    "args": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array",
                      "title": "args",
                      "description": "arguments to pass to executable"
                    },
                    "show": {
                      "type": "boolean",
                      "title": "show",
                      "description": "whether to log command stdout",
                      "default": true
                    },
                    "allow_failure": {
                      "type": "boolean",
                      "title": "allow_failure",
                      "description": "whether to fail the whole helmwave if command fail",
                      "default": false
                    }
                  },
                  "required": [
                    "cmd"
                  ],
                  "additionalProperties": false,
                  "type": "object"
                },
                "type": "array",
                "title": "pre_build",
                "description": "pre_build hooks"
              },
              "post_build": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "items": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "object"
                    }
                  ],
                  "properties": {
                    "cmd": {
                      "type": "string",
                      "title": "cmd",
                      "description": "executable to run"
                    },
                    "args": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array",
                      "title": "args",
                      "description": "arguments to pass to executable"
                    },
                    "show": {
                      "type": "boolean",
                      "title": "show",
                      "description": "whether to log command stdout",
                      "default": true
                    },
                    "allow_failure": {
                      "type": "boolean",
                      "title": "allow_failure",
                      "description": "whether to fail the whole helmwave if command fail",
                      "default": false
                    }
                  },
                  "required": [
                    "cmd"
                  ],
                  "additionalProperties": false,
                  "type": "object"
                },
                "type": "array",
                "title": "post_build",
                "description": "post_build hooks"
              },
              "pre_up": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "items": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "object"
                    }
                  ],
                  "properties": {
                    "cmd": {
                      "type": "string",
                      "title": "cmd",
                      "description": "executable to run"
                    },
                    "args": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array",
                      "title": "args",
                      "description": "arguments to pass to executable"
                    },
                    "show": {
                      "type": "boolean",
                      "title": "show",
                      "description": "whether to log command stdout",
                      "default": true
                    },
                    "allow_failure": {
                      "type": "boolean",
                      "title": "allow_failure",
                      "description": "whether to fail the whole helmwave if command fail",
                      "default": false
                    }
                  },
                  "required": [
                    "cmd"
                  ],
                  "additionalProperties": false,
                  "type": "object"
                },
                "type": "array",
                "title": "pre_up",
                "description": "pre_up hooks"
              },
              "post_up": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "items": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "object"
                    }
                  ],
                  "properties": {
                    "cmd": {
                      "type": "string",
                      "title": "cmd",
                      "description": "executable to run"
                    },
                    "args": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array",
                      "title": "args",
                      "description": "arguments to pass to executable"
                    },
                    "show": {
                      "type": "boolean",
                      "title": "show",
                      "description": "whether to log command stdout",
                      "default": true
                    },
                    "allow_failure": {
                      "type": "boolean",
                      "title": "allow_failure",
                      "description": "whether to fail the whole helmwave if command fail",
                      "default": false
                    }
                  },
                  "required": [
                    "cmd"
                  ],
                  "additionalProperties": false,
                  "type": "object"
                },
                "type": "array",
                "title": "post_up",
                "description": "post_up hooks"
              },
              "pre_rollback": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "items": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "object"
                    }
                  ],
                  "properties": {
                    "cmd": {
                      "type": "string",
                      "title": "cmd",
                      "description": "executable to run"
                    },
                    "args": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array",
                      "title": "args",
                      "description": "arguments to pass to executable"
                    },
                    "show": {
                      "type": "boolean",
                      "title": "show",
                      "description": "whether to log command stdout",
                      "default": true
                    },
                    "allow_failure": {
                      "type": "boolean",
                      "title": "allow_failure",
                      "description": "whether to fail the whole helmwave if command fail",
                      "default": false
                    }
                  },
                  "required": [
                    "cmd"
                  ],
                  "additionalProperties": false,
                  "type": "object"
                },
                "type": "array",
                "title": "pre_rollback",
                "description": "pre_rollback hooks"
              },
              "post_rollback": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "items": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "object"
                    }
                  ],
                  "properties": {
                    "cmd": {
                      "type": "string",
                      "title": "cmd",
                      "description": "executable to run"
                    },
                    "args": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array",
                      "title": "args",
                      "description": "arguments to pass to executable"
                    },
                    "show": {
                      "type": "boolean",
                      "title": "show",
                      "description": "whether to log command stdout",
                      "default": true
                    },
                    "allow_failure": {
                      "type": "boolean",
                      "title": "allow_failure",
                      "description": "whether to fail the whole helmwave if command fail",
                      "default": false
                    }
                  },
                  "required": [
                    "cmd"
                  ],
                  "additionalProperties": false,
                  "type": "object"
                },
                "type": "array",
                "title": "post_rollback",
                "description": "post_rollback hooks"
              },
              "pre_down": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "items": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "object"
                    }
                  ],
                  "properties": {
                    "cmd": {
                      "type": "string",
                      "title": "cmd",
                      "description": "executable to run"
                    },
                    "args": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array",
                      "title": "args",
                      "description": "arguments to pass to executable"
                    },
                    "show": {
                      "type": "boolean",
                      "title": "show",
                      "description": "whether to log command stdout",
                      "default": true
                    },
                    "allow_failure": {
                      "type": "boolean",
                      "title": "allow_failure",
                      "description": "whether to fail the whole helmwave if command fail",
                      "default": false
                    }
                  },
                  "required": [
                    "cmd"
                  ],
                  "additionalProperties": false,
                  "type": "object"
                },
                "type": "array",
                "title": "pre_down",
                "description": "pre_down hooks"
              },
              "post_down": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "items": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "object"
                    }
                  ],
                  "properties": {
                    "cmd": {
                      "type": "string",
                      "title": "cmd",
                      "description": "executable to run"
                    },
                    "args": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array",
                      "title": "args",
                      "description": "arguments to pass to executable"
                    },
                    "show": {
                      "type": "boolean",
                      "title": "show",
                      "description": "whether to log command stdout",
                      "default": true
                    },
                    "allow_failure": {
                      "type": "boolean",
                      "title": "allow_failure",
                      "description": "whether to fail the whole helmwave if command fail",
                      "default": false
                    }
                  },
                  "required": [
                    "cmd"
                  ],
                  "additionalProperties": false,
                  "type": "object"
                },
                "type": "array",
                "title": "post_down",
                "description": "post_down hooks"
              }
            },
            "description": "Lifecycle hooks",
            "type": "object",
            "additionalProperties": false
          },
          "store": {
            "type": "object",
            "title": "The Store",
            "description": "It allows to pass your custom fields from helmwave.yml to values"
          },
          "chart": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "object"
              }
            ],
            "properties": {
              "name": {
                "type": "string",
                "description": "Name of the chart",
                "examples": [
                  "bitnami/nginx",
                  "oci://ghcr.io/helmwave/unit-test-oci"
                ]
              },
              "ca_file": {
                "type": "string",
                "description": "Verify certificates of HTTPS-enabled servers using this CA bundle"
              },
              "cert_file": {
                "type": "string",
                "description": "Identify HTTPS client using this SSL certificate file"
              },
              "key_file": {
                "type": "string",
                "description": "Identify HTTPS client using this SSL key file"
              },
              "keyring": {
                "type": "string",
                "description": "Location of public keys used for verification"
              },
              "repo_url": {
                "type": "string",
                "description": "Chart repository url"
              },
              "username": {
                "type": "string",
                "description": "Chart repository username"
              },
              "password": {
                "type": "string",
                "description": "Chart repository password"
              },
              "version": {
                "type": "string",
                "description": "Chart version"
              },
              "insecure": {
                "type": "boolean",
                "description": "Connect to server with an insecure way by skipping certificate verification"
              },
              "verify": {
                "type": "boolean",
                "description": "Verify the provenance of the chart before using it"
              },
              "pass_credentials": {
                "type": "boolean",
                "description": "Pass credentials to all domains"
              },
              "plain_http": {
                "type": "boolean",
                "description": "Connect to server with plain http and not https",
                "default": false
              },
              "skip_dependency_update": {
                "type": "boolean",
                "description": "Skip updating and downloading dependencies",
                "default": false
              },
              "skip_refresh": {
                "type": "boolean",
                "description": "Skip refreshing repositories",
                "default": false
              }
            },
            "description": "Describes chart that release uses",
            "required": [
              "name"
            ],
            "title": "Chart reference",
            "additionalProperties": false,
            "type": "object"
          },
          "tests": {
            "properties": {
              "filters": {
                "description": "Filter tests by attributes",
                "type": "object",
                "additionalProperties": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "enabled": {
                "type": "boolean",
                "description": "Whether to run helm tests",
                "default": false
              },
              "force_show_logs": {
                "type": "boolean",
                "description": "Always show tests logs",
                "default": false
              }
            },
            "description": "Configuration for helm tests",
            "type": "object",
            "additionalProperties": false
          },
          "pending_release_strategy": {
            "type": "string",
            "enum": [
              "rollback",
              "uninstall",
              ""
            ],
            "description": "Strategy to handle releases in pending statuses (pending-install/pending-upgrade/pending-rollback)"
          },
          "name": {
            "type": "string",
            "title": "Release name"
          },
          "namespace": {
            "type": "string",
            "title": "Kubernetes namespace"
          },
          "description": {
            "type": "string",
            "default": ""
          },
          "offline_kube_version": {
            "type": "string",
            "description": "Kubernetes version for offline mode"
          },
          "context": {
            "type": "string"
          },
          "delete_propagation": {
            "type": "string",
            "enum": [
              "background",
              "orphan",
              "foreground"
            ],
            "description": "Selects the deletion cascading strategy for the dependents",
            "default": "background"
          },
          "depends_on": {
            "items": {
              "oneOf": [
                {
                  "required": [
                    "name"
                  ],
                  "title": "name"
                },
                {
                  "required": [
                    "tag"
                  ],
                  "title": "tag"
                }
              ],
              "properties": {
                "name": {
                  "type": "string",
                  "description": "Uniqname (or just name if in same namespace) of dependency release"
                },
                "tag": {
                  "type": "string",
                  "description": "All available releases with the tag will be applied as dependencies"
                },
                "optional": {
                  "type": "boolean",
                  "description": "Whether the dependency is required to be present in plan",
                  "default": false
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "type": "array",
            "title": "Needs",
            "description": "List of dependencies that are required to succeed before this release"
          },
          "monitors": {
            "items": {
              "properties": {
                "name": {
                  "type": "string"
                },
                "action": {
                  "type": "string",
                  "enum": [
                    "",
                    "rollback",
                    "uninstall"
                  ],
                  "title": "Action if monitor fails",
                  "default": ""
                }
              },
              "required": [
                "name"
              ],
              "type": "object",
              "additionalProperties": false
            },
            "type": "array",
            "title": "Monitors to execute after upgrade"
          },
          "values": {
            "items": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "$id": "https://github.com/helmwave/helmwave/pkg/release/values",
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "object"
                }
              ],
              "properties": {
                "src": {
                  "type": "string",
                  "description": "Source of values. Can be local path or HTTP URL"
                },
                "dst": {
                  "type": "string"
                },
                "delimiter_left": {
                  "type": "string",
                  "default": "{{"
                },
                "delimiter_right": {
                  "type": "string",
                  "default": "}}"
                },
                "renderer": {
                  "type": "string",
                  "enum": [
                    "sprig",
                    "gomplate",
                    "copy",
                    "sops"
                  ],
                  "description": "How to render the file"
                },
                "strict": {
                  "type": "boolean",
                  "description": "Whether to fail if values is not found",
                  "default": false
                }
              },
              "required": [
                "src"
              ],
              "additionalProperties": false,
              "type": "object"
            },
            "type": "array",
            "title": "Values of the release"
          },
          "tags": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "Tags allows you choose releases for build"
          },
          "labels": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "post_renderer": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "List of post_renders to manipulate with manifests"
          },
          "timeout": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "integer"
              }
            ]
          },
          "max_history": {
            "type": "integer",
            "default": 0
          },
          "allow_failure": {
            "type": "boolean",
            "description": "Whether to ignore errors and proceed with dependant releases",
            "default": false
          },
          "atomic": {
            "type": "boolean",
            "default": false
          },
          "cleanup_on_fail": {
            "type": "boolean",
            "default": false
          },
          "create_namespace": {
            "type": "boolean",
            "description": "Whether to create namespace if it doesnt exits",
            "default": false
          },
          "disable_hooks": {
            "type": "boolean",
            "default": false
          },
          "disable_open_api_validation": {
            "type": "boolean",
            "default": false
          },
          "enable_dns": {
            "type": "boolean",
            "default": false
          },
          "force": {
            "type": "boolean",
            "default": false
          },
          "recreate": {
            "type": "boolean",
            "default": false
          },
          "reset_values": {
            "type": "boolean",
            "default": false
          },
          "reuse_values": {
            "type": "boolean",
            "default": false
          },
          "reset_then_reuse_values": {
            "type": "boolean",
            "default": false
          },
          "skip_crds": {
            "type": "boolean",
            "description": "Skips installing CRDs when install flag is enabled during upgrade",
            "default": false
          },
          "hide_notes": {
            "type": "boolean",
            "description": "Output rendered chart notes after upgrade/install",
            "default": true
          },
          "sub_notes": {
            "type": "boolean",
            "description": "Determines whether sub-notes are rendered in the chart",
            "default": false
          },
          "wait": {
            "type": "boolean",
            "description": "Whether to wait for all resource to become ready",
            "default": false
          },
          "wait_for_jobs": {
            "type": "boolean",
            "description": "Whether to wait for all jobs to become ready",
            "default": false
          },
          "take_ownership": {
            "type": "boolean",
            "description": "Will ignore the check for helm annotations and take ownership of the resources",
            "default": false
          },
          "skip_schema_validation": {
            "type": "boolean",
            "description": "Determines if JSON schema validation is disabled.",
            "default": false
          }
        },
        "required": [
          "name",
          "namespace"
        ],
        "type": "object",
        "additionalProperties": false
      },
      "type": "array",
      "title": "helm releases",
      "description": "what you wanna deploy"
    },
    "lifecycle": {
      "properties": {
        "pre_build": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "items": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "object"
              }
            ],
            "properties": {
              "cmd": {
                "type": "string",
                "title": "cmd",
                "description": "executable to run"
              },
              "args": {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "title": "args",
                "description": "arguments to pass to executable"
              },
              "show": {
                "type": "boolean",
                "title": "show",
                "description": "whether to log command stdout",
                "default": true
              },
              "allow_failure": {
                "type": "boolean",
                "title": "allow_failure",
                "description": "whether to fail the whole helmwave if command fail",
                "default": false
              }
            },
            "required": [
              "cmd"
            ],
            "additionalProperties": false,
            "type": "object"
          },
          "type": "array",
          "title": "pre_build",
          "description": "pre_build hooks"
        },
        "post_build": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "items": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "object"
              }
            ],
            "properties": {
              "cmd": {
                "type": "string",
                "title": "cmd",
                "description": "executable to run"
              },
              "args": {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "title": "args",
                "description": "arguments to pass to executable"
              },
              "show": {
                "type": "boolean",
                "title": "show",
                "description": "whether to log command stdout",
                "default": true
              },
              "allow_failure": {
                "type": "boolean",
                "title": "allow_failure",
                "description": "whether to fail the whole helmwave if command fail",
                "default": false
              }
            },
            "required": [
              "cmd"
            ],
            "additionalProperties": false,
            "type": "object"
          },
          "type": "array",
          "title": "post_build",
          "description": "post_build hooks"
        },
        "pre_up": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "items": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "object"
              }
            ],
            "properties": {
              "cmd": {
                "type": "string",
                "title": "cmd",
                "description": "executable to run"
              },
              "args": {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "title": "args",
                "description": "arguments to pass to executable"
              },
              "show": {
                "type": "boolean",
                "title": "show",
                "description": "whether to log command stdout",
                "default": true
              },
              "allow_failure": {
                "type": "boolean",
                "title": "allow_failure",
                "description": "whether to fail the whole helmwave if command fail",
                "default": false
              }
            },
            "required": [
              "cmd"
            ],
            "additionalProperties": false,
            "type": "object"
          },
          "type": "array",
          "title": "pre_up",
          "description": "pre_up hooks"
        },
        "post_up": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "items": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "object"
              }
            ],
            "properties": {
              "cmd": {
                "type": "string",
                "title": "cmd",
                "description": "executable to run"
              },
              "args": {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "title": "args",
                "description": "arguments to pass to executable"
              },
              "show": {
                "type": "boolean",
                "title": "show",
                "description": "whether to log command stdout",
                "default": true
              },
              "allow_failure": {
                "type": "boolean",
                "title": "allow_failure",
                "description": "whether to fail the whole helmwave if command fail",
                "default": false
              }
            },
            "required": [
              "cmd"
            ],
            "additionalProperties": false,
            "type": "object"
          },
          "type": "array",
          "title": "post_up",
          "description": "post_up hooks"
        },
        "pre_rollback": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "items": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "object"
              }
            ],
            "properties": {
              "cmd": {
                "type": "string",
                "title": "cmd",
                "description": "executable to run"
              },
              "args": {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "title": "args",
                "description": "arguments to pass to executable"
              },
              "show": {
                "type": "boolean",
                "title": "show",
                "description": "whether to log command stdout",
                "default": true
              },
              "allow_failure": {
                "type": "boolean",
                "title": "allow_failure",
                "description": "whether to fail the whole helmwave if command fail",
                "default": false
              }
            },
            "required": [
              "cmd"
            ],
            "additionalProperties": false,
            "type": "object"
          },
          "type": "array",
          "title": "pre_rollback",
          "description": "pre_rollback hooks"
        },
        "post_rollback": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "items": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "object"
              }
            ],
            "properties": {
              "cmd": {
                "type": "string",
                "title": "cmd",
                "description": "executable to run"
              },
              "args": {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "title": "args",
                "description": "arguments to pass to executable"
              },
              "show": {
                "type": "boolean",
                "title": "show",
                "description": "whether to log command stdout",
                "default": true
              },
              "allow_failure": {
                "type": "boolean",
                "title": "allow_failure",
                "description": "whether to fail the whole helmwave if command fail",
                "default": false
              }
            },
            "required": [
              "cmd"
            ],
            "additionalProperties": false,
            "type": "object"
          },
          "type": "array",
          "title": "post_rollback",
          "description": "post_rollback hooks"
        },
        "pre_down": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "items": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "object"
              }
            ],
            "properties": {
              "cmd": {
                "type": "string",
                "title": "cmd",
                "description": "executable to run"
              },
              "args": {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "title": "args",
                "description": "arguments to pass to executable"
              },
              "show": {
                "type": "boolean",
                "title": "show",
                "description": "whether to log command stdout",
                "default": true
              },
              "allow_failure": {
                "type": "boolean",
                "title": "allow_failure",
                "description": "whether to fail the whole helmwave if command fail",
                "default": false
              }
            },
            "required": [
              "cmd"
            ],
            "additionalProperties": false,
            "type": "object"
          },
          "type": "array",
          "title": "pre_down",
          "description": "pre_down hooks"
        },
        "post_down": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "items": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "object"
              }
            ],
            "properties": {
              "cmd": {
                "type": "string",
                "title": "cmd",
                "description": "executable to run"
              },
              "args": {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "title": "args",
                "description": "arguments to pass to executable"
              },
              "show": {
                "type": "boolean",
                "title": "show",
                "description": "whether to log command stdout",
                "default": true
              },
              "allow_failure": {
                "type": "boolean",
                "title": "allow_failure",
                "description": "whether to fail the whole helmwave if command fail",
                "default": false
              }
            },
            "required": [
              "cmd"
            ],
            "additionalProperties": false,
            "type": "object"
          },
          "type": "array",
          "title": "post_down",
          "description": "post_down hooks"
        }
      },
      "description": "helmwave lifecycle hooks",
      "type": "object",
      "title": "lifecycle",
      "additionalProperties": false
    }
  },
  "additionalProperties": true
}
