Files
max-voitcov 2d1caf6e73
build / build (push) Successful in 3m56s
release / release (push) Successful in 15m2s
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.
2026-08-26 00:40:27 +03:00

93 lines
4.3 KiB
Markdown

# 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