Hi Dmitry,

In our case, yes we hardcode and commit those credentials to our repositories. 
In my defense, we host all our code in-house and have various other security 
measures in place. Database credentials are normally different from client host 
to client host and therefore such credentials are normally useless unless you 
also have access to this particular host.

If you prefer to set your credentials directly on your host, use symbols (as 
described in the previous email) and make sure to correctly unset the shell 
environment variables after application startup. You could do something like 
this in your startup script:

java -Dmyapp.db.username=DB_USERNAME -Dmyapp.db.password=DB_PASSWORD -jar 
myapp.jar

where myapp.db.username and myapp.db.password are user-defined T5 symbols.

Using such a strategy, you can avoid committing your credentials.

Best,
Thilo

--
Thilo Tanner
Technology Lead

Direct +41 43 300 54 42
Mobile +41 79 506 46 36
thilo.tan...@reprisk.com

RepRisk AG, Stampfenbachstrasse 42, 8006 Zurich, Switzerland
Tel. +41 43 300 54 40, Fax +41 43 300 54 46
www.reprisk.com   

Follow us on Facebook or Twitter:
www.facebook.com/RepRisk | www.twitter.com/RepRisk

If you are not the intended recipient, please notify the sender - thank you.






Am 28.07.15 12:54 schrieb "Dmitry Gusev" unter <dmitry.gu...@gmail.com>:

>Hi Thilo,
>
>So you're hardcoding all your staging/production settings in special
>tapestry modules,
>and committing them to the same source code repository as your app's
>codebase, right?
>
>
>On Tue, Jul 28, 2015 at 1:47 PM, Thilo Tanner <thilo.tan...@reprisk.com>
>wrote:
>
>> Hi Dmitry,
>>
>> To configure our apps, we mainly use what Tapestry offers out-of-the-box.
>> I recommend to create a dedicated Tapestry module for each of your
>> environments as described here:
>> http://tapestry.apache.org/configuration.html#Configuration-SettingExecutionModes
>>
>> In such a module, you can override your database settings for example.
>>
>> Additional environment modules are then easy to load via command line. For
>> example:
>>
>> java -Dtapestry.execution-mode=staging -jar myapp.war
>>
>> Compared to other injection containers, Tapestry’s IOC has lots of
>> built-in features that will help you configuring your application. Another
>> concept worth mentioning here are Symbols:
>> http://tapestry.apache.org/symbols.html
>> Symbols can be predefined, but also overridden during application startup
>> (in fact, tapestry.execution-mode is a built-in T5 symbol used to load
>> additional modules during startup)
>>
>> Best,
>> Thilo
>>
>>
>>
>>
>> Am 28.07.15 12:06 schrieb "Dmitry Gusev" unter <dmitry.gu...@gmail.com>:
>>
>> >Hi Thilo,
>> >
>> >and how in this case you configure your executable JAR?
>> >
>> >Are you using maven profiles & that war file contains all configuration,
>> >or you create "universal" binary and provide configuration at runtime via
>> >system properties or external .properties file?
>> >
>> >I know this should be pretty easy to code, just wondering if there's
>> >anything ready that may be reused without reinventing the wheel.
>> >
>> >On Tue, Jul 28, 2015 at 12:30 PM, Thilo Tanner <thilo.tan...@reprisk.com>
>> >wrote:
>> >
>> >> Hi Dmitry,
>> >>
>> >> Yes, we are running T5.4 apps in production by embedding Undertow
>> (Servlet
>> >> container from Wildfly). With Tapestry, such a setup is relatively easy
>> to
>> >> achieve:
>> >>
>> >> You create an application class that bootstraps the Tapestry filter in
>> >> Undertow:
>> >>
>> http://undertow.io/undertow-docs/undertow-docs-1.2.0/index.html#creating-a-servlet-deployment
>> >>
>> >> Such a class will allow you to start your T5 app directly from a main
>> >> method (great for development).
>> >>
>> >> For a deployment, you can use the two following Maven plugins to
>> generate
>> >> „executable WAR files“:
>> >>
>> >> maven-war-plugin
>> >> Define the main class in the manifest file (pointing to your bootstrap
>> >> class above)
>> >>
>> >> spring-boot-maven-plugin
>> >> The plugin will repackage your WAR file to make it executable (by using
>> >> java -jar myapp.war); WAR files per-se are not directly executable.
>> >>
>> >>
>> >> If you’re interested in such a solution, I can post more details here.
>> >>
>> >> Best regards,
>> >> Thilo
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >> Am 28.07.15 11:09 schrieb "Dmitry Gusev" unter <dmitry.gu...@gmail.com
>> >:
>> >>
>> >> >Hello,
>> >> >
>> >> >Do you run tapestry apps in embedded container in production?
>> >> >
>> >> >If yes, how do you configure embedded container (ports, SSL, valves,
>> >> etc.)?
>> >> >
>> >> >Maybe there's some tapestry integration that configures tomcat instance
>> >> >using tapestry-ioc and symbols?
>> >> >
>> >> >--
>> >> >Dmitry Gusev
>> >> >
>> >> >AnjLab Team
>> >> >http://anjlab.com
>> >>
>> >
>> >
>> >
>> >--
>> >Dmitry Gusev
>> >
>> >AnjLab Team
>> >http://anjlab.com
>>
>
>
>
>-- 
>Dmitry Gusev
>
>AnjLab Team
>http://anjlab.com

Reply via email to