Coder Social home page Coder Social logo

mantl-universe's Introduction

mantl-universe

The Mantl Universe package repository - install DCOS packages on Mantl with Mantl API.

As of mantl-api 0.1.8, the default mantl-universe branch is version-0.7.

Packages

The goals of the packaging system are:

  1. Make it easy to contribute packages to Mantl
  2. Rely on existing DCOS packages when possible
  3. Immutable package versions
  4. Ability for users to build customized package versions

Package Structure

Mantl Universe packages are based on the DCOS packaging format from Mesosphere. Packages in Mantl Universe are intended to be installed with Mantl API and may depend on the corresponding package version in the Mesosphere Universe. For details on how Mantl API installs packages, you can review the Mantl API README.

Each package is made up of several json files:

package.json

The package.json file is where package metadata is set. This includes things like the name, version, description, and maintainer of the package.

In Mantl Universe, the package.json is optional if the intention is to use the package.json from the corresponding package version in the Mesosphere Universe.

config.json

The config.json file contains the configuration schema and defaults for the package.

In Mantl Universe, the config.json is optional if the intention is to use the config.json from the corresponding package version in the Mesosphere Universe.

mantl.json

The mantl.json overrides configuration defaults from the config.json file (either directly in the package or from the config.json for the corresponding package version in the Mesosphere universe) with values that are known to work on Mantl.

Also, the presence of the mantl.json dictates whether the package is "supported" on Mantl. It can be empty {} if there is no specific changes required to make the package run on Mantl.

mantl.json includes a setting that allows you to control how the application is load balanced on Mantl clusters. Currently, it is a simple toggle that allows you to control whether the application will be load balanced by Traefik in a Mantl cluster. Here is an example mantl.json with no other settings other than the load balancing configuration:

{
  "mantl": {
    "load-balancer": "external|off"
  }
}

If mantl.load-balancer is set to "external", the application will be included in the Traefik load balancer. Any other value will disable load balancing.

marathon.json

The marathon.json file contains the Marathon application json for the package. It is a mustache template that is rendered using data from config.json and mantl.json.

In Mantl Universe, the marathon.json is optional if the intention is to use the marathon.json from the corresponding package version in the Mesosphere Universe.

uninstall.json

The uninstall.json defines additional behavior when uninstalling a package. The uninstall support is currently limited to removing zookeeper nodes. It is also a mustache template so that variables from config.json and mantl.json can be used in the uninstall definition.

{
  "zookeeper": {
    "delete": [
      {
        "path": "{{kafka.storage}}",
        "always": true
      }
    ]
  }
}

Example uninstall.json that deletes zookeeper nodes with a path based on the kafka.storage variable.

Available Packages

Mantl Universe provides the following Mantl supported packages:

  • Arangodb
  • Cassandra
  • Chronos
  • Elasticsearch
  • HDFS
  • Kafka

mantl-universe's People

Contributors

ryane avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mantl-universe's Issues

Documentation: CONTRIBUTING.md

How do we go about developing support for Mesos frameworks on Mantl? What in the world are the .json files in this repo? Can we document the process that you've been using to develop these configs so the rest of us can take some load off your back @ryane?

Spark package

Is anyone working on getting Spark in mantl-universe? I am working to deploying Spark on MANTL, having a package here it might be the way to go. I could put some extra effort in making a PR if you guys think it would be useful.

Elasticsearch 0.7.0

We need to support the 0.7.0 version of the Elasticsearch framework. The 0.5.2 version does not run on Mesos 0.25.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.