Today we’ve released 0.3.0 of Atomic App! We’ve crossed a few things on our roadmap as well as introduced a brand-new provider; Marathon! For those new to Marathon, it’s a cluster-wide init and control system for services in cgroups or Docker containers, that usually runs on top of Apache Mesos.
The main features of this release are:
- Marathon provider (thank you @kadel and @dharmit!)
- A complete refactor of our OpenShift provider (using the HTTP API rather than oc command)
- Support for
oc new-app
deployment - CLI options (ex. –answers-conf) may now be used anywhere on the command line
Bug fixes and changes:
- A refactor of CLI commands and options
- Fix on deploying multiple inherited applications
For a quick introduction to Marathon, feel free to examine the helloapache Nulecule example with Marathon already built in.
Simply add Marathon as a respective provider within Nulecule
:
---
...
artifacts:
docker:
- file://artifacts/docker/hello-apache-pod_run
kubernetes:
- file://artifacts/kubernetes/hello-apache-pod.json
marathon:
- file://artifacts/marathon/helloapache.json
Then provide the JSON within the artifacts folder:
{
"id": "helloapache",
"container": {
"type": "DOCKER",
"docker": {
"network": "BRIDGE",
"image": "$image",
"portMappings": [
{
"containerPort": 80,
"servicePort": $hostport,
"hostPort": 0,
"protocol": "tcp"
}
]
}
},
"cpus": 0.5,
"mem": 128
}
Build, and launch!
docker build -t helloapache .
atomic run helloapache --provider=marathon
As we continue to push towards a 1.0.0 release we highly appreciate any comments or contributions to the Atomic App repo. If you have any questions about Atomic App or Nulecule, visit the #nulecule channel on Freenode or ask on the container-tools mailing list.