Cover what Dokploy v0.30 added
Six new resources, all backed by endpoints that did not exist before v0.30.0
and verified end-to-end against a live v0.30.2 instance:
dokploy_network Docker networks, now first-class. Services attach
through network_ids, which is what deprecates
Compose's isolated_deployment upstream.
dokploy_dns_provider Cloudflare or Route53, so adding a domain creates
its DNS record.
dokploy_vault_provider Env values resolved from HashiCorp Vault, Infisical,
AWS, Doppler, Azure or Scaleway at deploy time, so
the secret never lands in Dokploy or in state.
dokploy_schedule Cron jobs in a container, a stack, or on a server.
dokploy_volume_backup Scheduled backups of a named volume — the companion
to a mount that persists.
dokploy_libsql The sixth managed database engine.
libsql.create is the strictest endpoint in the API: eleven keys required to
be present, several only meaningfully null, no generated service name, and it
returns `true` rather than the row. CreateDefaults and ListIDs absorb all
three so the resource behaves like every other database.
Also filled the gaps a field-by-field diff against the live schema turned up:
domain gains `enabled` (the v0.30.0 park-a-domain toggle), compose gains
create_env_file, icon and service_networks, application gains icon and
preview_require_collaborator_permissions, and mounts accept libsql.
DNS and vault credentials are masked by Dokploy on read, so `config` is
tagged noread and keeps the configured value, as the basic-auth password
already does.
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
# 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).
|
||||
|
||||
## [0.2.0] — 2026-08-26
|
||||
|
||||
Tracks **Dokploy v0.30.x**. Verified against a live v0.30.2 instance
|
||||
(597 API operations).
|
||||
|
||||
### Fixed
|
||||
|
||||
- **`dokploy_mount` could silently create a volume that never persisted
|
||||
anything.** A `type = "volume"` mount with no `volume_name` was accepted by
|
||||
Dokploy and by this provider. Dokploy renders such a mount as
|
||||
`{Source: "", Target: <mount_path>}`, and Docker reads an empty source as an
|
||||
*anonymous* volume: every deploy created a brand-new volume and orphaned the
|
||||
previous one, so data never survived a redeploy and disk usage grew on every
|
||||
deployment.
|
||||
|
||||
The provider now rejects that configuration at **plan** time, before anything
|
||||
is created, with an error explaining the consequence. The same check covers
|
||||
the two neighbouring cases — `type = "bind"` without `host_path` and
|
||||
`type = "file"` without `file_path` — and flags a field set for the wrong
|
||||
`type`, which Dokploy would otherwise ignore silently.
|
||||
|
||||
If you already have such a mount, add a `volume_name`, apply, and redeploy
|
||||
the service. The data in the current anonymous volume is **not** migrated;
|
||||
copy it off first if you need it.
|
||||
|
||||
### Added
|
||||
|
||||
New resources, all from Dokploy v0.30.0:
|
||||
|
||||
- **`dokploy_network`** — Docker networks as first-class objects: `bridge` or
|
||||
`overlay`, with `internal`, `attachable`, IPv4/IPv6, `mtu` and custom `ipam`.
|
||||
Docker networks are immutable, so every attribute forces replacement.
|
||||
- **`dokploy_dns_provider`** — a Cloudflare or AWS Route53 connection that lets
|
||||
Dokploy create DNS records for domains automatically.
|
||||
- **`dokploy_vault_provider`** — resolve environment variables from an external
|
||||
secret manager at deploy time with `${{vault.<scope>.<key>}}`. Supports
|
||||
HashiCorp Vault/OpenBao, Infisical, AWS Secrets Manager, Doppler, Azure Key
|
||||
Vault and Scaleway.
|
||||
- **`dokploy_schedule`** — cron jobs running in an application container, a
|
||||
Compose service, a remote server, or on the Dokploy host.
|
||||
- **`dokploy_volume_backup`** — scheduled backups of a Docker volume to a
|
||||
`dokploy_destination`. The natural companion to a named `dokploy_mount`.
|
||||
- **`dokploy_libsql`** — the sixth managed database engine, with `primary` and
|
||||
`replica` `sqld` nodes and libSQL namespaces.
|
||||
|
||||
New attributes on existing resources:
|
||||
|
||||
- `dokploy_domain` gains **`enabled`**, the v0.30.0 enable/disable toggle. It
|
||||
pulls a route out of Traefik while keeping certificates, paths and middleware
|
||||
intact, so a domain can be parked and restored without reconfiguring it.
|
||||
- `dokploy_compose` gains `create_env_file`, `icon` and **`service_networks`**,
|
||||
which attaches individual services in a stack to specific Docker networks.
|
||||
- `dokploy_application` gains `icon` and
|
||||
`preview_require_collaborator_permissions`.
|
||||
- `dokploy_mount` and `dokploy_volume_backup` accept `libsql` as a
|
||||
`service_type`.
|
||||
|
||||
### Changed
|
||||
|
||||
- `network_ids` and `detach_dokploy_network` are now documented as the
|
||||
supported way to control service networking. Compose's
|
||||
`isolated_deployment` is **deprecated upstream** in v0.30.0 — attaching
|
||||
networks per service covers the same ground and survives restarts. The
|
||||
attribute still exists and still works; prefer `network_ids` for new
|
||||
configurations.
|
||||
|
||||
### Notes
|
||||
|
||||
- Dokploy's `libsql.create` requires eleven keys to be present even when null
|
||||
is the only sensible value, and does not generate a service name. The
|
||||
provider fills both in, so `app_name` stays optional as it is for every other
|
||||
database.
|
||||
- `config` on `dokploy_dns_provider` and `dokploy_vault_provider` is masked by
|
||||
Dokploy on read. Terraform keeps the value you configured and does **not**
|
||||
detect drift in those credentials.
|
||||
|
||||
## [0.1.0] — 2026-08-09
|
||||
|
||||
Initial release. Projects, environments, applications, Compose stacks, five
|
||||
managed databases (PostgreSQL, MySQL, MariaDB, MongoDB, Redis), domains,
|
||||
mounts, ports, redirects, basic auth, registries, SSH keys, certificates and
|
||||
backup destinations, plus five data sources and a `web-service` module.
|
||||
|
||||
[0.2.0]: https://gitea.coolify.vojtkov.dev/usr_unknown/terraform-provider-dokploy/releases/tag/v0.2.0
|
||||
[0.1.0]: https://gitea.coolify.vojtkov.dev/usr_unknown/terraform-provider-dokploy/releases/tag/v0.1.0
|
||||
Reference in New Issue
Block a user