Skip to content

Instantly share code, notes, and snippets.

Last active September 24, 2015 15:45
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
What would you like to do?

Nulecule Lifecycle Definition

install - will install all required artifacts into a working changes. it will not alter the configuration [of OpenShift or Kubernetes] via a provider. a deployment guy will be able to configure the deployment process, which will be started by run.

run - will deploy artifacts and their configuration via the provider onto the platform. configuration will become effectice and the application will be available to users.

stop - will disable access to the application for users. configuration will remain deployed to the platform but not be effective.

uninstall - artifacts will be removed from the platform

The tool used to maintaine an Atomic App will not take care about cleaning up the current directory. It will also try to keep the pollution minimal, eg not unpack more than nessecary [to configure the application’s artifacts] into the current directory.

Copy link

I think the title "Nulecule Lifecycle Definition" is not correct. The lifecycle is applicable to a container app that is described using the Nulecule specification.

Copy link

aweiteka commented Aug 7, 2015

@jasonbrooks @goern I agree 'install' is clumsy. We can rename 'install' to whatever we want in atomicapp and nulecule but we are constrained from a practical perspective by the atomic CLI, which has labels for install, run, uninstall. If we want something like 'unpack' then it needs to be defined here first[1], then be implemented in atomic CLI.


Copy link

@aweiteka I think the right thing to do is to try to get a label added to the atomic CLI. Maybe that is a big deal and not easy to do. Maybe not. I think we should try though.

Copy link

From Atomic App point view, should atomic uninstall first stop the containers and then remove them?

Copy link

vpavlin commented Sep 2, 2015

Crazy idea - what if we propose addition of arbitrary verbs to atomic via labels?

  1. You call atomic unpack
  2. atomic figures out it's not any of known verbs and thus tries to check image labels for io.projectatomic.atomic.cmd.unpack=.*
  3. Not found? No problem, fail. Found? Call whatever is specified there. unpack itself is kinda specific to our use case and I don't see it very well acceptable for atomic's generic use case. But being able to define own commands might be the right way

Copy link

We talked about this today.. see projectatomic/atomicapp#290

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment