This is required on secure Linux distributions such as
Fedora/CentOS/RHEL where SELinux is enabled, where without this
the mysql container fails to start due to:
ls: cannot open directory '/docker-entrypoint-initdb.d/': Permission denied
These Z,ro volume mount flags are (should be..) harmless and ignored
by Docker on other platforms, such as insecure ;) Linux distributions
without SELinux, or Windows and Mac.
PS: I personally don't actually use real Docker, but instead I use Podman
(see https://github.com/containers/libpod; install via `dnf install podman-docker`)
and https://github.com/containers/podman-compose/) via `pip3 install podman-compose`;
it's more secure (because it doesn't need a daemon and root to run containers).
- add ASL header (required by ASF RAT)
- change port to 8080 (TODO what was 8005 ?)
- add commands to create DBs
- fix .gitpod.yml database creation
- refine ports in .gitpod.yml
- add port 8081 to ignore in .gitpod.yml
- use test instead of (too slow) integrationTest in .gitpod.yml
- fix .gitpod.yml
by using https://yaml-multiline.info to fix start-up problem
due to comment inside tasks / command; ACK Tx to @meysholdt
for pointing out the right trick here.
see https://github.com/apache/fineract/pull/598/
This was an idea I had when wondering if the problem we hit
during the Gradle upgrade was just that Tomcat took longer to
boot Fineract (it turned out that that wasn't the cause).
I'm not sure if gradle-tomcat-plugin already does the equivalent
(but suspect it does not), but given that integrationTests work,
not entirely clear how much value this really adds.
Given that it doesn't really hurt either, perhaps we can add it anyway.
Now that we separated the build and runtime containers,
we can have only a JRE but not a JDK in the runtime container
(whereas the builder container will still have a JRE).
This makes for a smaller, and more importantly,
more secure, runtime container image.
Also removing git from runtime container, as it's not used.
which broke during the Gradle upgrade in FINERACT-700
do not fix Flyway related migrateTenantDB & Co, as those
are proposed to be removed in FINERACT-765 anyway. (If really
needed, some of my other WIP branches have the required changes
to make the Flyway related tasks work.)
because the (new, upgraded) Tomcat Gradle plugin needs more memory
(and this seems to make the build a bit faster, may be less is fine),
and it does not work with the Gradle daemon; this fixes:
> Task :tomcatRunWar
Failed to initialize end point associated with ProtocolHandler ["http-bio-8080"]
Failed to initialize connector [Connector[HTTP/1.1-8080]]
Failed to initialize end point associated with ProtocolHandler ["ajp-bio-8009"]
Failed to initialize connector [Connector[AJP/1.3-8009]]
Failed to initialize end point associated with ProtocolHandler ["http-bio-8443"]
Failed to initialize connector [Connector[HTTP/1.1-8443]]
which appears on the 2nd (only!) run of `./gradlew tomcatRunWAR`
(because the Tomcat embedded in the previous daemon-ized Gradle did not stop).
because the old one previously used caused an UnsupportedOperationException
with the new Gradle, see https://issues.apache.org/jira/browse/FINERACT-700
The spring-jms and activemq-broker versions are set to what they were on before.