{"id":13416187,"url":"https://github.com/mantl/mantl","last_synced_at":"2025-09-28T23:30:33.111Z","repository":{"id":26474216,"uuid":"29925961","full_name":"mantl/mantl","owner":"mantl","description":"Mantl is a modern platform for rapidly deploying globally distributed services","archived":true,"fork":false,"pushed_at":"2019-05-07T03:45:48.000Z","size":14315,"stargazers_count":2988,"open_issues_count":167,"forks_count":413,"subscribers_count":187,"default_branch":"master","last_synced_at":"2025-09-09T15:29:21.583Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://mantl.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mantl.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"code-of-conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/security/index.rst","support":null}},"created_at":"2015-01-27T17:36:52.000Z","updated_at":"2025-08-03T11:22:51.000Z","dependencies_parsed_at":"2022-08-29T18:11:27.101Z","dependency_job_id":null,"html_url":"https://github.com/mantl/mantl","commit_stats":null,"previous_names":["ciscocloud/mantl","ciscocloud/microservices-infrastructure"],"tags_count":35,"template":false,"template_full_name":null,"purl":"pkg:github/mantl/mantl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mantl%2Fmantl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mantl%2Fmantl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mantl%2Fmantl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mantl%2Fmantl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mantl","download_url":"https://codeload.github.com/mantl/mantl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mantl%2Fmantl/sbom","scorecard":{"id":615698,"data":{"date":"2025-08-11","repo":{"name":"github.com/mantl/mantl","commit":"b042447bfd874d811cdf08c59e0d221e722c5398"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.8,"checks":[{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"project is archived","details":["Warn: Repository is archived."],"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":7,"reason":"Found 8/11 approved changesets -- score normalized to 7","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Info: Possibly incomplete results: error parsing shell code: a command can only contain words and redirects; encountered (: roles/kafka/templates/kafka-brokers.sh.j2:0","Info: Possibly incomplete results: error parsing shell code: a command can only contain words and redirects; encountered (: roles/marathon/files/marathon-iptables.tmpl:0","Info: Possibly incomplete results: error parsing shell code: a command can only contain words and redirects; encountered (: roles/mesos/files/mesos-leader-iptables.tmpl:0","Info: Possibly incomplete results: error parsing shell code: \"foo(\" must be followed by ): roles/vault/templates/vault.unseal.j2:0","Warn: containerImage not pinned by hash: Dockerfile:1: pin your Docker image by updating alpine:3.3 to alpine:3.3@sha256:6bff6f65597a69246f79233ef37ff0dc50d97eaecbabbe4f8a885bf358be1ecf","Warn: pipCommand not pinned by hash: Dockerfile:3-6","Warn: pipCommand not pinned by hash: vagrant/provision.sh:25","Info:   0 out of   2 pipCommand dependencies pinned","Info:   0 out of   1 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"53 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2021-358 / GHSA-2pfh-q76x-gwvm","Warn: Project is vulnerable to: PYSEC-2018-40 / GHSA-3m8p-xpm6-8ww3","Warn: Project is vulnerable to: PYSEC-2018-81 / GHSA-3xvg-x47j-x75w","Warn: Project is vulnerable to: PYSEC-2020-198 / GHSA-49m5-2838-q2rv","Warn: Project is vulnerable to: PYSEC-2017-2 / GHSA-4cvm-5776-jx9f","Warn: Project is vulnerable to: GHSA-4r65-35qq-ch8j","Warn: Project is vulnerable to: PYSEC-2020-200 / GHSA-5g4v-2pc6-4hh4","Warn: Project is vulnerable to: PYSEC-2021-1 / GHSA-5rrg-rr89-x9mv","Warn: Project is vulnerable to: PYSEC-2020-202 / GHSA-5xm4-jmpw-p6j3","Warn: Project is vulnerable to: PYSEC-2020-205 / GHSA-64cw-m57j-65xj","Warn: Project is vulnerable to: PYSEC-2020-201 / GHSA-6667-f46p-pg88","Warn: Project is vulnerable to: PYSEC-2020-203 / GHSA-66c7-5pwv-mm3j","Warn: Project is vulnerable to: GHSA-74vq-h4q8-x6jv","Warn: Project is vulnerable to: PYSEC-2020-3 / GHSA-785x-qw4v-6872","Warn: Project is vulnerable to: PYSEC-2020-9 / GHSA-893h-35v4-mxqx","Warn: Project is vulnerable to: PYSEC-2021-124 / GHSA-8f4m-hccc-8qph","Warn: Project is vulnerable to: PYSEC-2020-11 / GHSA-923p-fr2c-g5m2","Warn: Project is vulnerable to: PYSEC-2018-36 / GHSA-9x6q-5423-w5v9","Warn: Project is vulnerable to: PYSEC-2018-37 / GHSA-cmwx-9m2h-x7v4","Warn: Project is vulnerable to: PYSEC-2020-10 / GHSA-f85h-23mf-2fwh","Warn: Project is vulnerable to: GHSA-fc4h-467w-46rh","Warn: Project is vulnerable to: PYSEC-2013-1 / GHSA-fj24-ghp9-39v3","Warn: Project is vulnerable to: PYSEC-2020-5 / GHSA-g4mq-6fp5-qwcf","Warn: Project is vulnerable to: PYSEC-2019-2 / GHSA-grgm-pph5-j5h7","Warn: Project is vulnerable to: PYSEC-2020-161 / GHSA-gwr8-5j83-483c","Warn: Project is vulnerable to: PYSEC-2020-6 / GHSA-h39q-95q5-9jfp","Warn: Project is vulnerable to: PYSEC-2018-44 / GHSA-hwrm-63v2-42g4","Warn: Project is vulnerable to: GHSA-j569-fghw-f9rx","Warn: Project is vulnerable to: GHSA-j667-c2hm-f2wp","Warn: Project is vulnerable to: PYSEC-2018-38 / GHSA-jg4f-jqm5-4mgq","Warn: Project is vulnerable to: GHSA-jpvw-p8pr-9g2x","Warn: Project is vulnerable to: PYSEC-2018-39 / GHSA-m956-frf4-m2wr","Warn: Project is vulnerable to: PYSEC-2019-4 / GHSA-pm48-cvv2-29q5","Warn: Project is vulnerable to: PYSEC-2020-199 / GHSA-qg47-5px9-32g7","Warn: Project is vulnerable to: PYSEC-2021-105 / GHSA-r6h7-5pq2-j77h","Warn: Project is vulnerable to: PYSEC-2016-1 / GHSA-rh6x-qvg7-rrmj","Warn: Project is vulnerable to: PYSEC-2018-60 / GHSA-v735-2pp6-h86r","Warn: Project is vulnerable to: PYSEC-2020-12 / GHSA-vcg8-98q8-g7mj","Warn: Project is vulnerable to: GHSA-vp9j-rghq-8jhh","Warn: Project is vulnerable to: PYSEC-2018-41 / GHSA-w578-j992-554x","Warn: Project is vulnerable to: PYSEC-2015-1 / GHSA-w64c-pxjj-h866","Warn: Project is vulnerable to: PYSEC-2020-204 / GHSA-wqq5-c89p-3wc3","Warn: Project is vulnerable to: PYSEC-2021-106 / GHSA-wv5p-gmmv-wh9v","Warn: Project is vulnerable to: PYSEC-2017-3 / GHSA-wwwh-47wp-m522","Warn: Project is vulnerable to: PYSEC-2018-58 / GHSA-x4cm-m36h-c6qj","Warn: Project is vulnerable to: PYSEC-2020-210","Warn: Project is vulnerable to: PYSEC-2020-220","Warn: Project is vulnerable to: PYSEC-2020-7","Warn: Project is vulnerable to: PYSEC-2020-8","Warn: Project is vulnerable to: PYSEC-2021-107","Warn: Project is vulnerable to: PYSEC-2021-126","Warn: Project is vulnerable to: PYSEC-2021-142 / GHSA-8q59-q68h-6hv4","Warn: Project is vulnerable to: PYSEC-2018-49 / GHSA-rprw-h62v-c2w7"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-21T03:52:11.421Z","repository_id":26474216,"created_at":"2025-08-21T03:52:11.421Z","updated_at":"2025-08-21T03:52:11.421Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276439797,"owners_count":25642752,"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","status":"online","status_checked_at":"2025-09-22T02:00:08.972Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-07-30T21:00:55.194Z","updated_at":"2025-09-28T23:30:31.628Z","avatar_url":"https://github.com/mantl.png","language":"Python","funding_links":[],"categories":["Python","Container Operations","Roadmap","others","Featured On","Platforms"],"sub_categories":["Orchestration","[Developer Platform](#developer-platform)"],"readme":"![image](./docs/_static/mantl-logo.png)\n\n# Overview\n\n[![Join the chat at https://gitter.im/CiscoCloud/mantl](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/CiscoCloud/mantl?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n[![Build Status](https://img.shields.io/travis/mantl/mantl.svg)](https://travis-ci.org/mantl/mantl)\n[![Stories in Progress](https://badge.waffle.io/mantl/mantl.svg?label=in%20progress\u0026title=InProgress)](http://waffle.io/mantl/mantl)\n\nMantl is a modern, batteries included platform for rapidly deploying globally\ndistributed services\n\n\u003c!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc-generate-toc again --\u003e\n**Table of Contents**\n\n- [Overview](#overview)\n    - [Features](#features)\n        - [Core Components](#core-components)\n        - [Addons](#addons)\n        - [Goals](#goals)\n        - [Architecture](#architecture)\n            - [Control Nodes](#control-nodes)\n            - [Agent Nodes](#agent-nodes)\n            - [Edge Nodes](#edge-nodes)\n    - [Getting Started](#getting-started)\n        - [Software Requirements](#software-requirements)\n        - [Deploying on multiple servers](#deploying-on-multiple-servers)\n    - [Documentation](#documentation)\n    - [Roadmap](#roadmap)\n        - [Mesos Frameworks](#mesos-frameworks)\n        - [Security](#security)\n        - [Operations](#operations)\n        - [Supported Platforms](#supported-platforms)\n            - [Community Supported Platforms](#community-supported-platforms)\n    - [Development](#development)\n    - [Getting Support](#getting-support)\n    - [License](#license)\n\n\u003c!-- markdown-toc end --\u003e\n\n\n## Features\n\n### Core Components\n* [Consul](http://consul.io) for service discovery\n* [Vault](http://vaultproject.io) for managing secrets\n* [Mesos](http://mesos.apache.org) cluster manager for efficient resource\n  isolation and sharing across distributed services\n* [Marathon](https://mesosphere.github.io/marathon) for cluster management of\n  long running containerized services\n* [Kubernetes](http://kubernetes.io/) for managing, organizing, and scheduling\n  containers\n* [Terraform](https://terraform.io) deployment to multiple cloud providers\n* [Docker](http://docker.io) container runtime\n* [Traefik](https://traefik.github.io/) for proxying external traffic\n* [mesos-consul](https://github.com/CiscoCloud/mesos-consul) populating Consul\n  service discovery with Mesos tasks\n* [Mantl API](https://github.com/CiscoCloud/mantl-api) easily install supported\n  Mesos frameworks on Mantl\n* [Mantl UI](https://github.com/CiscoCloud/nginx-mantlui) a beautiful\n  administrative interface to Mantl\n\n### Addons\n* [ELK Stack](https://www.elastic.co/webinars/introduction-elk-stack) for log\n  collection and analysis\n     -  [Logstash](https://github.com/elastic/logstash) for log forwarding\n* [GlusterFS](http://www.gluster.org/) for container volume storage\n* [Docker Swarm](https://www.docker.com/products/docker-swarm/) for clustering\n  Docker daemons between networked hosts\n* [etcd](https://github.com/coreos/etcd), distributed key-value store for Calico\n* [Calico](http://www.projectcalico.org), a new kind of virtual network\n* [collectd](https://collectd.org/) for metrics collection\n* [Chronos](https://mesos.github.io/chronos/) a distributed task scheduler\n* [Kong](http://getkong.org) for managing APIs\n\nSee the `addons/` directory for the most up-to-date information.\n\n### Goals\n* Security\n* High availability\n* Rapid immutable deployment (with Terraform + Packer)\n\n### Architecture\n\nThe base platform contains control nodes that manage the cluster and any number\nof agent nodes. Containers automatically register themselves into DNS so\nthat other services can locate them.\n\n![mantl-diagram](docs/_static/mantl-diagram.png)\n\n#### Control Nodes\n\nThe control nodes manage a single datacenter. Each control node runs Consul for\nservice discovery, Mesos and Kubernetes leaders for resource scheduling and\nMesos frameworks like Marathon.\n\nThe Consul Ansible role will automatically bootstrap and join multiple Consul\nnodes. The Mesos role will provision highly-availabile Mesos and ZooKeeper\nenvironments when more than one node is provisioned.\n\n#### Agent Nodes\n\nAgent nodes launch containers and other Mesos- or Kubernetes-based workloads.\n\n#### Edge Nodes\n\nEdge nodes are responsible for proxying external traffic into services running\nin the cluster.\n\n## Getting Started\n\nAll development is done on the `master` branch. Tested, stable versions are\nidentified via git tags. To get started, you can clone or fork this repo:\n\n```\ngit clone https://github.com/mantl/mantl.git\n```\n\nTo use a stable version, use `git tag` to list the stable versions:\n\n```\ngit tag\n0.1.0\n0.2.0\n...\n1.2.0\n\n\ngit checkout 1.2.0\n```\n\nA Vagrantfile is provided that provisions everything on a few VMs. To run,\nfirst ensure that your system has at least 2GB of RAM free, then just:\n\n```\nvagrant up\n```\n\nNote:\n* There is no support for Windows at this time, however support is planned.\n* Use the latest version of Vagrant for best results. Version 1.8 is required.\n* There is no support for the VMware Fusion Vagrant provider; hence your\n  provider is set to Virtualbox in your Vagrantfile.\n\n### Software Requirements\n\nThe only requirements for running Mantl are working installations of Terraform\nand Ansible (or Vagrant, if you're deploying to VMs). See the \"Development\"\nsections for requirements for developing Mantl.\n\n### Deploying on multiple servers\n\nPlease refer to the [Getting Started\nGuide](http://docs.mantl.io/en/latest/getting_started/index.html), which covers\ncloud deployments.\n\n## Documentation\n\nAll documentation is located at\n[http://docs.mantl.io](http://docs.mantl.io/en/latest).\n\nTo build the documentation locally, run:\n\n```\nsudo pip install -r requirements.txt\ncd docs\nmake html\n```\n\n## Roadmap\n\n### Mesos Frameworks\n\n- [x] Marathon\n- [x] Kafka\n- [ ] Riak\n- [x] Cassandra\n- [x] Elasticsearch\n- [x] HDFS\n- [ ] Spark\n- [ ] Storm\n- [x] Chronos\n- [x] MemSQL\n\nNote: The most up-to-date list of Mesos frameworks that are known to work with\nMantl is always in the [mantl-universe\nrepo](https://github.com/CiscoCloud/mantl-universe).\n\n### Security\n\n- [x] Manage Linux user accounts\n- [x] Authentication and authorization for Consul\n- [x] Authentication and authorization for Mesos\n- [x] Authentication and authorization for Marathon\n- [x] Application load balancer (based on [Traefik](https://traefik.github.io/))\n- [x] Application dynamic firewalls (using consul template)\n\n### Operations\n\n- [x] Logging (with the ELK stack)\n- [x] Metrics (with the collectd addon)\n- [ ] In-service upgrade with rollback\n- [ ] Autoscaling of worker nodes\n- [ ] Self maintaining system (log rotation, etc)\n- [ ] Self healing system (automatic failed instance replacement, etc)\n\n### Supported Platforms\n\n- [x] [Amazon Web Services](https://aws.amazon.com/)\n- [x] [CenturyLinkCloud](https://www.ctl.io)\n- [x] [Cisco Cloud Services](http://www.cisco.com/c/en/us/solutions/cloud/overview.html)\n- [x] [Cisco MetaCloud](http://www.cisco.com/c/en/us/products/cloud-systems-management/metapod/index.html)\n- [x] [DigitalOcean](https://www.digitalocean.com/)\n- [x] [Joyent Triton](https://www.joyent.com/)\n- [x] [Google Compute Engine](https://cloud.google.com/compute/)\n- [x] [OpenStack](http://www.openstack.org/)\n- [x] [Vagrant](https://www.vagrantup.com/) (Linux/OSX + VirtualBox)\n- [ ] [Apache CloudStack](https://cloudstack.apache.org/)\n- [ ] [Cisco Unified Computing System](http://www.cisco.com/c/en/us/products/servers-unified-computing/index.html)\n- [ ] [Microsoft Azure](https://azure.microsoft.com/en-us/?b=16.17)\n- [ ] Vagrant (Windows + VirtualBox)\n\n#### Community Supported Platforms\n\n- [x] Bare Metal\n- [x] [IBM Softlayer](http://www.softlayer.com/)\n- [x] [VMware vSphere](http://www.vmware.com/products/vsphere/)\n\nPlease see [milestones](https://github.com/mantl/mantl/milestones) for\nmore details on the roadmap.\n\n## Development\n\nIf you're interested in contributing to the project, install\n[Terraform](https://www.terraform.io/downloads.html) and the Python modules\nlisted in `requirements.txt` and follow the Getting Started instructions. To\nbuild the docs, enter the `docs` directory and run `make html`. The docs will\nbe output to `_build/html`.\n\nGood issues to start with are marked with the [low hanging\nfruit](https://github.com/mantl/mantl/issues?q=is%3Aopen+is%3Aissue+label%3A%22low+hanging+fruit%22)\ntag.\n\nTo keep your fork up to date.\n\n### 1. Clone your fork:\n\n    git clone git@github.com:YOUR-USERNAME/mantl.git\n\n### 2. Add remote from original repository in your forked repository: \n\n    cd into/cloned/fork-repo\n    git remote add upstream git://github.com/mantl/mantl.git\n    git fetch upstream\n\n### 3. Updating your fork from original repo to keep up with their changes:\n\n    git pull upstream master\n    \n## Getting Support\n\nIf you encounter any issues, please open a [Github\nIssue](https://github.com/CiscoCloud/mantl) against the project. We review\nissues daily.\n\nWe also have a [gitter chat room](https://gitter.im/CiscoCloud/mantl). Drop by\nand ask any questions you might have. We'd be happy to walk you through your\nfirst deployment.\n\n[Cisco Intercloud Services](https://developer.cisco.com/cloud) provides support\nfor OpenStack based deployments of Mantl.\n\n## License\n\nCopyright © 2015 Cisco Systems, Inc.\n\nLicensed under the [Apache License, Version\n2.0](http://www.apache.org/licenses/LICENSE-2.0) (the \"License\").\n\nUnless required by applicable law or agreed to in writing, software distributed\nunder the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\nCONDITIONS OF ANY KIND, either express or implied. See the License for the\nspecific language governing permissions and limitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmantl%2Fmantl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmantl%2Fmantl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmantl%2Fmantl/lists"}