@bambamboole/coolify 0.4.2 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/README.md +1 -1
  2. package/application.d.ts +258 -16
  3. package/application.d.ts.map +1 -0
  4. package/application.js +37 -9
  5. package/application.js.map +1 -0
  6. package/config/index.d.ts.map +1 -1
  7. package/config/index.js.map +1 -1
  8. package/config/vars.d.ts +4 -4
  9. package/config/vars.d.ts.map +1 -1
  10. package/config/vars.js +3 -2
  11. package/config/vars.js.map +1 -1
  12. package/database.d.ts +95 -17
  13. package/database.d.ts.map +1 -0
  14. package/database.js +17 -15
  15. package/database.js.map +1 -0
  16. package/databaseBackup.d.ts +166 -0
  17. package/databaseBackup.d.ts.map +1 -0
  18. package/databaseBackup.js +117 -0
  19. package/databaseBackup.js.map +1 -0
  20. package/deployment.d.ts +32 -3
  21. package/deployment.d.ts.map +1 -0
  22. package/deployment.js +3 -1
  23. package/deployment.js.map +1 -0
  24. package/gitHubApp.d.ts +146 -0
  25. package/gitHubApp.d.ts.map +1 -0
  26. package/gitHubApp.js +127 -0
  27. package/gitHubApp.js.map +1 -0
  28. package/index.d.ts +15 -1
  29. package/index.d.ts.map +1 -0
  30. package/index.js +24 -1
  31. package/index.js.map +1 -0
  32. package/package.json +4 -17
  33. package/privateKey.d.ts +27 -4
  34. package/privateKey.d.ts.map +1 -0
  35. package/privateKey.js +6 -1
  36. package/privateKey.js.map +1 -0
  37. package/project.d.ts +13 -4
  38. package/project.d.ts.map +1 -0
  39. package/project.js +1 -1
  40. package/project.js.map +1 -0
  41. package/provider.d.ts +7 -7
  42. package/provider.d.ts.map +1 -0
  43. package/provider.js +2 -5
  44. package/provider.js.map +1 -0
  45. package/s3storage.d.ts +46 -5
  46. package/s3storage.d.ts.map +1 -0
  47. package/s3storage.js +5 -1
  48. package/s3storage.js.map +1 -0
  49. package/scheduledTask.d.ts +94 -0
  50. package/scheduledTask.d.ts.map +1 -0
  51. package/scheduledTask.js +105 -0
  52. package/scheduledTask.js.map +1 -0
  53. package/server.d.ts +39 -3
  54. package/server.d.ts.map +1 -0
  55. package/server.js +3 -3
  56. package/server.js.map +1 -0
  57. package/service.d.ts +130 -0
  58. package/service.d.ts.map +1 -0
  59. package/service.js +110 -0
  60. package/service.js.map +1 -0
  61. package/types/enums/index.d.ts +59 -0
  62. package/types/enums/index.d.ts.map +1 -0
  63. package/types/enums/index.js +62 -0
  64. package/types/enums/index.js.map +1 -0
  65. package/types/index.d.ts +5 -0
  66. package/types/index.d.ts.map +1 -0
  67. package/types/index.js +36 -0
  68. package/types/index.js.map +1 -0
  69. package/types/input.d.ts +2 -0
  70. package/types/input.d.ts.map +1 -0
  71. package/{config/index.ts → types/input.js} +3 -3
  72. package/types/input.js.map +1 -0
  73. package/types/output.d.ts +2 -0
  74. package/types/output.d.ts.map +1 -0
  75. package/types/output.js +5 -0
  76. package/types/output.js.map +1 -0
  77. package/utilities.d.ts.map +1 -0
  78. package/utilities.js.map +1 -0
  79. package/application.ts +0 -181
  80. package/config/vars.ts +0 -31
  81. package/database.ts +0 -146
  82. package/deployment.ts +0 -100
  83. package/index.ts +0 -88
  84. package/privateKey.ts +0 -85
  85. package/project.ts +0 -90
  86. package/provider.ts +0 -70
  87. package/s3storage.ts +0 -114
  88. package/server.ts +0 -99
  89. package/utilities.ts +0 -96
package/database.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
+ import * as enums from "./types/enums";
2
3
  /**
3
- * A standalone Coolify database (Redis, PostgreSQL) inside a project environment.
4
+ * A standalone Coolify database (PostgreSQL, MySQL, MariaDB, MongoDB, Redis, KeyDB, Dragonfly, ClickHouse) inside a project environment. An existing database with the same name in the environment is adopted on create.
4
5
  */
5
6
  export declare class Database extends pulumi.CustomResource {
6
7
  /**
@@ -17,25 +18,77 @@ export declare class Database extends pulumi.CustomResource {
17
18
  * when multiple copies of the Pulumi SDK have been loaded into the same process.
18
19
  */
19
20
  static isInstance(obj: any): obj is Database;
20
- readonly description: pulumi.Output<string>;
21
- readonly environment: pulumi.Output<string>;
21
+ /**
22
+ * Name of the default database, for engines that have one.
23
+ */
24
+ readonly databaseName: pulumi.Output<string>;
25
+ /**
26
+ * Description of the database.
27
+ */
28
+ readonly description: pulumi.Output<string | undefined>;
29
+ /**
30
+ * ID of the Coolify environment the database lives in.
31
+ */
22
32
  readonly environmentId: pulumi.Output<number>;
23
- readonly externalUrl: pulumi.Output<string | undefined>;
24
- readonly image: pulumi.Output<string>;
25
- readonly internalUrl: pulumi.Output<string | undefined>;
26
- readonly isPublic: pulumi.Output<boolean>;
33
+ /**
34
+ * Name of the environment inside the project. Changing it moves the resource in place; the environment must already exist.
35
+ */
36
+ readonly environmentName: pulumi.Output<string>;
37
+ /**
38
+ * Public connection URL, when exposed.
39
+ */
40
+ readonly externalUrl: pulumi.Output<string>;
41
+ /**
42
+ * Container image, e.g. "postgres:17-alpine". Leave unset to keep Coolify's default.
43
+ */
44
+ readonly image: pulumi.Output<string | undefined>;
45
+ /**
46
+ * Start the database right after creating it.
47
+ */
48
+ readonly instantDeploy: pulumi.Output<boolean | undefined>;
49
+ /**
50
+ * Connection URL for resources on the same Docker network.
51
+ */
52
+ readonly internalUrl: pulumi.Output<string>;
53
+ /**
54
+ * Whether the database is exposed publicly.
55
+ */
56
+ readonly isPublic: pulumi.Output<boolean | undefined>;
57
+ /**
58
+ * Name of the database. An existing database with this name in the same environment is adopted.
59
+ */
27
60
  readonly name: pulumi.Output<string>;
28
61
  /**
29
- * Database password generated by Coolify. Never compared or patched.
62
+ * Password of the primary database user.
63
+ */
64
+ readonly password: pulumi.Output<string>;
65
+ /**
66
+ * UUID of the Coolify project (the uuid output of a Project resource). Changing it moves the resource to the new project in place.
30
67
  */
31
- readonly password: pulumi.Output<string | undefined>;
32
- readonly postgresDatabase: pulumi.Output<string | undefined>;
33
- readonly postgresUser: pulumi.Output<string | undefined>;
34
- readonly project: pulumi.Output<string>;
35
68
  readonly projectUuid: pulumi.Output<string>;
69
+ /**
70
+ * Public port to expose. Required when isPublic is true.
71
+ */
36
72
  readonly publicPort: pulumi.Output<number | undefined>;
73
+ /**
74
+ * UUID of the server hosting the database (the uuid output of a Server resource).
75
+ */
37
76
  readonly serverUuid: pulumi.Output<string>;
38
- readonly type: pulumi.Output<string>;
77
+ /**
78
+ * Status reported by Coolify.
79
+ */
80
+ readonly status: pulumi.Output<string>;
81
+ /**
82
+ * Database engine.
83
+ */
84
+ readonly type: pulumi.Output<enums.DatabaseType>;
85
+ /**
86
+ * Username of the primary database user.
87
+ */
88
+ readonly username: pulumi.Output<string>;
89
+ /**
90
+ * UUID of the database in Coolify.
91
+ */
39
92
  readonly uuid: pulumi.Output<string>;
40
93
  /**
41
94
  * Create a Database resource with the given unique name, arguments, and options.
@@ -50,20 +103,45 @@ export declare class Database extends pulumi.CustomResource {
50
103
  * The set of arguments for constructing a Database resource.
51
104
  */
52
105
  export interface DatabaseArgs {
106
+ /**
107
+ * Description of the database.
108
+ */
53
109
  description?: pulumi.Input<string | undefined>;
54
- environment: pulumi.Input<string>;
110
+ /**
111
+ * Name of the environment inside the project. Changing it moves the resource in place; the environment must already exist.
112
+ */
113
+ environmentName: pulumi.Input<string>;
114
+ /**
115
+ * Container image, e.g. "postgres:17-alpine". Leave unset to keep Coolify's default.
116
+ */
55
117
  image?: pulumi.Input<string | undefined>;
118
+ /**
119
+ * Start the database right after creating it.
120
+ */
121
+ instantDeploy?: pulumi.Input<boolean | undefined>;
122
+ /**
123
+ * Whether the database is exposed publicly.
124
+ */
56
125
  isPublic?: pulumi.Input<boolean | undefined>;
126
+ /**
127
+ * Name of the database. An existing database with this name in the same environment is adopted.
128
+ */
57
129
  name: pulumi.Input<string>;
58
- project: pulumi.Input<string>;
130
+ /**
131
+ * UUID of the Coolify project (the uuid output of a Project resource). Changing it moves the resource to the new project in place.
132
+ */
133
+ projectUuid: pulumi.Input<string>;
59
134
  /**
60
135
  * Public port to expose. Required when isPublic is true.
61
136
  */
62
137
  publicPort?: pulumi.Input<number | undefined>;
138
+ /**
139
+ * UUID of the server hosting the database (the uuid output of a Server resource).
140
+ */
63
141
  serverUuid: pulumi.Input<string>;
64
142
  /**
65
- * Database type: "redis" or "postgresql".
143
+ * Database engine.
66
144
  */
67
- type: pulumi.Input<string>;
145
+ type: pulumi.Input<enums.DatabaseType>;
68
146
  }
69
147
  //# sourceMappingURL=database.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../database.ts"],"names":[],"mappings":"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"}
package/database.js CHANGED
@@ -29,7 +29,7 @@ exports.Database = void 0;
29
29
  const pulumi = __importStar(require("@pulumi/pulumi"));
30
30
  const utilities = __importStar(require("./utilities"));
31
31
  /**
32
- * A standalone Coolify database (Redis, PostgreSQL) inside a project environment.
32
+ * A standalone Coolify database (PostgreSQL, MySQL, MariaDB, MongoDB, Redis, KeyDB, Dragonfly, ClickHouse) inside a project environment. An existing database with the same name in the environment is adopted on create.
33
33
  */
34
34
  class Database extends pulumi.CustomResource {
35
35
  /**
@@ -66,14 +66,14 @@ class Database extends pulumi.CustomResource {
66
66
  let resourceInputs = {};
67
67
  opts = opts || {};
68
68
  if (!opts.id) {
69
- if (args?.environment === undefined && !opts.urn) {
70
- throw new Error("Missing required property 'environment'");
69
+ if (args?.environmentName === undefined && !opts.urn) {
70
+ throw new Error("Missing required property 'environmentName'");
71
71
  }
72
72
  if (args?.name === undefined && !opts.urn) {
73
73
  throw new Error("Missing required property 'name'");
74
74
  }
75
- if (args?.project === undefined && !opts.urn) {
76
- throw new Error("Missing required property 'project'");
75
+ if (args?.projectUuid === undefined && !opts.urn) {
76
+ throw new Error("Missing required property 'projectUuid'");
77
77
  }
78
78
  if (args?.serverUuid === undefined && !opts.urn) {
79
79
  throw new Error("Missing required property 'serverUuid'");
@@ -82,44 +82,46 @@ class Database extends pulumi.CustomResource {
82
82
  throw new Error("Missing required property 'type'");
83
83
  }
84
84
  resourceInputs["description"] = args?.description;
85
- resourceInputs["environment"] = args?.environment;
85
+ resourceInputs["environmentName"] = args?.environmentName;
86
86
  resourceInputs["image"] = args?.image;
87
+ resourceInputs["instantDeploy"] = args?.instantDeploy;
87
88
  resourceInputs["isPublic"] = args?.isPublic;
88
89
  resourceInputs["name"] = args?.name;
89
- resourceInputs["project"] = args?.project;
90
+ resourceInputs["projectUuid"] = args?.projectUuid;
90
91
  resourceInputs["publicPort"] = args?.publicPort;
91
92
  resourceInputs["serverUuid"] = args?.serverUuid;
92
93
  resourceInputs["type"] = args?.type;
94
+ resourceInputs["databaseName"] = undefined /*out*/;
93
95
  resourceInputs["environmentId"] = undefined /*out*/;
94
96
  resourceInputs["externalUrl"] = undefined /*out*/;
95
97
  resourceInputs["internalUrl"] = undefined /*out*/;
96
98
  resourceInputs["password"] = undefined /*out*/;
97
- resourceInputs["postgresDatabase"] = undefined /*out*/;
98
- resourceInputs["postgresUser"] = undefined /*out*/;
99
- resourceInputs["projectUuid"] = undefined /*out*/;
99
+ resourceInputs["status"] = undefined /*out*/;
100
+ resourceInputs["username"] = undefined /*out*/;
100
101
  resourceInputs["uuid"] = undefined /*out*/;
101
102
  }
102
103
  else {
104
+ resourceInputs["databaseName"] = undefined /*out*/;
103
105
  resourceInputs["description"] = undefined /*out*/;
104
- resourceInputs["environment"] = undefined /*out*/;
105
106
  resourceInputs["environmentId"] = undefined /*out*/;
107
+ resourceInputs["environmentName"] = undefined /*out*/;
106
108
  resourceInputs["externalUrl"] = undefined /*out*/;
107
109
  resourceInputs["image"] = undefined /*out*/;
110
+ resourceInputs["instantDeploy"] = undefined /*out*/;
108
111
  resourceInputs["internalUrl"] = undefined /*out*/;
109
112
  resourceInputs["isPublic"] = undefined /*out*/;
110
113
  resourceInputs["name"] = undefined /*out*/;
111
114
  resourceInputs["password"] = undefined /*out*/;
112
- resourceInputs["postgresDatabase"] = undefined /*out*/;
113
- resourceInputs["postgresUser"] = undefined /*out*/;
114
- resourceInputs["project"] = undefined /*out*/;
115
115
  resourceInputs["projectUuid"] = undefined /*out*/;
116
116
  resourceInputs["publicPort"] = undefined /*out*/;
117
117
  resourceInputs["serverUuid"] = undefined /*out*/;
118
+ resourceInputs["status"] = undefined /*out*/;
118
119
  resourceInputs["type"] = undefined /*out*/;
120
+ resourceInputs["username"] = undefined /*out*/;
119
121
  resourceInputs["uuid"] = undefined /*out*/;
120
122
  }
121
123
  opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
122
- const secretOpts = { additionalSecretOutputs: ["password"] };
124
+ const secretOpts = { additionalSecretOutputs: ["externalUrl", "internalUrl", "password"] };
123
125
  opts = pulumi.mergeOptions(opts, secretOpts);
124
126
  super(Database.__pulumiType, name, resourceInputs, opts);
125
127
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../database.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,166 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * A scheduled backup configuration of a standalone Coolify database, optionally uploaded to an S3 storage. An existing configuration with the identical frequency on the database is adopted on create. Redis, KeyDB and Dragonfly do not support backups.
4
+ */
5
+ export declare class DatabaseBackup extends pulumi.CustomResource {
6
+ /**
7
+ * Get an existing DatabaseBackup resource's state with the given name, ID, and optional extra
8
+ * properties used to qualify the lookup.
9
+ *
10
+ * @param name The _unique_ name of the resulting resource.
11
+ * @param id The _unique_ provider ID of the resource to lookup.
12
+ * @param opts Optional settings to control the behavior of the CustomResource.
13
+ */
14
+ static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): DatabaseBackup;
15
+ /**
16
+ * Returns true if the given object is an instance of DatabaseBackup. This is designed to work even
17
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
18
+ */
19
+ static isInstance(obj: any): obj is DatabaseBackup;
20
+ /**
21
+ * Run a backup right after creating the configuration. Only relevant on create.
22
+ */
23
+ readonly backupNow: pulumi.Output<boolean | undefined>;
24
+ /**
25
+ * UUID of the Coolify database to back up (the uuid output of a Database resource). Changing it replaces the configuration.
26
+ */
27
+ readonly databaseUuid: pulumi.Output<string>;
28
+ /**
29
+ * Comma separated list of databases to dump. Leave unset to keep Coolify's default, the database's primary database.
30
+ */
31
+ readonly databasesToBackup: pulumi.Output<string | undefined>;
32
+ /**
33
+ * Also delete the uploaded S3 files when the configuration is destroyed.
34
+ */
35
+ readonly deleteS3Files: pulumi.Output<boolean | undefined>;
36
+ /**
37
+ * Dump all databases of the server instead of the listed ones.
38
+ */
39
+ readonly dumpAll: pulumi.Output<boolean | undefined>;
40
+ /**
41
+ * Whether the schedule is enabled.
42
+ */
43
+ readonly enabled: pulumi.Output<boolean>;
44
+ /**
45
+ * Cron expression or Coolify shorthand such as "daily" or "0 3 * * *". An existing configuration with the identical frequency string on the database is adopted on create; Coolify's own default schedule uses "0 0 * * *".
46
+ */
47
+ readonly frequency: pulumi.Output<string>;
48
+ /**
49
+ * Number of backups kept locally; 0 keeps all. Leave unset to keep Coolify's default.
50
+ */
51
+ readonly retentionAmountLocally: pulumi.Output<number | undefined>;
52
+ /**
53
+ * Number of backups kept in S3; 0 keeps all. Leave unset to keep Coolify's default.
54
+ */
55
+ readonly retentionAmountS3: pulumi.Output<number | undefined>;
56
+ /**
57
+ * Days local backups are kept; 0 keeps them forever. Leave unset to keep Coolify's default.
58
+ */
59
+ readonly retentionDaysLocally: pulumi.Output<number | undefined>;
60
+ /**
61
+ * Days S3 backups are kept; 0 keeps them forever. Leave unset to keep Coolify's default.
62
+ */
63
+ readonly retentionDaysS3: pulumi.Output<number | undefined>;
64
+ /**
65
+ * Maximum local storage in GB; 0 is unlimited. Leave unset to keep Coolify's default.
66
+ */
67
+ readonly retentionMaxStorageLocally: pulumi.Output<number | undefined>;
68
+ /**
69
+ * Maximum S3 storage in GB; 0 is unlimited. Leave unset to keep Coolify's default.
70
+ */
71
+ readonly retentionMaxStorageS3: pulumi.Output<number | undefined>;
72
+ /**
73
+ * UUID of the S3 storage (the uuid output of an S3Storage resource). Required when saveS3 is true. Coolify does not report the configured storage, so drift on this input is not detected.
74
+ */
75
+ readonly s3StorageUuid: pulumi.Output<string | undefined>;
76
+ /**
77
+ * Upload backups to an S3 storage.
78
+ */
79
+ readonly saveS3: pulumi.Output<boolean | undefined>;
80
+ /**
81
+ * Timeout of a backup run in seconds, between 60 and 36000. Leave unset to keep Coolify's default.
82
+ */
83
+ readonly timeout: pulumi.Output<number | undefined>;
84
+ /**
85
+ * UUID of the backup configuration in Coolify.
86
+ */
87
+ readonly uuid: pulumi.Output<string>;
88
+ /**
89
+ * Create a DatabaseBackup resource with the given unique name, arguments, and options.
90
+ *
91
+ * @param name The _unique_ name of the resource.
92
+ * @param args The arguments to use to populate this resource's properties.
93
+ * @param opts A bag of options that control this resource's behavior.
94
+ */
95
+ constructor(name: string, args: DatabaseBackupArgs, opts?: pulumi.CustomResourceOptions);
96
+ }
97
+ /**
98
+ * The set of arguments for constructing a DatabaseBackup resource.
99
+ */
100
+ export interface DatabaseBackupArgs {
101
+ /**
102
+ * Run a backup right after creating the configuration. Only relevant on create.
103
+ */
104
+ backupNow?: pulumi.Input<boolean | undefined>;
105
+ /**
106
+ * UUID of the Coolify database to back up (the uuid output of a Database resource). Changing it replaces the configuration.
107
+ */
108
+ databaseUuid: pulumi.Input<string>;
109
+ /**
110
+ * Comma separated list of databases to dump. Leave unset to keep Coolify's default, the database's primary database.
111
+ */
112
+ databasesToBackup?: pulumi.Input<string | undefined>;
113
+ /**
114
+ * Also delete the uploaded S3 files when the configuration is destroyed.
115
+ */
116
+ deleteS3Files?: pulumi.Input<boolean | undefined>;
117
+ /**
118
+ * Dump all databases of the server instead of the listed ones.
119
+ */
120
+ dumpAll?: pulumi.Input<boolean | undefined>;
121
+ /**
122
+ * Whether the schedule is enabled.
123
+ */
124
+ enabled?: pulumi.Input<boolean | undefined>;
125
+ /**
126
+ * Cron expression or Coolify shorthand such as "daily" or "0 3 * * *". An existing configuration with the identical frequency string on the database is adopted on create; Coolify's own default schedule uses "0 0 * * *".
127
+ */
128
+ frequency: pulumi.Input<string>;
129
+ /**
130
+ * Number of backups kept locally; 0 keeps all. Leave unset to keep Coolify's default.
131
+ */
132
+ retentionAmountLocally?: pulumi.Input<number | undefined>;
133
+ /**
134
+ * Number of backups kept in S3; 0 keeps all. Leave unset to keep Coolify's default.
135
+ */
136
+ retentionAmountS3?: pulumi.Input<number | undefined>;
137
+ /**
138
+ * Days local backups are kept; 0 keeps them forever. Leave unset to keep Coolify's default.
139
+ */
140
+ retentionDaysLocally?: pulumi.Input<number | undefined>;
141
+ /**
142
+ * Days S3 backups are kept; 0 keeps them forever. Leave unset to keep Coolify's default.
143
+ */
144
+ retentionDaysS3?: pulumi.Input<number | undefined>;
145
+ /**
146
+ * Maximum local storage in GB; 0 is unlimited. Leave unset to keep Coolify's default.
147
+ */
148
+ retentionMaxStorageLocally?: pulumi.Input<number | undefined>;
149
+ /**
150
+ * Maximum S3 storage in GB; 0 is unlimited. Leave unset to keep Coolify's default.
151
+ */
152
+ retentionMaxStorageS3?: pulumi.Input<number | undefined>;
153
+ /**
154
+ * UUID of the S3 storage (the uuid output of an S3Storage resource). Required when saveS3 is true. Coolify does not report the configured storage, so drift on this input is not detected.
155
+ */
156
+ s3StorageUuid?: pulumi.Input<string | undefined>;
157
+ /**
158
+ * Upload backups to an S3 storage.
159
+ */
160
+ saveS3?: pulumi.Input<boolean | undefined>;
161
+ /**
162
+ * Timeout of a backup run in seconds, between 60 and 36000. Leave unset to keep Coolify's default.
163
+ */
164
+ timeout?: pulumi.Input<number | undefined>;
165
+ }
166
+ //# sourceMappingURL=databaseBackup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"databaseBackup.d.ts","sourceRoot":"","sources":["../databaseBackup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || function (mod) {
21
+ if (mod && mod.__esModule) return mod;
22
+ var result = {};
23
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
24
+ __setModuleDefault(result, mod);
25
+ return result;
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.DatabaseBackup = void 0;
29
+ const pulumi = __importStar(require("@pulumi/pulumi"));
30
+ const utilities = __importStar(require("./utilities"));
31
+ /**
32
+ * A scheduled backup configuration of a standalone Coolify database, optionally uploaded to an S3 storage. An existing configuration with the identical frequency on the database is adopted on create. Redis, KeyDB and Dragonfly do not support backups.
33
+ */
34
+ class DatabaseBackup extends pulumi.CustomResource {
35
+ /**
36
+ * Get an existing DatabaseBackup resource's state with the given name, ID, and optional extra
37
+ * properties used to qualify the lookup.
38
+ *
39
+ * @param name The _unique_ name of the resulting resource.
40
+ * @param id The _unique_ provider ID of the resource to lookup.
41
+ * @param opts Optional settings to control the behavior of the CustomResource.
42
+ */
43
+ static get(name, id, opts) {
44
+ return new DatabaseBackup(name, undefined, { ...opts, id: id });
45
+ }
46
+ /** @internal */
47
+ static __pulumiType = 'coolify:index:DatabaseBackup';
48
+ /**
49
+ * Returns true if the given object is an instance of DatabaseBackup. This is designed to work even
50
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
51
+ */
52
+ static isInstance(obj) {
53
+ if (obj === undefined || obj === null) {
54
+ return false;
55
+ }
56
+ return obj['__pulumiType'] === DatabaseBackup.__pulumiType;
57
+ }
58
+ /**
59
+ * Create a DatabaseBackup resource with the given unique name, arguments, and options.
60
+ *
61
+ * @param name The _unique_ name of the resource.
62
+ * @param args The arguments to use to populate this resource's properties.
63
+ * @param opts A bag of options that control this resource's behavior.
64
+ */
65
+ constructor(name, args, opts) {
66
+ let resourceInputs = {};
67
+ opts = opts || {};
68
+ if (!opts.id) {
69
+ if (args?.databaseUuid === undefined && !opts.urn) {
70
+ throw new Error("Missing required property 'databaseUuid'");
71
+ }
72
+ if (args?.frequency === undefined && !opts.urn) {
73
+ throw new Error("Missing required property 'frequency'");
74
+ }
75
+ resourceInputs["backupNow"] = args?.backupNow;
76
+ resourceInputs["databaseUuid"] = args?.databaseUuid;
77
+ resourceInputs["databasesToBackup"] = args?.databasesToBackup;
78
+ resourceInputs["deleteS3Files"] = args?.deleteS3Files;
79
+ resourceInputs["dumpAll"] = args?.dumpAll;
80
+ resourceInputs["enabled"] = (args?.enabled) ?? true;
81
+ resourceInputs["frequency"] = args?.frequency;
82
+ resourceInputs["retentionAmountLocally"] = args?.retentionAmountLocally;
83
+ resourceInputs["retentionAmountS3"] = args?.retentionAmountS3;
84
+ resourceInputs["retentionDaysLocally"] = args?.retentionDaysLocally;
85
+ resourceInputs["retentionDaysS3"] = args?.retentionDaysS3;
86
+ resourceInputs["retentionMaxStorageLocally"] = args?.retentionMaxStorageLocally;
87
+ resourceInputs["retentionMaxStorageS3"] = args?.retentionMaxStorageS3;
88
+ resourceInputs["s3StorageUuid"] = args?.s3StorageUuid;
89
+ resourceInputs["saveS3"] = args?.saveS3;
90
+ resourceInputs["timeout"] = args?.timeout;
91
+ resourceInputs["uuid"] = undefined /*out*/;
92
+ }
93
+ else {
94
+ resourceInputs["backupNow"] = undefined /*out*/;
95
+ resourceInputs["databaseUuid"] = undefined /*out*/;
96
+ resourceInputs["databasesToBackup"] = undefined /*out*/;
97
+ resourceInputs["deleteS3Files"] = undefined /*out*/;
98
+ resourceInputs["dumpAll"] = undefined /*out*/;
99
+ resourceInputs["enabled"] = undefined /*out*/;
100
+ resourceInputs["frequency"] = undefined /*out*/;
101
+ resourceInputs["retentionAmountLocally"] = undefined /*out*/;
102
+ resourceInputs["retentionAmountS3"] = undefined /*out*/;
103
+ resourceInputs["retentionDaysLocally"] = undefined /*out*/;
104
+ resourceInputs["retentionDaysS3"] = undefined /*out*/;
105
+ resourceInputs["retentionMaxStorageLocally"] = undefined /*out*/;
106
+ resourceInputs["retentionMaxStorageS3"] = undefined /*out*/;
107
+ resourceInputs["s3StorageUuid"] = undefined /*out*/;
108
+ resourceInputs["saveS3"] = undefined /*out*/;
109
+ resourceInputs["timeout"] = undefined /*out*/;
110
+ resourceInputs["uuid"] = undefined /*out*/;
111
+ }
112
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
113
+ super(DatabaseBackup.__pulumiType, name, resourceInputs, opts);
114
+ }
115
+ }
116
+ exports.DatabaseBackup = DatabaseBackup;
117
+ //# sourceMappingURL=databaseBackup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"databaseBackup.js","sourceRoot":"","sources":["../databaseBackup.ts"],"names":[],"mappings":"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"}
package/deployment.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
2
  /**
3
- * Triggers a deployment of a Coolify application and waits for it to finish.
3
+ * Triggers a deployment of a Coolify application and waits for it to finish. Deploys again whenever an input changes.
4
4
  */
5
5
  export declare class Deployment extends pulumi.CustomResource {
6
6
  /**
@@ -17,12 +17,37 @@ export declare class Deployment extends pulumi.CustomResource {
17
17
  * when multiple copies of the Pulumi SDK have been loaded into the same process.
18
18
  */
19
19
  static isInstance(obj: any): obj is Deployment;
20
+ /**
21
+ * UUID of the Coolify application to deploy (the uuid output of an Application resource).
22
+ */
20
23
  readonly application: pulumi.Output<string>;
21
- readonly commit: pulumi.Output<string | undefined>;
24
+ /**
25
+ * Git commit that was deployed, if any.
26
+ */
27
+ readonly commit: pulumi.Output<string>;
28
+ /**
29
+ * Override the Docker image tag to deploy.
30
+ */
22
31
  readonly dockerTag: pulumi.Output<string | undefined>;
23
- readonly force: pulumi.Output<boolean>;
32
+ /**
33
+ * Force a rebuild even when there are no new commits.
34
+ */
35
+ readonly force: pulumi.Output<boolean | undefined>;
36
+ /**
37
+ * Deploy a preview of the given pull request instead of the default branch.
38
+ */
24
39
  readonly pullRequestId: pulumi.Output<number | undefined>;
40
+ /**
41
+ * Final status reported by Coolify.
42
+ */
25
43
  readonly status: pulumi.Output<string>;
44
+ /**
45
+ * Arbitrary values that trigger a redeploy when they change, e.g. an image digest or a version.
46
+ */
47
+ readonly triggers: pulumi.Output<string[] | undefined>;
48
+ /**
49
+ * UUID of the deployment in Coolify.
50
+ */
26
51
  readonly uuid: pulumi.Output<string>;
27
52
  /**
28
53
  * Create a Deployment resource with the given unique name, arguments, and options.
@@ -53,5 +78,9 @@ export interface DeploymentArgs {
53
78
  * Deploy a preview of the given pull request instead of the default branch.
54
79
  */
55
80
  pullRequestId?: pulumi.Input<number | undefined>;
81
+ /**
82
+ * Arbitrary values that trigger a redeploy when they change, e.g. an image digest or a version.
83
+ */
84
+ triggers?: pulumi.Input<pulumi.Input<string>[] | undefined>;
56
85
  }
57
86
  //# sourceMappingURL=deployment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployment.d.ts","sourceRoot":"","sources":["../deployment.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAGzC;;GAEG;AACH,qBAAa,UAAW,SAAQ,MAAM,CAAC,cAAc;IACjD;;;;;;;OAOG;WACW,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,qBAAqB,GAAG,UAAU;IAO7G;;;OAGG;WACW,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,UAAU;IAOrD;;OAEG;IACH,SAAwB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3D;;OAEG;IACH,SAAgC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9D;;OAEG;IACH,SAAwB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACrE;;OAEG;IACH,SAAwB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAClE;;OAEG;IACH,SAAwB,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACzE;;OAEG;IACH,SAAgC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9D;;OAEG;IACH,SAAwB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IACtE;;OAEG;IACH,SAAgC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE5D;;;;;;OAMG;gBACS,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,qBAAqB;CA4BtF;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAClC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC7C;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAC1C;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACjD;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;CAC/D"}
package/deployment.js CHANGED
@@ -29,7 +29,7 @@ exports.Deployment = void 0;
29
29
  const pulumi = __importStar(require("@pulumi/pulumi"));
30
30
  const utilities = __importStar(require("./utilities"));
31
31
  /**
32
- * Triggers a deployment of a Coolify application and waits for it to finish.
32
+ * Triggers a deployment of a Coolify application and waits for it to finish. Deploys again whenever an input changes.
33
33
  */
34
34
  class Deployment extends pulumi.CustomResource {
35
35
  /**
@@ -73,6 +73,7 @@ class Deployment extends pulumi.CustomResource {
73
73
  resourceInputs["dockerTag"] = args?.dockerTag;
74
74
  resourceInputs["force"] = args?.force;
75
75
  resourceInputs["pullRequestId"] = args?.pullRequestId;
76
+ resourceInputs["triggers"] = args?.triggers;
76
77
  resourceInputs["commit"] = undefined /*out*/;
77
78
  resourceInputs["status"] = undefined /*out*/;
78
79
  resourceInputs["uuid"] = undefined /*out*/;
@@ -84,6 +85,7 @@ class Deployment extends pulumi.CustomResource {
84
85
  resourceInputs["force"] = undefined /*out*/;
85
86
  resourceInputs["pullRequestId"] = undefined /*out*/;
86
87
  resourceInputs["status"] = undefined /*out*/;
88
+ resourceInputs["triggers"] = undefined /*out*/;
87
89
  resourceInputs["uuid"] = undefined /*out*/;
88
90
  }
89
91
  opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployment.js","sourceRoot":"","sources":["../deployment.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,uDAAyC;AACzC,uDAAyC;AAEzC;;GAEG;AACH,MAAa,UAAW,SAAQ,MAAM,CAAC,cAAc;IACjD;;;;;;;OAOG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,IAAmC;QAC5F,OAAO,IAAI,UAAU,CAAC,IAAI,EAAE,SAAgB,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,gBAAgB;IACT,MAAM,CAAU,YAAY,GAAG,0BAA0B,CAAC;IAEjE;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,UAAU,CAAC,YAAY,CAAC;IAC3D,CAAC;IAmCD;;;;;;OAMG;IACH,YAAY,IAAY,EAAE,IAAoB,EAAE,IAAmC;QAC/E,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YACV,IAAI,IAAI,EAAE,WAAW,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC9C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;aAC9D;YACD,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC;YAC9C,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC;YACtC,cAAc,CAAC,eAAe,CAAC,GAAG,IAAI,EAAE,aAAa,CAAC;YACtD,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC;YAC5C,cAAc,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC7C,cAAc,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC7C,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SAC9C;aAAM;YACH,cAAc,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAClD,cAAc,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC7C,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAChD,cAAc,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC5C,cAAc,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YACpD,cAAc,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC7C,cAAc,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC/C,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SAC9C;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;;AA9FL,gCA+FC"}