{
  "name": "dokploy",
  "displayName": "Dokploy",
  "description": "Pulumi provider for managing Dokploy projects, environments, applications, Compose stacks, Postgres, MySQL, MariaDB, MongoDB, and Redis databases, domains, SSH keys, registries, tags, project-tag associations, mounts, backup destinations, database backups, and volume backups.",
  "keywords": [
    "category/infrastructure",
    "kind/native",
    "dokploy",
    "deployment",
    "self-hosted",
    "paas"
  ],
  "homepage": "https://github.com/dimeskigj/pulumi-dokploy",
  "license": "Apache-2.0",
  "repository": "https://github.com/dimeskigj/pulumi-dokploy",
  "logoUrl": "https://raw.githubusercontent.com/dimeskigj/pulumi-dokploy/main/website/public/logo.svg",
  "pluginDownloadURL": "github://api.github.com/dimeskigj/pulumi-dokploy",
  "publisher": "dimeskigj",
  "namespace": "dimeskigj",
  "language": {
    "csharp": {
      "packageName": "Dimeskigj.Pulumi.Dokploy",
      "rootNamespace": "Dimeskigj.Pulumi"
    },
    "go": {
      "importBasePath": "github.com/dimeskigj/pulumi-dokploy/sdk/go/dokploy"
    },
    "java": {
      "basePackage": "net.dimeski.pulumi",
      "packageName": "net.dimeski.pulumi.dokploy"
    },
    "nodejs": {
      "packageName": "@dimeskigj/pulumi-dokploy"
    },
    "python": {
      "moduleName": "pulumi_dokploy",
      "packageName": "pulumi_dokploy"
    }
  },
  "config": {
    "variables": {
      "apiKey": {
        "type": "string",
        "description": "Dokploy API key sent through x-api-key.",
        "defaultInfo": {
          "environment": [
            "DOKPLOY_API_KEY"
          ]
        },
        "secret": true
      },
      "endpoint": {
        "type": "string",
        "description": "Base URL of the Dokploy instance.",
        "defaultInfo": {
          "environment": [
            "DOKPLOY_ENDPOINT"
          ]
        }
      }
    },
    "defaults": [
      "endpoint",
      "apiKey"
    ]
  },
  "types": {
    "dokploy:index:ApplicationBuild": {
      "description": "Application build configuration.",
      "properties": {
        "dockerBuildStage": {
          "type": "string",
          "description": "The Docker build stage."
        },
        "dockerContextPath": {
          "type": "string",
          "description": "The Docker build context."
        },
        "dockerfile": {
          "type": "string",
          "description": "The Dockerfile path."
        },
        "type": {
          "type": "string",
          "description": "The build type."
        }
      },
      "type": "object",
      "required": [
        "type"
      ]
    },
    "dokploy:index:ApplicationSource": {
      "description": "Application source configuration.",
      "properties": {
        "docker": {
          "$ref": "#/types/dokploy:index:DockerSource",
          "description": "Docker source configuration."
        },
        "git": {
          "$ref": "#/types/dokploy:index:GitApplicationSource",
          "description": "Git source configuration."
        },
        "gitlab": {
          "$ref": "#/types/dokploy:index:GitLabAppSource",
          "description": "GitLab source configuration."
        },
        "type": {
          "type": "string",
          "description": "The application source type."
        }
      },
      "type": "object",
      "required": [
        "type"
      ]
    },
    "dokploy:index:ComposeSource": {
      "description": "Compose source configuration.",
      "properties": {
        "git": {
          "$ref": "#/types/dokploy:index:GitComposeSource",
          "description": "Git Compose source."
        },
        "gitlab": {
          "$ref": "#/types/dokploy:index:GitLabComposeSource",
          "description": "GitLab Compose source."
        },
        "raw": {
          "$ref": "#/types/dokploy:index:RawComposeSource",
          "description": "Raw Compose source."
        },
        "type": {
          "type": "string",
          "description": "The Compose source type."
        }
      },
      "type": "object",
      "required": [
        "type"
      ]
    },
    "dokploy:index:DockerSource": {
      "description": "Docker source configuration.",
      "properties": {
        "image": {
          "type": "string",
          "description": "The Docker image."
        },
        "password": {
          "type": "string",
          "description": "The registry password.",
          "secret": true
        },
        "registryUrl": {
          "type": "string",
          "description": "The registry URL."
        },
        "username": {
          "type": "string",
          "description": "The registry username."
        }
      },
      "type": "object",
      "required": [
        "image"
      ]
    },
    "dokploy:index:GitApplicationSource": {
      "description": "Git source configuration.",
      "properties": {
        "branch": {
          "type": "string",
          "description": "The Git branch."
        },
        "build": {
          "$ref": "#/types/dokploy:index:ApplicationBuild",
          "description": "The build configuration."
        },
        "buildPath": {
          "type": "string",
          "description": "The build path."
        },
        "enableSubmodules": {
          "type": "boolean",
          "description": "Whether to enable submodules."
        },
        "sshKeyId": {
          "type": "string",
          "description": "The SSH key ID."
        },
        "url": {
          "type": "string",
          "description": "The Git repository URL."
        },
        "watchPaths": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Paths to watch."
        }
      },
      "type": "object",
      "required": [
        "url",
        "branch",
        "build"
      ]
    },
    "dokploy:index:GitComposeSource": {
      "description": "Git Compose source configuration.",
      "properties": {
        "branch": {
          "type": "string",
          "description": "The Git branch."
        },
        "composePath": {
          "type": "string",
          "description": "The Compose file path."
        },
        "enableSubmodules": {
          "type": "boolean",
          "description": "Whether to enable submodules."
        },
        "sshKeyId": {
          "type": "string",
          "description": "The SSH key ID."
        },
        "url": {
          "type": "string",
          "description": "The Git repository URL."
        },
        "watchPaths": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Paths to watch."
        }
      },
      "type": "object",
      "required": [
        "url",
        "branch"
      ]
    },
    "dokploy:index:GitLabAppSource": {
      "description": "GitLab source configuration.",
      "properties": {
        "branch": {
          "type": "string",
          "description": "The GitLab branch."
        },
        "build": {
          "$ref": "#/types/dokploy:index:ApplicationBuild",
          "description": "The build configuration."
        },
        "buildPath": {
          "type": "string",
          "description": "The build path."
        },
        "enableSubmodules": {
          "type": "boolean",
          "description": "Whether to enable submodules."
        },
        "integrationId": {
          "type": "string",
          "description": "The GitLab integration ID."
        },
        "namespace": {
          "type": "string",
          "description": "The GitLab namespace."
        },
        "owner": {
          "type": "string",
          "description": "The GitLab owner."
        },
        "projectId": {
          "type": "integer",
          "description": "The GitLab project ID."
        },
        "repository": {
          "type": "string",
          "description": "The GitLab repository."
        },
        "watchPaths": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Paths to watch."
        }
      },
      "type": "object",
      "required": [
        "integrationId",
        "projectId",
        "owner",
        "namespace",
        "repository",
        "branch",
        "build"
      ]
    },
    "dokploy:index:GitLabComposeSource": {
      "description": "GitLab Compose source configuration.",
      "properties": {
        "branch": {
          "type": "string",
          "description": "The GitLab branch."
        },
        "composePath": {
          "type": "string",
          "description": "The Compose file path."
        },
        "enableSubmodules": {
          "type": "boolean",
          "description": "Whether to enable submodules."
        },
        "integrationId": {
          "type": "string",
          "description": "The GitLab integration ID."
        },
        "namespace": {
          "type": "string",
          "description": "The GitLab namespace."
        },
        "owner": {
          "type": "string",
          "description": "The GitLab owner."
        },
        "projectId": {
          "type": "integer",
          "description": "The GitLab project ID."
        },
        "repository": {
          "type": "string",
          "description": "The GitLab repository."
        },
        "watchPaths": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Paths to watch."
        }
      },
      "type": "object",
      "required": [
        "integrationId",
        "projectId",
        "owner",
        "namespace",
        "repository",
        "branch"
      ]
    },
    "dokploy:index:RawComposeSource": {
      "description": "Raw Compose source configuration.",
      "properties": {
        "composeFile": {
          "type": "string",
          "description": "The raw Compose file."
        }
      },
      "type": "object",
      "required": [
        "composeFile"
      ]
    }
  },
  "provider": {
    "properties": {
      "apiKey": {
        "type": "string",
        "description": "Dokploy API key sent through x-api-key.",
        "defaultInfo": {
          "environment": [
            "DOKPLOY_API_KEY"
          ]
        },
        "secret": true
      },
      "endpoint": {
        "type": "string",
        "description": "Base URL of the Dokploy instance.",
        "defaultInfo": {
          "environment": [
            "DOKPLOY_ENDPOINT"
          ]
        }
      }
    },
    "required": [
      "endpoint",
      "apiKey"
    ],
    "inputProperties": {
      "apiKey": {
        "type": "string",
        "description": "Dokploy API key sent through x-api-key.",
        "defaultInfo": {
          "environment": [
            "DOKPLOY_API_KEY"
          ]
        },
        "secret": true
      },
      "endpoint": {
        "type": "string",
        "description": "Base URL of the Dokploy instance.",
        "defaultInfo": {
          "environment": [
            "DOKPLOY_ENDPOINT"
          ]
        }
      }
    },
    "requiredInputs": [
      "endpoint",
      "apiKey"
    ]
  },
  "resources": {
    "dokploy:index:Application": {
      "description": "A Dokploy application.",
      "properties": {
        "appName": {
          "type": "string",
          "description": "The optional deployed application name."
        },
        "applicationId": {
          "type": "string",
          "description": "The stable Dokploy application ID."
        },
        "buildArgs": {
          "type": "string",
          "description": "Build arguments for the application.",
          "secret": true
        },
        "buildRegistryId": {
          "type": "string",
          "description": "The optional build registry ID."
        },
        "buildSecrets": {
          "type": "string",
          "description": "Build secrets for the application.",
          "secret": true
        },
        "createEnvFile": {
          "type": "boolean",
          "description": "Whether to create an environment file."
        },
        "description": {
          "type": "string",
          "description": "An optional application description."
        },
        "environment": {
          "type": "string",
          "description": "Environment variables for the application.",
          "secret": true
        },
        "environmentId": {
          "type": "string",
          "description": "The target environment ID.",
          "replaceOnChanges": true
        },
        "name": {
          "type": "string",
          "description": "The application name."
        },
        "registryId": {
          "type": "string",
          "description": "The optional deployment registry ID."
        },
        "serverId": {
          "type": "string",
          "description": "The optional server ID.",
          "replaceOnChanges": true
        },
        "source": {
          "$ref": "#/types/dokploy:index:ApplicationSource",
          "description": "The application source configuration."
        },
        "status": {
          "type": "string",
          "description": "The current application deployment status."
        }
      },
      "required": [
        "name",
        "environmentId",
        "source",
        "applicationId",
        "status"
      ],
      "inputProperties": {
        "appName": {
          "type": "string",
          "description": "The optional deployed application name."
        },
        "buildArgs": {
          "type": "string",
          "description": "Build arguments for the application.",
          "secret": true
        },
        "buildRegistryId": {
          "type": "string",
          "description": "The optional build registry ID."
        },
        "buildSecrets": {
          "type": "string",
          "description": "Build secrets for the application.",
          "secret": true
        },
        "createEnvFile": {
          "type": "boolean",
          "description": "Whether to create an environment file."
        },
        "description": {
          "type": "string",
          "description": "An optional application description."
        },
        "environment": {
          "type": "string",
          "description": "Environment variables for the application.",
          "secret": true
        },
        "environmentId": {
          "type": "string",
          "description": "The target environment ID.",
          "replaceOnChanges": true
        },
        "name": {
          "type": "string",
          "description": "The application name."
        },
        "registryId": {
          "type": "string",
          "description": "The optional deployment registry ID."
        },
        "serverId": {
          "type": "string",
          "description": "The optional server ID.",
          "replaceOnChanges": true
        },
        "source": {
          "$ref": "#/types/dokploy:index:ApplicationSource",
          "description": "The application source configuration."
        }
      },
      "requiredInputs": [
        "name",
        "environmentId",
        "source"
      ]
    },
    "dokploy:index:Backup": {
      "description": "A scheduled Dokploy database backup. Exactly one of postgresId, mysqlId, mariadbId, or mongoId must be set.",
      "properties": {
        "backupId": {
          "type": "string",
          "description": "The stable Dokploy backup ID."
        },
        "database": {
          "type": "string",
          "description": "The database name inside the target instance to back up."
        },
        "destinationId": {
          "type": "string",
          "description": "The destination ID backups are stored to."
        },
        "enabled": {
          "type": "boolean",
          "description": "Whether the backup schedule is enabled.",
          "default": true
        },
        "keepLatestCount": {
          "type": "integer",
          "description": "The optional number of most recent backups to retain."
        },
        "mariadbId": {
          "type": "string",
          "description": "The target MariaDB ID.",
          "replaceOnChanges": true
        },
        "mongoId": {
          "type": "string",
          "description": "The target MongoDB ID.",
          "replaceOnChanges": true
        },
        "mysqlId": {
          "type": "string",
          "description": "The target MySQL ID.",
          "replaceOnChanges": true
        },
        "postgresId": {
          "type": "string",
          "description": "The target Postgres ID.",
          "replaceOnChanges": true
        },
        "prefix": {
          "type": "string",
          "description": "The backup file prefix."
        },
        "schedule": {
          "type": "string",
          "description": "The backup cron schedule."
        }
      },
      "required": [
        "schedule",
        "enabled",
        "prefix",
        "destinationId",
        "database",
        "backupId"
      ],
      "inputProperties": {
        "database": {
          "type": "string",
          "description": "The database name inside the target instance to back up."
        },
        "destinationId": {
          "type": "string",
          "description": "The destination ID backups are stored to."
        },
        "enabled": {
          "type": "boolean",
          "description": "Whether the backup schedule is enabled.",
          "default": true
        },
        "keepLatestCount": {
          "type": "integer",
          "description": "The optional number of most recent backups to retain."
        },
        "mariadbId": {
          "type": "string",
          "description": "The target MariaDB ID.",
          "replaceOnChanges": true
        },
        "mongoId": {
          "type": "string",
          "description": "The target MongoDB ID.",
          "replaceOnChanges": true
        },
        "mysqlId": {
          "type": "string",
          "description": "The target MySQL ID.",
          "replaceOnChanges": true
        },
        "postgresId": {
          "type": "string",
          "description": "The target Postgres ID.",
          "replaceOnChanges": true
        },
        "prefix": {
          "type": "string",
          "description": "The backup file prefix."
        },
        "schedule": {
          "type": "string",
          "description": "The backup cron schedule."
        }
      },
      "requiredInputs": [
        "schedule",
        "prefix",
        "destinationId",
        "database"
      ]
    },
    "dokploy:index:Compose": {
      "description": "A Dokploy Compose stack.",
      "properties": {
        "appName": {
          "type": "string",
          "description": "The optional deployed stack name."
        },
        "composeId": {
          "type": "string",
          "description": "The stable Dokploy Compose ID."
        },
        "composeType": {
          "type": "string",
          "description": "The Compose deployment type.",
          "default": "docker-compose"
        },
        "createEnvFile": {
          "type": "boolean",
          "description": "Whether to create an environment file."
        },
        "deleteVolumesOnDestroy": {
          "type": "boolean",
          "description": "Whether to delete volumes on destroy."
        },
        "description": {
          "type": "string",
          "description": "An optional stack description."
        },
        "environment": {
          "type": "string",
          "description": "Environment variables for the stack.",
          "secret": true
        },
        "environmentId": {
          "type": "string",
          "description": "The target environment ID.",
          "replaceOnChanges": true
        },
        "name": {
          "type": "string",
          "description": "The Compose stack name."
        },
        "serverId": {
          "type": "string",
          "description": "The optional server ID.",
          "replaceOnChanges": true
        },
        "source": {
          "$ref": "#/types/dokploy:index:ComposeSource",
          "description": "The Compose source configuration."
        },
        "status": {
          "type": "string",
          "description": "The current Compose deployment status."
        }
      },
      "required": [
        "name",
        "environmentId",
        "composeType",
        "source",
        "composeId",
        "status"
      ],
      "inputProperties": {
        "appName": {
          "type": "string",
          "description": "The optional deployed stack name."
        },
        "composeType": {
          "type": "string",
          "description": "The Compose deployment type.",
          "default": "docker-compose"
        },
        "createEnvFile": {
          "type": "boolean",
          "description": "Whether to create an environment file."
        },
        "deleteVolumesOnDestroy": {
          "type": "boolean",
          "description": "Whether to delete volumes on destroy."
        },
        "description": {
          "type": "string",
          "description": "An optional stack description."
        },
        "environment": {
          "type": "string",
          "description": "Environment variables for the stack.",
          "secret": true
        },
        "environmentId": {
          "type": "string",
          "description": "The target environment ID.",
          "replaceOnChanges": true
        },
        "name": {
          "type": "string",
          "description": "The Compose stack name."
        },
        "serverId": {
          "type": "string",
          "description": "The optional server ID.",
          "replaceOnChanges": true
        },
        "source": {
          "$ref": "#/types/dokploy:index:ComposeSource",
          "description": "The Compose source configuration."
        }
      },
      "requiredInputs": [
        "name",
        "environmentId",
        "source"
      ]
    },
    "dokploy:index:Destination": {
      "description": "A Dokploy S3-compatible backup storage destination.",
      "properties": {
        "accessKey": {
          "type": "string",
          "description": "The storage access key ID."
        },
        "additionalFlags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Additional rclone flags for backup and restore operations."
        },
        "bucket": {
          "type": "string",
          "description": "The storage bucket name."
        },
        "destinationId": {
          "type": "string",
          "description": "The stable Dokploy destination ID."
        },
        "endpoint": {
          "type": "string",
          "description": "The storage endpoint URL."
        },
        "name": {
          "type": "string",
          "description": "The destination name."
        },
        "provider": {
          "type": "string",
          "description": "The storage provider.",
          "default": "s3"
        },
        "region": {
          "type": "string",
          "description": "The storage region."
        },
        "secretAccessKey": {
          "type": "string",
          "description": "The storage secret access key.",
          "secret": true
        },
        "serverId": {
          "type": "string",
          "description": "The optional server ID this destination is scoped to."
        }
      },
      "required": [
        "name",
        "provider",
        "accessKey",
        "secretAccessKey",
        "bucket",
        "region",
        "endpoint",
        "destinationId"
      ],
      "inputProperties": {
        "accessKey": {
          "type": "string",
          "description": "The storage access key ID."
        },
        "additionalFlags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Additional rclone flags for backup and restore operations."
        },
        "bucket": {
          "type": "string",
          "description": "The storage bucket name."
        },
        "endpoint": {
          "type": "string",
          "description": "The storage endpoint URL."
        },
        "name": {
          "type": "string",
          "description": "The destination name."
        },
        "provider": {
          "type": "string",
          "description": "The storage provider.",
          "default": "s3"
        },
        "region": {
          "type": "string",
          "description": "The storage region."
        },
        "secretAccessKey": {
          "type": "string",
          "description": "The storage secret access key.",
          "secret": true
        },
        "serverId": {
          "type": "string",
          "description": "The optional server ID this destination is scoped to."
        }
      },
      "requiredInputs": [
        "name",
        "accessKey",
        "secretAccessKey",
        "bucket",
        "region",
        "endpoint"
      ]
    },
    "dokploy:index:Domain": {
      "description": "A Dokploy domain routing rule.",
      "properties": {
        "applicationId": {
          "type": "string",
          "description": "The optional application ID target.",
          "replaceOnChanges": true
        },
        "certificateType": {
          "type": "string",
          "description": "The certificate resolver type.",
          "default": "letsencrypt"
        },
        "composeId": {
          "type": "string",
          "description": "The optional Compose ID target.",
          "replaceOnChanges": true
        },
        "customCertResolver": {
          "type": "string",
          "description": "The custom certificate resolver."
        },
        "domainId": {
          "type": "string",
          "description": "The stable Dokploy domain ID."
        },
        "enabled": {
          "type": "boolean",
          "description": "Whether the domain is enabled.",
          "default": true
        },
        "host": {
          "type": "string",
          "description": "The domain hostname."
        },
        "https": {
          "type": "boolean",
          "description": "Whether HTTPS is enabled.",
          "default": true
        },
        "internalPath": {
          "type": "string",
          "description": "The internal URL path."
        },
        "path": {
          "type": "string",
          "description": "The public URL path."
        },
        "port": {
          "type": "integer",
          "description": "The target port."
        },
        "serviceName": {
          "type": "string",
          "description": "The Compose service name.",
          "replaceOnChanges": true
        },
        "stripPath": {
          "type": "boolean",
          "description": "Whether to strip the public path."
        }
      },
      "required": [
        "host",
        "https",
        "certificateType",
        "enabled",
        "domainId"
      ],
      "inputProperties": {
        "applicationId": {
          "type": "string",
          "description": "The optional application ID target.",
          "replaceOnChanges": true
        },
        "certificateType": {
          "type": "string",
          "description": "The certificate resolver type.",
          "default": "letsencrypt"
        },
        "composeId": {
          "type": "string",
          "description": "The optional Compose ID target.",
          "replaceOnChanges": true
        },
        "customCertResolver": {
          "type": "string",
          "description": "The custom certificate resolver."
        },
        "enabled": {
          "type": "boolean",
          "description": "Whether the domain is enabled.",
          "default": true
        },
        "host": {
          "type": "string",
          "description": "The domain hostname."
        },
        "https": {
          "type": "boolean",
          "description": "Whether HTTPS is enabled.",
          "default": true
        },
        "internalPath": {
          "type": "string",
          "description": "The internal URL path."
        },
        "path": {
          "type": "string",
          "description": "The public URL path."
        },
        "port": {
          "type": "integer",
          "description": "The target port."
        },
        "serviceName": {
          "type": "string",
          "description": "The Compose service name.",
          "replaceOnChanges": true
        },
        "stripPath": {
          "type": "boolean",
          "description": "Whether to strip the public path."
        }
      },
      "requiredInputs": [
        "host"
      ]
    },
    "dokploy:index:Environment": {
      "description": "A Dokploy environment.",
      "properties": {
        "description": {
          "type": "string",
          "description": "An optional environment description."
        },
        "environmentId": {
          "type": "string",
          "description": "The stable Dokploy environment ID."
        },
        "isDefault": {
          "type": "boolean",
          "description": "Whether this is the default environment."
        },
        "name": {
          "type": "string",
          "description": "The environment name."
        },
        "projectId": {
          "type": "string",
          "description": "The parent project ID."
        }
      },
      "required": [
        "projectId",
        "name",
        "environmentId",
        "isDefault"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "An optional environment description."
        },
        "name": {
          "type": "string",
          "description": "The environment name."
        },
        "projectId": {
          "type": "string",
          "description": "The parent project ID."
        }
      },
      "requiredInputs": [
        "projectId",
        "name"
      ]
    },
    "dokploy:index:MariaDB": {
      "description": "A Dokploy MariaDB database.",
      "properties": {
        "appName": {
          "type": "string",
          "description": "The optional deployed database name."
        },
        "databaseName": {
          "type": "string",
          "description": "The MariaDB database name."
        },
        "databasePassword": {
          "type": "string",
          "description": "The MariaDB database password.",
          "secret": true
        },
        "databaseRootPassword": {
          "type": "string",
          "description": "The optional MariaDB root password.",
          "secret": true
        },
        "databaseUser": {
          "type": "string",
          "description": "The MariaDB database user."
        },
        "description": {
          "type": "string",
          "description": "An optional database description."
        },
        "dockerImage": {
          "type": "string",
          "description": "The MariaDB Docker image.",
          "default": "mariadb:11"
        },
        "environment": {
          "type": "string",
          "description": "Environment variables for MariaDB.",
          "secret": true
        },
        "environmentId": {
          "type": "string",
          "description": "The target environment ID.",
          "replaceOnChanges": true
        },
        "externalPort": {
          "type": "integer",
          "description": "The optional externally exposed port."
        },
        "mariadbId": {
          "type": "string",
          "description": "The stable Dokploy MariaDB ID."
        },
        "name": {
          "type": "string",
          "description": "The database resource name."
        },
        "serverId": {
          "type": "string",
          "description": "The optional server ID.",
          "replaceOnChanges": true
        },
        "status": {
          "type": "string",
          "description": "The current MariaDB deployment status."
        }
      },
      "required": [
        "name",
        "environmentId",
        "databaseName",
        "databaseUser",
        "databasePassword",
        "dockerImage",
        "mariadbId",
        "status"
      ],
      "inputProperties": {
        "appName": {
          "type": "string",
          "description": "The optional deployed database name."
        },
        "databaseName": {
          "type": "string",
          "description": "The MariaDB database name."
        },
        "databasePassword": {
          "type": "string",
          "description": "The MariaDB database password.",
          "secret": true
        },
        "databaseRootPassword": {
          "type": "string",
          "description": "The optional MariaDB root password.",
          "secret": true
        },
        "databaseUser": {
          "type": "string",
          "description": "The MariaDB database user."
        },
        "description": {
          "type": "string",
          "description": "An optional database description."
        },
        "dockerImage": {
          "type": "string",
          "description": "The MariaDB Docker image.",
          "default": "mariadb:11"
        },
        "environment": {
          "type": "string",
          "description": "Environment variables for MariaDB.",
          "secret": true
        },
        "environmentId": {
          "type": "string",
          "description": "The target environment ID.",
          "replaceOnChanges": true
        },
        "externalPort": {
          "type": "integer",
          "description": "The optional externally exposed port."
        },
        "name": {
          "type": "string",
          "description": "The database resource name."
        },
        "serverId": {
          "type": "string",
          "description": "The optional server ID.",
          "replaceOnChanges": true
        }
      },
      "requiredInputs": [
        "name",
        "environmentId",
        "databaseName",
        "databaseUser",
        "databasePassword"
      ]
    },
    "dokploy:index:MongoDB": {
      "description": "A Dokploy MongoDB database.",
      "properties": {
        "appName": {
          "type": "string",
          "description": "The optional deployed database name."
        },
        "databasePassword": {
          "type": "string",
          "description": "The MongoDB database password.",
          "secret": true
        },
        "databaseUser": {
          "type": "string",
          "description": "The MongoDB database user."
        },
        "description": {
          "type": "string",
          "description": "An optional database description."
        },
        "dockerImage": {
          "type": "string",
          "description": "The MongoDB Docker image.",
          "default": "mongo:8"
        },
        "environment": {
          "type": "string",
          "description": "Environment variables for MongoDB.",
          "secret": true
        },
        "environmentId": {
          "type": "string",
          "description": "The target environment ID.",
          "replaceOnChanges": true
        },
        "externalPort": {
          "type": "integer",
          "description": "The optional externally exposed port."
        },
        "mongoId": {
          "type": "string",
          "description": "The stable Dokploy MongoDB ID."
        },
        "name": {
          "type": "string",
          "description": "The database resource name."
        },
        "replicaSets": {
          "type": "boolean",
          "description": "Whether to enable a MongoDB replica set."
        },
        "serverId": {
          "type": "string",
          "description": "The optional server ID.",
          "replaceOnChanges": true
        },
        "status": {
          "type": "string",
          "description": "The current MongoDB deployment status."
        }
      },
      "required": [
        "name",
        "environmentId",
        "databaseUser",
        "databasePassword",
        "dockerImage",
        "mongoId",
        "status"
      ],
      "inputProperties": {
        "appName": {
          "type": "string",
          "description": "The optional deployed database name."
        },
        "databasePassword": {
          "type": "string",
          "description": "The MongoDB database password.",
          "secret": true
        },
        "databaseUser": {
          "type": "string",
          "description": "The MongoDB database user."
        },
        "description": {
          "type": "string",
          "description": "An optional database description."
        },
        "dockerImage": {
          "type": "string",
          "description": "The MongoDB Docker image.",
          "default": "mongo:8"
        },
        "environment": {
          "type": "string",
          "description": "Environment variables for MongoDB.",
          "secret": true
        },
        "environmentId": {
          "type": "string",
          "description": "The target environment ID.",
          "replaceOnChanges": true
        },
        "externalPort": {
          "type": "integer",
          "description": "The optional externally exposed port."
        },
        "name": {
          "type": "string",
          "description": "The database resource name."
        },
        "replicaSets": {
          "type": "boolean",
          "description": "Whether to enable a MongoDB replica set."
        },
        "serverId": {
          "type": "string",
          "description": "The optional server ID.",
          "replaceOnChanges": true
        }
      },
      "requiredInputs": [
        "name",
        "environmentId",
        "databaseUser",
        "databasePassword"
      ]
    },
    "dokploy:index:Mount": {
      "description": "A Dokploy workload mount.",
      "properties": {
        "applicationId": {
          "type": "string",
          "description": "The application target.",
          "replaceOnChanges": true
        },
        "composeId": {
          "type": "string",
          "description": "The Compose target.",
          "replaceOnChanges": true
        },
        "content": {
          "type": "string",
          "description": "The file content.",
          "secret": true
        },
        "filePath": {
          "type": "string",
          "description": "The file path."
        },
        "hostPath": {
          "type": "string",
          "description": "The host path."
        },
        "mariadbId": {
          "type": "string",
          "description": "The MariaDB target.",
          "replaceOnChanges": true
        },
        "mountId": {
          "type": "string",
          "description": "The stable Dokploy mount ID."
        },
        "mountPath": {
          "type": "string",
          "description": "The path inside the workload."
        },
        "mysqlId": {
          "type": "string",
          "description": "The MySQL target.",
          "replaceOnChanges": true
        },
        "postgresId": {
          "type": "string",
          "description": "The Postgres target.",
          "replaceOnChanges": true
        },
        "redisId": {
          "type": "string",
          "description": "The Redis target.",
          "replaceOnChanges": true
        },
        "type": {
          "type": "string",
          "description": "The mount type.",
          "replaceOnChanges": true
        },
        "volumeName": {
          "type": "string",
          "description": "The volume name."
        }
      },
      "required": [
        "type",
        "mountPath",
        "mountId"
      ],
      "inputProperties": {
        "applicationId": {
          "type": "string",
          "description": "The application target.",
          "replaceOnChanges": true
        },
        "composeId": {
          "type": "string",
          "description": "The Compose target.",
          "replaceOnChanges": true
        },
        "content": {
          "type": "string",
          "description": "The file content.",
          "secret": true
        },
        "filePath": {
          "type": "string",
          "description": "The file path."
        },
        "hostPath": {
          "type": "string",
          "description": "The host path."
        },
        "mariadbId": {
          "type": "string",
          "description": "The MariaDB target.",
          "replaceOnChanges": true
        },
        "mountPath": {
          "type": "string",
          "description": "The path inside the workload."
        },
        "mysqlId": {
          "type": "string",
          "description": "The MySQL target.",
          "replaceOnChanges": true
        },
        "postgresId": {
          "type": "string",
          "description": "The Postgres target.",
          "replaceOnChanges": true
        },
        "redisId": {
          "type": "string",
          "description": "The Redis target.",
          "replaceOnChanges": true
        },
        "type": {
          "type": "string",
          "description": "The mount type.",
          "replaceOnChanges": true
        },
        "volumeName": {
          "type": "string",
          "description": "The volume name."
        }
      },
      "requiredInputs": [
        "type",
        "mountPath"
      ]
    },
    "dokploy:index:MySQL": {
      "description": "A Dokploy MySQL database.",
      "properties": {
        "appName": {
          "type": "string",
          "description": "The optional deployed database name."
        },
        "databaseName": {
          "type": "string",
          "description": "The MySQL database name."
        },
        "databasePassword": {
          "type": "string",
          "description": "The MySQL database password.",
          "secret": true
        },
        "databaseRootPassword": {
          "type": "string",
          "description": "The optional MySQL root password.",
          "secret": true
        },
        "databaseUser": {
          "type": "string",
          "description": "The MySQL database user."
        },
        "description": {
          "type": "string",
          "description": "An optional database description."
        },
        "dockerImage": {
          "type": "string",
          "description": "The MySQL Docker image.",
          "default": "mysql:8"
        },
        "environment": {
          "type": "string",
          "description": "Environment variables for MySQL.",
          "secret": true
        },
        "environmentId": {
          "type": "string",
          "description": "The target environment ID.",
          "replaceOnChanges": true
        },
        "externalPort": {
          "type": "integer",
          "description": "The optional externally exposed port."
        },
        "mysqlId": {
          "type": "string",
          "description": "The stable Dokploy MySQL ID."
        },
        "name": {
          "type": "string",
          "description": "The database resource name."
        },
        "serverId": {
          "type": "string",
          "description": "The optional server ID.",
          "replaceOnChanges": true
        },
        "status": {
          "type": "string",
          "description": "The current MySQL deployment status."
        }
      },
      "required": [
        "name",
        "environmentId",
        "databaseName",
        "databaseUser",
        "databasePassword",
        "dockerImage",
        "mysqlId",
        "status"
      ],
      "inputProperties": {
        "appName": {
          "type": "string",
          "description": "The optional deployed database name."
        },
        "databaseName": {
          "type": "string",
          "description": "The MySQL database name."
        },
        "databasePassword": {
          "type": "string",
          "description": "The MySQL database password.",
          "secret": true
        },
        "databaseRootPassword": {
          "type": "string",
          "description": "The optional MySQL root password.",
          "secret": true
        },
        "databaseUser": {
          "type": "string",
          "description": "The MySQL database user."
        },
        "description": {
          "type": "string",
          "description": "An optional database description."
        },
        "dockerImage": {
          "type": "string",
          "description": "The MySQL Docker image.",
          "default": "mysql:8"
        },
        "environment": {
          "type": "string",
          "description": "Environment variables for MySQL.",
          "secret": true
        },
        "environmentId": {
          "type": "string",
          "description": "The target environment ID.",
          "replaceOnChanges": true
        },
        "externalPort": {
          "type": "integer",
          "description": "The optional externally exposed port."
        },
        "name": {
          "type": "string",
          "description": "The database resource name."
        },
        "serverId": {
          "type": "string",
          "description": "The optional server ID.",
          "replaceOnChanges": true
        }
      },
      "requiredInputs": [
        "name",
        "environmentId",
        "databaseName",
        "databaseUser",
        "databasePassword"
      ]
    },
    "dokploy:index:Postgres": {
      "description": "A Dokploy PostgreSQL database.",
      "properties": {
        "appName": {
          "type": "string",
          "description": "The optional deployed database name."
        },
        "databaseName": {
          "type": "string",
          "description": "The PostgreSQL database name."
        },
        "databasePassword": {
          "type": "string",
          "description": "The PostgreSQL database password.",
          "secret": true
        },
        "databaseUser": {
          "type": "string",
          "description": "The PostgreSQL database user."
        },
        "description": {
          "type": "string",
          "description": "An optional database description."
        },
        "dockerImage": {
          "type": "string",
          "description": "The PostgreSQL Docker image.",
          "default": "postgres:18"
        },
        "environment": {
          "type": "string",
          "description": "Environment variables for PostgreSQL.",
          "secret": true
        },
        "environmentId": {
          "type": "string",
          "description": "The target environment ID.",
          "replaceOnChanges": true
        },
        "externalPort": {
          "type": "integer",
          "description": "The optional externally exposed port."
        },
        "name": {
          "type": "string",
          "description": "The database resource name."
        },
        "postgresId": {
          "type": "string",
          "description": "The stable Dokploy PostgreSQL ID."
        },
        "serverId": {
          "type": "string",
          "description": "The optional server ID.",
          "replaceOnChanges": true
        },
        "status": {
          "type": "string",
          "description": "The current PostgreSQL deployment status."
        }
      },
      "required": [
        "name",
        "environmentId",
        "databaseName",
        "databaseUser",
        "databasePassword",
        "dockerImage",
        "postgresId",
        "status"
      ],
      "inputProperties": {
        "appName": {
          "type": "string",
          "description": "The optional deployed database name."
        },
        "databaseName": {
          "type": "string",
          "description": "The PostgreSQL database name."
        },
        "databasePassword": {
          "type": "string",
          "description": "The PostgreSQL database password.",
          "secret": true
        },
        "databaseUser": {
          "type": "string",
          "description": "The PostgreSQL database user."
        },
        "description": {
          "type": "string",
          "description": "An optional database description."
        },
        "dockerImage": {
          "type": "string",
          "description": "The PostgreSQL Docker image.",
          "default": "postgres:18"
        },
        "environment": {
          "type": "string",
          "description": "Environment variables for PostgreSQL.",
          "secret": true
        },
        "environmentId": {
          "type": "string",
          "description": "The target environment ID.",
          "replaceOnChanges": true
        },
        "externalPort": {
          "type": "integer",
          "description": "The optional externally exposed port."
        },
        "name": {
          "type": "string",
          "description": "The database resource name."
        },
        "serverId": {
          "type": "string",
          "description": "The optional server ID.",
          "replaceOnChanges": true
        }
      },
      "requiredInputs": [
        "name",
        "environmentId",
        "databaseName",
        "databaseUser",
        "databasePassword"
      ]
    },
    "dokploy:index:Project": {
      "description": "A Dokploy project.",
      "properties": {
        "defaultEnvironmentId": {
          "type": "string",
          "description": "The project's default environment ID."
        },
        "description": {
          "type": "string",
          "description": "An optional project description."
        },
        "name": {
          "type": "string",
          "description": "The project name."
        },
        "projectId": {
          "type": "string",
          "description": "The stable Dokploy project ID."
        }
      },
      "required": [
        "name",
        "projectId",
        "defaultEnvironmentId"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "An optional project description."
        },
        "name": {
          "type": "string",
          "description": "The project name."
        }
      },
      "requiredInputs": [
        "name"
      ]
    },
    "dokploy:index:ProjectTag": {
      "description": "A Dokploy project-to-tag association.",
      "properties": {
        "projectId": {
          "type": "string",
          "description": "The Dokploy project ID.",
          "replaceOnChanges": true
        },
        "tagId": {
          "type": "string",
          "description": "The Dokploy tag ID.",
          "replaceOnChanges": true
        }
      },
      "required": [
        "projectId",
        "tagId"
      ],
      "inputProperties": {
        "projectId": {
          "type": "string",
          "description": "The Dokploy project ID.",
          "replaceOnChanges": true
        },
        "tagId": {
          "type": "string",
          "description": "The Dokploy tag ID.",
          "replaceOnChanges": true
        }
      },
      "requiredInputs": [
        "projectId",
        "tagId"
      ]
    },
    "dokploy:index:Redis": {
      "description": "A Dokploy Redis database.",
      "properties": {
        "appName": {
          "type": "string",
          "description": "The optional deployed database name."
        },
        "databasePassword": {
          "type": "string",
          "description": "The Redis database password.",
          "secret": true
        },
        "description": {
          "type": "string",
          "description": "An optional database description."
        },
        "dockerImage": {
          "type": "string",
          "description": "The Redis Docker image.",
          "default": "redis:8"
        },
        "environment": {
          "type": "string",
          "description": "Environment variables for Redis.",
          "secret": true
        },
        "environmentId": {
          "type": "string",
          "description": "The target environment ID.",
          "replaceOnChanges": true
        },
        "externalPort": {
          "type": "integer",
          "description": "The optional externally exposed port."
        },
        "name": {
          "type": "string",
          "description": "The database resource name."
        },
        "redisId": {
          "type": "string",
          "description": "The stable Dokploy Redis ID."
        },
        "serverId": {
          "type": "string",
          "description": "The optional server ID.",
          "replaceOnChanges": true
        },
        "status": {
          "type": "string",
          "description": "The current Redis deployment status."
        }
      },
      "required": [
        "name",
        "environmentId",
        "databasePassword",
        "dockerImage",
        "redisId",
        "status"
      ],
      "inputProperties": {
        "appName": {
          "type": "string",
          "description": "The optional deployed database name."
        },
        "databasePassword": {
          "type": "string",
          "description": "The Redis database password.",
          "secret": true
        },
        "description": {
          "type": "string",
          "description": "An optional database description."
        },
        "dockerImage": {
          "type": "string",
          "description": "The Redis Docker image.",
          "default": "redis:8"
        },
        "environment": {
          "type": "string",
          "description": "Environment variables for Redis.",
          "secret": true
        },
        "environmentId": {
          "type": "string",
          "description": "The target environment ID.",
          "replaceOnChanges": true
        },
        "externalPort": {
          "type": "integer",
          "description": "The optional externally exposed port."
        },
        "name": {
          "type": "string",
          "description": "The database resource name."
        },
        "serverId": {
          "type": "string",
          "description": "The optional server ID.",
          "replaceOnChanges": true
        }
      },
      "requiredInputs": [
        "name",
        "environmentId",
        "databasePassword"
      ]
    },
    "dokploy:index:Registry": {
      "description": "A Dokploy container registry.",
      "properties": {
        "imagePrefix": {
          "type": "string",
          "description": "The optional image prefix."
        },
        "name": {
          "type": "string",
          "description": "The registry name."
        },
        "password": {
          "type": "string",
          "description": "The registry password.",
          "secret": true
        },
        "registryId": {
          "type": "string",
          "description": "The stable Dokploy registry ID."
        },
        "serverId": {
          "type": "string",
          "description": "The optional server ID."
        },
        "url": {
          "type": "string",
          "description": "The registry URL."
        },
        "username": {
          "type": "string",
          "description": "The registry username."
        }
      },
      "required": [
        "name",
        "username",
        "password",
        "url",
        "registryId"
      ],
      "inputProperties": {
        "imagePrefix": {
          "type": "string",
          "description": "The optional image prefix."
        },
        "name": {
          "type": "string",
          "description": "The registry name."
        },
        "password": {
          "type": "string",
          "description": "The registry password.",
          "secret": true
        },
        "serverId": {
          "type": "string",
          "description": "The optional server ID."
        },
        "url": {
          "type": "string",
          "description": "The registry URL."
        },
        "username": {
          "type": "string",
          "description": "The registry username."
        }
      },
      "requiredInputs": [
        "name",
        "username",
        "password",
        "url"
      ]
    },
    "dokploy:index:SSHKey": {
      "description": "A Dokploy SSH key for Git and registry access.",
      "properties": {
        "description": {
          "type": "string",
          "description": "The optional SSH key description."
        },
        "name": {
          "type": "string",
          "description": "The SSH key name."
        },
        "organizationId": {
          "type": "string",
          "description": "The Dokploy organization ID owning this SSH key."
        },
        "privateKey": {
          "type": "string",
          "description": "The private SSH key material.",
          "secret": true,
          "replaceOnChanges": true
        },
        "publicKey": {
          "type": "string",
          "description": "The public SSH key material.",
          "replaceOnChanges": true
        },
        "sshKeyId": {
          "type": "string",
          "description": "The stable Dokploy SSH key ID."
        }
      },
      "required": [
        "name",
        "privateKey",
        "publicKey",
        "sshKeyId",
        "organizationId"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "The optional SSH key description."
        },
        "name": {
          "type": "string",
          "description": "The SSH key name."
        },
        "privateKey": {
          "type": "string",
          "description": "The private SSH key material.",
          "secret": true,
          "replaceOnChanges": true
        },
        "publicKey": {
          "type": "string",
          "description": "The public SSH key material.",
          "replaceOnChanges": true
        }
      },
      "requiredInputs": [
        "name",
        "privateKey",
        "publicKey"
      ]
    },
    "dokploy:index:Tag": {
      "description": "A reusable Dokploy project tag.",
      "properties": {
        "color": {
          "type": "string",
          "description": "The optional opaque tag color."
        },
        "name": {
          "type": "string",
          "description": "The tag name."
        },
        "tagId": {
          "type": "string",
          "description": "The stable Dokploy tag ID."
        }
      },
      "required": [
        "name",
        "tagId"
      ],
      "inputProperties": {
        "color": {
          "type": "string",
          "description": "The optional opaque tag color."
        },
        "name": {
          "type": "string",
          "description": "The tag name."
        }
      },
      "requiredInputs": [
        "name"
      ]
    },
    "dokploy:index:VolumeBackup": {
      "description": "A scheduled Dokploy volume backup for an application or Compose service. Exactly one of applicationId or composeId must be set.",
      "properties": {
        "applicationId": {
          "type": "string",
          "description": "The optional target application ID.",
          "replaceOnChanges": true
        },
        "composeId": {
          "type": "string",
          "description": "The optional target Compose ID.",
          "replaceOnChanges": true
        },
        "cronExpression": {
          "type": "string",
          "description": "The backup cron schedule."
        },
        "destinationId": {
          "type": "string",
          "description": "The destination ID backups are stored to."
        },
        "enabled": {
          "type": "boolean",
          "description": "Whether the backup schedule is enabled.",
          "default": true
        },
        "keepLatestCount": {
          "type": "integer",
          "description": "The optional number of most recent backups to retain."
        },
        "name": {
          "type": "string",
          "description": "The volume backup resource name."
        },
        "prefix": {
          "type": "string",
          "description": "The backup file prefix."
        },
        "serviceName": {
          "type": "string",
          "description": "The Compose service name that owns the volume.",
          "replaceOnChanges": true
        },
        "turnOff": {
          "type": "boolean",
          "description": "Whether to turn the backup off without deleting it."
        },
        "volumeBackupId": {
          "type": "string",
          "description": "The stable Dokploy volume backup ID."
        },
        "volumeName": {
          "type": "string",
          "description": "The Docker volume name to back up."
        }
      },
      "required": [
        "name",
        "volumeName",
        "prefix",
        "destinationId",
        "cronExpression",
        "enabled",
        "volumeBackupId"
      ],
      "inputProperties": {
        "applicationId": {
          "type": "string",
          "description": "The optional target application ID.",
          "replaceOnChanges": true
        },
        "composeId": {
          "type": "string",
          "description": "The optional target Compose ID.",
          "replaceOnChanges": true
        },
        "cronExpression": {
          "type": "string",
          "description": "The backup cron schedule."
        },
        "destinationId": {
          "type": "string",
          "description": "The destination ID backups are stored to."
        },
        "enabled": {
          "type": "boolean",
          "description": "Whether the backup schedule is enabled.",
          "default": true
        },
        "keepLatestCount": {
          "type": "integer",
          "description": "The optional number of most recent backups to retain."
        },
        "name": {
          "type": "string",
          "description": "The volume backup resource name."
        },
        "prefix": {
          "type": "string",
          "description": "The backup file prefix."
        },
        "serviceName": {
          "type": "string",
          "description": "The Compose service name that owns the volume.",
          "replaceOnChanges": true
        },
        "turnOff": {
          "type": "boolean",
          "description": "Whether to turn the backup off without deleting it."
        },
        "volumeName": {
          "type": "string",
          "description": "The Docker volume name to back up."
        }
      },
      "requiredInputs": [
        "name",
        "volumeName",
        "prefix",
        "destinationId",
        "cronExpression"
      ]
    }
  }
}
