Bridge what Dokploy v0.30 added, and let the docs through
build / build (push) Failing after 11m22s
release / plugin (push) Failing after 31m35s
release / sdks (push) Has been skipped

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:
max-voitcov
2026-08-26 00:46:32 +03:00
parent ad3e908c98
commit 73386ba0ff
137 changed files with 19660 additions and 5183 deletions
+64 -57
View File
@@ -4,6 +4,13 @@
import * as pulumi from "@pulumi/pulumi";
import * as utilities from "./utilities";
/**
* A managed Redis instance running on Dokploy.
*
* > Creating this resource provisions the service definition but does **not** start a deployment. Deploy it from the Dokploy UI or CLI.
*
* > Credentials are stored in Terraform state. Use a state backend with encryption at rest.
*/
export class Redis extends pulumi.CustomResource {
/**
* Get an existing Redis resource's state with the given name, ID, and optional extra
@@ -258,127 +265,127 @@ export interface RedisState {
/**
* Unique Docker service name. Generated by Dokploy when omitted. Changing it forces a new database.
*/
appName?: pulumi.Input<string>;
appName?: pulumi.Input<string | undefined>;
/**
* Current status reported by Dokploy: `idle`, `running`, `done` or `error`.
*/
applicationStatus?: pulumi.Input<string>;
applicationStatus?: pulumi.Input<string | undefined>;
/**
* Arguments appended to the container command.
*/
args?: pulumi.Input<pulumi.Input<string>[]>;
args?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* Override the container entrypoint command.
*/
command?: pulumi.Input<string>;
command?: pulumi.Input<string | undefined>;
/**
* Hard CPU limit, for example `1`.
*/
cpuLimit?: pulumi.Input<string>;
cpuLimit?: pulumi.Input<string | undefined>;
/**
* Soft CPU reservation, for example `0.5`.
*/
cpuReservation?: pulumi.Input<string>;
cpuReservation?: pulumi.Input<string | undefined>;
/**
* RFC 3339 timestamp of when the database was created.
*/
createdAt?: pulumi.Input<string>;
createdAt?: pulumi.Input<string | undefined>;
/**
* Password used to authenticate to Redis.
*/
databasePassword?: pulumi.Input<string>;
databasePassword?: pulumi.Input<string | undefined>;
/**
* Free-form description.
*/
description?: pulumi.Input<string>;
description?: pulumi.Input<string | undefined>;
/**
* Detach the service from the shared `dokploy-network`.
*/
detachDokployNetwork?: pulumi.Input<boolean>;
detachDokployNetwork?: pulumi.Input<boolean | undefined>;
/**
* Redis image to run, for example `redis:7`.
*/
dockerImage?: pulumi.Input<string>;
dockerImage?: pulumi.Input<string | undefined>;
/**
* Docker Swarm endpoint specification, as a JSON object.
*/
endpointSpecSwarm?: pulumi.Input<string>;
endpointSpecSwarm?: pulumi.Input<string | undefined>;
/**
* Environment variables in `KEY=value` format, one per line.
*/
env?: pulumi.Input<string>;
env?: pulumi.Input<string | undefined>;
/**
* Environment this database belongs to.
*/
environmentId?: pulumi.Input<string>;
environmentId?: pulumi.Input<string | undefined>;
/**
* Host port to expose the database on. Leave unset to keep the database reachable only from inside the Docker network.
*/
externalPort?: pulumi.Input<number>;
externalPort?: pulumi.Input<number | undefined>;
/**
* Docker Swarm health check configuration, as a JSON object.
*/
healthCheckSwarm?: pulumi.Input<string>;
healthCheckSwarm?: pulumi.Input<string | undefined>;
/**
* Docker Swarm service labels, as a JSON object.
*/
labelsSwarm?: pulumi.Input<string>;
labelsSwarm?: pulumi.Input<string | undefined>;
/**
* Hard memory limit, for example `512m`.
*/
memoryLimit?: pulumi.Input<string>;
memoryLimit?: pulumi.Input<string | undefined>;
/**
* Soft memory reservation, for example `256m`.
*/
memoryReservation?: pulumi.Input<string>;
memoryReservation?: pulumi.Input<string | undefined>;
/**
* Docker Swarm service mode, as a JSON object.
*/
modeSwarm?: pulumi.Input<string>;
modeSwarm?: pulumi.Input<string | undefined>;
/**
* Display name of the database.
*/
name?: pulumi.Input<string>;
name?: pulumi.Input<string | undefined>;
/**
* IDs of additional Docker networks to attach.
*/
networkIds?: pulumi.Input<pulumi.Input<string>[]>;
networkIds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* Docker Swarm network attachments, as a JSON array.
*/
networkSwarm?: pulumi.Input<string>;
networkSwarm?: pulumi.Input<string | undefined>;
/**
* Docker Swarm placement constraints, as a JSON object.
*/
placementSwarm?: pulumi.Input<string>;
placementSwarm?: pulumi.Input<string | undefined>;
/**
* Number of replicas to run.
*/
replicas?: pulumi.Input<number>;
replicas?: pulumi.Input<number | undefined>;
/**
* Docker Swarm restart policy, as a JSON object.
*/
restartPolicySwarm?: pulumi.Input<string>;
restartPolicySwarm?: pulumi.Input<string | undefined>;
/**
* Docker Swarm rollback configuration, as a JSON object.
*/
rollbackConfigSwarm?: pulumi.Input<string>;
rollbackConfigSwarm?: pulumi.Input<string | undefined>;
/**
* Remote server to deploy on. Omit to use the Dokploy host itself.
*/
serverId?: pulumi.Input<string>;
serverId?: pulumi.Input<string | undefined>;
/**
* Grace period in nanoseconds before a container is killed.
*/
stopGracePeriodSwarm?: pulumi.Input<number>;
stopGracePeriodSwarm?: pulumi.Input<number | undefined>;
/**
* Docker Swarm ulimits, as a JSON object.
*/
ulimitsSwarm?: pulumi.Input<string>;
ulimitsSwarm?: pulumi.Input<string | undefined>;
/**
* Docker Swarm rolling update configuration, as a JSON object.
*/
updateConfigSwarm?: pulumi.Input<string>;
updateConfigSwarm?: pulumi.Input<string | undefined>;
}
/**
@@ -388,23 +395,23 @@ export interface RedisArgs {
/**
* Unique Docker service name. Generated by Dokploy when omitted. Changing it forces a new database.
*/
appName?: pulumi.Input<string>;
appName?: pulumi.Input<string | undefined>;
/**
* Arguments appended to the container command.
*/
args?: pulumi.Input<pulumi.Input<string>[]>;
args?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* Override the container entrypoint command.
*/
command?: pulumi.Input<string>;
command?: pulumi.Input<string | undefined>;
/**
* Hard CPU limit, for example `1`.
*/
cpuLimit?: pulumi.Input<string>;
cpuLimit?: pulumi.Input<string | undefined>;
/**
* Soft CPU reservation, for example `0.5`.
*/
cpuReservation?: pulumi.Input<string>;
cpuReservation?: pulumi.Input<string | undefined>;
/**
* Password used to authenticate to Redis.
*/
@@ -412,11 +419,11 @@ export interface RedisArgs {
/**
* Free-form description.
*/
description?: pulumi.Input<string>;
description?: pulumi.Input<string | undefined>;
/**
* Detach the service from the shared `dokploy-network`.
*/
detachDokployNetwork?: pulumi.Input<boolean>;
detachDokployNetwork?: pulumi.Input<boolean | undefined>;
/**
* Redis image to run, for example `redis:7`.
*/
@@ -424,11 +431,11 @@ export interface RedisArgs {
/**
* Docker Swarm endpoint specification, as a JSON object.
*/
endpointSpecSwarm?: pulumi.Input<string>;
endpointSpecSwarm?: pulumi.Input<string | undefined>;
/**
* Environment variables in `KEY=value` format, one per line.
*/
env?: pulumi.Input<string>;
env?: pulumi.Input<string | undefined>;
/**
* Environment this database belongs to.
*/
@@ -436,69 +443,69 @@ export interface RedisArgs {
/**
* Host port to expose the database on. Leave unset to keep the database reachable only from inside the Docker network.
*/
externalPort?: pulumi.Input<number>;
externalPort?: pulumi.Input<number | undefined>;
/**
* Docker Swarm health check configuration, as a JSON object.
*/
healthCheckSwarm?: pulumi.Input<string>;
healthCheckSwarm?: pulumi.Input<string | undefined>;
/**
* Docker Swarm service labels, as a JSON object.
*/
labelsSwarm?: pulumi.Input<string>;
labelsSwarm?: pulumi.Input<string | undefined>;
/**
* Hard memory limit, for example `512m`.
*/
memoryLimit?: pulumi.Input<string>;
memoryLimit?: pulumi.Input<string | undefined>;
/**
* Soft memory reservation, for example `256m`.
*/
memoryReservation?: pulumi.Input<string>;
memoryReservation?: pulumi.Input<string | undefined>;
/**
* Docker Swarm service mode, as a JSON object.
*/
modeSwarm?: pulumi.Input<string>;
modeSwarm?: pulumi.Input<string | undefined>;
/**
* Display name of the database.
*/
name?: pulumi.Input<string>;
name?: pulumi.Input<string | undefined>;
/**
* IDs of additional Docker networks to attach.
*/
networkIds?: pulumi.Input<pulumi.Input<string>[]>;
networkIds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* Docker Swarm network attachments, as a JSON array.
*/
networkSwarm?: pulumi.Input<string>;
networkSwarm?: pulumi.Input<string | undefined>;
/**
* Docker Swarm placement constraints, as a JSON object.
*/
placementSwarm?: pulumi.Input<string>;
placementSwarm?: pulumi.Input<string | undefined>;
/**
* Number of replicas to run.
*/
replicas?: pulumi.Input<number>;
replicas?: pulumi.Input<number | undefined>;
/**
* Docker Swarm restart policy, as a JSON object.
*/
restartPolicySwarm?: pulumi.Input<string>;
restartPolicySwarm?: pulumi.Input<string | undefined>;
/**
* Docker Swarm rollback configuration, as a JSON object.
*/
rollbackConfigSwarm?: pulumi.Input<string>;
rollbackConfigSwarm?: pulumi.Input<string | undefined>;
/**
* Remote server to deploy on. Omit to use the Dokploy host itself.
*/
serverId?: pulumi.Input<string>;
serverId?: pulumi.Input<string | undefined>;
/**
* Grace period in nanoseconds before a container is killed.
*/
stopGracePeriodSwarm?: pulumi.Input<number>;
stopGracePeriodSwarm?: pulumi.Input<number | undefined>;
/**
* Docker Swarm ulimits, as a JSON object.
*/
ulimitsSwarm?: pulumi.Input<string>;
ulimitsSwarm?: pulumi.Input<string | undefined>;
/**
* Docker Swarm rolling update configuration, as a JSON object.
*/
updateConfigSwarm?: pulumi.Input<string>;
updateConfigSwarm?: pulumi.Input<string | undefined>;
}