{"id":19307402,"url":"https://github.com/artefactory/one-click-mlflow","last_synced_at":"2025-04-09T11:11:57.811Z","repository":{"id":46531036,"uuid":"291951018","full_name":"artefactory/one-click-mlflow","owner":"artefactory","description":"A tool to deploy a mostly serverless MLflow tracking server on a GCP project with one command","archived":false,"fork":false,"pushed_at":"2025-03-05T22:46:19.000Z","size":197,"stargazers_count":69,"open_issues_count":18,"forks_count":22,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-02T09:08:15.562Z","etag":null,"topics":["docker","gcp","mlflow","serverless","terraform"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/artefactory.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-01T09:12:17.000Z","updated_at":"2025-03-11T21:22:22.000Z","dependencies_parsed_at":"2025-02-25T18:31:37.536Z","dependency_job_id":"b2621e05-611d-4fd0-b654-9061dde21eec","html_url":"https://github.com/artefactory/one-click-mlflow","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artefactory%2Fone-click-mlflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artefactory%2Fone-click-mlflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artefactory%2Fone-click-mlflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artefactory%2Fone-click-mlflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/artefactory","download_url":"https://codeload.github.com/artefactory/one-click-mlflow/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248027411,"owners_count":21035594,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","gcp","mlflow","serverless","terraform"],"created_at":"2024-11-10T00:10:48.637Z","updated_at":"2025-04-09T11:11:57.793Z","avatar_url":"https://github.com/artefactory.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 1. one-click-mlflow\nA tool to deploy a mostly serverless MLflow on a GCP project with one command\n\n- [1. one-click-mlflow](#1-one-click-mlflow)\n  - [1.1. How to use](#11-how-to-use)\n    - [1.1.1. Pre-requesites](#111-pre-requesites)\n    - [1.1.2. Deploying](#112-deploying)\n    - [1.1.3. What it does](#113-what-it-does)\n    - [1.1.4. Other available make commands](#114-other-available-make-commands)\n    - [1.1.5. Pushing logs and artifacts](#115-pushing-logs-and-artifacts)\n\n\n## 1.1. How to use\n\n### 1.1.1. Pre-requisites\n- A GCP project on which you are owner\n- Terraform, make, and jq installed\n- Initialized gcloud SDK with your owner account\n\n### 1.1.2. Deploying\n\nClone the repo\n\nRun `make one-click-mlflow` and let the wizard guide you.\n\nIf you want to see the innards, you can run it in debug mode: `DEBUG=true make one-click-mlflow`\n\n\n### 1.1.3. What it does\n- Enables the necessary services\n- Builds and deploys the MLFlow docker image\n- Creates a private IP CloudSQL (MySQL) database for the tracking server\n- Creates an AppEngine Flex  on the default service for the web UI, secured by IAP\n- Manages all the network magic\n- Creates the `mlflow-log-pusher` service account\n\n![Architecture](/doc/archi.svg)\n\n### 1.1.4. Other available make commands\n- `make deploy`: builds and pushes the application image and (re)deploys the infrastructure\n- `make docker`: builds and pushes the application image\n- `make apply`: (re)deploys the infrastructure\n- `make destroy`: destroys the infrastructure. **Will not delete the OAuth consent screen, and the app engine application**.\n\n\n### 1.1.5. Pushing your first parameters, logs, artifacts\nOnce the deployment successful, you can start pushing to your MLFlow instance.\n\n```bash\ncd examples\npython3 -m venv venv \nsource venv/bin/activate\npip install -r requirements.txt\npython track_experiment.py\n```\n\nYou can than adapt `examples/track_experiment.py` and `examples/mlflow_config.py` to suit your application's needs.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartefactory%2Fone-click-mlflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fartefactory%2Fone-click-mlflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartefactory%2Fone-click-mlflow/lists"}