Guzzle Installer - ja-guzzle/guzzle_docs GitHub Wiki
OS: Ubuntu 18.04
Packages: JDK 8
VM Inbound rules:
- 9191 (installer api, can be disabled once guzzle is installed)
- 9292 (installer web, can be disabled once guzzle is installed)
- 9090 (guzzle api)
- 8082 (guzzle web)
- 21000 (atlas)
VM Outbound rules:
- Internet (required to download necessary packages, can be disabled once guzzle is installed)
Guzzle installer will have 2 applications:
- REST API - Spring boot application (no need of any database connection or environment variables for running this application)
- UI - React JS web application (run using spa-server, same server can be used for running guzzle UI)
Theses applications will be pre-installed on marketplace VM offer and will start automatically when VM is created. For non-marketplace guzzle installation, small bash script can be provided to download and setup installer. These applications will run as root user. Also self-signed certificate will be used for installer UI
Guzzle service principal credentials (optional)
- If service principal credentials are provided in the first step, service principal should have Reader role for guzzle blob storage account, sql server and databricks workspace to retrieve available resource list using azure API
- If service principal credentials are provided or azure resources are not having Reader role assignment for service principal, resource listing will not be available. User will have option to enter necessary resource detail manually
- If service principal credentials are not provided, user will have to enter each resource detail manually
Guzzle blob storage
- If service principal credentials are not provided:
Account Name, Container Name, Access Key (textbox) - If service principal credentials provided:
Account Name and Container (dropdown)
Guzzle repo database
- authentication inputs specific to sql server:
- native user
- azure ad
- service principal
Single sign-on
- option for using same service principal credentials provided initially or provide separate credentials
Atlas
- checkbox to enable/disable atlas setup
Databricks workspace
- region, access token (may be other fields captured in marketplace can be ignored)
Metastore database
- option for using external metastore
- inputs same as native sql server user credentials
- create databricks secret internally for storing metastore password
- Managed identity will not be used as we can use service principal credentials to retrieve access keys of storage account
- Are we going to use guzzle installer to upgrade guzzle as well ?
- Do we need to support azure key-vault for generating secret for external metastore password ?
- Do we need option for using internal mysql ?
- Are we going to use same guzzle installer for different type of deployments like Hortonworks, AWS etc ?