Name: universe
Owner: CiscoCloud
Description: The Mesosphere Universe package repository.
Created: 2015-07-09 12:18:38.0
Updated: 2016-09-19 19:24:13.0
Pushed: 2015-07-16 13:34:20.0
Homepage: http://mesosphere.github.io/universe
Size: 478
Language: Shell
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
The Mesosphere Universe package repository.
Packages are encapsulated in their own directory, with one subdirectory for each package version.
foo
??? 0
? ??? command.json
? ??? config.json
? ??? marathon.json
? ??? package.json
??? 1
? ??? command.json
? ??? config.json
? ??? marathon.json
? ??? package.json
??? ...
Sample package directory layout.
package.json
ame": "foo",
ersion": "1.2.3",
ags": ["mesosphere", "framework"],
aintainer": "help@bar.io",
escription": "Does baz.",
cm": "https://github.com/bar/foo.git",
ebsite": "http://bar.io/foo",
mages": {
"icon-small": "http://some.org/foo/small.png",
"icon-medium": "http://some.org/foo/medium.png",
"icon-large": "http://some.org/foo/large.png",
"screenshots": [
"http://some.org/foo/screen-1.png",
"http://some.org/foo/screen-2.png"
]
ostInstallNotes": "Have fun foo-ing and baz-ing!"
Sample package.json
.
The required fields are:
While images
is an optional field, it is highly recommended you include icons
and screenshots in your package and update the path definitions accordingly.
Specifications are as follows:
icon-small
: 48px (w) x 48px (h)icon-medium
: 96px (w) x 96px (h)icon-large
: 256px (w) x 256px (h)screenshots[...]
: 1200px (w) x 675px (h)NOTE: To ensure your service icons look beautiful on retina-ready displays,
please supply 2x versions of all icons. No changes are needed to
package.json
- simply supply an additional icon file with the text @2x
in
the name before the file extension.
For example, the icon icon-cassandra-small.png
would have a retina-ready
alternate image named icon-cassandra-small@2x.png
.
config.json
ype": "object",
roperties": {
"foo": {
"type": "object",
"properties": {
"baz": {
"type": "integer",
"description": "How many times to do baz.",
"minimum": 0,
"maximum": 16,
"required": false,
"default": 4
}
},
"required": ["baz"]
}
equired": ["foo"]
Sample config.json
.
marathon.json
This file describes how to run the package as a Marathon app.
User-supplied metadata (as described in config.json
) can be injected
using moustache template syntax.
d": "foo",
pus": "1.0",
em": "1024",
nstances": "1",
rgs": ["{{{foo.baz}}}"],
ontainer": {
"type": "DOCKER",
"docker": {
"image": "bar/foo",
"network": "BRIDGE",
"portMappings": [
{
"containerPort": 8080,
"hostPort": 0,
"servicePort": 0,
"protocol": "tcp"
}
]
}
Sample marathon.json
.
See the Marathon API Documentation for more detailed instruction on app definitions.
command.json
This file is optional. Describes how to install the package's CLI. Currently the only supported format is a Pip requirements file where each element in the array is a line in the requirements file.
ip": [
"https://pypi.python.org/packages/source/f/foo/foo-1.2.3.tar.gz"
Sample command.json
.
See the Command Schema for a detailed description of the schema.
Package content is validated using JSON Schema.
The schema definitions live in /repo/meta/schema
.
LICENSE
README.md
docs
??? best-practices.md
??? contributing.md
hooks
??? pre-commit
repo
??? meta
? ??? index.json
? ??? index.json.gz
? ??? schema
? ? ??? command-schema.json
? ? ??? config-schema.json
? ? ??? index-schema.json
? ? ??? marathon-schema.json
? ? ??? package-schema.json
? ??? version.json
??? packages
??? B
? ??? bar
? ? ??? 0
? ? ? ??? command.json
? ? ? ??? config.json
? ? ? ??? marathon.json
? ? ? ??? package.json
? ? ??? ...
? ??? ...
??? F
? ??? foo
? ? ??? 0
? ? ? ??? config.json
? ? ? ??? marathon.json
? ? ? ??? package.json
? ? ??? ...
? ??? ...
??? ...
scripts
??? 1-validate-packages.sh
??? 2-build-index.sh
??? 3-validate-index.sh
??? 4-detect-dependency-cycles.sh
??? build.sh
??? install-git-hooks.sh
This section describes transfer of package metadata from a universe source to a client program.
?????????????? ??????????????????
blic universe? ?private universe?
?????????????? ??????????????????
git \ / http
\ /
\ /
???????? ??????????
?client?-----------?marathon?
???????? http ??????????
|
|
?????????????
?local cache?
?????????????
Sample (simplified) architecture for a universe client program.
Package sources are described as URLs.
Source URLs encode the transfer protocol. Recommendations for several transfer protocols follow.
Filesystem
A URL that designates a local directory.
Example: file:///some/nfs/mount/universe
Git
A URL that designates a git repository.
Example: git://github.com/mesosphere/universe.git
HTTP and HTTPS
A URL that designates a
zip file
accessible over HTTP or HTTPS with media type application/zip
.
Example: http://my.org/files/universe/packages.zip