Hi Ivy Team

Assuming I have a global prop such as :

myGlobalProp: http://myIP:1234/whatever

myIP is different for Dev, Test and Prod. Is there a way to "inject" myIP at startup of the Docker image ?

Or generally:

If I want to build an image which should be deployed in Dev, Test and Prod, is there a way to parameterize all the config files used for the Ivy Engine (yaml, xml, etc.) ?

Thanks & Regards John

asked 20.05.2019 at 11:20

John%20Moser's gravatar image

John Moser
accept rate: 0%

Hello John Moser

Yes, there are several ways to provide environment specific configurations. Docker and Axon.ivy offer many capabilities of parameterization for different environments. The difficulty is to decide which methods or mix of methods fits best for your projects needs.

One could either:

  1. mount different configuration files (like ivy.yaml, app.yaml, etc.) per environment into the container. I think that makes sense if every stage (dev, int, prod) looks completely different and the resulting yaml files have almost nothing in common.

  2. use environment variables to override parts of our configurations https://developer.axonivy.com/doc/latest/EngineGuideHtml/configuration.html#configuration-override. This is recommended if you only want to override a few configuration values while most configurations in the yaml files are shared.

  3. use the capabilities of your container orchestration platform like ConfigMap for Kubernetes https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/

you may also check how to handle passwords (secrets) in containers: https://developer.axonivy.com/doc/latest/EngineGuideHtml/configuration.html#engine-configuration-docker


answered 21.05.2019 at 03:05

Alex%20Suter's gravatar image

Alex Suter ♦♦
accept rate: 84%

edited 07.08.2019 at 03:57

If we talk about the global properties in app.yaml, it seems to me that one can not use the ConfigMap or Env variable approach.

So app.yaml which are env dependent must be mounted <- is this correct ?

(26.08.2019 at 10:59) John Moser John%20Moser's gravatar image

You can use the Env-Variable approach for all configurations in app.yaml. You must prefix all configuration keys as described in the header of the app.yaml.

I don't see a problem to use the ConfigMap approach for configurations in app.yaml. What do you think is the problem?

(27.08.2019 at 03:13) Alex Suter ♦♦ Alex%20Suter's gravatar image

Ok ... i got it.


(27.08.2019 at 11:53) John Moser John%20Moser's gravatar image
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "Title")
  • image?![alt text](/path/img.jpg "Title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported



Asked: 20.05.2019 at 11:20

Seen: 1,567 times

Last updated: 27.08.2019 at 11:53