Atomicapp is a reference implementation of the Nulecule Specification. It can be used to bootstrap container applications and to install and run them. Atomicapp is designed to be run in a container context. Examples using this tool may be found in the Nulecule examples directory.
Atomicapp is packaged as a container. End-users typically do not install the software from source. Instead use the atomicapp container as the
FROM line in a Dockerfile and package your application on top. For example:
FROM projectatomic/atomicapp:0.1.1 MAINTAINER Your Name <firstname.lastname@example.org> ADD /Nulecule /Dockerfile README.md /application-entity/ ADD /artifacts /application-entity/artifacts
For more information see the Nulecule getting started guide.
First of all, clone the github repository:
git clone https://github.com/projectatomic/atomicapp.
Install this project
pip install .
If you want to do some changes to the code, I suggest to do:
cd atomicapp export PYTHONPATH=`pwd`:$PYTHONPATH alias atomicapp="`pwd`/atomicapp/cli/main.py"
atomicapp [--dry-run] build [TAG]
Calls Docker build to package up the application and tags the resulting image.
Install and Run
atomicapp [--dry-run] [-a answers.conf] install|run [--recursive] [--update] [--destination DST_PATH] APP|PATH
Pulls the application and it's dependencies. If the last argument is
existing path, it looks for
Nulecule file there instead of pulling anything.
--recursive yes|noPull whole dependency tree
--updateOverwrite any existing files
--destination DST_PATHUnpack the application into given directory instead of current directory
APPName of the image containing the application (f.e.
PATHPath to a directory with installed (i.e. result of
atomicapp install ...) app
install prior it's own tasks are executed if
APP is given. When
run is selected, providers' code is invoked and containers are deployed.
Providers represent various deployment targets. They can be added by placing a file called
providers/. This file needs to implement the interface explained in (providers/README.md). For a detailed description of all providers available see the Provider description.
- IRC: #nulecule (On Freenode)
- Mailing List: email@example.com
Copyright (C) 2015 Red Hat Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License, version
3, as published by the Free Software Foundation. For details see