"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getServerSideProps = void 0;
const jsx_runtime_1 = require("react/jsx-runtime");
/*
 *  This file is part of CoCalc: Copyright © 2022 Sagemath, Inc.
 *  License: AGPLv3 s.t. "Commons Clause" – see LICENSE.md for details
 */
const icon_1 = require("@cocalc/frontend/components/icon");
const theme_1 = require("@cocalc/util/theme");
const antd_1 = require("antd");
const footer_1 = __importDefault(require("components/landing/footer"));
const head_1 = __importDefault(require("components/landing/head"));
const header_1 = __importDefault(require("components/landing/header"));
const A_1 = __importDefault(require("components/misc/A"));
const config_1 = require("lib/config");
const customize_1 = require("lib/customize");
const with_customize_1 = __importDefault(require("lib/with-customize"));
const { Paragraph, Text } = antd_1.Typography;
function OnPrem({ customize }) {
    return ((0, jsx_runtime_1.jsxs)(customize_1.Customize, { value: customize, children: [(0, jsx_runtime_1.jsx)(head_1.default, { title: "On Premises Offerings" }), (0, jsx_runtime_1.jsxs)(antd_1.Layout, { children: [(0, jsx_runtime_1.jsx)(header_1.default, { page: "pricing", subPage: "onprem" }), (0, jsx_runtime_1.jsxs)(antd_1.Layout.Content, { style: {
                            backgroundColor: "white",
                        }, children: [(0, jsx_runtime_1.jsx)(Body, {}), (0, jsx_runtime_1.jsx)(footer_1.default, {})] })] })] }));
}
exports.default = OnPrem;
function Body() {
    const { helpEmail } = (0, customize_1.useCustomize)();
    function docker() {
        return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("h2", { children: ["CoCalc Docker ", (0, jsx_runtime_1.jsx)(icon_1.Icon, { name: "docker", style: { float: "right" } })] }), (0, jsx_runtime_1.jsxs)(Paragraph, { children: [(0, jsx_runtime_1.jsx)(Text, { strong: true, children: (0, jsx_runtime_1.jsx)(A_1.default, { href: "https://github.com/sagemathinc/cocalc-docker#what-is-this", children: "CoCalc Docker" }) }), " ", "is a downsized but feature complete version of CoCalc. It can be used on your own laptop, desktop or server. It is suitable for", " ", (0, jsx_runtime_1.jsx)(Text, { strong: true, children: "personal use" }), " or a small", " ", (0, jsx_runtime_1.jsx)(Text, { strong: true, children: "working group" }), ", e.g. a few researchers in an office or lab."] }), (0, jsx_runtime_1.jsx)(Text, { strong: true, children: "Features" }), ": it includes support for Jupyter Notebooks, a recent version of Sage, Python 3, R, Julia, Octave and LaTeX. Also, X11 support, editing and compiling code and much more is included as well. If something is missing, you could", " ", (0, jsx_runtime_1.jsx)(A_1.default, { href: "https://github.com/sagemathinc/cocalc-docker#adding-custom-software-to-your-cocalc-instance", children: "extend the base image" }), " ", "to fit your needs.", (0, jsx_runtime_1.jsx)(Paragraph, {}), (0, jsx_runtime_1.jsxs)(Paragraph, { children: ["The ", (0, jsx_runtime_1.jsx)(Text, { strong: true, children: "setup" }), " is very easy: CoCalc Docker comes as a pre-packaged single ", (0, jsx_runtime_1.jsx)(A_1.default, { href: "https://www.docker.com/", children: "Docker" }), " ", "image. All services are included and ready to work out of the box."] }), (0, jsx_runtime_1.jsx)(Paragraph, { children: "The license is business-friendly and costs $999/year." })] }));
    }
    function cloud() {
        return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("h2", { children: ["CoCalc Cloud ", (0, jsx_runtime_1.jsx)(icon_1.Icon, { name: "network-wired", style: { float: "right" } })] }), (0, jsx_runtime_1.jsxs)(Paragraph, { children: ["This version of on-prem CoCalc runs on a full-fledged", " ", (0, jsx_runtime_1.jsx)(A_1.default, { href: "https://kubernetes.io", children: "Kubernetes Cluster" }), ". The underlying services and their architecture are the same as the ones that power the main service at cocalc.com. This means you get the same overall performance, scalability and reliability as the main SaaS site."] }), (0, jsx_runtime_1.jsxs)(Paragraph, { children: [(0, jsx_runtime_1.jsx)(Text, { strong: true, children: "Features" }), (0, jsx_runtime_1.jsxs)("ul", { children: [(0, jsx_runtime_1.jsx)("li", { children: "Jupyter Notebooks, a recent version of Sage, Python 3, R, Octave and LaTeX. Editing code and text-files, Linux terminal, compiling code, and virtual X11 desktop are included as well. Beyond the standard set of included software, it's also possible to define and build customized software environments." }), (0, jsx_runtime_1.jsxs)("li", { children: ["Support for ", (0, jsx_runtime_1.jsx)(Text, { strong: true, children: "single sign-on" }), ", in particular, includes SAML."] }), (0, jsx_runtime_1.jsxs)("li", { children: ["The networking is defined by standard", " ", (0, jsx_runtime_1.jsx)(A_1.default, { href: "https://kubernetes.github.io/ingress-nginx/", children: "NGINX ingress rules" }), ". It's possible to run inside a VPN as well."] }), (0, jsx_runtime_1.jsxs)("li", { children: ["You can ", (0, jsx_runtime_1.jsx)(Text, { strong: true, children: "deploy" }), " this solution on your own bare-metal cluster or managed kubernetes clusters like", " ", (0, jsx_runtime_1.jsx)(A_1.default, { href: "https://aws.amazon.com/eks/", children: "Amazon's AWS EKS" }), " or", " ", (0, jsx_runtime_1.jsx)(A_1.default, { href: "https://cloud.google.com/kubernetes-engine", children: "Google's GCE GKE" }), ". Other options should work as well."] })] })] }), (0, jsx_runtime_1.jsxs)(Paragraph, { children: [(0, jsx_runtime_1.jsx)(Text, { strong: true, children: "Prerequisites" }), (0, jsx_runtime_1.jsxs)("ul", { children: [(0, jsx_runtime_1.jsxs)("li", { children: ["A ", (0, jsx_runtime_1.jsx)(Text, { strong: true, children: "Kubernetes cluster" }), " and some experience managing it. We'll guide you through the setup and give you enough information to be able to manage the service, react to issues, plan resource requirements, and know how to scale the various services to your expected usage."] }), (0, jsx_runtime_1.jsxs)("li", { children: ["Some experience working with", " ", (0, jsx_runtime_1.jsxs)(A_1.default, { href: "https://helm.sh/", children: [(0, jsx_runtime_1.jsx)(Text, { strong: true, children: "HELM" }), " charts"] }), "."] }), (0, jsx_runtime_1.jsxs)("li", { children: ["A (sub)", (0, jsx_runtime_1.jsx)(Text, { strong: true, children: "domain" }), " and TLS certificate (e.g.", " ", (0, jsx_runtime_1.jsx)(A_1.default, { href: "https://letsencrypt.org/", children: "letsencrypt" }), ")."] }), (0, jsx_runtime_1.jsxs)("li", { children: ["A standard", " ", (0, jsx_runtime_1.jsx)(A_1.default, { href: "https://www.postgresql.org/", children: (0, jsx_runtime_1.jsx)(Text, { strong: true, children: "PostgreSQL" }) }), " ", "database."] }), (0, jsx_runtime_1.jsxs)("li", { children: ["Regarding storage, a network file-system like", " ", (0, jsx_runtime_1.jsx)(Text, { strong: true, children: "NFS" }), ", supporting", " ", (0, jsx_runtime_1.jsx)(A_1.default, { href: "https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes", children: "ReadWriteMany" }), ", will hold the data of all projects."] })] })] }), (0, jsx_runtime_1.jsxs)(Paragraph, { children: ["The license is business-friendly and please", " ", (0, jsx_runtime_1.jsx)(A_1.default, { href: `mailto:${helpEmail}`, children: "contact us" }), " for pricing."] })] }));
    }
    return ((0, jsx_runtime_1.jsxs)("div", { style: {
            maxWidth: config_1.MAX_WIDTH,
            margin: "15px auto",
            padding: "15px",
            backgroundColor: "white",
        }, children: [(0, jsx_runtime_1.jsx)("div", { style: { textAlign: "center", color: theme_1.COLORS.GRAY_DD }, children: (0, jsx_runtime_1.jsxs)("h1", { style: { fontSize: "28pt" }, children: [" ", (0, jsx_runtime_1.jsx)(icon_1.Icon, { name: "laptop", style: { marginRight: "30px" } }), " CoCalc - On Premises Offerings"] }) }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(antd_1.Alert, { type: "info", banner: true, showIcon: false, style: {
                            textAlign: "center",
                            fontSize: "125%",
                            marginTop: "30px",
                            marginBottom: "30px",
                        }, message: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Contact us at ", (0, jsx_runtime_1.jsx)(A_1.default, { href: `mailto:${helpEmail}`, children: helpEmail }), " for questions, licensing details, and purchasing."] }) }), docker(), (0, jsx_runtime_1.jsx)("hr", { style: { margin: "30px 0" } }), cloud()] })] }));
}
async function getServerSideProps(context) {
    return await (0, with_customize_1.default)({ context });
}
exports.getServerSideProps = getServerSideProps;
//# sourceMappingURL=onprem.js.map