Giter VIP home page Giter VIP logo

atomicapp's Introduction

Atomic App

Atomic App is a reference implementation of the Nulecule specification. Packaged Atomic App containers are "Nuleculized" and each component of the package is a "Nulecule".

Atomic App is used to bootstrap packaged container environments and run them on multiple container orchestrators. It is designed from the ground-up to be portable and provider pluggable.

  • A "packaged installer" for all container-based environments and applications. Replace all those bash and Ansible scripts with one container-based deployment tool.

  • Target multiple providers: Specify the provider you want the Atomic App to run on. It supports Kubernetes, OpenShift, Mesos+Marathon and Docker.

  • Inherit already packaged containers: Create composite applications by referencing other Nulecule-compliant applications. For example, plugging in an alternative well-orchestrated database in another referenced container image.

  • Fetch and run entire environments: Use atomicapp fetch and atomicapp run to run pre-packaged Nuleculized containers.

Installing Atomic App

From Linux:

git clone https://github.com/projectatomic/atomicapp && cd atomicapp
sudo make install

or

Download a pre-signed .tar.gz from download.projectatomic.io / GitHub:

export RELEASE=0.6.1
wget https://github.com/projectatomic/atomicapp/releases/download/$RELEASE/atomicapp-$RELEASE.tar.gz
tar -xvf atomicapp-$RELEASE.tar.gz && cd atomicapp-$RELEASE
sudo make install

Documentation

This README contains some high level overview information on Atomic App. The detailed documentation for Atomic App resides in the docs directory. The index provided conveniently links to each section below:

  1. Quick start
  2. Getting started
  3. Providers
  4. Docker
  5. Kubernetes
  6. OpenShift
  7. Marathon
  8. CLI
  9. Nulecule file
  10. Atomic App lifecycle
  11. File handling
  12. Specification coverage
  13. Contributing
  14. Dependencies

Getting started

Atomic App can be used either natively on your OS or ran via the atomic command on Fedora or CentOS Atomic hosts.

Detailed instructions on getting started are available. Alternatively, use the quick start guide to get a Nuleculized application running immediately.

An extended guide on the Nulecule file format is also available.

Real-world examples

Atomic App can be used to launch a cluster of containers (application servers, databases, etc.).

For a list of already packaged examples, visit the nulecule-library repo.

Providers

We currently support:

  • Docker
  • Kubernetes
  • OpenShift 3
  • Marathon (Mesos)

Providers represent various deployment targets. They can be added by placing the artifact within the respective in artifacts/ folder. For example, placing deploy_pod.yml within artifacts/kubernetes/.

For a detailed description of all providers available see docs/providers.md.

Contributing to Atomic App

Code Health Build Status Coverage Status

First of all, awesome! We have a development guide to help you get started!

If you have any issues or get stuck, feel free to open a GitHub issue or reach us at our communication channels (see below).

Dependencies

See REQUIREMENTS.md for a list of current Atomic App dependencies.

Communication channels

  • IRC: #nulecule on irc.freenode.net
  • Mailing List: [email protected]
  • Weekly IRC Nulecule meeting: Monday's @ 0930 EST / 0130 UTC
  • Weekly SCRUM Container-Tools meeting: Wednesday's @ 0830 EST / 1230 UTC on Bluejeans

Copyright

Copyright (C) 2016 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 cdrage avatar concaf avatar dharmit avatar dustymabe avatar goern avatar imcleod avatar jasonbrooks avatar kadel avatar kanarip avatar lalatendumohanty avatar langdon avatar markllama avatar mscherer avatar navidshaikh avatar preeticp avatar quaid avatar rtnpro avatar sub-mod avatar surajssd avatar tkdchen avatar tomastomecek avatar veillard avatar vpavlin avatar wking 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.