def __stop_project(conf_path=None): if not conf_path: conf_path = findConfigPath(CURRENT_DIR) conf = DockerizerConfig(CURRENT_DIR, conf_path) pl = Playbook("stop.yml", conf.data["drupal_root_dir"]) pl.run() app_config.stopInstance(conf) app_config.save() click.echo(f'Project {conf.data["compose_project_name"]} stoped')
def drush_commands(conf_path=None): """ Execute drush commands from config in container """ if not conf_path: conf_path = findConfigPath(CURRENT_DIR) conf = DockerizerConfig(CURRENT_DIR, conf_path) pl = Playbook("drush-commands.yml", conf.data["drupal_root_dir"]) pl.run() click.echo(f"Drush commands from config done")
def import_db(filename): """ Import database from sql file """ conf_path = findConfigPath(CURRENT_DIR) conf = DockerizerConfig(CURRENT_DIR, conf_path) conf.data["db_dump_path"] = filename conf.save() pl = Playbook("db.yml", conf_path, tag) pl.run()
def drush(command, conf_path=None): """ Execute drush command in drupal container """ if not conf_path: conf_path = findConfigPath(CURRENT_DIR) conf = DockerizerConfig(CURRENT_DIR, conf_path) container = f"{conf.data['compose_project_name']}-{conf.data['phpversion']}" os.system( f'docker exec --interactive --tty {container} drush {" ".join(command)}' )
def __down_project(conf_path=None): """ Remove all containers and runtime(databases, search indexes, logs, etc.), ask sudo(BECOME) password """ if not conf_path: conf_path = findConfigPath(CURRENT_DIR) conf = DockerizerConfig(CURRENT_DIR, conf_path) pl = Playbook("reset.yml", conf.data["drupal_root_dir"], become=True) pl.run() app_config.removeInstance(conf) app_config.save() click.echo( f'Project {conf.data["compose_project_name"]} down. All containers data removed.' )
def __up_project(force=False, conf_path=None): """ Up docker enviroment, ask sudo(BECOME) password on first run """ if not conf_path: conf_path = findConfigPath(CURRENT_DIR) conf = DockerizerConfig(CURRENT_DIR, conf_path) if not force and conf.data["compose_project_name"] in list( app_config.data["instances"].keys()): pl = Playbook("up.yml", conf.data["drupal_root_dir"]) app_config.upInstance(conf) else: pl = Playbook("main.yml", conf.data["drupal_root_dir"], become=True) app_config.addInstance(conf) pl.run() app_config.save() if conf.data["advanced_networking"]: url = f"http{''}://{conf.data['domain_name']}" click.echo(f"Project is up. Site up in {url}") else: click.echo(f"Project is up. Site up in http://localhost")