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:
@@ -196,6 +196,12 @@ func optionalJSON(description string) schema.StringAttribute {
|
||||
}
|
||||
}
|
||||
|
||||
// enumValidator is the validator list for a string constrained to a fixed set,
|
||||
// for attributes assembled by hand rather than through enumString.
|
||||
func enumValidator(values []string) []validator.String {
|
||||
return []validator.String{stringvalidator.OneOf(values...)}
|
||||
}
|
||||
|
||||
func joinBackticked(values []string) string {
|
||||
out := ""
|
||||
for i, v := range values {
|
||||
@@ -217,7 +223,18 @@ var (
|
||||
composeSources = []string{"git", "github", "gitlab", "bitbucket", "gitea", "raw"}
|
||||
domainTypes = []string{"compose", "application", "preview"}
|
||||
mountTypes = []string{"bind", "volume", "file"}
|
||||
serviceTypes = []string{"application", "postgres", "mysql", "mariadb", "mongo", "redis", "compose"}
|
||||
serviceTypes = []string{"application", "postgres", "mysql", "mariadb", "mongo", "redis", "compose", "libsql"}
|
||||
protocolTypes = []string{"tcp", "udp"}
|
||||
publishModes = []string{"ingress", "host"}
|
||||
|
||||
// Added in Dokploy v0.30.0.
|
||||
networkDrivers = []string{"bridge", "overlay"}
|
||||
shellTypes = []string{"bash", "sh"}
|
||||
scheduleTypes = []string{"application", "compose", "server", "dokploy-server"}
|
||||
sqldNodes = []string{"primary", "replica"}
|
||||
|
||||
// volumeBackups accepts the service types plus libsql.
|
||||
volumeBackupServiceTypes = []string{
|
||||
"application", "postgres", "mysql", "mariadb", "mongo", "redis", "compose", "libsql",
|
||||
}
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user