Skip to content
/ seed Public
forked from ngageoint/seed

Standard for discovery and consumption of Docker containerized jobs.

License

Notifications You must be signed in to change notification settings

cshamis/seed

 
 

Repository files navigation

wordmark

seed seed

Seed is a general standard to aid in the discovery and consumption of a discrete unit of work contained within a Docker image.

See the specification for details.

Usage

The specification is intended to inform both job and execution framework developers. Detailed examples are provided for Seed usage in both simple and complex job scenarios and these are recommended for job developers interested in getting started quickly.

The Seed team provides a fully featured CLI to minimize the domain expertise required for a job developer to get a Seed image ready for distribution. This will handle the Docker image construction and publish, so focus can be given to what really matters - describing your job’s purpose, requirements and interface.

Silo offers a REST API, also implemented by the Seed team, for discovering Seed images. The API allows users to scan one or more repositories for Seed images and then search the resulting images and their manifests by keywords. An implementer can leverage these endpoints to assist users in discovering Seed images and creating jobs out of them.

Development

All Seed documentation is made via the excellent AsciiDoc standard. Travis CI is used to compile all the documentation into html / pdf releases and update the GitHub pages site with all available Seed releases.

Complilation of repo documentation can be performed locally using this command:

spec/generate-outputs.sh

Output files will be placed under spec/output.

Releases

Generation of new releases may be done from a clean master branch:

./generate-release.sh 1.0.0

This will create a new tag, that will kick off a TravisCI tag build to create release artifacts, update the master branch with a pointer to that release and finally a TravisCI build of master to update GitHub pages with the permalink to all available releases.

You can also easily generate release notes and nicely formatted changelog by using the gren CLI:

# Assuming gren installed via NPM globally. If not, find here: https://github.com/github-tools/github-release-notes
gren release --override
gren changelog --override
git commit -a -m "Update changelog for release"
git push

About

Standard for discovery and consumption of Docker containerized jobs.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • SCSS 71.4%
  • Shell 18.2%
  • Python 9.4%
  • Other 1.0%