export const TEMPLATES = {
    starter: {
        name: "starter",
        description: "Minimal setup for trying out Coolify (cheapest option)",
        defaults: {
            hetzner: { region: "nbg1", size: "cax11" },
            digitalocean: { region: "fra1", size: "s-2vcpu-2gb" },
            vultr: { region: "ewr", size: "vc2-1c-2gb" },
            linode: { region: "us-east", size: "g6-standard-2" },
        },
        fullSetup: false,
    },
    production: {
        name: "production",
        description: "Production-ready setup with firewall and SSH hardening",
        defaults: {
            hetzner: { region: "nbg1", size: "cx33" },
            digitalocean: { region: "fra1", size: "s-2vcpu-4gb" },
            vultr: { region: "ewr", size: "vc2-2c-4gb" },
            linode: { region: "us-east", size: "g6-standard-4" },
        },
        fullSetup: true,
    },
    dev: {
        name: "dev",
        description: "Development/testing environment (cheap, no hardening)",
        defaults: {
            hetzner: { region: "nbg1", size: "cax11" },
            digitalocean: { region: "fra1", size: "s-2vcpu-2gb" },
            vultr: { region: "ewr", size: "vc2-1c-2gb" },
            linode: { region: "us-east", size: "g6-standard-2" },
        },
        fullSetup: false,
    },
};
export const VALID_TEMPLATE_NAMES = Object.keys(TEMPLATES);
export function getTemplate(name) {
    if (VALID_TEMPLATE_NAMES.includes(name)) {
        return TEMPLATES[name];
    }
    return undefined;
}
export function getTemplateDefaults(name, provider) {
    const template = getTemplate(name);
    if (!template)
        return undefined;
    return template.defaults[provider];
}
//# sourceMappingURL=templates.js.map