From cc8789d71fe2e0335a2b66a7e8724e3701521229 Mon Sep 17 00:00:00 2001 From: Valeriano Manassero <14011549+valeriano-manassero@users.noreply.github.com> Date: Wed, 7 Jul 2021 11:44:21 +0200 Subject: [PATCH] Clearml chart readme improvements (#7) * clearml chart LICENSE * bump up version * improved readme * clearml chart name fix --- charts/clearml/Chart.yaml | 2 +- LICENSE => charts/clearml/LICENSE | 24 +++++------ charts/clearml/README.md | 59 ++++++++++++++++++++++++--- charts/clearml/README.md.gotmpl | 68 +++++++++++++++++++++++++++++++ 4 files changed, 135 insertions(+), 18 deletions(-) rename LICENSE => charts/clearml/LICENSE (99%) create mode 100644 charts/clearml/README.md.gotmpl diff --git a/charts/clearml/Chart.yaml b/charts/clearml/Chart.yaml index 64d35b4..a33ec0e 100644 --- a/charts/clearml/Chart.yaml +++ b/charts/clearml/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: clearml description: MLOps platform type: application -version: "2.0.0-alpha1" +version: "2.0.0-alpha2" appVersion: "1.0.2" home: https://clear.ml icon: https://raw.githubusercontent.com/allegroai/clearml/master/docs/clearml-logo.svg diff --git a/LICENSE b/charts/clearml/LICENSE similarity index 99% rename from LICENSE rename to charts/clearml/LICENSE index 2c58b99..688d2d8 100644 --- a/LICENSE +++ b/charts/clearml/LICENSE @@ -9,7 +9,7 @@ TERMS AND CONDITIONS 0. Definitions. - + “This License” refers to Server Side Public License. “Copyright” also means copyright-like laws that apply to other kinds of @@ -173,7 +173,7 @@ access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. - + 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of @@ -185,7 +185,7 @@ (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. - + b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you @@ -196,12 +196,12 @@ for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. - + c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. - + d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no @@ -214,7 +214,7 @@ Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. - + e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under @@ -496,7 +496,7 @@ application program interfaces, automation software, monitoring software, backup software, storage software and hosting software, all such that a user could run an instance of the service using the Service Source Code - you make available. + you make available. 14. Revised Versions of this License. @@ -532,9 +532,9 @@ PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - + 16. Limitation of Liability. - + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING @@ -544,7 +544,7 @@ OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - + 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above @@ -553,5 +553,5 @@ waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS \ No newline at end of file + + END OF TERMS AND CONDITIONS diff --git a/charts/clearml/README.md b/charts/clearml/README.md index 42eaa13..80c8c9b 100644 --- a/charts/clearml/README.md +++ b/charts/clearml/README.md @@ -1,6 +1,6 @@ -# clearml +# ClearML Ecosystem for Kubernetes -![Version: 2.0.0-alpha1](https://img.shields.io/badge/Version-2.0.0--alpha1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.0.2](https://img.shields.io/badge/AppVersion-1.0.2-informational?style=flat-square) +![Version: 2.0.0-alpha2](https://img.shields.io/badge/Version-2.0.0--alpha2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.0.2](https://img.shields.io/badge/AppVersion-1.0.2-informational?style=flat-square) MLOps platform @@ -12,6 +12,58 @@ MLOps platform | ---- | ------ | --- | | valeriano-manassero | | https://github.com/valeriano-manassero | +## Introduction + +The **clearml-server** is the backend service infrastructure for [ClearML](https://github.com/allegroai/clearml). +It allows multiple users to collaborate and manage their experiments. +By default, *ClearML is set up to work with the ClearML Demo Server, which is open to anyone and resets periodically. +In order to host your own server, you will need to install **clearml-server** and point ClearML to it. + +**clearml-server** contains the following components: + +* The ClearML Web-App, a single-page UI for experiment management and browsing +* RESTful API for: + * Documenting and logging experiment information, statistics and results + * Querying experiments history, logs and results +* Locally-hosted file server for storing images and models making them easily accessible using the Web-App + +## Port Mapping + +After **clearml-server** is deployed, the services expose the following node ports: + +* API server on `30008` +* Web server on `30080` +* File server on `30081` + +## Accessing ClearML Server + +Access **clearml-server** by creating a load balancer and domain name with records pointing to the load balancer. + +Once you have a load balancer and domain name set up, follow these steps to configure access to clearml-server on your k8s cluster: + +1. Create domain records + + * Create 3 records to be used for Web-App, File server and API access using the following rules: + * `app.` + * `files.` + * `api.` + + (*for example, `app.clearml.mydomainname.com`, `files.clearml.mydomainname.com` and `api.clearml.mydomainname.com`*) +2. Point the records you created to the load balancer +3. Configure the load balancer to redirect traffic coming from the records you created: + * `app.` should be redirected to k8s cluster nodes on port `30080` + * `files.` should be redirected to k8s cluster nodes on port `30081` + * `api.` should be redirected to k8s cluster nodes on port `30008` + +## Additional Configuration for ClearML Server + +You can also configure the **clearml-server** for: + +* fixed users (users with credentials) +* non-responsive experiment watchdog settings + +For detailed instructions, see the [Optional Configuration](https://github.com/allegroai/clearml-server#optional-configuration) section in the **clearml-server** repository README file. + ## Source Code * @@ -184,6 +236,3 @@ MLOps platform | webserver.service.port | int | `80` | | | webserver.service.type | string | `"NodePort"` | | | webserver.tolerations | list | `[]` | | - ----------------------------------------------- -Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) diff --git a/charts/clearml/README.md.gotmpl b/charts/clearml/README.md.gotmpl new file mode 100644 index 0000000..fd78885 --- /dev/null +++ b/charts/clearml/README.md.gotmpl @@ -0,0 +1,68 @@ +# ClearML Ecosystem for Kubernetes +{{ template "chart.deprecationWarning" . }} + +{{ template "chart.badgesSection" . }} + +{{ template "chart.description" . }} + +{{ template "chart.homepageLine" . }} + +{{ template "chart.maintainersSection" . }} + +## Introduction + +The **clearml-server** is the backend service infrastructure for [ClearML](https://github.com/allegroai/clearml). +It allows multiple users to collaborate and manage their experiments. +By default, *ClearML is set up to work with the ClearML Demo Server, which is open to anyone and resets periodically. +In order to host your own server, you will need to install **clearml-server** and point ClearML to it. + +**clearml-server** contains the following components: + +* The ClearML Web-App, a single-page UI for experiment management and browsing +* RESTful API for: + * Documenting and logging experiment information, statistics and results + * Querying experiments history, logs and results +* Locally-hosted file server for storing images and models making them easily accessible using the Web-App + +## Port Mapping + +After **clearml-server** is deployed, the services expose the following node ports: + +* API server on `30008` +* Web server on `30080` +* File server on `30081` + +## Accessing ClearML Server + +Access **clearml-server** by creating a load balancer and domain name with records pointing to the load balancer. + +Once you have a load balancer and domain name set up, follow these steps to configure access to clearml-server on your k8s cluster: + +1. Create domain records + + * Create 3 records to be used for Web-App, File server and API access using the following rules: + * `app.` + * `files.` + * `api.` + + (*for example, `app.clearml.mydomainname.com`, `files.clearml.mydomainname.com` and `api.clearml.mydomainname.com`*) +2. Point the records you created to the load balancer +3. Configure the load balancer to redirect traffic coming from the records you created: + * `app.` should be redirected to k8s cluster nodes on port `30080` + * `files.` should be redirected to k8s cluster nodes on port `30081` + * `api.` should be redirected to k8s cluster nodes on port `30008` + +## Additional Configuration for ClearML Server + +You can also configure the **clearml-server** for: + +* fixed users (users with credentials) +* non-responsive experiment watchdog settings + +For detailed instructions, see the [Optional Configuration](https://github.com/allegroai/clearml-server#optional-configuration) section in the **clearml-server** repository README file. + +{{ template "chart.sourcesSection" . }} + +{{ template "chart.requirementsSection" . }} + +{{ template "chart.valuesSection" . }}