@Jayanga, how do you make the server run elegantly on containers without
being able to inject properties via env variables?

On Wed, Aug 23, 2017 at 12:43 PM, Jayanga Dissanayake <jaya...@wso2.com>
wrote:

> Hi All,
>
> -1, for injecting configs without specifying it in the deployment.yaml
>
> Reason: When analyzing most of the issues we request config files (with C5
> deployment.yaml) from the users to identify what are the configuration
> changes. If we have at-least the place holders in the config files, there
> is a guarantee that we know what are the injected configuration and we
> could request the actual values of the configs we need.
>
> But with the suggested approach, we have to request the 1)config files,
> 2)all the environment variables and get the union to identify the changed
> configurations. IMO an additional effort.
>
> Hence considering the overhead on the support front I am -1 for the
> suggested approach.
>
> Thanks,
> Jayanga.
>
> *Jayanga Dissanayake*
> Associate Technical Lead
> WSO2 Inc. - http://wso2.com/
> lean . enterprise . middleware
> email: jaya...@wso2.com
> mobile: +94772207259 <+94%2077%20220%207259>
> <http://wso2.com/signature>
>
> On Wed, Aug 23, 2017 at 9:16 AM, Danesh Kuruppu <dan...@wso2.com> wrote:
>
>> Created git issue[1] to track this improvement.
>>
>> 1. https://github.com/wso2/carbon-config/issues/48
>>
>> On Tue, Aug 22, 2017 at 9:50 AM, Danesh Kuruppu <dan...@wso2.com> wrote:
>>
>>> Hi Chamila,
>>>
>>> +1 for the suggested approach. So we can have both ways to set
>>> environment variables either from placeholder ${env:<key>} where we can
>>> specify any key for the variable or from the new approach. For the new
>>> approach, we need adhere to a certain format as suggested.
>>>
>>> Thanks
>>> Danesh
>>>
>>> On Mon, Aug 21, 2017 at 5:59 PM, Chamila De Alwis <chami...@wso2.com>
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>> In C5, the configuration lookup is done in the environment variables,
>>>> system properties, deployment.yaml file, and the value provided in the
>>>> configuration bean class, in that order. However, it looks like environment
>>>> variable lookup happens only if the particular configuration is noted to do
>>>> so in the deployment.yaml, specifically if the value of the config is
>>>> prefixed by a placeholder env:.
>>>>
>>>> gateWayEndpoint: ${env:gateWayEndpoint}
>>>>
>>>> While this pattern may be easy to implement, it is cumbersome to be
>>>> followed in a Containerization approach and IMO breaks the 12Factor
>>>> approach to configuration. This is because of the need to edit a physical
>>>> file in order for the environment variables to be queried. This makes it
>>>> harder to maintain a single Container Image for different deployments, and
>>>> manipulate the Container runtimes via environment variables.
>>>>
>>>> AFAIU, this pattern emerges from the requirements in SecureVault;
>>>> having a ${sec:} prefix can mark the configuration value to be resolved
>>>> through Secure Vault resolver. However IMO this, value resolution, is not
>>>> the same as value lookup.
>>>>
>>>> IMO, the following should be the lookup order, without having to mark a
>>>> particular config in the deployment.yaml file.
>>>>
>>>> 1. Environment variables: PREFIX_wso2.NAMESPACE_CONFIGKEY="value",
>>>> PREFIX_wso2.NAMESPACE_CONFIGPARENT_CONFIG2="value2"
>>>> 2. deployment.yaml:
>>>>
>>>> wso2.NAMESPACE:
>>>>
>>>> CONFIG_KEY: value
>>>>
>>>> CONFIG_PARENT:
>>>>
>>>> CONFIG2: valu2
>>>>
>>>> 3. Default value in the code
>>>>
>>>> This approach would be most Container friendly one as there is no need
>>>> to change files depending on deployment patterns, environments, etc.
>>>>
>>>> WDYT?
>>>>
>>>> Regards,
>>>> Chamila de Alwis
>>>> Committer and PMC Member - Apache Stratos
>>>> Senior Software Engineer | WSO2
>>>> Blog: https://medium.com/@chamilad
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>>
>>> *Danesh Kuruppu*
>>> Senior Software Engineer | WSO2
>>>
>>> Email: dan...@wso2.com
>>> Mobile: +94 (77) 1690552 <+94%2077%20169%200552>
>>> Web: WSO2 Inc <https://wso2.com/signature>
>>>
>>>
>>
>>
>> --
>>
>> *Danesh Kuruppu*
>> Senior Software Engineer | WSO2
>>
>> Email: dan...@wso2.com
>> Mobile: +94 (77) 1690552 <+94%2077%20169%200552>
>> Web: WSO2 Inc <https://wso2.com/signature>
>>
>>
>> _______________________________________________
>> Architecture mailing list
>> Architecture@wso2.org
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>
> _______________________________________________
> Architecture mailing list
> Architecture@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
Nuwan Dias

Software Architect - WSO2, Inc. http://wso2.com
email : nuw...@wso2.com
Phone : +94 777 775 729
_______________________________________________
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to