Six new resources from terraform-provider-dokploy v0.2.0 -- Network, DnsProvider, VaultProvider, Schedule, VolumeBackup and Libsql -- plus the new properties on Domain (`enabled`), Compose (`serviceNetworks`, `createEnvFile`, `icon`) and Application. Verified with `pulumi up` against a live v0.30.2 instance: create, preview-clean, and destroy. The upstream provider also now refuses a volume Mount with no `volumeName`, which Dokploy would otherwise turn into an anonymous Docker volume recreated on every deploy. That surfaces here at preview time, before anything exists. Two things made that fix nearly invisible to Pulumi users, so this commit fixes the second one: the bridge resolves the upstream `docs/` through the Go module cache, where a locally `replace`d dependency never lands, so tfgen was emitting every resource with no description at all. UpstreamRepoPath now points at the checkout and all 445 inputs carry documentation -- with names rendered per language, so Python readers see `volume_name` where TypeScript readers see `volumeName`.
930 lines
31 KiB
C#
Generated
930 lines
31 KiB
C#
Generated
// *** WARNING: this file was generated by pulumi-language-dotnet. ***
|
|
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Collections.Immutable;
|
|
using System.Threading.Tasks;
|
|
using Pulumi.Serialization;
|
|
using Pulumi;
|
|
|
|
namespace Maxvojtkov.Dokploy
|
|
{
|
|
/// <summary>
|
|
/// A Docker Compose or Docker Swarm stack managed by Dokploy.
|
|
///
|
|
/// Set `ComposeFile` to manage the stack definition inline (with `SourceType = "raw"`), or point the stack at a Git repository and set `ComposePath`.
|
|
///
|
|
/// > Creating this resource does **not** deploy the stack.
|
|
/// </summary>
|
|
[DokployResourceType("dokploy:index/compose:Compose")]
|
|
public partial class Compose : global::Pulumi.CustomResource
|
|
{
|
|
/// <summary>
|
|
/// Unique Docker stack name. Generated by Dokploy when omitted. Changing it forces a new stack.
|
|
/// </summary>
|
|
[Output("appName")]
|
|
public Output<string> AppName { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Deploy automatically when the configured trigger fires.
|
|
/// </summary>
|
|
[Output("autoDeploy")]
|
|
public Output<bool> AutoDeploy { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Bitbucket branch to deploy.
|
|
/// </summary>
|
|
[Output("bitbucketBranch")]
|
|
public Output<string?> BitbucketBranch { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// ID of the configured Bitbucket provider connection.
|
|
/// </summary>
|
|
[Output("bitbucketId")]
|
|
public Output<string?> BitbucketId { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Bitbucket repository owner.
|
|
/// </summary>
|
|
[Output("bitbucketOwner")]
|
|
public Output<string?> BitbucketOwner { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Bitbucket repository name.
|
|
/// </summary>
|
|
[Output("bitbucketRepository")]
|
|
public Output<string?> BitbucketRepository { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Bitbucket repository slug.
|
|
/// </summary>
|
|
[Output("bitbucketRepositorySlug")]
|
|
public Output<string?> BitbucketRepositorySlug { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// GitHub branch to deploy.
|
|
/// </summary>
|
|
[Output("branch")]
|
|
public Output<string?> Branch { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Custom `docker compose` command to run.
|
|
/// </summary>
|
|
[Output("command")]
|
|
public Output<string> Command { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Inline Compose file contents. Used when `SourceType` is `Raw`.
|
|
/// </summary>
|
|
[Output("composeFile")]
|
|
public Output<string> ComposeFile { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Path to the Compose file within the repository.
|
|
/// </summary>
|
|
[Output("composePath")]
|
|
public Output<string> ComposePath { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Current status reported by Dokploy: `Idle`, `Running`, `Done` or `Error`.
|
|
/// </summary>
|
|
[Output("composeStatus")]
|
|
public Output<string> ComposeStatus { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Whether to run the stack with Docker Compose or Docker Swarm. Valid values: `docker-compose`, `Stack`.
|
|
/// </summary>
|
|
[Output("composeType")]
|
|
public Output<string> ComposeType { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Write the environment variables to a `.env` file next to the Compose file.
|
|
/// </summary>
|
|
[Output("createEnvFile")]
|
|
public Output<bool> CreateEnvFile { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// RFC 3339 timestamp of when the stack was created.
|
|
/// </summary>
|
|
[Output("createdAt")]
|
|
public Output<string> CreatedAt { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Branch to deploy for a custom Git remote.
|
|
/// </summary>
|
|
[Output("customGitBranch")]
|
|
public Output<string?> CustomGitBranch { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// SSH key used to clone a private custom Git remote.
|
|
/// </summary>
|
|
[Output("customGitSshKeyId")]
|
|
public Output<string?> CustomGitSshKeyId { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Git remote URL, when `SourceType` is `Git`.
|
|
/// </summary>
|
|
[Output("customGitUrl")]
|
|
public Output<string?> CustomGitUrl { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Whether to delete the stack's Docker volumes when this resource is destroyed. Defaults to `False`, which preserves the data.
|
|
/// </summary>
|
|
[Output("deleteVolumes")]
|
|
public Output<bool?> DeleteVolumes { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Free-form description.
|
|
/// </summary>
|
|
[Output("description")]
|
|
public Output<string?> Description { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Clone Git submodules when checking out the repository.
|
|
/// </summary>
|
|
[Output("enableSubmodules")]
|
|
public Output<bool> EnableSubmodules { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Environment variables in `KEY=value` format, one per line.
|
|
/// </summary>
|
|
[Output("env")]
|
|
public Output<string?> Env { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Environment this stack belongs to.
|
|
/// </summary>
|
|
[Output("environmentId")]
|
|
public Output<string> EnvironmentId { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Gitea branch to deploy.
|
|
/// </summary>
|
|
[Output("giteaBranch")]
|
|
public Output<string?> GiteaBranch { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// ID of the configured Gitea provider connection.
|
|
/// </summary>
|
|
[Output("giteaId")]
|
|
public Output<string?> GiteaId { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Gitea repository owner.
|
|
/// </summary>
|
|
[Output("giteaOwner")]
|
|
public Output<string?> GiteaOwner { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Gitea repository name.
|
|
/// </summary>
|
|
[Output("giteaRepository")]
|
|
public Output<string?> GiteaRepository { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// ID of the configured GitHub provider connection.
|
|
/// </summary>
|
|
[Output("githubId")]
|
|
public Output<string?> GithubId { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// GitLab branch to deploy.
|
|
/// </summary>
|
|
[Output("gitlabBranch")]
|
|
public Output<string?> GitlabBranch { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// ID of the configured GitLab provider connection.
|
|
/// </summary>
|
|
[Output("gitlabId")]
|
|
public Output<string?> GitlabId { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// GitLab repository owner.
|
|
/// </summary>
|
|
[Output("gitlabOwner")]
|
|
public Output<string?> GitlabOwner { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Full GitLab namespace path.
|
|
/// </summary>
|
|
[Output("gitlabPathNamespace")]
|
|
public Output<string?> GitlabPathNamespace { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Numeric GitLab project ID.
|
|
/// </summary>
|
|
[Output("gitlabProjectId")]
|
|
public Output<int?> GitlabProjectId { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// GitLab repository name.
|
|
/// </summary>
|
|
[Output("gitlabRepository")]
|
|
public Output<string?> GitlabRepository { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Icon shown next to the stack in the Dokploy UI.
|
|
/// </summary>
|
|
[Output("icon")]
|
|
public Output<string?> Icon { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Run the stack on its own isolated Docker network.
|
|
/// </summary>
|
|
[Output("isolatedDeployment")]
|
|
public Output<bool> IsolatedDeployment { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Prefix volume names for isolated deployments. Retained for backwards compatibility.
|
|
/// </summary>
|
|
[Output("isolatedDeploymentsVolume")]
|
|
public Output<bool> IsolatedDeploymentsVolume { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Display name of the stack.
|
|
/// </summary>
|
|
[Output("name")]
|
|
public Output<string> Name { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// GitHub repository owner.
|
|
/// </summary>
|
|
[Output("owner")]
|
|
public Output<string?> Owner { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Append a random suffix to service and volume names.
|
|
/// </summary>
|
|
[Output("randomize")]
|
|
public Output<bool> Randomize { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// GitHub repository name.
|
|
/// </summary>
|
|
[Output("repository")]
|
|
public Output<string?> Repository { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Remote server to deploy on. Omit to use the Dokploy host itself.
|
|
/// </summary>
|
|
[Output("serverId")]
|
|
public Output<string?> ServerId { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Per-service Docker network attachments, as a JSON object mapping each service name in the stack to an array of network IDs.
|
|
/// </summary>
|
|
[Output("serviceNetworks")]
|
|
public Output<string?> ServiceNetworks { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Where the Compose file comes from. Valid values: `Git`, `Github`, `Gitlab`, `Bitbucket`, `Gitea`, `Raw`.
|
|
/// </summary>
|
|
[Output("sourceType")]
|
|
public Output<string> SourceType { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Suffix appended to generated resource names.
|
|
/// </summary>
|
|
[Output("suffix")]
|
|
public Output<string> Suffix { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// What triggers an automatic deployment. Valid values: `Push`, `Tag`.
|
|
/// </summary>
|
|
[Output("triggerType")]
|
|
public Output<string> TriggerType { get; private set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Glob patterns that limit which changed paths trigger an automatic deployment.
|
|
/// </summary>
|
|
[Output("watchPaths")]
|
|
public Output<ImmutableArray<string>> WatchPaths { get; private set; } = null!;
|
|
|
|
|
|
/// <summary>
|
|
/// Create a Compose resource with the given unique name, arguments, and options.
|
|
/// </summary>
|
|
///
|
|
/// <param name="name">The unique name of the resource</param>
|
|
/// <param name="args">The arguments used to populate this resource's properties</param>
|
|
/// <param name="options">A bag of options that control this resource's behavior</param>
|
|
public Compose(string name, ComposeArgs args, CustomResourceOptions? options = null)
|
|
: base("dokploy:index/compose:Compose", name, args ?? new ComposeArgs(), MakeResourceOptions(options, ""))
|
|
{
|
|
}
|
|
|
|
private Compose(string name, Input<string> id, ComposeState? state = null, CustomResourceOptions? options = null)
|
|
: base("dokploy:index/compose:Compose", name, state, MakeResourceOptions(options, id))
|
|
{
|
|
}
|
|
|
|
private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input<string>? id)
|
|
{
|
|
var defaultOptions = new CustomResourceOptions
|
|
{
|
|
Version = Utilities.Version,
|
|
PluginDownloadURL = "https://gitea.coolify.vojtkov.dev/usr_unknown/pulumi-dokploy/releases/download/v${VERSION}",
|
|
};
|
|
var merged = CustomResourceOptions.Merge(defaultOptions, options);
|
|
// Override the ID if one was specified for consistency with other language SDKs.
|
|
merged.Id = id ?? merged.Id;
|
|
return merged;
|
|
}
|
|
/// <summary>
|
|
/// Get an existing Compose resource's state with the given name, ID, and optional extra
|
|
/// properties used to qualify the lookup.
|
|
/// </summary>
|
|
///
|
|
/// <param name="name">The unique name of the resulting resource.</param>
|
|
/// <param name="id">The unique provider ID of the resource to lookup.</param>
|
|
/// <param name="state">Any extra arguments used during the lookup.</param>
|
|
/// <param name="options">A bag of options that control this resource's behavior</param>
|
|
public static Compose Get(string name, Input<string> id, ComposeState? state = null, CustomResourceOptions? options = null)
|
|
{
|
|
return new Compose(name, id, state, options);
|
|
}
|
|
}
|
|
|
|
public sealed class ComposeArgs : global::Pulumi.ResourceArgs
|
|
{
|
|
/// <summary>
|
|
/// Unique Docker stack name. Generated by Dokploy when omitted. Changing it forces a new stack.
|
|
/// </summary>
|
|
[Input("appName")]
|
|
public Input<string>? AppName { get; set; }
|
|
|
|
/// <summary>
|
|
/// Deploy automatically when the configured trigger fires.
|
|
/// </summary>
|
|
[Input("autoDeploy")]
|
|
public Input<bool>? AutoDeploy { get; set; }
|
|
|
|
/// <summary>
|
|
/// Bitbucket branch to deploy.
|
|
/// </summary>
|
|
[Input("bitbucketBranch")]
|
|
public Input<string>? BitbucketBranch { get; set; }
|
|
|
|
/// <summary>
|
|
/// ID of the configured Bitbucket provider connection.
|
|
/// </summary>
|
|
[Input("bitbucketId")]
|
|
public Input<string>? BitbucketId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Bitbucket repository owner.
|
|
/// </summary>
|
|
[Input("bitbucketOwner")]
|
|
public Input<string>? BitbucketOwner { get; set; }
|
|
|
|
/// <summary>
|
|
/// Bitbucket repository name.
|
|
/// </summary>
|
|
[Input("bitbucketRepository")]
|
|
public Input<string>? BitbucketRepository { get; set; }
|
|
|
|
/// <summary>
|
|
/// Bitbucket repository slug.
|
|
/// </summary>
|
|
[Input("bitbucketRepositorySlug")]
|
|
public Input<string>? BitbucketRepositorySlug { get; set; }
|
|
|
|
/// <summary>
|
|
/// GitHub branch to deploy.
|
|
/// </summary>
|
|
[Input("branch")]
|
|
public Input<string>? Branch { get; set; }
|
|
|
|
/// <summary>
|
|
/// Custom `docker compose` command to run.
|
|
/// </summary>
|
|
[Input("command")]
|
|
public Input<string>? Command { get; set; }
|
|
|
|
/// <summary>
|
|
/// Inline Compose file contents. Used when `SourceType` is `Raw`.
|
|
/// </summary>
|
|
[Input("composeFile")]
|
|
public Input<string>? ComposeFile { get; set; }
|
|
|
|
/// <summary>
|
|
/// Path to the Compose file within the repository.
|
|
/// </summary>
|
|
[Input("composePath")]
|
|
public Input<string>? ComposePath { get; set; }
|
|
|
|
/// <summary>
|
|
/// Whether to run the stack with Docker Compose or Docker Swarm. Valid values: `docker-compose`, `Stack`.
|
|
/// </summary>
|
|
[Input("composeType")]
|
|
public Input<string>? ComposeType { get; set; }
|
|
|
|
/// <summary>
|
|
/// Write the environment variables to a `.env` file next to the Compose file.
|
|
/// </summary>
|
|
[Input("createEnvFile")]
|
|
public Input<bool>? CreateEnvFile { get; set; }
|
|
|
|
/// <summary>
|
|
/// Branch to deploy for a custom Git remote.
|
|
/// </summary>
|
|
[Input("customGitBranch")]
|
|
public Input<string>? CustomGitBranch { get; set; }
|
|
|
|
/// <summary>
|
|
/// SSH key used to clone a private custom Git remote.
|
|
/// </summary>
|
|
[Input("customGitSshKeyId")]
|
|
public Input<string>? CustomGitSshKeyId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Git remote URL, when `SourceType` is `Git`.
|
|
/// </summary>
|
|
[Input("customGitUrl")]
|
|
public Input<string>? CustomGitUrl { get; set; }
|
|
|
|
/// <summary>
|
|
/// Whether to delete the stack's Docker volumes when this resource is destroyed. Defaults to `False`, which preserves the data.
|
|
/// </summary>
|
|
[Input("deleteVolumes")]
|
|
public Input<bool>? DeleteVolumes { get; set; }
|
|
|
|
/// <summary>
|
|
/// Free-form description.
|
|
/// </summary>
|
|
[Input("description")]
|
|
public Input<string>? Description { get; set; }
|
|
|
|
/// <summary>
|
|
/// Clone Git submodules when checking out the repository.
|
|
/// </summary>
|
|
[Input("enableSubmodules")]
|
|
public Input<bool>? EnableSubmodules { get; set; }
|
|
|
|
/// <summary>
|
|
/// Environment variables in `KEY=value` format, one per line.
|
|
/// </summary>
|
|
[Input("env")]
|
|
public Input<string>? Env { get; set; }
|
|
|
|
/// <summary>
|
|
/// Environment this stack belongs to.
|
|
/// </summary>
|
|
[Input("environmentId", required: true)]
|
|
public Input<string> EnvironmentId { get; set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Gitea branch to deploy.
|
|
/// </summary>
|
|
[Input("giteaBranch")]
|
|
public Input<string>? GiteaBranch { get; set; }
|
|
|
|
/// <summary>
|
|
/// ID of the configured Gitea provider connection.
|
|
/// </summary>
|
|
[Input("giteaId")]
|
|
public Input<string>? GiteaId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gitea repository owner.
|
|
/// </summary>
|
|
[Input("giteaOwner")]
|
|
public Input<string>? GiteaOwner { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gitea repository name.
|
|
/// </summary>
|
|
[Input("giteaRepository")]
|
|
public Input<string>? GiteaRepository { get; set; }
|
|
|
|
/// <summary>
|
|
/// ID of the configured GitHub provider connection.
|
|
/// </summary>
|
|
[Input("githubId")]
|
|
public Input<string>? GithubId { get; set; }
|
|
|
|
/// <summary>
|
|
/// GitLab branch to deploy.
|
|
/// </summary>
|
|
[Input("gitlabBranch")]
|
|
public Input<string>? GitlabBranch { get; set; }
|
|
|
|
/// <summary>
|
|
/// ID of the configured GitLab provider connection.
|
|
/// </summary>
|
|
[Input("gitlabId")]
|
|
public Input<string>? GitlabId { get; set; }
|
|
|
|
/// <summary>
|
|
/// GitLab repository owner.
|
|
/// </summary>
|
|
[Input("gitlabOwner")]
|
|
public Input<string>? GitlabOwner { get; set; }
|
|
|
|
/// <summary>
|
|
/// Full GitLab namespace path.
|
|
/// </summary>
|
|
[Input("gitlabPathNamespace")]
|
|
public Input<string>? GitlabPathNamespace { get; set; }
|
|
|
|
/// <summary>
|
|
/// Numeric GitLab project ID.
|
|
/// </summary>
|
|
[Input("gitlabProjectId")]
|
|
public Input<int>? GitlabProjectId { get; set; }
|
|
|
|
/// <summary>
|
|
/// GitLab repository name.
|
|
/// </summary>
|
|
[Input("gitlabRepository")]
|
|
public Input<string>? GitlabRepository { get; set; }
|
|
|
|
/// <summary>
|
|
/// Icon shown next to the stack in the Dokploy UI.
|
|
/// </summary>
|
|
[Input("icon")]
|
|
public Input<string>? Icon { get; set; }
|
|
|
|
/// <summary>
|
|
/// Run the stack on its own isolated Docker network.
|
|
/// </summary>
|
|
[Input("isolatedDeployment")]
|
|
public Input<bool>? IsolatedDeployment { get; set; }
|
|
|
|
/// <summary>
|
|
/// Prefix volume names for isolated deployments. Retained for backwards compatibility.
|
|
/// </summary>
|
|
[Input("isolatedDeploymentsVolume")]
|
|
public Input<bool>? IsolatedDeploymentsVolume { get; set; }
|
|
|
|
/// <summary>
|
|
/// Display name of the stack.
|
|
/// </summary>
|
|
[Input("name")]
|
|
public Input<string>? Name { get; set; }
|
|
|
|
/// <summary>
|
|
/// GitHub repository owner.
|
|
/// </summary>
|
|
[Input("owner")]
|
|
public Input<string>? Owner { get; set; }
|
|
|
|
/// <summary>
|
|
/// Append a random suffix to service and volume names.
|
|
/// </summary>
|
|
[Input("randomize")]
|
|
public Input<bool>? Randomize { get; set; }
|
|
|
|
/// <summary>
|
|
/// GitHub repository name.
|
|
/// </summary>
|
|
[Input("repository")]
|
|
public Input<string>? Repository { get; set; }
|
|
|
|
/// <summary>
|
|
/// Remote server to deploy on. Omit to use the Dokploy host itself.
|
|
/// </summary>
|
|
[Input("serverId")]
|
|
public Input<string>? ServerId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Per-service Docker network attachments, as a JSON object mapping each service name in the stack to an array of network IDs.
|
|
/// </summary>
|
|
[Input("serviceNetworks")]
|
|
public Input<string>? ServiceNetworks { get; set; }
|
|
|
|
/// <summary>
|
|
/// Where the Compose file comes from. Valid values: `Git`, `Github`, `Gitlab`, `Bitbucket`, `Gitea`, `Raw`.
|
|
/// </summary>
|
|
[Input("sourceType")]
|
|
public Input<string>? SourceType { get; set; }
|
|
|
|
/// <summary>
|
|
/// Suffix appended to generated resource names.
|
|
/// </summary>
|
|
[Input("suffix")]
|
|
public Input<string>? Suffix { get; set; }
|
|
|
|
/// <summary>
|
|
/// What triggers an automatic deployment. Valid values: `Push`, `Tag`.
|
|
/// </summary>
|
|
[Input("triggerType")]
|
|
public Input<string>? TriggerType { get; set; }
|
|
|
|
[Input("watchPaths")]
|
|
private InputList<string>? _watchPaths;
|
|
|
|
/// <summary>
|
|
/// Glob patterns that limit which changed paths trigger an automatic deployment.
|
|
/// </summary>
|
|
public InputList<string> WatchPaths
|
|
{
|
|
get => _watchPaths ?? (_watchPaths = new InputList<string>());
|
|
set => _watchPaths = value;
|
|
}
|
|
|
|
public ComposeArgs()
|
|
{
|
|
}
|
|
public static new ComposeArgs Empty => new ComposeArgs();
|
|
}
|
|
|
|
public sealed class ComposeState : global::Pulumi.ResourceArgs
|
|
{
|
|
/// <summary>
|
|
/// Unique Docker stack name. Generated by Dokploy when omitted. Changing it forces a new stack.
|
|
/// </summary>
|
|
[Input("appName")]
|
|
public Input<string>? AppName { get; set; }
|
|
|
|
/// <summary>
|
|
/// Deploy automatically when the configured trigger fires.
|
|
/// </summary>
|
|
[Input("autoDeploy")]
|
|
public Input<bool>? AutoDeploy { get; set; }
|
|
|
|
/// <summary>
|
|
/// Bitbucket branch to deploy.
|
|
/// </summary>
|
|
[Input("bitbucketBranch")]
|
|
public Input<string>? BitbucketBranch { get; set; }
|
|
|
|
/// <summary>
|
|
/// ID of the configured Bitbucket provider connection.
|
|
/// </summary>
|
|
[Input("bitbucketId")]
|
|
public Input<string>? BitbucketId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Bitbucket repository owner.
|
|
/// </summary>
|
|
[Input("bitbucketOwner")]
|
|
public Input<string>? BitbucketOwner { get; set; }
|
|
|
|
/// <summary>
|
|
/// Bitbucket repository name.
|
|
/// </summary>
|
|
[Input("bitbucketRepository")]
|
|
public Input<string>? BitbucketRepository { get; set; }
|
|
|
|
/// <summary>
|
|
/// Bitbucket repository slug.
|
|
/// </summary>
|
|
[Input("bitbucketRepositorySlug")]
|
|
public Input<string>? BitbucketRepositorySlug { get; set; }
|
|
|
|
/// <summary>
|
|
/// GitHub branch to deploy.
|
|
/// </summary>
|
|
[Input("branch")]
|
|
public Input<string>? Branch { get; set; }
|
|
|
|
/// <summary>
|
|
/// Custom `docker compose` command to run.
|
|
/// </summary>
|
|
[Input("command")]
|
|
public Input<string>? Command { get; set; }
|
|
|
|
/// <summary>
|
|
/// Inline Compose file contents. Used when `SourceType` is `Raw`.
|
|
/// </summary>
|
|
[Input("composeFile")]
|
|
public Input<string>? ComposeFile { get; set; }
|
|
|
|
/// <summary>
|
|
/// Path to the Compose file within the repository.
|
|
/// </summary>
|
|
[Input("composePath")]
|
|
public Input<string>? ComposePath { get; set; }
|
|
|
|
/// <summary>
|
|
/// Current status reported by Dokploy: `Idle`, `Running`, `Done` or `Error`.
|
|
/// </summary>
|
|
[Input("composeStatus")]
|
|
public Input<string>? ComposeStatus { get; set; }
|
|
|
|
/// <summary>
|
|
/// Whether to run the stack with Docker Compose or Docker Swarm. Valid values: `docker-compose`, `Stack`.
|
|
/// </summary>
|
|
[Input("composeType")]
|
|
public Input<string>? ComposeType { get; set; }
|
|
|
|
/// <summary>
|
|
/// Write the environment variables to a `.env` file next to the Compose file.
|
|
/// </summary>
|
|
[Input("createEnvFile")]
|
|
public Input<bool>? CreateEnvFile { get; set; }
|
|
|
|
/// <summary>
|
|
/// RFC 3339 timestamp of when the stack was created.
|
|
/// </summary>
|
|
[Input("createdAt")]
|
|
public Input<string>? CreatedAt { get; set; }
|
|
|
|
/// <summary>
|
|
/// Branch to deploy for a custom Git remote.
|
|
/// </summary>
|
|
[Input("customGitBranch")]
|
|
public Input<string>? CustomGitBranch { get; set; }
|
|
|
|
/// <summary>
|
|
/// SSH key used to clone a private custom Git remote.
|
|
/// </summary>
|
|
[Input("customGitSshKeyId")]
|
|
public Input<string>? CustomGitSshKeyId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Git remote URL, when `SourceType` is `Git`.
|
|
/// </summary>
|
|
[Input("customGitUrl")]
|
|
public Input<string>? CustomGitUrl { get; set; }
|
|
|
|
/// <summary>
|
|
/// Whether to delete the stack's Docker volumes when this resource is destroyed. Defaults to `False`, which preserves the data.
|
|
/// </summary>
|
|
[Input("deleteVolumes")]
|
|
public Input<bool>? DeleteVolumes { get; set; }
|
|
|
|
/// <summary>
|
|
/// Free-form description.
|
|
/// </summary>
|
|
[Input("description")]
|
|
public Input<string>? Description { get; set; }
|
|
|
|
/// <summary>
|
|
/// Clone Git submodules when checking out the repository.
|
|
/// </summary>
|
|
[Input("enableSubmodules")]
|
|
public Input<bool>? EnableSubmodules { get; set; }
|
|
|
|
/// <summary>
|
|
/// Environment variables in `KEY=value` format, one per line.
|
|
/// </summary>
|
|
[Input("env")]
|
|
public Input<string>? Env { get; set; }
|
|
|
|
/// <summary>
|
|
/// Environment this stack belongs to.
|
|
/// </summary>
|
|
[Input("environmentId")]
|
|
public Input<string>? EnvironmentId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gitea branch to deploy.
|
|
/// </summary>
|
|
[Input("giteaBranch")]
|
|
public Input<string>? GiteaBranch { get; set; }
|
|
|
|
/// <summary>
|
|
/// ID of the configured Gitea provider connection.
|
|
/// </summary>
|
|
[Input("giteaId")]
|
|
public Input<string>? GiteaId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gitea repository owner.
|
|
/// </summary>
|
|
[Input("giteaOwner")]
|
|
public Input<string>? GiteaOwner { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gitea repository name.
|
|
/// </summary>
|
|
[Input("giteaRepository")]
|
|
public Input<string>? GiteaRepository { get; set; }
|
|
|
|
/// <summary>
|
|
/// ID of the configured GitHub provider connection.
|
|
/// </summary>
|
|
[Input("githubId")]
|
|
public Input<string>? GithubId { get; set; }
|
|
|
|
/// <summary>
|
|
/// GitLab branch to deploy.
|
|
/// </summary>
|
|
[Input("gitlabBranch")]
|
|
public Input<string>? GitlabBranch { get; set; }
|
|
|
|
/// <summary>
|
|
/// ID of the configured GitLab provider connection.
|
|
/// </summary>
|
|
[Input("gitlabId")]
|
|
public Input<string>? GitlabId { get; set; }
|
|
|
|
/// <summary>
|
|
/// GitLab repository owner.
|
|
/// </summary>
|
|
[Input("gitlabOwner")]
|
|
public Input<string>? GitlabOwner { get; set; }
|
|
|
|
/// <summary>
|
|
/// Full GitLab namespace path.
|
|
/// </summary>
|
|
[Input("gitlabPathNamespace")]
|
|
public Input<string>? GitlabPathNamespace { get; set; }
|
|
|
|
/// <summary>
|
|
/// Numeric GitLab project ID.
|
|
/// </summary>
|
|
[Input("gitlabProjectId")]
|
|
public Input<int>? GitlabProjectId { get; set; }
|
|
|
|
/// <summary>
|
|
/// GitLab repository name.
|
|
/// </summary>
|
|
[Input("gitlabRepository")]
|
|
public Input<string>? GitlabRepository { get; set; }
|
|
|
|
/// <summary>
|
|
/// Icon shown next to the stack in the Dokploy UI.
|
|
/// </summary>
|
|
[Input("icon")]
|
|
public Input<string>? Icon { get; set; }
|
|
|
|
/// <summary>
|
|
/// Run the stack on its own isolated Docker network.
|
|
/// </summary>
|
|
[Input("isolatedDeployment")]
|
|
public Input<bool>? IsolatedDeployment { get; set; }
|
|
|
|
/// <summary>
|
|
/// Prefix volume names for isolated deployments. Retained for backwards compatibility.
|
|
/// </summary>
|
|
[Input("isolatedDeploymentsVolume")]
|
|
public Input<bool>? IsolatedDeploymentsVolume { get; set; }
|
|
|
|
/// <summary>
|
|
/// Display name of the stack.
|
|
/// </summary>
|
|
[Input("name")]
|
|
public Input<string>? Name { get; set; }
|
|
|
|
/// <summary>
|
|
/// GitHub repository owner.
|
|
/// </summary>
|
|
[Input("owner")]
|
|
public Input<string>? Owner { get; set; }
|
|
|
|
/// <summary>
|
|
/// Append a random suffix to service and volume names.
|
|
/// </summary>
|
|
[Input("randomize")]
|
|
public Input<bool>? Randomize { get; set; }
|
|
|
|
/// <summary>
|
|
/// GitHub repository name.
|
|
/// </summary>
|
|
[Input("repository")]
|
|
public Input<string>? Repository { get; set; }
|
|
|
|
/// <summary>
|
|
/// Remote server to deploy on. Omit to use the Dokploy host itself.
|
|
/// </summary>
|
|
[Input("serverId")]
|
|
public Input<string>? ServerId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Per-service Docker network attachments, as a JSON object mapping each service name in the stack to an array of network IDs.
|
|
/// </summary>
|
|
[Input("serviceNetworks")]
|
|
public Input<string>? ServiceNetworks { get; set; }
|
|
|
|
/// <summary>
|
|
/// Where the Compose file comes from. Valid values: `Git`, `Github`, `Gitlab`, `Bitbucket`, `Gitea`, `Raw`.
|
|
/// </summary>
|
|
[Input("sourceType")]
|
|
public Input<string>? SourceType { get; set; }
|
|
|
|
/// <summary>
|
|
/// Suffix appended to generated resource names.
|
|
/// </summary>
|
|
[Input("suffix")]
|
|
public Input<string>? Suffix { get; set; }
|
|
|
|
/// <summary>
|
|
/// What triggers an automatic deployment. Valid values: `Push`, `Tag`.
|
|
/// </summary>
|
|
[Input("triggerType")]
|
|
public Input<string>? TriggerType { get; set; }
|
|
|
|
[Input("watchPaths")]
|
|
private InputList<string>? _watchPaths;
|
|
|
|
/// <summary>
|
|
/// Glob patterns that limit which changed paths trigger an automatic deployment.
|
|
/// </summary>
|
|
public InputList<string> WatchPaths
|
|
{
|
|
get => _watchPaths ?? (_watchPaths = new InputList<string>());
|
|
set => _watchPaths = value;
|
|
}
|
|
|
|
public ComposeState()
|
|
{
|
|
}
|
|
public static new ComposeState Empty => new ComposeState();
|
|
}
|
|
}
|