Grasshopper is an implementation of the Nulecule Specification. It can be used to bootstrap container applications and to install and run them. Grasshopper is designed to be run in a container context.
Grasshopper is packaged as a container or as a RPM via copr.
End-users typically do not install the software from source. Instead use the Grasshopper container as the FROM
line in your Dockerfile and package your application on top. For example:
FROM goern/grasshopper:0.3.0-pre
MAINTAINER Your Name <you@example.com>
ADD /Nulecule /application-entity/
ADD /Dockerfile README.asciidoc /
ADD /artifacts /grasshopping/artifacts
To install your newly nuleculized application, simply call atomic run myapp
.
For a description of the lifecycle of a Nulecule, please refer to https://github.com/dustymabe/atomicapp/blob/4355d26576ac1297db1889277a4045f8d025bc4e/docs/atomicapp_lifecycle.md
Nulecules (aka "A Composite Container-based Application") are transferred as docker container images, therefore Grasshopper needs to talk to a docker daemon (which in fact will pull the image) to fetch docker container images.
On a Mac you should install Docker Toolbox, using the quick start terminal a few environment variables will be set (DOCKER_HOST, DOCKER_TLS_VERIFY, DOCKER_CERT_PATH).
On a Fedora/CentOS/Red Hat Enterprise Linux host, Grasshopper will talk to the local docker daemon
via /var/run/docker.sock
or, if a few environment variables are set (DOCKER_HOST, DOCKER_TLS_VERIFY,
DOCKER_CERT_PATH) Grasshopper will talk to the remote docker daemon.
First of all, clone the github repository: git clone https://github.com/goern/grasshopper
.
To build a Grasshopper base image just run make image
, this will compile the
Grasshopper binary and generate a Docker container image containing it.
Grasshopper is also build on Fedora’s wonderful COPR build service, therefor a SPEC file is provided.
Warning
|
Nevertheless a source RPM is provided containing all the source from
github, the rpm build process itself is using go get to get the source.
|
Copyright © 2015 Red Hat Inc.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/.
The GNU Lesser General Public License is provided within the file lgpl-3.0.txt.