sesterce-cli
Version:
A powerful command-line interface tool for managing Sesterce Cloud services. Sesterce CLI provides easy access to GPU cloud instances, AI inference services, container registries, and SSH key management directly from your terminal.
51 lines • 1.97 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createRegistryCreateCommand = createRegistryCreateCommand;
const create_registry_1 = require("@/modules/registries/use-cases/create-registry");
const prompts_1 = require("@inquirer/prompts");
function createRegistryCreateCommand(registryCommand) {
registryCommand
.command("create")
.description("Create a new registry")
.action(async () => {
const name = await (0, prompts_1.input)({
message: "Registry name",
default: "my-registry",
required: true,
});
const url = await (0, prompts_1.input)({
message: "Registry URL",
required: true,
default: "docker.io/library/user/image:tag",
validate: (value) => {
// Regex to validate docker.io URLs
const dockerIoRegex = /^docker\.io\/([a-zA-Z0-9_-]+(?:\/[a-zA-Z0-9_-]+)*)\/([a-zA-Z0-9_-]+)(?::([a-zA-Z0-9_.-]+))?$/;
if (!dockerIoRegex.test(value)) {
return "Please enter a valid docker.io URL format: docker.io/username/repo/image[:tag]";
}
return true;
},
});
const username = await (0, prompts_1.input)({
message: "Registry username",
required: true,
});
const password = await (0, prompts_1.input)({
message: "Registry password",
required: true,
});
console.log("Creating registry...");
const result = await create_registry_1.createRegistry.execute({
name,
url,
username,
password,
});
if (result.isLeft()) {
console.error(result.value.message);
return;
}
console.log("Registry created successfully! Registry ID: ", result.value._id);
});
}
//# sourceMappingURL=create.js.map