Files
pulumi-dokploy/sdk/nodejs/application.ts
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

1409 lines
50 KiB
TypeScript
Generated

// *** WARNING: this file was generated by pulumi-language-nodejs. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
import * as pulumi from "@pulumi/pulumi";
import * as utilities from "./utilities";
export class Application extends pulumi.CustomResource {
/**
* Get an existing Application resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ApplicationState, opts?: pulumi.CustomResourceOptions): Application {
return new Application(name, <any>state, { ...opts, id: id });
}
/** @internal */
public static readonly __pulumiType = 'dokploy:index/application:Application';
/**
* Returns true if the given object is an instance of Application. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
public static isInstance(obj: any): obj is Application {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === Application.__pulumiType;
}
/**
* Unique Docker service name. Generated by Dokploy when omitted. Changing it forces a new application.
*/
declare public readonly appName: pulumi.Output<string>;
/**
* Current status reported by Dokploy: `idle`, `running`, `done` or `error`.
*/
declare public /*out*/ readonly applicationStatus: pulumi.Output<string>;
/**
* Arguments appended to the container command.
*/
declare public readonly args: pulumi.Output<string[]>;
/**
* Deploy automatically when the configured trigger fires.
*/
declare public readonly autoDeploy: pulumi.Output<boolean>;
/**
* Bitbucket branch to build.
*/
declare public readonly bitbucketBranch: pulumi.Output<string | undefined>;
/**
* Path within the Bitbucket repository to build from.
*/
declare public readonly bitbucketBuildPath: pulumi.Output<string>;
/**
* ID of the configured Bitbucket provider connection.
*/
declare public readonly bitbucketId: pulumi.Output<string | undefined>;
/**
* Bitbucket repository owner.
*/
declare public readonly bitbucketOwner: pulumi.Output<string | undefined>;
/**
* Bitbucket repository name.
*/
declare public readonly bitbucketRepository: pulumi.Output<string | undefined>;
/**
* Bitbucket repository slug.
*/
declare public readonly bitbucketRepositorySlug: pulumi.Output<string | undefined>;
/**
* GitHub branch to build.
*/
declare public readonly branch: pulumi.Output<string | undefined>;
/**
* Docker build arguments in `KEY=value` format, one per line.
*/
declare public readonly buildArgs: pulumi.Output<string | undefined>;
/**
* Path within the GitHub repository to build from.
*/
declare public readonly buildPath: pulumi.Output<string>;
/**
* Registry used by a dedicated build server.
*/
declare public readonly buildRegistryId: pulumi.Output<string | undefined>;
/**
* Docker build secrets in `KEY=value` format, one per line.
*/
declare public readonly buildSecrets: pulumi.Output<string>;
/**
* Server that performs builds, when separate from the deploy server.
*/
declare public readonly buildServerId: pulumi.Output<string | undefined>;
/**
* How the application is built. Valid values: `dockerfile`, `herokuBuildpacks`, `paketoBuildpacks`, `nixpacks`, `static`, `railpack`.
*/
declare public readonly buildType: pulumi.Output<string>;
/**
* Discard the build cache on the next deployment.
*/
declare public readonly cleanCache: pulumi.Output<boolean>;
/**
* Override the container entrypoint command.
*/
declare public readonly command: pulumi.Output<string | undefined>;
/**
* Hard CPU limit, for example `1`.
*/
declare public readonly cpuLimit: pulumi.Output<string | undefined>;
/**
* Soft CPU reservation, for example `0.5`.
*/
declare public readonly cpuReservation: pulumi.Output<string | undefined>;
/**
* Write the environment variables to a `.env` file in the container.
*/
declare public readonly createEnvFile: pulumi.Output<boolean>;
/**
* RFC 3339 timestamp of when the application was created.
*/
declare public /*out*/ readonly createdAt: pulumi.Output<string>;
/**
* Branch to build for a custom Git remote.
*/
declare public readonly customGitBranch: pulumi.Output<string | undefined>;
/**
* Path within a custom Git repository to build from.
*/
declare public readonly customGitBuildPath: pulumi.Output<string | undefined>;
/**
* SSH key used to clone a private custom Git remote.
*/
declare public readonly customGitSshKeyId: pulumi.Output<string | undefined>;
/**
* Git remote URL, when `sourceType` is `git`.
*/
declare public readonly customGitUrl: pulumi.Output<string | undefined>;
/**
* Free-form description.
*/
declare public readonly description: pulumi.Output<string | undefined>;
/**
* Detach the service from the shared `dokploy-network`.
*/
declare public readonly detachDokployNetwork: pulumi.Output<boolean>;
/**
* Target stage for a multi-stage Docker build.
*/
declare public readonly dockerBuildStage: pulumi.Output<string | undefined>;
/**
* Docker build context path.
*/
declare public readonly dockerContextPath: pulumi.Output<string | undefined>;
/**
* Docker image reference, when `sourceType` is `docker`.
*/
declare public readonly dockerImage: pulumi.Output<string | undefined>;
/**
* Path to the Dockerfile, when `buildType` is `dockerfile`.
*/
declare public readonly dockerfile: pulumi.Output<string>;
/**
* Clone Git submodules when checking out the repository.
*/
declare public readonly enableSubmodules: pulumi.Output<boolean>;
/**
* Whether the application is enabled.
*/
declare public readonly enabled: pulumi.Output<boolean>;
/**
* Docker Swarm endpoint specification, as a JSON object.
*/
declare public readonly endpointSpecSwarm: pulumi.Output<string | undefined>;
/**
* Runtime environment variables in `KEY=value` format, one per line.
*/
declare public readonly env: pulumi.Output<string | undefined>;
/**
* Environment this application belongs to.
*/
declare public readonly environmentId: pulumi.Output<string>;
/**
* Gitea branch to build.
*/
declare public readonly giteaBranch: pulumi.Output<string | undefined>;
/**
* Path within the Gitea repository to build from.
*/
declare public readonly giteaBuildPath: pulumi.Output<string>;
/**
* ID of the configured Gitea provider connection.
*/
declare public readonly giteaId: pulumi.Output<string | undefined>;
/**
* Gitea repository owner.
*/
declare public readonly giteaOwner: pulumi.Output<string | undefined>;
/**
* Gitea repository name.
*/
declare public readonly giteaRepository: pulumi.Output<string | undefined>;
/**
* ID of the configured GitHub provider connection.
*/
declare public readonly githubId: pulumi.Output<string | undefined>;
/**
* GitLab branch to build.
*/
declare public readonly gitlabBranch: pulumi.Output<string | undefined>;
/**
* Path within the GitLab repository to build from.
*/
declare public readonly gitlabBuildPath: pulumi.Output<string>;
/**
* ID of the configured GitLab provider connection.
*/
declare public readonly gitlabId: pulumi.Output<string | undefined>;
/**
* GitLab repository owner.
*/
declare public readonly gitlabOwner: pulumi.Output<string | undefined>;
/**
* Full GitLab namespace path.
*/
declare public readonly gitlabPathNamespace: pulumi.Output<string | undefined>;
/**
* Numeric GitLab project ID.
*/
declare public readonly gitlabProjectId: pulumi.Output<number | undefined>;
/**
* GitLab repository name.
*/
declare public readonly gitlabRepository: pulumi.Output<string | undefined>;
/**
* Docker Swarm health check configuration, as a JSON object.
*/
declare public readonly healthCheckSwarm: pulumi.Output<string | undefined>;
/**
* Heroku buildpack stack version.
*/
declare public readonly herokuVersion: pulumi.Output<string>;
/**
* Build a preview deployment for each pull request.
*/
declare public readonly isPreviewDeploymentsActive: pulumi.Output<boolean>;
/**
* Serve a static build as a single-page application.
*/
declare public readonly isStaticSpa: pulumi.Output<boolean>;
/**
* Docker Swarm service labels, as a JSON object.
*/
declare public readonly labelsSwarm: pulumi.Output<string | undefined>;
/**
* Hard memory limit, for example `512m`.
*/
declare public readonly memoryLimit: pulumi.Output<string | undefined>;
/**
* Soft memory reservation, for example `256m`.
*/
declare public readonly memoryReservation: pulumi.Output<string | undefined>;
/**
* Docker Swarm service mode, as a JSON object.
*/
declare public readonly modeSwarm: pulumi.Output<string | undefined>;
/**
* Display name of the application.
*/
declare public readonly name: pulumi.Output<string>;
/**
* IDs of additional Docker networks to attach.
*/
declare public readonly networkIds: pulumi.Output<string[]>;
/**
* Docker Swarm network attachments, as a JSON array.
*/
declare public readonly networkSwarm: pulumi.Output<string | undefined>;
/**
* GitHub repository owner.
*/
declare public readonly owner: pulumi.Output<string | undefined>;
/**
* Registry password, when pulling a private image.
*/
declare public readonly password: pulumi.Output<string>;
/**
* Docker Swarm placement constraints, as a JSON object.
*/
declare public readonly placementSwarm: pulumi.Output<string | undefined>;
/**
* Build arguments applied to preview deployments.
*/
declare public readonly previewBuildArgs: pulumi.Output<string | undefined>;
/**
* Build secrets applied to preview deployments.
*/
declare public readonly previewBuildSecrets: pulumi.Output<string>;
/**
* Certificate strategy for preview deployments. Valid values: `letsencrypt`, `none`, `custom`.
*/
declare public readonly previewCertificateType: pulumi.Output<string>;
/**
* Traefik certificate resolver for preview deployments.
*/
declare public readonly previewCustomCertResolver: pulumi.Output<string | undefined>;
/**
* Environment variables applied to preview deployments.
*/
declare public readonly previewEnv: pulumi.Output<string | undefined>;
/**
* Serve preview deployments over HTTPS.
*/
declare public readonly previewHttps: pulumi.Output<boolean>;
/**
* Pull request labels that opt into preview deployments.
*/
declare public readonly previewLabels: pulumi.Output<string[]>;
/**
* Maximum number of concurrent preview deployments.
*/
declare public readonly previewLimit: pulumi.Output<number>;
/**
* Base path for preview deployments.
*/
declare public readonly previewPath: pulumi.Output<string>;
/**
* Container port exposed by preview deployments.
*/
declare public readonly previewPort: pulumi.Output<number>;
/**
* Wildcard domain used to expose preview deployments.
*/
declare public readonly previewWildcard: pulumi.Output<string | undefined>;
/**
* Directory served when `buildType` is `static`.
*/
declare public readonly publishDirectory: pulumi.Output<string | undefined>;
/**
* Railpack version.
*/
declare public readonly railpackVersion: pulumi.Output<string>;
/**
* Registry used to push the built image.
*/
declare public readonly registryId: pulumi.Output<string | undefined>;
/**
* Registry URL, when pulling a private image.
*/
declare public readonly registryUrl: pulumi.Output<string | undefined>;
/**
* Number of replicas to run.
*/
declare public readonly replicas: pulumi.Output<number>;
/**
* GitHub repository name.
*/
declare public readonly repository: pulumi.Output<string | undefined>;
/**
* Docker Swarm restart policy, as a JSON object.
*/
declare public readonly restartPolicySwarm: pulumi.Output<string | undefined>;
/**
* Keep previous images so deployments can be rolled back.
*/
declare public readonly rollbackActive: pulumi.Output<boolean>;
/**
* Docker Swarm rollback configuration, as a JSON object.
*/
declare public readonly rollbackConfigSwarm: pulumi.Output<string | undefined>;
/**
* Registry used to store rollback images.
*/
declare public readonly rollbackRegistryId: pulumi.Output<string | undefined>;
/**
* Remote server to deploy on. Omit to use the Dokploy host itself.
*/
declare public readonly serverId: pulumi.Output<string | undefined>;
/**
* Where the application's code or image comes from. Valid values: `docker`, `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `drop`.
*/
declare public readonly sourceType: pulumi.Output<string>;
/**
* Grace period in nanoseconds before a container is killed.
*/
declare public readonly stopGracePeriodSwarm: pulumi.Output<number | undefined>;
/**
* Display subtitle shown in the Dokploy UI.
*/
declare public readonly subtitle: pulumi.Output<string | undefined>;
/**
* Display title shown in the Dokploy UI.
*/
declare public readonly title: pulumi.Output<string | undefined>;
/**
* What triggers an automatic GitHub deployment. Valid values: `push`, `tag`.
*/
declare public readonly triggerType: pulumi.Output<string>;
/**
* Docker Swarm ulimits, as a JSON object.
*/
declare public readonly ulimitsSwarm: pulumi.Output<string | undefined>;
/**
* Docker Swarm rolling update configuration, as a JSON object.
*/
declare public readonly updateConfigSwarm: pulumi.Output<string | undefined>;
/**
* Registry username, when pulling a private image.
*/
declare public readonly username: pulumi.Output<string | undefined>;
/**
* Glob patterns that limit which changed paths trigger an automatic deployment.
*/
declare public readonly watchPaths: pulumi.Output<string[]>;
/**
* Create a Application resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: ApplicationArgs, opts?: pulumi.CustomResourceOptions)
constructor(name: string, argsOrState?: ApplicationArgs | ApplicationState, opts?: pulumi.CustomResourceOptions) {
let resourceInputs: pulumi.Inputs = {};
opts = opts || {};
if (opts.id) {
const state = argsOrState as ApplicationState | undefined;
resourceInputs["appName"] = state?.appName;
resourceInputs["applicationStatus"] = state?.applicationStatus;
resourceInputs["args"] = state?.args;
resourceInputs["autoDeploy"] = state?.autoDeploy;
resourceInputs["bitbucketBranch"] = state?.bitbucketBranch;
resourceInputs["bitbucketBuildPath"] = state?.bitbucketBuildPath;
resourceInputs["bitbucketId"] = state?.bitbucketId;
resourceInputs["bitbucketOwner"] = state?.bitbucketOwner;
resourceInputs["bitbucketRepository"] = state?.bitbucketRepository;
resourceInputs["bitbucketRepositorySlug"] = state?.bitbucketRepositorySlug;
resourceInputs["branch"] = state?.branch;
resourceInputs["buildArgs"] = state?.buildArgs;
resourceInputs["buildPath"] = state?.buildPath;
resourceInputs["buildRegistryId"] = state?.buildRegistryId;
resourceInputs["buildSecrets"] = state?.buildSecrets;
resourceInputs["buildServerId"] = state?.buildServerId;
resourceInputs["buildType"] = state?.buildType;
resourceInputs["cleanCache"] = state?.cleanCache;
resourceInputs["command"] = state?.command;
resourceInputs["cpuLimit"] = state?.cpuLimit;
resourceInputs["cpuReservation"] = state?.cpuReservation;
resourceInputs["createEnvFile"] = state?.createEnvFile;
resourceInputs["createdAt"] = state?.createdAt;
resourceInputs["customGitBranch"] = state?.customGitBranch;
resourceInputs["customGitBuildPath"] = state?.customGitBuildPath;
resourceInputs["customGitSshKeyId"] = state?.customGitSshKeyId;
resourceInputs["customGitUrl"] = state?.customGitUrl;
resourceInputs["description"] = state?.description;
resourceInputs["detachDokployNetwork"] = state?.detachDokployNetwork;
resourceInputs["dockerBuildStage"] = state?.dockerBuildStage;
resourceInputs["dockerContextPath"] = state?.dockerContextPath;
resourceInputs["dockerImage"] = state?.dockerImage;
resourceInputs["dockerfile"] = state?.dockerfile;
resourceInputs["enableSubmodules"] = state?.enableSubmodules;
resourceInputs["enabled"] = state?.enabled;
resourceInputs["endpointSpecSwarm"] = state?.endpointSpecSwarm;
resourceInputs["env"] = state?.env;
resourceInputs["environmentId"] = state?.environmentId;
resourceInputs["giteaBranch"] = state?.giteaBranch;
resourceInputs["giteaBuildPath"] = state?.giteaBuildPath;
resourceInputs["giteaId"] = state?.giteaId;
resourceInputs["giteaOwner"] = state?.giteaOwner;
resourceInputs["giteaRepository"] = state?.giteaRepository;
resourceInputs["githubId"] = state?.githubId;
resourceInputs["gitlabBranch"] = state?.gitlabBranch;
resourceInputs["gitlabBuildPath"] = state?.gitlabBuildPath;
resourceInputs["gitlabId"] = state?.gitlabId;
resourceInputs["gitlabOwner"] = state?.gitlabOwner;
resourceInputs["gitlabPathNamespace"] = state?.gitlabPathNamespace;
resourceInputs["gitlabProjectId"] = state?.gitlabProjectId;
resourceInputs["gitlabRepository"] = state?.gitlabRepository;
resourceInputs["healthCheckSwarm"] = state?.healthCheckSwarm;
resourceInputs["herokuVersion"] = state?.herokuVersion;
resourceInputs["isPreviewDeploymentsActive"] = state?.isPreviewDeploymentsActive;
resourceInputs["isStaticSpa"] = state?.isStaticSpa;
resourceInputs["labelsSwarm"] = state?.labelsSwarm;
resourceInputs["memoryLimit"] = state?.memoryLimit;
resourceInputs["memoryReservation"] = state?.memoryReservation;
resourceInputs["modeSwarm"] = state?.modeSwarm;
resourceInputs["name"] = state?.name;
resourceInputs["networkIds"] = state?.networkIds;
resourceInputs["networkSwarm"] = state?.networkSwarm;
resourceInputs["owner"] = state?.owner;
resourceInputs["password"] = state?.password;
resourceInputs["placementSwarm"] = state?.placementSwarm;
resourceInputs["previewBuildArgs"] = state?.previewBuildArgs;
resourceInputs["previewBuildSecrets"] = state?.previewBuildSecrets;
resourceInputs["previewCertificateType"] = state?.previewCertificateType;
resourceInputs["previewCustomCertResolver"] = state?.previewCustomCertResolver;
resourceInputs["previewEnv"] = state?.previewEnv;
resourceInputs["previewHttps"] = state?.previewHttps;
resourceInputs["previewLabels"] = state?.previewLabels;
resourceInputs["previewLimit"] = state?.previewLimit;
resourceInputs["previewPath"] = state?.previewPath;
resourceInputs["previewPort"] = state?.previewPort;
resourceInputs["previewWildcard"] = state?.previewWildcard;
resourceInputs["publishDirectory"] = state?.publishDirectory;
resourceInputs["railpackVersion"] = state?.railpackVersion;
resourceInputs["registryId"] = state?.registryId;
resourceInputs["registryUrl"] = state?.registryUrl;
resourceInputs["replicas"] = state?.replicas;
resourceInputs["repository"] = state?.repository;
resourceInputs["restartPolicySwarm"] = state?.restartPolicySwarm;
resourceInputs["rollbackActive"] = state?.rollbackActive;
resourceInputs["rollbackConfigSwarm"] = state?.rollbackConfigSwarm;
resourceInputs["rollbackRegistryId"] = state?.rollbackRegistryId;
resourceInputs["serverId"] = state?.serverId;
resourceInputs["sourceType"] = state?.sourceType;
resourceInputs["stopGracePeriodSwarm"] = state?.stopGracePeriodSwarm;
resourceInputs["subtitle"] = state?.subtitle;
resourceInputs["title"] = state?.title;
resourceInputs["triggerType"] = state?.triggerType;
resourceInputs["ulimitsSwarm"] = state?.ulimitsSwarm;
resourceInputs["updateConfigSwarm"] = state?.updateConfigSwarm;
resourceInputs["username"] = state?.username;
resourceInputs["watchPaths"] = state?.watchPaths;
} else {
const args = argsOrState as ApplicationArgs | undefined;
if (args?.environmentId === undefined && !opts.urn) {
throw new Error("Missing required property 'environmentId'");
}
resourceInputs["appName"] = args?.appName;
resourceInputs["args"] = args?.args;
resourceInputs["autoDeploy"] = args?.autoDeploy;
resourceInputs["bitbucketBranch"] = args?.bitbucketBranch;
resourceInputs["bitbucketBuildPath"] = args?.bitbucketBuildPath;
resourceInputs["bitbucketId"] = args?.bitbucketId;
resourceInputs["bitbucketOwner"] = args?.bitbucketOwner;
resourceInputs["bitbucketRepository"] = args?.bitbucketRepository;
resourceInputs["bitbucketRepositorySlug"] = args?.bitbucketRepositorySlug;
resourceInputs["branch"] = args?.branch;
resourceInputs["buildArgs"] = args?.buildArgs;
resourceInputs["buildPath"] = args?.buildPath;
resourceInputs["buildRegistryId"] = args?.buildRegistryId;
resourceInputs["buildSecrets"] = args?.buildSecrets ? pulumi.secret(args.buildSecrets) : undefined;
resourceInputs["buildServerId"] = args?.buildServerId;
resourceInputs["buildType"] = args?.buildType;
resourceInputs["cleanCache"] = args?.cleanCache;
resourceInputs["command"] = args?.command;
resourceInputs["cpuLimit"] = args?.cpuLimit;
resourceInputs["cpuReservation"] = args?.cpuReservation;
resourceInputs["createEnvFile"] = args?.createEnvFile;
resourceInputs["customGitBranch"] = args?.customGitBranch;
resourceInputs["customGitBuildPath"] = args?.customGitBuildPath;
resourceInputs["customGitSshKeyId"] = args?.customGitSshKeyId;
resourceInputs["customGitUrl"] = args?.customGitUrl;
resourceInputs["description"] = args?.description;
resourceInputs["detachDokployNetwork"] = args?.detachDokployNetwork;
resourceInputs["dockerBuildStage"] = args?.dockerBuildStage;
resourceInputs["dockerContextPath"] = args?.dockerContextPath;
resourceInputs["dockerImage"] = args?.dockerImage;
resourceInputs["dockerfile"] = args?.dockerfile;
resourceInputs["enableSubmodules"] = args?.enableSubmodules;
resourceInputs["enabled"] = args?.enabled;
resourceInputs["endpointSpecSwarm"] = args?.endpointSpecSwarm;
resourceInputs["env"] = args?.env;
resourceInputs["environmentId"] = args?.environmentId;
resourceInputs["giteaBranch"] = args?.giteaBranch;
resourceInputs["giteaBuildPath"] = args?.giteaBuildPath;
resourceInputs["giteaId"] = args?.giteaId;
resourceInputs["giteaOwner"] = args?.giteaOwner;
resourceInputs["giteaRepository"] = args?.giteaRepository;
resourceInputs["githubId"] = args?.githubId;
resourceInputs["gitlabBranch"] = args?.gitlabBranch;
resourceInputs["gitlabBuildPath"] = args?.gitlabBuildPath;
resourceInputs["gitlabId"] = args?.gitlabId;
resourceInputs["gitlabOwner"] = args?.gitlabOwner;
resourceInputs["gitlabPathNamespace"] = args?.gitlabPathNamespace;
resourceInputs["gitlabProjectId"] = args?.gitlabProjectId;
resourceInputs["gitlabRepository"] = args?.gitlabRepository;
resourceInputs["healthCheckSwarm"] = args?.healthCheckSwarm;
resourceInputs["herokuVersion"] = args?.herokuVersion;
resourceInputs["isPreviewDeploymentsActive"] = args?.isPreviewDeploymentsActive;
resourceInputs["isStaticSpa"] = args?.isStaticSpa;
resourceInputs["labelsSwarm"] = args?.labelsSwarm;
resourceInputs["memoryLimit"] = args?.memoryLimit;
resourceInputs["memoryReservation"] = args?.memoryReservation;
resourceInputs["modeSwarm"] = args?.modeSwarm;
resourceInputs["name"] = args?.name;
resourceInputs["networkIds"] = args?.networkIds;
resourceInputs["networkSwarm"] = args?.networkSwarm;
resourceInputs["owner"] = args?.owner;
resourceInputs["password"] = args?.password ? pulumi.secret(args.password) : undefined;
resourceInputs["placementSwarm"] = args?.placementSwarm;
resourceInputs["previewBuildArgs"] = args?.previewBuildArgs;
resourceInputs["previewBuildSecrets"] = args?.previewBuildSecrets ? pulumi.secret(args.previewBuildSecrets) : undefined;
resourceInputs["previewCertificateType"] = args?.previewCertificateType;
resourceInputs["previewCustomCertResolver"] = args?.previewCustomCertResolver;
resourceInputs["previewEnv"] = args?.previewEnv;
resourceInputs["previewHttps"] = args?.previewHttps;
resourceInputs["previewLabels"] = args?.previewLabels;
resourceInputs["previewLimit"] = args?.previewLimit;
resourceInputs["previewPath"] = args?.previewPath;
resourceInputs["previewPort"] = args?.previewPort;
resourceInputs["previewWildcard"] = args?.previewWildcard;
resourceInputs["publishDirectory"] = args?.publishDirectory;
resourceInputs["railpackVersion"] = args?.railpackVersion;
resourceInputs["registryId"] = args?.registryId;
resourceInputs["registryUrl"] = args?.registryUrl;
resourceInputs["replicas"] = args?.replicas;
resourceInputs["repository"] = args?.repository;
resourceInputs["restartPolicySwarm"] = args?.restartPolicySwarm;
resourceInputs["rollbackActive"] = args?.rollbackActive;
resourceInputs["rollbackConfigSwarm"] = args?.rollbackConfigSwarm;
resourceInputs["rollbackRegistryId"] = args?.rollbackRegistryId;
resourceInputs["serverId"] = args?.serverId;
resourceInputs["sourceType"] = args?.sourceType;
resourceInputs["stopGracePeriodSwarm"] = args?.stopGracePeriodSwarm;
resourceInputs["subtitle"] = args?.subtitle;
resourceInputs["title"] = args?.title;
resourceInputs["triggerType"] = args?.triggerType;
resourceInputs["ulimitsSwarm"] = args?.ulimitsSwarm;
resourceInputs["updateConfigSwarm"] = args?.updateConfigSwarm;
resourceInputs["username"] = args?.username;
resourceInputs["watchPaths"] = args?.watchPaths;
resourceInputs["applicationStatus"] = undefined /*out*/;
resourceInputs["createdAt"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const secretOpts = { additionalSecretOutputs: ["buildSecrets", "password", "previewBuildSecrets"] };
opts = pulumi.mergeOptions(opts, secretOpts);
super(Application.__pulumiType, name, resourceInputs, opts);
}
}
/**
* Input properties used for looking up and filtering Application resources.
*/
export interface ApplicationState {
/**
* Unique Docker service name. Generated by Dokploy when omitted. Changing it forces a new application.
*/
appName?: pulumi.Input<string>;
/**
* Current status reported by Dokploy: `idle`, `running`, `done` or `error`.
*/
applicationStatus?: pulumi.Input<string>;
/**
* Arguments appended to the container command.
*/
args?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Deploy automatically when the configured trigger fires.
*/
autoDeploy?: pulumi.Input<boolean>;
/**
* Bitbucket branch to build.
*/
bitbucketBranch?: pulumi.Input<string>;
/**
* Path within the Bitbucket repository to build from.
*/
bitbucketBuildPath?: pulumi.Input<string>;
/**
* ID of the configured Bitbucket provider connection.
*/
bitbucketId?: pulumi.Input<string>;
/**
* Bitbucket repository owner.
*/
bitbucketOwner?: pulumi.Input<string>;
/**
* Bitbucket repository name.
*/
bitbucketRepository?: pulumi.Input<string>;
/**
* Bitbucket repository slug.
*/
bitbucketRepositorySlug?: pulumi.Input<string>;
/**
* GitHub branch to build.
*/
branch?: pulumi.Input<string>;
/**
* Docker build arguments in `KEY=value` format, one per line.
*/
buildArgs?: pulumi.Input<string>;
/**
* Path within the GitHub repository to build from.
*/
buildPath?: pulumi.Input<string>;
/**
* Registry used by a dedicated build server.
*/
buildRegistryId?: pulumi.Input<string>;
/**
* Docker build secrets in `KEY=value` format, one per line.
*/
buildSecrets?: pulumi.Input<string>;
/**
* Server that performs builds, when separate from the deploy server.
*/
buildServerId?: pulumi.Input<string>;
/**
* How the application is built. Valid values: `dockerfile`, `herokuBuildpacks`, `paketoBuildpacks`, `nixpacks`, `static`, `railpack`.
*/
buildType?: pulumi.Input<string>;
/**
* Discard the build cache on the next deployment.
*/
cleanCache?: pulumi.Input<boolean>;
/**
* Override the container entrypoint command.
*/
command?: pulumi.Input<string>;
/**
* Hard CPU limit, for example `1`.
*/
cpuLimit?: pulumi.Input<string>;
/**
* Soft CPU reservation, for example `0.5`.
*/
cpuReservation?: pulumi.Input<string>;
/**
* Write the environment variables to a `.env` file in the container.
*/
createEnvFile?: pulumi.Input<boolean>;
/**
* RFC 3339 timestamp of when the application was created.
*/
createdAt?: pulumi.Input<string>;
/**
* Branch to build for a custom Git remote.
*/
customGitBranch?: pulumi.Input<string>;
/**
* Path within a custom Git repository to build from.
*/
customGitBuildPath?: pulumi.Input<string>;
/**
* SSH key used to clone a private custom Git remote.
*/
customGitSshKeyId?: pulumi.Input<string>;
/**
* Git remote URL, when `sourceType` is `git`.
*/
customGitUrl?: pulumi.Input<string>;
/**
* Free-form description.
*/
description?: pulumi.Input<string>;
/**
* Detach the service from the shared `dokploy-network`.
*/
detachDokployNetwork?: pulumi.Input<boolean>;
/**
* Target stage for a multi-stage Docker build.
*/
dockerBuildStage?: pulumi.Input<string>;
/**
* Docker build context path.
*/
dockerContextPath?: pulumi.Input<string>;
/**
* Docker image reference, when `sourceType` is `docker`.
*/
dockerImage?: pulumi.Input<string>;
/**
* Path to the Dockerfile, when `buildType` is `dockerfile`.
*/
dockerfile?: pulumi.Input<string>;
/**
* Clone Git submodules when checking out the repository.
*/
enableSubmodules?: pulumi.Input<boolean>;
/**
* Whether the application is enabled.
*/
enabled?: pulumi.Input<boolean>;
/**
* Docker Swarm endpoint specification, as a JSON object.
*/
endpointSpecSwarm?: pulumi.Input<string>;
/**
* Runtime environment variables in `KEY=value` format, one per line.
*/
env?: pulumi.Input<string>;
/**
* Environment this application belongs to.
*/
environmentId?: pulumi.Input<string>;
/**
* Gitea branch to build.
*/
giteaBranch?: pulumi.Input<string>;
/**
* Path within the Gitea repository to build from.
*/
giteaBuildPath?: pulumi.Input<string>;
/**
* ID of the configured Gitea provider connection.
*/
giteaId?: pulumi.Input<string>;
/**
* Gitea repository owner.
*/
giteaOwner?: pulumi.Input<string>;
/**
* Gitea repository name.
*/
giteaRepository?: pulumi.Input<string>;
/**
* ID of the configured GitHub provider connection.
*/
githubId?: pulumi.Input<string>;
/**
* GitLab branch to build.
*/
gitlabBranch?: pulumi.Input<string>;
/**
* Path within the GitLab repository to build from.
*/
gitlabBuildPath?: pulumi.Input<string>;
/**
* ID of the configured GitLab provider connection.
*/
gitlabId?: pulumi.Input<string>;
/**
* GitLab repository owner.
*/
gitlabOwner?: pulumi.Input<string>;
/**
* Full GitLab namespace path.
*/
gitlabPathNamespace?: pulumi.Input<string>;
/**
* Numeric GitLab project ID.
*/
gitlabProjectId?: pulumi.Input<number>;
/**
* GitLab repository name.
*/
gitlabRepository?: pulumi.Input<string>;
/**
* Docker Swarm health check configuration, as a JSON object.
*/
healthCheckSwarm?: pulumi.Input<string>;
/**
* Heroku buildpack stack version.
*/
herokuVersion?: pulumi.Input<string>;
/**
* Build a preview deployment for each pull request.
*/
isPreviewDeploymentsActive?: pulumi.Input<boolean>;
/**
* Serve a static build as a single-page application.
*/
isStaticSpa?: pulumi.Input<boolean>;
/**
* Docker Swarm service labels, as a JSON object.
*/
labelsSwarm?: pulumi.Input<string>;
/**
* Hard memory limit, for example `512m`.
*/
memoryLimit?: pulumi.Input<string>;
/**
* Soft memory reservation, for example `256m`.
*/
memoryReservation?: pulumi.Input<string>;
/**
* Docker Swarm service mode, as a JSON object.
*/
modeSwarm?: pulumi.Input<string>;
/**
* Display name of the application.
*/
name?: pulumi.Input<string>;
/**
* IDs of additional Docker networks to attach.
*/
networkIds?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Docker Swarm network attachments, as a JSON array.
*/
networkSwarm?: pulumi.Input<string>;
/**
* GitHub repository owner.
*/
owner?: pulumi.Input<string>;
/**
* Registry password, when pulling a private image.
*/
password?: pulumi.Input<string>;
/**
* Docker Swarm placement constraints, as a JSON object.
*/
placementSwarm?: pulumi.Input<string>;
/**
* Build arguments applied to preview deployments.
*/
previewBuildArgs?: pulumi.Input<string>;
/**
* Build secrets applied to preview deployments.
*/
previewBuildSecrets?: pulumi.Input<string>;
/**
* Certificate strategy for preview deployments. Valid values: `letsencrypt`, `none`, `custom`.
*/
previewCertificateType?: pulumi.Input<string>;
/**
* Traefik certificate resolver for preview deployments.
*/
previewCustomCertResolver?: pulumi.Input<string>;
/**
* Environment variables applied to preview deployments.
*/
previewEnv?: pulumi.Input<string>;
/**
* Serve preview deployments over HTTPS.
*/
previewHttps?: pulumi.Input<boolean>;
/**
* Pull request labels that opt into preview deployments.
*/
previewLabels?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Maximum number of concurrent preview deployments.
*/
previewLimit?: pulumi.Input<number>;
/**
* Base path for preview deployments.
*/
previewPath?: pulumi.Input<string>;
/**
* Container port exposed by preview deployments.
*/
previewPort?: pulumi.Input<number>;
/**
* Wildcard domain used to expose preview deployments.
*/
previewWildcard?: pulumi.Input<string>;
/**
* Directory served when `buildType` is `static`.
*/
publishDirectory?: pulumi.Input<string>;
/**
* Railpack version.
*/
railpackVersion?: pulumi.Input<string>;
/**
* Registry used to push the built image.
*/
registryId?: pulumi.Input<string>;
/**
* Registry URL, when pulling a private image.
*/
registryUrl?: pulumi.Input<string>;
/**
* Number of replicas to run.
*/
replicas?: pulumi.Input<number>;
/**
* GitHub repository name.
*/
repository?: pulumi.Input<string>;
/**
* Docker Swarm restart policy, as a JSON object.
*/
restartPolicySwarm?: pulumi.Input<string>;
/**
* Keep previous images so deployments can be rolled back.
*/
rollbackActive?: pulumi.Input<boolean>;
/**
* Docker Swarm rollback configuration, as a JSON object.
*/
rollbackConfigSwarm?: pulumi.Input<string>;
/**
* Registry used to store rollback images.
*/
rollbackRegistryId?: pulumi.Input<string>;
/**
* Remote server to deploy on. Omit to use the Dokploy host itself.
*/
serverId?: pulumi.Input<string>;
/**
* Where the application's code or image comes from. Valid values: `docker`, `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `drop`.
*/
sourceType?: pulumi.Input<string>;
/**
* Grace period in nanoseconds before a container is killed.
*/
stopGracePeriodSwarm?: pulumi.Input<number>;
/**
* Display subtitle shown in the Dokploy UI.
*/
subtitle?: pulumi.Input<string>;
/**
* Display title shown in the Dokploy UI.
*/
title?: pulumi.Input<string>;
/**
* What triggers an automatic GitHub deployment. Valid values: `push`, `tag`.
*/
triggerType?: pulumi.Input<string>;
/**
* Docker Swarm ulimits, as a JSON object.
*/
ulimitsSwarm?: pulumi.Input<string>;
/**
* Docker Swarm rolling update configuration, as a JSON object.
*/
updateConfigSwarm?: pulumi.Input<string>;
/**
* Registry username, when pulling a private image.
*/
username?: pulumi.Input<string>;
/**
* Glob patterns that limit which changed paths trigger an automatic deployment.
*/
watchPaths?: pulumi.Input<pulumi.Input<string>[]>;
}
/**
* The set of arguments for constructing a Application resource.
*/
export interface ApplicationArgs {
/**
* Unique Docker service name. Generated by Dokploy when omitted. Changing it forces a new application.
*/
appName?: pulumi.Input<string>;
/**
* Arguments appended to the container command.
*/
args?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Deploy automatically when the configured trigger fires.
*/
autoDeploy?: pulumi.Input<boolean>;
/**
* Bitbucket branch to build.
*/
bitbucketBranch?: pulumi.Input<string>;
/**
* Path within the Bitbucket repository to build from.
*/
bitbucketBuildPath?: pulumi.Input<string>;
/**
* ID of the configured Bitbucket provider connection.
*/
bitbucketId?: pulumi.Input<string>;
/**
* Bitbucket repository owner.
*/
bitbucketOwner?: pulumi.Input<string>;
/**
* Bitbucket repository name.
*/
bitbucketRepository?: pulumi.Input<string>;
/**
* Bitbucket repository slug.
*/
bitbucketRepositorySlug?: pulumi.Input<string>;
/**
* GitHub branch to build.
*/
branch?: pulumi.Input<string>;
/**
* Docker build arguments in `KEY=value` format, one per line.
*/
buildArgs?: pulumi.Input<string>;
/**
* Path within the GitHub repository to build from.
*/
buildPath?: pulumi.Input<string>;
/**
* Registry used by a dedicated build server.
*/
buildRegistryId?: pulumi.Input<string>;
/**
* Docker build secrets in `KEY=value` format, one per line.
*/
buildSecrets?: pulumi.Input<string>;
/**
* Server that performs builds, when separate from the deploy server.
*/
buildServerId?: pulumi.Input<string>;
/**
* How the application is built. Valid values: `dockerfile`, `herokuBuildpacks`, `paketoBuildpacks`, `nixpacks`, `static`, `railpack`.
*/
buildType?: pulumi.Input<string>;
/**
* Discard the build cache on the next deployment.
*/
cleanCache?: pulumi.Input<boolean>;
/**
* Override the container entrypoint command.
*/
command?: pulumi.Input<string>;
/**
* Hard CPU limit, for example `1`.
*/
cpuLimit?: pulumi.Input<string>;
/**
* Soft CPU reservation, for example `0.5`.
*/
cpuReservation?: pulumi.Input<string>;
/**
* Write the environment variables to a `.env` file in the container.
*/
createEnvFile?: pulumi.Input<boolean>;
/**
* Branch to build for a custom Git remote.
*/
customGitBranch?: pulumi.Input<string>;
/**
* Path within a custom Git repository to build from.
*/
customGitBuildPath?: pulumi.Input<string>;
/**
* SSH key used to clone a private custom Git remote.
*/
customGitSshKeyId?: pulumi.Input<string>;
/**
* Git remote URL, when `sourceType` is `git`.
*/
customGitUrl?: pulumi.Input<string>;
/**
* Free-form description.
*/
description?: pulumi.Input<string>;
/**
* Detach the service from the shared `dokploy-network`.
*/
detachDokployNetwork?: pulumi.Input<boolean>;
/**
* Target stage for a multi-stage Docker build.
*/
dockerBuildStage?: pulumi.Input<string>;
/**
* Docker build context path.
*/
dockerContextPath?: pulumi.Input<string>;
/**
* Docker image reference, when `sourceType` is `docker`.
*/
dockerImage?: pulumi.Input<string>;
/**
* Path to the Dockerfile, when `buildType` is `dockerfile`.
*/
dockerfile?: pulumi.Input<string>;
/**
* Clone Git submodules when checking out the repository.
*/
enableSubmodules?: pulumi.Input<boolean>;
/**
* Whether the application is enabled.
*/
enabled?: pulumi.Input<boolean>;
/**
* Docker Swarm endpoint specification, as a JSON object.
*/
endpointSpecSwarm?: pulumi.Input<string>;
/**
* Runtime environment variables in `KEY=value` format, one per line.
*/
env?: pulumi.Input<string>;
/**
* Environment this application belongs to.
*/
environmentId: pulumi.Input<string>;
/**
* Gitea branch to build.
*/
giteaBranch?: pulumi.Input<string>;
/**
* Path within the Gitea repository to build from.
*/
giteaBuildPath?: pulumi.Input<string>;
/**
* ID of the configured Gitea provider connection.
*/
giteaId?: pulumi.Input<string>;
/**
* Gitea repository owner.
*/
giteaOwner?: pulumi.Input<string>;
/**
* Gitea repository name.
*/
giteaRepository?: pulumi.Input<string>;
/**
* ID of the configured GitHub provider connection.
*/
githubId?: pulumi.Input<string>;
/**
* GitLab branch to build.
*/
gitlabBranch?: pulumi.Input<string>;
/**
* Path within the GitLab repository to build from.
*/
gitlabBuildPath?: pulumi.Input<string>;
/**
* ID of the configured GitLab provider connection.
*/
gitlabId?: pulumi.Input<string>;
/**
* GitLab repository owner.
*/
gitlabOwner?: pulumi.Input<string>;
/**
* Full GitLab namespace path.
*/
gitlabPathNamespace?: pulumi.Input<string>;
/**
* Numeric GitLab project ID.
*/
gitlabProjectId?: pulumi.Input<number>;
/**
* GitLab repository name.
*/
gitlabRepository?: pulumi.Input<string>;
/**
* Docker Swarm health check configuration, as a JSON object.
*/
healthCheckSwarm?: pulumi.Input<string>;
/**
* Heroku buildpack stack version.
*/
herokuVersion?: pulumi.Input<string>;
/**
* Build a preview deployment for each pull request.
*/
isPreviewDeploymentsActive?: pulumi.Input<boolean>;
/**
* Serve a static build as a single-page application.
*/
isStaticSpa?: pulumi.Input<boolean>;
/**
* Docker Swarm service labels, as a JSON object.
*/
labelsSwarm?: pulumi.Input<string>;
/**
* Hard memory limit, for example `512m`.
*/
memoryLimit?: pulumi.Input<string>;
/**
* Soft memory reservation, for example `256m`.
*/
memoryReservation?: pulumi.Input<string>;
/**
* Docker Swarm service mode, as a JSON object.
*/
modeSwarm?: pulumi.Input<string>;
/**
* Display name of the application.
*/
name?: pulumi.Input<string>;
/**
* IDs of additional Docker networks to attach.
*/
networkIds?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Docker Swarm network attachments, as a JSON array.
*/
networkSwarm?: pulumi.Input<string>;
/**
* GitHub repository owner.
*/
owner?: pulumi.Input<string>;
/**
* Registry password, when pulling a private image.
*/
password?: pulumi.Input<string>;
/**
* Docker Swarm placement constraints, as a JSON object.
*/
placementSwarm?: pulumi.Input<string>;
/**
* Build arguments applied to preview deployments.
*/
previewBuildArgs?: pulumi.Input<string>;
/**
* Build secrets applied to preview deployments.
*/
previewBuildSecrets?: pulumi.Input<string>;
/**
* Certificate strategy for preview deployments. Valid values: `letsencrypt`, `none`, `custom`.
*/
previewCertificateType?: pulumi.Input<string>;
/**
* Traefik certificate resolver for preview deployments.
*/
previewCustomCertResolver?: pulumi.Input<string>;
/**
* Environment variables applied to preview deployments.
*/
previewEnv?: pulumi.Input<string>;
/**
* Serve preview deployments over HTTPS.
*/
previewHttps?: pulumi.Input<boolean>;
/**
* Pull request labels that opt into preview deployments.
*/
previewLabels?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Maximum number of concurrent preview deployments.
*/
previewLimit?: pulumi.Input<number>;
/**
* Base path for preview deployments.
*/
previewPath?: pulumi.Input<string>;
/**
* Container port exposed by preview deployments.
*/
previewPort?: pulumi.Input<number>;
/**
* Wildcard domain used to expose preview deployments.
*/
previewWildcard?: pulumi.Input<string>;
/**
* Directory served when `buildType` is `static`.
*/
publishDirectory?: pulumi.Input<string>;
/**
* Railpack version.
*/
railpackVersion?: pulumi.Input<string>;
/**
* Registry used to push the built image.
*/
registryId?: pulumi.Input<string>;
/**
* Registry URL, when pulling a private image.
*/
registryUrl?: pulumi.Input<string>;
/**
* Number of replicas to run.
*/
replicas?: pulumi.Input<number>;
/**
* GitHub repository name.
*/
repository?: pulumi.Input<string>;
/**
* Docker Swarm restart policy, as a JSON object.
*/
restartPolicySwarm?: pulumi.Input<string>;
/**
* Keep previous images so deployments can be rolled back.
*/
rollbackActive?: pulumi.Input<boolean>;
/**
* Docker Swarm rollback configuration, as a JSON object.
*/
rollbackConfigSwarm?: pulumi.Input<string>;
/**
* Registry used to store rollback images.
*/
rollbackRegistryId?: pulumi.Input<string>;
/**
* Remote server to deploy on. Omit to use the Dokploy host itself.
*/
serverId?: pulumi.Input<string>;
/**
* Where the application's code or image comes from. Valid values: `docker`, `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `drop`.
*/
sourceType?: pulumi.Input<string>;
/**
* Grace period in nanoseconds before a container is killed.
*/
stopGracePeriodSwarm?: pulumi.Input<number>;
/**
* Display subtitle shown in the Dokploy UI.
*/
subtitle?: pulumi.Input<string>;
/**
* Display title shown in the Dokploy UI.
*/
title?: pulumi.Input<string>;
/**
* What triggers an automatic GitHub deployment. Valid values: `push`, `tag`.
*/
triggerType?: pulumi.Input<string>;
/**
* Docker Swarm ulimits, as a JSON object.
*/
ulimitsSwarm?: pulumi.Input<string>;
/**
* Docker Swarm rolling update configuration, as a JSON object.
*/
updateConfigSwarm?: pulumi.Input<string>;
/**
* Registry username, when pulling a private image.
*/
username?: pulumi.Input<string>;
/**
* Glob patterns that limit which changed paths trigger an automatic deployment.
*/
watchPaths?: pulumi.Input<pulumi.Input<string>[]>;
}