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
+68 -61
View File
@@ -4,6 +4,13 @@
import * as pulumi from "@pulumi/pulumi";
import * as utilities from "./utilities";
/**
* A managed MongoDB 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 Mongo extends pulumi.CustomResource {
/**
* Get an existing Mongo resource's state with the given name, ID, and optional extra
@@ -270,135 +277,135 @@ export interface MongoState {
/**
* 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 for the root user.
*/
databasePassword?: pulumi.Input<string>;
databasePassword?: pulumi.Input<string | undefined>;
/**
* Root username to create.
*/
databaseUser?: pulumi.Input<string>;
databaseUser?: 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>;
/**
* MongoDB image to run. Defaults to `mongo:8`.
*/
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>;
/**
* Start the instance as a single-node replica set.
*/
replicaSets?: pulumi.Input<boolean>;
replicaSets?: pulumi.Input<boolean | 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>;
}
/**
@@ -408,23 +415,23 @@ export interface MongoArgs {
/**
* 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 for the root user.
*/
@@ -436,23 +443,23 @@ export interface MongoArgs {
/**
* 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>;
/**
* MongoDB image to run. Defaults to `mongo:8`.
*/
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.
*/
@@ -460,73 +467,73 @@ export interface MongoArgs {
/**
* 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>;
/**
* Start the instance as a single-node replica set.
*/
replicaSets?: pulumi.Input<boolean>;
replicaSets?: pulumi.Input<boolean | 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>;
}