// *** 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, state?: ApplicationState, opts?: pulumi.CustomResourceOptions): Application { return new Application(name, 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; /** * Current status reported by Dokploy: `idle`, `running`, `done` or `error`. */ declare public /*out*/ readonly applicationStatus: pulumi.Output; /** * Arguments appended to the container command. */ declare public readonly args: pulumi.Output; /** * Deploy automatically when the configured trigger fires. */ declare public readonly autoDeploy: pulumi.Output; /** * Bitbucket branch to build. */ declare public readonly bitbucketBranch: pulumi.Output; /** * Path within the Bitbucket repository to build from. */ declare public readonly bitbucketBuildPath: pulumi.Output; /** * ID of the configured Bitbucket provider connection. */ declare public readonly bitbucketId: pulumi.Output; /** * Bitbucket repository owner. */ declare public readonly bitbucketOwner: pulumi.Output; /** * Bitbucket repository name. */ declare public readonly bitbucketRepository: pulumi.Output; /** * Bitbucket repository slug. */ declare public readonly bitbucketRepositorySlug: pulumi.Output; /** * GitHub branch to build. */ declare public readonly branch: pulumi.Output; /** * Docker build arguments in `KEY=value` format, one per line. */ declare public readonly buildArgs: pulumi.Output; /** * Path within the GitHub repository to build from. */ declare public readonly buildPath: pulumi.Output; /** * Registry used by a dedicated build server. */ declare public readonly buildRegistryId: pulumi.Output; /** * Docker build secrets in `KEY=value` format, one per line. */ declare public readonly buildSecrets: pulumi.Output; /** * Server that performs builds, when separate from the deploy server. */ declare public readonly buildServerId: pulumi.Output; /** * How the application is built. Valid values: `dockerfile`, `herokuBuildpacks`, `paketoBuildpacks`, `nixpacks`, `static`, `railpack`. */ declare public readonly buildType: pulumi.Output; /** * Discard the build cache on the next deployment. */ declare public readonly cleanCache: pulumi.Output; /** * Override the container entrypoint command. */ declare public readonly command: pulumi.Output; /** * Hard CPU limit, for example `1`. */ declare public readonly cpuLimit: pulumi.Output; /** * Soft CPU reservation, for example `0.5`. */ declare public readonly cpuReservation: pulumi.Output; /** * Write the environment variables to a `.env` file in the container. */ declare public readonly createEnvFile: pulumi.Output; /** * RFC 3339 timestamp of when the application was created. */ declare public /*out*/ readonly createdAt: pulumi.Output; /** * Branch to build for a custom Git remote. */ declare public readonly customGitBranch: pulumi.Output; /** * Path within a custom Git repository to build from. */ declare public readonly customGitBuildPath: pulumi.Output; /** * SSH key used to clone a private custom Git remote. */ declare public readonly customGitSshKeyId: pulumi.Output; /** * Git remote URL, when `sourceType` is `git`. */ declare public readonly customGitUrl: pulumi.Output; /** * Free-form description. */ declare public readonly description: pulumi.Output; /** * Detach the service from the shared `dokploy-network`. */ declare public readonly detachDokployNetwork: pulumi.Output; /** * Target stage for a multi-stage Docker build. */ declare public readonly dockerBuildStage: pulumi.Output; /** * Docker build context path. */ declare public readonly dockerContextPath: pulumi.Output; /** * Docker image reference, when `sourceType` is `docker`. */ declare public readonly dockerImage: pulumi.Output; /** * Path to the Dockerfile, when `buildType` is `dockerfile`. */ declare public readonly dockerfile: pulumi.Output; /** * Clone Git submodules when checking out the repository. */ declare public readonly enableSubmodules: pulumi.Output; /** * Whether the application is enabled. */ declare public readonly enabled: pulumi.Output; /** * Docker Swarm endpoint specification, as a JSON object. */ declare public readonly endpointSpecSwarm: pulumi.Output; /** * Runtime environment variables in `KEY=value` format, one per line. */ declare public readonly env: pulumi.Output; /** * Environment this application belongs to. */ declare public readonly environmentId: pulumi.Output; /** * Gitea branch to build. */ declare public readonly giteaBranch: pulumi.Output; /** * Path within the Gitea repository to build from. */ declare public readonly giteaBuildPath: pulumi.Output; /** * ID of the configured Gitea provider connection. */ declare public readonly giteaId: pulumi.Output; /** * Gitea repository owner. */ declare public readonly giteaOwner: pulumi.Output; /** * Gitea repository name. */ declare public readonly giteaRepository: pulumi.Output; /** * ID of the configured GitHub provider connection. */ declare public readonly githubId: pulumi.Output; /** * GitLab branch to build. */ declare public readonly gitlabBranch: pulumi.Output; /** * Path within the GitLab repository to build from. */ declare public readonly gitlabBuildPath: pulumi.Output; /** * ID of the configured GitLab provider connection. */ declare public readonly gitlabId: pulumi.Output; /** * GitLab repository owner. */ declare public readonly gitlabOwner: pulumi.Output; /** * Full GitLab namespace path. */ declare public readonly gitlabPathNamespace: pulumi.Output; /** * Numeric GitLab project ID. */ declare public readonly gitlabProjectId: pulumi.Output; /** * GitLab repository name. */ declare public readonly gitlabRepository: pulumi.Output; /** * Docker Swarm health check configuration, as a JSON object. */ declare public readonly healthCheckSwarm: pulumi.Output; /** * Heroku buildpack stack version. */ declare public readonly herokuVersion: pulumi.Output; /** * Build a preview deployment for each pull request. */ declare public readonly isPreviewDeploymentsActive: pulumi.Output; /** * Serve a static build as a single-page application. */ declare public readonly isStaticSpa: pulumi.Output; /** * Docker Swarm service labels, as a JSON object. */ declare public readonly labelsSwarm: pulumi.Output; /** * Hard memory limit, for example `512m`. */ declare public readonly memoryLimit: pulumi.Output; /** * Soft memory reservation, for example `256m`. */ declare public readonly memoryReservation: pulumi.Output; /** * Docker Swarm service mode, as a JSON object. */ declare public readonly modeSwarm: pulumi.Output; /** * Display name of the application. */ declare public readonly name: pulumi.Output; /** * IDs of additional Docker networks to attach. */ declare public readonly networkIds: pulumi.Output; /** * Docker Swarm network attachments, as a JSON array. */ declare public readonly networkSwarm: pulumi.Output; /** * GitHub repository owner. */ declare public readonly owner: pulumi.Output; /** * Registry password, when pulling a private image. */ declare public readonly password: pulumi.Output; /** * Docker Swarm placement constraints, as a JSON object. */ declare public readonly placementSwarm: pulumi.Output; /** * Build arguments applied to preview deployments. */ declare public readonly previewBuildArgs: pulumi.Output; /** * Build secrets applied to preview deployments. */ declare public readonly previewBuildSecrets: pulumi.Output; /** * Certificate strategy for preview deployments. Valid values: `letsencrypt`, `none`, `custom`. */ declare public readonly previewCertificateType: pulumi.Output; /** * Traefik certificate resolver for preview deployments. */ declare public readonly previewCustomCertResolver: pulumi.Output; /** * Environment variables applied to preview deployments. */ declare public readonly previewEnv: pulumi.Output; /** * Serve preview deployments over HTTPS. */ declare public readonly previewHttps: pulumi.Output; /** * Pull request labels that opt into preview deployments. */ declare public readonly previewLabels: pulumi.Output; /** * Maximum number of concurrent preview deployments. */ declare public readonly previewLimit: pulumi.Output; /** * Base path for preview deployments. */ declare public readonly previewPath: pulumi.Output; /** * Container port exposed by preview deployments. */ declare public readonly previewPort: pulumi.Output; /** * Wildcard domain used to expose preview deployments. */ declare public readonly previewWildcard: pulumi.Output; /** * Directory served when `buildType` is `static`. */ declare public readonly publishDirectory: pulumi.Output; /** * Railpack version. */ declare public readonly railpackVersion: pulumi.Output; /** * Registry used to push the built image. */ declare public readonly registryId: pulumi.Output; /** * Registry URL, when pulling a private image. */ declare public readonly registryUrl: pulumi.Output; /** * Number of replicas to run. */ declare public readonly replicas: pulumi.Output; /** * GitHub repository name. */ declare public readonly repository: pulumi.Output; /** * Docker Swarm restart policy, as a JSON object. */ declare public readonly restartPolicySwarm: pulumi.Output; /** * Keep previous images so deployments can be rolled back. */ declare public readonly rollbackActive: pulumi.Output; /** * Docker Swarm rollback configuration, as a JSON object. */ declare public readonly rollbackConfigSwarm: pulumi.Output; /** * Registry used to store rollback images. */ declare public readonly rollbackRegistryId: pulumi.Output; /** * Remote server to deploy on. Omit to use the Dokploy host itself. */ declare public readonly serverId: pulumi.Output; /** * Where the application's code or image comes from. Valid values: `docker`, `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `drop`. */ declare public readonly sourceType: pulumi.Output; /** * Grace period in nanoseconds before a container is killed. */ declare public readonly stopGracePeriodSwarm: pulumi.Output; /** * Display subtitle shown in the Dokploy UI. */ declare public readonly subtitle: pulumi.Output; /** * Display title shown in the Dokploy UI. */ declare public readonly title: pulumi.Output; /** * What triggers an automatic GitHub deployment. Valid values: `push`, `tag`. */ declare public readonly triggerType: pulumi.Output; /** * Docker Swarm ulimits, as a JSON object. */ declare public readonly ulimitsSwarm: pulumi.Output; /** * Docker Swarm rolling update configuration, as a JSON object. */ declare public readonly updateConfigSwarm: pulumi.Output; /** * Registry username, when pulling a private image. */ declare public readonly username: pulumi.Output; /** * Glob patterns that limit which changed paths trigger an automatic deployment. */ declare public readonly watchPaths: pulumi.Output; /** * 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; /** * Current status reported by Dokploy: `idle`, `running`, `done` or `error`. */ applicationStatus?: pulumi.Input; /** * Arguments appended to the container command. */ args?: pulumi.Input[]>; /** * Deploy automatically when the configured trigger fires. */ autoDeploy?: pulumi.Input; /** * Bitbucket branch to build. */ bitbucketBranch?: pulumi.Input; /** * Path within the Bitbucket repository to build from. */ bitbucketBuildPath?: pulumi.Input; /** * ID of the configured Bitbucket provider connection. */ bitbucketId?: pulumi.Input; /** * Bitbucket repository owner. */ bitbucketOwner?: pulumi.Input; /** * Bitbucket repository name. */ bitbucketRepository?: pulumi.Input; /** * Bitbucket repository slug. */ bitbucketRepositorySlug?: pulumi.Input; /** * GitHub branch to build. */ branch?: pulumi.Input; /** * Docker build arguments in `KEY=value` format, one per line. */ buildArgs?: pulumi.Input; /** * Path within the GitHub repository to build from. */ buildPath?: pulumi.Input; /** * Registry used by a dedicated build server. */ buildRegistryId?: pulumi.Input; /** * Docker build secrets in `KEY=value` format, one per line. */ buildSecrets?: pulumi.Input; /** * Server that performs builds, when separate from the deploy server. */ buildServerId?: pulumi.Input; /** * How the application is built. Valid values: `dockerfile`, `herokuBuildpacks`, `paketoBuildpacks`, `nixpacks`, `static`, `railpack`. */ buildType?: pulumi.Input; /** * Discard the build cache on the next deployment. */ cleanCache?: pulumi.Input; /** * Override the container entrypoint command. */ command?: pulumi.Input; /** * Hard CPU limit, for example `1`. */ cpuLimit?: pulumi.Input; /** * Soft CPU reservation, for example `0.5`. */ cpuReservation?: pulumi.Input; /** * Write the environment variables to a `.env` file in the container. */ createEnvFile?: pulumi.Input; /** * RFC 3339 timestamp of when the application was created. */ createdAt?: pulumi.Input; /** * Branch to build for a custom Git remote. */ customGitBranch?: pulumi.Input; /** * Path within a custom Git repository to build from. */ customGitBuildPath?: pulumi.Input; /** * SSH key used to clone a private custom Git remote. */ customGitSshKeyId?: pulumi.Input; /** * Git remote URL, when `sourceType` is `git`. */ customGitUrl?: pulumi.Input; /** * Free-form description. */ description?: pulumi.Input; /** * Detach the service from the shared `dokploy-network`. */ detachDokployNetwork?: pulumi.Input; /** * Target stage for a multi-stage Docker build. */ dockerBuildStage?: pulumi.Input; /** * Docker build context path. */ dockerContextPath?: pulumi.Input; /** * Docker image reference, when `sourceType` is `docker`. */ dockerImage?: pulumi.Input; /** * Path to the Dockerfile, when `buildType` is `dockerfile`. */ dockerfile?: pulumi.Input; /** * Clone Git submodules when checking out the repository. */ enableSubmodules?: pulumi.Input; /** * Whether the application is enabled. */ enabled?: pulumi.Input; /** * Docker Swarm endpoint specification, as a JSON object. */ endpointSpecSwarm?: pulumi.Input; /** * Runtime environment variables in `KEY=value` format, one per line. */ env?: pulumi.Input; /** * Environment this application belongs to. */ environmentId?: pulumi.Input; /** * Gitea branch to build. */ giteaBranch?: pulumi.Input; /** * Path within the Gitea repository to build from. */ giteaBuildPath?: pulumi.Input; /** * ID of the configured Gitea provider connection. */ giteaId?: pulumi.Input; /** * Gitea repository owner. */ giteaOwner?: pulumi.Input; /** * Gitea repository name. */ giteaRepository?: pulumi.Input; /** * ID of the configured GitHub provider connection. */ githubId?: pulumi.Input; /** * GitLab branch to build. */ gitlabBranch?: pulumi.Input; /** * Path within the GitLab repository to build from. */ gitlabBuildPath?: pulumi.Input; /** * ID of the configured GitLab provider connection. */ gitlabId?: pulumi.Input; /** * GitLab repository owner. */ gitlabOwner?: pulumi.Input; /** * Full GitLab namespace path. */ gitlabPathNamespace?: pulumi.Input; /** * Numeric GitLab project ID. */ gitlabProjectId?: pulumi.Input; /** * GitLab repository name. */ gitlabRepository?: pulumi.Input; /** * Docker Swarm health check configuration, as a JSON object. */ healthCheckSwarm?: pulumi.Input; /** * Heroku buildpack stack version. */ herokuVersion?: pulumi.Input; /** * Build a preview deployment for each pull request. */ isPreviewDeploymentsActive?: pulumi.Input; /** * Serve a static build as a single-page application. */ isStaticSpa?: pulumi.Input; /** * Docker Swarm service labels, as a JSON object. */ labelsSwarm?: pulumi.Input; /** * Hard memory limit, for example `512m`. */ memoryLimit?: pulumi.Input; /** * Soft memory reservation, for example `256m`. */ memoryReservation?: pulumi.Input; /** * Docker Swarm service mode, as a JSON object. */ modeSwarm?: pulumi.Input; /** * Display name of the application. */ name?: pulumi.Input; /** * IDs of additional Docker networks to attach. */ networkIds?: pulumi.Input[]>; /** * Docker Swarm network attachments, as a JSON array. */ networkSwarm?: pulumi.Input; /** * GitHub repository owner. */ owner?: pulumi.Input; /** * Registry password, when pulling a private image. */ password?: pulumi.Input; /** * Docker Swarm placement constraints, as a JSON object. */ placementSwarm?: pulumi.Input; /** * Build arguments applied to preview deployments. */ previewBuildArgs?: pulumi.Input; /** * Build secrets applied to preview deployments. */ previewBuildSecrets?: pulumi.Input; /** * Certificate strategy for preview deployments. Valid values: `letsencrypt`, `none`, `custom`. */ previewCertificateType?: pulumi.Input; /** * Traefik certificate resolver for preview deployments. */ previewCustomCertResolver?: pulumi.Input; /** * Environment variables applied to preview deployments. */ previewEnv?: pulumi.Input; /** * Serve preview deployments over HTTPS. */ previewHttps?: pulumi.Input; /** * Pull request labels that opt into preview deployments. */ previewLabels?: pulumi.Input[]>; /** * Maximum number of concurrent preview deployments. */ previewLimit?: pulumi.Input; /** * Base path for preview deployments. */ previewPath?: pulumi.Input; /** * Container port exposed by preview deployments. */ previewPort?: pulumi.Input; /** * Wildcard domain used to expose preview deployments. */ previewWildcard?: pulumi.Input; /** * Directory served when `buildType` is `static`. */ publishDirectory?: pulumi.Input; /** * Railpack version. */ railpackVersion?: pulumi.Input; /** * Registry used to push the built image. */ registryId?: pulumi.Input; /** * Registry URL, when pulling a private image. */ registryUrl?: pulumi.Input; /** * Number of replicas to run. */ replicas?: pulumi.Input; /** * GitHub repository name. */ repository?: pulumi.Input; /** * Docker Swarm restart policy, as a JSON object. */ restartPolicySwarm?: pulumi.Input; /** * Keep previous images so deployments can be rolled back. */ rollbackActive?: pulumi.Input; /** * Docker Swarm rollback configuration, as a JSON object. */ rollbackConfigSwarm?: pulumi.Input; /** * Registry used to store rollback images. */ rollbackRegistryId?: pulumi.Input; /** * Remote server to deploy on. Omit to use the Dokploy host itself. */ serverId?: pulumi.Input; /** * Where the application's code or image comes from. Valid values: `docker`, `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `drop`. */ sourceType?: pulumi.Input; /** * Grace period in nanoseconds before a container is killed. */ stopGracePeriodSwarm?: pulumi.Input; /** * Display subtitle shown in the Dokploy UI. */ subtitle?: pulumi.Input; /** * Display title shown in the Dokploy UI. */ title?: pulumi.Input; /** * What triggers an automatic GitHub deployment. Valid values: `push`, `tag`. */ triggerType?: pulumi.Input; /** * Docker Swarm ulimits, as a JSON object. */ ulimitsSwarm?: pulumi.Input; /** * Docker Swarm rolling update configuration, as a JSON object. */ updateConfigSwarm?: pulumi.Input; /** * Registry username, when pulling a private image. */ username?: pulumi.Input; /** * Glob patterns that limit which changed paths trigger an automatic deployment. */ watchPaths?: pulumi.Input[]>; } /** * 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; /** * Arguments appended to the container command. */ args?: pulumi.Input[]>; /** * Deploy automatically when the configured trigger fires. */ autoDeploy?: pulumi.Input; /** * Bitbucket branch to build. */ bitbucketBranch?: pulumi.Input; /** * Path within the Bitbucket repository to build from. */ bitbucketBuildPath?: pulumi.Input; /** * ID of the configured Bitbucket provider connection. */ bitbucketId?: pulumi.Input; /** * Bitbucket repository owner. */ bitbucketOwner?: pulumi.Input; /** * Bitbucket repository name. */ bitbucketRepository?: pulumi.Input; /** * Bitbucket repository slug. */ bitbucketRepositorySlug?: pulumi.Input; /** * GitHub branch to build. */ branch?: pulumi.Input; /** * Docker build arguments in `KEY=value` format, one per line. */ buildArgs?: pulumi.Input; /** * Path within the GitHub repository to build from. */ buildPath?: pulumi.Input; /** * Registry used by a dedicated build server. */ buildRegistryId?: pulumi.Input; /** * Docker build secrets in `KEY=value` format, one per line. */ buildSecrets?: pulumi.Input; /** * Server that performs builds, when separate from the deploy server. */ buildServerId?: pulumi.Input; /** * How the application is built. Valid values: `dockerfile`, `herokuBuildpacks`, `paketoBuildpacks`, `nixpacks`, `static`, `railpack`. */ buildType?: pulumi.Input; /** * Discard the build cache on the next deployment. */ cleanCache?: pulumi.Input; /** * Override the container entrypoint command. */ command?: pulumi.Input; /** * Hard CPU limit, for example `1`. */ cpuLimit?: pulumi.Input; /** * Soft CPU reservation, for example `0.5`. */ cpuReservation?: pulumi.Input; /** * Write the environment variables to a `.env` file in the container. */ createEnvFile?: pulumi.Input; /** * Branch to build for a custom Git remote. */ customGitBranch?: pulumi.Input; /** * Path within a custom Git repository to build from. */ customGitBuildPath?: pulumi.Input; /** * SSH key used to clone a private custom Git remote. */ customGitSshKeyId?: pulumi.Input; /** * Git remote URL, when `sourceType` is `git`. */ customGitUrl?: pulumi.Input; /** * Free-form description. */ description?: pulumi.Input; /** * Detach the service from the shared `dokploy-network`. */ detachDokployNetwork?: pulumi.Input; /** * Target stage for a multi-stage Docker build. */ dockerBuildStage?: pulumi.Input; /** * Docker build context path. */ dockerContextPath?: pulumi.Input; /** * Docker image reference, when `sourceType` is `docker`. */ dockerImage?: pulumi.Input; /** * Path to the Dockerfile, when `buildType` is `dockerfile`. */ dockerfile?: pulumi.Input; /** * Clone Git submodules when checking out the repository. */ enableSubmodules?: pulumi.Input; /** * Whether the application is enabled. */ enabled?: pulumi.Input; /** * Docker Swarm endpoint specification, as a JSON object. */ endpointSpecSwarm?: pulumi.Input; /** * Runtime environment variables in `KEY=value` format, one per line. */ env?: pulumi.Input; /** * Environment this application belongs to. */ environmentId: pulumi.Input; /** * Gitea branch to build. */ giteaBranch?: pulumi.Input; /** * Path within the Gitea repository to build from. */ giteaBuildPath?: pulumi.Input; /** * ID of the configured Gitea provider connection. */ giteaId?: pulumi.Input; /** * Gitea repository owner. */ giteaOwner?: pulumi.Input; /** * Gitea repository name. */ giteaRepository?: pulumi.Input; /** * ID of the configured GitHub provider connection. */ githubId?: pulumi.Input; /** * GitLab branch to build. */ gitlabBranch?: pulumi.Input; /** * Path within the GitLab repository to build from. */ gitlabBuildPath?: pulumi.Input; /** * ID of the configured GitLab provider connection. */ gitlabId?: pulumi.Input; /** * GitLab repository owner. */ gitlabOwner?: pulumi.Input; /** * Full GitLab namespace path. */ gitlabPathNamespace?: pulumi.Input; /** * Numeric GitLab project ID. */ gitlabProjectId?: pulumi.Input; /** * GitLab repository name. */ gitlabRepository?: pulumi.Input; /** * Docker Swarm health check configuration, as a JSON object. */ healthCheckSwarm?: pulumi.Input; /** * Heroku buildpack stack version. */ herokuVersion?: pulumi.Input; /** * Build a preview deployment for each pull request. */ isPreviewDeploymentsActive?: pulumi.Input; /** * Serve a static build as a single-page application. */ isStaticSpa?: pulumi.Input; /** * Docker Swarm service labels, as a JSON object. */ labelsSwarm?: pulumi.Input; /** * Hard memory limit, for example `512m`. */ memoryLimit?: pulumi.Input; /** * Soft memory reservation, for example `256m`. */ memoryReservation?: pulumi.Input; /** * Docker Swarm service mode, as a JSON object. */ modeSwarm?: pulumi.Input; /** * Display name of the application. */ name?: pulumi.Input; /** * IDs of additional Docker networks to attach. */ networkIds?: pulumi.Input[]>; /** * Docker Swarm network attachments, as a JSON array. */ networkSwarm?: pulumi.Input; /** * GitHub repository owner. */ owner?: pulumi.Input; /** * Registry password, when pulling a private image. */ password?: pulumi.Input; /** * Docker Swarm placement constraints, as a JSON object. */ placementSwarm?: pulumi.Input; /** * Build arguments applied to preview deployments. */ previewBuildArgs?: pulumi.Input; /** * Build secrets applied to preview deployments. */ previewBuildSecrets?: pulumi.Input; /** * Certificate strategy for preview deployments. Valid values: `letsencrypt`, `none`, `custom`. */ previewCertificateType?: pulumi.Input; /** * Traefik certificate resolver for preview deployments. */ previewCustomCertResolver?: pulumi.Input; /** * Environment variables applied to preview deployments. */ previewEnv?: pulumi.Input; /** * Serve preview deployments over HTTPS. */ previewHttps?: pulumi.Input; /** * Pull request labels that opt into preview deployments. */ previewLabels?: pulumi.Input[]>; /** * Maximum number of concurrent preview deployments. */ previewLimit?: pulumi.Input; /** * Base path for preview deployments. */ previewPath?: pulumi.Input; /** * Container port exposed by preview deployments. */ previewPort?: pulumi.Input; /** * Wildcard domain used to expose preview deployments. */ previewWildcard?: pulumi.Input; /** * Directory served when `buildType` is `static`. */ publishDirectory?: pulumi.Input; /** * Railpack version. */ railpackVersion?: pulumi.Input; /** * Registry used to push the built image. */ registryId?: pulumi.Input; /** * Registry URL, when pulling a private image. */ registryUrl?: pulumi.Input; /** * Number of replicas to run. */ replicas?: pulumi.Input; /** * GitHub repository name. */ repository?: pulumi.Input; /** * Docker Swarm restart policy, as a JSON object. */ restartPolicySwarm?: pulumi.Input; /** * Keep previous images so deployments can be rolled back. */ rollbackActive?: pulumi.Input; /** * Docker Swarm rollback configuration, as a JSON object. */ rollbackConfigSwarm?: pulumi.Input; /** * Registry used to store rollback images. */ rollbackRegistryId?: pulumi.Input; /** * Remote server to deploy on. Omit to use the Dokploy host itself. */ serverId?: pulumi.Input; /** * Where the application's code or image comes from. Valid values: `docker`, `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `drop`. */ sourceType?: pulumi.Input; /** * Grace period in nanoseconds before a container is killed. */ stopGracePeriodSwarm?: pulumi.Input; /** * Display subtitle shown in the Dokploy UI. */ subtitle?: pulumi.Input; /** * Display title shown in the Dokploy UI. */ title?: pulumi.Input; /** * What triggers an automatic GitHub deployment. Valid values: `push`, `tag`. */ triggerType?: pulumi.Input; /** * Docker Swarm ulimits, as a JSON object. */ ulimitsSwarm?: pulumi.Input; /** * Docker Swarm rolling update configuration, as a JSON object. */ updateConfigSwarm?: pulumi.Input; /** * Registry username, when pulling a private image. */ username?: pulumi.Input; /** * Glob patterns that limit which changed paths trigger an automatic deployment. */ watchPaths?: pulumi.Input[]>; }