@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/provider.d.ts CHANGED
@@ -9,11 +9,11 @@ export declare class Provider extends pulumi.ProviderResource {
9
9
  */
10
10
  static isInstance(obj: any): obj is Provider;
11
11
  /**
12
- * Coolify read/write API token (Coolify > Security > API tokens).
12
+ * Coolify read/write API token (Coolify > Security > API tokens). Defaults to the COOLIFY_API_TOKEN environment variable.
13
13
  */
14
- readonly apiToken: pulumi.Output<string | undefined>;
14
+ readonly apiToken: pulumi.Output<string>;
15
15
  /**
16
- * Base URL of the Coolify instance, without the API path (e.g. https://coolify.example.com).
16
+ * Base URL of the Coolify instance without the API path, e.g. https://coolify.example.com. Defaults to the COOLIFY_BASE_URL environment variable.
17
17
  */
18
18
  readonly baseUrl: pulumi.Output<string>;
19
19
  /**
@@ -23,19 +23,19 @@ export declare class Provider extends pulumi.ProviderResource {
23
23
  * @param args The arguments to use to populate this resource's properties.
24
24
  * @param opts A bag of options that control this resource's behavior.
25
25
  */
26
- constructor(name: string, args: ProviderArgs, opts?: pulumi.ResourceOptions);
26
+ constructor(name: string, args?: ProviderArgs, opts?: pulumi.ResourceOptions);
27
27
  }
28
28
  /**
29
29
  * The set of arguments for constructing a Provider resource.
30
30
  */
31
31
  export interface ProviderArgs {
32
32
  /**
33
- * Coolify read/write API token (Coolify > Security > API tokens).
33
+ * Coolify read/write API token (Coolify > Security > API tokens). Defaults to the COOLIFY_API_TOKEN environment variable.
34
34
  */
35
35
  apiToken?: pulumi.Input<string | undefined>;
36
36
  /**
37
- * Base URL of the Coolify instance, without the API path (e.g. https://coolify.example.com).
37
+ * Base URL of the Coolify instance without the API path, e.g. https://coolify.example.com. Defaults to the COOLIFY_BASE_URL environment variable.
38
38
  */
39
- baseUrl: pulumi.Input<string>;
39
+ baseUrl?: pulumi.Input<string | undefined>;
40
40
  }
41
41
  //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../provider.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAGzC;;GAEG;AACH,qBAAa,QAAS,SAAQ,MAAM,CAAC,gBAAgB;IAIjD;;;OAGG;WACW,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,QAAQ;IAOnD;;OAEG;IACH,SAAwB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxD;;OAEG;IACH,SAAwB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEvD;;;;;;OAMG;gBACS,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,eAAe;CAY/E;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC5C;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC9C"}
package/provider.js CHANGED
@@ -55,11 +55,8 @@ class Provider extends pulumi.ProviderResource {
55
55
  let resourceInputs = {};
56
56
  opts = opts || {};
57
57
  {
58
- if (args?.baseUrl === undefined && !opts.urn) {
59
- throw new Error("Missing required property 'baseUrl'");
60
- }
61
- resourceInputs["apiToken"] = args?.apiToken ? pulumi.secret(args.apiToken) : undefined;
62
- resourceInputs["baseUrl"] = args?.baseUrl;
58
+ resourceInputs["apiToken"] = (args?.apiToken ? pulumi.secret(args.apiToken) : undefined) ?? (utilities.getEnv("COOLIFY_API_TOKEN") || "");
59
+ resourceInputs["baseUrl"] = (args?.baseUrl) ?? (utilities.getEnv("COOLIFY_BASE_URL") || "");
63
60
  }
64
61
  opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
65
62
  const secretOpts = { additionalSecretOutputs: ["apiToken"] };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../provider.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,uDAAyC;AACzC,uDAAyC;AAEzC;;GAEG;AACH,MAAa,QAAS,SAAQ,MAAM,CAAC,gBAAgB;IACjD,gBAAgB;IACT,MAAM,CAAU,YAAY,GAAG,SAAS,CAAC;IAEhD;;;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,mBAAmB,GAAG,QAAQ,CAAC,YAAY,CAAC;IAC/E,CAAC;IAWD;;;;;;OAMG;IACH,YAAY,IAAY,EAAE,IAAmB,EAAE,IAA6B;QACxE,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB;YACI,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1I,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;SAC/F;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,EAAE,uBAAuB,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7D,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC7C,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;;AA1CL,4BA2CC"}
package/s3storage.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
2
  /**
3
- * A Coolify S3-compatible storage destination, e.g. an R2 bucket for backups.
3
+ * A Coolify S3-compatible storage destination, e.g. an R2 bucket for backups. An existing storage with the same name is adopted on create.
4
4
  */
5
5
  export declare class S3Storage extends pulumi.CustomResource {
6
6
  /**
@@ -17,15 +17,41 @@ export declare class S3Storage 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 S3Storage;
20
+ /**
21
+ * S3 access key.
22
+ */
23
+ readonly accessKey: pulumi.Output<string>;
24
+ /**
25
+ * S3 bucket name.
26
+ */
20
27
  readonly bucket: pulumi.Output<string>;
21
- readonly description: pulumi.Output<string>;
28
+ /**
29
+ * Description of the storage.
30
+ */
31
+ readonly description: pulumi.Output<string | undefined>;
32
+ /**
33
+ * S3 endpoint URL, e.g. https://<account>.eu.r2.cloudflarestorage.com.
34
+ */
22
35
  readonly endpoint: pulumi.Output<string>;
23
36
  /**
24
37
  * Whether Coolify validated the storage as usable.
25
38
  */
26
39
  readonly isUsable: pulumi.Output<boolean>;
40
+ /**
41
+ * Name of the storage. An existing storage with this name is adopted.
42
+ */
27
43
  readonly name: pulumi.Output<string>;
28
- readonly region: pulumi.Output<string>;
44
+ /**
45
+ * S3 region ("auto" for R2).
46
+ */
47
+ readonly region: pulumi.Output<string | undefined>;
48
+ /**
49
+ * S3 secret key.
50
+ */
51
+ readonly secretKey: pulumi.Output<string>;
52
+ /**
53
+ * UUID of the storage in Coolify.
54
+ */
29
55
  readonly uuid: pulumi.Output<string>;
30
56
  /**
31
57
  * Create a S3Storage resource with the given unique name, arguments, and options.
@@ -41,16 +67,31 @@ export declare class S3Storage extends pulumi.CustomResource {
41
67
  */
42
68
  export interface S3StorageArgs {
43
69
  /**
44
- * S3 access key. Never stored in state.
70
+ * S3 access key.
45
71
  */
46
72
  accessKey: pulumi.Input<string>;
73
+ /**
74
+ * S3 bucket name.
75
+ */
47
76
  bucket: pulumi.Input<string>;
77
+ /**
78
+ * Description of the storage.
79
+ */
48
80
  description?: pulumi.Input<string | undefined>;
81
+ /**
82
+ * S3 endpoint URL, e.g. https://<account>.eu.r2.cloudflarestorage.com.
83
+ */
49
84
  endpoint: pulumi.Input<string>;
85
+ /**
86
+ * Name of the storage. An existing storage with this name is adopted.
87
+ */
50
88
  name: pulumi.Input<string>;
89
+ /**
90
+ * S3 region ("auto" for R2).
91
+ */
51
92
  region?: pulumi.Input<string | undefined>;
52
93
  /**
53
- * S3 secret key. Never stored in state.
94
+ * S3 secret key.
54
95
  */
55
96
  secretKey: pulumi.Input<string>;
56
97
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s3storage.d.ts","sourceRoot":"","sources":["../s3storage.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAGzC;;GAEG;AACH,qBAAa,SAAU,SAAQ,MAAM,CAAC,cAAc;IAChD;;;;;;;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,SAAS;IAO5G;;;OAGG;WACW,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,SAAS;IAOpD;;OAEG;IACH,SAAwB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzD;;OAEG;IACH,SAAwB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtD;;OAEG;IACH,SAAwB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACvE;;OAEG;IACH,SAAwB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxD;;OAEG;IACH,SAAgC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjE;;OAEG;IACH,SAAwB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpD;;OAEG;IACH,SAAwB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAClE;;OAEG;IACH,SAAwB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzD;;OAEG;IACH,SAAgC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE5D;;;;;;OAMG;gBACS,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,qBAAqB;CA4CrF;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC/C;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC1C;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;CACnC"}
package/s3storage.js CHANGED
@@ -29,7 +29,7 @@ exports.S3Storage = void 0;
29
29
  const pulumi = __importStar(require("@pulumi/pulumi"));
30
30
  const utilities = __importStar(require("./utilities"));
31
31
  /**
32
- * A Coolify S3-compatible storage destination, e.g. an R2 bucket for backups.
32
+ * A Coolify S3-compatible storage destination, e.g. an R2 bucket for backups. An existing storage with the same name is adopted on create.
33
33
  */
34
34
  class S3Storage extends pulumi.CustomResource {
35
35
  /**
@@ -92,15 +92,19 @@ class S3Storage extends pulumi.CustomResource {
92
92
  resourceInputs["uuid"] = undefined /*out*/;
93
93
  }
94
94
  else {
95
+ resourceInputs["accessKey"] = undefined /*out*/;
95
96
  resourceInputs["bucket"] = undefined /*out*/;
96
97
  resourceInputs["description"] = undefined /*out*/;
97
98
  resourceInputs["endpoint"] = undefined /*out*/;
98
99
  resourceInputs["isUsable"] = undefined /*out*/;
99
100
  resourceInputs["name"] = undefined /*out*/;
100
101
  resourceInputs["region"] = undefined /*out*/;
102
+ resourceInputs["secretKey"] = undefined /*out*/;
101
103
  resourceInputs["uuid"] = undefined /*out*/;
102
104
  }
103
105
  opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
106
+ const secretOpts = { additionalSecretOutputs: ["accessKey", "secretKey"] };
107
+ opts = pulumi.mergeOptions(opts, secretOpts);
104
108
  super(S3Storage.__pulumiType, name, resourceInputs, opts);
105
109
  }
106
110
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s3storage.js","sourceRoot":"","sources":["../s3storage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,94 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * A scheduled task (cron job) on a Coolify application. An existing task with the same name on the application is adopted on create.
4
+ */
5
+ export declare class ScheduledTask extends pulumi.CustomResource {
6
+ /**
7
+ * Get an existing ScheduledTask 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): ScheduledTask;
15
+ /**
16
+ * Returns true if the given object is an instance of ScheduledTask. 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 ScheduledTask;
20
+ /**
21
+ * UUID of the Coolify application the task runs on (the uuid output of an Application resource).
22
+ */
23
+ readonly applicationUuid: pulumi.Output<string>;
24
+ /**
25
+ * Command to execute.
26
+ */
27
+ readonly command: pulumi.Output<string>;
28
+ /**
29
+ * Container to run the command in. Defaults to the application's container.
30
+ */
31
+ readonly container: pulumi.Output<string | undefined>;
32
+ /**
33
+ * Whether the task is enabled.
34
+ */
35
+ readonly enabled: pulumi.Output<boolean>;
36
+ /**
37
+ * Cron expression or Coolify shorthand such as "daily", "hourly" or "@every 5m".
38
+ */
39
+ readonly frequency: pulumi.Output<string>;
40
+ /**
41
+ * Name of the task. An existing task with this name on the application is adopted.
42
+ */
43
+ readonly name: pulumi.Output<string>;
44
+ /**
45
+ * Timeout in seconds. Leave unset to keep Coolify's default.
46
+ */
47
+ readonly timeout: pulumi.Output<number | undefined>;
48
+ /**
49
+ * UUID of the task in Coolify.
50
+ */
51
+ readonly uuid: pulumi.Output<string>;
52
+ /**
53
+ * Create a ScheduledTask resource with the given unique name, arguments, and options.
54
+ *
55
+ * @param name The _unique_ name of the resource.
56
+ * @param args The arguments to use to populate this resource's properties.
57
+ * @param opts A bag of options that control this resource's behavior.
58
+ */
59
+ constructor(name: string, args: ScheduledTaskArgs, opts?: pulumi.CustomResourceOptions);
60
+ }
61
+ /**
62
+ * The set of arguments for constructing a ScheduledTask resource.
63
+ */
64
+ export interface ScheduledTaskArgs {
65
+ /**
66
+ * UUID of the Coolify application the task runs on (the uuid output of an Application resource).
67
+ */
68
+ applicationUuid: pulumi.Input<string>;
69
+ /**
70
+ * Command to execute.
71
+ */
72
+ command: pulumi.Input<string>;
73
+ /**
74
+ * Container to run the command in. Defaults to the application's container.
75
+ */
76
+ container?: pulumi.Input<string | undefined>;
77
+ /**
78
+ * Whether the task is enabled.
79
+ */
80
+ enabled?: pulumi.Input<boolean | undefined>;
81
+ /**
82
+ * Cron expression or Coolify shorthand such as "daily", "hourly" or "@every 5m".
83
+ */
84
+ frequency: pulumi.Input<string>;
85
+ /**
86
+ * Name of the task. An existing task with this name on the application is adopted.
87
+ */
88
+ name: pulumi.Input<string>;
89
+ /**
90
+ * Timeout in seconds. Leave unset to keep Coolify's default.
91
+ */
92
+ timeout?: pulumi.Input<number | undefined>;
93
+ }
94
+ //# sourceMappingURL=scheduledTask.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduledTask.d.ts","sourceRoot":"","sources":["../scheduledTask.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAGzC;;GAEG;AACH,qBAAa,aAAc,SAAQ,MAAM,CAAC,cAAc;IACpD;;;;;;;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,aAAa;IAOhH;;;OAGG;WACW,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,aAAa;IAOxD;;OAEG;IACH,SAAwB,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/D;;OAEG;IACH,SAAwB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvD;;OAEG;IACH,SAAwB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACrE;;OAEG;IACH,SAAwB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxD;;OAEG;IACH,SAAwB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzD;;OAEG;IACH,SAAwB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpD;;OAEG;IACH,SAAwB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACnE;;OAEG;IACH,SAAgC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE5D;;;;;;OAMG;gBACS,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,qBAAqB;CAqCzF;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC7C;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAC5C;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC9C"}
@@ -0,0 +1,105 @@
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.ScheduledTask = void 0;
29
+ const pulumi = __importStar(require("@pulumi/pulumi"));
30
+ const utilities = __importStar(require("./utilities"));
31
+ /**
32
+ * A scheduled task (cron job) on a Coolify application. An existing task with the same name on the application is adopted on create.
33
+ */
34
+ class ScheduledTask extends pulumi.CustomResource {
35
+ /**
36
+ * Get an existing ScheduledTask 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 ScheduledTask(name, undefined, { ...opts, id: id });
45
+ }
46
+ /** @internal */
47
+ static __pulumiType = 'coolify:index:ScheduledTask';
48
+ /**
49
+ * Returns true if the given object is an instance of ScheduledTask. 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'] === ScheduledTask.__pulumiType;
57
+ }
58
+ /**
59
+ * Create a ScheduledTask 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?.applicationUuid === undefined && !opts.urn) {
70
+ throw new Error("Missing required property 'applicationUuid'");
71
+ }
72
+ if (args?.command === undefined && !opts.urn) {
73
+ throw new Error("Missing required property 'command'");
74
+ }
75
+ if (args?.frequency === undefined && !opts.urn) {
76
+ throw new Error("Missing required property 'frequency'");
77
+ }
78
+ if (args?.name === undefined && !opts.urn) {
79
+ throw new Error("Missing required property 'name'");
80
+ }
81
+ resourceInputs["applicationUuid"] = args?.applicationUuid;
82
+ resourceInputs["command"] = args?.command;
83
+ resourceInputs["container"] = args?.container;
84
+ resourceInputs["enabled"] = (args?.enabled) ?? true;
85
+ resourceInputs["frequency"] = args?.frequency;
86
+ resourceInputs["name"] = args?.name;
87
+ resourceInputs["timeout"] = args?.timeout;
88
+ resourceInputs["uuid"] = undefined /*out*/;
89
+ }
90
+ else {
91
+ resourceInputs["applicationUuid"] = undefined /*out*/;
92
+ resourceInputs["command"] = undefined /*out*/;
93
+ resourceInputs["container"] = undefined /*out*/;
94
+ resourceInputs["enabled"] = undefined /*out*/;
95
+ resourceInputs["frequency"] = undefined /*out*/;
96
+ resourceInputs["name"] = undefined /*out*/;
97
+ resourceInputs["timeout"] = undefined /*out*/;
98
+ resourceInputs["uuid"] = undefined /*out*/;
99
+ }
100
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
101
+ super(ScheduledTask.__pulumiType, name, resourceInputs, opts);
102
+ }
103
+ }
104
+ exports.ScheduledTask = ScheduledTask;
105
+ //# sourceMappingURL=scheduledTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduledTask.js","sourceRoot":"","sources":["../scheduledTask.ts"],"names":[],"mappings":"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"}
package/server.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
2
  /**
3
- * A Coolify server connected over SSH with a Coolify private key.
3
+ * A Coolify server connected over SSH with a Coolify private key. An existing server with the same name is adopted on create.
4
4
  */
5
5
  export declare class Server extends pulumi.CustomResource {
6
6
  /**
@@ -17,12 +17,33 @@ export declare class Server 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 Server;
20
- readonly description: pulumi.Output<string>;
20
+ /**
21
+ * Description of the server.
22
+ */
23
+ readonly description: pulumi.Output<string | undefined>;
24
+ /**
25
+ * IP address or hostname of the server.
26
+ */
21
27
  readonly ip: pulumi.Output<string>;
28
+ /**
29
+ * Name of the server. An existing server with this name is adopted.
30
+ */
22
31
  readonly name: pulumi.Output<string>;
32
+ /**
33
+ * SSH port.
34
+ */
23
35
  readonly port: pulumi.Output<number>;
36
+ /**
37
+ * UUID of the Coolify private key used to connect (the uuid output of a PrivateKey resource).
38
+ */
24
39
  readonly privateKeyUuid: pulumi.Output<string>;
40
+ /**
41
+ * SSH user.
42
+ */
25
43
  readonly user: pulumi.Output<string>;
44
+ /**
45
+ * UUID of the server in Coolify.
46
+ */
26
47
  readonly uuid: pulumi.Output<string>;
27
48
  /**
28
49
  * Create a Server resource with the given unique name, arguments, and options.
@@ -37,14 +58,29 @@ export declare class Server extends pulumi.CustomResource {
37
58
  * The set of arguments for constructing a Server resource.
38
59
  */
39
60
  export interface ServerArgs {
61
+ /**
62
+ * Description of the server.
63
+ */
40
64
  description?: pulumi.Input<string | undefined>;
65
+ /**
66
+ * IP address or hostname of the server.
67
+ */
41
68
  ip: pulumi.Input<string>;
69
+ /**
70
+ * Name of the server. An existing server with this name is adopted.
71
+ */
42
72
  name: pulumi.Input<string>;
73
+ /**
74
+ * SSH port.
75
+ */
43
76
  port?: pulumi.Input<number | undefined>;
44
77
  /**
45
- * UUID of the Coolify private key used to connect. Usually the id output of a PrivateKey resource.
78
+ * UUID of the Coolify private key used to connect (the uuid output of a PrivateKey resource).
46
79
  */
47
80
  privateKeyUuid: pulumi.Input<string>;
81
+ /**
82
+ * SSH user.
83
+ */
48
84
  user?: pulumi.Input<string | undefined>;
49
85
  }
50
86
  //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../server.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAGzC;;GAEG;AACH,qBAAa,MAAO,SAAQ,MAAM,CAAC,cAAc;IAC7C;;;;;;;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,MAAM;IAOzG;;;OAGG;WACW,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,MAAM;IAOjD;;OAEG;IACH,SAAwB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACvE;;OAEG;IACH,SAAwB,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClD;;OAEG;IACH,SAAwB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpD;;OAEG;IACH,SAAwB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpD;;OAEG;IACH,SAAwB,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9D;;OAEG;IACH,SAAwB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpD;;OAEG;IACH,SAAgC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE5D;;;;;;OAMG;gBACS,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,qBAAqB;CAgClF;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC/C;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACzB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACxC;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACrC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC3C"}
package/server.js CHANGED
@@ -29,7 +29,7 @@ exports.Server = void 0;
29
29
  const pulumi = __importStar(require("@pulumi/pulumi"));
30
30
  const utilities = __importStar(require("./utilities"));
31
31
  /**
32
- * A Coolify server connected over SSH with a Coolify private key.
32
+ * A Coolify server connected over SSH with a Coolify private key. An existing server with the same name is adopted on create.
33
33
  */
34
34
  class Server extends pulumi.CustomResource {
35
35
  /**
@@ -78,9 +78,9 @@ class Server extends pulumi.CustomResource {
78
78
  resourceInputs["description"] = args?.description;
79
79
  resourceInputs["ip"] = args?.ip;
80
80
  resourceInputs["name"] = args?.name;
81
- resourceInputs["port"] = args?.port;
81
+ resourceInputs["port"] = (args?.port) ?? 22;
82
82
  resourceInputs["privateKeyUuid"] = args?.privateKeyUuid;
83
- resourceInputs["user"] = args?.user;
83
+ resourceInputs["user"] = (args?.user) ?? "root";
84
84
  resourceInputs["uuid"] = undefined /*out*/;
85
85
  }
86
86
  else {
package/server.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../server.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,uDAAyC;AACzC,uDAAyC;AAEzC;;GAEG;AACH,MAAa,MAAO,SAAQ,MAAM,CAAC,cAAc;IAC7C;;;;;;;OAOG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,IAAmC;QAC5F,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,SAAgB,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,gBAAgB;IACT,MAAM,CAAU,YAAY,GAAG,sBAAsB,CAAC;IAE7D;;;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,MAAM,CAAC,YAAY,CAAC;IACvD,CAAC;IA+BD;;;;;;OAMG;IACH,YAAY,IAAY,EAAE,IAAgB,EAAE,IAAmC;QAC3E,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YACV,IAAI,IAAI,EAAE,EAAE,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACrC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;aACrD;YACD,IAAI,IAAI,EAAE,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACvC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;aACvD;YACD,IAAI,IAAI,EAAE,cAAc,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACjD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aACjE;YACD,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC;YAChC,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5C,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,EAAE,cAAc,CAAC;YACxD,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC;YAChD,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SAC9C;aAAM;YACH,cAAc,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAClD,cAAc,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YACzC,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC3C,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC3C,cAAc,CAAC,gBAAgB,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YACrD,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC3C,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,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;;AA9FL,wBA+FC"}
package/service.d.ts ADDED
@@ -0,0 +1,130 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * A Coolify service from a one-click template or a docker compose file. An existing service with the same name in the environment is adopted on create.
4
+ */
5
+ export declare class Service extends pulumi.CustomResource {
6
+ /**
7
+ * Get an existing Service 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): Service;
15
+ /**
16
+ * Returns true if the given object is an instance of Service. 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 Service;
20
+ /**
21
+ * Connect the service to Coolify's predefined Docker network.
22
+ */
23
+ readonly connectToDockerNetwork: pulumi.Output<boolean | undefined>;
24
+ /**
25
+ * Description of the service.
26
+ */
27
+ readonly description: pulumi.Output<string | undefined>;
28
+ /**
29
+ * UUID of the destination when the server has several. Only relevant on create.
30
+ */
31
+ readonly destinationUuid: pulumi.Output<string | undefined>;
32
+ /**
33
+ * Docker compose file content for custom services. Exactly one of type and dockerCompose must be set. Coolify does not report the compose file back, so drift on this input is not detected.
34
+ */
35
+ readonly dockerCompose: pulumi.Output<string | undefined>;
36
+ /**
37
+ * Name of the environment inside the project. Changing it moves the service in place; the environment must already exist.
38
+ */
39
+ readonly environmentName: pulumi.Output<string>;
40
+ /**
41
+ * Environment variables managed by key. Declared keys missing in Coolify are created as hidden values; existing keys are never patched and undeclared keys are left untouched.
42
+ */
43
+ readonly environmentVariables: pulumi.Output<{
44
+ [key: string]: string;
45
+ } | undefined>;
46
+ /**
47
+ * Start the service right after creating it. Only relevant on create.
48
+ */
49
+ readonly instantDeploy: pulumi.Output<boolean | undefined>;
50
+ /**
51
+ * Service name. Defaults to the Pulumi resource name. An existing service with this name in the environment is adopted.
52
+ */
53
+ readonly name: pulumi.Output<string | undefined>;
54
+ /**
55
+ * UUID of the Coolify project (the uuid output of a Project resource). Changing it moves the service to the new project in place.
56
+ */
57
+ readonly projectUuid: pulumi.Output<string>;
58
+ /**
59
+ * UUID of the server hosting the service (the uuid output of a Server resource). Changing it replaces the service.
60
+ */
61
+ readonly serverUuid: pulumi.Output<string>;
62
+ /**
63
+ * One-click service type, e.g. "plausible" or "gitea-with-mysql". Exactly one of type and dockerCompose must be set. Changing it replaces the service.
64
+ */
65
+ readonly type: pulumi.Output<string | undefined>;
66
+ /**
67
+ * UUID of the service in Coolify.
68
+ */
69
+ readonly uuid: pulumi.Output<string>;
70
+ /**
71
+ * Create a Service resource with the given unique name, arguments, and options.
72
+ *
73
+ * @param name The _unique_ name of the resource.
74
+ * @param args The arguments to use to populate this resource's properties.
75
+ * @param opts A bag of options that control this resource's behavior.
76
+ */
77
+ constructor(name: string, args: ServiceArgs, opts?: pulumi.CustomResourceOptions);
78
+ }
79
+ /**
80
+ * The set of arguments for constructing a Service resource.
81
+ */
82
+ export interface ServiceArgs {
83
+ /**
84
+ * Connect the service to Coolify's predefined Docker network.
85
+ */
86
+ connectToDockerNetwork?: pulumi.Input<boolean | undefined>;
87
+ /**
88
+ * Description of the service.
89
+ */
90
+ description?: pulumi.Input<string | undefined>;
91
+ /**
92
+ * UUID of the destination when the server has several. Only relevant on create.
93
+ */
94
+ destinationUuid?: pulumi.Input<string | undefined>;
95
+ /**
96
+ * Docker compose file content for custom services. Exactly one of type and dockerCompose must be set. Coolify does not report the compose file back, so drift on this input is not detected.
97
+ */
98
+ dockerCompose?: pulumi.Input<string | undefined>;
99
+ /**
100
+ * Name of the environment inside the project. Changing it moves the service in place; the environment must already exist.
101
+ */
102
+ environmentName: pulumi.Input<string>;
103
+ /**
104
+ * Environment variables managed by key. Declared keys missing in Coolify are created as hidden values; existing keys are never patched and undeclared keys are left untouched.
105
+ */
106
+ environmentVariables?: pulumi.Input<{
107
+ [key: string]: pulumi.Input<string>;
108
+ } | undefined>;
109
+ /**
110
+ * Start the service right after creating it. Only relevant on create.
111
+ */
112
+ instantDeploy?: pulumi.Input<boolean | undefined>;
113
+ /**
114
+ * Service name. Defaults to the Pulumi resource name. An existing service with this name in the environment is adopted.
115
+ */
116
+ name?: pulumi.Input<string | undefined>;
117
+ /**
118
+ * UUID of the Coolify project (the uuid output of a Project resource). Changing it moves the service to the new project in place.
119
+ */
120
+ projectUuid: pulumi.Input<string>;
121
+ /**
122
+ * UUID of the server hosting the service (the uuid output of a Server resource). Changing it replaces the service.
123
+ */
124
+ serverUuid: pulumi.Input<string>;
125
+ /**
126
+ * One-click service type, e.g. "plausible" or "gitea-with-mysql". Exactly one of type and dockerCompose must be set. Changing it replaces the service.
127
+ */
128
+ type?: pulumi.Input<string | undefined>;
129
+ }
130
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../service.ts"],"names":[],"mappings":"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"}