Files
pulumi-dokploy/sdk/go/dokploy/application.go
Max Vojtkov bb3c15135b 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.
2026-08-08 15:28:16 +03:00

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{})
}