[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [atomic-devel] Generic executable labels for atomic cli



On Wed, 2015-10-07 at 12:24 -0400, Dusty Mabe wrote:
> Hi,
> 
> In the container-tools team we have been having discussions about the
> lifecycle of an atomicapp. We have essentially decided that there are
> more verbs that we want to use than those that are defined in the
> Generic 
> Labels [1]. Vasek has proposed an idea [2] that I think would be
> useful 
> for atomic cli to support. 
> 
> The idea is more or less to support an application developer being
> able to define his/her own verbs to allow the user to call from
> atomic
> CLI. Since it is up to the application to define them they don't have
> to make sense in any other application. The application could still
> implement INSTALL/RUN/UNINSTALL etc, but they could define more that
> would enable them to provide a better user experience.
> 
> In Vasek's suggestion he proposed that the
> io.projectatomic.atomic.cmd.unpack=.*
> label would correspond to `atomic unpack`. I would prefer that the
> label scheme (whatever it is) actually map to a top level primitive
> in
> atomic cli so that the user knows what he/she is doing. For example,
> rather than `atomic unpack <appname>` it would map to `atomic
> exelabel unpack <appname>`
> or `atomic runlabel unpack <appname>`.
> 
> Regardless of the specific implementation, which can be decided
> later,
> I think a mechanism for arbitrary run labels would be useful. I can
> propose this to [1] and eventually send a PR to atomic cli if this is
> useful.
> 
> - Dusty
> 
> [1] - 
> https://github.com/projectatomic/ContainerApplicationGenericLabels
> [2] - https://gist.github.com/goern/d8910ba7a10ff26bc8f2#gistcomment-
> 1565065
> 

Hello,

I think that you might be interested in HICA [0], which works in very
similar way that you describe. That is, create semantic namespaces
within the reverse-DNS naming scheme:

  io.isv.CLASS.[ACTION|META]

and have that tied to particular code primitives in the CLI
implementaion. For HICA, there's a 1:1 mapping between CLASS
definitions, called injectors [1], and the label definition itself [2].


[0]: https://github.com/shaded-enmity/docker-hica
[1]: https://github.com/shaded-enmity/docker-hica/tree/master/injectors
[2]: https://github.com/shaded-enmity/docker-hica/blob/master/docs/labels.md

-- 
Pavel Odvody <podvody redhat com>
Software Engineer - EMEA ENG Developer Experience
5EC1 95C1 8E08 5BD9 9BBF 9241 3AFA 3A66 024F F68D
Red Hat Czech s.r.o., Purkyňova 99/71, 612 45, Brno


Attachment: signature.asc
Description: This is a digitally signed message part


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]