# Changelog All notable changes to this provider are documented here. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). This package bridges [terraform-provider-dokploy](https://gitea.coolify.vojtkov.dev/usr_unknown/terraform-provider-dokploy); its versions track that provider's. ## [0.2.0] — 2026-08-26 Tracks **Dokploy v0.30.x** through terraform-provider-dokploy v0.2.0. Verified end-to-end with `pulumi up` against a live v0.30.2 instance. ### Fixed - **A `Mount` with `type: "volume"` and no `volumeName` is now refused at preview time.** Dokploy accepted such a mount and rendered it for Docker with an empty source, which Docker reads as an *anonymous* volume: every deploy created a new one and orphaned the last, so the data never survived a redeploy while disk usage grew. Nothing errored anywhere along the way. `pulumi preview` now fails with an explanation instead: ``` error: dokploy:index/mount:Mount resource 'data' has a problem: Missing volume_name. `volume_name` must be set to a non-empty value when `type` is `volume`. Dokploy passes an unset volume_name to Docker as an empty source, which creates a new anonymous volume on every deploy. … Examine values at 'data.volumeName'. ``` The same check covers `type: "bind"` without `hostPath` and `type: "file"` without `filePath`. If you already have such a mount, add a `volumeName` and redeploy; the contents of the current anonymous volume are **not** migrated. - **Resource and property documentation now reaches the generated SDKs.** The bridge was looking for the upstream provider's `docs/` in the Go module cache, where a locally `replace`d dependency never appears, so every resource arrived in TypeScript, Python, Go and .NET with no description at all — the volume warning above included. `UpstreamRepoPath` now points at the upstream checkout, and all 445 resource inputs carry documentation, with property names rendered per language (`volumeName` in TypeScript, `volume_name` in Python). ### Added New resources, mirroring Dokploy v0.30.0: - **`Network`** — Docker networks as first-class objects (`bridge` or `overlay`, with `internal`, `attachable`, IPv4/IPv6, `mtu`, custom `ipam`). Attach services with `networkIds`. Docker networks are immutable, so every property forces replacement. - **`DnsProvider`** — a Cloudflare or AWS Route53 connection, so adding a domain creates its DNS record. - **`VaultProvider`** — environment values resolved at deploy time from HashiCorp Vault/OpenBao, Infisical, AWS Secrets Manager, Doppler, Azure Key Vault or Scaleway, referenced as `${{vault..}}`. The secret never reaches Dokploy or your Pulumi state. - **`Schedule`** — cron jobs in an application container, a Compose service, a remote server, or on the Dokploy host. - **`VolumeBackup`** — scheduled backups of a Docker volume to a `Destination`. - **`Libsql`** — the sixth managed database engine. New properties on existing resources: - `Domain` gains **`enabled`**, the v0.30.0 toggle that pulls a route out of Traefik while keeping certificates, paths and middleware intact. - `Compose` gains `createEnvFile`, `icon` and **`serviceNetworks`**, which attaches individual services in a stack to specific networks. - `Application` gains `icon` and `previewRequireCollaboratorPermissions`. - `Mount` and `VolumeBackup` accept `libsql` as a `serviceType`. ### Changed - `networkIds` and `detachDokployNetwork` are the supported way to control service networking. Compose's `isolatedDeployment` is **deprecated upstream** in v0.30.0 — per-service network attachment covers the same ground and survives restarts. The property still works; prefer `networkIds` for new programs. ### Notes - `config` on `DnsProvider` and `VaultProvider` is masked by Dokploy on read, so Pulumi keeps the value your program supplied and does **not** detect drift in those credentials. Both are marked secret. ## [0.1.0] — 2026-08-09 Initial release: 18 resources and 5 data sources across TypeScript, Python, Go and .NET, bridged from terraform-provider-dokploy v0.1.0. [0.2.0]: https://gitea.coolify.vojtkov.dev/usr_unknown/pulumi-dokploy/releases/tag/v0.2.0 [0.1.0]: https://gitea.coolify.vojtkov.dev/usr_unknown/pulumi-dokploy/releases/tag/v0.1.0