{
  "version": "2.0.0",
  "tasks": [
    {
        "label": "Create vault inline password",
        "type": "shell",
        "options": {
            "cwd": "${workspaceFolder}"
        },
        "command": "ansible-vault encrypt_string ${input:pw} --name ${input:name} --vault-password-file .vault-password",
        "problemMatcher": []
    },
    {
        "label": "Deploy: nginx",
        "type": "shell",
        "command": "make deploy-nginx",
        "group": "build",
        "presentation": {
            "reveal": "always",
            "panel": "dedicated"
        }
    },
    {
        "label": "Deploy: gitea",
        "type": "shell",
        "command": "make deploy-gitea",
        "group": "build",
        "presentation": {
            "reveal": "always",
            "panel": "dedicated"
        }
    },
    {
        "label": "Deploy: monitoring",
        "type": "shell",
        "command": "make deploy-monitoring",
        "group": "build",
        "presentation": {
            "reveal": "always",
            "panel": "dedicated"
        }
    },
    {
        "label": "Deploy: letsencrypt",
        "type": "shell",
        "command": "make deploy-letsencrypt",
        "group": "build",
        "presentation": {
            "reveal": "always",
            "panel": "dedicated"
        }
    },
    {
        "label": "Deploy: ufw",
        "type": "shell",
        "command": "make deploy-ufw",
        "group": "build",
        "presentation": {
            "reveal": "always",
            "panel": "dedicated"
        }
    },
    {
        "label": "Deploy: fail2ban",
        "type": "shell",
        "command": "make deploy-fail2ban",
        "group": "build",
        "presentation": {
            "reveal": "always",
            "panel": "dedicated"
        }
    },
    {
        "label": "Deploy: fail2ban-ingress",
        "type": "shell",
        "command": "make deploy-fail2ban-ingress",
        "group": "build",
        "presentation": {
            "reveal": "always",
            "panel": "dedicated"
        }
    },
    {
        "label": "Deploy: mail",
        "type": "shell",
        "command": "make deploy-mail",
        "group": "build",
        "presentation": {
            "reveal": "always",
            "panel": "dedicated"
        }
    },
    {
        "label": "Deploy: backup",
        "type": "shell",
        "command": "make deploy-backup",
        "group": "build",
        "presentation": {
            "reveal": "always",
            "panel": "dedicated"
        }
    },
    {
        "label": "Deploy: wireguard",
        "type": "shell",
        "command": "make deploy-wireguard",
        "group": "build",
        "presentation": {
            "reveal": "always",
            "panel": "dedicated"
        }
    },
    {
        "label": "Deploy: ufw-ingress",
        "type": "shell",
        "command": "make deploy-ufw-ingress",
        "group": "build",
        "presentation": {
            "reveal": "always",
            "panel": "dedicated"
        }
    },
    {
        "label": "Deploy: wireguard-ingress",
        "type": "shell",
        "command": "make deploy-wireguard-ingress",
        "group": "build",
        "presentation": {
            "reveal": "always",
            "panel": "dedicated"
        }
    },
    {
        "label": "Deploy: matrix",
        "type": "shell",
        "command": "make deploy-matrix",
        "group": "build",
        "presentation": {
            "reveal": "always",
            "panel": "dedicated"
        }
    },
    {
        "label": "Deploy: openvpn",
        "type": "shell",
        "command": "make deploy-openvpn",
        "group": "build",
        "presentation": {
            "reveal": "always",
            "panel": "dedicated"
        }
    },
    {
        "label": "Deploy: immich",
        "type": "shell",
        "command": "make deploy-immich",
        "group": "build",
        "presentation": {
            "reveal": "always",
            "panel": "dedicated"
        }
    },
    {
        "label": "Deploy: ott",
        "type": "shell",
        "command": "make deploy-ott",
        "group": "build",
        "presentation": {
            "reveal": "always",
            "panel": "dedicated"
        }
    },
    {
        "label": "Build & Push: ott",
        "type": "shell",
        "command": "make push-ott",
        "group": "build",
        "presentation": {
            "reveal": "always",
            "panel": "dedicated"
        },
        "options": {
            "cwd": "${workspaceFolder}/containers/ott"
        }
    }
    // {
    //     "label": "Build & Push: <template>",
    //     "type": "shell",
    //     "command": "make push-<template>",
    //     "group": "build",
    //     "presentation": {
    //         "reveal": "always",
    //         "panel": "dedicated"
    //     }
    // }
],
  "inputs": [
    {
        "id": "pw",
        "type": "promptString",
        "description": "Password to be encrypted"
    },
        {
        "id": "name",
        "type": "promptString",
        "description": "Name for the string"
    }
  ]
}