projectatomic/atomicapp

Name: atomicapp

Owner: Project Atomic

Description: [UNMAINTAINED] This is the reference implementation of the Nulecule container application Specification: Atomic App

Created: 2015-03-24 19:09:39.0

Updated: 2018-02-18 03:48:47.0

Pushed: 2017-03-07 10:08:08.0

Homepage:

Size: 2223

Language: Python

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

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.

Installing Atomic App

From Linux:

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

or

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

rt RELEASE=0.6.4
 https://github.com/projectatomic/atomicapp/releases/download/$RELEASE/atomicapp-$RELEASE.tar.gz
-xvf atomicapp-$RELEASE.tar.gz && cd atomicapp-$RELEASE
 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. File handling
  11. Specification coverage
  12. Contributing
  13. Dependencies
  14. Specification
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:

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.

Specification

Want to view the specification and contribute to changes? See the Nulecule spec for more information.

Communication channels
Copyright

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


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.