cookiecutter template for wanna-ml projects
In order to set up a WANNA ML project, one must have the following things:
- group of GCP projects with suffixes per environment (usually
-test,-stage,-prod), we call them GCP project bundles - a bucket with name
wanna-<project_name>-<env> - a service account with name
sa-wanna-<project_name> - a pubsub notification channel named
ms-teams-wanna-<project name>-topic
Assuming all terraform is done and deployed we can quickly bootstrap a wanna-ml project using cookiecutter and answer a few questions like so:
pipxis installed or alternatively you havecookiecutterin your$PATHpipx install cookiecutter
cookiecutter https://github.com/avast/wanna-ml-cookiecutter.git
Project name without wanna- prefix (project_name): skynet-ai
project_owner_fullname (Joao Da Silva):
project_owner_email ([email protected]):
project_version (0.0.0):
project_description (Link to project page on Confluence):
gcp_project_id (your-gcp-project-id):
GCP Project bundle without tenant name (wanna):
gcp_region (europe-west1):
gcp_network_name (europe-west1-net):
gcp_subnetwork_name (europe-west1-subnet):
gcp_service_account_name (svc-wanna-skynet-ai):
use_jupyter_notebooks [y/n] (y):Or you can use the wanna init command
wanna init -t https://github.com/avast/wanna-ml-cookiecutter.git --output-dir .which will create a folder wanna-skynet-ai with the same content as the cookiecutter command above.
You may notice that with few fields we can bootstrap a project, whilst leaving the others to default will do just fine.
project_namedoes not contain anywannawords in itgcp_project_idthe initialtestgcp project idgcp_project_bundle_namethe gcp project bundle where wanna-ml project will be deployed to. Just the project bundle, not the tenant name.
Once you have completed the cookiecutter you can cd to the newly created folder,
read and run the README.md top down to explore how wanna-ml works and what it can do for you.