You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@karaf.apache.org by Mike Hummel <mi...@mhus.de> on 2018/04/23 07:16:38 UTC

Re: Is it possible to make karaf run a set of command line commands?

I managed the problem starting karaf in the background and installing features via client after startup. Therefore you need to wait until karaf starts and installed default packages.

You can see a sample here https://github.com/mhus/cherry-reactive/tree/master/reactive-docker/reactive-playground <https://github.com/mhus/cherry-reactive/tree/master/reactive-docker/reactive-playground>

Important: if you plan to use local only bundles, you need to copy it into the project before you start docker build. You need a create.sh script to do the full image creation.

The script is not finished at all but it’s working.
 
Mike.

> On 17. Mar 2018, at 23:18, Michal Hlavac <mi...@hlavki.eu> wrote:
> 
> you can use docker exec or compose exec to run multiple commands from file.
> create configure.cmd file with commands e.g.
>  
> config:edit com.example.config
> config:property-set example.property value
> config:update
> then run:
>  
> docker-compose exec -T container /opt/karaf/bin/client -b < configure.cmd
>  
> m.
>  
> On štvrtok, 1. marca 2018 22:10:18 CET Steinar Bang wrote:
> > Is it possible to make a karaf installation run a set of console
> > commands?
> > 
> > What I would like to do, is to try to create a dockerfile setting up a
> > docker image for my webapp:
> >        https://github.com/steinarb/ukelonn
> > 
> > And the steps listed in 6. and 8. below are run from the karaf console.
> > Is it possible to run them from an outside script somehow?
> > 
> > What I would need to do to create a docker image, is to:
> >  1. Start with a minimal debian installation
> >  2. Add the default location of postgres databases as a volume
> >     (ie. mounted from the host's file system)
> >  3. Add /etc/karaf as a volume
> >  4. Add the repository for the unofficial karaf package
> >      echo "deb http://apt.bang.priv.no/public stable main" >>/etc/apt/sources.list
> >      wget -O - https://apt.bang.priv.no/apt_pub.gpg | apt-key add -
> >  5. Install karaf and postgresql and all of their dependencies
> >      apt-get update
> >      apt-get install -yq --no-install-recommends postgresql karaf
> >  6. Configure up an extra maven repository from the karaf console:
> >      config:edit org.ops4j.pax.url.mvn
> >      config:property-append org.ops4j.pax.url.mvn.repositories ", https://maven.bang.priv.no/repository/@id=ukelonn@snapshots, http://maven.vaadin.com/vaadin-addons@id=vaadin"
> >      config:property-set org.ops4j.pax.url.mvn.globalUpdatePolicy always
> >      config:update
> >  7. Create an empty database karaf owned by user karaf
> >      /usr/bin/sudo -u postgres createuser karaf
> >      /usr/bin/sudo -u postgres createdb -O karaf ukelonn
> >  8. Add the feature repository and install the features
> >      feature:repo-add mvn:no.priv.bang.ukelonn/ukelonn.karaf/LATEST/xml/features
> >      feature:install ukelonn-db-postgresql
> >      feature:install ukelonn
> > 
> > 
> > 
> > 


Re: Is it possible to make karaf run a set of command line commands?

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
By the way to know when Karaf is fully started you have the Bootstrap service. It's what we use for the startup progress bar (like in ServiceMix).

Regards
JB

Le 23 avr. 2018 à 11:17, à 11:17, Mike Hummel <mi...@mhus.de> a écrit:
>I managed the problem starting karaf in the background and installing
>features via client after startup. Therefore you need to wait until
>karaf starts and installed default packages.
>
>You can see a sample here
>https://github.com/mhus/cherry-reactive/tree/master/reactive-docker/reactive-playground
><https://github.com/mhus/cherry-reactive/tree/master/reactive-docker/reactive-playground>
>
>Important: if you plan to use local only bundles, you need to copy it
>into the project before you start docker build. You need a create.sh
>script to do the full image creation.
>
>The script is not finished at all but it’s working.
> 
>Mike.
>
>> On 17. Mar 2018, at 23:18, Michal Hlavac <mi...@hlavki.eu> wrote:
>> 
>> you can use docker exec or compose exec to run multiple commands from
>file.
>> create configure.cmd file with commands e.g.
>>  
>> config:edit com.example.config
>> config:property-set example.property value
>> config:update
>> then run:
>>  
>> docker-compose exec -T container /opt/karaf/bin/client -b <
>configure.cmd
>>  
>> m.
>>  
>> On štvrtok, 1. marca 2018 22:10:18 CET Steinar Bang wrote:
>> > Is it possible to make a karaf installation run a set of console
>> > commands?
>> > 
>> > What I would like to do, is to try to create a dockerfile setting
>up a
>> > docker image for my webapp:
>> >        https://github.com/steinarb/ukelonn
>> > 
>> > And the steps listed in 6. and 8. below are run from the karaf
>console.
>> > Is it possible to run them from an outside script somehow?
>> > 
>> > What I would need to do to create a docker image, is to:
>> >  1. Start with a minimal debian installation
>> >  2. Add the default location of postgres databases as a volume
>> >     (ie. mounted from the host's file system)
>> >  3. Add /etc/karaf as a volume
>> >  4. Add the repository for the unofficial karaf package
>> >      echo "deb http://apt.bang.priv.no/public stable main"
>>>/etc/apt/sources.list
>> >      wget -O - https://apt.bang.priv.no/apt_pub.gpg | apt-key add -
>> >  5. Install karaf and postgresql and all of their dependencies
>> >      apt-get update
>> >      apt-get install -yq --no-install-recommends postgresql karaf
>> >  6. Configure up an extra maven repository from the karaf console:
>> >      config:edit org.ops4j.pax.url.mvn
>> >      config:property-append org.ops4j.pax.url.mvn.repositories ",
>https://maven.bang.priv.no/repository/@id=ukelonn@snapshots,
>http://maven.vaadin.com/vaadin-addons@id=vaadin"
>> >      config:property-set org.ops4j.pax.url.mvn.globalUpdatePolicy
>always
>> >      config:update
>> >  7. Create an empty database karaf owned by user karaf
>> >      /usr/bin/sudo -u postgres createuser karaf
>> >      /usr/bin/sudo -u postgres createdb -O karaf ukelonn
>> >  8. Add the feature repository and install the features
>> >      feature:repo-add
>mvn:no.priv.bang.ukelonn/ukelonn.karaf/LATEST/xml/features
>> >      feature:install ukelonn-db-postgresql
>> >      feature:install ukelonn
>> > 
>> > 
>> > 
>> >