@mks2508/coolify-mks-cli-mcp 0.2.1 → 0.3.1
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 +163 -6
- package/dist/coolify/index.d.ts +49 -0
- package/dist/coolify/index.d.ts.map +1 -1
- package/dist/coolify/types.d.ts +10 -2
- package/dist/coolify/types.d.ts.map +1 -1
- package/dist/index.cjs +174 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +174 -6
- package/dist/index.js.map +1 -1
- package/dist/server/stdio.js +379 -8
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/handlers.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/cli/commands/create.ts +3 -1
- package/src/cli/commands/env.ts +43 -1
- package/src/cli/commands/projects.ts +18 -1
- package/src/cli/commands/update.ts +7 -1
- package/src/cli/index.ts +14 -4
- package/src/coolify/index.ts +212 -3
- package/src/coolify/types.ts +10 -2
- package/src/index.ts +10 -3
- package/src/tools/definitions.ts +141 -4
- package/src/tools/handlers.ts +168 -5
package/dist/cli/index.js
CHANGED
|
@@ -11308,6 +11308,9 @@ class CoolifyService {
|
|
|
11308
11308
|
if (options.dockerfileLocation) {
|
|
11309
11309
|
body.dockerfile_location = options.dockerfileLocation;
|
|
11310
11310
|
}
|
|
11311
|
+
if (options.dockerComposeLocation) {
|
|
11312
|
+
body.docker_compose_location = options.dockerComposeLocation;
|
|
11313
|
+
}
|
|
11311
11314
|
if (options.baseDirectory) {
|
|
11312
11315
|
body.base_directory = options.baseDirectory;
|
|
11313
11316
|
}
|
|
@@ -11359,6 +11362,58 @@ class CoolifyService {
|
|
|
11359
11362
|
log.success(`Environment variables retrieved for ${appUuid}`);
|
|
11360
11363
|
return ok(result.data || []);
|
|
11361
11364
|
}
|
|
11365
|
+
async setEnvironmentVariable(appUuid, key, value, isBuildTime = false) {
|
|
11366
|
+
log.info(`Setting environment variable ${key} for ${appUuid}`);
|
|
11367
|
+
const existingVars = await this.getEnvironmentVariables(appUuid);
|
|
11368
|
+
if (isErr(existingVars)) {
|
|
11369
|
+
return err(existingVars.error);
|
|
11370
|
+
}
|
|
11371
|
+
const exists = existingVars.value.some((ev) => ev.key === key);
|
|
11372
|
+
if (exists) {
|
|
11373
|
+
log.debug(`Variable ${key} exists, using PATCH to update`);
|
|
11374
|
+
const result = await this.request(`/applications/${appUuid}/envs`, {
|
|
11375
|
+
method: "PATCH",
|
|
11376
|
+
body: JSON.stringify({ key, value })
|
|
11377
|
+
});
|
|
11378
|
+
if (result.error) {
|
|
11379
|
+
log.error(`Failed to update env var: ${result.error}`);
|
|
11380
|
+
return err(new Error(result.error));
|
|
11381
|
+
}
|
|
11382
|
+
} else {
|
|
11383
|
+
log.debug(`Variable ${key} does not exist, using POST to create`);
|
|
11384
|
+
const result = await this.request(`/applications/${appUuid}/envs`, {
|
|
11385
|
+
method: "POST",
|
|
11386
|
+
body: JSON.stringify({ key, value })
|
|
11387
|
+
});
|
|
11388
|
+
if (result.error) {
|
|
11389
|
+
log.error(`Failed to create env var: ${result.error}`);
|
|
11390
|
+
return err(new Error(result.error));
|
|
11391
|
+
}
|
|
11392
|
+
}
|
|
11393
|
+
log.success(`Environment variable ${key} set for ${appUuid}`);
|
|
11394
|
+
return ok(undefined);
|
|
11395
|
+
}
|
|
11396
|
+
async deleteEnvironmentVariable(appUuid, key) {
|
|
11397
|
+
log.info(`Deleting environment variable ${key} from ${appUuid}`);
|
|
11398
|
+
const envVarsResult = await this.getEnvironmentVariables(appUuid);
|
|
11399
|
+
if (isErr(envVarsResult)) {
|
|
11400
|
+
return err(envVarsResult.error);
|
|
11401
|
+
}
|
|
11402
|
+
const envVar = envVarsResult.value.find((ev) => ev.key === key);
|
|
11403
|
+
if (!envVar) {
|
|
11404
|
+
log.error(`Environment variable ${key} not found`);
|
|
11405
|
+
return err(new Error(`Environment variable ${key} not found`));
|
|
11406
|
+
}
|
|
11407
|
+
const result = await this.request(`/applications/${appUuid}/envs/${envVar.uuid}`, {
|
|
11408
|
+
method: "DELETE"
|
|
11409
|
+
});
|
|
11410
|
+
if (result.error) {
|
|
11411
|
+
log.error(`Failed to delete env var: ${result.error}`);
|
|
11412
|
+
return err(new Error(result.error));
|
|
11413
|
+
}
|
|
11414
|
+
log.success(`Environment variable ${key} deleted from ${appUuid}`);
|
|
11415
|
+
return ok(undefined);
|
|
11416
|
+
}
|
|
11362
11417
|
async getApplicationStatus(appUuid) {
|
|
11363
11418
|
const result = await this.request(`/applications/${appUuid}`);
|
|
11364
11419
|
if (result.error) {
|
|
@@ -11390,6 +11445,19 @@ class CoolifyService {
|
|
|
11390
11445
|
}
|
|
11391
11446
|
return ok(result.data || []);
|
|
11392
11447
|
}
|
|
11448
|
+
async createProject(name, description) {
|
|
11449
|
+
log.info(`Creating project: ${name}`);
|
|
11450
|
+
const result = await this.request("/projects", {
|
|
11451
|
+
method: "POST",
|
|
11452
|
+
body: JSON.stringify({ name, description: description || "" })
|
|
11453
|
+
});
|
|
11454
|
+
if (result.error) {
|
|
11455
|
+
log.error(`Failed to create project: ${result.error}`);
|
|
11456
|
+
return err(new Error(result.error));
|
|
11457
|
+
}
|
|
11458
|
+
log.success(`Project created: ${result.data?.uuid}`);
|
|
11459
|
+
return ok(result.data);
|
|
11460
|
+
}
|
|
11393
11461
|
async getProjectEnvironments(projectUuid) {
|
|
11394
11462
|
log.info(`Getting environments for project ${projectUuid}`);
|
|
11395
11463
|
const result = await this.request(`/projects/${projectUuid}`);
|
|
@@ -11468,6 +11536,12 @@ class CoolifyService {
|
|
|
11468
11536
|
body.dockerfile_location = options.dockerfileLocation;
|
|
11469
11537
|
if (options.baseDirectory)
|
|
11470
11538
|
body.base_directory = options.baseDirectory;
|
|
11539
|
+
if (options.domains)
|
|
11540
|
+
body.domains = options.domains;
|
|
11541
|
+
if (options.isForceHttpsEnabled !== undefined)
|
|
11542
|
+
body.is_force_https_enabled = options.isForceHttpsEnabled;
|
|
11543
|
+
if (options.isAutoDeployEnabled !== undefined)
|
|
11544
|
+
body.is_auto_deploy_enabled = options.isAutoDeployEnabled;
|
|
11471
11545
|
const result = await this.request(`/applications/${appUuid}`, {
|
|
11472
11546
|
method: "PATCH",
|
|
11473
11547
|
body: JSON.stringify(body)
|
|
@@ -11492,9 +11566,12 @@ class CoolifyService {
|
|
|
11492
11566
|
log.error(`Failed to get logs: ${result.error}`);
|
|
11493
11567
|
return err(new Error(result.error));
|
|
11494
11568
|
}
|
|
11569
|
+
const rawLogs = result.data?.logs;
|
|
11570
|
+
const logsArray = Array.isArray(rawLogs) ? rawLogs : typeof rawLogs === "string" ? rawLogs.split(`
|
|
11571
|
+
`).filter((l) => l.length > 0) : [];
|
|
11495
11572
|
log.success(`Logs retrieved for application: ${appUuid}`);
|
|
11496
11573
|
return ok({
|
|
11497
|
-
logs:
|
|
11574
|
+
logs: logsArray,
|
|
11498
11575
|
timestamp: new Date().toISOString()
|
|
11499
11576
|
});
|
|
11500
11577
|
}
|
|
@@ -11544,6 +11621,43 @@ class CoolifyService {
|
|
|
11544
11621
|
log.success(`Application restarted: ${appUuid}`);
|
|
11545
11622
|
return ok(result.data);
|
|
11546
11623
|
}
|
|
11624
|
+
async listDeployments() {
|
|
11625
|
+
log.info("Listing active deployments");
|
|
11626
|
+
const result = await this.request("/deployments");
|
|
11627
|
+
if (result.error) {
|
|
11628
|
+
log.error(`Failed to list deployments: ${result.error}`);
|
|
11629
|
+
return err(new Error(result.error));
|
|
11630
|
+
}
|
|
11631
|
+
log.success(`Listed ${result.data?.length || 0} active deployments`);
|
|
11632
|
+
return ok(result.data || []);
|
|
11633
|
+
}
|
|
11634
|
+
async getDeployment(deploymentUuid) {
|
|
11635
|
+
log.info(`Getting deployment details for ${deploymentUuid}`);
|
|
11636
|
+
const result = await this.request(`/deployments/${deploymentUuid}`);
|
|
11637
|
+
if (result.error) {
|
|
11638
|
+
log.error(`Failed to get deployment: ${result.error}`);
|
|
11639
|
+
return err(new Error(result.error));
|
|
11640
|
+
}
|
|
11641
|
+
log.success(`Deployment details retrieved: ${deploymentUuid}`);
|
|
11642
|
+
return ok(result.data);
|
|
11643
|
+
}
|
|
11644
|
+
async getApplicationDeployments(appUuid, skip = 0, take = 10) {
|
|
11645
|
+
log.info(`Getting deployments for application ${appUuid}`);
|
|
11646
|
+
const params = new URLSearchParams;
|
|
11647
|
+
if (skip > 0)
|
|
11648
|
+
params.set("skip", skip.toString());
|
|
11649
|
+
if (take !== 10)
|
|
11650
|
+
params.set("take", take.toString());
|
|
11651
|
+
const endpoint = `/applications/${appUuid}/deployments${params.toString() ? `?${params.toString()}` : ""}`;
|
|
11652
|
+
const result = await this.request(endpoint);
|
|
11653
|
+
if (result.error) {
|
|
11654
|
+
log.error(`Failed to get application deployments: ${result.error}`);
|
|
11655
|
+
return err(new Error(result.error));
|
|
11656
|
+
}
|
|
11657
|
+
const deployments = result.data?.deployments || [];
|
|
11658
|
+
log.success(`Retrieved ${deployments.length} deployments for ${appUuid}`);
|
|
11659
|
+
return ok(deployments);
|
|
11660
|
+
}
|
|
11547
11661
|
}
|
|
11548
11662
|
var instance = null;
|
|
11549
11663
|
function getCoolifyService() {
|
|
@@ -11594,6 +11708,7 @@ async function createCommand2(options) {
|
|
|
11594
11708
|
portsExposes: options.ports || "3000",
|
|
11595
11709
|
dockerImage: options.dockerImage,
|
|
11596
11710
|
dockerCompose: options.dockerCompose,
|
|
11711
|
+
dockerComposeLocation: options.dockerComposeLocation,
|
|
11597
11712
|
dockerfileLocation: options.dockerfileLocation,
|
|
11598
11713
|
baseDirectory: options.baseDirectory
|
|
11599
11714
|
}, (percent, message) => {
|
|
@@ -11788,6 +11903,18 @@ async function projectsCommand(options = {}) {
|
|
|
11788
11903
|
spinner.fail(source_default.red(`Failed to initialize: ${initResult.error.message}`));
|
|
11789
11904
|
return;
|
|
11790
11905
|
}
|
|
11906
|
+
if (options.create) {
|
|
11907
|
+
spinner.text = `Creating project "${options.create}"...`;
|
|
11908
|
+
const createResult = await coolify.createProject(options.create, options.description);
|
|
11909
|
+
if (isOk(createResult)) {
|
|
11910
|
+
spinner.succeed(source_default.green(`Project created: ${source_default.cyan(createResult.value.uuid)}`));
|
|
11911
|
+
console.log(` Name: ${source_default.cyan(options.create)}`);
|
|
11912
|
+
console.log(` UUID: ${source_default.cyan(createResult.value.uuid)}`);
|
|
11913
|
+
} else {
|
|
11914
|
+
spinner.fail(source_default.red(`Failed to create project: ${createResult.error.message}`));
|
|
11915
|
+
}
|
|
11916
|
+
return;
|
|
11917
|
+
}
|
|
11791
11918
|
spinner.text = "Fetching projects...";
|
|
11792
11919
|
const result = await coolify.listProjects();
|
|
11793
11920
|
if (isOk(result)) {
|
|
@@ -11932,13 +12059,37 @@ async function configCommand(action, args) {
|
|
|
11932
12059
|
}
|
|
11933
12060
|
|
|
11934
12061
|
// src/cli/commands/env.ts
|
|
11935
|
-
async function envCommand(uuid) {
|
|
12062
|
+
async function envCommand(uuid, options = {}) {
|
|
11936
12063
|
const coolify = getCoolifyService();
|
|
11937
12064
|
const initResult = await coolify.init();
|
|
11938
12065
|
if (isErr(initResult)) {
|
|
11939
12066
|
console.error(source_default.red(`Error: ${initResult.error.message}`));
|
|
11940
12067
|
return;
|
|
11941
12068
|
}
|
|
12069
|
+
if (options.set) {
|
|
12070
|
+
const [key, ...valueParts] = options.set.split("=");
|
|
12071
|
+
const value = valueParts.join("=");
|
|
12072
|
+
if (!key || value === undefined) {
|
|
12073
|
+
console.error(source_default.red("Error: Invalid format. Use --set KEY=VALUE"));
|
|
12074
|
+
return;
|
|
12075
|
+
}
|
|
12076
|
+
const result2 = await coolify.setEnvironmentVariable(uuid, key, value, options.buildtime ?? false);
|
|
12077
|
+
if (isErr(result2)) {
|
|
12078
|
+
console.error(source_default.red(`Error: ${result2.error.message}`));
|
|
12079
|
+
return;
|
|
12080
|
+
}
|
|
12081
|
+
console.log(source_default.green(`✓ Set ${source_default.bold(key)} for ${uuid.slice(0, 8)}`));
|
|
12082
|
+
return;
|
|
12083
|
+
}
|
|
12084
|
+
if (options.delete) {
|
|
12085
|
+
const result2 = await coolify.deleteEnvironmentVariable(uuid, options.delete);
|
|
12086
|
+
if (isErr(result2)) {
|
|
12087
|
+
console.error(source_default.red(`Error: ${result2.error.message}`));
|
|
12088
|
+
return;
|
|
12089
|
+
}
|
|
12090
|
+
console.log(source_default.green(`✓ Deleted ${source_default.bold(options.delete)} from ${uuid.slice(0, 8)}`));
|
|
12091
|
+
return;
|
|
12092
|
+
}
|
|
11942
12093
|
const result = await coolify.getEnvironmentVariables(uuid);
|
|
11943
12094
|
if (isErr(result)) {
|
|
11944
12095
|
console.error(source_default.red(`Error: ${result.error.message}`));
|
|
@@ -12000,6 +12151,12 @@ async function updateCommand(options) {
|
|
|
12000
12151
|
updateOptions.dockerfileLocation = options.dockerfileLocation;
|
|
12001
12152
|
if (options.baseDirectory)
|
|
12002
12153
|
updateOptions.baseDirectory = options.baseDirectory;
|
|
12154
|
+
if (options.domains)
|
|
12155
|
+
updateOptions.domains = options.domains;
|
|
12156
|
+
if (options.autoDeploy !== undefined)
|
|
12157
|
+
updateOptions.isAutoDeployEnabled = options.autoDeploy;
|
|
12158
|
+
if (options.forceHttps)
|
|
12159
|
+
updateOptions.isForceHttpsEnabled = true;
|
|
12003
12160
|
if (Object.keys(updateOptions).length === 0) {
|
|
12004
12161
|
console.warn(source_default.yellow("No update options provided. Use --help to see available options."));
|
|
12005
12162
|
process.exit(0);
|
|
@@ -12196,7 +12353,7 @@ async function deploymentsCommand(uuid, options = {}) {
|
|
|
12196
12353
|
// src/cli/index.ts
|
|
12197
12354
|
var program2 = new Command;
|
|
12198
12355
|
program2.name("coolify-mcp").description("CLI for Coolify deployment management").version("0.1.0");
|
|
12199
|
-
program2.command("create").description("Create a new application").option("--name <name>", "Application name").option("--description <desc>", "Application description").option("--server <uuid>", "Server UUID").option("--project <uuid>", "Project UUID").option("--environment <uuid>", "Environment UUID (auto-fetched if not provided)").option("--repo <url>", "Git repository URL").option("--branch <branch>", "Git branch", "main").option("--type <type>", "Application type (public, private-github-app, private-deploy-key, dockerfile, docker-image, docker-compose)", "public").option("--build-pack <pack>", "Build pack (dockerfile, nixpacks, static)", "dockerfile").option("--ports <ports>", "Ports to expose (default: 3000)", "3000").option("--docker-image <image>", "Docker image (for docker-image type)").option("--docker-compose <content>", "Docker Compose content (for docker-compose type)").option("--dockerfile-location <path>", 'Dockerfile location (e.g., "apps/haidodocs/Dockerfile")').option("--base-directory <dir>", 'Base directory for build context (default: "/")', "/").action(createCommand2);
|
|
12356
|
+
program2.command("create").description("Create a new application").option("--name <name>", "Application name").option("--description <desc>", "Application description").option("--server <uuid>", "Server UUID").option("--project <uuid>", "Project UUID").option("--environment <uuid>", "Environment UUID (auto-fetched if not provided)").option("--repo <url>", "Git repository URL").option("--branch <branch>", "Git branch", "main").option("--type <type>", "Application type (public, private-github-app, private-deploy-key, dockerfile, docker-image, docker-compose)", "public").option("--build-pack <pack>", "Build pack (dockerfile, nixpacks, static, dockercompose)", "dockerfile").option("--ports <ports>", "Ports to expose (default: 3000)", "3000").option("--docker-image <image>", "Docker image (for docker-image type)").option("--docker-compose <content>", "Docker Compose content (for docker-compose type)").option("--docker-compose-location <path>", 'Docker Compose file path (for dockercompose buildPack, e.g., "docker-compose.yml")').option("--dockerfile-location <path>", 'Dockerfile location (e.g., "apps/haidodocs/Dockerfile")').option("--base-directory <dir>", 'Base directory for build context (default: "/")', "/").action(createCommand2);
|
|
12200
12357
|
program2.command("config").description("Manage configuration").argument("[action]", "Action to perform (set, get, path)").option("--key <key>", 'Configuration key (for "set" action)').option("--value <value>", 'Configuration value (for "set" action)').action(configCommand);
|
|
12201
12358
|
program2.command("list").description("List all applications").option("-t, --team <id>", "Filter by team ID").option("-p, --project <id>", "Filter by project ID").option("--full", "Show full UUIDs instead of truncated").action(listCommand);
|
|
12202
12359
|
program2.command("deploy <uuid>").description("Deploy an application").option("-f, --force", "Force rebuild without cache").option("-t, --tag <tag>", "Deploy specific tag/version").action(deployCommand);
|
|
@@ -12205,10 +12362,10 @@ program2.command("logs <uuid>").description("Get application logs").option("-n,
|
|
|
12205
12362
|
logsCommand(uuid, { lines, follow: options.follow });
|
|
12206
12363
|
});
|
|
12207
12364
|
program2.command("servers").description("List available servers").option("--full", "Show full UUIDs instead of truncated").action((options) => serversCommand(options));
|
|
12208
|
-
program2.command("projects").description("List
|
|
12365
|
+
program2.command("projects").description("List or create projects").option("--full", "Show full UUIDs instead of truncated").option("--create <name>", "Create a new project with this name").option("--description <desc>", "Project description (use with --create)").action((options) => projectsCommand(options));
|
|
12209
12366
|
program2.command("environments <projectUuid>").description("List environments for a project").option("--full", "Show full UUIDs instead of truncated").action((projectUuid, options) => environmentsCommand(projectUuid, options));
|
|
12210
|
-
program2.command("env <uuid>").description("
|
|
12211
|
-
program2.command("update <uuid>").description("Update an application configuration").option("--name <name>", "Application name").option("--description <desc>", "Application description").option("--build-pack <pack>", "Build pack (dockerfile, nixpacks, static)").option("--git-branch <branch>", "Git branch").option("--ports <ports>", "Ports to expose (e.g., 3000)").option("--install-command <cmd>", "Install command (nixpacks)").option("--build-command <cmd>", "Build command").option("--start-command <cmd>", "Start command").option("--dockerfile-location <path>", 'Dockerfile location (e.g., "apps/haidodocs/Dockerfile")').option("--base-directory <dir>", 'Base directory for build context (e.g., "/")').action((uuid, options) => updateCommand({ uuid, ...options }));
|
|
12367
|
+
program2.command("env <uuid>").description("Manage environment variables for an application").option("--set <KEY=VALUE>", "Set an environment variable").option("--delete <KEY>", "Delete an environment variable").option("--buildtime", "Mark variable as build-time only (use with --set)").action((uuid, options) => envCommand(uuid, options));
|
|
12368
|
+
program2.command("update <uuid>").description("Update an application configuration").option("--name <name>", "Application name").option("--description <desc>", "Application description").option("--build-pack <pack>", "Build pack (dockerfile, nixpacks, static)").option("--git-branch <branch>", "Git branch").option("--ports <ports>", "Ports to expose (e.g., 3000)").option("--install-command <cmd>", "Install command (nixpacks)").option("--build-command <cmd>", "Build command").option("--start-command <cmd>", "Start command").option("--dockerfile-location <path>", 'Dockerfile location (e.g., "apps/haidodocs/Dockerfile")').option("--base-directory <dir>", 'Base directory for build context (e.g., "/")').option("--domains <domains>", 'Domains (comma-separated with protocol, e.g., "https://app.example.com")').option("--auto-deploy", "Enable auto-deploy on git push").option("--no-auto-deploy", "Disable auto-deploy on git push").option("--force-https", "Enable forced HTTPS redirect").action((uuid, options) => updateCommand({ uuid, ...options }));
|
|
12212
12369
|
program2.command("delete <uuid>").description("Delete an application").option("-f, --force", "Skip confirmation prompt").option("-y, --yes", "Skip confirmation prompt (alias for --force)").action((uuid, options) => deleteCommand(uuid, options));
|
|
12213
12370
|
program2.command("destinations <serverUuid>").description("List available destinations for a server").action(destinationsCommand);
|
|
12214
12371
|
program2.command("show <uuid>").description("Show detailed information about an application").action(showCommand);
|
package/dist/coolify/index.d.ts
CHANGED
|
@@ -100,6 +100,25 @@ export declare class CoolifyService {
|
|
|
100
100
|
* @returns Result with environment variables or error
|
|
101
101
|
*/
|
|
102
102
|
getEnvironmentVariables(appUuid: string): Promise<Result<ICoolifyEnvVar[], Error>>;
|
|
103
|
+
/**
|
|
104
|
+
* Sets a single environment variable for an application.
|
|
105
|
+
* Uses PATCH if variable exists, POST if it doesn't.
|
|
106
|
+
*
|
|
107
|
+
* @param appUuid - Application UUID
|
|
108
|
+
* @param key - Variable name
|
|
109
|
+
* @param value - Variable value
|
|
110
|
+
* @param isBuildTime - Whether the variable is available at build time (only for new vars)
|
|
111
|
+
* @returns Result indicating success or error
|
|
112
|
+
*/
|
|
113
|
+
setEnvironmentVariable(appUuid: string, key: string, value: string, isBuildTime?: boolean): Promise<Result<void, Error>>;
|
|
114
|
+
/**
|
|
115
|
+
* Deletes an environment variable from an application.
|
|
116
|
+
*
|
|
117
|
+
* @param appUuid - Application UUID
|
|
118
|
+
* @param key - Variable name to delete
|
|
119
|
+
* @returns Result indicating success or error
|
|
120
|
+
*/
|
|
121
|
+
deleteEnvironmentVariable(appUuid: string, key: string): Promise<Result<void, Error>>;
|
|
103
122
|
/**
|
|
104
123
|
* Gets the status of an application.
|
|
105
124
|
*
|
|
@@ -126,6 +145,14 @@ export declare class CoolifyService {
|
|
|
126
145
|
* @returns Result with projects list or error
|
|
127
146
|
*/
|
|
128
147
|
listProjects(): Promise<Result<ICoolifyProject[], Error>>;
|
|
148
|
+
/**
|
|
149
|
+
* Creates a new project.
|
|
150
|
+
*
|
|
151
|
+
* @param name - Project name
|
|
152
|
+
* @param description - Optional project description
|
|
153
|
+
* @returns Result with created project or error
|
|
154
|
+
*/
|
|
155
|
+
createProject(name: string, description?: string): Promise<Result<ICoolifyProject, Error>>;
|
|
129
156
|
/**
|
|
130
157
|
* Gets environments for a project.
|
|
131
158
|
*
|
|
@@ -205,6 +232,28 @@ export declare class CoolifyService {
|
|
|
205
232
|
* @returns Result with application status or error
|
|
206
233
|
*/
|
|
207
234
|
restartApplication(appUuid: string): Promise<Result<ICoolifyApplication, Error>>;
|
|
235
|
+
/**
|
|
236
|
+
* Lists all active and queued deployments.
|
|
237
|
+
*
|
|
238
|
+
* @returns Result with deployments list or error
|
|
239
|
+
*/
|
|
240
|
+
listDeployments(): Promise<Result<ICoolifyDeployment[], Error>>;
|
|
241
|
+
/**
|
|
242
|
+
* Gets detailed information about a specific deployment.
|
|
243
|
+
*
|
|
244
|
+
* @param deploymentUuid - Deployment UUID
|
|
245
|
+
* @returns Result with deployment details or error
|
|
246
|
+
*/
|
|
247
|
+
getDeployment(deploymentUuid: string): Promise<Result<ICoolifyDeployment, Error>>;
|
|
248
|
+
/**
|
|
249
|
+
* Gets deployment history for a specific application.
|
|
250
|
+
*
|
|
251
|
+
* @param appUuid - Application UUID
|
|
252
|
+
* @param skip - Number of deployments to skip
|
|
253
|
+
* @param take - Number of deployments to return
|
|
254
|
+
* @returns Result with deployments list or error
|
|
255
|
+
*/
|
|
256
|
+
getApplicationDeployments(appUuid: string, skip?: number, take?: number): Promise<Result<ICoolifyDeployment[], Error>>;
|
|
208
257
|
}
|
|
209
258
|
/**
|
|
210
259
|
* Gets the singleton CoolifyService instance.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/coolify/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAkB,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAG/D,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAA;AAcnB;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,OAAO,CAAA;IACrB,UAAU,EAAE,OAAO,CAAA;IACnB,WAAW,EAAE,OAAO,CAAA;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,MAAM,CAAqB;IAEnC;;;;OAIG;IACH,YAAY,IAAI,OAAO;IAMvB;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IA4B1C;;;;;;OAMG;YACW,OAAO;IAkDrB;;;;;;OAMG;IACG,MAAM,CACV,OAAO,EAAE,qBAAqB,EAC9B,UAAU,CAAC,EAAE,iBAAiB,GAC7B,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;IAwD/C;;;;;;;;;;;;;;OAcG;IACG,iBAAiB,CACrB,OAAO,EAAE,kBAAkB,EAC3B,UAAU,CAAC,EAAE,iBAAiB,GAC7B,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/coolify/index.ts"],"names":[],"mappings":"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"}
|
package/dist/coolify/types.d.ts
CHANGED
|
@@ -46,13 +46,15 @@ export interface ICoolifyAppOptions {
|
|
|
46
46
|
/** Git branch */
|
|
47
47
|
branch?: string;
|
|
48
48
|
/** Build pack type */
|
|
49
|
-
buildPack?: 'dockerfile' | 'nixpacks' | 'static';
|
|
49
|
+
buildPack?: 'dockerfile' | 'nixpacks' | 'static' | 'dockercompose';
|
|
50
50
|
/** Ports to expose */
|
|
51
51
|
portsExposes?: string;
|
|
52
52
|
/** Docker image (for docker-image type) */
|
|
53
53
|
dockerImage?: string;
|
|
54
54
|
/** Docker Compose content (for docker-compose type) */
|
|
55
55
|
dockerCompose?: string;
|
|
56
|
+
/** Docker Compose file location relative to repo root (for dockercompose buildPack) */
|
|
57
|
+
dockerComposeLocation?: string;
|
|
56
58
|
/** Environment variables */
|
|
57
59
|
envVars?: Record<string, string>;
|
|
58
60
|
/** Dockerfile location (path relative to repo root, e.g., "apps/haidodocs/Dockerfile") */
|
|
@@ -69,7 +71,7 @@ export interface ICoolifyUpdateOptions {
|
|
|
69
71
|
/** Application description */
|
|
70
72
|
description?: string;
|
|
71
73
|
/** Build pack type */
|
|
72
|
-
buildPack?: 'dockerfile' | 'nixpacks' | 'static';
|
|
74
|
+
buildPack?: 'dockerfile' | 'nixpacks' | 'static' | 'dockercompose';
|
|
73
75
|
/** Git branch */
|
|
74
76
|
gitBranch?: string;
|
|
75
77
|
/** Ports to expose */
|
|
@@ -84,6 +86,12 @@ export interface ICoolifyUpdateOptions {
|
|
|
84
86
|
dockerfileLocation?: string;
|
|
85
87
|
/** Base directory for build context (default: "/") */
|
|
86
88
|
baseDirectory?: string;
|
|
89
|
+
/** Domains/FQDN - comma separated list of domains with protocol (e.g., "https://app.example.com,https://www.example.com") */
|
|
90
|
+
domains?: string;
|
|
91
|
+
/** Force HTTPS redirect */
|
|
92
|
+
isForceHttpsEnabled?: boolean;
|
|
93
|
+
/** Enable auto deploy on git push */
|
|
94
|
+
isAutoDeployEnabled?: boolean;
|
|
87
95
|
}
|
|
88
96
|
/**
|
|
89
97
|
* Options for retrieving application logs.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/coolify/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,uBAAuB;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,sBAAsB;IACtB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,kCAAkC;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,sDAAsD;IACtD,UAAU,CAAC,EAAE,iBAAiB,CAAA;CAC/B;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAC/B,QAAQ,GACR,oBAAoB,GACpB,oBAAoB,GACpB,YAAY,GACZ,cAAc,GACd,gBAAgB,CAAA;AAEpB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,8BAA8B;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,uBAAuB;IACvB,eAAe,EAAE,MAAM,CAAA;IACvB,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,sEAAsE;IACtE,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,uBAAuB;IACvB,IAAI,CAAC,EAAE,uBAAuB,CAAA;IAC9B,iDAAiD;IACjD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,iBAAiB;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,sBAAsB;IACtB,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/coolify/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,uBAAuB;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,sBAAsB;IACtB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,kCAAkC;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,sDAAsD;IACtD,UAAU,CAAC,EAAE,iBAAiB,CAAA;CAC/B;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAC/B,QAAQ,GACR,oBAAoB,GACpB,oBAAoB,GACpB,YAAY,GACZ,cAAc,GACd,gBAAgB,CAAA;AAEpB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,8BAA8B;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,uBAAuB;IACvB,eAAe,EAAE,MAAM,CAAA;IACvB,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,sEAAsE;IACtE,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,uBAAuB;IACvB,IAAI,CAAC,EAAE,uBAAuB,CAAA;IAC9B,iDAAiD;IACjD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,iBAAiB;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,sBAAsB;IACtB,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,QAAQ,GAAG,eAAe,CAAA;IAClE,sBAAsB;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,uDAAuD;IACvD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,uFAAuF;IACvF,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,0FAA0F;IAC1F,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,sDAAsD;IACtD,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,uBAAuB;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,8BAA8B;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,sBAAsB;IACtB,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,QAAQ,GAAG,eAAe,CAAA;IAClE,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,sBAAsB;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iCAAiC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,oBAAoB;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,oBAAoB;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,0FAA0F;IAC1F,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,sDAAsD;IACtD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,6HAA6H;IAC7H,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,2BAA2B;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,qCAAqC;IACrC,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,+BAA+B;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,kDAAkD;IAClD,OAAO,EAAE,OAAO,CAAA;IAChB,sBAAsB;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,oBAAoB;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,OAAO,EAAE,OAAO,CAAA;IAChB,uBAAuB;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,0CAA0C;IAC1C,OAAO,EAAE,OAAO,CAAA;IAChB,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gBAAgB;IAChB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,oBAAoB;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,qBAAqB;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,oCAAoC;IACpC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,yBAAyB;IACzB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,kBAAkB;IAClB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,oBAAoB;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,qBAAqB;IACrB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,yBAAyB;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,8BAA8B;IAC9B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAA;IACd,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,iBAAiB;IACjB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,mBAAmB;IACnB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,sBAAsB;IACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,oBAAoB;IACpB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,0BAA0B;IAC1B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,qBAAqB;IACrB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,8BAA8B;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,qBAAqB;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,uBAAuB;IACvB,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,CAAC,EAAE;YACP,IAAI,EAAE,MAAM,CAAA;YACZ,IAAI,EAAE,MAAM,CAAA;YACZ,EAAE,EAAE,MAAM,CAAA;SACX,CAAA;KACF,GAAG,IAAI,CAAA;IACR,sBAAsB;IACtB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,oBAAoB;IACpB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,oBAAoB;IACpB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,uBAAuB;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,wBAAwB;IACxB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,eAAe;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,uCAAuC;IACvC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,kCAAkC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,0BAA0B;IAC1B,KAAK,CAAC,EAAE;QACN,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAC3B,GAAG,IAAI,CAAA;IACR,sBAAsB;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,mBAAmB;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,kBAAkB;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,mCAAmC;IACnC,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAA;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAA;IACZ,qBAAqB;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,8BAA8B;IAC9B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,iBAAiB;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,uBAAuB;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,cAAc;IACd,EAAE,EAAE,MAAM,CAAA;IACV,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,yBAAyB;IACzB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA"}
|