Exemple #1
0
def run_setup(config, certs, systemd, send, force):
    """Run setup wizard.

    Checks/creates installation directory, generates and writes
    certificates & keys, copies example/default configuration file.
    """
    from hyperglass_agent.cli.actions import (
        find_app_path,
        migrate_config,
        write_cert,
        make_systemd,
        send_cert,
    )

    find_app_path()

    if not certs:
        write_cert(
            name=DEFAULT_CERT_CN,
            org=DEFAULT_CERT_O,
            duration=DEFAULT_CERT_DURATION,
            size=DEFAULT_CERT_SIZE,
            show=DEFAULT_CERT_SHOW,
        )

    if not config:
        migrate_config(force)

    if not systemd:
        make_systemd()

    if not send:
        send_cert()
Exemple #2
0
def _generate_cert(name: str, org: str, duration: int, size: int, show: bool,
                   get: bool):
    """Generate SSL certificate keypair."""
    from hyperglass_agent.cli.actions import write_cert, find_app_path

    if get:
        app_path = find_app_path()
        cert_path = app_path / "agent_cert.pem"
        if not cert_path.exists():
            warning("Certificate & key files have not been generated.")
            do_gen = confirm(
                style("Would you like to generate them now?", **WARNING))
            if not do_gen:
                error("Certificate & key files do not yet exist.")
            else:
                write_cert(name=name,
                           org=org,
                           duration=duration,
                           starttime=CERT_START,
                           size=size,
                           show=show)
        else:
            with cert_path.open("r") as f:
                cert = f.read()

            label(f"Public Key:\n\n{cert}")
    else:
        write_cert(name=name,
                   org=org,
                   duration=duration,
                   starttime=CERT_START,
                   size=size,
                   show=show)
Exemple #3
0
def gen_cert(name, org, duration, size, show, get):
    """Generate SSL certificate keypair.

    Arguments:
        name {str} -- Common Name
        org {str} -- Organization
        duration -- Validity in years
        size {int} -- Key Size
        show {bool} -- Show private key in CLI
    """
    from hyperglass_agent.cli.actions import write_cert, find_app_path

    if get:
        app_path = find_app_path()
        cert_path = app_path / "agent_cert.pem"
        if not cert_path.exists():
            warning("Certificate & key files have not been generated.")
            do_gen = confirm(
                style("Would you like to generate them now?", **WARNING))
            if not do_gen:
                error("Certificate & key files do not yet exist.")
            else:
                write_cert(name=name,
                           org=org,
                           duration=duration,
                           size=size,
                           show=show)
        else:
            with cert_path.open("r") as f:
                cert = f.read()

            label(f"Public Key:\n\n{cert}")
    else:
        write_cert(name=name, org=org, duration=duration, size=size, show=show)