The onboarding process requires the below steps.
For the alpha, we ask that you grant the following GitHub users Read access to the project repo:
- The Meltano Cloud service account:
@MeltanoCloud
- Meltano engineers (for onboarding and troubleshooting support):
@WillDaSilva@magreenbaum@kgpayne
Note:
- Grants to Meltano engineers are for the purpose of troubleshooting and support during and after the onboarding process.
- In the Cloud Beta stage, we will be launching a new Meltano Cloud GitHub App. This will replace the
MetanoCloudservice account user above. - Support for granting Meltano Cloud repo access using a private access token will also be available in the near future. (Let us know if this is your preferred method.)
For onboarding and debugging purposes, we recommend that teams create a Meltano Environment named 'sandbox', which can be used by Meltano Cloud to test that all jobs are working as expected.
For more information, please see our guide: Creating a Sandbox Environment for Meltano Cloud
If your project does not yet have schedules defined - for instance, if you are running workloads via an external orchestrator - you'll want to create new schedules for use by Meltano Cloud.
Schedules should be specified in UTC if providing a cron expression.
Once you've completed the above, you are ready to onboard your project to Meltano Cloud.
To onboard your project, Meltano will need the following project information:
- Company name
- E.g. "ABC Company Inc."
- Primary contact name and email
- Preferred Organization ID ("org ID") on Meltano Cloud
- Organization ID :
- must be globally unique
- must be 20 characters or less
- can contain a combination of lowercase letters, numbers, and dashes (no other special characters).
- E.g.
abc-company,abc-company-usa,abc-data-team,abc-finance-team, etc.
- Organization ID :
- For each project:
- Git repo information:
- Name of hosting provider (e.g. GitHub, GitLab, etc.)
- Git repo URL
- Git branch name
- The name of the Meltano Environment to use for onboard and testing purposes.
- Recommended environment name is
'sandbox'. See prereqs above for more information.
- Recommended environment name is
- For each schedule you would like to run in Meltano Cloud:
- Schedule name
- Git repo information:
- Per authorized user:
- User's Full Name
- User's Email Address
- User's GitHub ID (used for identity, authentication, and permissioning)
- User's Role:
owner,maintaner, orreader- See users and roles for more information.
After receiving the above information, Meltano will register your project(s) and generate a new set of encryption and decryption keys specific to your organization. We will then provide you with your organization's public key along with instructions to encrypt your .env file and attach your encrypted file to your project.
The kms-ext tool is available to use for the encryption process.
Ex:
pip install pipx
pipx install git+https://github.com/meltano/kms-ext.git@main
kms encrypt <kms_key_id> <pubkey_file_path> --dotenv-path <env_file_path> --output-path <secrets.yml_path>
See the security whitepaper for more information on encryption algorithms.
Once the above steps are complete, Meltano will initialize your account and execute the provided schedules. If any errors occur during execution, we will notify you and provide access to the necessary logs for debugging.