Skip to content

This is the runtime repository that contains the source code for container runtimes for the iib best practice

License

Notifications You must be signed in to change notification settings

madddi/iib-bestpractice-runtimes

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The IBM Integration Bus Docker Framework - RuntimeLayer

This repository includes a docker image framework for IBM Integration Bus according to container best practices.

The framework consists of two Layers:

  • RuntimeLayer: This repository includes the different images that are prepared and form the foundation for the the AppLayer.
  • AppLayer: This repository include a template for a developer to develop his own immutable image for his applications.

This repository includes the source code for the following RuntimeLayer images from which the developer can select as the foundation for his AppLayer image:

  • iib-10.0.0.6: Creates an Ubuntu 14.04 image with IIB in version 10.0.0.6
  • iib-10.0.0.6-mqclient: Adds MQClient 9 to the iib-10.0.0.6 image

Image Parameters:

iib-10.0.0.6-mqclient / iib-10.0.0.6

  • Default config of IIB:
    • nodename: MYNODE
    • integrationservername: default
    • two users for the webadminui, also to be used when connecting from IIB Toolkit to the Integrationnode:
      • admin:
        • can read, write, execute
        • password must be set by definining it in the IIB_ADMINPW variable
      • observer:
        • can read only
        • password must be set by definining it in the IIB_OBSERVERPW variable
  • Environment variables:
    • IIB_TRACEMODE: this can be set to on or off to en/disable trace nodes.
    • IIB_LICENSE: this must be set to accept to indicate that you accepted the IBM License Agreement
    • IIB_SKIPDEPLOY: Skip deployment of IIB applications, useful in development
    • IIB_GLOBALCACHE: if set to internal the global cache on IIB is just enabled. If set to external the connection to an external IBM Extreme Scale is configured. This requires the following environment variables to be set:
      • IIB_GC_USER: username to connect to IBM Extreme Scale
      • IIB_GC_PASSWD: password to connect to IBM Extreme Scale
      • IIB_GC_CATALOGENDPOINT: catalogendpoint to connect to IBM Extreme Scale
      • IIB_GC_GRIDNAME gridname to connect to IBM Extreme Scale
  • Exposed Ports:
    • 4414: Port of the IIB Admin WebUi and for remote debugging in IBM Integration Bus Toolkit
    • 7800: Port of the HTTP Listener

Usage Process

If you have the need for a new image or want to modify one of the existing runtime images:

  1. Update or add a Version Number in the env file and run it . ./env
  2. Create a new folder with a new definition of a runtime layer image.
  3. Add the image to the docker-compose file according to the other images.
  4. Build the image with docker-compose build (e.g. docker-compose build iib-mqclient) test it locally and if ok then check into git repo.
  5. Push the image into the container repository of your choice for applicaiton developers to use.

Experiences:

  • Deploying (stage specific) artefacts (bar files) at run time by getting it from a config server. Has the disadvantage that this requires multiple files for each stage. Leading to the problem that you might forget to update the artefact on all stages. IMMUTABILITY VIOLATED.
  • Mounting the deloyment artefacts from another container. In container plattforms like OpenShift or Kubernetes there is no possibility to specify dependencies between containers, this makes it complex (not impossible) to make it work and maintain.

About

This is the runtime repository that contains the source code for container runtimes for the iib best practice

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%