GithubHelp home page GithubHelp logo

wking / atomicapp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from projectatomic/atomicapp

0.0 3.0 0.0 381 KB

This is the reference implementation of the Nulecule container application Specification: Atomic App

Shell 1.81% Python 98.19%

atomicapp's Introduction

Atomic App

Atomic App is a reference implementation of the Nulecule Specification. It can be used to bootstrap container applications and to install and run them. Atomic App is designed to be run in a container context. Examples using this tool may be found in the Nulecule examples directory.

Getting Started

Atomic App 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 <[email protected]>

ADD /Nulecule /Dockerfile README.md /application-entity/
ADD /artifacts /application-entity/artifacts

For more information see the Nulecule getting started guide.

Developers

First of all, clone the github repository: git clone https://github.com/projectatomic/atomicapp.

Install this project

Simply run

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"

Build

docker build -t [TAG] .

Just a call to Docker to package up the application and tag 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|no Pull whole dependency tree
  • --update Overwrite any existing files
  • --destination DST_PATH Unpack the application into given directory instead of current directory
  • APP Name of the image containing the application (f.e. vpavlin/wp-app)
  • PATH Path to a directory with installed (i.e. result of atomicapp install ...) app

Action run performs 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

Providers represent various deployment targets. They can be added by placing a file called provider_name.py in 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.

Dependencies

As of Version 0.1.1 Atomic App uses Python 2.7.5 and Anymarkup.

##Communication channels

The Badges

Code Health Build Status Coverage Status

Copyright

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 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.

atomicapp's People

Contributors

aweiteka avatar bexelbie avatar dustymabe avatar goern avatar imcleod avatar jasonbrooks avatar lalatendumohanty avatar langdon avatar markllama avatar mscherer avatar navidshaikh avatar quaid avatar sub-mod avatar tkdchen avatar tomastomecek avatar veillard avatar vpavlin avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.