cookbook 'esri-tomcat', '= 0.2.1'
esri-tomcat (14) Versions 0.2.1 Follow0
Installs/Configures esri-tomcat
cookbook 'esri-tomcat', '= 0.2.1', :supermarket
knife supermarket install esri-tomcat
knife supermarket download esri-tomcat
layout: default
title: "esri-tomcat cookbook"
category: cookbooks
item: esri-tomcat
version: 0.2.1
latest: true
esri-tomcat cookbook
This cookbook installs and configures Apache Tomcat for use with ArcGIS Web Adaptor.
Requirements
Platforms
- Ubuntu Server 18.04 and 20.04 LTS
- Red Hat Enterprise Linux Server 8
- SUSE Linux Enterprise Server 15
- Oracle Linux 8
Dependencies
The following cookbooks are required:
* tomcat
* openssl
Attributes
General
-
node['tomcat']['version']= Tomcat version to install. Default is9.0.48. -
node['tomcat']['instance_name']= Tomcat instance name. Default isarcgis. -
node['tomcat']['install_path']= Tomcat installation directory. Default is/opt/tomcat_INSTANCENAME_VERSION. -
node['tomcat']['tarball_path']= Tomcat tarball archive path. Default is<Chef file cache path>/apache-tomcat-<tomcat version>.tar.gz. -
node['tomcat']['verify_checksum']= Verify checksum of downloaded Tomcat tarball. Default value istrue. -
node['tomcat']['forward_ports']= If set totrue, default recipe includes the 'firewalld' or 'iptables' recipe. Default value istrue. -
node['tomcat']['firewalld']['init_cmd']= The firewalld initialization command. The default command isfirewall-cmd --zone=public --permanent --add-port=0-65535/tcp. -
node['tomcat']['create_symlink']= Create symlink atnode['tomcat']['symlink_path']tonode['tomcat']['install_path']. Default istrue. -
node['tomcat']['symlink_path']= Full path to where the symlink will be created targetingnode['tomcat']['install_path']. Default path is/opt/tomcat_<instance name>. -
node['tomcat']['tomcat_user_shell']= Shell of the tomcat user. Default is/bin/false. -
node['tomcat']['create_user']= Create the specified tomcat user within the OS. Default istrue. -
node['tomcat']['create_group']= Create the specified tomcat group within the OS. Default istrue. -
node['tomcat']['user']= User to run tomcat as. Default istomcat_<instance name>. -
node['tomcat']['group']= Group of the tomcat user. Default istomcat_<instance name>.
SSL/TLS
-
node['tomcat']['keystore_file']= Optional: Path to the keystore file. If not provided, a new file and a self-signed certificate will be created. -
node['tomcat']['keystore_password']= Optional: Password to the keystore. -
node['tomcat']['ssl_enabled_protocols']= SSL protocols of the HTTPS listener. Default isTLSv1.3,TLSv1.2. -
node['tomcat']['domain_name']= Domain name for generated self-signed SSL certificate. Default isFully Qualified Domain Name.
OpenJDK
-
node['java']['version']= Major Java version. Default version is11. -
node['java']['tarball_uri']= JDK tarball URI. Default URI ishttps://download.java.net/java/ga/jdk11/openjdk-11_linux-x64_bin.tar.gz. -
node['java']['tarball_path']= JDK tarball local path. Default path is<file_cache_path>/openjdk-11_linux-x64_bin.tar.gz. -
node['java']['install_path']= JDK installation path. Default path is/opt.
Recipes
configure_ssl
Configures the HTTPS listener in Apache Tomcat application server.
{
"tomcat": {
"version" : "9.0.48",
"instance_name" : "arcgis",
"user": "tomcat_arcgis",
"group": "tomcat_arcgis",
"install_path" : "/opt/tomcat_arcgis_9.0.48",
"keystore_type" : "PKCS12",
"keystore_file" : "/tomcat_arcgis/conf/resources/sslcerts/sslcert.pfx",
"keystore_password": "<password>",
"domain_name": "domain.com",
"ssl_enabled_protocols" : "TLSv1.2,TLSv1.1,TLSv1"
},
"run_list" : [
"recipe[esri-tomcat::configure_ssl]"
]
}
Note: If the specified keystore file does not exist, the recipe generates a self-signed SSL certificate for the specified domain.
default
Installs Apache Tomcat and configures the HTTPS listener. If the node['tomcat']['forward_ports'] attribute is true (default value), the recipe also configures port forwarding (80 to 8080 and 443 to 8443) using the iptables or firewalld recipes.
{
"tomcat": {
"version" : "9.0.48",
"instance_name" : "arcgis",
"user": "tomcat_arcgis",
"group": "tomcat_arcgis",
"install_path" : "/opt/tomcat_arcgis_9.0.48",
"keystore_type" : "PKCS12",
"keystore_file" : "/tomcat_arcgis/conf/resources/sslcerts/sslcert.pfx",
"keystore_password": "<password>",
"domain_name": "domain.com",
"ssl_enabled_protocols" : "TLSv1.2,TLSv1.1,TLSv1",
"tarball_path": "/opt/software/archives/apache-tomcat-9.0.48.tar.gz",
"forward_ports": true
},
"run_list" : [
"recipe[esri-tomcat]"
]
}
Note: If the specified keystore file does not exist, the recipe generates a self-signed SSL certificate for the specified domain.
firewalld
Configures port forwarding (80 to 8080 and 443 to 8443) using FirewallD.
Note: If the firewalld service was started by the recipe, the recipe runs the script specified by node['tomcat']['firewalld']['init_cmd'], which, by default, opens all the TCP ports on the machine.
{
"tomcat": {
"firewalld": {
"init_cmd": "firewall-cmd --zone=public --permanent --add-port=0-65535/tcp"
}
},
"run_list" : [
"recipe[esri-tomcat::firewalld]"
]
}
install
Installs Apache Tomcat application server.
{
"tomcat": {
"version" : "9.0.48",
"instance_name" : "arcgis",
"user": "tomcat_arcgis",
"group": "tomcat_arcgis",
"install_path" : "/opt/tomcat_arcgis_9.0.48",
"tarball_path": "/opt/software/archives/apache-tomcat-9.0.48.tar.gz"
},
"run_list" : [
"recipe[esri-tomcat::install]"
]
}
iptables
Configures port forwarding (80 to 8080 and 443 to 8443) using iptables.
{
"run_list" : [
"recipe[esri-tomcat::iptables]"
]
}
openjdk
Installs OpenJDK for Apache Tomcat from a local or remote tarball.
{
"java": {
"version": "11",
"tarball_path": "/opt/software/archives/openjdk-11_linux-x64_bin.tar.gz"
},
"run_list": [
"recipe[esri-tomcat::openjdk]"
]
}
Dependent cookbooks
| tomcat >= 3.2.0 |
| openssl ~> 8.5 |
| iptables ~> 7.1 |
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
esri-tomcat cookbook CHANGELOG
This file is used to list changes made in each version of the esri-tomcat cookbook.
0.2.1
- Added new attributes to control tomcat user and group creation.
0.2.0
- Updated HTTPS connector in server.xml.
0.1.9
- Added support for Apache Tomcat 9.
- Added support for new linux platforms.
0.1.8
- Added iptables, firewalld, and openjdk recipes.
0.1.7
- Disabled AJP port connector.
0.1.6
- Added tarball_path attribute.
0.1.5
- Updated and locked versions of dependent cookbooks.
0.1.4
- Install Tomcat 8.0.53 as default.
- Use openjdk for test kitchen.
0.1.3
- Add ec2 test kitchen.
0.1.2
- Update tomcat dependency version > 2.5.2
- Fix chef 14 deprecation warnings
- Update kitchen to use chef 13
0.1.1
- Add additional guard for tomcat_install resource
- Fix some rubocop offenses
0.1.0
- Installs and configures Apache Tomcat for using with ArcGIS Web Adaptor
Collaborator Number Metric
0.2.1 passed this metric
Contributing File Metric
0.2.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Cookstyle Metric
0.2.1 failed this metric
Chef/Correctness/InvalidPlatformInCase: Use valid platform values in case statements. (https://docs.chef.io/workstation/cookstyle/chef_correctness_invalidplatformincase): esri-tomcat/recipes/default.rb: 26
Chef/Correctness/InvalidPlatformInCase: Use valid platform values in case statements. (https://docs.chef.io/workstation/cookstyle/chef_correctness_invalidplatformincase): esri-tomcat/recipes/iptables.rb: 43
Chef/Modernize/DependsOnOpensslCookbook: Don't depend on the `openssl` cookbook which was made obsolete by Chef Infra Client 14.4. All `openssl_*` resources are now included directly in Chef Infra Client. (https://docs.chef.io/workstation/cookstyle/chef_modernize_dependsonopensslcookbook): esri-tomcat/metadata.rb: 11
Chef/Modernize/RespondToInMetadata: It is no longer necessary to use respond_to? or defined? in metadata.rb in Chef Infra Client 12.15 and later (https://docs.chef.io/workstation/cookstyle/chef_modernize_respondtoinmetadata): esri-tomcat/metadata.rb: 25
Chef/Modernize/RespondToInMetadata: It is no longer necessary to use respond_to? or defined? in metadata.rb in Chef Infra Client 12.15 and later (https://docs.chef.io/workstation/cookstyle/chef_modernize_respondtoinmetadata): esri-tomcat/metadata.rb: 26
Chef/RedundantCode/LongDescriptionMetadata: The long_description metadata.rb method is not used and is unnecessary in cookbooks. (https://docs.chef.io/workstation/cookstyle/chef_redundantcode_longdescriptionmetadata): esri-tomcat/metadata.rb: 6
Chef/RedundantCode/RecipeMetadata: The recipe metadata.rb method is not used and is unnecessary in cookbooks. Recipes should be documented in the cookbook's README.md file instead. (https://docs.chef.io/workstation/cookstyle/chef_redundantcode_recipemetadata): esri-tomcat/metadata.rb: 18
Chef/RedundantCode/RecipeMetadata: The recipe metadata.rb method is not used and is unnecessary in cookbooks. Recipes should be documented in the cookbook's README.md file instead. (https://docs.chef.io/workstation/cookstyle/chef_redundantcode_recipemetadata): esri-tomcat/metadata.rb: 19
Chef/RedundantCode/RecipeMetadata: The recipe metadata.rb method is not used and is unnecessary in cookbooks. Recipes should be documented in the cookbook's README.md file instead. (https://docs.chef.io/workstation/cookstyle/chef_redundantcode_recipemetadata): esri-tomcat/metadata.rb: 20
Chef/RedundantCode/RecipeMetadata: The recipe metadata.rb method is not used and is unnecessary in cookbooks. Recipes should be documented in the cookbook's README.md file instead. (https://docs.chef.io/workstation/cookstyle/chef_redundantcode_recipemetadata): esri-tomcat/metadata.rb: 21
Chef/RedundantCode/RecipeMetadata: The recipe metadata.rb method is not used and is unnecessary in cookbooks. Recipes should be documented in the cookbook's README.md file instead. (https://docs.chef.io/workstation/cookstyle/chef_redundantcode_recipemetadata): esri-tomcat/metadata.rb: 22
Chef/RedundantCode/RecipeMetadata: The recipe metadata.rb method is not used and is unnecessary in cookbooks. Recipes should be documented in the cookbook's README.md file instead. (https://docs.chef.io/workstation/cookstyle/chef_redundantcode_recipemetadata): esri-tomcat/metadata.rb: 23
Chef/RedundantCode/UseCreateIfMissing: Use the :create_if_missing action instead of not_if with a ::File.exist(FOO) check. (https://docs.chef.io/workstation/cookstyle/chef_redundantcode_usecreateifmissing): esri-tomcat/recipes/openjdk.rb: 23
Chef/Sharing/InvalidLicenseString: Cookbook metadata.rb does not use a SPDX compliant license string or "all rights reserved". See https://spdx.org/licenses/ for a complete list of license identifiers. (https://docs.chef.io/workstation/cookstyle/chef_sharing_invalidlicensestring): esri-tomcat/metadata.rb: 4
Run with Cookstyle Version 7.32.1 with cops Chef/Deprecations,Chef/Correctness,Chef/Sharing,Chef/RedundantCode,Chef/Modernize,Chef/Security,InSpec/Deprecations
No Binaries Metric
0.2.1 passed this metric
Testing File Metric
0.2.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.2.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.2.1 passed this metric
0.2.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Cookstyle Metric
0.2.1 failed this metric
Chef/Correctness/InvalidPlatformInCase: Use valid platform values in case statements. (https://docs.chef.io/workstation/cookstyle/chef_correctness_invalidplatformincase): esri-tomcat/recipes/default.rb: 26
Chef/Correctness/InvalidPlatformInCase: Use valid platform values in case statements. (https://docs.chef.io/workstation/cookstyle/chef_correctness_invalidplatformincase): esri-tomcat/recipes/iptables.rb: 43
Chef/Modernize/DependsOnOpensslCookbook: Don't depend on the `openssl` cookbook which was made obsolete by Chef Infra Client 14.4. All `openssl_*` resources are now included directly in Chef Infra Client. (https://docs.chef.io/workstation/cookstyle/chef_modernize_dependsonopensslcookbook): esri-tomcat/metadata.rb: 11
Chef/Modernize/RespondToInMetadata: It is no longer necessary to use respond_to? or defined? in metadata.rb in Chef Infra Client 12.15 and later (https://docs.chef.io/workstation/cookstyle/chef_modernize_respondtoinmetadata): esri-tomcat/metadata.rb: 25
Chef/Modernize/RespondToInMetadata: It is no longer necessary to use respond_to? or defined? in metadata.rb in Chef Infra Client 12.15 and later (https://docs.chef.io/workstation/cookstyle/chef_modernize_respondtoinmetadata): esri-tomcat/metadata.rb: 26
Chef/RedundantCode/LongDescriptionMetadata: The long_description metadata.rb method is not used and is unnecessary in cookbooks. (https://docs.chef.io/workstation/cookstyle/chef_redundantcode_longdescriptionmetadata): esri-tomcat/metadata.rb: 6
Chef/RedundantCode/RecipeMetadata: The recipe metadata.rb method is not used and is unnecessary in cookbooks. Recipes should be documented in the cookbook's README.md file instead. (https://docs.chef.io/workstation/cookstyle/chef_redundantcode_recipemetadata): esri-tomcat/metadata.rb: 18
Chef/RedundantCode/RecipeMetadata: The recipe metadata.rb method is not used and is unnecessary in cookbooks. Recipes should be documented in the cookbook's README.md file instead. (https://docs.chef.io/workstation/cookstyle/chef_redundantcode_recipemetadata): esri-tomcat/metadata.rb: 19
Chef/RedundantCode/RecipeMetadata: The recipe metadata.rb method is not used and is unnecessary in cookbooks. Recipes should be documented in the cookbook's README.md file instead. (https://docs.chef.io/workstation/cookstyle/chef_redundantcode_recipemetadata): esri-tomcat/metadata.rb: 20
Chef/RedundantCode/RecipeMetadata: The recipe metadata.rb method is not used and is unnecessary in cookbooks. Recipes should be documented in the cookbook's README.md file instead. (https://docs.chef.io/workstation/cookstyle/chef_redundantcode_recipemetadata): esri-tomcat/metadata.rb: 21
Chef/RedundantCode/RecipeMetadata: The recipe metadata.rb method is not used and is unnecessary in cookbooks. Recipes should be documented in the cookbook's README.md file instead. (https://docs.chef.io/workstation/cookstyle/chef_redundantcode_recipemetadata): esri-tomcat/metadata.rb: 22
Chef/RedundantCode/RecipeMetadata: The recipe metadata.rb method is not used and is unnecessary in cookbooks. Recipes should be documented in the cookbook's README.md file instead. (https://docs.chef.io/workstation/cookstyle/chef_redundantcode_recipemetadata): esri-tomcat/metadata.rb: 23
Chef/RedundantCode/UseCreateIfMissing: Use the :create_if_missing action instead of not_if with a ::File.exist(FOO) check. (https://docs.chef.io/workstation/cookstyle/chef_redundantcode_usecreateifmissing): esri-tomcat/recipes/openjdk.rb: 23
Chef/Sharing/InvalidLicenseString: Cookbook metadata.rb does not use a SPDX compliant license string or "all rights reserved". See https://spdx.org/licenses/ for a complete list of license identifiers. (https://docs.chef.io/workstation/cookstyle/chef_sharing_invalidlicensestring): esri-tomcat/metadata.rb: 4
Run with Cookstyle Version 7.32.1 with cops Chef/Deprecations,Chef/Correctness,Chef/Sharing,Chef/RedundantCode,Chef/Modernize,Chef/Security,InSpec/Deprecations
No Binaries Metric
0.2.1 passed this metric
Testing File Metric
0.2.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.2.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.2.1 failed this metric
Chef/Correctness/InvalidPlatformInCase: Use valid platform values in case statements. (https://docs.chef.io/workstation/cookstyle/chef_correctness_invalidplatformincase): esri-tomcat/recipes/iptables.rb: 43
Chef/Modernize/DependsOnOpensslCookbook: Don't depend on the `openssl` cookbook which was made obsolete by Chef Infra Client 14.4. All `openssl_*` resources are now included directly in Chef Infra Client. (https://docs.chef.io/workstation/cookstyle/chef_modernize_dependsonopensslcookbook): esri-tomcat/metadata.rb: 11
Chef/Modernize/RespondToInMetadata: It is no longer necessary to use respond_to? or defined? in metadata.rb in Chef Infra Client 12.15 and later (https://docs.chef.io/workstation/cookstyle/chef_modernize_respondtoinmetadata): esri-tomcat/metadata.rb: 25
Chef/Modernize/RespondToInMetadata: It is no longer necessary to use respond_to? or defined? in metadata.rb in Chef Infra Client 12.15 and later (https://docs.chef.io/workstation/cookstyle/chef_modernize_respondtoinmetadata): esri-tomcat/metadata.rb: 26
Chef/RedundantCode/LongDescriptionMetadata: The long_description metadata.rb method is not used and is unnecessary in cookbooks. (https://docs.chef.io/workstation/cookstyle/chef_redundantcode_longdescriptionmetadata): esri-tomcat/metadata.rb: 6
Chef/RedundantCode/RecipeMetadata: The recipe metadata.rb method is not used and is unnecessary in cookbooks. Recipes should be documented in the cookbook's README.md file instead. (https://docs.chef.io/workstation/cookstyle/chef_redundantcode_recipemetadata): esri-tomcat/metadata.rb: 18
Chef/RedundantCode/RecipeMetadata: The recipe metadata.rb method is not used and is unnecessary in cookbooks. Recipes should be documented in the cookbook's README.md file instead. (https://docs.chef.io/workstation/cookstyle/chef_redundantcode_recipemetadata): esri-tomcat/metadata.rb: 19
Chef/RedundantCode/RecipeMetadata: The recipe metadata.rb method is not used and is unnecessary in cookbooks. Recipes should be documented in the cookbook's README.md file instead. (https://docs.chef.io/workstation/cookstyle/chef_redundantcode_recipemetadata): esri-tomcat/metadata.rb: 20
Chef/RedundantCode/RecipeMetadata: The recipe metadata.rb method is not used and is unnecessary in cookbooks. Recipes should be documented in the cookbook's README.md file instead. (https://docs.chef.io/workstation/cookstyle/chef_redundantcode_recipemetadata): esri-tomcat/metadata.rb: 21
Chef/RedundantCode/RecipeMetadata: The recipe metadata.rb method is not used and is unnecessary in cookbooks. Recipes should be documented in the cookbook's README.md file instead. (https://docs.chef.io/workstation/cookstyle/chef_redundantcode_recipemetadata): esri-tomcat/metadata.rb: 22
Chef/RedundantCode/RecipeMetadata: The recipe metadata.rb method is not used and is unnecessary in cookbooks. Recipes should be documented in the cookbook's README.md file instead. (https://docs.chef.io/workstation/cookstyle/chef_redundantcode_recipemetadata): esri-tomcat/metadata.rb: 23
Chef/RedundantCode/UseCreateIfMissing: Use the :create_if_missing action instead of not_if with a ::File.exist(FOO) check. (https://docs.chef.io/workstation/cookstyle/chef_redundantcode_usecreateifmissing): esri-tomcat/recipes/openjdk.rb: 23
Chef/Sharing/InvalidLicenseString: Cookbook metadata.rb does not use a SPDX compliant license string or "all rights reserved". See https://spdx.org/licenses/ for a complete list of license identifiers. (https://docs.chef.io/workstation/cookstyle/chef_sharing_invalidlicensestring): esri-tomcat/metadata.rb: 4
Run with Cookstyle Version 7.32.1 with cops Chef/Deprecations,Chef/Correctness,Chef/Sharing,Chef/RedundantCode,Chef/Modernize,Chef/Security,InSpec/Deprecations
0.2.1 passed this metric
Testing File Metric
0.2.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.2.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.2.1 failed this metric
0.2.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number