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:
3
provider/cmd/pulumi-resource-dokploy/Pulumi.yaml
Normal file
3
provider/cmd/pulumi-resource-dokploy/Pulumi.yaml
Normal file
@@ -0,0 +1,3 @@
|
||||
name: dokploy
|
||||
description: A Pulumi resource provider for dokploy.
|
||||
language: schema
|
||||
162
provider/cmd/pulumi-resource-dokploy/bridge-metadata.json
Normal file
162
provider/cmd/pulumi-resource-dokploy/bridge-metadata.json
Normal 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": {}
|
||||
}
|
||||
23
provider/cmd/pulumi-resource-dokploy/main.go
Normal file
23
provider/cmd/pulumi-resource-dokploy/main.go
Normal 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})
|
||||
}
|
||||
5720
provider/cmd/pulumi-resource-dokploy/schema.json
Normal file
5720
provider/cmd/pulumi-resource-dokploy/schema.json
Normal file
File diff suppressed because it is too large
Load Diff
14
provider/cmd/pulumi-tfgen-dokploy/main.go
Normal file
14
provider/cmd/pulumi-tfgen-dokploy/main.go
Normal 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))
|
||||
}
|
||||
Reference in New Issue
Block a user