18 resources and 5 data sources mapped into the dokploy:index module, with SDKs generated for TypeScript, Python, Go and .NET.
1651 lines
74 KiB
Go
Generated
1651 lines
74 KiB
Go
Generated
// Code generated by pulumi-language-go DO NOT EDIT.
|
|
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
|
|
|
package dokploy
|
|
|
|
import (
|
|
"context"
|
|
"reflect"
|
|
|
|
"errors"
|
|
"github.com/maxvojtkov/pulumi-dokploy/sdk/go/dokploy/internal"
|
|
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
|
)
|
|
|
|
type Application struct {
|
|
pulumi.CustomResourceState
|
|
|
|
// Unique Docker service name. Generated by Dokploy when omitted. Changing it forces a new application.
|
|
AppName pulumi.StringOutput `pulumi:"appName"`
|
|
// Current status reported by Dokploy: `idle`, `running`, `done` or `error`.
|
|
ApplicationStatus pulumi.StringOutput `pulumi:"applicationStatus"`
|
|
// Arguments appended to the container command.
|
|
Args pulumi.StringArrayOutput `pulumi:"args"`
|
|
// Deploy automatically when the configured trigger fires.
|
|
AutoDeploy pulumi.BoolOutput `pulumi:"autoDeploy"`
|
|
// Bitbucket branch to build.
|
|
BitbucketBranch pulumi.StringPtrOutput `pulumi:"bitbucketBranch"`
|
|
// Path within the Bitbucket repository to build from.
|
|
BitbucketBuildPath pulumi.StringOutput `pulumi:"bitbucketBuildPath"`
|
|
// ID of the configured Bitbucket provider connection.
|
|
BitbucketId pulumi.StringPtrOutput `pulumi:"bitbucketId"`
|
|
// Bitbucket repository owner.
|
|
BitbucketOwner pulumi.StringPtrOutput `pulumi:"bitbucketOwner"`
|
|
// Bitbucket repository name.
|
|
BitbucketRepository pulumi.StringPtrOutput `pulumi:"bitbucketRepository"`
|
|
// Bitbucket repository slug.
|
|
BitbucketRepositorySlug pulumi.StringPtrOutput `pulumi:"bitbucketRepositorySlug"`
|
|
// GitHub branch to build.
|
|
Branch pulumi.StringPtrOutput `pulumi:"branch"`
|
|
// Docker build arguments in `KEY=value` format, one per line.
|
|
BuildArgs pulumi.StringPtrOutput `pulumi:"buildArgs"`
|
|
// Path within the GitHub repository to build from.
|
|
BuildPath pulumi.StringOutput `pulumi:"buildPath"`
|
|
// Registry used by a dedicated build server.
|
|
BuildRegistryId pulumi.StringPtrOutput `pulumi:"buildRegistryId"`
|
|
// Docker build secrets in `KEY=value` format, one per line.
|
|
BuildSecrets pulumi.StringOutput `pulumi:"buildSecrets"`
|
|
// Server that performs builds, when separate from the deploy server.
|
|
BuildServerId pulumi.StringPtrOutput `pulumi:"buildServerId"`
|
|
// How the application is built. Valid values: `dockerfile`, `herokuBuildpacks`, `paketoBuildpacks`, `nixpacks`, `static`, `railpack`.
|
|
BuildType pulumi.StringOutput `pulumi:"buildType"`
|
|
// Discard the build cache on the next deployment.
|
|
CleanCache pulumi.BoolOutput `pulumi:"cleanCache"`
|
|
// Override the container entrypoint command.
|
|
Command pulumi.StringPtrOutput `pulumi:"command"`
|
|
// Hard CPU limit, for example `1`.
|
|
CpuLimit pulumi.StringPtrOutput `pulumi:"cpuLimit"`
|
|
// Soft CPU reservation, for example `0.5`.
|
|
CpuReservation pulumi.StringPtrOutput `pulumi:"cpuReservation"`
|
|
// Write the environment variables to a `.env` file in the container.
|
|
CreateEnvFile pulumi.BoolOutput `pulumi:"createEnvFile"`
|
|
// RFC 3339 timestamp of when the application was created.
|
|
CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
|
|
// Branch to build for a custom Git remote.
|
|
CustomGitBranch pulumi.StringPtrOutput `pulumi:"customGitBranch"`
|
|
// Path within a custom Git repository to build from.
|
|
CustomGitBuildPath pulumi.StringPtrOutput `pulumi:"customGitBuildPath"`
|
|
// SSH key used to clone a private custom Git remote.
|
|
CustomGitSshKeyId pulumi.StringPtrOutput `pulumi:"customGitSshKeyId"`
|
|
// Git remote URL, when `sourceType` is `git`.
|
|
CustomGitUrl pulumi.StringPtrOutput `pulumi:"customGitUrl"`
|
|
// Free-form description.
|
|
Description pulumi.StringPtrOutput `pulumi:"description"`
|
|
// Detach the service from the shared `dokploy-network`.
|
|
DetachDokployNetwork pulumi.BoolOutput `pulumi:"detachDokployNetwork"`
|
|
// Target stage for a multi-stage Docker build.
|
|
DockerBuildStage pulumi.StringPtrOutput `pulumi:"dockerBuildStage"`
|
|
// Docker build context path.
|
|
DockerContextPath pulumi.StringPtrOutput `pulumi:"dockerContextPath"`
|
|
// Docker image reference, when `sourceType` is `docker`.
|
|
DockerImage pulumi.StringPtrOutput `pulumi:"dockerImage"`
|
|
// Path to the Dockerfile, when `buildType` is `dockerfile`.
|
|
Dockerfile pulumi.StringOutput `pulumi:"dockerfile"`
|
|
// Clone Git submodules when checking out the repository.
|
|
EnableSubmodules pulumi.BoolOutput `pulumi:"enableSubmodules"`
|
|
// Whether the application is enabled.
|
|
Enabled pulumi.BoolOutput `pulumi:"enabled"`
|
|
// Docker Swarm endpoint specification, as a JSON object.
|
|
EndpointSpecSwarm pulumi.StringPtrOutput `pulumi:"endpointSpecSwarm"`
|
|
// Runtime environment variables in `KEY=value` format, one per line.
|
|
Env pulumi.StringPtrOutput `pulumi:"env"`
|
|
// Environment this application belongs to.
|
|
EnvironmentId pulumi.StringOutput `pulumi:"environmentId"`
|
|
// Gitea branch to build.
|
|
GiteaBranch pulumi.StringPtrOutput `pulumi:"giteaBranch"`
|
|
// Path within the Gitea repository to build from.
|
|
GiteaBuildPath pulumi.StringOutput `pulumi:"giteaBuildPath"`
|
|
// ID of the configured Gitea provider connection.
|
|
GiteaId pulumi.StringPtrOutput `pulumi:"giteaId"`
|
|
// Gitea repository owner.
|
|
GiteaOwner pulumi.StringPtrOutput `pulumi:"giteaOwner"`
|
|
// Gitea repository name.
|
|
GiteaRepository pulumi.StringPtrOutput `pulumi:"giteaRepository"`
|
|
// ID of the configured GitHub provider connection.
|
|
GithubId pulumi.StringPtrOutput `pulumi:"githubId"`
|
|
// GitLab branch to build.
|
|
GitlabBranch pulumi.StringPtrOutput `pulumi:"gitlabBranch"`
|
|
// Path within the GitLab repository to build from.
|
|
GitlabBuildPath pulumi.StringOutput `pulumi:"gitlabBuildPath"`
|
|
// ID of the configured GitLab provider connection.
|
|
GitlabId pulumi.StringPtrOutput `pulumi:"gitlabId"`
|
|
// GitLab repository owner.
|
|
GitlabOwner pulumi.StringPtrOutput `pulumi:"gitlabOwner"`
|
|
// Full GitLab namespace path.
|
|
GitlabPathNamespace pulumi.StringPtrOutput `pulumi:"gitlabPathNamespace"`
|
|
// Numeric GitLab project ID.
|
|
GitlabProjectId pulumi.IntPtrOutput `pulumi:"gitlabProjectId"`
|
|
// GitLab repository name.
|
|
GitlabRepository pulumi.StringPtrOutput `pulumi:"gitlabRepository"`
|
|
// Docker Swarm health check configuration, as a JSON object.
|
|
HealthCheckSwarm pulumi.StringPtrOutput `pulumi:"healthCheckSwarm"`
|
|
// Heroku buildpack stack version.
|
|
HerokuVersion pulumi.StringOutput `pulumi:"herokuVersion"`
|
|
// Build a preview deployment for each pull request.
|
|
IsPreviewDeploymentsActive pulumi.BoolOutput `pulumi:"isPreviewDeploymentsActive"`
|
|
// Serve a static build as a single-page application.
|
|
IsStaticSpa pulumi.BoolOutput `pulumi:"isStaticSpa"`
|
|
// Docker Swarm service labels, as a JSON object.
|
|
LabelsSwarm pulumi.StringPtrOutput `pulumi:"labelsSwarm"`
|
|
// Hard memory limit, for example `512m`.
|
|
MemoryLimit pulumi.StringPtrOutput `pulumi:"memoryLimit"`
|
|
// Soft memory reservation, for example `256m`.
|
|
MemoryReservation pulumi.StringPtrOutput `pulumi:"memoryReservation"`
|
|
// Docker Swarm service mode, as a JSON object.
|
|
ModeSwarm pulumi.StringPtrOutput `pulumi:"modeSwarm"`
|
|
// Display name of the application.
|
|
Name pulumi.StringOutput `pulumi:"name"`
|
|
// IDs of additional Docker networks to attach.
|
|
NetworkIds pulumi.StringArrayOutput `pulumi:"networkIds"`
|
|
// Docker Swarm network attachments, as a JSON array.
|
|
NetworkSwarm pulumi.StringPtrOutput `pulumi:"networkSwarm"`
|
|
// GitHub repository owner.
|
|
Owner pulumi.StringPtrOutput `pulumi:"owner"`
|
|
// Registry password, when pulling a private image.
|
|
Password pulumi.StringOutput `pulumi:"password"`
|
|
// Docker Swarm placement constraints, as a JSON object.
|
|
PlacementSwarm pulumi.StringPtrOutput `pulumi:"placementSwarm"`
|
|
// Build arguments applied to preview deployments.
|
|
PreviewBuildArgs pulumi.StringPtrOutput `pulumi:"previewBuildArgs"`
|
|
// Build secrets applied to preview deployments.
|
|
PreviewBuildSecrets pulumi.StringOutput `pulumi:"previewBuildSecrets"`
|
|
// Certificate strategy for preview deployments. Valid values: `letsencrypt`, `none`, `custom`.
|
|
PreviewCertificateType pulumi.StringOutput `pulumi:"previewCertificateType"`
|
|
// Traefik certificate resolver for preview deployments.
|
|
PreviewCustomCertResolver pulumi.StringPtrOutput `pulumi:"previewCustomCertResolver"`
|
|
// Environment variables applied to preview deployments.
|
|
PreviewEnv pulumi.StringPtrOutput `pulumi:"previewEnv"`
|
|
// Serve preview deployments over HTTPS.
|
|
PreviewHttps pulumi.BoolOutput `pulumi:"previewHttps"`
|
|
// Pull request labels that opt into preview deployments.
|
|
PreviewLabels pulumi.StringArrayOutput `pulumi:"previewLabels"`
|
|
// Maximum number of concurrent preview deployments.
|
|
PreviewLimit pulumi.IntOutput `pulumi:"previewLimit"`
|
|
// Base path for preview deployments.
|
|
PreviewPath pulumi.StringOutput `pulumi:"previewPath"`
|
|
// Container port exposed by preview deployments.
|
|
PreviewPort pulumi.IntOutput `pulumi:"previewPort"`
|
|
// Wildcard domain used to expose preview deployments.
|
|
PreviewWildcard pulumi.StringPtrOutput `pulumi:"previewWildcard"`
|
|
// Directory served when `buildType` is `static`.
|
|
PublishDirectory pulumi.StringPtrOutput `pulumi:"publishDirectory"`
|
|
// Railpack version.
|
|
RailpackVersion pulumi.StringOutput `pulumi:"railpackVersion"`
|
|
// Registry used to push the built image.
|
|
RegistryId pulumi.StringPtrOutput `pulumi:"registryId"`
|
|
// Registry URL, when pulling a private image.
|
|
RegistryUrl pulumi.StringPtrOutput `pulumi:"registryUrl"`
|
|
// Number of replicas to run.
|
|
Replicas pulumi.IntOutput `pulumi:"replicas"`
|
|
// GitHub repository name.
|
|
Repository pulumi.StringPtrOutput `pulumi:"repository"`
|
|
// Docker Swarm restart policy, as a JSON object.
|
|
RestartPolicySwarm pulumi.StringPtrOutput `pulumi:"restartPolicySwarm"`
|
|
// Keep previous images so deployments can be rolled back.
|
|
RollbackActive pulumi.BoolOutput `pulumi:"rollbackActive"`
|
|
// Docker Swarm rollback configuration, as a JSON object.
|
|
RollbackConfigSwarm pulumi.StringPtrOutput `pulumi:"rollbackConfigSwarm"`
|
|
// Registry used to store rollback images.
|
|
RollbackRegistryId pulumi.StringPtrOutput `pulumi:"rollbackRegistryId"`
|
|
// Remote server to deploy on. Omit to use the Dokploy host itself.
|
|
ServerId pulumi.StringPtrOutput `pulumi:"serverId"`
|
|
// Where the application's code or image comes from. Valid values: `docker`, `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `drop`.
|
|
SourceType pulumi.StringOutput `pulumi:"sourceType"`
|
|
// Grace period in nanoseconds before a container is killed.
|
|
StopGracePeriodSwarm pulumi.IntPtrOutput `pulumi:"stopGracePeriodSwarm"`
|
|
// Display subtitle shown in the Dokploy UI.
|
|
Subtitle pulumi.StringPtrOutput `pulumi:"subtitle"`
|
|
// Display title shown in the Dokploy UI.
|
|
Title pulumi.StringPtrOutput `pulumi:"title"`
|
|
// What triggers an automatic GitHub deployment. Valid values: `push`, `tag`.
|
|
TriggerType pulumi.StringOutput `pulumi:"triggerType"`
|
|
// Docker Swarm ulimits, as a JSON object.
|
|
UlimitsSwarm pulumi.StringPtrOutput `pulumi:"ulimitsSwarm"`
|
|
// Docker Swarm rolling update configuration, as a JSON object.
|
|
UpdateConfigSwarm pulumi.StringPtrOutput `pulumi:"updateConfigSwarm"`
|
|
// Registry username, when pulling a private image.
|
|
Username pulumi.StringPtrOutput `pulumi:"username"`
|
|
// Glob patterns that limit which changed paths trigger an automatic deployment.
|
|
WatchPaths pulumi.StringArrayOutput `pulumi:"watchPaths"`
|
|
}
|
|
|
|
// NewApplication registers a new resource with the given unique name, arguments, and options.
|
|
func NewApplication(ctx *pulumi.Context,
|
|
name string, args *ApplicationArgs, opts ...pulumi.ResourceOption) (*Application, error) {
|
|
if args == nil {
|
|
return nil, errors.New("missing one or more required arguments")
|
|
}
|
|
|
|
if args.EnvironmentId == nil {
|
|
return nil, errors.New("invalid value for required argument 'EnvironmentId'")
|
|
}
|
|
if args.BuildSecrets != nil {
|
|
args.BuildSecrets = pulumi.ToSecret(args.BuildSecrets).(pulumi.StringPtrInput)
|
|
}
|
|
if args.Password != nil {
|
|
args.Password = pulumi.ToSecret(args.Password).(pulumi.StringPtrInput)
|
|
}
|
|
if args.PreviewBuildSecrets != nil {
|
|
args.PreviewBuildSecrets = pulumi.ToSecret(args.PreviewBuildSecrets).(pulumi.StringPtrInput)
|
|
}
|
|
secrets := pulumi.AdditionalSecretOutputs([]string{
|
|
"buildSecrets",
|
|
"password",
|
|
"previewBuildSecrets",
|
|
})
|
|
opts = append(opts, secrets)
|
|
opts = internal.PkgResourceDefaultOpts(opts)
|
|
var resource Application
|
|
err := ctx.RegisterResource("dokploy:index/application:Application", name, args, &resource, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return &resource, nil
|
|
}
|
|
|
|
// GetApplication gets an existing Application resource's state with the given name, ID, and optional
|
|
// state properties that are used to uniquely qualify the lookup (nil if not required).
|
|
func GetApplication(ctx *pulumi.Context,
|
|
name string, id pulumi.IDInput, state *ApplicationState, opts ...pulumi.ResourceOption) (*Application, error) {
|
|
var resource Application
|
|
err := ctx.ReadResource("dokploy:index/application:Application", name, id, state, &resource, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return &resource, nil
|
|
}
|
|
|
|
// Input properties used for looking up and filtering Application resources.
|
|
type applicationState struct {
|
|
// Unique Docker service name. Generated by Dokploy when omitted. Changing it forces a new application.
|
|
AppName *string `pulumi:"appName"`
|
|
// Current status reported by Dokploy: `idle`, `running`, `done` or `error`.
|
|
ApplicationStatus *string `pulumi:"applicationStatus"`
|
|
// Arguments appended to the container command.
|
|
Args []string `pulumi:"args"`
|
|
// Deploy automatically when the configured trigger fires.
|
|
AutoDeploy *bool `pulumi:"autoDeploy"`
|
|
// Bitbucket branch to build.
|
|
BitbucketBranch *string `pulumi:"bitbucketBranch"`
|
|
// Path within the Bitbucket repository to build from.
|
|
BitbucketBuildPath *string `pulumi:"bitbucketBuildPath"`
|
|
// ID of the configured Bitbucket provider connection.
|
|
BitbucketId *string `pulumi:"bitbucketId"`
|
|
// Bitbucket repository owner.
|
|
BitbucketOwner *string `pulumi:"bitbucketOwner"`
|
|
// Bitbucket repository name.
|
|
BitbucketRepository *string `pulumi:"bitbucketRepository"`
|
|
// Bitbucket repository slug.
|
|
BitbucketRepositorySlug *string `pulumi:"bitbucketRepositorySlug"`
|
|
// GitHub branch to build.
|
|
Branch *string `pulumi:"branch"`
|
|
// Docker build arguments in `KEY=value` format, one per line.
|
|
BuildArgs *string `pulumi:"buildArgs"`
|
|
// Path within the GitHub repository to build from.
|
|
BuildPath *string `pulumi:"buildPath"`
|
|
// Registry used by a dedicated build server.
|
|
BuildRegistryId *string `pulumi:"buildRegistryId"`
|
|
// Docker build secrets in `KEY=value` format, one per line.
|
|
BuildSecrets *string `pulumi:"buildSecrets"`
|
|
// Server that performs builds, when separate from the deploy server.
|
|
BuildServerId *string `pulumi:"buildServerId"`
|
|
// How the application is built. Valid values: `dockerfile`, `herokuBuildpacks`, `paketoBuildpacks`, `nixpacks`, `static`, `railpack`.
|
|
BuildType *string `pulumi:"buildType"`
|
|
// Discard the build cache on the next deployment.
|
|
CleanCache *bool `pulumi:"cleanCache"`
|
|
// Override the container entrypoint command.
|
|
Command *string `pulumi:"command"`
|
|
// Hard CPU limit, for example `1`.
|
|
CpuLimit *string `pulumi:"cpuLimit"`
|
|
// Soft CPU reservation, for example `0.5`.
|
|
CpuReservation *string `pulumi:"cpuReservation"`
|
|
// Write the environment variables to a `.env` file in the container.
|
|
CreateEnvFile *bool `pulumi:"createEnvFile"`
|
|
// RFC 3339 timestamp of when the application was created.
|
|
CreatedAt *string `pulumi:"createdAt"`
|
|
// Branch to build for a custom Git remote.
|
|
CustomGitBranch *string `pulumi:"customGitBranch"`
|
|
// Path within a custom Git repository to build from.
|
|
CustomGitBuildPath *string `pulumi:"customGitBuildPath"`
|
|
// SSH key used to clone a private custom Git remote.
|
|
CustomGitSshKeyId *string `pulumi:"customGitSshKeyId"`
|
|
// Git remote URL, when `sourceType` is `git`.
|
|
CustomGitUrl *string `pulumi:"customGitUrl"`
|
|
// Free-form description.
|
|
Description *string `pulumi:"description"`
|
|
// Detach the service from the shared `dokploy-network`.
|
|
DetachDokployNetwork *bool `pulumi:"detachDokployNetwork"`
|
|
// Target stage for a multi-stage Docker build.
|
|
DockerBuildStage *string `pulumi:"dockerBuildStage"`
|
|
// Docker build context path.
|
|
DockerContextPath *string `pulumi:"dockerContextPath"`
|
|
// Docker image reference, when `sourceType` is `docker`.
|
|
DockerImage *string `pulumi:"dockerImage"`
|
|
// Path to the Dockerfile, when `buildType` is `dockerfile`.
|
|
Dockerfile *string `pulumi:"dockerfile"`
|
|
// Clone Git submodules when checking out the repository.
|
|
EnableSubmodules *bool `pulumi:"enableSubmodules"`
|
|
// Whether the application is enabled.
|
|
Enabled *bool `pulumi:"enabled"`
|
|
// Docker Swarm endpoint specification, as a JSON object.
|
|
EndpointSpecSwarm *string `pulumi:"endpointSpecSwarm"`
|
|
// Runtime environment variables in `KEY=value` format, one per line.
|
|
Env *string `pulumi:"env"`
|
|
// Environment this application belongs to.
|
|
EnvironmentId *string `pulumi:"environmentId"`
|
|
// Gitea branch to build.
|
|
GiteaBranch *string `pulumi:"giteaBranch"`
|
|
// Path within the Gitea repository to build from.
|
|
GiteaBuildPath *string `pulumi:"giteaBuildPath"`
|
|
// ID of the configured Gitea provider connection.
|
|
GiteaId *string `pulumi:"giteaId"`
|
|
// Gitea repository owner.
|
|
GiteaOwner *string `pulumi:"giteaOwner"`
|
|
// Gitea repository name.
|
|
GiteaRepository *string `pulumi:"giteaRepository"`
|
|
// ID of the configured GitHub provider connection.
|
|
GithubId *string `pulumi:"githubId"`
|
|
// GitLab branch to build.
|
|
GitlabBranch *string `pulumi:"gitlabBranch"`
|
|
// Path within the GitLab repository to build from.
|
|
GitlabBuildPath *string `pulumi:"gitlabBuildPath"`
|
|
// ID of the configured GitLab provider connection.
|
|
GitlabId *string `pulumi:"gitlabId"`
|
|
// GitLab repository owner.
|
|
GitlabOwner *string `pulumi:"gitlabOwner"`
|
|
// Full GitLab namespace path.
|
|
GitlabPathNamespace *string `pulumi:"gitlabPathNamespace"`
|
|
// Numeric GitLab project ID.
|
|
GitlabProjectId *int `pulumi:"gitlabProjectId"`
|
|
// GitLab repository name.
|
|
GitlabRepository *string `pulumi:"gitlabRepository"`
|
|
// Docker Swarm health check configuration, as a JSON object.
|
|
HealthCheckSwarm *string `pulumi:"healthCheckSwarm"`
|
|
// Heroku buildpack stack version.
|
|
HerokuVersion *string `pulumi:"herokuVersion"`
|
|
// Build a preview deployment for each pull request.
|
|
IsPreviewDeploymentsActive *bool `pulumi:"isPreviewDeploymentsActive"`
|
|
// Serve a static build as a single-page application.
|
|
IsStaticSpa *bool `pulumi:"isStaticSpa"`
|
|
// Docker Swarm service labels, as a JSON object.
|
|
LabelsSwarm *string `pulumi:"labelsSwarm"`
|
|
// Hard memory limit, for example `512m`.
|
|
MemoryLimit *string `pulumi:"memoryLimit"`
|
|
// Soft memory reservation, for example `256m`.
|
|
MemoryReservation *string `pulumi:"memoryReservation"`
|
|
// Docker Swarm service mode, as a JSON object.
|
|
ModeSwarm *string `pulumi:"modeSwarm"`
|
|
// Display name of the application.
|
|
Name *string `pulumi:"name"`
|
|
// IDs of additional Docker networks to attach.
|
|
NetworkIds []string `pulumi:"networkIds"`
|
|
// Docker Swarm network attachments, as a JSON array.
|
|
NetworkSwarm *string `pulumi:"networkSwarm"`
|
|
// GitHub repository owner.
|
|
Owner *string `pulumi:"owner"`
|
|
// Registry password, when pulling a private image.
|
|
Password *string `pulumi:"password"`
|
|
// Docker Swarm placement constraints, as a JSON object.
|
|
PlacementSwarm *string `pulumi:"placementSwarm"`
|
|
// Build arguments applied to preview deployments.
|
|
PreviewBuildArgs *string `pulumi:"previewBuildArgs"`
|
|
// Build secrets applied to preview deployments.
|
|
PreviewBuildSecrets *string `pulumi:"previewBuildSecrets"`
|
|
// Certificate strategy for preview deployments. Valid values: `letsencrypt`, `none`, `custom`.
|
|
PreviewCertificateType *string `pulumi:"previewCertificateType"`
|
|
// Traefik certificate resolver for preview deployments.
|
|
PreviewCustomCertResolver *string `pulumi:"previewCustomCertResolver"`
|
|
// Environment variables applied to preview deployments.
|
|
PreviewEnv *string `pulumi:"previewEnv"`
|
|
// Serve preview deployments over HTTPS.
|
|
PreviewHttps *bool `pulumi:"previewHttps"`
|
|
// Pull request labels that opt into preview deployments.
|
|
PreviewLabels []string `pulumi:"previewLabels"`
|
|
// Maximum number of concurrent preview deployments.
|
|
PreviewLimit *int `pulumi:"previewLimit"`
|
|
// Base path for preview deployments.
|
|
PreviewPath *string `pulumi:"previewPath"`
|
|
// Container port exposed by preview deployments.
|
|
PreviewPort *int `pulumi:"previewPort"`
|
|
// Wildcard domain used to expose preview deployments.
|
|
PreviewWildcard *string `pulumi:"previewWildcard"`
|
|
// Directory served when `buildType` is `static`.
|
|
PublishDirectory *string `pulumi:"publishDirectory"`
|
|
// Railpack version.
|
|
RailpackVersion *string `pulumi:"railpackVersion"`
|
|
// Registry used to push the built image.
|
|
RegistryId *string `pulumi:"registryId"`
|
|
// Registry URL, when pulling a private image.
|
|
RegistryUrl *string `pulumi:"registryUrl"`
|
|
// Number of replicas to run.
|
|
Replicas *int `pulumi:"replicas"`
|
|
// GitHub repository name.
|
|
Repository *string `pulumi:"repository"`
|
|
// Docker Swarm restart policy, as a JSON object.
|
|
RestartPolicySwarm *string `pulumi:"restartPolicySwarm"`
|
|
// Keep previous images so deployments can be rolled back.
|
|
RollbackActive *bool `pulumi:"rollbackActive"`
|
|
// Docker Swarm rollback configuration, as a JSON object.
|
|
RollbackConfigSwarm *string `pulumi:"rollbackConfigSwarm"`
|
|
// Registry used to store rollback images.
|
|
RollbackRegistryId *string `pulumi:"rollbackRegistryId"`
|
|
// Remote server to deploy on. Omit to use the Dokploy host itself.
|
|
ServerId *string `pulumi:"serverId"`
|
|
// Where the application's code or image comes from. Valid values: `docker`, `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `drop`.
|
|
SourceType *string `pulumi:"sourceType"`
|
|
// Grace period in nanoseconds before a container is killed.
|
|
StopGracePeriodSwarm *int `pulumi:"stopGracePeriodSwarm"`
|
|
// Display subtitle shown in the Dokploy UI.
|
|
Subtitle *string `pulumi:"subtitle"`
|
|
// Display title shown in the Dokploy UI.
|
|
Title *string `pulumi:"title"`
|
|
// What triggers an automatic GitHub deployment. Valid values: `push`, `tag`.
|
|
TriggerType *string `pulumi:"triggerType"`
|
|
// Docker Swarm ulimits, as a JSON object.
|
|
UlimitsSwarm *string `pulumi:"ulimitsSwarm"`
|
|
// Docker Swarm rolling update configuration, as a JSON object.
|
|
UpdateConfigSwarm *string `pulumi:"updateConfigSwarm"`
|
|
// Registry username, when pulling a private image.
|
|
Username *string `pulumi:"username"`
|
|
// Glob patterns that limit which changed paths trigger an automatic deployment.
|
|
WatchPaths []string `pulumi:"watchPaths"`
|
|
}
|
|
|
|
type ApplicationState struct {
|
|
// Unique Docker service name. Generated by Dokploy when omitted. Changing it forces a new application.
|
|
AppName pulumi.StringPtrInput
|
|
// Current status reported by Dokploy: `idle`, `running`, `done` or `error`.
|
|
ApplicationStatus pulumi.StringPtrInput
|
|
// Arguments appended to the container command.
|
|
Args pulumi.StringArrayInput
|
|
// Deploy automatically when the configured trigger fires.
|
|
AutoDeploy pulumi.BoolPtrInput
|
|
// Bitbucket branch to build.
|
|
BitbucketBranch pulumi.StringPtrInput
|
|
// Path within the Bitbucket repository to build from.
|
|
BitbucketBuildPath pulumi.StringPtrInput
|
|
// ID of the configured Bitbucket provider connection.
|
|
BitbucketId pulumi.StringPtrInput
|
|
// Bitbucket repository owner.
|
|
BitbucketOwner pulumi.StringPtrInput
|
|
// Bitbucket repository name.
|
|
BitbucketRepository pulumi.StringPtrInput
|
|
// Bitbucket repository slug.
|
|
BitbucketRepositorySlug pulumi.StringPtrInput
|
|
// GitHub branch to build.
|
|
Branch pulumi.StringPtrInput
|
|
// Docker build arguments in `KEY=value` format, one per line.
|
|
BuildArgs pulumi.StringPtrInput
|
|
// Path within the GitHub repository to build from.
|
|
BuildPath pulumi.StringPtrInput
|
|
// Registry used by a dedicated build server.
|
|
BuildRegistryId pulumi.StringPtrInput
|
|
// Docker build secrets in `KEY=value` format, one per line.
|
|
BuildSecrets pulumi.StringPtrInput
|
|
// Server that performs builds, when separate from the deploy server.
|
|
BuildServerId pulumi.StringPtrInput
|
|
// How the application is built. Valid values: `dockerfile`, `herokuBuildpacks`, `paketoBuildpacks`, `nixpacks`, `static`, `railpack`.
|
|
BuildType pulumi.StringPtrInput
|
|
// Discard the build cache on the next deployment.
|
|
CleanCache pulumi.BoolPtrInput
|
|
// Override the container entrypoint command.
|
|
Command pulumi.StringPtrInput
|
|
// Hard CPU limit, for example `1`.
|
|
CpuLimit pulumi.StringPtrInput
|
|
// Soft CPU reservation, for example `0.5`.
|
|
CpuReservation pulumi.StringPtrInput
|
|
// Write the environment variables to a `.env` file in the container.
|
|
CreateEnvFile pulumi.BoolPtrInput
|
|
// RFC 3339 timestamp of when the application was created.
|
|
CreatedAt pulumi.StringPtrInput
|
|
// Branch to build for a custom Git remote.
|
|
CustomGitBranch pulumi.StringPtrInput
|
|
// Path within a custom Git repository to build from.
|
|
CustomGitBuildPath pulumi.StringPtrInput
|
|
// SSH key used to clone a private custom Git remote.
|
|
CustomGitSshKeyId pulumi.StringPtrInput
|
|
// Git remote URL, when `sourceType` is `git`.
|
|
CustomGitUrl pulumi.StringPtrInput
|
|
// Free-form description.
|
|
Description pulumi.StringPtrInput
|
|
// Detach the service from the shared `dokploy-network`.
|
|
DetachDokployNetwork pulumi.BoolPtrInput
|
|
// Target stage for a multi-stage Docker build.
|
|
DockerBuildStage pulumi.StringPtrInput
|
|
// Docker build context path.
|
|
DockerContextPath pulumi.StringPtrInput
|
|
// Docker image reference, when `sourceType` is `docker`.
|
|
DockerImage pulumi.StringPtrInput
|
|
// Path to the Dockerfile, when `buildType` is `dockerfile`.
|
|
Dockerfile pulumi.StringPtrInput
|
|
// Clone Git submodules when checking out the repository.
|
|
EnableSubmodules pulumi.BoolPtrInput
|
|
// Whether the application is enabled.
|
|
Enabled pulumi.BoolPtrInput
|
|
// Docker Swarm endpoint specification, as a JSON object.
|
|
EndpointSpecSwarm pulumi.StringPtrInput
|
|
// Runtime environment variables in `KEY=value` format, one per line.
|
|
Env pulumi.StringPtrInput
|
|
// Environment this application belongs to.
|
|
EnvironmentId pulumi.StringPtrInput
|
|
// Gitea branch to build.
|
|
GiteaBranch pulumi.StringPtrInput
|
|
// Path within the Gitea repository to build from.
|
|
GiteaBuildPath pulumi.StringPtrInput
|
|
// ID of the configured Gitea provider connection.
|
|
GiteaId pulumi.StringPtrInput
|
|
// Gitea repository owner.
|
|
GiteaOwner pulumi.StringPtrInput
|
|
// Gitea repository name.
|
|
GiteaRepository pulumi.StringPtrInput
|
|
// ID of the configured GitHub provider connection.
|
|
GithubId pulumi.StringPtrInput
|
|
// GitLab branch to build.
|
|
GitlabBranch pulumi.StringPtrInput
|
|
// Path within the GitLab repository to build from.
|
|
GitlabBuildPath pulumi.StringPtrInput
|
|
// ID of the configured GitLab provider connection.
|
|
GitlabId pulumi.StringPtrInput
|
|
// GitLab repository owner.
|
|
GitlabOwner pulumi.StringPtrInput
|
|
// Full GitLab namespace path.
|
|
GitlabPathNamespace pulumi.StringPtrInput
|
|
// Numeric GitLab project ID.
|
|
GitlabProjectId pulumi.IntPtrInput
|
|
// GitLab repository name.
|
|
GitlabRepository pulumi.StringPtrInput
|
|
// Docker Swarm health check configuration, as a JSON object.
|
|
HealthCheckSwarm pulumi.StringPtrInput
|
|
// Heroku buildpack stack version.
|
|
HerokuVersion pulumi.StringPtrInput
|
|
// Build a preview deployment for each pull request.
|
|
IsPreviewDeploymentsActive pulumi.BoolPtrInput
|
|
// Serve a static build as a single-page application.
|
|
IsStaticSpa pulumi.BoolPtrInput
|
|
// Docker Swarm service labels, as a JSON object.
|
|
LabelsSwarm pulumi.StringPtrInput
|
|
// Hard memory limit, for example `512m`.
|
|
MemoryLimit pulumi.StringPtrInput
|
|
// Soft memory reservation, for example `256m`.
|
|
MemoryReservation pulumi.StringPtrInput
|
|
// Docker Swarm service mode, as a JSON object.
|
|
ModeSwarm pulumi.StringPtrInput
|
|
// Display name of the application.
|
|
Name pulumi.StringPtrInput
|
|
// IDs of additional Docker networks to attach.
|
|
NetworkIds pulumi.StringArrayInput
|
|
// Docker Swarm network attachments, as a JSON array.
|
|
NetworkSwarm pulumi.StringPtrInput
|
|
// GitHub repository owner.
|
|
Owner pulumi.StringPtrInput
|
|
// Registry password, when pulling a private image.
|
|
Password pulumi.StringPtrInput
|
|
// Docker Swarm placement constraints, as a JSON object.
|
|
PlacementSwarm pulumi.StringPtrInput
|
|
// Build arguments applied to preview deployments.
|
|
PreviewBuildArgs pulumi.StringPtrInput
|
|
// Build secrets applied to preview deployments.
|
|
PreviewBuildSecrets pulumi.StringPtrInput
|
|
// Certificate strategy for preview deployments. Valid values: `letsencrypt`, `none`, `custom`.
|
|
PreviewCertificateType pulumi.StringPtrInput
|
|
// Traefik certificate resolver for preview deployments.
|
|
PreviewCustomCertResolver pulumi.StringPtrInput
|
|
// Environment variables applied to preview deployments.
|
|
PreviewEnv pulumi.StringPtrInput
|
|
// Serve preview deployments over HTTPS.
|
|
PreviewHttps pulumi.BoolPtrInput
|
|
// Pull request labels that opt into preview deployments.
|
|
PreviewLabels pulumi.StringArrayInput
|
|
// Maximum number of concurrent preview deployments.
|
|
PreviewLimit pulumi.IntPtrInput
|
|
// Base path for preview deployments.
|
|
PreviewPath pulumi.StringPtrInput
|
|
// Container port exposed by preview deployments.
|
|
PreviewPort pulumi.IntPtrInput
|
|
// Wildcard domain used to expose preview deployments.
|
|
PreviewWildcard pulumi.StringPtrInput
|
|
// Directory served when `buildType` is `static`.
|
|
PublishDirectory pulumi.StringPtrInput
|
|
// Railpack version.
|
|
RailpackVersion pulumi.StringPtrInput
|
|
// Registry used to push the built image.
|
|
RegistryId pulumi.StringPtrInput
|
|
// Registry URL, when pulling a private image.
|
|
RegistryUrl pulumi.StringPtrInput
|
|
// Number of replicas to run.
|
|
Replicas pulumi.IntPtrInput
|
|
// GitHub repository name.
|
|
Repository pulumi.StringPtrInput
|
|
// Docker Swarm restart policy, as a JSON object.
|
|
RestartPolicySwarm pulumi.StringPtrInput
|
|
// Keep previous images so deployments can be rolled back.
|
|
RollbackActive pulumi.BoolPtrInput
|
|
// Docker Swarm rollback configuration, as a JSON object.
|
|
RollbackConfigSwarm pulumi.StringPtrInput
|
|
// Registry used to store rollback images.
|
|
RollbackRegistryId pulumi.StringPtrInput
|
|
// Remote server to deploy on. Omit to use the Dokploy host itself.
|
|
ServerId pulumi.StringPtrInput
|
|
// Where the application's code or image comes from. Valid values: `docker`, `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `drop`.
|
|
SourceType pulumi.StringPtrInput
|
|
// Grace period in nanoseconds before a container is killed.
|
|
StopGracePeriodSwarm pulumi.IntPtrInput
|
|
// Display subtitle shown in the Dokploy UI.
|
|
Subtitle pulumi.StringPtrInput
|
|
// Display title shown in the Dokploy UI.
|
|
Title pulumi.StringPtrInput
|
|
// What triggers an automatic GitHub deployment. Valid values: `push`, `tag`.
|
|
TriggerType pulumi.StringPtrInput
|
|
// Docker Swarm ulimits, as a JSON object.
|
|
UlimitsSwarm pulumi.StringPtrInput
|
|
// Docker Swarm rolling update configuration, as a JSON object.
|
|
UpdateConfigSwarm pulumi.StringPtrInput
|
|
// Registry username, when pulling a private image.
|
|
Username pulumi.StringPtrInput
|
|
// Glob patterns that limit which changed paths trigger an automatic deployment.
|
|
WatchPaths pulumi.StringArrayInput
|
|
}
|
|
|
|
func (ApplicationState) ElementType() reflect.Type {
|
|
return reflect.TypeOf((*applicationState)(nil)).Elem()
|
|
}
|
|
|
|
type applicationArgs struct {
|
|
// Unique Docker service name. Generated by Dokploy when omitted. Changing it forces a new application.
|
|
AppName *string `pulumi:"appName"`
|
|
// Arguments appended to the container command.
|
|
Args []string `pulumi:"args"`
|
|
// Deploy automatically when the configured trigger fires.
|
|
AutoDeploy *bool `pulumi:"autoDeploy"`
|
|
// Bitbucket branch to build.
|
|
BitbucketBranch *string `pulumi:"bitbucketBranch"`
|
|
// Path within the Bitbucket repository to build from.
|
|
BitbucketBuildPath *string `pulumi:"bitbucketBuildPath"`
|
|
// ID of the configured Bitbucket provider connection.
|
|
BitbucketId *string `pulumi:"bitbucketId"`
|
|
// Bitbucket repository owner.
|
|
BitbucketOwner *string `pulumi:"bitbucketOwner"`
|
|
// Bitbucket repository name.
|
|
BitbucketRepository *string `pulumi:"bitbucketRepository"`
|
|
// Bitbucket repository slug.
|
|
BitbucketRepositorySlug *string `pulumi:"bitbucketRepositorySlug"`
|
|
// GitHub branch to build.
|
|
Branch *string `pulumi:"branch"`
|
|
// Docker build arguments in `KEY=value` format, one per line.
|
|
BuildArgs *string `pulumi:"buildArgs"`
|
|
// Path within the GitHub repository to build from.
|
|
BuildPath *string `pulumi:"buildPath"`
|
|
// Registry used by a dedicated build server.
|
|
BuildRegistryId *string `pulumi:"buildRegistryId"`
|
|
// Docker build secrets in `KEY=value` format, one per line.
|
|
BuildSecrets *string `pulumi:"buildSecrets"`
|
|
// Server that performs builds, when separate from the deploy server.
|
|
BuildServerId *string `pulumi:"buildServerId"`
|
|
// How the application is built. Valid values: `dockerfile`, `herokuBuildpacks`, `paketoBuildpacks`, `nixpacks`, `static`, `railpack`.
|
|
BuildType *string `pulumi:"buildType"`
|
|
// Discard the build cache on the next deployment.
|
|
CleanCache *bool `pulumi:"cleanCache"`
|
|
// Override the container entrypoint command.
|
|
Command *string `pulumi:"command"`
|
|
// Hard CPU limit, for example `1`.
|
|
CpuLimit *string `pulumi:"cpuLimit"`
|
|
// Soft CPU reservation, for example `0.5`.
|
|
CpuReservation *string `pulumi:"cpuReservation"`
|
|
// Write the environment variables to a `.env` file in the container.
|
|
CreateEnvFile *bool `pulumi:"createEnvFile"`
|
|
// Branch to build for a custom Git remote.
|
|
CustomGitBranch *string `pulumi:"customGitBranch"`
|
|
// Path within a custom Git repository to build from.
|
|
CustomGitBuildPath *string `pulumi:"customGitBuildPath"`
|
|
// SSH key used to clone a private custom Git remote.
|
|
CustomGitSshKeyId *string `pulumi:"customGitSshKeyId"`
|
|
// Git remote URL, when `sourceType` is `git`.
|
|
CustomGitUrl *string `pulumi:"customGitUrl"`
|
|
// Free-form description.
|
|
Description *string `pulumi:"description"`
|
|
// Detach the service from the shared `dokploy-network`.
|
|
DetachDokployNetwork *bool `pulumi:"detachDokployNetwork"`
|
|
// Target stage for a multi-stage Docker build.
|
|
DockerBuildStage *string `pulumi:"dockerBuildStage"`
|
|
// Docker build context path.
|
|
DockerContextPath *string `pulumi:"dockerContextPath"`
|
|
// Docker image reference, when `sourceType` is `docker`.
|
|
DockerImage *string `pulumi:"dockerImage"`
|
|
// Path to the Dockerfile, when `buildType` is `dockerfile`.
|
|
Dockerfile *string `pulumi:"dockerfile"`
|
|
// Clone Git submodules when checking out the repository.
|
|
EnableSubmodules *bool `pulumi:"enableSubmodules"`
|
|
// Whether the application is enabled.
|
|
Enabled *bool `pulumi:"enabled"`
|
|
// Docker Swarm endpoint specification, as a JSON object.
|
|
EndpointSpecSwarm *string `pulumi:"endpointSpecSwarm"`
|
|
// Runtime environment variables in `KEY=value` format, one per line.
|
|
Env *string `pulumi:"env"`
|
|
// Environment this application belongs to.
|
|
EnvironmentId string `pulumi:"environmentId"`
|
|
// Gitea branch to build.
|
|
GiteaBranch *string `pulumi:"giteaBranch"`
|
|
// Path within the Gitea repository to build from.
|
|
GiteaBuildPath *string `pulumi:"giteaBuildPath"`
|
|
// ID of the configured Gitea provider connection.
|
|
GiteaId *string `pulumi:"giteaId"`
|
|
// Gitea repository owner.
|
|
GiteaOwner *string `pulumi:"giteaOwner"`
|
|
// Gitea repository name.
|
|
GiteaRepository *string `pulumi:"giteaRepository"`
|
|
// ID of the configured GitHub provider connection.
|
|
GithubId *string `pulumi:"githubId"`
|
|
// GitLab branch to build.
|
|
GitlabBranch *string `pulumi:"gitlabBranch"`
|
|
// Path within the GitLab repository to build from.
|
|
GitlabBuildPath *string `pulumi:"gitlabBuildPath"`
|
|
// ID of the configured GitLab provider connection.
|
|
GitlabId *string `pulumi:"gitlabId"`
|
|
// GitLab repository owner.
|
|
GitlabOwner *string `pulumi:"gitlabOwner"`
|
|
// Full GitLab namespace path.
|
|
GitlabPathNamespace *string `pulumi:"gitlabPathNamespace"`
|
|
// Numeric GitLab project ID.
|
|
GitlabProjectId *int `pulumi:"gitlabProjectId"`
|
|
// GitLab repository name.
|
|
GitlabRepository *string `pulumi:"gitlabRepository"`
|
|
// Docker Swarm health check configuration, as a JSON object.
|
|
HealthCheckSwarm *string `pulumi:"healthCheckSwarm"`
|
|
// Heroku buildpack stack version.
|
|
HerokuVersion *string `pulumi:"herokuVersion"`
|
|
// Build a preview deployment for each pull request.
|
|
IsPreviewDeploymentsActive *bool `pulumi:"isPreviewDeploymentsActive"`
|
|
// Serve a static build as a single-page application.
|
|
IsStaticSpa *bool `pulumi:"isStaticSpa"`
|
|
// Docker Swarm service labels, as a JSON object.
|
|
LabelsSwarm *string `pulumi:"labelsSwarm"`
|
|
// Hard memory limit, for example `512m`.
|
|
MemoryLimit *string `pulumi:"memoryLimit"`
|
|
// Soft memory reservation, for example `256m`.
|
|
MemoryReservation *string `pulumi:"memoryReservation"`
|
|
// Docker Swarm service mode, as a JSON object.
|
|
ModeSwarm *string `pulumi:"modeSwarm"`
|
|
// Display name of the application.
|
|
Name *string `pulumi:"name"`
|
|
// IDs of additional Docker networks to attach.
|
|
NetworkIds []string `pulumi:"networkIds"`
|
|
// Docker Swarm network attachments, as a JSON array.
|
|
NetworkSwarm *string `pulumi:"networkSwarm"`
|
|
// GitHub repository owner.
|
|
Owner *string `pulumi:"owner"`
|
|
// Registry password, when pulling a private image.
|
|
Password *string `pulumi:"password"`
|
|
// Docker Swarm placement constraints, as a JSON object.
|
|
PlacementSwarm *string `pulumi:"placementSwarm"`
|
|
// Build arguments applied to preview deployments.
|
|
PreviewBuildArgs *string `pulumi:"previewBuildArgs"`
|
|
// Build secrets applied to preview deployments.
|
|
PreviewBuildSecrets *string `pulumi:"previewBuildSecrets"`
|
|
// Certificate strategy for preview deployments. Valid values: `letsencrypt`, `none`, `custom`.
|
|
PreviewCertificateType *string `pulumi:"previewCertificateType"`
|
|
// Traefik certificate resolver for preview deployments.
|
|
PreviewCustomCertResolver *string `pulumi:"previewCustomCertResolver"`
|
|
// Environment variables applied to preview deployments.
|
|
PreviewEnv *string `pulumi:"previewEnv"`
|
|
// Serve preview deployments over HTTPS.
|
|
PreviewHttps *bool `pulumi:"previewHttps"`
|
|
// Pull request labels that opt into preview deployments.
|
|
PreviewLabels []string `pulumi:"previewLabels"`
|
|
// Maximum number of concurrent preview deployments.
|
|
PreviewLimit *int `pulumi:"previewLimit"`
|
|
// Base path for preview deployments.
|
|
PreviewPath *string `pulumi:"previewPath"`
|
|
// Container port exposed by preview deployments.
|
|
PreviewPort *int `pulumi:"previewPort"`
|
|
// Wildcard domain used to expose preview deployments.
|
|
PreviewWildcard *string `pulumi:"previewWildcard"`
|
|
// Directory served when `buildType` is `static`.
|
|
PublishDirectory *string `pulumi:"publishDirectory"`
|
|
// Railpack version.
|
|
RailpackVersion *string `pulumi:"railpackVersion"`
|
|
// Registry used to push the built image.
|
|
RegistryId *string `pulumi:"registryId"`
|
|
// Registry URL, when pulling a private image.
|
|
RegistryUrl *string `pulumi:"registryUrl"`
|
|
// Number of replicas to run.
|
|
Replicas *int `pulumi:"replicas"`
|
|
// GitHub repository name.
|
|
Repository *string `pulumi:"repository"`
|
|
// Docker Swarm restart policy, as a JSON object.
|
|
RestartPolicySwarm *string `pulumi:"restartPolicySwarm"`
|
|
// Keep previous images so deployments can be rolled back.
|
|
RollbackActive *bool `pulumi:"rollbackActive"`
|
|
// Docker Swarm rollback configuration, as a JSON object.
|
|
RollbackConfigSwarm *string `pulumi:"rollbackConfigSwarm"`
|
|
// Registry used to store rollback images.
|
|
RollbackRegistryId *string `pulumi:"rollbackRegistryId"`
|
|
// Remote server to deploy on. Omit to use the Dokploy host itself.
|
|
ServerId *string `pulumi:"serverId"`
|
|
// Where the application's code or image comes from. Valid values: `docker`, `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `drop`.
|
|
SourceType *string `pulumi:"sourceType"`
|
|
// Grace period in nanoseconds before a container is killed.
|
|
StopGracePeriodSwarm *int `pulumi:"stopGracePeriodSwarm"`
|
|
// Display subtitle shown in the Dokploy UI.
|
|
Subtitle *string `pulumi:"subtitle"`
|
|
// Display title shown in the Dokploy UI.
|
|
Title *string `pulumi:"title"`
|
|
// What triggers an automatic GitHub deployment. Valid values: `push`, `tag`.
|
|
TriggerType *string `pulumi:"triggerType"`
|
|
// Docker Swarm ulimits, as a JSON object.
|
|
UlimitsSwarm *string `pulumi:"ulimitsSwarm"`
|
|
// Docker Swarm rolling update configuration, as a JSON object.
|
|
UpdateConfigSwarm *string `pulumi:"updateConfigSwarm"`
|
|
// Registry username, when pulling a private image.
|
|
Username *string `pulumi:"username"`
|
|
// Glob patterns that limit which changed paths trigger an automatic deployment.
|
|
WatchPaths []string `pulumi:"watchPaths"`
|
|
}
|
|
|
|
// The set of arguments for constructing a Application resource.
|
|
type ApplicationArgs struct {
|
|
// Unique Docker service name. Generated by Dokploy when omitted. Changing it forces a new application.
|
|
AppName pulumi.StringPtrInput
|
|
// Arguments appended to the container command.
|
|
Args pulumi.StringArrayInput
|
|
// Deploy automatically when the configured trigger fires.
|
|
AutoDeploy pulumi.BoolPtrInput
|
|
// Bitbucket branch to build.
|
|
BitbucketBranch pulumi.StringPtrInput
|
|
// Path within the Bitbucket repository to build from.
|
|
BitbucketBuildPath pulumi.StringPtrInput
|
|
// ID of the configured Bitbucket provider connection.
|
|
BitbucketId pulumi.StringPtrInput
|
|
// Bitbucket repository owner.
|
|
BitbucketOwner pulumi.StringPtrInput
|
|
// Bitbucket repository name.
|
|
BitbucketRepository pulumi.StringPtrInput
|
|
// Bitbucket repository slug.
|
|
BitbucketRepositorySlug pulumi.StringPtrInput
|
|
// GitHub branch to build.
|
|
Branch pulumi.StringPtrInput
|
|
// Docker build arguments in `KEY=value` format, one per line.
|
|
BuildArgs pulumi.StringPtrInput
|
|
// Path within the GitHub repository to build from.
|
|
BuildPath pulumi.StringPtrInput
|
|
// Registry used by a dedicated build server.
|
|
BuildRegistryId pulumi.StringPtrInput
|
|
// Docker build secrets in `KEY=value` format, one per line.
|
|
BuildSecrets pulumi.StringPtrInput
|
|
// Server that performs builds, when separate from the deploy server.
|
|
BuildServerId pulumi.StringPtrInput
|
|
// How the application is built. Valid values: `dockerfile`, `herokuBuildpacks`, `paketoBuildpacks`, `nixpacks`, `static`, `railpack`.
|
|
BuildType pulumi.StringPtrInput
|
|
// Discard the build cache on the next deployment.
|
|
CleanCache pulumi.BoolPtrInput
|
|
// Override the container entrypoint command.
|
|
Command pulumi.StringPtrInput
|
|
// Hard CPU limit, for example `1`.
|
|
CpuLimit pulumi.StringPtrInput
|
|
// Soft CPU reservation, for example `0.5`.
|
|
CpuReservation pulumi.StringPtrInput
|
|
// Write the environment variables to a `.env` file in the container.
|
|
CreateEnvFile pulumi.BoolPtrInput
|
|
// Branch to build for a custom Git remote.
|
|
CustomGitBranch pulumi.StringPtrInput
|
|
// Path within a custom Git repository to build from.
|
|
CustomGitBuildPath pulumi.StringPtrInput
|
|
// SSH key used to clone a private custom Git remote.
|
|
CustomGitSshKeyId pulumi.StringPtrInput
|
|
// Git remote URL, when `sourceType` is `git`.
|
|
CustomGitUrl pulumi.StringPtrInput
|
|
// Free-form description.
|
|
Description pulumi.StringPtrInput
|
|
// Detach the service from the shared `dokploy-network`.
|
|
DetachDokployNetwork pulumi.BoolPtrInput
|
|
// Target stage for a multi-stage Docker build.
|
|
DockerBuildStage pulumi.StringPtrInput
|
|
// Docker build context path.
|
|
DockerContextPath pulumi.StringPtrInput
|
|
// Docker image reference, when `sourceType` is `docker`.
|
|
DockerImage pulumi.StringPtrInput
|
|
// Path to the Dockerfile, when `buildType` is `dockerfile`.
|
|
Dockerfile pulumi.StringPtrInput
|
|
// Clone Git submodules when checking out the repository.
|
|
EnableSubmodules pulumi.BoolPtrInput
|
|
// Whether the application is enabled.
|
|
Enabled pulumi.BoolPtrInput
|
|
// Docker Swarm endpoint specification, as a JSON object.
|
|
EndpointSpecSwarm pulumi.StringPtrInput
|
|
// Runtime environment variables in `KEY=value` format, one per line.
|
|
Env pulumi.StringPtrInput
|
|
// Environment this application belongs to.
|
|
EnvironmentId pulumi.StringInput
|
|
// Gitea branch to build.
|
|
GiteaBranch pulumi.StringPtrInput
|
|
// Path within the Gitea repository to build from.
|
|
GiteaBuildPath pulumi.StringPtrInput
|
|
// ID of the configured Gitea provider connection.
|
|
GiteaId pulumi.StringPtrInput
|
|
// Gitea repository owner.
|
|
GiteaOwner pulumi.StringPtrInput
|
|
// Gitea repository name.
|
|
GiteaRepository pulumi.StringPtrInput
|
|
// ID of the configured GitHub provider connection.
|
|
GithubId pulumi.StringPtrInput
|
|
// GitLab branch to build.
|
|
GitlabBranch pulumi.StringPtrInput
|
|
// Path within the GitLab repository to build from.
|
|
GitlabBuildPath pulumi.StringPtrInput
|
|
// ID of the configured GitLab provider connection.
|
|
GitlabId pulumi.StringPtrInput
|
|
// GitLab repository owner.
|
|
GitlabOwner pulumi.StringPtrInput
|
|
// Full GitLab namespace path.
|
|
GitlabPathNamespace pulumi.StringPtrInput
|
|
// Numeric GitLab project ID.
|
|
GitlabProjectId pulumi.IntPtrInput
|
|
// GitLab repository name.
|
|
GitlabRepository pulumi.StringPtrInput
|
|
// Docker Swarm health check configuration, as a JSON object.
|
|
HealthCheckSwarm pulumi.StringPtrInput
|
|
// Heroku buildpack stack version.
|
|
HerokuVersion pulumi.StringPtrInput
|
|
// Build a preview deployment for each pull request.
|
|
IsPreviewDeploymentsActive pulumi.BoolPtrInput
|
|
// Serve a static build as a single-page application.
|
|
IsStaticSpa pulumi.BoolPtrInput
|
|
// Docker Swarm service labels, as a JSON object.
|
|
LabelsSwarm pulumi.StringPtrInput
|
|
// Hard memory limit, for example `512m`.
|
|
MemoryLimit pulumi.StringPtrInput
|
|
// Soft memory reservation, for example `256m`.
|
|
MemoryReservation pulumi.StringPtrInput
|
|
// Docker Swarm service mode, as a JSON object.
|
|
ModeSwarm pulumi.StringPtrInput
|
|
// Display name of the application.
|
|
Name pulumi.StringPtrInput
|
|
// IDs of additional Docker networks to attach.
|
|
NetworkIds pulumi.StringArrayInput
|
|
// Docker Swarm network attachments, as a JSON array.
|
|
NetworkSwarm pulumi.StringPtrInput
|
|
// GitHub repository owner.
|
|
Owner pulumi.StringPtrInput
|
|
// Registry password, when pulling a private image.
|
|
Password pulumi.StringPtrInput
|
|
// Docker Swarm placement constraints, as a JSON object.
|
|
PlacementSwarm pulumi.StringPtrInput
|
|
// Build arguments applied to preview deployments.
|
|
PreviewBuildArgs pulumi.StringPtrInput
|
|
// Build secrets applied to preview deployments.
|
|
PreviewBuildSecrets pulumi.StringPtrInput
|
|
// Certificate strategy for preview deployments. Valid values: `letsencrypt`, `none`, `custom`.
|
|
PreviewCertificateType pulumi.StringPtrInput
|
|
// Traefik certificate resolver for preview deployments.
|
|
PreviewCustomCertResolver pulumi.StringPtrInput
|
|
// Environment variables applied to preview deployments.
|
|
PreviewEnv pulumi.StringPtrInput
|
|
// Serve preview deployments over HTTPS.
|
|
PreviewHttps pulumi.BoolPtrInput
|
|
// Pull request labels that opt into preview deployments.
|
|
PreviewLabels pulumi.StringArrayInput
|
|
// Maximum number of concurrent preview deployments.
|
|
PreviewLimit pulumi.IntPtrInput
|
|
// Base path for preview deployments.
|
|
PreviewPath pulumi.StringPtrInput
|
|
// Container port exposed by preview deployments.
|
|
PreviewPort pulumi.IntPtrInput
|
|
// Wildcard domain used to expose preview deployments.
|
|
PreviewWildcard pulumi.StringPtrInput
|
|
// Directory served when `buildType` is `static`.
|
|
PublishDirectory pulumi.StringPtrInput
|
|
// Railpack version.
|
|
RailpackVersion pulumi.StringPtrInput
|
|
// Registry used to push the built image.
|
|
RegistryId pulumi.StringPtrInput
|
|
// Registry URL, when pulling a private image.
|
|
RegistryUrl pulumi.StringPtrInput
|
|
// Number of replicas to run.
|
|
Replicas pulumi.IntPtrInput
|
|
// GitHub repository name.
|
|
Repository pulumi.StringPtrInput
|
|
// Docker Swarm restart policy, as a JSON object.
|
|
RestartPolicySwarm pulumi.StringPtrInput
|
|
// Keep previous images so deployments can be rolled back.
|
|
RollbackActive pulumi.BoolPtrInput
|
|
// Docker Swarm rollback configuration, as a JSON object.
|
|
RollbackConfigSwarm pulumi.StringPtrInput
|
|
// Registry used to store rollback images.
|
|
RollbackRegistryId pulumi.StringPtrInput
|
|
// Remote server to deploy on. Omit to use the Dokploy host itself.
|
|
ServerId pulumi.StringPtrInput
|
|
// Where the application's code or image comes from. Valid values: `docker`, `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `drop`.
|
|
SourceType pulumi.StringPtrInput
|
|
// Grace period in nanoseconds before a container is killed.
|
|
StopGracePeriodSwarm pulumi.IntPtrInput
|
|
// Display subtitle shown in the Dokploy UI.
|
|
Subtitle pulumi.StringPtrInput
|
|
// Display title shown in the Dokploy UI.
|
|
Title pulumi.StringPtrInput
|
|
// What triggers an automatic GitHub deployment. Valid values: `push`, `tag`.
|
|
TriggerType pulumi.StringPtrInput
|
|
// Docker Swarm ulimits, as a JSON object.
|
|
UlimitsSwarm pulumi.StringPtrInput
|
|
// Docker Swarm rolling update configuration, as a JSON object.
|
|
UpdateConfigSwarm pulumi.StringPtrInput
|
|
// Registry username, when pulling a private image.
|
|
Username pulumi.StringPtrInput
|
|
// Glob patterns that limit which changed paths trigger an automatic deployment.
|
|
WatchPaths pulumi.StringArrayInput
|
|
}
|
|
|
|
func (ApplicationArgs) ElementType() reflect.Type {
|
|
return reflect.TypeOf((*applicationArgs)(nil)).Elem()
|
|
}
|
|
|
|
type ApplicationInput interface {
|
|
pulumi.Input
|
|
|
|
ToApplicationOutput() ApplicationOutput
|
|
ToApplicationOutputWithContext(ctx context.Context) ApplicationOutput
|
|
}
|
|
|
|
func (*Application) ElementType() reflect.Type {
|
|
return reflect.TypeOf((**Application)(nil)).Elem()
|
|
}
|
|
|
|
func (i *Application) ToApplicationOutput() ApplicationOutput {
|
|
return i.ToApplicationOutputWithContext(context.Background())
|
|
}
|
|
|
|
func (i *Application) ToApplicationOutputWithContext(ctx context.Context) ApplicationOutput {
|
|
return pulumi.ToOutputWithContext(ctx, i).(ApplicationOutput)
|
|
}
|
|
|
|
// ApplicationArrayInput is an input type that accepts ApplicationArray and ApplicationArrayOutput values.
|
|
// You can construct a concrete instance of `ApplicationArrayInput` via:
|
|
//
|
|
// ApplicationArray{ ApplicationArgs{...} }
|
|
type ApplicationArrayInput interface {
|
|
pulumi.Input
|
|
|
|
ToApplicationArrayOutput() ApplicationArrayOutput
|
|
ToApplicationArrayOutputWithContext(context.Context) ApplicationArrayOutput
|
|
}
|
|
|
|
type ApplicationArray []ApplicationInput
|
|
|
|
func (ApplicationArray) ElementType() reflect.Type {
|
|
return reflect.TypeOf((*[]*Application)(nil)).Elem()
|
|
}
|
|
|
|
func (i ApplicationArray) ToApplicationArrayOutput() ApplicationArrayOutput {
|
|
return i.ToApplicationArrayOutputWithContext(context.Background())
|
|
}
|
|
|
|
func (i ApplicationArray) ToApplicationArrayOutputWithContext(ctx context.Context) ApplicationArrayOutput {
|
|
return pulumi.ToOutputWithContext(ctx, i).(ApplicationArrayOutput)
|
|
}
|
|
|
|
// ApplicationMapInput is an input type that accepts ApplicationMap and ApplicationMapOutput values.
|
|
// You can construct a concrete instance of `ApplicationMapInput` via:
|
|
//
|
|
// ApplicationMap{ "key": ApplicationArgs{...} }
|
|
type ApplicationMapInput interface {
|
|
pulumi.Input
|
|
|
|
ToApplicationMapOutput() ApplicationMapOutput
|
|
ToApplicationMapOutputWithContext(context.Context) ApplicationMapOutput
|
|
}
|
|
|
|
type ApplicationMap map[string]ApplicationInput
|
|
|
|
func (ApplicationMap) ElementType() reflect.Type {
|
|
return reflect.TypeOf((*map[string]*Application)(nil)).Elem()
|
|
}
|
|
|
|
func (i ApplicationMap) ToApplicationMapOutput() ApplicationMapOutput {
|
|
return i.ToApplicationMapOutputWithContext(context.Background())
|
|
}
|
|
|
|
func (i ApplicationMap) ToApplicationMapOutputWithContext(ctx context.Context) ApplicationMapOutput {
|
|
return pulumi.ToOutputWithContext(ctx, i).(ApplicationMapOutput)
|
|
}
|
|
|
|
type ApplicationOutput struct{ *pulumi.OutputState }
|
|
|
|
func (ApplicationOutput) ElementType() reflect.Type {
|
|
return reflect.TypeOf((**Application)(nil)).Elem()
|
|
}
|
|
|
|
func (o ApplicationOutput) ToApplicationOutput() ApplicationOutput {
|
|
return o
|
|
}
|
|
|
|
func (o ApplicationOutput) ToApplicationOutputWithContext(ctx context.Context) ApplicationOutput {
|
|
return o
|
|
}
|
|
|
|
// Unique Docker service name. Generated by Dokploy when omitted. Changing it forces a new application.
|
|
func (o ApplicationOutput) AppName() pulumi.StringOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.AppName }).(pulumi.StringOutput)
|
|
}
|
|
|
|
// Current status reported by Dokploy: `idle`, `running`, `done` or `error`.
|
|
func (o ApplicationOutput) ApplicationStatus() pulumi.StringOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.ApplicationStatus }).(pulumi.StringOutput)
|
|
}
|
|
|
|
// Arguments appended to the container command.
|
|
func (o ApplicationOutput) Args() pulumi.StringArrayOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringArrayOutput { return v.Args }).(pulumi.StringArrayOutput)
|
|
}
|
|
|
|
// Deploy automatically when the configured trigger fires.
|
|
func (o ApplicationOutput) AutoDeploy() pulumi.BoolOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.BoolOutput { return v.AutoDeploy }).(pulumi.BoolOutput)
|
|
}
|
|
|
|
// Bitbucket branch to build.
|
|
func (o ApplicationOutput) BitbucketBranch() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.BitbucketBranch }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Path within the Bitbucket repository to build from.
|
|
func (o ApplicationOutput) BitbucketBuildPath() pulumi.StringOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.BitbucketBuildPath }).(pulumi.StringOutput)
|
|
}
|
|
|
|
// ID of the configured Bitbucket provider connection.
|
|
func (o ApplicationOutput) BitbucketId() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.BitbucketId }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Bitbucket repository owner.
|
|
func (o ApplicationOutput) BitbucketOwner() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.BitbucketOwner }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Bitbucket repository name.
|
|
func (o ApplicationOutput) BitbucketRepository() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.BitbucketRepository }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Bitbucket repository slug.
|
|
func (o ApplicationOutput) BitbucketRepositorySlug() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.BitbucketRepositorySlug }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// GitHub branch to build.
|
|
func (o ApplicationOutput) Branch() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.Branch }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Docker build arguments in `KEY=value` format, one per line.
|
|
func (o ApplicationOutput) BuildArgs() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.BuildArgs }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Path within the GitHub repository to build from.
|
|
func (o ApplicationOutput) BuildPath() pulumi.StringOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.BuildPath }).(pulumi.StringOutput)
|
|
}
|
|
|
|
// Registry used by a dedicated build server.
|
|
func (o ApplicationOutput) BuildRegistryId() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.BuildRegistryId }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Docker build secrets in `KEY=value` format, one per line.
|
|
func (o ApplicationOutput) BuildSecrets() pulumi.StringOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.BuildSecrets }).(pulumi.StringOutput)
|
|
}
|
|
|
|
// Server that performs builds, when separate from the deploy server.
|
|
func (o ApplicationOutput) BuildServerId() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.BuildServerId }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// How the application is built. Valid values: `dockerfile`, `herokuBuildpacks`, `paketoBuildpacks`, `nixpacks`, `static`, `railpack`.
|
|
func (o ApplicationOutput) BuildType() pulumi.StringOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.BuildType }).(pulumi.StringOutput)
|
|
}
|
|
|
|
// Discard the build cache on the next deployment.
|
|
func (o ApplicationOutput) CleanCache() pulumi.BoolOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.BoolOutput { return v.CleanCache }).(pulumi.BoolOutput)
|
|
}
|
|
|
|
// Override the container entrypoint command.
|
|
func (o ApplicationOutput) Command() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.Command }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Hard CPU limit, for example `1`.
|
|
func (o ApplicationOutput) CpuLimit() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.CpuLimit }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Soft CPU reservation, for example `0.5`.
|
|
func (o ApplicationOutput) CpuReservation() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.CpuReservation }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Write the environment variables to a `.env` file in the container.
|
|
func (o ApplicationOutput) CreateEnvFile() pulumi.BoolOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.BoolOutput { return v.CreateEnvFile }).(pulumi.BoolOutput)
|
|
}
|
|
|
|
// RFC 3339 timestamp of when the application was created.
|
|
func (o ApplicationOutput) CreatedAt() pulumi.StringOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput)
|
|
}
|
|
|
|
// Branch to build for a custom Git remote.
|
|
func (o ApplicationOutput) CustomGitBranch() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.CustomGitBranch }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Path within a custom Git repository to build from.
|
|
func (o ApplicationOutput) CustomGitBuildPath() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.CustomGitBuildPath }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// SSH key used to clone a private custom Git remote.
|
|
func (o ApplicationOutput) CustomGitSshKeyId() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.CustomGitSshKeyId }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Git remote URL, when `sourceType` is `git`.
|
|
func (o ApplicationOutput) CustomGitUrl() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.CustomGitUrl }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Free-form description.
|
|
func (o ApplicationOutput) Description() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Detach the service from the shared `dokploy-network`.
|
|
func (o ApplicationOutput) DetachDokployNetwork() pulumi.BoolOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.BoolOutput { return v.DetachDokployNetwork }).(pulumi.BoolOutput)
|
|
}
|
|
|
|
// Target stage for a multi-stage Docker build.
|
|
func (o ApplicationOutput) DockerBuildStage() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.DockerBuildStage }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Docker build context path.
|
|
func (o ApplicationOutput) DockerContextPath() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.DockerContextPath }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Docker image reference, when `sourceType` is `docker`.
|
|
func (o ApplicationOutput) DockerImage() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.DockerImage }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Path to the Dockerfile, when `buildType` is `dockerfile`.
|
|
func (o ApplicationOutput) Dockerfile() pulumi.StringOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.Dockerfile }).(pulumi.StringOutput)
|
|
}
|
|
|
|
// Clone Git submodules when checking out the repository.
|
|
func (o ApplicationOutput) EnableSubmodules() pulumi.BoolOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.BoolOutput { return v.EnableSubmodules }).(pulumi.BoolOutput)
|
|
}
|
|
|
|
// Whether the application is enabled.
|
|
func (o ApplicationOutput) Enabled() pulumi.BoolOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.BoolOutput { return v.Enabled }).(pulumi.BoolOutput)
|
|
}
|
|
|
|
// Docker Swarm endpoint specification, as a JSON object.
|
|
func (o ApplicationOutput) EndpointSpecSwarm() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.EndpointSpecSwarm }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Runtime environment variables in `KEY=value` format, one per line.
|
|
func (o ApplicationOutput) Env() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.Env }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Environment this application belongs to.
|
|
func (o ApplicationOutput) EnvironmentId() pulumi.StringOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.EnvironmentId }).(pulumi.StringOutput)
|
|
}
|
|
|
|
// Gitea branch to build.
|
|
func (o ApplicationOutput) GiteaBranch() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.GiteaBranch }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Path within the Gitea repository to build from.
|
|
func (o ApplicationOutput) GiteaBuildPath() pulumi.StringOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.GiteaBuildPath }).(pulumi.StringOutput)
|
|
}
|
|
|
|
// ID of the configured Gitea provider connection.
|
|
func (o ApplicationOutput) GiteaId() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.GiteaId }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Gitea repository owner.
|
|
func (o ApplicationOutput) GiteaOwner() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.GiteaOwner }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Gitea repository name.
|
|
func (o ApplicationOutput) GiteaRepository() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.GiteaRepository }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// ID of the configured GitHub provider connection.
|
|
func (o ApplicationOutput) GithubId() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.GithubId }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// GitLab branch to build.
|
|
func (o ApplicationOutput) GitlabBranch() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.GitlabBranch }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Path within the GitLab repository to build from.
|
|
func (o ApplicationOutput) GitlabBuildPath() pulumi.StringOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.GitlabBuildPath }).(pulumi.StringOutput)
|
|
}
|
|
|
|
// ID of the configured GitLab provider connection.
|
|
func (o ApplicationOutput) GitlabId() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.GitlabId }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// GitLab repository owner.
|
|
func (o ApplicationOutput) GitlabOwner() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.GitlabOwner }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Full GitLab namespace path.
|
|
func (o ApplicationOutput) GitlabPathNamespace() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.GitlabPathNamespace }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Numeric GitLab project ID.
|
|
func (o ApplicationOutput) GitlabProjectId() pulumi.IntPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.IntPtrOutput { return v.GitlabProjectId }).(pulumi.IntPtrOutput)
|
|
}
|
|
|
|
// GitLab repository name.
|
|
func (o ApplicationOutput) GitlabRepository() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.GitlabRepository }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Docker Swarm health check configuration, as a JSON object.
|
|
func (o ApplicationOutput) HealthCheckSwarm() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.HealthCheckSwarm }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Heroku buildpack stack version.
|
|
func (o ApplicationOutput) HerokuVersion() pulumi.StringOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.HerokuVersion }).(pulumi.StringOutput)
|
|
}
|
|
|
|
// Build a preview deployment for each pull request.
|
|
func (o ApplicationOutput) IsPreviewDeploymentsActive() pulumi.BoolOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.BoolOutput { return v.IsPreviewDeploymentsActive }).(pulumi.BoolOutput)
|
|
}
|
|
|
|
// Serve a static build as a single-page application.
|
|
func (o ApplicationOutput) IsStaticSpa() pulumi.BoolOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.BoolOutput { return v.IsStaticSpa }).(pulumi.BoolOutput)
|
|
}
|
|
|
|
// Docker Swarm service labels, as a JSON object.
|
|
func (o ApplicationOutput) LabelsSwarm() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.LabelsSwarm }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Hard memory limit, for example `512m`.
|
|
func (o ApplicationOutput) MemoryLimit() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.MemoryLimit }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Soft memory reservation, for example `256m`.
|
|
func (o ApplicationOutput) MemoryReservation() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.MemoryReservation }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Docker Swarm service mode, as a JSON object.
|
|
func (o ApplicationOutput) ModeSwarm() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.ModeSwarm }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Display name of the application.
|
|
func (o ApplicationOutput) Name() pulumi.StringOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
|
|
}
|
|
|
|
// IDs of additional Docker networks to attach.
|
|
func (o ApplicationOutput) NetworkIds() pulumi.StringArrayOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringArrayOutput { return v.NetworkIds }).(pulumi.StringArrayOutput)
|
|
}
|
|
|
|
// Docker Swarm network attachments, as a JSON array.
|
|
func (o ApplicationOutput) NetworkSwarm() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.NetworkSwarm }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// GitHub repository owner.
|
|
func (o ApplicationOutput) Owner() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.Owner }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Registry password, when pulling a private image.
|
|
func (o ApplicationOutput) Password() pulumi.StringOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.Password }).(pulumi.StringOutput)
|
|
}
|
|
|
|
// Docker Swarm placement constraints, as a JSON object.
|
|
func (o ApplicationOutput) PlacementSwarm() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.PlacementSwarm }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Build arguments applied to preview deployments.
|
|
func (o ApplicationOutput) PreviewBuildArgs() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.PreviewBuildArgs }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Build secrets applied to preview deployments.
|
|
func (o ApplicationOutput) PreviewBuildSecrets() pulumi.StringOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.PreviewBuildSecrets }).(pulumi.StringOutput)
|
|
}
|
|
|
|
// Certificate strategy for preview deployments. Valid values: `letsencrypt`, `none`, `custom`.
|
|
func (o ApplicationOutput) PreviewCertificateType() pulumi.StringOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.PreviewCertificateType }).(pulumi.StringOutput)
|
|
}
|
|
|
|
// Traefik certificate resolver for preview deployments.
|
|
func (o ApplicationOutput) PreviewCustomCertResolver() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.PreviewCustomCertResolver }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Environment variables applied to preview deployments.
|
|
func (o ApplicationOutput) PreviewEnv() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.PreviewEnv }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Serve preview deployments over HTTPS.
|
|
func (o ApplicationOutput) PreviewHttps() pulumi.BoolOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.BoolOutput { return v.PreviewHttps }).(pulumi.BoolOutput)
|
|
}
|
|
|
|
// Pull request labels that opt into preview deployments.
|
|
func (o ApplicationOutput) PreviewLabels() pulumi.StringArrayOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringArrayOutput { return v.PreviewLabels }).(pulumi.StringArrayOutput)
|
|
}
|
|
|
|
// Maximum number of concurrent preview deployments.
|
|
func (o ApplicationOutput) PreviewLimit() pulumi.IntOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.IntOutput { return v.PreviewLimit }).(pulumi.IntOutput)
|
|
}
|
|
|
|
// Base path for preview deployments.
|
|
func (o ApplicationOutput) PreviewPath() pulumi.StringOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.PreviewPath }).(pulumi.StringOutput)
|
|
}
|
|
|
|
// Container port exposed by preview deployments.
|
|
func (o ApplicationOutput) PreviewPort() pulumi.IntOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.IntOutput { return v.PreviewPort }).(pulumi.IntOutput)
|
|
}
|
|
|
|
// Wildcard domain used to expose preview deployments.
|
|
func (o ApplicationOutput) PreviewWildcard() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.PreviewWildcard }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Directory served when `buildType` is `static`.
|
|
func (o ApplicationOutput) PublishDirectory() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.PublishDirectory }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Railpack version.
|
|
func (o ApplicationOutput) RailpackVersion() pulumi.StringOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.RailpackVersion }).(pulumi.StringOutput)
|
|
}
|
|
|
|
// Registry used to push the built image.
|
|
func (o ApplicationOutput) RegistryId() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.RegistryId }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Registry URL, when pulling a private image.
|
|
func (o ApplicationOutput) RegistryUrl() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.RegistryUrl }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Number of replicas to run.
|
|
func (o ApplicationOutput) Replicas() pulumi.IntOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.IntOutput { return v.Replicas }).(pulumi.IntOutput)
|
|
}
|
|
|
|
// GitHub repository name.
|
|
func (o ApplicationOutput) Repository() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.Repository }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Docker Swarm restart policy, as a JSON object.
|
|
func (o ApplicationOutput) RestartPolicySwarm() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.RestartPolicySwarm }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Keep previous images so deployments can be rolled back.
|
|
func (o ApplicationOutput) RollbackActive() pulumi.BoolOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.BoolOutput { return v.RollbackActive }).(pulumi.BoolOutput)
|
|
}
|
|
|
|
// Docker Swarm rollback configuration, as a JSON object.
|
|
func (o ApplicationOutput) RollbackConfigSwarm() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.RollbackConfigSwarm }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Registry used to store rollback images.
|
|
func (o ApplicationOutput) RollbackRegistryId() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.RollbackRegistryId }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Remote server to deploy on. Omit to use the Dokploy host itself.
|
|
func (o ApplicationOutput) ServerId() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.ServerId }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Where the application's code or image comes from. Valid values: `docker`, `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `drop`.
|
|
func (o ApplicationOutput) SourceType() pulumi.StringOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.SourceType }).(pulumi.StringOutput)
|
|
}
|
|
|
|
// Grace period in nanoseconds before a container is killed.
|
|
func (o ApplicationOutput) StopGracePeriodSwarm() pulumi.IntPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.IntPtrOutput { return v.StopGracePeriodSwarm }).(pulumi.IntPtrOutput)
|
|
}
|
|
|
|
// Display subtitle shown in the Dokploy UI.
|
|
func (o ApplicationOutput) Subtitle() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.Subtitle }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Display title shown in the Dokploy UI.
|
|
func (o ApplicationOutput) Title() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.Title }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// What triggers an automatic GitHub deployment. Valid values: `push`, `tag`.
|
|
func (o ApplicationOutput) TriggerType() pulumi.StringOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.TriggerType }).(pulumi.StringOutput)
|
|
}
|
|
|
|
// Docker Swarm ulimits, as a JSON object.
|
|
func (o ApplicationOutput) UlimitsSwarm() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.UlimitsSwarm }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Docker Swarm rolling update configuration, as a JSON object.
|
|
func (o ApplicationOutput) UpdateConfigSwarm() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.UpdateConfigSwarm }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Registry username, when pulling a private image.
|
|
func (o ApplicationOutput) Username() pulumi.StringPtrOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.Username }).(pulumi.StringPtrOutput)
|
|
}
|
|
|
|
// Glob patterns that limit which changed paths trigger an automatic deployment.
|
|
func (o ApplicationOutput) WatchPaths() pulumi.StringArrayOutput {
|
|
return o.ApplyT(func(v *Application) pulumi.StringArrayOutput { return v.WatchPaths }).(pulumi.StringArrayOutput)
|
|
}
|
|
|
|
type ApplicationArrayOutput struct{ *pulumi.OutputState }
|
|
|
|
func (ApplicationArrayOutput) ElementType() reflect.Type {
|
|
return reflect.TypeOf((*[]*Application)(nil)).Elem()
|
|
}
|
|
|
|
func (o ApplicationArrayOutput) ToApplicationArrayOutput() ApplicationArrayOutput {
|
|
return o
|
|
}
|
|
|
|
func (o ApplicationArrayOutput) ToApplicationArrayOutputWithContext(ctx context.Context) ApplicationArrayOutput {
|
|
return o
|
|
}
|
|
|
|
func (o ApplicationArrayOutput) Index(i pulumi.IntInput) ApplicationOutput {
|
|
return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Application {
|
|
return vs[0].([]*Application)[vs[1].(int)]
|
|
}).(ApplicationOutput)
|
|
}
|
|
|
|
type ApplicationMapOutput struct{ *pulumi.OutputState }
|
|
|
|
func (ApplicationMapOutput) ElementType() reflect.Type {
|
|
return reflect.TypeOf((*map[string]*Application)(nil)).Elem()
|
|
}
|
|
|
|
func (o ApplicationMapOutput) ToApplicationMapOutput() ApplicationMapOutput {
|
|
return o
|
|
}
|
|
|
|
func (o ApplicationMapOutput) ToApplicationMapOutputWithContext(ctx context.Context) ApplicationMapOutput {
|
|
return o
|
|
}
|
|
|
|
func (o ApplicationMapOutput) MapIndex(k pulumi.StringInput) ApplicationOutput {
|
|
return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Application {
|
|
return vs[0].(map[string]*Application)[vs[1].(string)]
|
|
}).(ApplicationOutput)
|
|
}
|
|
|
|
func init() {
|
|
pulumi.RegisterInputType(reflect.TypeOf((*ApplicationInput)(nil)).Elem(), &Application{})
|
|
pulumi.RegisterInputType(reflect.TypeOf((*ApplicationArrayInput)(nil)).Elem(), ApplicationArray{})
|
|
pulumi.RegisterInputType(reflect.TypeOf((*ApplicationMapInput)(nil)).Elem(), ApplicationMap{})
|
|
pulumi.RegisterOutputType(ApplicationOutput{})
|
|
pulumi.RegisterOutputType(ApplicationArrayOutput{})
|
|
pulumi.RegisterOutputType(ApplicationMapOutput{})
|
|
}
|