idealista / tomcat_role Goto Github PK
View Code? Open in Web Editor NEWAnsible role to install Apache Tomcat Java Servlet Container
License: Apache License 2.0
Ansible role to install Apache Tomcat Java Servlet Container
License: Apache License 2.0
Systemd notice the service is started but the applications managed aren't started.
Actual behavior: Tomcat managed services doesn't start
Reproduces how often: Always
1.1.0
Cannot copy extra tomcat config recursively
Expected behavior: That template should be copied in that path
Actual behavior: Folders declared in step one are created but the config template is not copied
Reproduces how often: always
all
Provide support for debian buster (10)
Add an option to remove manage, host, examples and docs folders from webapps
Memlock and AS security limits have a default value "unlimited" but systemd changed traditional syntax and use "infinity" value.
Expected behavior:
Limits are set to unlimit.
Actual behavior:
Systemd warns limit values are not recognized.
Reproduces how often:
Always.
N/A
During deploy the role downloads a war and copy it to webapps folder without modifying the name. This is is a problem because some projects wars name usually includes other information like profile or version that should be remove when copied to webapps
Expected behavior:
The role should be able to process a list of war urls with a destination name. Download the war and copy it to webapps with desire destination name.
TASK [tomcat : Tomcat | Copy extra tomcat config templates (provided by playbooks)] ********************************
failed: [target.cont] (item=playbooks/templates/tomcat/conf/context.xml) => {"failed": true, "item": "playbooks/templates/tomcat/conf/context.xml", "msg": "Unable to find 'playbooks/templates/tomcat/conf/context.xml.j2' in expected paths."}
Add support for downloaded agents as jar instead of compressed file.
Newrelic publishes his agent as a compressed file but other solutions (like elastic apm, etc.) is published as a jar.
Complete support for all agents.
Due to the inclusion of verify_checksum
argument in maven_artifact
module in Ansible 2.6 (https://docs.ansible.com/ansible/2.6/modules/maven_artifact_module.html#verify_checksum), the module doesn't verify the checksum of the WAR if it is already downloaded by default, making it impossible to update it if the artifact_id
is identical.
Expected behavior: The WAR to be updated.
Actual behavior: The WAR is not updated.
Reproduces how often: Always
All.
This role only supports solrcloud mode.
[Any additional information, configuration or data.]
Systemd ignores limits.d configuration managing services. The cassandra.service template can be improved in order to add, at least:
memlock
nofile
as
nproc
Expected behavior:
Get configured limits.
Actual behavior:
Limits not configured.
Reproduces how often:
Always.
All
Any additional information, configuration or data that might be necessary to reproduce the issue.
Following the Ansible Role name standards, this role should be renamed to "tomcat_role" instead of "tomcat-role".
In https://github.com/idealista/tomcat-role/blob/master/defaults/main.yml#L4 the tomcat version is 8.5.24 and the latest is 8.5.28 (http://tomcat.apache.org/tomcat-8.5-doc/changelog.html#Tomcat_8.5.28_(markt)).
Update the role to use the latest version due to use the improvements showed in changelog.
Pipfile and Pipfile.lock (autogenerated files by Pipenv) shouldn't be added to the repo
I need support for addons like java agents (newrelic, datadog, etc.) in this role.
Expected behavior: With the provided configuration I expect not to do more modifications when this role is executed.
Actual behavior: I need to modify the configuration after this role is executed.
All versions
Molecule 3.x is now stable and may be a good idea to update this role to it.
https://molecule.readthedocs.io/en/latest/
1.8.0
All the documents should refer to Idealista S.A instead of Idealista S.A.U
Some java agents supports extensions to add more functionality. This role doesn't support it yet.
The role supports java agents but extensions not yet.
Maven Downloaded war belongs to root
Expected behavior: Download war should belongs to tomcat_user
and tomcat_group
Actual behavior: war belongs to current ansible task runner (usually root)
Reproduces how often: Always
1.3.0
Lines 66 to 74 in d2d32dd
Hi,
the current implementation allows only to deploy from the control node to the target node. But sometimes the war file might already be available on that target machine so it should be possible to also define if the parameter remote_src
should be used or not.
Like this:
- name: Tomcat | Copy local wars to webapps
copy:
src: "{{ item }}"
dest: "{{ tomcat_webapps_path }}"
mode: 0755
owner: "{{ tomcat_user }}"
group: "{{ tomcat_group }}"
remote_src: "{{ tomcat_war_to_deploy_use_remote_src }}"
with_items: "{{ tomcat_war_to_deploy_path }}"
when: tomcat_local_wars
I want to change the path of the log files to another directory like '/var/log/tomcat/' or something else.
Expected behavior: With a variable I want to set the log files destination.
Actual behavior: Once installed, the log files are placed in "{{ installation_path }}/logs"
All versions
When installing a java jar agent directly the configuration section is not working as intended.
[Any additional information, configuration or data that might be necessary to reproduce the issue.]
Tomcat 10 is out now and this role fails while trying to install it.
get_url module doesn't work properly on different version but same name war downloaded.
After installing and configure tomcat it would be good to have a task that copy wars to CATALINA_HOME/webapps
.
In https://github.com/idealista/tomcat-role/blob/master/defaults/main.yml#L4 the tomcat version is 8.5.28 and the latest is 8.5.29 (http://tomcat.apache.org/tomcat-8.5-doc/changelog.html#Tomcat_8.5.29_(markt)).
Update the role to use the latest version due to use the improvements showed in changelog.
Role fails when two agents are installed in two separated periods of time. More info in the section below.
Expected behavior:
Do not fail in step 3, installing the two agents successfully
Actual behavior:
Role fails in the first run, making it mandatory to run the role twice in order to have a proper execution
Reproduces how often:
100%
N/A
N/A
As Tomcat 7.x and Tomcat 8.x are currently mantained versions of Tomcat, it would be nice to add scenarios testing that are supported versions that could be installed using this role. These versions should be explicitly specified as supported versions in the Readme file
Migrate to Molecule 2.X.X
When you run the role twice it will download and configure the agent every run.
Expected behavior: Only do things when its necessary.
Actual behavior: Download and configure the agent every time.
Reproduces how often: Always
Since 1.5.x
Any additional information, configuration or data that might be necessary to reproduce the issue.
Tomcat should not show its version when showing an error, or atleast this should not be the default behaviour
This role should be able to be fully compatible with ansible 2.9.
Most of the tasks can work just fine in EL, except for the apt
step in deploy
, from what I can tell. Please add support for EL
.
Expected behavior:
Success
Actual behavior:
Failure
Reproduces how often:
100%
1.8.0
N/A
Because of several CVEs related to log4j JNDI vulnerabilities, it would be nice to add the following flag by default
-Dlog4j2.formatMsgNoLookups=true
To prevent the exploit
Need to add the option to add environment variables as the same way we can configure the catalina_opts variable.
Expected behavior: Add a variable in the configuration (main.yml or whatever) and configure the tomcat instance to use it.
Actual behavior: Not able to pass the variable and I must to add additional steps to configure the tomcat instance.
Reproduces how often: Allways
All
The version/s you notice the behavior.
Any additional information, configuration or data that might be necessary to reproduce the issue.
OWASP recommends to change SHUTDOWN command word from 'SHUTDOWN' to other ('ReallyComplexWord' xd)
Expected behavior: SHUTDOWN command should be configurable
Actual behavior: We cannot change SHUTDOWN command because is hardcoded in the server.xml.j2 template
All
We should use Goss instead Testinfra to check:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.