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:
@@ -44,7 +44,7 @@ func (p *dokployProvider) Metadata(_ context.Context, _ provider.MetadataRequest
|
||||
func (p *dokployProvider) Schema(_ context.Context, _ provider.SchemaRequest, resp *provider.SchemaResponse) {
|
||||
resp.Schema = schema.Schema{
|
||||
MarkdownDescription: "Manage [Dokploy](https://dokploy.com) projects, environments, applications, " +
|
||||
"compose stacks, databases and networking with Terraform.",
|
||||
"compose stacks, databases, Docker networks and networking with Terraform.",
|
||||
Attributes: map[string]schema.Attribute{
|
||||
"host": schema.StringAttribute{
|
||||
Optional: true,
|
||||
@@ -139,6 +139,7 @@ func (p *dokployProvider) Resources(_ context.Context) []func() resource.Resourc
|
||||
newGenericResource(mariadbResource()),
|
||||
newGenericResource(mongoResource()),
|
||||
newGenericResource(redisResource()),
|
||||
newGenericResource(libsqlResource()),
|
||||
|
||||
newGenericResource(domainResource()),
|
||||
newGenericResource(mountResource()),
|
||||
@@ -146,6 +147,17 @@ func (p *dokployProvider) Resources(_ context.Context) []func() resource.Resourc
|
||||
newGenericResource(redirectResource()),
|
||||
newGenericResource(securityResource()),
|
||||
|
||||
// Docker network management, added in Dokploy v0.30.0.
|
||||
newGenericResource(networkResource()),
|
||||
|
||||
// Scheduling, added in Dokploy v0.30.0.
|
||||
newGenericResource(scheduleResource()),
|
||||
newGenericResource(volumeBackupResource()),
|
||||
|
||||
// External integrations, added in Dokploy v0.30.0.
|
||||
newGenericResource(dnsProviderResource()),
|
||||
newGenericResource(vaultProviderResource()),
|
||||
|
||||
newGenericResource(registryResource()),
|
||||
newGenericResource(sshKeyResource()),
|
||||
newGenericResource(certificateResource()),
|
||||
|
||||
Reference in New Issue
Block a user