Bridge what Dokploy v0.30 added, and let the docs through
Six new resources from terraform-provider-dokploy v0.2.0 -- Network, DnsProvider, VaultProvider, Schedule, VolumeBackup and Libsql -- plus the new properties on Domain (`enabled`), Compose (`serviceNetworks`, `createEnvFile`, `icon`) and Application. Verified with `pulumi up` against a live v0.30.2 instance: create, preview-clean, and destroy. The upstream provider also now refuses a volume Mount with no `volumeName`, which Dokploy would otherwise turn into an anonymous Docker volume recreated on every deploy. That surfaces here at preview time, before anything exists. Two things made that fix nearly invisible to Pulumi users, so this commit fixes the second one: the bridge resolves the upstream `docs/` through the Go module cache, where a locally `replace`d dependency never lands, so tfgen was emitting every resource with no description at all. UpstreamRepoPath now points at the checkout and all 445 inputs carry documentation -- with names rendered per language, so Python readers see `volume_name` where TypeScript readers see `volumeName`.
This commit is contained in:
@@ -0,0 +1,98 @@
|
||||
# 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.<scope>.<key>}}`. 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
|
||||
Reference in New Issue
Block a user