PluginDownloadURL moves off github:// to a templated Gitea release URL.
Pulumi interpolates ${VERSION}, then appends
pulumi-resource-dokploy-v<version>-<os>-<arch>.tar.gz -- which is what
the GoReleaser archive template already produces. Schema, bridge
metadata and all four SDKs regenerated to carry it.
Releases publish to this instance's npm, PyPI, NuGet and Go registries
using the GITEA_TOKEN that Gitea injects, so no secrets need
configuring.
The Go SDK keeps its github.com module path, which is exactly why it
goes to Gitea's Go registry: pointing GOPROXY there is what makes that
path resolve at all. Verified locally by serving the module zip from a
file proxy and building a consumer against it -- note zip -D, without
which go get rejects the archive's directory entries.
869 lines
29 KiB
C#
Generated
869 lines
29 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
|
|
{
|
|
[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>
|
|
/// 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>
|
|
/// 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>
|
|
/// 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>
|
|
/// 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>
|
|
/// 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>
|
|
/// 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>
|
|
/// 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>
|
|
/// 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>
|
|
/// 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();
|
|
}
|
|
}
|