This release of Atomic App includes a large refactor of the "config" class as well as a minor change to our release script.
Features:
- Config refactor
- Release script fix
- Test cases added to the config class
Charlie Drage <[email protected]> (1):
Update release script regex
Ratnadeep Debnath <[email protected]> (3):
Initial work on refactoring Nulecule config. #524
Re implememt Config class to be more generic. Fixes #524
Fixed tests for config refactor.
This release focuses on bug fixes, scripts as well as the Nulecule specification being merged into Atomic App.
Features:
- The Nulecule spec is now located within the Atomic App repo / project
- Bug fixes with the
atomicapp genanswers
command - Release script added
Charlie Drage <[email protected]> (7):
Remove lifecycle for updated CLI doc
Merge Nulecule specification into Atomic App
Formatting error with anymarkup and genanswers
Openshift to KubeShift conversion and improvements
Add release script for Atomic App
Fix typo in openshift.py provider
Fixes mode argument with --mode=genanswers
Ratnadeep Debnath <[email protected]> (1):
Use travis CI to run tests from tests/units dir.
This release of Atomic App introduces the new atomicapp index
command.
We add this command in order to give a quick overview of all available featured and tested Nuleculized applications on github.com/projectatomic/nulecule-library. The ability to generate your own list is available as well with the atomicapp index generate
command.
The main features of this release are:
- Addition of the
atomicapp index
command - Correct file permissions are now when extracting Nuleculized containers
- OpenShift connection issue bugfix
This release adds the addition of the atomicapp index
command. By using the atomicapp index list
command, Atomic App will retrieve a container containing a valid index.yml
and output all available Nulecule containers. This index can also be updated by using atomicapp index update
.
atomicapp index list
Outputs the list of available containers located at ~/.atomicapp/index.yml
.
▶ atomicapp index list
INFO :: Atomic App: 0.6.2 - Mode: Index
ID VER PROVIDERS LOCATION
postgresql-atomicapp 1.0.0 {D,O,K} docker.io/projectatomic/postgresql-centos7-atomicapp
flask_redis_nulecule 0.0.1 {D,K} docker.io/projectatomic/flask-redis-centos7-atomicapp
redis-atomicapp 0.0.1 {D,O,K} docker.io/projectatomic/redis-centos7-atomicapp
gocounter 0.0.1 {D,K} docker.io/projectatomic/gocounter-scratch-atomicapp
mariadb-atomicapp 1.0.0 {D,O,K} docker.io/projectatomic/mariadb-centos7-atomicapp
helloapache-app 0.0.1 {D,K,M} docker.io/projectatomic/helloapache
mongodb-atomicapp 1.0.0 {D,O,K} docker.io/projectatomic/mongodb-centos7-atomicapp
etherpad-app 0.0.1 {D,O,K} docker.io/projectatomic/etherpad-centos7-atomicapp
apache-centos7-atomicapp 0.0.1 {D,K,M} docker.io/projectatomic/apache-centos7-atomicapp
wordpress-atomicapp 2.0.0 {D,O,K} docker.io/projectatomic/wordpress-centos7-atomicapp
skydns-atomicapp 0.0.1 {K} docker.io/projectatomic/skydns-atomicapp
guestbookgo-atomicapp 0.0.1 {O,K} docker.io/projectatomic/guestbookgo-atomicapp
mariadb-app 0.0.1 {D,K} docker.io/projectatomic/mariadb-fedora-atomicapp
gitlab-atomicapp 1.2.0 {D,K} docker.io/projectatomic/gitlab-centos7-atomicapp
atomicapp index update
Updates the index.yml
file.
▶ atomicapp index update
INFO :: Atomic App: 0.6.2 - Mode: Index
INFO :: Updating the index list
INFO :: Pulling latest index image...
INFO :: Skipping pulling docker image: projectatomic/nulecule-library
INFO :: Copying files from image projectatomic/nulecule-library:/index.yaml to /home/wikus/.atomicapp/index.yaml
INFO :: Index updated
atomicapp index generate
Generates a valid index.yml
file to use in listing all available containers.
▶ atomicapp index generate ./nulecule-library
INFO :: Atomic App: 0.6.1 - Mode: Index
INFO :: Generating index.yaml from ./nulecule-library
INFO :: index.yaml generated
Abhishek <[email protected]> (3):
incorrect_log_level
Show help when no arguments given.
raise DockerException for docker commands
Charlie Drage <[email protected]> (7):
Remove warning in regards to application-entity
Refactor extracting
Fixes connecting issues with OpenShift
Fix coverage
Modifies asking for parameters to show app name
When fetching or extracting, set the correct uid + guid
Add "index" command to Atomic App
Shubham Minglani <[email protected]> (1):
collect only atomicapp tests
A minor release for Atomic App.
With this release, we merge a few bug fixes in relation to our Kubernetes provider as well as clean up documentation.
Features:
- Fix inclusive rules issue with Kubernetes
- Clean up CLI parsing documentation / help command
Charlie Drage <[email protected]>::
Fix link issue on CLI doc within start guide
Clean up parsing
False positive error out on docker pull
Khris Richardson <[email protected]>:
more inclusive rules for adding es
A major release of Atomic App, we incorporate major changes to the kubernetes provider. With this release we replace the usage of kubectl with the requests Python library and the Kubernetes HTTP API end-point. This change results in faster deployment, smaller image sizes and detailed error messages.
The main features of this release are:
- Kubectl to API conversion for the Kubernetes provider
- Removal of ASCII art
Charlie Drage <[email protected]> (3):
Ignore .swn vim temp files
Remove ASCII art
Add a new 'library' for k8s/openshift providers.
Khris Richardson <[email protected]> (2):
add support for api-groups
add precision to resource membership test
This release of Atomic App we include binary generation, a logging refactor/clean-up as well as a minor code refactor to the main Nulecule codebase.
The main features are:
- Add support for generating a static binary of Atomic App
- Logging clean-up
- README.md removed from
atomicapp init
generation - Removal of dynamic module/class loading from providers in favour of static
Charlie Drage <[email protected]>:
Ignore vim .swo files
Change provider-config warning to debug
Remove README.MD from init
Makes Makefile faster using .PHONY && add default python location
Modify TravisCI for updated Makefile
Removes loading via .py files
Hide container id output on container creation
Change dir of /external to /nulecule/external
Add binary generation
Update to a cleaner logging output.
Logging formatting
Suraj Deshmukh <[email protected]>:
Added elif to consecutive exclusive if statements
Use filter to search in kubeconfig.py
Now logs can show path to file under root atomicapp folder
Updated the inContainer function doc string
Removed unused function update from utils.py
Replaced a for loop that initialized a dict
This is a minor release of Atomic App where we refactor, fix code bugs as well as deprecate an old feature. Due to the numerous issues of locking as well as the deprectation of the lockfile
library we have remove the locking mechanism from Atomic App.
The main features of this release are:
- The deprecation of locking
atomicapp init
code and UI clean-up- Documentation updates
- inContainer() function bug fix for Docker 1.10+
Charlie Drage <[email protected]>:
Add Marathon to index
Update README.md with correct installation instructions.
Remove dockerenv and dockerinit check
Remove locking from Atomic App
Dusty Mabe <[email protected]>:
init: remove unnecessary message to the user
init: remove number of return variables from NuleculeManager.init()
init: add logic to properly cleanup tmp dir
init: break a few long lines into shorter ones
Shubham Minglani <[email protected]>:
fix typo
Suraj Deshmukh <[email protected]>:
Moved a constant from openshift.py to constants.py
Abstracted the way we get absolute path
This is a major release of Atomic App where we introduce a new CLI command as well as the renaming of multiple provider configuration parameters.
The main features of this release are:
- Introduction of the
atomicapp init
CLI command - Renaming of provider configuration related parameters
- --provider-auth added as a CLI command
Other:
- Updated legal information
- Bug fix on persistent storage initialization
- Utility method to gather sudo user path and information
- Improved detection if we're inside a Docker container
- Improved readility on provider failed exceptions
- docker inspect bugfix
We've included support for initializing a basic Atomic App via the atomicapp init
command. This creates a basic example that can be used on Docker and Kubernetes providers based on the centos/httpd docker image.
▶ atomicapp init helloworld
[INFO] - main.py - Action/Mode Selected is: init
Atomic App: helloworld initialized at ./helloworld
▶ vim ./helloworld/Nulecule # Make changes to the Nulecule file
▶ atomicapp run ./helloworld
[INFO] - main.py - Action/Mode Selected is: run
[INFO] - base.py - Provider not specified, using default provider - kubernetes
[WARNING] - plugin.py - Configuration option 'provider-config' not found
[WARNING] - plugin.py - Configuration option 'provider-config' not found
[INFO] - kubernetes.py - Using namespace default
[INFO] - kubernetes.py - trying kubectl at /usr/bin/kubectl
[INFO] - kubernetes.py - trying kubectl at /usr/local/bin/kubectl
[INFO] - kubernetes.py - found kubectl at /usr/local/bin/kubectl
[INFO] - kubernetes.py - Deploying to Kubernetes
Your application resides in ./helloworld
Please use this directory for managing your application
We've renamed the provider-specific parameters for better clarity by adding dashes in-between 'provider' and the specified function.
Major changes include the renaming of accesstoken to provider-auth.
providerapi --> provider-api
accesstoken --> provider-auth
providertlsverify --> provider-tlsverify
providercafile --> provider-cafile
[general]
provider = openshift
namespace = mynamespace
provider-api = https://127.0.0.1:8443
provider-auth = sadfasdfasfasfdasfasfasdfsafasfd
provider-tlsverify = True
provider-cafile = /etc/myca/ca.pem
atomicapp run projectatomic/etherpad-centos7-atomicapp --provider openshift --provider-tlsverify False --provider-auth foo --provider-api "https://localhost:8443"
Charlie Drage <[email protected]>:
Add more legal information
Update year
Requirements should retrieve from Nulecule object not graph
Warn not error on missing requirement
Util to gather what user is running Atomic App and which home dir it should use
Check to see if it's a Docker container
Update Dockerfile.pkgs testing repos
Dashes added to CLI commands to distinguish provider config data
Fix test params with the new dashes
Add provider-auth as a CLI command and convert ACCESSTOKEN to provider-auth
Modify accesstoken tests to provider-auth
Change constant ACCESS_TOKEN_KEY to PROVIDER_AUTH_KEY
Modify documentation to reflect changes in params
Remove /host from provider config example path
Dusty Mabe <[email protected]>:
init: modify docker template to publish to host port 80
Ratnadeep Debnath <[email protected]>:
Added 'init' command to initialize a new atomic app.
Make destination optional atomicapp init command
Ask user if destination is not empty when initializting atomic app.
Do not acquire lock for initializing atomicapp.
Set default action as 'Y' when atomicapp init asks to clean dest directory.
Include nulecule template files in package data.
Add k8s service for initialized app.
Moved Nulecule template files to external dir.
Don't hard code atomicapp/nulecule versions in atomic app template.
Show status message on atomicapp init run.
Added doc strings for atomicapp init method.
Shubham Minglani <[email protected]>:
Handle ProviderFailedException, fix #627
add pass for improved readability
replace inspect with ps, fix #672
Suraj Deshmukh <[email protected]>:
Added OrderedDict so as to deploy application in given order
This is a minor release of Atomic App where we make some changes to the UI output as well as fix a few provider-specific bugs.
The main features of this release are:
- Cleaner logging output
- More prominent output when Atomic App asks for a missing answers variable
- Multi-line artifact support for the Docker provider
Other:
- Update documentation on cli comparison
- Move kubeconfig parsing to a separate class
- Refactor cli exceptions code
Charlie Drage <[email protected]>:
Convert to epoch time
Update docs / more clarity on cli comparison
Change asking format
Move kubeconfig parsing to a separate file
Change kubeconfig testing name and move into a separate file
Add weekly meeting information
Preeti Chandrashekar <[email protected]>:
Minor edits to atomicapp_lifecycle.md
Shubham Minglani <[email protected]>:
handle docker error, raise instead of print, fix #570
refactor exceptions, fix #621, fix #622
Suraj Deshmukh <[email protected]>:
Docker-run file with multi-line command supported
This release includes a major update to our documentation as well as the user experience when deploying an Atomic App.
The main features are:
- Major update to documentation
- Cleaner logging output
- Error-out validation on JSON/YAML
UI:
- Fix --version output on CLI
- Handle docker exception errors
- Inform on wrong provider name provided within answers.conf
Other:
- Fix requirements on 'make test'
For a full list of changes between 0.4.4 and 0.4.3 please see the git shortlog below!
Charlie Drage <[email protected]> (10):
Doc for current functions implemented by spec
Fix minor markdown error in spec_coverage
Major update to README and documentation
Error cleanly on missing Nulecule or invalid formatted Nulecule
Multiple problems with issuestats.com
Add tests for missing Nulecule or wrongly formatted file for missing
Change from ReadWrite to ReadWriteOnce in persistent storage tests
Add Persistent Storage validation on ReadWriteOnce, etc.
Remove time from default output
Convert to epoch time
Dusty Mabe <[email protected]> (2):
docs: fix broken link
logging: fix duplicated log messages
Preeti Chandrashekar <[email protected]> (1):
Minor edits to atomicapp_lifecycle.md
Shubham Minglani <[email protected]> (2):
Handle docker pull exception, improve #441, fix #568
fix --version output, fix #481
Suraj Deshmukh <[email protected]> (5):
Install requirements before make test
Wrong provider name in answers.conf, exits AtomicApp with readable error
Typo in providers docs
Instruction to skip travis CI
Inform user when provider not specified
You'll now see pretty colors with logging / output!
With this release, we've refactored our logging formatter making it easier to decipher between information, debug, warning and errors.
You are now able to specify what logging format you'd like to output via the command line:
--logtype {cockpit,color,nocolor,none}
Override the default logging output. The options are:
nocolor: we will only log to stdout; color: log to
stdout with color; cockpit: used with cockpit
integration; none: atomicapp will disable any logging.
If nothing is set and logging to file then 'nocolor'
by default. If nothing is set and logging to tty then
'color' by default.
The main features are:
- A new logging mechanism that outputs color-coordinated logging messages
- Added CLI commands for color, nocolor, cockpit and 'none' output
UI:
- Failure on finding no artifacts
Other:
- Readme updates / typo fixes
Charlie Drage <[email protected]> (3):
Fail if unable to find artifact
Change order of getting context
Update readme
Dusty Mabe <[email protected]> (4):
logging: Add in Atomic App Logging class
logging: add cockpit logging output
tests: fix test to look for output in stdout vs stderr
Shubham Minglani <[email protected]> (1):
Remove extra whitespaces from logging output.
As we start to get closer to a 1.0.0 release, we continue to focus on tests and user interaction. This weeks release focus on both as well as a minor feature.
The main features of this release are:
- Meta data is now an optional requirement when building
UI:
- Relative path support for provider ocnfig data
- Raise on missing artifact or docker image failure
Bug fixes:
- Label fixes against
atomic
cli master branch. We now pass our current working directory as a variable
Misc:
- Remove uneeded test suite files (Dockerfiles, licenses, etc.)
- All references to
install
have now been removed within the code in favour offetch
Charlie Drage <[email protected]>:
Fail on missing artifacts within Nulecule file
Add tests for failure of finding Nulecule artifacts
Remove instances of install verb to fetch
Remove unneeded files in test examples dirs
Fix xpathing tests on missing files
Dusty Mabe <[email protected]>:
providerconfig: support someone specifying a relative path
cli: Print helpful error if no app_spec provided.
Do not use artifacts dir to select provider.
tests: update cli test
labels: update run labels to no longer use backticks
labels: no longer default to verbose output
Add Tomas to MAINTAINERS
Adds Atomicapp lifecycle definition. Closes #290
nulecule: error if no artifacts in spec for inherited provider
Ratnadeep Debnath <[email protected]>:
Update file handling doc. Fixes #285
Suraj Deshmukh <[email protected]>:
This makes `metadata` an optional argument
0.4.1 is a minor bug fix release.
Charlie Drage <[email protected]>:
Remove roadmap in favour of wiki
Remove symbolic link from Dockerfile
Dusty Mabe <[email protected]>:
cli: Fix bug with atomic cli + genanswers
openshift: Fix a few spelling mistakes.
openshift: clean up scale function log message.
If not given, don't populate namespace in answers.conf.gen.
Tomas Kral <[email protected]>:
marathon: do not convert types when parsing json artifact
With this release we bump our version to 0.4.0 to coincide with our BETA-4 release as well as the change to our "install" verb.
The most significant new features are:
- Renaming install to fetch
- Allowing users to pass an answers file as a URL
For an extended list of changes, please see the git shortlog below.
Charlie Drage <[email protected]>:
Change undeploy/deploy functions to run/stop
Rename install to fetch
Remove mention of uninstall function
Fix test names
Remove install label from Dockerfiles
Dusty Mabe <[email protected]>:
docker: fix stopping for artifacts with '--name='
cli: allow specifying target dir during atomic run
cli: add --namespace option to cli
Allow users to provide answers file as url.
Create destination app_path dir if it doesn't exist yet.
Ratnadeep Debnath <[email protected]>:
Support specifying default provider in Nulecule spec file. Fixes #378
Tomas Kral <[email protected]>:
openshift provider: safer stop
openshift provider: fix typos, add more explanation
openshift provider: remove acronyms from comments
This release introduces some significant features to Atomic App as well as our first release since 0.3.0.
The outmost features include:
- Persistent storage
- HTTPS (TLS) verification and support for OpenShift
- OpenShift stop support
- Nested Nulecule application support for OpenShift.
For an extended list of changes, please see the git shortlog below.
Charlie Drage <[email protected]> (9):
Merge pull request #457 from rtnpro/remove-docker-containers-on-stop
Merge pull request #392 from kadel/marathon-provider
0.3.0 Release
Add persistent storage core
Add Kubernetes persistent storage functionality
Test requirements.py persistent storage
Warn if no persistent volumes exist to claim
Merge pull request #485 from kadel/issue484
Stop Docker containers more gracefully
Dharmit Shah <[email protected]> (10):
Common place for list of Providers
PEP8
Adds Marathon provider data for `helloapache` example
Nulecule for `helloapache` app now contains information about marathon artifacts
CLI tests for marathon provider using `helloapache` atomic app
Information about where to specify `providerapi` for Marathon provider
Changes suggested in PR review
Added try..except block for request
Catch `AnyMarkupError` instead of `Exception` for invalid artifacts
Use `ProviderFailedException` instead of `sys.exit`
Dusty Mabe <[email protected]> (40):
Merge pull request #463 from kadel/make_rest_request
Revert "Remove container on stopping on Docker provider. Fixes #389"
Merge pull request #464 from projectatomic/revert-457-remove-docker-containers-on-stop
Allow user to specify both source and destination as directories.
Merge pull request #466 from dustymabe/dusty-src-dest
cli: import argparse rather than specific items
cli: Restructure argument parsers.
cli: Add global options help text to toplevel parser.
cli: Add in a --mode cli switch to select action.
Merge pull request #468 from dustymabe/dusty-add-mode
Fix yaml choice for --answers-format.
utils: add rm_dir() function.
Add --destination=none. Files don't persist after run.
Update native openshift code to use dest=none.
Add 'genanswers' action to generate answers.conf in cwd.
Merge pull request #469 from dustymabe/dusty-add-genanswers-new
cli: Fix the name of the genanswers subparser.
cli: Clarify some of the app_spec help texts.
Merge pull request #465 from projectatomic/openshift-unittests
Merge pull request #473 from kadel/openshift-AttributeError
Merge pull request #472 from dustymabe/dusty-update-stop-app-spec-help
Merge pull request #474 from kadel/openshift-stop
Merge pull request #460 from cdrage/persistent-storage
Merge pull request #488 from cdrage/stop-more-gracefully
cli: Add genanswers as a choice for --mode.
Include port information in detected openshift api endpoint.
Merge pull request #490 from dustymabe/allow-genanswers-for-mode
Merge pull request #491 from dustymabe/dusty-add-port-to-providerapi
Merge pull request #480 from kadel/openshift-ssl
Merge pull request #489 from projectatomic/oc-new-app-with-nested-nulecules
cli: allow overriding cmdline from env vars
Merge pull request #504 from dustymabe/dusty-cli-overrides
Add support for embedding answers file in application.
Merge pull request #505 from dustymabe/dusty-allow-embedded-answers-file
Add in cli options for some provider* answers.
Merge pull request #506 from dustymabe/dusty-add-cli-overrides
native openshift: move detection of provider information to provider.
native openshift: Add in ssl verification.
native openshift: respect it if user set tls_verify to False.
Merge pull request #503 from dustymabe/dusty-ssl-in-native-openshift
Ratnadeep Debnath <[email protected]> (13):
Remove container on stopping on Docker provider. Fixes #389
Refactored openshift provider for testing. #459
Refactor openshift provider: Move interaction with remote API from OpenShiftProvider
Added tests for OpenshiftProvider.deploy.
Refactor openshift _process_artifacts
Added tests for openshift _process_artifact_data.
Added tests for openshift to parse kube config
Added docs for openshift provider unittests.
Unpack image using Openshift API on Openshift provider.
Fixed unittests for Nulecule and NuleculeComponent
Fix using ssl connection options in websocket connection to Openshift.
Wait for Openshift pod to run, before extracting content.
Delete openshift pod irrespective of successful or failed extraction.
Tomas Kral <[email protected]> (24):
move openshift._make_request() to Utils.make_rest_request()
first draft of marathon provider
change providerurl to providerapi
fix dry-run for marathon
empty marathon_artifacts array in init()
marathon fixes
add Marathon to list of supported providers
raise exeption on AnyMarkupError in Marathon provider
mention Mesos with Marathon in docs
use Utils.make_rest_request in Marathon provider
add more docs to functions in Marathon provider
fix AttributeError OpenshiftClient.ssl_verify
Implement stop for OpenShift provider.
openshift provider: fix typos, add comments
openshift provider: when deleting use selector from RC to get PODs
openshift provider: update comments
openshift provider: add option for skiping tls verification
fix typos and flake8 errors
openshift provider: doc of providertlsverify and providercafile
openshift provider: break ssl_verify to provider_ca and provider_tls_verify
openshift provider: use _requests_tls_verify() in undeploy
openshift provider: check that required options are !None
openshift provider: test connection to OpenShift print nicer error message when invalid ttl/ssl certificate
openshift provider: translate CA path to host path and check if exists
This release introduces a new provider (Mesos) as well as a major refactor of the OpenShift provider.
For an extended list of changes please see the git log below of the changes between 0.2.3 and 0.3.0
Aaron Weitekamp <[email protected]>:
Update OpenShift docs to describe how native mode works
Charlie Drage <[email protected]>:
Adds some more information when running --dry-run
Default to a reasonable provider in /artifacts
Minor fix in nulecule testing and flake8
Add clean to Makefile
Dharmit Shah <[email protected]>:
Common place for list of Providers
PEP8
Adds Marathon provider data for `helloapache` example
Nulecule for `helloapache` app now contains information about marathon artifacts
CLI tests for marathon provider using `helloapache` atomic app
Information about where to specify `providerapi` for Marathon provider
Changes suggested in PR review
Added try..except block for request
Catch `AnyMarkupError` instead of `Exception` for invalid artifacts
Use `ProviderFailedException` instead of `sys.exit`
Dusty Mabe <[email protected]>:
Support for options anywhere on command line.
Adds dockerignore file.
Removes VOLUME from Dockerfiles.
Update working dir to have broader permissions.
Provider documentation update/re-organization.
utils: adds function to detect if running in openshift pod.
Act accordingly if run via `oc new-app`.
Allow non-root in openshift pod to grab lockfile.
Revert "Remove container on stopping on Docker provider. Fixes #389"
Ratnadeep Debnath <[email protected]>:
Move global cli options to sub command level.
Remove container on stopping on Docker provider. Fixes #389
Tomas Kral <[email protected]>:
first attempt to use OpenShift api instead of oc command
openshift - add pods and persistentvolumeclaims
add requests as dependency
openshift provider - fix duplicate deployment with composite apps
openshift provider cleanup and working undeploy
openshift-api refactoring
openshift-api add template processing
openshift-api keep types specified in json
openshift-api fix issues raised in code review #420
openshift-api validate artifact in _process_artifacts
openshift-api add providerconfig support
openshift-api fail if providerconfig and answers.conf are in conflict
openshift-api handle timeouts when communicating with remote api
openshift-api update docs
openshift-api remove undeploy() for now as it is not working properly
move openshift._make_request() to Utils.make_rest_request()
first draft of marathon provider
change providerurl to providerapi
fix dry-run for marathon
empty marathon_artifacts array in init()
marathon fixes
add Marathon to list of supported providers
raise exeption on AnyMarkupError in Marathon provider
mention Mesos with Marathon in docs
use Utils.make_rest_request in Marathon provider
add more docs to functions in Marathon provider
This release fixes numerous bugs as well as introduces some organizational changes to our main code-base.
Please see below for a summary of commits between 0.2.2 and 0.2.3
Charlie Drage <[email protected]>:
Fix constants in nulecule dir
Clean up CLI answers-format option
Change tmp dir location
Update README dependencies
fix readme.md link blob
Lib.py should load plugins in init
Add roadmap doc
Fix tests not removing answers.conf.gen
Update requirements.md
Dusty Mabe <[email protected]>:
Removes RHEL7 dockerfile.
Dockerfiles: remove unnecessary line from Dockerfiles.
Moves Dockerfiles to Dockerfiles.git/ directory.
Adds Dockerfiles.pkgs/ directory.
Updates fedora git Dockerfile to use Fedora 23.
Updates git Dockerfiles to use env var for version.
Updates git Dockerfiles to add reqs to the workdir location.
Don't run container to extract files.
Swapnil Kulkarni <[email protected]>:
Updated minor typos
This is our first release since our major refactor in 0.2.1.
This release fixes numerous bugs as well as introduces some refactoring to our Dockerfile's and how we handle dependencies.
Please see below for a summary of commits from 0.2.1 to 0.2.2.
Charlie Drage <[email protected]> (1):
raise exception when running run --dry-run
Dusty Mabe <[email protected]> (7):
Adds more checking for docker client/server sync issues.
utils: Adds in AtomicAppUtilsException class.
Reworks answers file processing.
Removes dryrun from _write_answers() function.
Remove specific versions from required libraries.
Reworks testing Dockerfile and test requirements.
Reworks Dockerfiles.
Ratnadeep Debnath <[email protected]> (4):
Added docs for provider and adding a new provider
Merge config sets value for key if it or it's value is missing at source.
Fixes in README for provider:
Removing docker-compose provider from supported providers list.
Subin M <[email protected]> (1):
remove unused method printAnswerFile
Tomas Kral <[email protected]> (1):
add PROVIDERS constant
This is a major release for Atomic App that refactors most of the base code as well as adds numerous features.
- Complete refactor of the Atomic App core codebase
- JSON Pointer xpathing for artifacts
- Integration of unpacking to /var/lib/atomicapp rather than
cwd
- Numerous bug fixes && improvements to integration tests
Please see the git shortlog
summary below for all commits since the previous release.
Charlie Drage <[email protected]> (8):
Remove dotfiles from tests
Sync requirements with master. Fixes lockfile issue.
add xpathing
Dusty Mabe <[email protected]> (15):
Don't unpack files to cwd
Enables running atomicapp from within a container again.
Implement a few comments from code review #356.
Remove Aaron from MAINTAINERS upon his request.
Add Ratnadeep to MAINTAINERS :)
Adds preferred email for Dusty to MAINTAINERS.
Adds nice error message for Docker client/server out of sync. Closes #174
Syncs up run labels in Dockerfiles.
Fixes run label in Dockerfiles so that atomic run <image> works.
Jeroen van Meeuwen (Kolab Systems) <[email protected]> (1):
Use epel-release rather than echo'ing .repo config files
Ratnadeep Debnath <[email protected]> (19):
Updated docs for file handling for artifact path. #143
Added note on not supporting nested artifact dir. #143
Added unittests for Nulecule class.
Added tests for NuleculeComponent load
Added tests for NuleculeComponent run.
Added tests for stopping NuleculeComponent.
Added tests for NuleculeComponent load_config.
Added tests for loading external app in NuleculeComponent.
Added tests for accessing components of a nulecule component.
In NuleculeComponent, pass 'dryrun' param when calling render of external Nulecule.
Added tests for rendering a NuleculeComponent
Added tests for retrieving artifact paths for a NuleculeComponent.
Added tests for rendering an artifact in NuleculeComponent.
Reorganize and group code in each testcase for atomicapp/nulecule into
Bugfix in merging config and updated tests for the same
Fix unittest for Nulecule load config.
Fix mocking 'open' in nulecule/base.py.
Fixed test for rendering artifact.
Fixed test for rendering local artifact for provider.
Tomas Kral <[email protected]> (1):
do not create symlink if source doesn't exist
We have fixed many bugs as well as implemented more enhancements to the Atomic App life cycle with this release.
Please see below for a summary of commits for the 0.1.12 release.
Aaron Weitekamp <[email protected]> (2):
Add openshift LABELs
Add OpenShift LABEL information
Charlie Drage <[email protected]> (10):
update testing
dup code
add two new cool maintainers!
fix artifact bug
added makefile
update travis
add requirement doc
docker stop terminology fix
Christoph Görn <[email protected]> (13):
add some issuestats.com stats
prepared Atomic App 0.1.11 release
added merge rules
Dusty Mabe <[email protected]> (4):
Fixes handling of directory for answers argument.
Reverts "artifact logic bugfix". Fixes #306
Fixes broken builds bc of lockfile dependency.
Subin M <[email protected]> (1):
add new method find_executable_binary
Swapnil Kulkarni <[email protected]> (1):
Small fix for pep8 error
Václav Pavlín <[email protected]> (5):
Generate provider config for kubernetes if it does not exist
Do not use sudo in Docker provider
Use DEFAULT_PROVIDER_CONFIG in exception message
Mention config file generation in Kubes provider descripion
Fix bad indentation issue
Welcome to Atomic App, this is the reference implementation of the Container Application Specification (aka the Nulecule Specification)
This is a hotfix to 0.1.10 and removed a bug we had in Missing config file error (~/.kube/config) in 0.1.10.
Author: Václav Pavlín [email protected]
-
Do not use sudo in Docker provider, Fixes #281
-
Generate provider config for kubernetes if it does not exist
There is new unimplemented method in Plugin - generateConfigFile. This method is invoked in case a provider calls checkConfigFile and the file does not exist. If provider does not implement this method, error about missing configuration file will be printed out. Config file will be generated and used if the method is implemented.
Currently, it is implemented only by Kubernetes provider. Fixes #280
Author: Charlie Drage [email protected]
- fix openshift import warning
With this releasewe have fixed many bugs and implemented many enhancements, please see the Atomic App Issue tracker for the past.
A summary of the major new features is given below.
Author: Charlie Drage [email protected]
- More unit testing / restructure
- undeploy added to docker provider
- dont ask for missing artifacts if stopping
- debian dockerfile support
Author: Ratnadeep Debnath [email protected]
- Convert global params in Nulecule file to
Dict
rather thanList
, fixed #276
Author: Václav Pavlín [email protected]
- Add
providerconfig
option to fix #266 - Add Dockerfile for running tests, add How-to-test to CONTRIBUTION.md
Author: Navid Shaikh [email protected]
- Add the right nodePort from allowed port range, reference https://github.com/kubernetes/kubernetes/blob/master/docs/user-guide/services.md#type-nodeport
- Add tests for fix of issue #212
- Fixes processing multiple k8s artifacts resources
- Nulecule multiple resource artifacts defined per kind of resource can now be processed without overriding earlier artifacts
- Modifies the methods names as per https://www.python.org/dev/peps/pep-0008/#method-names-and-instance-variables
- Alters order of imports as per https://www.python.org/dev/peps/pep-0008/#imports
- Adds docstring to methods
- Adds support for resizing replicas if using kube v1 APIs
This patch adds provision for lookup of resource identity based on the API version under processing. Presently support for v1, v1beta3 and v1beta1 APIs are included.
Author: Aaron Weitekamp [email protected]
- Fix typo in docs/cli.md
- Add provider documentation
- Add --provider option The --provider option is constrained to supported providers. Providers can be specified in answers.conf. If --provider opt is specified it will be overridden. Otherwise the default provider is used.
Author: Swapnil Kulkarni [email protected]
- Update tox.ini to execute the pep8 tests
Currently if i do tox -e pep8
- it does not run
- fails to create the test env Updated following,
- tox.ini to include testenv Added test-requirements for flake8
This is a hotfix to 0.1.2 and removed a bug we had in all LABELs of the Dockerfiles.
With this release we have fixed many bugs and implemented many enhancements. To follow the development in details, please have a look at the Atomic App Issue tracker.
This release contains the changes support the deployment of Atomic Apps via Cockpit web UI.
Starting with 0.1.2 a new LABEL has been added to the docker container image: io.projectatomic.nulecule.atomicappversion
so that
an external entity can figure out what version of atomicapp is provided by that container image.
A short overview of the major new features is given below.
Author: Subin M [email protected]
- add LABEL for atomicapp version to Atomic App Base Container Image
Author: Václav Pavlín [email protected]
-
Create a lock file and fail if it's already locked to prevent concurrent Atomic Apps running
-
Merge pull request #206 from goern/feature/travis-pep8 [trivial] Feature/travis pep8
-
Merge pull request #169 from sub-mod/cockpit-integration, see cockpit-project/cockpit#2474
-
Add dry-run checks to install
Author: Daniel Veillard [email protected]
- Fix a logic bug - if the id is not found the exception won't be raised by the expected code for it but ny the access to the dict in the message before it
Author: Aaron Weitekamp [email protected]
-
Update openshift provider command
-
OpenShift is now using 'oc', formerly 'osc'. This updates the CLI string and also adds support for non-root usage. When non-root the oc symlink is broken inside the container. In this case we create a symlink inside the container.
Author: Christoph Görn [email protected]
-
replaces GNU AGPL by GNU LGPL
-
initial version of python unittest and coveralls based testing I removed shell based tests, as they are replaced by python based tests.
-
using pytest and coverage, converted to a TestSuite added an sys.exit() to cli.main.run(), as a CLI should return something.
Author: Ian McLeod [email protected]
-
Initial drop of tests for Travis CI
These two tests take advantage of the --dry-run option as well as the caching of previously extracted Docker image content. If any element of this caching behavior is changed, these test will likely need to be recreated.
The two tests Nulecules are borrowed from the nulecule spec examples here:
https://github.com/projectatomic/nulecule/tree/master/examples
I created this test content by doing a dry run on a system actually running Docker, then extracting the "external" directory.