@mks2508/coolify-mks-cli-mcp 0.4.1 → 0.4.3
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.
- package/dist/cli/index.js +20 -6
- package/dist/coolify/index.d.ts.map +1 -1
- package/dist/index.cjs +23 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +23 -1
- package/dist/index.js.map +1 -1
- package/dist/server/stdio.js +20 -6
- package/package.json +1 -1
- package/src/coolify/index.ts +22 -7
package/dist/server/stdio.js
CHANGED
|
@@ -17293,13 +17293,27 @@ class CoolifyService {
|
|
|
17293
17293
|
for (const [key, value] of Object.entries(envVars)) {
|
|
17294
17294
|
const result = await this.request(`/applications/${appUuid}/envs`, {
|
|
17295
17295
|
method: "POST",
|
|
17296
|
-
body: JSON.stringify({
|
|
17297
|
-
key,
|
|
17298
|
-
value,
|
|
17299
|
-
is_preview: false
|
|
17300
|
-
})
|
|
17296
|
+
body: JSON.stringify({ key, value, is_preview: false })
|
|
17301
17297
|
});
|
|
17302
|
-
if (result.error) {
|
|
17298
|
+
if (result.error && result.error.includes("already exists")) {
|
|
17299
|
+
const listResult = await this.request(`/applications/${appUuid}/envs`);
|
|
17300
|
+
const existing = listResult.data?.find((v) => v.key === key);
|
|
17301
|
+
if (existing) {
|
|
17302
|
+
await this.request(`/applications/${appUuid}/envs/${existing.uuid}`, { method: "DELETE" });
|
|
17303
|
+
const repost = await this.request(`/applications/${appUuid}/envs`, {
|
|
17304
|
+
method: "POST",
|
|
17305
|
+
body: JSON.stringify({ key, value, is_preview: false })
|
|
17306
|
+
});
|
|
17307
|
+
if (repost.error) {
|
|
17308
|
+
log.error(`Failed to update env var ${key}: ${repost.error}`);
|
|
17309
|
+
return err(new Error(`Failed to update ${key}: ${repost.error}`));
|
|
17310
|
+
}
|
|
17311
|
+
log.debug(`Updated existing env var: ${key}`);
|
|
17312
|
+
} else {
|
|
17313
|
+
log.error(`Failed to set env var ${key}: ${result.error}`);
|
|
17314
|
+
return err(new Error(`Failed to set ${key}: ${result.error}`));
|
|
17315
|
+
}
|
|
17316
|
+
} else if (result.error) {
|
|
17303
17317
|
log.error(`Failed to set env var ${key}: ${result.error}`);
|
|
17304
17318
|
return err(new Error(`Failed to set ${key}: ${result.error}`));
|
|
17305
17319
|
}
|
package/package.json
CHANGED
package/src/coolify/index.ts
CHANGED
|
@@ -364,18 +364,33 @@ export class CoolifyService {
|
|
|
364
364
|
): Promise<Result<void, Error>> {
|
|
365
365
|
log.info(`Setting ${Object.keys(envVars).length} environment variables for ${appUuid}`)
|
|
366
366
|
|
|
367
|
-
// Coolify API
|
|
367
|
+
// Coolify API: POST to create, PATCH to update existing
|
|
368
368
|
for (const [key, value] of Object.entries(envVars)) {
|
|
369
369
|
const result = await this.request(`/applications/${appUuid}/envs`, {
|
|
370
370
|
method: 'POST',
|
|
371
|
-
body: JSON.stringify({
|
|
372
|
-
key,
|
|
373
|
-
value,
|
|
374
|
-
is_preview: false,
|
|
375
|
-
}),
|
|
371
|
+
body: JSON.stringify({ key, value, is_preview: false }),
|
|
376
372
|
})
|
|
377
373
|
|
|
378
|
-
if (result.error) {
|
|
374
|
+
if (result.error && result.error.includes('already exists')) {
|
|
375
|
+
// Var exists — DELETE + re-POST (Coolify PATCH on envs returns 404)
|
|
376
|
+
const listResult = await this.request<Array<{ uuid: string; key: string }>>(`/applications/${appUuid}/envs`)
|
|
377
|
+
const existing = listResult.data?.find((v) => v.key === key)
|
|
378
|
+
if (existing) {
|
|
379
|
+
await this.request(`/applications/${appUuid}/envs/${existing.uuid}`, { method: 'DELETE' })
|
|
380
|
+
const repost = await this.request(`/applications/${appUuid}/envs`, {
|
|
381
|
+
method: 'POST',
|
|
382
|
+
body: JSON.stringify({ key, value, is_preview: false }),
|
|
383
|
+
})
|
|
384
|
+
if (repost.error) {
|
|
385
|
+
log.error(`Failed to update env var ${key}: ${repost.error}`)
|
|
386
|
+
return err(new Error(`Failed to update ${key}: ${repost.error}`))
|
|
387
|
+
}
|
|
388
|
+
log.debug(`Updated existing env var: ${key}`)
|
|
389
|
+
} else {
|
|
390
|
+
log.error(`Failed to set env var ${key}: ${result.error}`)
|
|
391
|
+
return err(new Error(`Failed to set ${key}: ${result.error}`))
|
|
392
|
+
}
|
|
393
|
+
} else if (result.error) {
|
|
379
394
|
log.error(`Failed to set env var ${key}: ${result.error}`)
|
|
380
395
|
return err(new Error(`Failed to set ${key}: ${result.error}`))
|
|
381
396
|
}
|