Bridge terraform-provider-dokploy into a Pulumi provider

18 resources and 5 data sources mapped into the dokploy:index module, with
SDKs generated for TypeScript, Python, Go and .NET.
This commit is contained in:
2026-08-08 15:28:16 +03:00
commit bb3c15135b
175 changed files with 61774 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
name: dokploy
description: A Pulumi resource provider for dokploy.
language: schema

View File

@@ -0,0 +1,162 @@
{
"auto-aliasing": {
"resources": {
"dokploy_application": {
"current": "dokploy:index/application:Application",
"fields": {
"args": {
"maxItemsOne": false
},
"network_ids": {
"maxItemsOne": false
},
"preview_labels": {
"maxItemsOne": false
},
"watch_paths": {
"maxItemsOne": false
}
}
},
"dokploy_certificate": {
"current": "dokploy:index/certificate:Certificate"
},
"dokploy_compose": {
"current": "dokploy:index/compose:Compose",
"fields": {
"watch_paths": {
"maxItemsOne": false
}
}
},
"dokploy_destination": {
"current": "dokploy:index/destination:Destination",
"fields": {
"additional_flags": {
"maxItemsOne": false
}
}
},
"dokploy_domain": {
"current": "dokploy:index/domain:Domain",
"fields": {
"middlewares": {
"maxItemsOne": false
}
}
},
"dokploy_environment": {
"current": "dokploy:index/environment:Environment"
},
"dokploy_mariadb": {
"current": "dokploy:index/mariaDb:MariaDb",
"fields": {
"args": {
"maxItemsOne": false
},
"network_ids": {
"maxItemsOne": false
}
}
},
"dokploy_mongo": {
"current": "dokploy:index/mongo:Mongo",
"fields": {
"args": {
"maxItemsOne": false
},
"network_ids": {
"maxItemsOne": false
}
}
},
"dokploy_mount": {
"current": "dokploy:index/mount:Mount"
},
"dokploy_mysql": {
"current": "dokploy:index/mySql:MySql",
"fields": {
"args": {
"maxItemsOne": false
},
"network_ids": {
"maxItemsOne": false
}
}
},
"dokploy_port": {
"current": "dokploy:index/port:Port"
},
"dokploy_postgres": {
"current": "dokploy:index/postgres:Postgres",
"fields": {
"args": {
"maxItemsOne": false
},
"network_ids": {
"maxItemsOne": false
}
}
},
"dokploy_project": {
"current": "dokploy:index/project:Project"
},
"dokploy_redirect": {
"current": "dokploy:index/redirect:Redirect"
},
"dokploy_redis": {
"current": "dokploy:index/redis:Redis",
"fields": {
"args": {
"maxItemsOne": false
},
"network_ids": {
"maxItemsOne": false
}
}
},
"dokploy_registry": {
"current": "dokploy:index/registry:Registry"
},
"dokploy_security": {
"current": "dokploy:index/security:Security"
},
"dokploy_ssh_key": {
"current": "dokploy:index/sshKey:SshKey"
}
},
"datasources": {
"dokploy_application": {
"current": "dokploy:index/getApplication:getApplication"
},
"dokploy_environment": {
"current": "dokploy:index/getEnvironment:getEnvironment"
},
"dokploy_project": {
"current": "dokploy:index/getProject:getProject",
"fields": {
"environments": {
"maxItemsOne": false
}
}
},
"dokploy_projects": {
"current": "dokploy:index/getProjects:getProjects",
"fields": {
"projects": {
"maxItemsOne": false
}
}
},
"dokploy_servers": {
"current": "dokploy:index/getServers:getServers",
"fields": {
"servers": {
"maxItemsOne": false
}
}
}
}
},
"auto-settings": {}
}

View File

@@ -0,0 +1,23 @@
// pulumi-resource-dokploy is the Pulumi provider plugin for Dokploy. It serves
// the bridged Terraform provider together with the schema baked in at build
// time by `make tfgen`.
package main
import (
"context"
_ "embed"
"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/pf/tfbridge"
dokploy "github.com/maxvojtkov/pulumi-dokploy/provider"
"github.com/maxvojtkov/pulumi-dokploy/provider/pkg/version"
)
//go:embed schema.json
var pulumiSchema []byte
func main() {
tfbridge.Main(context.Background(), "dokploy",
dokploy.Provider(version.Version),
tfbridge.ProviderMetadata{PackageSchema: pulumiSchema})
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,14 @@
// pulumi-tfgen-dokploy generates the Pulumi package schema and language SDKs
// from the bridged Dokploy Terraform provider.
package main
import (
"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/pf/tfgen"
dokploy "github.com/maxvojtkov/pulumi-dokploy/provider"
"github.com/maxvojtkov/pulumi-dokploy/provider/pkg/version"
)
func main() {
tfgen.Main("dokploy", dokploy.Provider(version.Version))
}