The DCOS package repository for experimental packages.
Certified packages can be found in the Universe repository. The Mesosphere Universe sets the standard for all services to be added to DCOS and should be the point of reference for all certifications, standards, verification scripts and tests.
The DCOS CLI does not come pre-configured to use the Multiverse repository.
To install and use the Multiverse:
dcos package repo add Multiverse https://github.com/mesosphere/multiverse/archive/version-2.x.zip
The default branch for this repository is version-2.x
, which reflects the current schema for the Multiverse. In the future, if the format changes significantly, there will be additional branches.
Interested in making your package or service available to the world? The instructions below will help you set up a local copy of the Multiverse for development.
-
Clone the repo (or you may wish to fork it first):
git clone https://github.com/mesosphere/multiverse.git /path/to/multiverse
-
You may need to install the
jsonschema
Python package if you don't have it:sudo pip install jsonschema
-
Install pre-commit hook:
bash /path/to/universe/scripts/install-git-hooks.sh
-
To test in DCOS we need to make the packages available to your cluster. We can do this using topic or feature branches. Once you have committed your changes and pushed them to a topic branch. We can use them within DCOS with:
dcos package repo add Development http://github/path/to/branch/zip
E.g. assuming the topic branch is named topic-branch:
dcos package repo add Developement https://github.com/mesosphere/universe/archive/topic-branch.zip
The pre-commit hook will run build.sh before allowing you to commit. This script validates your package definitions and regenerates the index file. You may need to git add repo/meta/index.json
after running it once before you are able to pass validation and commit your changes.
Whenever you make changes locally, be sure to update the CLI's cache to pick them up:
dcos package update
Before merging to Multiverse, you must run build.sh to regenerate the package index. If you have installed the pre-commit hook as above, this will be done automatically on commit.
Packages in the Universe are required to pass Mesosphere certification. The certification requirements for the Multiverse repository are less strict, which is preferable for alpha or beta quality packages. Full certification requirements are available from Mesosphere support.
Once your package meets these requirements, please submit a pull request against the version-2.x
branch with your changes.
Full documentation on the repository specification is available in the Universe README.