diff --git a/cookbooks/arcgis-desktop/CHANGELOG.md b/cookbooks/arcgis-desktop/CHANGELOG.md index f4449b1..e9685e1 100644 --- a/cookbooks/arcgis-desktop/CHANGELOG.md +++ b/cookbooks/arcgis-desktop/CHANGELOG.md @@ -3,6 +3,10 @@ arcgis-desktop cookbook CHANGELOG This file is used to list changes made in each version of the arcgis-desktop cookbook. +4.2.0 +----- +- Added support for ArcGIS License Manager 2023.0 + 4.1.0 ----- - Added support for ArcGIS License Manager 2022.1 diff --git a/cookbooks/arcgis-desktop/README.md b/cookbooks/arcgis-desktop/README.md index fd0170a..d99e251 100644 --- a/cookbooks/arcgis-desktop/README.md +++ b/cookbooks/arcgis-desktop/README.md @@ -3,7 +3,7 @@ layout: default title: "arcgis-desktop cookbook" category: cookbooks item: arcgis-desktop -version: 4.1.0 +version: 4.2.0 latest: true --- @@ -38,6 +38,7 @@ This cookbook installs and configures ArcGIS Desktop and ArcGIS License Manager. * 2021.1 * 2022.0 * 2022.1 + * 2023.0 ## Platforms @@ -71,7 +72,7 @@ The following cookbooks are required: * `node['arcgis']['desktop']['esri_license_host']` = Hostname of ArcGIS License Manager. Default hostname is `%COMPUTERNAME%`. * `node['arcgis']['desktop']['software_class']` = ArcGIS Desktop software class ``. Default value is `Viewer`. * `node['arcgis']['desktop']['seat_preference']` = ArcGIS Desktop license seat preference ``. Default value is `Fixed`. -* `node['arcgis']['licensemanager']['version']` = ArcGIS License Manager version. Default value is `2022.1`. +* `node['arcgis']['licensemanager']['version']` = ArcGIS License Manager version. Default value is `2023.0`. * `node['arcgis']['licensemanager']['setup_archive']` = The location of ArcGIS License Manager setup archive. Default value depends on `node['arcgis']['version']` attribute value. * `node['arcgis']['licensemanager']['setup']` = The location of ArcGIS License Manager setup executable. Default location is `%USERPROFILE%\Documents\ArcGIS License Manager 2022.1\LicenseManager\Setup.exe` on Windows, and `/opt/arcgis/2022.1/LicenseManager_Linux/Setup` on Linux. * `node['arcgis']['licensemanager']['lp-setup']` = The location of language pack for ArcGIS License Manager. Default location is `C:\ArcGIS\LicenseManager\SetupFiles\setup.msi`. @@ -144,8 +145,8 @@ Attributes used by the recipe: "setups": "C:\\Software\\Setups" }, "licensemanager": { - "version": "2022.1", - "setup": "C:\\Software\\Setups\\License Manager 2022.1\\LicenseManager\\Setup.exe", + "version": "2023.0", + "setup": "C:\\Software\\Setups\\License Manager 2023.0\\LicenseManager\\Setup.exe", "install_dir": "C:\\Program Files (x86)\\ArcGIS" } }, diff --git a/cookbooks/arcgis-desktop/attributes/licensemanager.rb b/cookbooks/arcgis-desktop/attributes/licensemanager.rb index f7be12a..37fe1a5 100644 --- a/cookbooks/arcgis-desktop/attributes/licensemanager.rb +++ b/cookbooks/arcgis-desktop/attributes/licensemanager.rb @@ -17,7 +17,7 @@ # limitations under the License. default['arcgis']['licensemanager'].tap do |licensemanager| - licensemanager['version'] = '2022.1' + licensemanager['version'] = '2023.0' case node['platform'] when 'windows' @@ -28,6 +28,10 @@ licensemanager['install_dir'] = ENV['ProgramFiles(x86)'] + '\\ArcGIS' case node['arcgis']['licensemanager']['version'] + when '2023.0' + licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_License_Manager_Windows_2023_0_187870.exe').gsub('/', '\\') + licensemanager['product_code'] = 'C5E546F7-5E07-4AAB-A367-15FF52D0C683' when '2022.1' licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_License_Manager_Windows_2022_1_184717.exe').gsub('/', '\\') @@ -98,6 +102,12 @@ licensemanager['install_subdir'] = 'arcgis/license' + node['arcgis']['licensemanager']['version'] case node['arcgis']['licensemanager']['version'] + when '2023.0' + licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_License_Manager_Linux_2023_0_187909.tar.gz') + licensemanager['setup'] = ::File.join(node['arcgis']['repository']['setups'], + node['arcgis']['licensemanager']['version'], + 'Setup') when '2022.1' licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_License_Manager_Linux_2022_1_184756.tar.gz') diff --git a/cookbooks/arcgis-desktop/libraries/esri_properties.rb b/cookbooks/arcgis-desktop/libraries/esri_properties.rb new file mode 100644 index 0000000..df634e5 --- /dev/null +++ b/cookbooks/arcgis-desktop/libraries/esri_properties.rb @@ -0,0 +1,58 @@ +# +# Copyright 2018 Esri +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'java-properties' + +# Utilities for reading '~/.ESRI.properties..' file + +module EsriProperties + + def self.esri_properties(user, hostname, arcgis_version) + properties_file_path = "/home/#{user}/.ESRI.properties.*.#{arcgis_version}" + + cmd = Mixlib::ShellOut.new("cat #{properties_file_path}", { :user => user }) + cmd.run_command + return {} if cmd.error? + + esri_properties = ::JavaProperties.parse(cmd.stdout) + end + + # Returns installation directory for the specified ArcGIS product. + # Valid product names are :ArcGISGeoEvent, :ArcGISServer, :ArcGISPortal, :ArcGISDataStore + def self.product_install_dir(user, hostname, arcgis_version, product_name) + esri_properties = self.esri_properties(user, hostname, arcgis_version) + + esri_properties["Z_#{product_name}_INSTALL_DIR".to_sym] + end + + # Returns true if the the specified ArcGIS product is installed. + # Valid product names are :ArcGISGeoEvent, :ArcGISServer, :ArcGISPortal, ArcGISDataStore + def self.product_installed?(user, hostname, arcgis_version, product_name) + !self.product_install_dir(user, hostname, arcgis_version, product_name).nil? + end + + def self.real_version(user, hostname, arcgis_version) + esri_properties = self.esri_properties(user, hostname, arcgis_version) + + esri_properties[:Z_REAL_VERSION] + end + + def self.license_home(user, hostname, arcgis_version) + esri_properties = self.esri_properties(user, hostname, arcgis_version) + + esri_properties[:ARCLICENSEHOME] + end + +end \ No newline at end of file diff --git a/cookbooks/arcgis-desktop/metadata.rb b/cookbooks/arcgis-desktop/metadata.rb index be5e56a..3138af2 100644 --- a/cookbooks/arcgis-desktop/metadata.rb +++ b/cookbooks/arcgis-desktop/metadata.rb @@ -4,12 +4,13 @@ license 'Apache 2.0' description 'Installs and configures ArcGIS Desktop and ArcGIS License Manager' long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version '4.1.0' +version '4.2.0' chef_version '>= 14.0' if defined? chef_version -depends 'arcgis-repository', '~> 4.1' +depends 'arcgis-repository', '~> 4.2' depends 'windows', '~> 5.3' depends 'limits', '~> 1.0' +depends 'java_properties', '~> 0.1' supports 'windows' supports 'ubuntu' diff --git a/cookbooks/arcgis-desktop/recipes/licensemanager.rb b/cookbooks/arcgis-desktop/recipes/licensemanager.rb index f6937ec..53aac84 100644 --- a/cookbooks/arcgis-desktop/recipes/licensemanager.rb +++ b/cookbooks/arcgis-desktop/recipes/licensemanager.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-desktop # Recipe:: licensemanager # -# Copyright 2015 Esri +# Copyright 2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -40,11 +40,10 @@ if node['platform'] == 'windows' not_if { Utils.product_installed?(node['arcgis']['licensemanager']['product_code']) } else - not_if { - subdir = ::File.join(node['arcgis']['licensemanager']['install_dir'], - node['arcgis']['licensemanager']['install_subdir']) - !::Dir.glob("#{subdir}/License*").empty? - } + not_if { EsriProperties.product_installed?(node['arcgis']['run_as_user'], + node['hostname'], + node['arcgis']['licensemanager']['version'], + :LicenseManager) } end action :install end diff --git a/cookbooks/arcgis-egdb/README.md b/cookbooks/arcgis-egdb/README.md index 4c7b28a..5b9a25b 100644 --- a/cookbooks/arcgis-egdb/README.md +++ b/cookbooks/arcgis-egdb/README.md @@ -3,7 +3,7 @@ layout: default title: "arcgis-egdb cookbook" category: cookbooks item: arcgis-egdb -version: 1.1.0 +version: 1.1.1 latest: true --- diff --git a/cookbooks/arcgis-egdb/metadata.rb b/cookbooks/arcgis-egdb/metadata.rb index 1ff252b..a0d923d 100644 --- a/cookbooks/arcgis-egdb/metadata.rb +++ b/cookbooks/arcgis-egdb/metadata.rb @@ -7,7 +7,7 @@ version '1.1.1' chef_version '>= 14.0' if defined? chef_version -depends 'arcgis-enterprise', '~> 4.1' +depends 'arcgis-enterprise', '~> 4.2' supports 'windows' supports 'ubuntu' diff --git a/cookbooks/arcgis-enterprise/CHANGELOG.md b/cookbooks/arcgis-enterprise/CHANGELOG.md index dd04ff6..8662ba8 100644 --- a/cookbooks/arcgis-enterprise/CHANGELOG.md +++ b/cookbooks/arcgis-enterprise/CHANGELOG.md @@ -3,6 +3,11 @@ arcgis-enterprise cookbook CHANGELOG This file is used to list changes made in each version of the arcgis-enterprise cookbook. +4.2.0 +----- +- Added support for ArcGIS Enterprise 11.2 +- Added support for Rocky Linux and AlmaLinux platforms + 4.1.0 ----- - Added support for ArcGIS Enterprise 11.1 diff --git a/cookbooks/arcgis-enterprise/README.md b/cookbooks/arcgis-enterprise/README.md index 39ab3be..dd9ab96 100644 --- a/cookbooks/arcgis-enterprise/README.md +++ b/cookbooks/arcgis-enterprise/README.md @@ -3,7 +3,7 @@ layout: default title: "arcgis-enterprise cookbook" category: cookbooks item: arcgis-enterprise -version: 4.1.0 +version: 4.2.0 latest: true --- @@ -19,8 +19,9 @@ This cookbook installs and configures ArcGIS Enterprise components. * 10.9.1 * 11.0 * 11.1 +* 11.2 -## Supported ArcGIS software +## Supported ArcGIS Software * ArcGIS Server * ArcGIS Data Store @@ -28,7 +29,7 @@ This cookbook installs and configures ArcGIS Enterprise components. * Portal for ArcGIS Web Styles * ArcGIS Web Adaptor (IIS/Java) -## Platforms +## Supported Platforms * Windows 8 (8.1). 8.1 requires .Net Framework 3.5 (See ms_dotnet cookbook README) * Windows 10. Requires .Net Framework 3.5 (See ms_dotnet cookbook README) @@ -41,6 +42,10 @@ This cookbook installs and configures ArcGIS Enterprise components. * Red Hat Enterprise Linux Server 8 * SUSE Linux Enterprise Server 15 * Oracle Linux 8 +* Rocky Linux 8 +* AlmaLinux 9 + +> Check the system requirements of the specific ArcGIS software version to make sure that the platform is supported in that version. ## Dependencies @@ -59,13 +64,14 @@ The following cookbooks are required: ### General -* `node['arcgis']['version']` = ArcGIS version. Default value is `11.1`. +* `node['arcgis']['version']` = ArcGIS version. Default value is `11.2`. * `node['arcgis']['run_as_user']` = User account used to run ArcGIS Server, Portal for ArcGIS, and ArcGIS Data Store. Default account name is `arcgis`. * `node['arcgis']['run_as_uid']` = Numeric identifier of user account used to run ArcGIS Server, Portal for ArcGIS, and ArcGIS Data Store. Default user identifier is `1100`. * `node['arcgis']['run_as_gid']` = Numeric identifier of user group used to run ArcGIS Server, Portal for ArcGIS, and ArcGIS Data Store. Default group identifier is `1100`. * `node['arcgis']['run_as_password']` = Password for the user account used to run ArcGIS Server, Portal for ArcGIS, and ArcGIS Data Store. Default value is `nil`. * `node['arcgis']['run_as_msa']` = If set to `true`, configures ArcGIS Enterprise applications to use a Windows group managed service account (gMSA). Default setting is `false`. +* `node['arcgis']['run_as_user_auth_keys']` = Path to a file with authorized SSH keys. Default value is `nil`. * `node['arcgis']['hosts']` = Hostname to IP address mappings to be added to the /etc/hosts file. Default value is `{}`. * `node['arcgis']['cache_authorization_files']` = If set to true, the software authorization file is cached on the machine and software authorization is skipped in the subsequent Chef runs. Default value is `false`. * `node['arcgis']['configure_windows_firewall']` = If set to true, Windows firewall is configured for ArcGIS applications as specified by the system requirements. Default value is `false`. @@ -74,6 +80,7 @@ Portal for ArcGIS, and ArcGIS Data Store. Default value is `nil`. * `node['arcgis']['configure_cloud_settings']` = If set to `true`, makes the cookbook use the cloud provider specific ArcGIS Enterprise configuration. The default value is `true` if `node['cloud']` is defined or the arcgis_cloud_platform environment varible is set to `aws`. * `node['arcgis']['cloud']['provider']` = Cloud provider. Default value is set to `ec2` if the arcgis_cloud_platform environment variable is set to `aws`; otherwise, it is set to the `node['cloud']['provider']` attribute value. * `node['arcgis']['configure_autofs']` = If set to `true`, autofs package is installed and configured to enable auto-mounting of file systems on the network which are exported by NFS. The default value is `true`. +* `node['arcgis']['clean_install_dirs']` = If set to `true`, ArcGIS Server, Portal for ArcGIS, and ArcGIS Data Store installation directories are deleted by 'clean' recipe. The default value is `false`. ### File Server @@ -126,16 +133,19 @@ Portal for ArcGIS, and ArcGIS Data Store. Default value is `nil`. * `node['arcgis']['server']['security']['privileges']` = Privileges to user roles assignments `{'PUBLISH' => [], 'ADMINISTER' => []}` * `node['arcgis']['server']['soc_max_heap_size']` = SOC maximum heap size in megabytes. Default value is `64`. * `node['arcgis']['server']['protocol']` = Protocol used by server. Default value is `HTTPS`. -* `node['arcgis']['server']['authentication_mode']` = Server authentication mode. Default value is `ARCGIS_TOKEN`. -* `node['arcgis']['server']['authentication_tier']` = Server authentication tier. Default value is `GIS_SERVER`. +* `node['arcgis']['server']['authentication_mode']` = Server authentication mode (ARCGIS_TOKEN | ARCGIS_PORTAL_TOKEN | WEB_ADAPTOR_AUTHENTICATION). If not set, the authentication mode is not changed. Default value is `''`. +* `node['arcgis']['server']['authentication_tier']` = Server authentication tier (WEB_ADAPTOR | GIS_SERVER | ARCGIS_PORTAL). If not set, the authentication tier is not changed. Default value is `''`. * `node['arcgis']['server']['hsts_enabled']` = HTTP Strict Transport Security enabled. Default value is `false`. * `node['arcgis']['server']['virtual_dirs_security_enabled']` = Security for virtual directories enabled. Default value is `false`. * `node['arcgis']['server']['allow_direct_access']` = Allow direct access to server. Default value is `true`. * `node['arcgis']['server']['allowed_admin_access_ips']` = A comma separated list of client machine IP addresses that are allowed access to ArcGIS Server. `''`. +* `node['arcgis']['server']['https_protocols']` = The TLS protocols ArcGIS Server will use. If not set, the ArcGIS Server default protocols are used. Default value is `''` +* `node['arcgis']['server']['cipher_suites']` = The cipher suites ArcGIS Server will use. If not set, the ArcGIS Server default cipher suites are used. Default value is `''` * `node['arcgis']['server']['ports']` = Ports opened in Windows firewall for ArcGIS Server. Default ports are `1098,6006,6080,6099,6443`. * `node['arcgis']['server']['geoanalytics_ports]` = Ports opened in Windows firewall for ArcGIS GeoAnalytics Server. Default ports are `7077,12181,12182,12190,56540-56545`. * `node['arcgis']['server']['pull_license]` = If set to `true`, the server_node recipe pulls the ArcGIS Server license from other server machines in the site. The default value is `false`. * `node['arcgis']['server']['patches]` = File names of ArcGIS Server patches to install. Default value is `[]`. +* `node['arcgis']['server']['services_dir_enabled']` = If set to `true` enables ArcGIS Server services directory. Default value is `true`. ### Web Adaptor @@ -176,7 +186,7 @@ Portal for ArcGIS, and ArcGIS Data Store. Default value is `nil`. * `node['arcgis']['portal']['data_dir']` = Data directory path used by the Portal for ArcGIS setup. The path must be a local directory, not a shared network directory. Default path on Windows is `C:\arcgisportal`; on Linux, it is `/arcgis/portal/usr/arcgisportal/`. * `node['arcgis']['portal']['content_dir']` = Portal for ArcGIS content directory. Default directory is `C:\arcgisportal\content` on Windows and `/arcgis/portal/usr/arcgisportal/content` on Linux. * `node['arcgis']['portal']['authorization_file']` = Portal for ArcGIS authorization file path. Default location and file name is `''`. -* `node['arcgis']['portal']['authorization_file_version']` = Portal for ArcGIS authorization file version. Default value is `11.1`. +* `node['arcgis']['portal']['authorization_file_version']` = Portal for ArcGIS authorization file version. Default value is `11.2`. * `node['arcgis']['portal']['user_license_type_id']` = Portal for ArcGIS administrator user license type Id. * `node['arcgis']['portal']['keystore_file']` = Path to PKSC12 keystore file (.pfx) with SSL certificate for Portal for ArcGIS. Default value is `nil`. * `node['arcgis']['portal']['keystore_password']` = Keystore file password for Portal for ArcGIS. Default value is `nil`. @@ -221,14 +231,16 @@ Portal for ArcGIS, and ArcGIS Data Store. Default value is `nil`. * `node['arcgis']['data_store']['configure_autostart']` = If set to true, on Linux ArcGIS Data Store is configured to start with the operating system. Default value is `true`. * `node['arcgis']['data_store']['hostidentifier']` = Host name or IP address of ArcGIS Data Store machine. Default value is `''`. * `node['arcgis']['data_store']['preferredidentifier']` = ArcGIS Data Store preferred identifier method ``. Default method used is `hostname`. -* `node['arcgis']['data_store']['types']` = Comma-separated list of ArcGIS Data Store types to be created, ``. Data Store type graph is supported starting from ArcGIS Data Store 10.9.1. By default, `tileCache,relational` is used. +* `node['arcgis']['data_store']['types']` = Comma-separated list of ArcGIS Data Store types to be created, ``. By default, `tileCache,relational` is used. * `node['arcgis']['data_store']['mode']` = Tile cache ArcGIS Data Store mode, ``. Supported from ArcGIS Data Store 10.8.1. The default value is empty string ``, which means the default mode for the ArcGIS Data Store version is used or the currently configured mode is used. * `node['arcgis']['data_store']['relational']['backup_type']` = Type of location to use for relational data store backups ``. The default value is `fs` for file system. -* `node['arcgis']['data_store']['relational']['backup_location']` = Relational data store backup location. The default location is `node['arcgis']['data_store']['backup_dir']/relational`). +* `node['arcgis']['data_store']['relational']['backup_location']` = Relational data store backup location. The default location is `node['arcgis']['data_store']['backup_dir']/relational`. * `node['arcgis']['data_store']['tilecache']['backup_type']` = Type of location to use for tile cache data store backups ``. The default value is `fs` for file system. -* `node['arcgis']['data_store']['tilecache']['backup_location']` = = Tile cache data store backup location. The default location is `node['arcgis']['data_store']['backup_dir']/tilecache`). +* `node['arcgis']['data_store']['tilecache']['backup_location']` = Tile cache data store backup location. The default location is `node['arcgis']['data_store']['backup_dir']/tilecache`. +* `node['arcgis']['data_store']['object']['backup_type']` = Type of location to use for object data store backups ``. The default value is `fs` for file system. +* `node['arcgis']['data_store']['object']['backup_location']` = Object data store backup location. The default location is `node['arcgis']['data_store']['backup_dir']/object`. * `node['arcgis']['data_store']['force_remove_machine']` = Specify true only if the ArcGIS Server site is unavailable when ArcGIS Data Store machine is removed. Default value is `false`. -* `node['arcgis']['data_store']['ports']` = Ports opened in Windows firewall for ArcGIS Data Store. Default ports are `2443,4369,9220,9320,9829,9876,9900,25672,44369,45671,45672,29079-29090`. +* `node['arcgis']['data_store']['ports']` = Ports opened in Windows firewall for ArcGIS Data Store. Default ports are `2443,4369,9220,9320,9820,9829,9830,9840,9876,9900,25672,44369,45671,45672,29079-29090`. * `node['arcgis']['data_store']['patches]` = File names of ArcGIS Data Store patches to install. Default value is `[]`. ### Linux Web Server @@ -246,7 +258,8 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", + "clean_install_dirs": false, "server": { "install_dir": "C:\\Program Files\\ArcGIS\\Server", "directories_root": "C:\\arcgisserver" @@ -355,7 +368,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "run_as_user": "arcgis", "run_as_password": "", "configure_windows_firewall": false, @@ -365,7 +378,7 @@ Attributes used by the recipe: "admin_password": "" }, "data_store": { - "setup": "C:\\ArcGIS\\11.1\\Setups\\DataStore\\Setup.exe", + "setup": "C:\\ArcGIS\\11.2\\Setups\\DataStore\\Setup.exe", "install_system_requirements": true, "configure_autostart": true, "install_dir": "C:\\Program Files\\ArcGIS\\DataStore", @@ -445,7 +458,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "server": { "private_url": "https://domain.com:6443/arcgis", "web_context_url": "https://domain.com/server", @@ -476,7 +489,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "server": { "private_url": "https://domain.com:6443/arcgis", "web_context_url": "https://domain.com/server", @@ -507,7 +520,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "server": { "private_url": "https://domain.com:6443/arcgis", "web_context_url": "https://domain.com/server", @@ -536,25 +549,25 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "run_as_user": "arcgis", "run_as_password": "", "server": { - "setup": "C:\\ArcGIS\\11.1\\Setups\\Server\\Setup.exe", + "setup": "C:\\ArcGIS\\11.2\\Setups\\Server\\Setup.exe", "install_dir": "C:\\Program Files\\ArcGIS\\Server", "wa_name": "server" }, "portal": { - "setup": "C:\\ArcGIS\\11.1\\Setups\\Portal\\Setup.exe", + "setup": "C:\\ArcGIS\\11.2\\Setups\\Portal\\Setup.exe", "install_dir": "C:\\Program Files\\ArcGIS\\Portal", "wa_name": "portal" }, "data_store": { - "setup": "C:\\ArcGIS\\11.1\\Setups\\DataStore\\Setup.exe", + "setup": "C:\\ArcGIS\\11.2\\Setups\\DataStore\\Setup.exe", "install_dir": "C:\\Program Files\\ArcGIS\\DataStore" }, "web_adaptor": { - "setup": "C:\\ArcGIS\\11.1\\Setups\\WebAdaptorIIS\\Setup.exe", + "setup": "C:\\ArcGIS\\11.2\\Setups\\WebAdaptorIIS\\Setup.exe", "install_dir": "" }, "python": { @@ -576,7 +589,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "server": { "install_dir": "C:\\Program Files\\ArcGIS\\Server", "wa_name": "server" @@ -608,18 +621,18 @@ Attributes used by the recipe: { "arcgis": { "server": { - "setup": "C:\\ArcGIS\\11.1\\Setups\\Server\\Setup.exe", - "authorization_file": "C:\\ArcGIS\\11.1\\Authorization_Files\\Server.prvc" + "setup": "C:\\ArcGIS\\11.2\\Setups\\Server\\Setup.exe", + "authorization_file": "C:\\ArcGIS\\11.2\\Authorization_Files\\Server.prvc" }, "portal": { - "setup": "C:\\ArcGIS\\11.1\\Setups\\Portal\\Setup.exe", - "authorization_file": "C:\\ArcGIS\\11.1\\Authorization_Files\\Portal.json" + "setup": "C:\\ArcGIS\\11.2\\Setups\\Portal\\Setup.exe", + "authorization_file": "C:\\ArcGIS\\11.2\\Authorization_Files\\Portal.json" }, "data_store": { - "setup": "C:\\ArcGIS\\11.1\\Setups\\DataStore\\SetupFile\\Setup.exe" + "setup": "C:\\ArcGIS\\11.2\\Setups\\DataStore\\SetupFile\\Setup.exe" }, "web_adaptor": { - "setup": "C:\\ArcGIS\\11.1\\Setups\\WebAdaptorIIS\\Setup.exe" + "setup": "C:\\ArcGIS\\11.2\\Setups\\WebAdaptorIIS\\Setup.exe" } }, "run_list": [ @@ -668,7 +681,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "run_as_user": "arcgis", "run_as_password": "", "fileserver": { @@ -728,11 +741,11 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "run_as_user": "arcgis", "run_as_password": "", "data_store": { - "setup": "C:\\Users\\Administrator\\Documents\\ArcGIS 11.1\\ArcGISDataStore\\Setup.exe", + "setup": "C:\\Users\\Administrator\\Documents\\ArcGIS 11.2\\ArcGISDataStore\\Setup.exe", "install_dir": "C:\\Program Files\\ArcGIS\\DataStore", "data_dir": "C:\\arcgisdatastore", "backup_dir": "C:\\arcgisdatastore\\backup", @@ -755,11 +768,11 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "run_as_user": "arcgis", "run_as_password": "", "portal": { - "setup": "C:\\Users\\Administrator\\Documents\\ArcGIS 11.1\\PortalForArcGIS\\Setup.exe", + "setup": "C:\\Users\\Administrator\\Documents\\ArcGIS 11.2\\PortalForArcGIS\\Setup.exe", "install_dir": "C:\\Program Files\\ArcGIS\\Portal", "install_system_requirements": true, "configure_autostart": true, @@ -781,9 +794,9 @@ Attributes used by the recipe on Windows: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "web_adaptor": { - "setup": "C:\\Users\\Administrator\\Documents\\ArcGIS 11.1\\WebAdaptorIIS\\Setup.exe", + "setup": "C:\\Users\\Administrator\\Documents\\ArcGIS 11.2\\WebAdaptorIIS\\Setup.exe", "install_dir": "", "install_system_requirements": true }, @@ -806,11 +819,11 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "run_as_user": "arcgis", "run_as_password": "", "server": { - "setup": "C:\\Users\\Administrator\\Documents\\ArcGIS 11.1\\ArcGISServer\\Setup.exe", + "setup": "C:\\Users\\Administrator\\Documents\\ArcGIS 11.2\\ArcGISServer\\Setup.exe", "install_dir": "C:\\Program Files\\ArcGIS\\Server", "install_system_requirements": true, "configure_autostart": true @@ -834,9 +847,9 @@ Attributes used by the recipe on Windows: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "web_adaptor": { - "setup": "C:\\Users\\Administrator\\Documents\\ArcGIS 11.1\\WebAdaptorIIS\\Setup.exe", + "setup": "C:\\Users\\Administrator\\Documents\\ArcGIS 11.2\\WebAdaptorIIS\\Setup.exe", "install_dir": "" }, "server": { @@ -858,18 +871,18 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "server": { - "lp-setup": "C:\\ArcGIS\\11.1\\Setups\\Server\\Japanese\\setup.msi" + "lp-setup": "C:\\ArcGIS\\11.2\\Setups\\Server\\Japanese\\setup.msi" }, "portal": { - "lp-setup": "C:\\ArcGIS\\11.1\\Setups\\Portal\\Japanese\\setup.msi" + "lp-setup": "C:\\ArcGIS\\11.2\\Setups\\Portal\\Japanese\\setup.msi" }, "data_store": { - "lp-setup": "C:\\ArcGIS\\11.1\\Setups\\DataStore\\Japanese\\setup.msi" + "lp-setup": "C:\\ArcGIS\\11.2\\Setups\\DataStore\\Japanese\\setup.msi" }, "web_adaptor": { - "lp-setup": "C:\\ArcGIS\\11.1\\Setups\\WebAdaptorIIS\\Japanese\\setup.msi" + "lp-setup": "C:\\ArcGIS\\11.2\\Setups\\WebAdaptorIIS\\Japanese\\setup.msi" } }, "run_list": [ @@ -920,18 +933,18 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "run_as_user": "arcgis", "run_as_password": "", "cache_authorization_files": false, "configure_windows_firewall": false, "portal": { "domain_name": "portal.domain.com", - "setup": "C:\\ArcGIS\\11.1\\Setups\\Portal\\Setup.exe", + "setup": "C:\\ArcGIS\\11.2\\Setups\\Portal\\Setup.exe", "install_dir": "C:\\Program Files\\ArcGIS\\Portal", - "authorization_file": "C:\\ArcGIS\\11.1\\Authorization_Files\\portal.json", + "authorization_file": "C:\\ArcGIS\\11.2\\Authorization_Files\\portal.json", "user_license_type_id" : "creatorUT", - "authorization_file_version": "11.1", + "authorization_file_version": "11.2", "install_system_requirements": true, "configure_autostart": true, "data_dir": "C:\\arcgisportal", @@ -1011,16 +1024,16 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "run_as_user": "arcgis", "run_as_password": "", "cache_authorization_files": false, "configure_windows_firewall": false, "portal": { - "setup": "C:\\ArcGIS\\11.1\\Setups\\Portal\\Setup.exe", + "setup": "C:\\ArcGIS\\11.2\\Setups\\Portal\\Setup.exe", "install_dir": "C:\\Program Files\\ArcGIS\\Portal", - "authorization_file": "C:\\ArcGIS\\11.1\\Authorization_Files\\Portal.prvc", - "authorization_file_version": "11.1", + "authorization_file": "C:\\ArcGIS\\11.2\\Authorization_Files\\Portal.prvc", + "authorization_file_version": "11.2", "install_system_requirements": true, "configure_autostart": true, "data_dir": "C:\\arcgisportal", @@ -1048,9 +1061,9 @@ Attributes used by the recipe on Windows: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "web_adaptor": { - "setup": "C:\\ArcGIS\\11.1\\Setups\\WebAdaptorIIS\\Setup.exe", + "setup": "C:\\ArcGIS\\11.2\\Setups\\WebAdaptorIIS\\Setup.exe", "install_dir": "", "install_system_requirements": true }, @@ -1073,12 +1086,12 @@ Attributes used by the recipe on Linux: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "web_server": { "webapp_dir": "/opt/tomcat_arcgis/webapps" }, "web_adaptor":{ - "setup": "/arcgis/11.1/WebAdaptor/CD_Linux/Setup", + "setup": "/arcgis/11.2/WebAdaptor/CD_Linux/Setup", "install_dir": "/", "install_system_requirements": true }, @@ -1117,7 +1130,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "run_as_user": "arcgis", "run_as_password": "", "cache_authorization_files": false, @@ -1125,8 +1138,8 @@ Attributes used by the recipe: "server": { "setup": "C:\\ArcGIS\\10.5\\Setups\\Server\\Setup.exe", "install_dir": "C:\\Program Files\\ArcGIS\\Server", - "authorization_file": "C:\\ArcGIS\\11.1\\Authorization_Files\\Server.prvc", - "authorization_file_version": "11.1", + "authorization_file": "C:\\ArcGIS\\11.2\\Authorization_Files\\Server.prvc", + "authorization_file_version": "11.2", "install_system_requirements": true, "configure_autostart": true, "directories_root": "C:\\arcgisserver", @@ -1134,6 +1147,7 @@ Attributes used by the recipe: "admin_username": "admin", "admin_password": "", "system_properties": {}, + "services_dir_enabled": true, "log_level": "WARNING", "log_dir": "C:\\arcgisserver\\logs", "max_log_file_age": 90, @@ -1195,16 +1209,16 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "run_as_user": "arcgis", "run_as_password": "", "cache_authorization_files": false, "configure_windows_firewall": false, "server": { - "setup": "C:\\ArcGIS\\11.1\\Setups\\Server\\Setup.exe", + "setup": "C:\\ArcGIS\\11.2\\Setups\\Server\\Setup.exe", "install_dir": "C:\\Program Files\\ArcGIS\\Server", - "authorization_file": "C:\\ArcGIS\\11.1\\Authorization_Files\\Server.prvc", - "authorization_file_version": "11.1", + "authorization_file": "C:\\ArcGIS\\11.2\\Authorization_Files\\Server.prvc", + "authorization_file_version": "11.2", "install_system_requirements": true, "configure_autostart": true, "directories_root": "C:\\arcgisserver", @@ -1274,9 +1288,9 @@ Attributes used by the recipe on Windows: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "web_adaptor": { - "setup": "C:\\ArcGIS\\11.1\\Setups\\WebAdaptorIIS\\Setup.exe", + "setup": "C:\\ArcGIS\\11.2\\Setups\\WebAdaptorIIS\\Setup.exe", "install_dir": "", "install_system_requirements": true, "admin_access": true @@ -1300,12 +1314,12 @@ Attributes used by the recipe on Linux: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "web_server": { "webapp_dir": "/opt/tomcat_arcgis/webapps" }, "web_adaptor":{ - "setup": "/arcgis/11.1/WebAdaptor/CD_Linux/Setup", + "setup": "/arcgis/11.2/WebAdaptor/CD_Linux/Setup", "install_dir": "/", "install_system_requirements": true, "admin_access": true @@ -1630,9 +1644,9 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version":"11.1", + "version":"11.2", "webstyles": { - "setup":"C:\\ArcGIS\\11.1\\Setups\\ArcGIS 11.1\\ArcGISWebStyles\\Setup.exe" + "setup":"C:\\ArcGIS\\11.2\\Setups\\ArcGIS 11.2\\ArcGISWebStyles\\Setup.exe" } }, "run_list": [ diff --git a/cookbooks/arcgis-enterprise/attributes/datastore.rb b/cookbooks/arcgis-enterprise/attributes/datastore.rb index f5506f4..3337501 100644 --- a/cookbooks/arcgis-enterprise/attributes/datastore.rb +++ b/cookbooks/arcgis-enterprise/attributes/datastore.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Attributes:: datastore # -# Copyright 2022 Esri +# Copyright 2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -33,7 +33,7 @@ data_store['force_remove_machine'] = false data_store['setup_archive'] = '' data_store['product_code'] = '' - data_store['ports'] = '2443,4369,9220,9320,9829,9876,9900,25672,44369,45671,45672,29079-29090' + data_store['ports'] = '2443,4369,9220,9320,9820,9829,9830,9840,9876,9900,25672,44369,45671,45672,29079-29090' data_store['patches'] = [] @@ -50,6 +50,10 @@ data_store['patch_registry'] ='SOFTWARE\\ESRI\\ArcGIS Data Store\\Updates' case node['arcgis']['version'] + when '11.2' + data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_DataStore_Windows_112_188252.exe').gsub('/', '\\') + data_store['product_code'] = '{FE7F4A14-4D96-4B31-8937-BA19C0A92DDB}' when '11.1' data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_DataStore_Windows_111_185221.exe').gsub('/', '\\') @@ -84,6 +88,9 @@ data_store['lp-setup'] = node['arcgis']['data_store']['setup'] case node['arcgis']['version'] + when '11.2' + data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_DataStore_Linux_112_188340.tar.gz') when '11.1' data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_DataStore_Linux_111_185305.tar.gz') @@ -150,13 +157,16 @@ data_store['relational']['backup_type'] = 'fs' data_store['tilecache']['backup_type'] = 'fs' + data_store['object']['backup_type'] = 'none' if node['arcgis']['data_store']['backup_dir'].nil? data_store['relational']['backup_location'] = ::File.join(data_store['backup_dir'], 'relational') data_store['tilecache']['backup_location'] = ::File.join(data_store['backup_dir'], 'tilecache') + data_store['object']['backup_location'] = ::File.join(data_store['backup_dir'], 'object') else data_store['relational']['backup_location'] = ::File.join(node['arcgis']['data_store']['backup_dir'], 'relational') data_store['tilecache']['backup_location'] = ::File.join(node['arcgis']['data_store']['backup_dir'], 'tilecache') + data_store['object']['backup_location'] = ::File.join(node['arcgis']['data_store']['backup_dir'], 'object') end data_store['setup_options'] = '' diff --git a/cookbooks/arcgis-enterprise/attributes/default.rb b/cookbooks/arcgis-enterprise/attributes/default.rb index 1a9d904..af575e9 100644 --- a/cookbooks/arcgis-enterprise/attributes/default.rb +++ b/cookbooks/arcgis-enterprise/attributes/default.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Attributes:: default # -# Copyright 2022 Esri +# Copyright 2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -29,8 +29,9 @@ end default['arcgis']['run_as_msa'] = false +default['arcgis']['run_as_user_auth_keys'] = nil -default['arcgis']['version'] = '11.1' +default['arcgis']['version'] = '11.2' default['arcgis']['cache_authorization_files'] = false default['arcgis']['configure_windows_firewall'] = false @@ -58,10 +59,14 @@ default['arcgis']['packages'] = case node['platform'] - when 'redhat', 'centos', 'amazon', 'oracle' + when 'redhat', 'centos', 'amazon', 'oracle', 'rocky' node['arcgis']['configure_autofs'] ? ['gettext', 'nfs-utils', 'autofs'] : ['gettext'] + when 'almalinux' + node['arcgis']['configure_autofs'] ? + ['gettext', 'glibc-langpack-en', 'nfs-utils', 'autofs'] : + ['gettext', 'glibc-langpack-en'] when 'suse' node['arcgis']['configure_autofs'] ? ['gettext-runtime', 'autofs'] : @@ -85,3 +90,4 @@ end default['arcgis']['python']['runtime_environment'] = '' +default['arcgis']['clean_install_dirs'] = false # Delete install dirs in 'clean' recipe diff --git a/cookbooks/arcgis-enterprise/attributes/fileserver.rb b/cookbooks/arcgis-enterprise/attributes/fileserver.rb index 9c09cae..ea07283 100644 --- a/cookbooks/arcgis-enterprise/attributes/fileserver.rb +++ b/cookbooks/arcgis-enterprise/attributes/fileserver.rb @@ -28,5 +28,6 @@ node['arcgis']['data_store']['local_backup_dir'], ::File.join(node['arcgis']['data_store']['local_backup_dir'], 'tilecache'), ::File.join(node['arcgis']['data_store']['local_backup_dir'], 'relational'), + ::File.join(node['arcgis']['data_store']['local_backup_dir'], 'object'), ::File.expand_path("..", node['arcgis']['portal']['local_content_dir']), node['arcgis']['portal']['local_content_dir']] diff --git a/cookbooks/arcgis-enterprise/attributes/portal.rb b/cookbooks/arcgis-enterprise/attributes/portal.rb index 8605370..0146a96 100644 --- a/cookbooks/arcgis-enterprise/attributes/portal.rb +++ b/cookbooks/arcgis-enterprise/attributes/portal.rb @@ -95,8 +95,6 @@ case node['platform'] when 'windows' - portal['authorization_tool'] = ::File.join(ENV['ProgramW6432'], - 'Common Files\\ArcGIS\\bin\\SoftwareAuthorization.exe').gsub('/', '\\') portal['authorization_file'] = '' portal['setup'] = ::File.join(node['arcgis']['repository']['setups'], "ArcGIS #{node['arcgis']['version']}", @@ -108,6 +106,10 @@ portal['patch_registry'] ='SOFTWARE\\ESRI\\Portal for ArcGIS\\Updates' case node['arcgis']['version'] + when '11.2' + portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'Portal_for_ArcGIS_Windows_112_188250.exe').gsub('/', '\\') + portal['product_code'] = '{F03C23C1-1F2C-42D0-85C4-38F49B710035}' when '11.1' portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'Portal_for_ArcGIS_Windows_111_185219.exe').gsub('/', '\\') @@ -157,9 +159,6 @@ portal['stop_tool'] = ::File.join(portal_install_dir, portal_install_subdir, 'stopportal.sh') - portal['authorization_tool'] = ::File.join(portal_install_dir, - portal_install_subdir, - 'tools/authorizeSoftware') portal['data_dir'] = ::File.join(portal_install_dir, portal_install_subdir, 'usr/arcgisportal') @@ -174,6 +173,9 @@ portal['lp-setup'] = node['arcgis']['server']['setup'] case node['arcgis']['version'] + when '11.2' + portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'Portal_for_ArcGIS_Linux_112_188338.tar.gz') when '11.1' portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'Portal_for_ArcGIS_Linux_111_185303.tar.gz') diff --git a/cookbooks/arcgis-enterprise/attributes/server.rb b/cookbooks/arcgis-enterprise/attributes/server.rb index b697bbd..46b2685 100644 --- a/cookbooks/arcgis-enterprise/attributes/server.rb +++ b/cookbooks/arcgis-enterprise/attributes/server.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Attributes:: server # -# Copyright 2022 Esri +# Copyright 2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -73,12 +73,15 @@ server['pull_license'] = false server['soc_max_heap_size'] = 64 server['protocol'] = 'HTTPS' - server['authentication_mode'] = 'ARCGIS_TOKEN' - server['authentication_tier'] = 'GIS_SERVER' + server['authentication_mode'] = '' + server['authentication_tier'] = '' server['hsts_enabled'] = false server['virtual_dirs_security_enabled'] = false server['allow_direct_access'] = true server['allowed_admin_access_ips'] = '' + server['https_protocols'] = '' + server['cipher_suites'] = '' + server['ports'] = '1098,6006,6080,6099,6443' server['geoanalytics_ports'] = '7077,12181,12182,12190,56540-56545' @@ -108,12 +111,12 @@ # disable nodeagent plugins on aws ec2 server['disable_nodeagent_plugins'] = true + server['services_dir_enabled'] = true + server['patches'] = [] case node['platform'] when 'windows' - server['authorization_tool'] = ::File.join(ENV['ProgramW6432'], - 'Common Files\\ArcGIS\\bin\\SoftwareAuthorization.exe').gsub('/', '\\') server['authorization_file'] = '' server['keycodes'] = ::File.join(ENV['ProgramW6432'], "ESRI\\License#{node['arcgis']['server']['authorization_file_version']}\\sysgen\\keycodes").gsub('/', '\\') @@ -124,55 +127,99 @@ server['install_dir'] = ::File.join(ENV['ProgramW6432'], 'ArcGIS\\Server').gsub('/', '\\') server['install_subdir'] = '' + if node['arcgis']['server']['install_dir'].nil? + server_install_dir = server['install_dir'] + else + server_install_dir = node['arcgis']['server']['install_dir'] + end + server['local_directories_root'] = 'C:\\arcgisserver' + server['authorization_tool'] = ::File.join(server_install_dir, + 'tools\\SoftwareAuthorization', + 'SoftwareAuthorization.exe').gsub('/', '\\') + + server['configuration_utility'] = ::File.join(server_install_dir, + 'framework\\runtime\\ArcGIS\\bin', + 'ServerConfigurationUtility.exe').gsub('/', '\\') case node['arcgis']['version'] + when '11.2' + server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Server_Windows_112_188239.exe').gsub('/', '\\') + server['product_code'] = '{4130E39E-FD8C-4DE0-AE91-AFEC71063B2D}' + default['arcgis']['python']['runtime_environment'] = File.join( + server_install_dir, + 'framework\\runtime\\ArcGIS\\bin\\Python\\envs\\arcgispro-py3').gsub('/', '\\') + server['patch_registry'] ='SOFTWARE\\ESRI\\Server11.2\\Updates' when '11.1' server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Server_Windows_111_185208.exe').gsub('/', '\\') server['product_code'] = '{0F6C2D4F-9D41-4D25-A8AF-51E328D7CD8F}' default['arcgis']['python']['runtime_environment'] = File.join( - node['arcgis']['server']['install_dir'], + server_install_dir, 'framework\\runtime\\ArcGIS\\bin\\Python\\envs\\arcgispro-py3').gsub('/', '\\') - server['patch_registry'] ='SOFTWARE\\ESRI\\Server11.1\\Updates' + server['patch_registry'] = 'SOFTWARE\\ESRI\\Server11.1\\Updates' + server['authorization_tool'] = ::File.join(ENV['ProgramW6432'], + 'Common Files\\ArcGIS\\bin\\SoftwareAuthorization.exe').gsub('/', '\\') + server['configuration_utility'] = ::File.join(server_install_dir, + 'bin', 'ServerConfigurationUtility.exe').gsub('/', '\\') when '11.0' server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Server_Windows_110_182874.exe').gsub('/', '\\') server['product_code'] = '{A14CF942-415B-461C-BE3C-5B37E34BC6AE}' - default['arcgis']['python']['runtime_environment'] = File.join( - node['arcgis']['server']['install_dir'], - 'framework\\runtime\\ArcGIS\\bin\\Python\\envs\\arcgispro-py3').gsub('/', '\\') - server['patch_registry'] ='SOFTWARE\\ESRI\\Server11.0\\Updates' + default['arcgis']['python']['runtime_environment'] = File.join(server_install_dir, + 'framework\\runtime\\ArcGIS\\bin\\Python\\envs\\arcgispro-py3').gsub('/', '\\') + server['patch_registry'] = 'SOFTWARE\\ESRI\\Server11.0\\Updates' + server['authorization_tool'] = ::File.join(ENV['ProgramW6432'], + 'Common Files\\ArcGIS\\bin\\SoftwareAuthorization.exe').gsub('/', '\\') + server['configuration_utility'] = ::File.join(server_install_dir, + 'bin', 'ServerConfigurationUtility.exe').gsub('/', '\\') when '10.9.1' server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Server_Windows_1091_180041.exe').gsub('/', '\\') server['product_code'] = '{E4A5FD24-5C61-4846-B084-C7AD4BB1CF19}' default['arcgis']['python']['runtime_environment'] = File.join(node['arcgis']['python']['install_dir'], "ArcGISx6410.9").gsub('/', '\\') - server['patch_registry'] ='SOFTWARE\\ESRI\\Server10.9\\Updates' + server['patch_registry'] = 'SOFTWARE\\ESRI\\Server10.9\\Updates' + server['authorization_tool'] = ::File.join(ENV['ProgramW6432'], + 'Common Files\\ArcGIS\\bin\\SoftwareAuthorization.exe').gsub('/', '\\') + server['configuration_utility'] = ::File.join(server_install_dir, + 'bin', 'ServerConfigurationUtility.exe').gsub('/', '\\') when '10.9' server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Server_Windows_109_177775.exe').gsub('/', '\\') server['product_code'] = '{32A62D8E-BE72-4B28-AA0E-FE546D827240}' default['arcgis']['python']['runtime_environment'] = File.join(node['arcgis']['python']['install_dir'], "ArcGISx6410.9").gsub('/', '\\') - server['patch_registry'] ='SOFTWARE\\ESRI\\Server10.9\\Updates' + server['patch_registry'] = 'SOFTWARE\\ESRI\\Server10.9\\Updates' + server['authorization_tool'] = ::File.join(ENV['ProgramW6432'], + 'Common Files\\ArcGIS\\bin\\SoftwareAuthorization.exe').gsub('/', '\\') + server['configuration_utility'] = ::File.join(server_install_dir, + 'bin', 'ServerConfigurationUtility.exe').gsub('/', '\\') when '10.8.1' server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Server_Windows_1081_175203.exe').gsub('/', '\\') server['product_code'] = '{E9B85E31-4C31-4528-996B-F06E213F8BB3}' default['arcgis']['python']['runtime_environment'] = File.join(node['arcgis']['python']['install_dir'], "ArcGISx6410.8").gsub('/', '\\') - server['patch_registry'] ='SOFTWARE\\ESRI\\Server10.8\\Updates' + server['patch_registry'] = 'SOFTWARE\\ESRI\\Server10.8\\Updates' server['geoanalytics_ports'] = '2181,2182,2190,7077,56540-56545' + server['authorization_tool'] = ::File.join(ENV['ProgramW6432'], + 'Common Files\\ArcGIS\\bin\\SoftwareAuthorization.exe').gsub('/', '\\') + server['configuration_utility'] = ::File.join(server_install_dir, + 'bin', 'ServerConfigurationUtility.exe').gsub('/', '\\') when '10.8' server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Server_Windows_108_172859.exe').gsub('/', '\\') server['product_code'] = '{458BF5FF-2DF8-426B-AEBC-BE4C47DB6B54}' default['arcgis']['python']['runtime_environment'] = File.join(node['arcgis']['python']['install_dir'], "ArcGISx6410.8").gsub('/', '\\') - server['patch_registry'] ='SOFTWARE\\ESRI\\Server10.8\\Updates' + server['patch_registry'] = 'SOFTWARE\\ESRI\\Server10.8\\Updates' server['geoanalytics_ports'] = '2181,2182,2190,7077,56540-56545' + server['authorization_tool'] = ::File.join(ENV['ProgramW6432'], + 'Common Files\\ArcGIS\\bin\\SoftwareAuthorization.exe').gsub('/', '\\') + server['configuration_utility'] = ::File.join(server_install_dir, + 'bin', 'ServerConfigurationUtility.exe').gsub('/', '\\') else Chef::Log.warn "Unsupported ArcGIS Server version '#{node['arcgis']['version']}'." end @@ -212,8 +259,8 @@ '.ESRI_S_PATCH_LOG') server['authorization_file'] = '' - server['keycodes'] = ::File.join(node['arcgis']['server']['install_dir'], - node['arcgis']['server']['install_subdir'], + server['keycodes'] = ::File.join(server_install_dir, + server_install_subdir, 'framework/runtime/.wine/drive_c/Program Files/ESRI/License' + node['arcgis']['server']['authorization_file_version'] + '/sysgen/keycodes') server['setup'] = ::File.join(node['arcgis']['repository']['setups'], @@ -222,6 +269,9 @@ server['lp-setup'] = node['arcgis']['server']['setup'] case node['arcgis']['version'] + when '11.2' + server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Server_Linux_112_188327.tar.gz') when '11.1' server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Server_Linux_111_185292.tar.gz') diff --git a/cookbooks/arcgis-enterprise/attributes/webadaptor.rb b/cookbooks/arcgis-enterprise/attributes/webadaptor.rb index 01a64ab..fd8b47a 100644 --- a/cookbooks/arcgis-enterprise/attributes/webadaptor.rb +++ b/cookbooks/arcgis-enterprise/attributes/webadaptor.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Attributes:: webadaptor # -# Copyright 2022 Esri +# Copyright 2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -37,6 +37,40 @@ 'Tools\\ConfigureWebAdaptor.exe').gsub('/', '\\') case node['arcgis']['version'] + when '11.2' + web_adaptor['setup'] = ::File.join(node['arcgis']['repository']['setups'], + "ArcGIS #{node['arcgis']['version']}", + 'WebAdaptorIIS', 'Setup.exe').gsub('/', '\\') + web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Web_Adaptor_for_Microsoft_IIS_112_188253.exe').gsub('/', '\\') + web_adaptor['product_codes'] = [ + '{3F2DF3A0-0EB7-4DED-BA7F-A33B7B106252}', '{CAB137C6-98F0-4569-9484-719632E81CF6}', + '{899B1E0C-4675-4E52-BFBC-4FFF69DBAF8E}', '{4DE50EC3-6CB8-4EE5-B634-1AE53499F6D4}', + '{A0ABE60F-0E01-4D84-A08B-EE34EFF96584}', '{066DEFEE-E71D-42F5-859E-225825268720}', + '{53A32CFB-A012-4546-9A7F-09E489442A0A}', '{34AD67CC-2BA2-4EAA-B2A5-777036B0104E}', + '{08CF83CB-FC1E-4F7C-8960-96C7D8A0B733}', '{D3803AB3-1C2F-4AD9-80EB-901685912599}', + '{6671DEEE-CEE8-4FBD-B2DC-430F268225AF}', '{F92DED6B-B2B4-4E4F-A65B-ACE4973C0A9A}', + '{6EDAB5E0-FD24-4427-82BE-134DB0FF9D37}', '{EFA6EC36-1A4B-481D-8A2E-C3B9098179F1}', + '{CB1CA2A3-D209-462D-947A-AE5DCAACDC54}', '{D8D5A0CB-3F4F-4863-8EB2-6D24C0D0F093}', + '{AE62DBD4-44A1-4E67-BAAC-4A5B2AC8830E}', '{8C323710-4026-4A8C-8DCF-5EFF6EE3F39B}', + '{3232DC1F-00C3-4247-B354-FA022F1504C0}', '{3D0E95E1-BDA7-47BF-A967-3E889D3C79D9}', + '{151724F6-2228-4A46-B710-88A6BAFEDCB4}' + ] + + web_adaptor['config_web_adaptor_exe'] = ::File.join(ENV['CommonProgramFiles'], + 'ArcGIS\\WebAdaptor\\IIS', + node['arcgis']['version'], + 'Tools\\ConfigureWebAdaptor.exe').gsub('/', '\\') + + web_adaptor['patch_registry'] ='SOFTWARE\\ESRI\\ArcGIS Web Adaptor (IIS) 11.2\\Updates' + + # ASP.NET Core Runtime 6 Hosting Bundle and Web Deploy 3.6 are required by ArcGIS Web Adaptor IIS 6. + + web_adaptor['dotnet_setup_url'] = 'https://download.visualstudio.microsoft.com/download/pr/eaa3eab9-cc21-44b5-a4e4-af31ee73b9fa/d8ad75d525dec0a30b52adc990796b11/dotnet-hosting-6.0.9-win.exe' + web_adaptor['dotnet_setup_path'] = ::File.join(node['arcgis']['repository']['setups'], 'dotnet-hosting-6.0.9-win.exe').gsub('/', '\\') + + web_adaptor['web_deploy_setup_url'] = 'https://download.microsoft.com/download/0/1/D/01DC28EA-638C-4A22-A57B-4CEF97755C6C/WebDeploy_amd64_en-US.msi' + web_adaptor['web_deploy_setup_path'] = ::File.join(node['arcgis']['repository']['setups'], 'WebDeploy_amd64_en-US.msi').gsub('/', '\\') when '11.1' web_adaptor['setup'] = ::File.join(node['arcgis']['repository']['setups'], "ArcGIS #{node['arcgis']['version']}", @@ -62,9 +96,9 @@ node['arcgis']['version'], 'Tools\\ConfigureWebAdaptor.exe').gsub('/', '\\') - web_adaptor['patch_registry'] ='SOFTWARE\\WOW6432Node\\ESRI\\ArcGIS Web Adaptor (IIS) 11.1\Updates' + web_adaptor['patch_registry'] ='SOFTWARE\\ESRI\\ArcGIS Web Adaptor (IIS) 11.1\\Updates' - # ASP.NET Core Runtime 6 Hosting Bundle and Web Deploy 3.6 are required by ArcGIS Web Adaptor IIS 6. + # ASP.NET Core Runtime 6 Hosting Bundle and Web Deploy 3.6 are required by ArcGIS Web Adaptor IIS 6. web_adaptor['dotnet_setup_url'] = 'https://download.visualstudio.microsoft.com/download/pr/eaa3eab9-cc21-44b5-a4e4-af31ee73b9fa/d8ad75d525dec0a30b52adc990796b11/dotnet-hosting-6.0.9-win.exe' web_adaptor['dotnet_setup_path'] = ::File.join(node['arcgis']['repository']['setups'], 'dotnet-hosting-6.0.9-win.exe').gsub('/', '\\') @@ -87,7 +121,7 @@ '{A4CEFD65-D3DF-4992-AC4A-2CED8894F0BF}', '{36B75654-E4C2-4FF3-B9F7-0D202D1ECAC8}', '{0E14FDF9-3D6C-48E4-B362-B248B61FC971}' ] - web_adaptor['patch_registry'] ='SOFTWARE\\WOW6432Node\\ESRI\\ArcGIS Web Adaptor (IIS) 11.0\Updates' + web_adaptor['patch_registry'] ='SOFTWARE\\WOW6432Node\\ESRI\\ArcGIS Web Adaptor (IIS) 11.0\\Updates' when '10.9.1' web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Web_Adaptor_for_Microsoft_IIS_1091_180055.exe').gsub('/', '\\') @@ -104,7 +138,7 @@ '{17591EF3-221C-4DD1-B773-6C9617925B5F}', '{566920BF-1EF3-4E62-B2BF-029475E35AAB}', '{4A3B27C6-7CB1-4DE8-BCB1-221B9A23E2E1}' ] - web_adaptor['patch_registry'] ='SOFTWARE\\WOW6432Node\\ESRI\\ArcGIS Web Adaptor (IIS) 10.9.1\Updates' + web_adaptor['patch_registry'] ='SOFTWARE\\WOW6432Node\\ESRI\\ArcGIS Web Adaptor (IIS) 10.9.1\\Updates' when '10.9' web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Web_Adaptor_for_Microsoft_IIS_109_177789.exe').gsub('/', '\\') @@ -121,7 +155,7 @@ '{1C9C9C3C-CE4D-4F42-8A3B-78ECA6C57B8E}', '{0C000BEA-E770-4138-A707-CCB02E64469A}', '{D5CEFB24-D0FD-4C73-8685-205222E08C12}' ] - web_adaptor['patch_registry'] ='SOFTWARE\\WOW6432Node\\ESRI\\ArcGIS Web Adaptor (IIS) 10.9\Updates' + web_adaptor['patch_registry'] ='SOFTWARE\\WOW6432Node\\ESRI\\ArcGIS Web Adaptor (IIS) 10.9\\Updates' when '10.8.1' web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Web_Adaptor_for_Microsoft_IIS_1081_175217.exe').gsub('/', '\\') @@ -138,7 +172,7 @@ '{23EB5093-17EE-45A0-AE9F-C96B6456C15F}', '{BEB8559D-6843-4EED-A2ED-7BA9325EF482}', '{A12D63AE-3DE9-45A0-8799-F2BFF29A1665}' ] - web_adaptor['patch_registry'] ='SOFTWARE\\WOW6432Node\\ESRI\\ArcGIS Web Adaptor (IIS) 10.8.1\Updates' + web_adaptor['patch_registry'] ='SOFTWARE\\WOW6432Node\\ESRI\\ArcGIS Web Adaptor (IIS) 10.8.1\\Updates' when '10.8' web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'Web_Adaptor_for_Microsoft_IIS_108_172749.exe').gsub('/', '\\') @@ -155,7 +189,7 @@ '{0B5C6775-B1D2-4D41-B233-FC2CDC913FEE}', '{278663A9-7CA3-40D5-84EA-CA7A9CABACB6}', '{9452D085-0F4F-4869-B8B4-D660B4DD8692}' ] - web_adaptor['patch_registry'] ='SOFTWARE\\WOW6432Node\\ESRI\\ArcGIS Web Adaptor (IIS) 10.8\Updates' + web_adaptor['patch_registry'] ='SOFTWARE\\WOW6432Node\\ESRI\\ArcGIS Web Adaptor (IIS) 10.8\\Updates' else Chef::Log.warn 'Unsupported ArcGIS Web Adaptor version' end @@ -163,6 +197,17 @@ # Product codes used to uninstall ArcGIS Web Adaptor during upgrades. # The list includes the first two-four product codes form each supported ArcGIS version. web_adaptor['all_product_codes'] = [ + '{3F2DF3A0-0EB7-4DED-BA7F-A33B7B106252}', '{CAB137C6-98F0-4569-9484-719632E81CF6}', # 11.2 + '{899B1E0C-4675-4E52-BFBC-4FFF69DBAF8E}', '{4DE50EC3-6CB8-4EE5-B634-1AE53499F6D4}', + '{A0ABE60F-0E01-4D84-A08B-EE34EFF96584}', '{066DEFEE-E71D-42F5-859E-225825268720}', + '{53A32CFB-A012-4546-9A7F-09E489442A0A}', '{34AD67CC-2BA2-4EAA-B2A5-777036B0104E}', + '{08CF83CB-FC1E-4F7C-8960-96C7D8A0B733}', '{D3803AB3-1C2F-4AD9-80EB-901685912599}', + '{6671DEEE-CEE8-4FBD-B2DC-430F268225AF}', '{F92DED6B-B2B4-4E4F-A65B-ACE4973C0A9A}', + '{6EDAB5E0-FD24-4427-82BE-134DB0FF9D37}', '{EFA6EC36-1A4B-481D-8A2E-C3B9098179F1}', + '{CB1CA2A3-D209-462D-947A-AE5DCAACDC54}', '{D8D5A0CB-3F4F-4863-8EB2-6D24C0D0F093}', + '{AE62DBD4-44A1-4E67-BAAC-4A5B2AC8830E}', '{8C323710-4026-4A8C-8DCF-5EFF6EE3F39B}', + '{3232DC1F-00C3-4247-B354-FA022F1504C0}', '{3D0E95E1-BDA7-47BF-A967-3E889D3C79D9}', + '{151724F6-2228-4A46-B710-88A6BAFEDCB4}', '{E2F2DE02-86AC-42EE-B90D-544206717C9E}', '{A4082192-FA68-4150-8EB7-ACCF12F634C4}', # 11.1 '{7A467DB0-DE13-40A6-9213-7F336C28456E}', '{4C3342AC-45D7-417A-8DFC-54604649A97C}', '{8B8A2734-BEC8-476F-B99D-3E13C9F0BAA8}', '{62FCD139-C853-4944-809C-967835510785}', @@ -237,6 +282,9 @@ web_adaptor['lp-setup'] = node['arcgis']['web_adaptor']['setup'] case node['arcgis']['version'] + when '11.2' + web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Web_Adaptor_Java_Linux_112_188341.tar.gz') when '11.1' web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Web_Adaptor_Java_Linux_111_185233.tar.gz') @@ -277,6 +325,10 @@ web_adaptor['patch_log'] = ::File.join(wa_install_dir, wa_install_subdir, '.ESRI_WA_PATCH_LOG') + + web_adaptor['config_web_adaptor_sh'] = ::File.join(wa_install_dir, + wa_install_subdir, + 'java/tools/configurewebadaptor.sh') end web_adaptor['setup_options'] = '' diff --git a/cookbooks/arcgis-enterprise/attributes/webstyles.rb b/cookbooks/arcgis-enterprise/attributes/webstyles.rb index bb416ab..9ff5c43 100644 --- a/cookbooks/arcgis-enterprise/attributes/webstyles.rb +++ b/cookbooks/arcgis-enterprise/attributes/webstyles.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Attributes:: webstyles # -# Copyright 2022 Esri +# Copyright 2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -24,6 +24,10 @@ 'ArcGISWebStyles', 'Setup.exe').tr('/', '\\') case node['arcgis']['version'] + when '11.2' + webstyles['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'Portal_for_ArcGIS_Web_Styles_Windows_112_188251.exe').tr('/', '\\') + webstyles['product_code'] = '{0508DE8B-B6B2-42AD-B955-77451C3ACB60}' when '11.1' webstyles['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'Portal_for_ArcGIS_Web_Styles_Windows_111_185220.exe').tr('/', '\\') @@ -57,6 +61,9 @@ 'WebStyles', 'WebStyles-Setup.sh') case node['arcgis']['version'] + when '11.2' + webstyles['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'Portal_for_ArcGIS_Web_Styles_Linux_112_188339.tar.gz') when '11.1' webstyles['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'Portal_for_ArcGIS_Web_Styles_Linux_111_185304.tar.gz') diff --git a/cookbooks/arcgis-enterprise/libraries/datastore_tools.rb b/cookbooks/arcgis-enterprise/libraries/datastore_tools.rb index 842e523..f61d405 100644 --- a/cookbooks/arcgis-enterprise/libraries/datastore_tools.rb +++ b/cookbooks/arcgis-enterprise/libraries/datastore_tools.rb @@ -84,13 +84,18 @@ def last_known_status(data_dir) def configure_datastore(stores, server_url, username, password, data_dir, mode = nil) args = "\"#{server_url}\" \"#{username}\" \"#{password}\" \"#{data_dir}\" --stores #{stores}" - # Only add --mode parameter for post 10.8.1 tilecache data stores + # Add --mode parameter for post 10.8.1 tilecache and object data stores # if the last known status is not 'Upgrading'. if !mode.nil? && !mode.empty? && Gem::Version.new(@version) >= Gem::Version.new('10.8.1') && stores.downcase.include?('tilecache') && last_known_status(data_dir) != 'Upgrading' args += " --mode #{mode}" + elsif !mode.nil? && !mode.empty? && + stores.downcase.include?('object') && + mode.downcase == 'cluster' && + last_known_status(data_dir) != 'Upgrading' + args += " --mode cluster" end if @platform == 'windows' @@ -253,6 +258,8 @@ def display_store_name(store) 'tile cache' when 'spatiotemporal' 'spatiotemporal' + when 'object' + 'object' else 'undefined' end diff --git a/cookbooks/arcgis-enterprise/libraries/server_admin_client.rb b/cookbooks/arcgis-enterprise/libraries/server_admin_client.rb index 43f815a..99f396c 100644 --- a/cookbooks/arcgis-enterprise/libraries/server_admin_client.rb +++ b/cookbooks/arcgis-enterprise/libraries/server_admin_client.rb @@ -1,5 +1,5 @@ # -# Copyright 2022 Esri +# Copyright 2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -528,37 +528,111 @@ def security_configuration # Update server security config def update_security_configuration(server_protocol, auth_mode, auth_tier, hsts_enabled, virtual_dirs_security_enabled, - allow_direct_access, allowed_admin_access_ips) - if security_configuration['authenticationTier'] == 'ARCGIS_PORTAL' - Chef::Log.info("The server is federated. Skip the security configuration update.") - return + allow_direct_access, allowed_admin_access_ips, + https_protocols, cipher_suites) + security_config = security_configuration() + + if auth_mode.nil? || auth_mode.empty? + auth_mode = security_config['authenticationMode'] end - request = Net::HTTP::Post.new( - URI.parse(@server_url + '/admin/security/config/update').request_uri) - request.add_field('Referer', 'referer') + if auth_tier.nil? || auth_tier.empty? + auth_tier = security_config['authenticationTier'] + end - token = generate_token() + if https_protocols.nil? || https_protocols.empty? + https_protocols = security_config['httpsProtocols'] + end - request.set_form_data('token' => token, - 'httpsProtocols' => 'TLSv1.2', - 'cipherSuites' => 'TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_256_GCM_SHA384, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA', - 'Protocol' => server_protocol, - 'authenticationMode' => auth_mode, - 'authenticationTier' => auth_tier, - 'HSTSEnabled' => hsts_enabled, - 'virtualDirsSecurityEnabled' => virtual_dirs_security_enabled, - 'allowDirectAccess' => allow_direct_access, - 'allowedAdminAccessIPs' => allowed_admin_access_ips, - 'f' => 'json') + if cipher_suites.nil? || cipher_suites.empty? + cipher_suites = security_config['cipherSuites'] + end - response = send_request(request, @server_url) + portal_properties = security_config['portalProperties'].nil? ? '' : security_config['portalProperties'].to_json - validate_response(response) + update_required = false - sleep(30.0) + if https_protocols != security_config['httpsProtocols'] + update_required = true + Chef::Log.info("Updating server HTTPS protocols to '#{https_protocols}'.") + end - wait_until_available + if cipher_suites != security_config['cipherSuites'] + update_required = true + Chef::Log.info("Updating server cipher suites to '#{cipher_suites}'.") + end + + current_server_protocol = 'HTTPS' + + if security_config['httpEnabled'] && security_config['sslEnabled'] + current_server_protocol = 'HTTP_AND_HTTPS' + elsif security_config['httpEnabled'] + current_server_protocol = 'HTTP' + end + + if server_protocol != current_server_protocol + update_required = true + Chef::Log.info("Updating server protocol to '#{server_protocol}'.") + end + + if auth_mode != security_config['authenticationMode'] + update_required = true + Chef::Log.info("Updating server authentication mode to '#{auth_mode}'.") + end + + if auth_tier != security_config['authenticationTier'] + update_required = true + Chef::Log.info("Updating server authentication tier to '#{auth_tier}'.") + end + + if hsts_enabled != security_config['HSTSEnabled'] + update_required = true + Chef::Log.info("Updating server HSTSEnabled setting to '#{hsts_enabled}'.") + end + + if virtual_dirs_security_enabled != security_config['virtualDirsSecurityEnabled'] + update_required = true + Chef::Log.info("Updating server virtualDirsSecurityEnabled setting to '#{virtual_dirs_security_enabled}'.") + end + + if allow_direct_access != security_config['allowDirectAccess'] + update_required = true + Chef::Log.info("Updating server allowDirectAccess setting to '#{allow_direct_access}'.") + end + + if !allowed_admin_access_ips.empty? && allowed_admin_access_ips != security_config['allowedAdminAccessIPs'] + update_required = true + Chef::Log.info("Updating server allowed admin access IPs to '#{allowed_admin_access_ips}'.") + end + + if update_required + request = Net::HTTP::Post.new( + URI.parse(@server_url + '/admin/security/config/update').request_uri) + request.add_field('Referer', 'referer') + + token = generate_token() + + request.set_form_data('token' => token, + 'httpsProtocols' => https_protocols, + 'cipherSuites' => cipher_suites, + 'Protocol' => server_protocol, + 'authenticationMode' => auth_mode, + 'authenticationTier' => auth_tier, + 'HSTSEnabled' => hsts_enabled, + 'virtualDirsSecurityEnabled' => virtual_dirs_security_enabled, + 'allowDirectAccess' => allow_direct_access, + 'allowedAdminAccessIPs' => allowed_admin_access_ips, + 'portalProperties' => portal_properties, + 'f' => 'json') + + response = send_request(request, @server_url) + + validate_response(response) + + sleep(30.0) + + wait_until_available + end end def generate_token() @@ -1020,6 +1094,53 @@ def unregister_web_adaptors end end + def services_directory_properties + request = Net::HTTP::Post.new(URI.parse(@server_url + + "/admin/system/handlers/rest/servicesdirectory").request_uri) + + request.add_field('Referer', 'referer') + + token = generate_token() + + request.set_form_data('token' => token, 'f' => 'json') + + response = send_request(request, @server_url) + + validate_response(response) + + JSON.parse(response.body) + end + + def update_services_directory_properties(services_dir_enabled) + properties = services_directory_properties() + + token = generate_token() + + request = Net::HTTP::Post.new( + URI.parse(@server_url + "/admin/system/handlers/rest/servicesdirectory/edit").request_uri + ) + + request["Content-Type"] = "application/x-www-form-urlencoded" + request['Referer'] = 'referer' + + request.body = URI.encode_www_form( + 'servicesDirEnabled' => services_dir_enabled ? 'true' : 'false', + 'callbackFunctionsEnabled' => properties['callbackFunctionsEnabled'], + 'allowedOrigins' => properties['allowedOrigins'], + 'jsapi.arcgis' => properties['jsapi.arcgis'], + 'jsapi.arcgis.sdk' => properties['jsapi.arcgis.sdk'], + 'jsapi.arcgis.css' => properties['jsapi.arcgis.css'], + 'jsapi.arcgis.css2' => properties['jsapi.arcgis.css2'], + 'arcgis.com.map' => properties['arcgis.com.map'], + 'arcgis.com.map.text'=> properties['arcgis.com.map.text'], + 'token' => token, + 'f' => 'json') + + response = send_request(request, @server_url) + + validate_response(response) + end + private def send_request(request, url, sensitive = false) diff --git a/cookbooks/arcgis-enterprise/metadata.rb b/cookbooks/arcgis-enterprise/metadata.rb index d34ecad..bf0c13a 100644 --- a/cookbooks/arcgis-enterprise/metadata.rb +++ b/cookbooks/arcgis-enterprise/metadata.rb @@ -4,10 +4,10 @@ license 'Apache 2.0' description 'Installs and configures ArcGIS Enterprise' long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version '4.1.0' +version '4.2.0' chef_version '>= 14.0' if defined? chef_version -depends 'arcgis-repository', '~> 4.1' +depends 'arcgis-repository', '~> 4.2' depends 'hostsfile', '~> 3.0' depends 'limits', '~> 1.0' depends 'windows', '~> 5.3' @@ -21,6 +21,8 @@ supports 'redhat' supports 'centos' supports 'oracle' +supports 'rocky' +supports 'almalinux' supports 'suse' recipe 'arcgis-enterprise::clean', 'Deletes local directories created by ArcGIS software' diff --git a/cookbooks/arcgis-enterprise/providers/server.rb b/cookbooks/arcgis-enterprise/providers/server.rb index a3e1e7f..babd21d 100644 --- a/cookbooks/arcgis-enterprise/providers/server.rb +++ b/cookbooks/arcgis-enterprise/providers/server.rb @@ -156,8 +156,7 @@ action :update_account do if node['platform'] == 'windows' if Utils.sc_logon_account('ArcGIS Server') != @new_resource.run_as_user - configureserviceaccount = ::File.join(@new_resource.install_dir, - 'bin', 'ServerConfigurationUtility.exe') + configureserviceaccount = node['arcgis']['server']['configuration_utility'] run_as_password = @new_resource.run_as_password.gsub("&", "^&") args = "/username \"#{@new_resource.run_as_user}\""\ " /password \"#{run_as_password}\" " @@ -260,25 +259,33 @@ admin_client.wait_until_available - admin_client.complete_upgrade if admin_client.upgrade_required? + if admin_client.upgrade_required? + Chef::Log.info('Completing ArcGIS Server site upgrade...') + + admin_client.complete_upgrade - if admin_client.site_exist? - Chef::Log.warn('ArcGIS Server site already exists.') + Chef::Log.info('ArcGIS Server site upgrade is complete.') + + new_resource.updated_by_last_action(true) else - Chef::Log.info('Creating ArcGIS Server site...') + if admin_client.site_exist? + Chef::Log.info('ArcGIS Server site already exists.') + else + Chef::Log.info('Creating ArcGIS Server site...') - admin_client.create_site(@new_resource.server_directories_root, - @new_resource.config_store_type, - @new_resource.config_store_connection_string, - @new_resource.config_store_connection_secret, - @new_resource.log_level, - @new_resource.log_dir, - @new_resource.max_log_file_age) + admin_client.create_site(@new_resource.server_directories_root, + @new_resource.config_store_type, + @new_resource.config_store_connection_string, + @new_resource.config_store_connection_secret, + @new_resource.log_level, + @new_resource.log_dir, + @new_resource.max_log_file_age) - new_resource.updated_by_last_action(true) + new_resource.updated_by_last_action(true) + end end rescue Exception => e - Chef::Log.error "Failed to create ArcGIS Server site. " + e.message + Chef::Log.error "Failed to create or upgrade ArcGIS Server site. " + e.message raise e end end @@ -291,99 +298,107 @@ admin_client.wait_until_available - admin_client.complete_upgrade if admin_client.upgrade_required? + if admin_client.upgrade_required? + Chef::Log.info('Completing ArcGIS Server site upgrade...') - if admin_client.site_exist? - Chef::Log.warn('Machine is already connected to an ArcGIS Server site.') - else - if @new_resource.use_join_site_tool - config_store_connection = { - 'type' => @new_resource.config_store_type, - 'connectionString' => @new_resource.config_store_connection_string, - 'connectionSecret' => @new_resource.config_store_connection_secret - } - - if node['platform'] == 'windows' - config_store_connection_file = ::File.join(@new_resource.install_dir, 'framework','etc','config-store-connection.json') - ::File.open(config_store_connection_file, 'w') { |f| f.write(config_store_connection.to_json) } - - join_site_tool_cmd = [ - '"' + ::File.join(@new_resource.install_dir, 'tools', 'JoinSite', 'join-site.bat') + '"', - '-f', '"' + config_store_connection_file + '"', '-c', 'default' - ].join(' ') - - # Mixlib::ShellOut does not load user profile of the impersonated user account, - # so the user's environment variables such as USERNAME, USERPROFILE, TEMP, TMP, - # APPDATA, and LOCALAPPDATA still point to the parent process user name and directories. - # See https://github.com/chef/mixlib-shellout/issues/168 - # set the environment variables to get around this problem - - homedrive = ENV['HOMEDRIVE'].nil? ? 'C:' : ENV['HOMEDRIVE'] - - run_as_user = node['arcgis']['run_as_user'] - - if run_as_user.include? "\\" - tokens = run_as_user.split(/\\/) - userdomain = tokens[0] - username = tokens[1] + admin_client.complete_upgrade + + Chef::Log.info('ArcGIS Server site upgrade is complete.') + + new_resource.updated_by_last_action(true) + else + if admin_client.site_exist? + Chef::Log.info('Machine is already connected to an ArcGIS Server site.') + else + if @new_resource.use_join_site_tool + config_store_connection = { + 'type' => @new_resource.config_store_type, + 'connectionString' => @new_resource.config_store_connection_string, + 'connectionSecret' => @new_resource.config_store_connection_secret + } + + if node['platform'] == 'windows' + config_store_connection_file = ::File.join(@new_resource.install_dir, 'framework','etc','config-store-connection.json') + ::File.open(config_store_connection_file, 'w') { |f| f.write(config_store_connection.to_json) } + + join_site_tool_cmd = [ + '"' + ::File.join(@new_resource.install_dir, 'tools', 'JoinSite', 'join-site.bat') + '"', + '-f', '"' + config_store_connection_file + '"', '-c', 'default' + ].join(' ') + + # Mixlib::ShellOut does not load user profile of the impersonated user account, + # so the user's environment variables such as USERNAME, USERPROFILE, TEMP, TMP, + # APPDATA, and LOCALAPPDATA still point to the parent process user name and directories. + # See https://github.com/chef/mixlib-shellout/issues/168 + # set the environment variables to get around this problem + + homedrive = ENV['HOMEDRIVE'].nil? ? 'C:' : ENV['HOMEDRIVE'] + + run_as_user = node['arcgis']['run_as_user'] + + if run_as_user.include? "\\" + tokens = run_as_user.split(/\\/) + userdomain = tokens[0] + username = tokens[1] + else + userdomain = node['hostname'] + username = run_as_user + end + + userprofile = homedrive + '\\Users\\' + username + env = { 'AGSSERVER' => @new_resource.install_dir + '\\', + 'USERNAME' => username, + 'USERDOMAIN' => userdomain, + 'HOME' => homedrive + '/Users/' + username, + 'HOMEPATH' => '\\Users\\' + username, + 'USERPROFILE' => userprofile, + 'APPDATA' => userprofile + '\\AppData\\Roaming', + 'LOCALAPPDATA' => userprofile + '\\AppData\\Local', + 'TEMP' => userprofile + '\\AppData\\Local\\Temp', + 'TMP' => userprofile + '\\AppData\\Local\\Temp' } + + cmd = Mixlib::ShellOut.new(join_site_tool_cmd, + { :user => username, + :domain => userdomain, + :password => node['arcgis']['run_as_password'], + :timeout => 1800, + :environment => env }) + cmd.run_command + cmd.error! else - userdomain = node['hostname'] - username = run_as_user - end + install_dir = ::File.join(@new_resource.install_dir, node['arcgis']['server']['install_subdir']) - userprofile = homedrive + '\\Users\\' + username - env = { 'AGSSERVER' => @new_resource.install_dir + '\\', - 'USERNAME' => username, - 'USERDOMAIN' => userdomain, - 'HOME' => homedrive + '/Users/' + username, - 'HOMEPATH' => '\\Users\\' + username, - 'USERPROFILE' => userprofile, - 'APPDATA' => userprofile + '\\AppData\\Roaming', - 'LOCALAPPDATA' => userprofile + '\\AppData\\Local', - 'TEMP' => userprofile + '\\AppData\\Local\\Temp', - 'TMP' => userprofile + '\\AppData\\Local\\Temp' } - - cmd = Mixlib::ShellOut.new(join_site_tool_cmd, - { :user => username, - :domain => userdomain, - :password => node['arcgis']['run_as_password'], - :timeout => 1800, - :environment => env }) - cmd.run_command - cmd.error! - else - install_dir = ::File.join(@new_resource.install_dir, node['arcgis']['server']['install_subdir']) + config_store_connection_file = ::File.join(install_dir, 'framework','etc','config-store-connection.json') + ::File.open(config_store_connection_file, 'w') { |f| f.write(config_store_connection.to_json) } - config_store_connection_file = ::File.join(install_dir, 'framework','etc','config-store-connection.json') - ::File.open(config_store_connection_file, 'w') { |f| f.write(config_store_connection.to_json) } + join_site_tool_cmd = [ + ::File.join(install_dir, 'tools','joinsite','join-site.sh'), + '-f', config_store_connection_file, '-c', 'default' + ].join(' ') - join_site_tool_cmd = [ - ::File.join(install_dir, 'tools','joinsite','join-site.sh'), - '-f', config_store_connection_file, '-c', 'default' - ].join(' ') + cmd = Mixlib::ShellOut.new(join_site_tool_cmd, + { :user => node['arcgis']['run_as_user'], + :timeout => 1800 }) + cmd.run_command + cmd.error! + end + else + primary_admin_client = ArcGIS::ServerAdminClient.new( + @new_resource.primary_server_url, + @new_resource.username, + @new_resource.password) - cmd = Mixlib::ShellOut.new(join_site_tool_cmd, - { :user => node['arcgis']['run_as_user'], - :timeout => 1800 }) - cmd.run_command - cmd.error! - end - else - primary_admin_client = ArcGIS::ServerAdminClient.new( - @new_resource.primary_server_url, - @new_resource.username, - @new_resource.password) + primary_admin_client.wait_until_site_exist - primary_admin_client.wait_until_site_exist + admin_client.join_site(@new_resource.primary_server_url, + @new_resource.pull_license) + end - admin_client.join_site(@new_resource.primary_server_url, - @new_resource.pull_license) + new_resource.updated_by_last_action(true) end - - new_resource.updated_by_last_action(true) end rescue Exception => e - Chef::Log.error "Failed to join ArcGIS Server site. " + e.message + Chef::Log.error "Failed to join or upgrade ArcGIS Server site. " + e.message raise e end end @@ -423,6 +438,10 @@ Chef::Log.info 'ArcGIS Server system properties were not changed.' new_resource.updated_by_last_action(false) end + + Chef::Log.info('Updating ArcGIS Server services directory properties...') + admin_client.update_services_directory_properties(@new_resource.services_dir_enabled) + Chef::Log.info 'ArcGIS Server services directory properties were updated.' rescue Exception => e Chef::Log.error 'Failed to update ArcGIS Server system properties. ' + e.message raise e @@ -502,7 +521,9 @@ @new_resource.hsts_enabled, @new_resource.virtual_dirs_security_enabled, @new_resource.allow_direct_access, - @new_resource.allowed_admin_access_ips) + @new_resource.allowed_admin_access_ips, + @new_resource.https_protocols, + @new_resource.cipher_suites) # Security configuration update causes the SOAP and REST service endpoints # to be redeployed with the new configuration on every server machine in the site. @@ -513,8 +534,9 @@ new_resource.updated_by_last_action(true) rescue Exception => e - Chef::Log.error "Failed to update security configuration in ArcGIS Server." + e.message - raise e + Chef::Log.warn e.message + # Updating security configuration may fail when other machinesin the site are not accessible. + # raise e end end diff --git a/cookbooks/arcgis-enterprise/providers/webadaptor.rb b/cookbooks/arcgis-enterprise/providers/webadaptor.rb index b1fb42b..653cbb6 100644 --- a/cookbooks/arcgis-enterprise/providers/webadaptor.rb +++ b/cookbooks/arcgis-enterprise/providers/webadaptor.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Provider:: webadaptor # -# Copyright 2015 Esri +# Copyright 2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -60,7 +60,7 @@ windows_package 'Web Deploy' do source node['arcgis']['web_adaptor']['web_deploy_setup_path'] - returns [0, 3010, 1638] + returns [0, 3010, 1638, 1603] end end end @@ -101,14 +101,14 @@ # Stop IIS before uninstalling ArcGIS Web Adaptor to make sure the all the # Web Adaptor's web apps files in C:\wwwroot directory are closed and # deleted by the uninstall. - Utils.retry_ShellOut('net stop W3SVC /yes', 5, 60, {:timeout => 3600}) + Utils.stop_service('W3SVC') cmd = Mixlib::ShellOut.new("msiexec /qn /x #{installed_code}", {:timeout => 3600, :returns => [0, 1641]}) cmd.run_command cmd.error! # Start IIS after ArcGIS Web Adaptor is uninstalled. - Utils.retry_ShellOut('net start W3SVC /yes', 5, 60, {:timeout => 3600}) + Utils.start_service('W3SVC') end cmd = @new_resource.setup @@ -211,11 +211,8 @@ cmd.run_command Utils.sensitive_command_error(cmd, [ @new_resource.password ]) else - cmd = 'java' - wareg_jar_path = ::File.join(@new_resource.install_dir, - node['arcgis']['web_adaptor']['install_subdir'], - 'java/tools/arcgis-wareg.jar') - args = "-jar \"#{wareg_jar_path}\" -m #{@new_resource.mode} -w '#{wa_url}' -g '#{server_url}' -u '#{@new_resource.username}' -p '#{@new_resource.password}' -a #{@new_resource.admin_access}" + cmd = node['arcgis']['web_adaptor']['config_web_adaptor_sh'] + args = "-m #{@new_resource.mode} -w '#{wa_url}' -g '#{server_url}' -u '#{@new_resource.username}' -p '#{@new_resource.password}' -a #{@new_resource.admin_access}" cmd = Mixlib::ShellOut.new("\"#{cmd}\" #{args}", { :timeout => 600 }) cmd.run_command @@ -257,12 +254,8 @@ Utils.sensitive_command_error(cmd, [ @new_resource.password ]) end else - cmd = 'java' - wareg_jar_path = ::File.join(@new_resource.install_dir, - node['arcgis']['web_adaptor']['install_subdir'], - 'java/tools/arcgis-wareg.jar') - args = "-jar \"#{wareg_jar_path}\" -m portal -w '#{wa_url}' -g '#{portal_url}' -u '#{@new_resource.username}' -p '#{@new_resource.password}'" - + cmd = node['arcgis']['web_adaptor']['config_web_adaptor_sh'] + args = "-m portal -w '#{wa_url}' -g '#{portal_url}' -u '#{@new_resource.username}' -p '#{@new_resource.password}'" args += ' -r false' unless @new_resource.reindex_portal_content cmd = Mixlib::ShellOut.new("\"#{cmd}\" #{args}", { :timeout => 600 }) diff --git a/cookbooks/arcgis-enterprise/recipes/clean.rb b/cookbooks/arcgis-enterprise/recipes/clean.rb index e492036..9381ebe 100644 --- a/cookbooks/arcgis-enterprise/recipes/clean.rb +++ b/cookbooks/arcgis-enterprise/recipes/clean.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Recipe:: clean # -# Copyright 2015 Esri +# Copyright 2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -30,19 +30,21 @@ if node['platform'] == 'windows' directory node['arcgis']['server']['install_dir'] do recursive true - not_if { Utils.product_installed?(node['arcgis']['server']['product_code']) || - node['arcgis']['server']['install_dir'] == 'C:\\ArcGIS' } + only_if { node['arcgis']['clean_install_dirs'] } + not_if { Utils.product_installed?(node['arcgis']['server']['product_code']) } action :delete end directory node['arcgis']['portal']['install_dir'] do recursive true - not_if { Utils.product_installed?(node['arcgis']['portal']['product_code']) } + only_if { node['arcgis']['clean_install_dirs'] } + not_if { Utils.product_installed?(node['arcgis']['portal']['product_code'])} action :delete end directory node['arcgis']['data_store']['install_dir'] do recursive true + only_if { node['arcgis']['clean_install_dirs'] } not_if { Utils.product_installed?(node['arcgis']['data_store']['product_code']) } action :delete end diff --git a/cookbooks/arcgis-enterprise/recipes/portal_standby.rb b/cookbooks/arcgis-enterprise/recipes/portal_standby.rb index dad05b2..3625969 100644 --- a/cookbooks/arcgis-enterprise/recipes/portal_standby.rb +++ b/cookbooks/arcgis-enterprise/recipes/portal_standby.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Recipe:: portal_standby # -# Copyright 2018 Esri +# Copyright 2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -66,6 +66,19 @@ action :join_site end +arcgis_enterprise_portal 'Import Root Certificates' do + portal_url node['arcgis']['portal']['url'] + username node['arcgis']['portal']['admin_username'] + password node['arcgis']['portal']['admin_password'] + root_cert node['arcgis']['portal']['root_cert'] + root_cert_alias node['arcgis']['portal']['root_cert_alias'] + not_if { node['arcgis']['portal']['root_cert'].empty? || + node['arcgis']['portal']['root_cert_alias'].empty?} + retries 5 + retry_delay 30 + action :import_root_cert +end + arcgis_enterprise_portal 'Configure HTTPS' do portal_url node['arcgis']['portal']['url'] username node['arcgis']['portal']['admin_username'] diff --git a/cookbooks/arcgis-enterprise/recipes/server.rb b/cookbooks/arcgis-enterprise/recipes/server.rb index 3c549b3..7a758f3 100644 --- a/cookbooks/arcgis-enterprise/recipes/server.rb +++ b/cookbooks/arcgis-enterprise/recipes/server.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Recipe:: server # -# Copyright 2022 Esri +# Copyright 2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -145,6 +145,7 @@ username node['arcgis']['server']['admin_username'] password node['arcgis']['server']['admin_password'] system_properties node['arcgis']['server']['system_properties'] + services_dir_enabled node['arcgis']['server']['services_dir_enabled'] retries 5 retry_delay 30 action :set_system_properties @@ -203,6 +204,8 @@ virtual_dirs_security_enabled node['arcgis']['server']['virtual_dirs_security_enabled'] allow_direct_access node['arcgis']['server']['allow_direct_access'] allowed_admin_access_ips node['arcgis']['server']['allowed_admin_access_ips'] + https_protocols node['arcgis']['server']['https_protocols'] + cipher_suites node['arcgis']['server']['cipher_suites'] retries 5 retry_delay 30 action :configure_security_protocol diff --git a/cookbooks/arcgis-enterprise/recipes/system.rb b/cookbooks/arcgis-enterprise/recipes/system.rb index c71de45..11a6e9a 100644 --- a/cookbooks/arcgis-enterprise/recipes/system.rb +++ b/cookbooks/arcgis-enterprise/recipes/system.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Recipe:: system # -# Copyright 2022 Esri +# Copyright 2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -32,7 +32,10 @@ end else node['arcgis']['packages'].each do |package_install| - package package_install + package package_install do + retries 5 + retry_delay 60 + end end group node['arcgis']['run_as_user'] do @@ -109,6 +112,23 @@ only_if { node['arcgis']['configure_autofs'] } end + directory '/home/' + node['arcgis']['run_as_user'] + '/.ssh' do + mode '0770' + owner node['arcgis']['run_as_user'] + group node['arcgis']['run_as_user'] + not_if { node['arcgis']['run_as_user_auth_keys'].nil? } + action :create + end + + file '/home/' + node['arcgis']['run_as_user'] + '/.ssh/authorized_keys' do + content lazy { IO.read(node['arcgis']['run_as_user_auth_keys']) } + mode '0660' + owner node['arcgis']['run_as_user'] + group node['arcgis']['run_as_user'] + not_if { node['arcgis']['run_as_user_auth_keys'].nil? } + action :create + end + service 'autofs' do only_if { node['arcgis']['configure_autofs'] } action [:enable, :reload, :restart] diff --git a/cookbooks/arcgis-enterprise/recipes/unregister_server_wa.rb b/cookbooks/arcgis-enterprise/recipes/unregister_server_wa.rb index 9730fee..d842f46 100644 --- a/cookbooks/arcgis-enterprise/recipes/unregister_server_wa.rb +++ b/cookbooks/arcgis-enterprise/recipes/unregister_server_wa.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Recipe:: unregister_server_wa # -# Copyright 2021 Esri +# Copyright 2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -23,5 +23,6 @@ install_dir node['arcgis']['server']['install_dir'] username node['arcgis']['server']['admin_username'] password node['arcgis']['server']['admin_password'] + ignore_failure true action :unregister_web_adaptors end diff --git a/cookbooks/arcgis-enterprise/resources/server.rb b/cookbooks/arcgis-enterprise/resources/server.rb index 0487fff..44d4ec7 100644 --- a/cookbooks/arcgis-enterprise/resources/server.rb +++ b/cookbooks/arcgis-enterprise/resources/server.rb @@ -63,6 +63,7 @@ attribute :connection_string, :kind_of => String attribute :is_managed, :kind_of => [TrueClass, FalseClass], :default => false attribute :system_properties, :kind_of => Hash, :default => {} +attribute :services_dir_enabled, :kind_of => [TrueClass, FalseClass], :default => true attribute :log_level, :kind_of => String, :default => 'WARNING' attribute :log_dir, :kind_of => String attribute :max_log_file_age, :kind_of => Integer, :default => 90 @@ -79,6 +80,8 @@ attribute :virtual_dirs_security_enabled, :kind_of => [TrueClass, FalseClass], :default => false attribute :allow_direct_access, :kind_of => [TrueClass, FalseClass], :default => true attribute :allowed_admin_access_ips, :kind_of => String, :default => '' +attribute :https_protocols, :kind_of => String, :default => '' +attribute :cipher_suites, :kind_of => String, :default => '' attribute :setup_options, :kind_of => String, :default => '' attribute :authorization_options, :kind_of => String, :default => '' diff --git a/cookbooks/arcgis-geoevent/CHANGELOG.md b/cookbooks/arcgis-geoevent/CHANGELOG.md index ceb2763..fe63761 100644 --- a/cookbooks/arcgis-geoevent/CHANGELOG.md +++ b/cookbooks/arcgis-geoevent/CHANGELOG.md @@ -3,6 +3,10 @@ arcgis-geoevent cookbook CHANGELOG This file is used to list changes made in each version of the arcgis-geoevent cookbook. +4.2.0 +----- +- Added support for ArcGIS GeoEvent Server 11.2. + 4.1.0 ----- - Added support for ArcGIS GeoEvent Server 11.1. diff --git a/cookbooks/arcgis-geoevent/README.md b/cookbooks/arcgis-geoevent/README.md index ea5fb2c..14e3e59 100644 --- a/cookbooks/arcgis-geoevent/README.md +++ b/cookbooks/arcgis-geoevent/README.md @@ -3,7 +3,7 @@ layout: default title: "arcgis-geoevent cookbook" category: cookbooks item: arcgis-geoevent -version: 4.1.0 +version: 4.2.0 latest: true --- @@ -19,6 +19,7 @@ This cookbook installs and configures ArcGIS GeoEvent Server. * 10.9.1 * 11.0 * 11.1 +* 11.2 ## Supported ArcGIS software @@ -49,7 +50,7 @@ The following cookbooks are required: * `node['arcgis']['geoevent']['authorization_file']` = ArcGIS GeoEvent Server authorization file path. * `node['arcgis']['geoevent']['authorization_file_version']` = ArcGIS GeoEvent Server authorization file version. Default value is `node['arcgis']['server']['authorization_file_version']`. * `node['arcgis']['geoevent']['setup_archive']` = Path to the ArcGIS GeoEvent Server setup archive. Default value depends on `node['arcgis']['version']` attribute value. -* `node['arcgis']['geoevent']['setup']` = The location of the ArcGIS GeoEvent Server setup executable. Default location is `%USERPROFILE%\Documents\ArcGIS11.1\ArcGISGeoEventServer\Setup.exe` on Windows and `/opt/arcgis/11.1/geoevent/Setup.sh` on Linux. +* `node['arcgis']['geoevent']['setup']` = The location of the ArcGIS GeoEvent Server setup executable. Default location is `%USERPROFILE%\Documents\ArcGIS11.2\ArcGISGeoEventServer\Setup.exe` on Windows and `/opt/arcgis/11.2/geoevent/Setup.sh` on Linux. * `node['arcgis']['geoevent']['setup_options']` = Additional ArcGIS GeoEvent Server setup command line options. Default options are `''`. * `node['arcgis']['geoevent']['configure_autostart']` = If set to true, on Linux the GeoEvent Server is configured to start with the operating system. Default value is `true`. * `node['arcgis']['geoevent']['ports']` = Ports to open for GeoEvent. Default depends on `node['arcgis']['version']`. @@ -70,7 +71,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "run_as_user": "arcgis", "server": { "install_dir": "C:\\Program Files\\ArcGIS\\Server" @@ -91,16 +92,16 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "run_as_user": "arcgis", "run_as_password": "", "server": { "install_dir": "C:\\Program Files\\ArcGIS", }, "geoevent": { - "setup": "C:\\ArcGIS\\11.1\\GeoEvent\\Setup.exe", - "authorization_file": "C:\\ArcGIS\\11.1\\Authorization_Files\\GeoEvent.prvc", - "authorization_file_version": "11.1" + "setup": "C:\\ArcGIS\\11.2\\GeoEvent\\Setup.exe", + "authorization_file": "C:\\ArcGIS\\11.2\\Authorization_Files\\GeoEvent.prvc", + "authorization_file_version": "11.2" } }, "run_list": [ @@ -140,9 +141,9 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "geoevent": { - "lp-setup": "C:\\ArcGIS\\11.1\\GeoEvent\\Japanese\\Setup.exe" + "lp-setup": "C:\\ArcGIS\\11.2\\GeoEvent\\Japanese\\Setup.exe" } }, "run_list":[ @@ -160,7 +161,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "run_as_user": "arcgis", "server": { "install_dir": "C:\\Program Files\\ArcGIS" diff --git a/cookbooks/arcgis-geoevent/attributes/default.rb b/cookbooks/arcgis-geoevent/attributes/default.rb index 606d98e..cb26b65 100644 --- a/cookbooks/arcgis-geoevent/attributes/default.rb +++ b/cookbooks/arcgis-geoevent/attributes/default.rb @@ -43,10 +43,15 @@ geoevent['lp-setup'] = 'C:\\ArcGIS\\GeoEvent\\SetupFiles\\setup.msi' case node['arcgis']['version'] + when '11.2' + geoevent['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_GeoEvent_Server_112_188278.exe').gsub('/', '\\') + geoevent['product_code'] = '{7CBB01F9-90D3-42A6-99A8-70E773B5E8C5}' + geoevent['patch_registry'] ='SOFTWARE\ESRI\GeoEvent11.2\Server\Updates' when '11.1' geoevent['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_GeoEvent_Server_111_185251.exe').gsub('/', '\\') - geoevent['product_code'] = 'XXXXXX' + geoevent['product_code'] = '{475EA5B0-E454-4870-BB1F-AB81EDDEC2A7}' geoevent['patch_registry'] ='SOFTWARE\ESRI\GeoEvent11.1\Server\Updates' when '11.0' geoevent['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], @@ -83,6 +88,9 @@ geoevent['lp-setup'] = '/arcgis/geo-event-cdLP/Language-Pack-Setup.sh' case node['arcgis']['version'] + when '11.2' + geoevent['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_GeoEvent_Server_112_188353.tar.gz') when '11.1' geoevent['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_GeoEvent_Server_111_185315.tar.gz') diff --git a/cookbooks/arcgis-geoevent/metadata.rb b/cookbooks/arcgis-geoevent/metadata.rb index 8f87076..c287e3f 100644 --- a/cookbooks/arcgis-geoevent/metadata.rb +++ b/cookbooks/arcgis-geoevent/metadata.rb @@ -4,11 +4,11 @@ license 'Apache 2.0' description 'Installs and configures ArcGIS GeoEvent Server' long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version '4.1.0' +version '4.2.0' chef_version '>= 14.0' if defined? chef_version -depends 'arcgis-enterprise', '~> 4.1' -depends 'arcgis-repository', '~> 4.1' +depends 'arcgis-enterprise', '~> 4.2' +depends 'arcgis-repository', '~> 4.2' supports 'windows' supports 'ubuntu' diff --git a/cookbooks/arcgis-insights/CHANGELOG.md b/cookbooks/arcgis-insights/CHANGELOG.md index 6856e78..bdb5ce0 100644 --- a/cookbooks/arcgis-insights/CHANGELOG.md +++ b/cookbooks/arcgis-insights/CHANGELOG.md @@ -2,6 +2,9 @@ This file is used to list changes made in each version of the arcgis-insights cookbook. +## 4.2.0 +- Added support for ArcGIS Insights 2023.1. + ## 4.1.0 - Added support for ArcGIS Insights 2022.3. diff --git a/cookbooks/arcgis-insights/README.md b/cookbooks/arcgis-insights/README.md index ebce026..ca07bc6 100644 --- a/cookbooks/arcgis-insights/README.md +++ b/cookbooks/arcgis-insights/README.md @@ -3,7 +3,7 @@ layout: default title: "arcgis-insights cookbook" category: cookbooks item: arcgis-insights -version: 4.1.0 +version: 4.2.0 latest: true --- @@ -26,6 +26,7 @@ This cookbook installs and configures ArcGIS Insights. * 2022.1.1 * 2022.2 * 2022.3 +* 2023.1 ## Platforms @@ -48,7 +49,7 @@ The following cookbooks are required: ## Attributes -* `node['arcgis']['insights']['version']` = ArcGIS Insights version. Default version is `2022.3` +* `node['arcgis']['insights']['version']` = ArcGIS Insights version. Default version is `2023.1` * `node['arcgis']['insights']['setup_archive']` = Path to the ArcGIS Insights setup archive. Default value depends on `node['arcgis']['insights']['version']` attribute value. * `node['arcgis']['insights']['setup']` = The location of the ArcGIS Insights setup executable. Default location is `%USERPROFILE%\\Documents\\ArcGIS Insights 2022.3\\Insights\Setup.exe` on Windows and `/opt/arcgis/Insights/Insights-Setup.sh` on Linux. * `node['arcgis']['insights']['patches]` = File names of ArcGIS Insights patches to install. Default value is `[]`. diff --git a/cookbooks/arcgis-insights/attributes/default.rb b/cookbooks/arcgis-insights/attributes/default.rb index dcec6f3..5648a86 100644 --- a/cookbooks/arcgis-insights/attributes/default.rb +++ b/cookbooks/arcgis-insights/attributes/default.rb @@ -20,7 +20,7 @@ include_attribute 'arcgis-enterprise' default['arcgis']['insights'].tap do |insights| - insights['version'] = '2022.3' + insights['version'] = '2023.1' insights['patches'] = [] @@ -30,6 +30,10 @@ node['arcgis']['insights']['version'] + '\\Insights\\Setup.exe' case node['arcgis']['insights']['version'] + when '2023.1' + insights['product_code'] = '{DEC86F7E-FD14-4920-933D-B18266696663}' + insights['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Insights_Windows_2023_1_185917.exe') when '2022.3' insights['product_code'] = '{09230105-BBD4-401B-AB77-3E221BAD668F}' insights['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], @@ -93,6 +97,9 @@ 'Insights/Insights-Setup.sh') case node['arcgis']['insights']['version'] + when '2023.1' + insights['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Insights_Linux_2023_1_185918.tar.gz') when '2022.3' insights['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Insights_Linux_2022_3_184094.tar.gz') diff --git a/cookbooks/arcgis-insights/metadata.rb b/cookbooks/arcgis-insights/metadata.rb index 4c1fc31..bcf3152 100644 --- a/cookbooks/arcgis-insights/metadata.rb +++ b/cookbooks/arcgis-insights/metadata.rb @@ -4,11 +4,11 @@ license 'Apache 2.0' description 'Installs and configures ArcGIS Insights' long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version '4.1.0' +version '4.2.0' chef_version '>= 14.0' if defined? chef_version -depends 'arcgis-enterprise', '~> 4.1' -depends 'arcgis-repository', '~> 4.1' +depends 'arcgis-enterprise', '~> 4.2' +depends 'arcgis-repository', '~> 4.2' supports 'windows' supports 'ubuntu' diff --git a/cookbooks/arcgis-mission/CHANGELOG.md b/cookbooks/arcgis-mission/CHANGELOG.md index 7f50d38..9b635b9 100644 --- a/cookbooks/arcgis-mission/CHANGELOG.md +++ b/cookbooks/arcgis-mission/CHANGELOG.md @@ -2,6 +2,10 @@ This file is used to list changes made in each version of the arcgis-mission cookbook. +# 4.2.0 + +- Added support for ArcGIS Mission Server 11.2. + # 4.1.0 - Added support for ArcGIS Mission Server 11.1. diff --git a/cookbooks/arcgis-mission/README.md b/cookbooks/arcgis-mission/README.md index c46fb15..a25183d 100644 --- a/cookbooks/arcgis-mission/README.md +++ b/cookbooks/arcgis-mission/README.md @@ -3,7 +3,7 @@ layout: default title: "arcgis-mission cookbook" category: cookbooks item: arcgis-mission -version: 4.1.0 +version: 4.2.0 latest: true --- @@ -19,6 +19,7 @@ This cookbook installs and configures ArcGIS Mission Server. * 10.9.1 * 11.0 * 11.1 +* 11.2 ## Supported ArcGIS software @@ -61,7 +62,7 @@ The following cookbooks are required: * `node['arcgis']['mission_server']['log_dir']` = ArcGIS Mission Server log directory. Default value is `C:\arcgismissionserver\logs` on Windows and `//usr/logs` on Linux. * `node['arcgis']['mission_server']['max_log_file_age']` = ArcGIS Mission Server maximum log file age. Default value is `90`. * `node['arcgis']['mission_server']['setup_archive']` = Path to the ArcGIS Mission Server setup archive. Default value depends on `node['arcgis']['version']` attribute value. -* `node['arcgis']['mission_server']['setup']` = The location of the ArcGIS Mission Server setup executable. Default location is `%USERPROFILE%\Documents\ArcGIS11.1\MissionServer\Setup.exe` on Windows and `/opt/arcgis/11.1/MissionServer/Setup` on Linux. +* `node['arcgis']['mission_server']['setup']` = The location of the ArcGIS Mission Server setup executable. Default location is `%USERPROFILE%\Documents\ArcGIS11.2\MissionServer\Setup.exe` on Windows and `/opt/arcgis/11.2/MissionServer/Setup` on Linux. * `node['arcgis']['mission_server']['configure_autostart']` = If set to true, on Linux the Mission Server is configured to start with the operating system. Default value is `true`. * `node['arcgis']['mission_server']['admin_username']` = Primary ArcGIS Mission Server administrator user name. Default user name is `siteadmin`. * `node['arcgis']['mission_server']['admin_password']` = Primary ArcGIS Mission Server administrator password. Default value is `nil`. @@ -116,7 +117,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "run_as_user": "arcgis", "mission_server": { "setup_archive": "/opt/software/esri/ArcGIS_Mission_Server_Linux_110_183045.tar.gz", @@ -143,7 +144,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "run_as_user": "arcgis", "web_server": { "webapp_dir": "/opt/tomcat_arcgis/webapps" @@ -193,7 +194,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "run_as_user": "arcgis", "mission_server": { "setup_archive": "/opt/software/esri/ArcGIS_Mission_Server_Linux_110_183045.tar.gz", @@ -227,7 +228,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "run_as_user": "arcgis", "mission_server": { "setup_archive": "/opt/software/esri/ArcGIS_Mission_Server_Linux_110_183045.tar.gz", @@ -256,7 +257,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "run_as_user": "arcgis", "web_server": { "webapp_dir": "/opt/tomcat_arcgis/webapps" @@ -288,7 +289,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "run_as_user": "arcgis", "mission_server": { "install_dir": "/home/arcgis" @@ -309,7 +310,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "run_as_user": "arcgis", "web_server": { "webapp_dir": "/opt/tomcat_arcgis/webapps" diff --git a/cookbooks/arcgis-mission/attributes/default.rb b/cookbooks/arcgis-mission/attributes/default.rb index 9ec2f0a..7cef958 100644 --- a/cookbooks/arcgis-mission/attributes/default.rb +++ b/cookbooks/arcgis-mission/attributes/default.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-mission # Attributes:: default # -# Copyright 2022 Esri +# Copyright 2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -76,8 +76,15 @@ 'MissionServer', 'Setup.exe') mission_server['install_dir'] = ::File.join(ENV['ProgramW6432'], 'ArcGIS\\Mission').gsub('/', '\\') mission_server['install_subdir'] = '' - mission_server['authorization_tool'] = ::File.join(node['arcgis']['mission_server']['install_dir'], - 'bin\\SoftwareAuthorization.exe').gsub('/', '\\') + + if node['arcgis']['mission_server']['install_dir'].nil? + mission_server_install_dir = mission_server['install_dir'] + else + mission_server_install_dir = node['arcgis']['mission_server']['install_dir'] + end + + mission_server['authorization_tool'] = ::File.join(mission_server_install_dir, + 'tools\\SoftwareAuthorization\\SoftwareAuthorization.exe').gsub('/', '\\') mission_server['keycodes'] = ::File.join(ENV['ProgramW6432'], "ESRI\\License#{node['arcgis']['mission_server']['authorization_file_version']}\\sysgen\\keycodes").gsub('/', '\\') @@ -86,33 +93,49 @@ mission_server['log_dir'] = 'C:\\arcgismissionserver\\logs' case node['arcgis']['version'] + when '11.2' + mission_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Mission_Server_Windows_112_188286.exe').gsub('/', '\\') + mission_server['product_code'] = '{5721BCA3-D4BB-42D3-A719-787D0B11F478}' when '11.1' mission_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Mission_Server_Windows_111_185264.exe').gsub('/', '\\') mission_server['product_code'] = '{C8723ED4-272B-43B5-88D6-98F484DFFF09}' + mission_server['authorization_tool'] = ::File.join(mission_server_install_dir, + 'bin\\SoftwareAuthorization.exe').gsub('/', '\\') when '11.0' mission_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Mission_Server_Windows_110_182935.exe').gsub('/', '\\') mission_server['product_code'] = '{1B27C0F2-81E9-4F1F-9506-46F937605674}' + mission_server['authorization_tool'] = ::File.join(mission_server_install_dir, + 'bin\\SoftwareAuthorization.exe').gsub('/', '\\') when '10.9.1' mission_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Mission_Server_Windows_1091_180092.exe').gsub('/', '\\') mission_server['product_code'] = '{2BE7F20D-572A-4D3E-B989-DC9BDFFB75AA}' + mission_server['authorization_tool'] = ::File.join(mission_server_install_dir, + 'bin\\SoftwareAuthorization.exe').gsub('/', '\\') when '10.9' mission_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Mission_Server_Windows_109_177824.exe').gsub('/', '\\') mission_server['product_code'] = '{94280A6F-6501-42CE-A627-FCE20B01A9D7}' mission_server['ports'] = '20443,20300,20301,20302,20158,20159,20160' + mission_server['authorization_tool'] = ::File.join(mission_server_install_dir, + 'bin\\SoftwareAuthorization.exe').gsub('/', '\\') when '10.8.1' mission_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Mission_Server_Windows_1081_175253.exe').gsub('/', '\\') mission_server['product_code'] = '{26F574C6-C9F8-487C-977A-A906AAA60136}' mission_server['ports'] = '20443,20300,20301,20302,20158,20159,20160' + mission_server['authorization_tool'] = ::File.join(mission_server_install_dir, + 'bin\\SoftwareAuthorization.exe').gsub('/', '\\') when '10.8' mission_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Mission_Server_Windows_108_172945.exe').gsub('/', '\\') mission_server['product_code'] = '{A1A58B32-2ADF-4EAD-AC84-BE97318CA569}' mission_server['ports'] = '20443,20300,20301,20302,20158,20159,20160' + mission_server['authorization_tool'] = ::File.join(mission_server_install_dir, + 'bin\\SoftwareAuthorization.exe').gsub('/', '\\') else Chef::Log.warn 'Unsupported ArcGIS Mission Server version' end @@ -153,11 +176,12 @@ 'usr', 'logs') case node['arcgis']['version'] + when '11.2' + mission_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Mission_Server_Linux_112_188361.tar.gz') when '11.1' mission_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Mission_Server_Linux_111_185324.tar.gz') - # Setup archives of 11.0 daily builds have 'MissionServer_Linix' subfolder instead of 'MissionServer' - # subfolder of final archives. Remove the line below for the final setup archive. when '11.0' mission_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Mission_Server_Linux_110_183045.tar.gz') diff --git a/cookbooks/arcgis-mission/metadata.rb b/cookbooks/arcgis-mission/metadata.rb index 074491f..fad2f2b 100644 --- a/cookbooks/arcgis-mission/metadata.rb +++ b/cookbooks/arcgis-mission/metadata.rb @@ -4,11 +4,11 @@ license 'Apache-2.0' description 'Installs/Configures ArcGIS Mission Server' long_description 'Installs/Configures ArcGIS Mission Server' -version '4.1.0' +version '4.2.0' chef_version '>= 14.0' if defined? chef_version -depends 'arcgis-enterprise', '~> 4.1' -depends 'arcgis-repository', '~> 4.1' +depends 'arcgis-enterprise', '~> 4.2' +depends 'arcgis-repository', '~> 4.2' supports 'ubuntu' supports 'redhat' diff --git a/cookbooks/arcgis-notebooks/CHANGELOG.md b/cookbooks/arcgis-notebooks/CHANGELOG.md index 456641c..13e78e9 100644 --- a/cookbooks/arcgis-notebooks/CHANGELOG.md +++ b/cookbooks/arcgis-notebooks/CHANGELOG.md @@ -2,6 +2,10 @@ This file is used to list changes made in each version of the arcgis-notebooks cookbook. +# 4.2.0 + +- Added support for ArcGIS Notebook Server 11.2. + # 4.1.0 - Added support for ArcGIS Notebook Server 11.1. diff --git a/cookbooks/arcgis-notebooks/README.md b/cookbooks/arcgis-notebooks/README.md index ca8cf22..ad7c2e7 100644 --- a/cookbooks/arcgis-notebooks/README.md +++ b/cookbooks/arcgis-notebooks/README.md @@ -3,7 +3,7 @@ layout: default title: "arcgis-notebooks cookbook" category: cookbooks item: arcgis-notebooks -version: 4.1.0 +version: 4.2.0 latest: true --- @@ -19,6 +19,7 @@ This cookbook installs and configures ArcGIS Notebook Server. * 10.9.1 * 11.0 * 11.1 +* 11.2 ## Supported ArcGIS software @@ -51,16 +52,16 @@ The following cookbooks are required: * `node['arcgis']['notebook_server']['authorization_file_version']` = ArcGIS Notebook Server authorization file version. Default value is `node['arcgis']['server']['authorization_file_version']`. * `node['arcgis']['notebook_server']['license_level']` = License level of ArcGIS Notebook Server. Allowed values are `standard` and `advanced`. Default license level is `standard`. * `node['arcgis']['notebook_server']['install_dir']` = ArcGIS Notebook Server installation directory. By default, ArcGIS Notebook Server is installed to `%ProgramW6432%\ArcGIS\NotebookServer` on Windows machines and to `/home/arcgis` on Linux machines. -* `node['arcgis']['notebook_server']['directories_root']` = The root ArcGIS Notebook Server site's server directory location. The default value is `C:\arcgisnotebookserver\directories` on Windows and `//notebookserver/usr/directories` on Linux. +* `node['arcgis']['notebook_server']['directories_root']` = The root ArcGIS Notebook Server site's server directory location. The default value is `C:\arcgisnotebookserver` on Windows and `/gisdata/notebookserver` on Linux. * `node['arcgis']['notebook_server']['config_store_type']` = The ArcGIS Notebook Server configuration store type ``. Default value is `FILESYSTEM`. -* `node['arcgis']['notebook_server']['config_store_connection_string']` = The configuration store location for the ArcGIS Notebook Server site. By default, the configuration store is created in the local directory `C:\arcgisnotebookserver\config-store` on Windows and `//usr/config-store` on Linux. +* `node['arcgis']['notebook_server']['config_store_connection_string']` = The configuration store location for the ArcGIS Notebook Server site. By default, the configuration store is created in the local directory `C:\arcgisnotebookserver\config-store` on Windows and `/gisdata/notebookserver/config-store` on Linux. * `node['arcgis']['notebook_server']['config_store_class_name']` = The ArcGIS Notebook Server configuration store persistence class name. Default value is `com.esri.arcgis.carbon.persistence.impl.filesystem.FSConfigPersistence`. * `node['arcgis']['notebook_server']['log_level']` = ArcGIS Notebook Server log level. Default value is `WARNING`. -* `node['arcgis']['notebook_server']['log_dir']` = ArcGIS Notebook Server log directory. Default value is `C:\arcgisnotebookserver\logs` on Windows and `//usr/logs` on Linux. +* `node['arcgis']['notebook_server']['log_dir']` = ArcGIS Notebook Server log directory. Default value is `C:\arcgisnotebookserver\logs` on Windows and `/gisdata/notebookserver/logs` on Linux. * `node['arcgis']['notebook_server']['max_log_file_age']` = ArcGIS Notebook Server maximum log file age. Default value is `90`. -* `node['arcgis']['notebook_server']['workspace']` = The workspace directory location. This must be a local path; if the site will have additional machines joined to it, a replication method must be set up between the workspace directories of each machine. By default, the workspace directory is set to `C:\arcgisnotebookserver\arcgisworkspace` on Windows and to `//usr/arcgisworkspace` on Linux. +* `node['arcgis']['notebook_server']['workspace']` = The workspace directory location. This must be a local path; if the site will have additional machines joined to it, a replication method must be set up between the workspace directories of each machine. By default, the workspace directory is set to `C:\arcgisnotebookserver\arcgisworkspace` on Windows and to `/gisdata/notebookserver/directories/arcgisworkspace` on Linux. * `node['arcgis']['notebook_server']['setup_archive']` = Path to the ArcGIS Notebook Server setup archive. Default value depends on `node['arcgis']['version']` attribute value. -* `node['arcgis']['notebook_server']['setup']` = The location of the ArcGIS Notebook Server setup executable. Default location is `%USERPROFILE%\Documents\ArcGIS11.1\NotebookServer\Setup.exe` on Windows and `/opt/arcgis/11.1/NotebookServer_Linux/Setup` on Linux. +* `node['arcgis']['notebook_server']['setup']` = The location of the ArcGIS Notebook Server setup executable. Default location is `%USERPROFILE%\Documents\ArcGIS11.2\NotebookServer\Setup.exe` on Windows and `/opt/arcgis/11.2/NotebookServer_Linux/Setup` on Linux. * `node['arcgis']['notebook_server']['standard_images']` = Standard Docker container images for notebooks. Default value depends on `node['arcgis']['version']` attribute value. * `node['arcgis']['notebook_server']['advanced_images']` = Advanced Docker container images for notebooks. Default value depends on `node['arcgis']['version']` attribute value. * `node['arcgis']['notebook_server']['configure_autostart']` = If set to true, on Linux ArcGIS Notebook Server is configured to start with the operating system. Default value is `true`. @@ -73,7 +74,7 @@ The following cookbooks are required: * `node['arcgis']['notebook_server']['ports']` = Ports to open for Notebook Servier in the Windows firewall. Default is `11443`. * `node['arcgis']['notebook_server']['hostname']` = Host name or IP address of ArcGIS Notebook Server machine. Default value is `''`. * `node['arcgis']['notebook_server']['system_properties']` = ArcGIS Notebook Server system properties. Default value is `{}`. -* `node['arcgis']['notebook_server']['data_setup']` = The location of the ArcGIS Notebook Server Samples Data setup. Default location is `%USERPROFILE%\Documents\ArcGIS11.1\NotebookServerData\Setup.exe` on Windows and `/opt/arcgis/11.1/NotebookServerData_Linux/ArcGISNotebookServerSamplesData-Setup.sh` on Linux. +* `node['arcgis']['notebook_server']['data_setup']` = The location of the ArcGIS Notebook Server Samples Data setup. Default location is `%USERPROFILE%\Documents\ArcGIS11.2\NotebookServerData\Setup.exe` on Windows and `/opt/arcgis/11.2/NotebookServerData_Linux/ArcGISNotebookServerSamplesData-Setup.sh` on Linux. * `node['arcgis']['notebook_server']['data_setup_archive']` = Path to the ArcGIS Notebook Server Samples Data setup archive. Default value depends on `node['arcgis']['version']` attribute value. * `node['arcgis']['notebook_server']['patches]` = File names of ArcGIS Notebook Server patches to install. Default value is `[]`. @@ -135,7 +136,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "run_as_user": "arcgis", "notebook_server": { "setup_archive": "/opt/software/esri/ArcGIS_Notebook_Server_Linux_110_183044.tar.gz", @@ -167,7 +168,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "run_as_user": "arcgis", "web_server": { "webapp_dir": "/opt/tomcat_arcgis/webapps" @@ -231,7 +232,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "run_as_user": "arcgis", "notebook_server": { "data_setup_archive": "/opt/software/esri/ArcGIS_Notebook_Server_Samples_Data_Linux_110_183049.tar.gz", @@ -253,7 +254,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "run_as_user": "arcgis", "notebook_server": { "setup_archive": "/opt/software/esri/ArcGIS_Notebook_Server_Linux_110_183044.tar.gz", @@ -292,7 +293,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "run_as_user": "arcgis", "notebook_server": { "setup_archive": "/opt/software/esri/ArcGIS_Notebook_Server_Linux_110_183044.tar.gz", @@ -325,7 +326,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "run_as_user": "arcgis", "web_server": { "webapp_dir": "/opt/tomcat_arcgis/webapps" @@ -357,7 +358,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "run_as_user": "arcgis", "notebook_server": { "install_dir": "/home/arcgis" @@ -378,7 +379,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.1", + "version": "11.2", "run_as_user": "arcgis", "web_server": { "webapp_dir": "/opt/tomcat_arcgis/webapps" diff --git a/cookbooks/arcgis-notebooks/attributes/default.rb b/cookbooks/arcgis-notebooks/attributes/default.rb index fc23590..975573b 100644 --- a/cookbooks/arcgis-notebooks/attributes/default.rb +++ b/cookbooks/arcgis-notebooks/attributes/default.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-notebooks # Attributes:: default # -# Copyright 2022 Esri +# Copyright 2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -85,7 +85,7 @@ notebook_server['authorization_tool'] = ::File.join(ENV['ProgramW6432'], 'Common Files\\ArcGIS\\bin\\SoftwareAuthorization.exe').gsub('/', '\\') - notebook_server['directories_root'] = 'C:\\arcgisnotebookserver\\directories' + notebook_server['directories_root'] = 'C:\\arcgisnotebookserver' notebook_server['config_store_connection_string'] = 'C:\\arcgisnotebookserver\\config-store' notebook_server['workspace'] = 'C:\\arcgisnotebookserver\\arcgisworkspace' notebook_server['log_dir'] = 'C:\\arcgisnotebookserver\\logs' @@ -166,22 +166,23 @@ node['arcgis']['notebook_server']['authorization_file_version'] + '/sysgen/keycodes') - notebook_server['directories_root'] = ::File.join(notebook_server_install_dir, - notebook_server_install_subdir, - 'usr', 'directories') - notebook_server['config_store_connection_string'] = ::File.join(notebook_server_install_dir, - notebook_server_install_subdir, - 'usr', 'config-store') - notebook_server['workspace'] = ::File.join(notebook_server_install_dir, - notebook_server_install_subdir, - 'usr', 'arcgisworkspace') - notebook_server['log_dir'] = ::File.join(notebook_server_install_dir, - notebook_server_install_subdir, - 'usr', 'logs') + notebook_server['directories_root'] = '/gisdata/notebookserver' + notebook_server['config_store_connection_string'] = '/gisdata/notebookserver/config-store' + notebook_server['workspace'] = '/gisdata/notebookserver/directories/arcgisworkspace' + notebook_server['log_dir'] = '/gisdata/notebookserver/logs' notebook_server['patches'] = [] case node['arcgis']['version'] + when '11.2' + notebook_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Notebook_Server_Linux_112_188362.tar.gz') + notebook_server['standard_images'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Notebook_Docker_Standard_112_188288.tar.gz') + notebook_server['advanced_images'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Notebook_Docker_Advanced_112_188289.tar.gz') + notebook_server['data_setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Notebook_Server_Samples_Data_Linux_112_188367.tar.gz') when '11.1' notebook_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Notebook_Server_Linux_111_185323.tar.gz') diff --git a/cookbooks/arcgis-notebooks/metadata.rb b/cookbooks/arcgis-notebooks/metadata.rb index 7f46a9a..cbcfcca 100644 --- a/cookbooks/arcgis-notebooks/metadata.rb +++ b/cookbooks/arcgis-notebooks/metadata.rb @@ -4,11 +4,11 @@ license 'Apache-2.0' description 'Installs/Configures ArcGIS Notebook Server' long_description 'Installs/Configures ArcGIS Notebook Server' -version '4.1.0' +version '4.2.0' chef_version '>= 14.0' if defined? chef_version -depends 'arcgis-enterprise', '~> 4.1' -depends 'arcgis-repository', '~> 4.1' +depends 'arcgis-enterprise', '~> 4.2' +depends 'arcgis-repository', '~> 4.2' depends 'docker', '~> 4.9' depends 'iptables', '~> 7.1' diff --git a/cookbooks/arcgis-notebooks/recipes/server.rb b/cookbooks/arcgis-notebooks/recipes/server.rb index 20985d1..643ed6a 100644 --- a/cookbooks/arcgis-notebooks/recipes/server.rb +++ b/cookbooks/arcgis-notebooks/recipes/server.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-notebooks # Recipe:: server # -# Copyright 2019 Esri +# Copyright 2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -72,7 +72,18 @@ directory node['arcgis']['notebook_server']['directories_root'] do owner node['arcgis']['run_as_user'] if node['platform'] != 'windows' - mode '0700' + mode '0755' + end + recursive true + not_if { node['arcgis']['notebook_server']['directories_root'].start_with?('\\\\') || + node['arcgis']['notebook_server']['directories_root'].start_with?('/net/') } + action :create +end + +directory ::File.join(node['arcgis']['notebook_server']['directories_root'], 'directories') do + owner node['arcgis']['run_as_user'] + if node['platform'] != 'windows' + mode '0755' end recursive true not_if { node['arcgis']['notebook_server']['directories_root'].start_with?('\\\\') || @@ -83,7 +94,7 @@ directory node['arcgis']['notebook_server']['config_store_connection_string'] do owner node['arcgis']['run_as_user'] if node['platform'] != 'windows' - mode '0700' + mode '0755' end recursive true only_if { node['arcgis']['notebook_server']['config_store_type'] == 'FILESYSTEM'} @@ -94,8 +105,12 @@ directory node['arcgis']['notebook_server']['workspace'] do owner node['arcgis']['run_as_user'] + if node['platform'] != 'windows' + mode '0777' + end recursive true - only_if { node['platform'] == 'windows' } + not_if { node['arcgis']['notebook_server']['workspace'].start_with?('\\\\') || + node['arcgis']['notebook_server']['workspace'].start_with?('/net/') } action :create end @@ -103,7 +118,7 @@ directory node['arcgis']['notebook_server']['log_dir'] do owner node['arcgis']['run_as_user'] if node['platform'] != 'windows' - mode '0775' + mode '0755' end recursive true not_if { node['arcgis']['notebook_server']['log_dir'].start_with?('\\\\') || diff --git a/cookbooks/arcgis-notebooks/recipes/server_node.rb b/cookbooks/arcgis-notebooks/recipes/server_node.rb index 611ec42..97438eb 100644 --- a/cookbooks/arcgis-notebooks/recipes/server_node.rb +++ b/cookbooks/arcgis-notebooks/recipes/server_node.rb @@ -69,13 +69,6 @@ action :start end -directory node['arcgis']['notebook_server']['workspace'] do - owner node['arcgis']['run_as_user'] - recursive true - only_if { node['platform'] == 'windows' } - action :create -end - # Create local server logs directory directory node['arcgis']['notebook_server']['log_dir'] do owner node['arcgis']['run_as_user'] diff --git a/cookbooks/arcgis-pro/CHANGELOG.md b/cookbooks/arcgis-pro/CHANGELOG.md index a935377..918e624 100644 --- a/cookbooks/arcgis-pro/CHANGELOG.md +++ b/cookbooks/arcgis-pro/CHANGELOG.md @@ -3,6 +3,10 @@ arcgis-pro cookbook CHANGELOG This file is used to list changes made in each version of the arcgis-pro cookbook. +4.2.0 +----- +- Added support for ArcGIS Pro 3.2. + 4.1.0 ----- - Added support for ArcGIS Pro 3.0.3/3.1. diff --git a/cookbooks/arcgis-pro/README.md b/cookbooks/arcgis-pro/README.md index a0e168f..ae94930 100644 --- a/cookbooks/arcgis-pro/README.md +++ b/cookbooks/arcgis-pro/README.md @@ -3,7 +3,7 @@ layout: default title: "arcgis-pro cookbook" category: cookbooks item: arcgis-pro -version: 4.1.0 +version: 4.2.0 latest: true --- @@ -26,6 +26,7 @@ This cookbook installs and configures ArcGIS Pro. * 3.0 * 3.0.3 * 3.1 +* 3.2 ## Platforms @@ -45,7 +46,7 @@ The following cookbooks are required: ## Attributes -* `node['arcgis']['pro']['version']` = ArcGIS Pro version. Default version is `3.1` +* `node['arcgis']['pro']['version']` = ArcGIS Pro version. Default version is `3.2` * `node['arcgis']['pro']['setup_archive']` = Path to ArcGIS Pro setup archive. Default value depends on the `node['arcgis']['pro']['version']` attribute value. * `node['arcgis']['pro']['setup']` = The location of the ArcGIS Pro setup msi. Default location is `C:\Temp\ArcGISPro\ArcGISPro.msi`. * `node['arcgis']['pro']['install_dir']` = ArcGIS Pro installation directory. Default installation directory is `%ProgramFiles%\ArcGIS\Pro`. @@ -61,9 +62,9 @@ The following cookbooks are required: * `node['arcgis']['repository']['archives']` = Path to the folder with the ArcGIS Pro software setup archives. Default path is `%USERPROFILE%\Software\Esri`. * `node['arcgis']['repository']['patches']` = Path to the folder with hot fixes and patches for ArcGIS Pro software. The default path is `%USERPROFILE%\Software\Esri\Patches`. * `node['arcgis']['patches']['local_patch_folder']` = Path to a local folder with hot fixes and patches for ArcGIS Pro software. The default path is `%USERPROFILE%\Software\Esri\Patches`. -* `node['ms_dotnet']['version']` = Microsoft .NET Framework version. The default version is `6.0.5`. -* `node['ms_dotnet']['setup']` = Microsoft .NET Framework setup path. The default path is `%USERPROFILE%\Software\Esri\windowsdesktop-runtime-6.0.5-win-x64.exe`. -* `node['ms_dotnet']['url']` = Microsoft .NET Framework setup URL. The default URL is `https://download.visualstudio.microsoft.com/download/pr/5681bdf9-0a48-45ac-b7bf-21b7b61657aa/bbdc43bc7bf0d15b97c1a98ae2e82ec0/windowsdesktop-runtime-6.0.5-win-x64.exe`. +* `node['ms_dotnet']['version']` = Microsoft .NET Framework version. The default version is `6.0.23`. +* `node['ms_dotnet']['setup']` = Microsoft .NET Framework setup path. The default path is `%USERPROFILE%\Software\Esri\windowsdesktop-runtime-6.0.23-win-x64.exe`. +* `node['ms_dotnet']['url']` = Microsoft .NET Framework setup URL. The default URL is `https://download.visualstudio.microsoft.com/download/pr/83d32568-c5a2-4117-9591-437051785f41/e75171da01b1fa5c796660dc4b96beed/windowsdesktop-runtime-6.0.23-win-x64.exe`. ## Recipes @@ -77,14 +78,14 @@ Attributes used by the recipe: { "arcgis": { "pro": { - "version": "3.1", - "authorization_file_version": "11.1", - "setup": "C:\\ArcGIS\\ArcGIS Pro 3.1\\ArcGISPro\\ArcGISPro.msi", + "version": "3.2", + "authorization_file_version": "11.2", + "setup": "C:\\ArcGIS\\ArcGIS Pro 3.2\\ArcGISPro\\ArcGISPro.msi", "allusers": 1, "authorization_type": "SINGLE_USE", "software_class": "Professional", "portal_list": "https://domain.com/portal", - "authorization_file": "C:\\ArcGIS\\11.0\\Authorization_Files\\Pro.prvc" + "authorization_file": "C:\\ArcGIS\\11.2\\Authorization_Files\\Pro.prvc" } }, "run_list": [ @@ -103,8 +104,8 @@ Attributes used by the recipe: { "arcgis": { "pro": { - "version": "3.1", - "setup": "C:\\ArcGIS\\ArcGIS Pro 3.1\\ArcGISPro\\ArcGISPro.msi", + "version": "3.2", + "setup": "C:\\ArcGIS\\ArcGIS Pro 3.2\\ArcGISPro\\ArcGISPro.msi", "allusers": 1 } }, @@ -123,8 +124,8 @@ Attributes used by the recipe: ```JSON { "ms_dotnet": { - "version": "6.0.5", - "setup": "C:\\Software\\Archives\\windowsdesktop-runtime-6.0.5-win-x64.exe" + "version": "6.0.23", + "setup": "C:\\Software\\Archives\\windowsdesktop-runtime-6.0.23-win-x64.exe" }, "run_list": [ "recipe[arcgis-pro::ms_dotnet]" @@ -142,7 +143,7 @@ Attributes used by the recipe: { "arcgis": { "pro": { - "version": "3.1" + "version": "3.2" } }, "run_list":[ diff --git a/cookbooks/arcgis-pro/attributes/default.rb b/cookbooks/arcgis-pro/attributes/default.rb index 1d1140b..59ef17a 100644 --- a/cookbooks/arcgis-pro/attributes/default.rb +++ b/cookbooks/arcgis-pro/attributes/default.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-pro # Attributes:: default # -# Copyright 2015-2022 Esri +# Copyright 2015-2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -21,7 +21,7 @@ default['arcgis']['pro'].tap do |pro| case node['platform'] when 'windows' - pro['version'] = '3.1' + pro['version'] = '3.2' pro['setup'] = ::File.join(node['arcgis']['repository']['setups'], 'ArcGIS Pro ' + node['arcgis']['pro']['version'], @@ -43,9 +43,13 @@ ENV['ProgramW6432'] + '\\ArcGIS\\Pro' end - default['ms_dotnet']['version'] = '6.0.5' + default['ms_dotnet']['version'] = '6.0.23' case node['arcgis']['pro']['version'] + when '3.2' + pro['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGISPro_32_188049.exe').gsub('/', '\\') + pro['product_code'] = '{76DFAD3E-96C5-4544-A6B4-3774DBF88B4E}' when '3.1' pro['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGISPro_31_184994.exe').gsub('/', '\\') @@ -102,9 +106,13 @@ Chef::Log.warn 'Unsupported ArcGIS Pro version' end - pro['authorization_file_version'] = '11.0' + pro['authorization_file_version'] = '11.2' case node['ms_dotnet']['version'] + when '6.0.23' + default['ms_dotnet']['url'] = 'https://download.visualstudio.microsoft.com/download/pr/83d32568-c5a2-4117-9591-437051785f41/e75171da01b1fa5c796660dc4b96beed/windowsdesktop-runtime-6.0.23-win-x64.exe' + default['ms_dotnet']['setup'] = ::File.join(node['arcgis']['repository']['archives'], + 'windowsdesktop-runtime-6.0.23-win-x64.exe').gsub('/', '\\') when '6.0.5' default['ms_dotnet']['url'] = 'https://download.visualstudio.microsoft.com/download/pr/5681bdf9-0a48-45ac-b7bf-21b7b61657aa/bbdc43bc7bf0d15b97c1a98ae2e82ec0/windowsdesktop-runtime-6.0.5-win-x64.exe' default['ms_dotnet']['setup'] = ::File.join(node['arcgis']['repository']['archives'], diff --git a/cookbooks/arcgis-pro/metadata.rb b/cookbooks/arcgis-pro/metadata.rb index 724b432..fbc638d 100644 --- a/cookbooks/arcgis-pro/metadata.rb +++ b/cookbooks/arcgis-pro/metadata.rb @@ -4,10 +4,10 @@ license 'Apache 2.0' description 'Installs and configures ArcGIS Pro' long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version '4.1.0' +version '4.2.0' chef_version '>= 14.0' if defined? chef_version -depends 'arcgis-repository', '~> 4.1' +depends 'arcgis-repository', '~> 4.2' depends 'windows', '~> 5.3' supports 'windows' diff --git a/cookbooks/arcgis-repository/CHANGELOG.md b/cookbooks/arcgis-repository/CHANGELOG.md index efb6b64..d19ab8e 100644 --- a/cookbooks/arcgis-repository/CHANGELOG.md +++ b/cookbooks/arcgis-repository/CHANGELOG.md @@ -3,21 +3,27 @@ arcgis-repository cookbook CHANGELOG This file is used to list changes made in each version of the arcgis-repository cookbook. +4.2.0 +----- + +- Added support for ArcGIS Enterprise 11.2. +- Added support for Rocky Linux and AlmaLinux platforms. + 4.1.0 ----- -- Added support for ArcGIS 11.1. +- Added support for ArcGIS Enterprise 11.1. 4.0.0 ----- -- Added support for ArcGIS 11.0. +- Added support for ArcGIS Enterprise 11.0. 3.8.0 ----- -- Added support for ArcGIS 10.9.1. +- Added support for ArcGIS Enterprise 10.9.1. 3.7.0 ----- -- Added support for ArcGIS 10.9. +- Added support for ArcGIS Enterprise 10.9. 3.6.1 ----- diff --git a/cookbooks/arcgis-repository/README.md b/cookbooks/arcgis-repository/README.md index 92f8c1e..f6a6708 100644 --- a/cookbooks/arcgis-repository/README.md +++ b/cookbooks/arcgis-repository/README.md @@ -3,7 +3,7 @@ layout: default title: "arcgis-repository cookbook" category: cookbooks item: arcgis-repository -version: 4.1.0 +version: 4.2.0 latest: true --- @@ -32,6 +32,8 @@ arcgis-repository cookbook downloads ArcGIS software setup archives from remote * Red Hat Enterprise Linux Server 8 * SUSE Linux Enterprise Server 15 * Oracle Linux 8 +* Rocky Linux 8 +* AlmaLinux 9 ## Dependencies diff --git a/cookbooks/arcgis-repository/libraries/patches_client.rb b/cookbooks/arcgis-repository/libraries/patches_client.rb index 02116d4..0001cf4 100644 --- a/cookbooks/arcgis-repository/libraries/patches_client.rb +++ b/cookbooks/arcgis-repository/libraries/patches_client.rb @@ -46,7 +46,7 @@ def get_patches(products, versions) if versions.include?(version_patches['version']) version_patches['patches'].each do |patch| patch_products = patch['Products'] - if products.empty? || products.include?(patch_products) + if products.empty? || products.any? { |product| patch_products.include?(product) } patches.append(patch) end end diff --git a/cookbooks/arcgis-repository/metadata.rb b/cookbooks/arcgis-repository/metadata.rb index cf07773..fab3f82 100644 --- a/cookbooks/arcgis-repository/metadata.rb +++ b/cookbooks/arcgis-repository/metadata.rb @@ -4,7 +4,7 @@ license 'Apache-2.0' description 'Downloads ArcGIS software setups from remote to local repositories' long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version '4.1.0' +version '4.2.0' chef_version '>= 14.0' if defined? chef_version depends 's3_file', '~> 2.8' @@ -16,6 +16,8 @@ supports 'redhat' supports 'centos' supports 'suse' +supports 'rocky' +supports 'almalinux' recipe 'arcgis-repository::aws_cli', 'Downloads and installs AWS CLI on the machine.' recipe 'arcgis-repository::default', 'Downloads files from remote ArcGIS software repository to local repository.' diff --git a/cookbooks/arcgis-workflow-manager/CHANGELOG.md b/cookbooks/arcgis-workflow-manager/CHANGELOG.md index 348652c..9356acd 100644 --- a/cookbooks/arcgis-workflow-manager/CHANGELOG.md +++ b/cookbooks/arcgis-workflow-manager/CHANGELOG.md @@ -2,6 +2,10 @@ This file is used to list changes made in each version of the arcgis-workflow-manager cookbook. +## 4.2.0 + +- Added Support for ArcGIS Workflow Manager Server 11.2. + ## 4.1.0 - Added Support for ArcGIS Workflow Manager Server 11.1. diff --git a/cookbooks/arcgis-workflow-manager/README.md b/cookbooks/arcgis-workflow-manager/README.md index 1cdc590..d4cd27d 100644 --- a/cookbooks/arcgis-workflow-manager/README.md +++ b/cookbooks/arcgis-workflow-manager/README.md @@ -3,7 +3,7 @@ layout: default title: "arcgis-workflow-manager cookbook" category: cookbooks item: arcgis-workflow-manager -version: 4.1.0 +version: 4.2.0 latest: true --- @@ -18,6 +18,7 @@ This cookbook installs and configures ArcGIS Workflow Manager Server and Web App * 10.9.1 * 11.0 * 11.1 +* 11.2 ## Supported ArcGIS software @@ -164,7 +165,7 @@ Attributes used by the recipe: "setup_archive": "C:\\Software\\Archives\\ArcGIS_Workflow_Manager_Server_110_182937.exe", "setup": "C:\\Software\\Setups\\ArcGIS11.0\\WorkflowManagerServer\\Setup.exe", "authorization_file": "C:\\Software\\AuthorizationFiles\\11.0\\Workflow_Manager_Server.prvc", - "authorization_file_version": "11.1", + "authorization_file_version": "11.2", "ports": "9830,9820,9840,9880,13443" } }, diff --git a/cookbooks/arcgis-workflow-manager/attributes/server.rb b/cookbooks/arcgis-workflow-manager/attributes/server.rb index 46b3591..5f23e6f 100644 --- a/cookbooks/arcgis-workflow-manager/attributes/server.rb +++ b/cookbooks/arcgis-workflow-manager/attributes/server.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-workflow-manager # Attributes:: server # -# Copyright 2022 Esri +# Copyright 2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -38,38 +38,46 @@ when 'windows' server['setup'] = ::File.join(node['arcgis']['repository']['setups'], 'ArcGIS ' + node['arcgis']['version'], - 'WorkflowManagerServer', 'Setup.exe') + 'ArcGISWorkflowManagerServer', 'Setup.exe') case node['arcgis']['version'] + when '11.2' + server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Workflow_Manager_Server_112_188216.exe').gsub('/', '\\') + server['product_code'] = '{434D85E9-9CFB-4683-9FFF-5C38CDEBD676}' + server['patch_registry'] ='SOFTWARE\\ESRI\\workflowmanager\\Server\\11.2\\Updates' when '11.1' server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Workflow_Manager_Server_111_185267.exe').gsub('/', '\\') - server['setup'] = ::File.join(node['arcgis']['repository']['setups'], - 'ArcGIS ' + node['arcgis']['version'], - 'ArcGISWorkflowManagerServer', 'Setup.exe') server['product_code'] = '{BCCADE20-4363-4D62-AE55-BB51329210CF}' server['patch_registry'] ='SOFTWARE\\ESRI\\workflowmanager\\Server\\11.1\\Updates' when '11.0' server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Workflow_Manager_Server_110_182937.exe').gsub('/', '\\') - server['setup'] = ::File.join(node['arcgis']['repository']['setups'], - 'ArcGIS ' + node['arcgis']['version'], - 'ArcGISWorkflowManagerServer', 'Setup.exe') server['product_code'] = '{1B27C0F2-81E9-4F1F-9506-46F937605674}' server['patch_registry'] ='SOFTWARE\\ESRI\\workflowmanager\\Server\\11.0\\Updates' when '10.9.1' server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Workflow_Manager_Server_1091_180100.exe').gsub('/', '\\') + server['setup'] = ::File.join(node['arcgis']['repository']['setups'], + 'ArcGIS ' + node['arcgis']['version'], + 'WorkflowManagerServer', 'Setup.exe') server['product_code'] = '{9EF4FCC5-64EE-4719-B050-41E5AB85857B}' server['patch_registry'] ='SOFTWARE\\ESRI\\workflowmanager\\Server\\10.9\\Updates' when '10.9' server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Workflow_Manager_Server_109_177832.exe').gsub('/', '\\') + server['setup'] = ::File.join(node['arcgis']['repository']['setups'], + 'ArcGIS ' + node['arcgis']['version'], + 'WorkflowManagerServer', 'Setup.exe') server['product_code'] = '{80C5D637-B20F-4D11-882C-33C17918EF0E}' server['patch_registry'] ='SOFTWARE\\ESRI\\workflowmanager\\Server\\10.9\\Updates' when '10.8.1' server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Workflow_Manager_Server_1081_175261.exe').gsub('/', '\\') + server['setup'] = ::File.join(node['arcgis']['repository']['setups'], + 'ArcGIS ' + node['arcgis']['version'], + 'WorkflowManagerServer', 'Setup.exe') server['product_code'] = '{C0F0FCAB-2B65-4B8E-8614-531690B7CF9C}' server['patch_registry'] ='SOFTWARE\\ESRI\\workflowmanager\\Server\\10.8\\Updates' else @@ -78,29 +86,36 @@ else # node['platform'] == 'linux' server['setup'] = ::File.join(node['arcgis']['repository']['setups'], node['arcgis']['version'], - 'WorkflowManagerServer', 'Setup.sh') + 'ArcGISWorkflowManagerServer', 'Setup.sh') + case node['arcgis']['version'] + when '11.2' + server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Workflow_Manager_Server_112_188363.tar.gz') when '11.1' server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Workflow_Manager_Server_111_185325.tar.gz') - server['setup'] = ::File.join(node['arcgis']['repository']['setups'], - node['arcgis']['version'], - 'ArcGISWorkflowManagerServer', 'Setup.sh') when '11.0' server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Workflow_Manager_Server_110_183046.tar.gz') - server['setup'] = ::File.join(node['arcgis']['repository']['setups'], - node['arcgis']['version'], - 'ArcGISWorkflowManagerServer', 'Setup.sh') when '10.9.1' server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Workflow_Manager_Server_1091_180228.tar.gz') + server['setup'] = ::File.join(node['arcgis']['repository']['setups'], + node['arcgis']['version'], + 'WorkflowManagerServer', 'Setup.sh') when '10.9' server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Workflow_Manager_Server_109_177910.tar.gz') + server['setup'] = ::File.join(node['arcgis']['repository']['setups'], + node['arcgis']['version'], + 'WorkflowManagerServer', 'Setup.sh') when '10.8.1' server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Workflow_Manager_Server_1081_175335.tar.gz') + server['setup'] = ::File.join(node['arcgis']['repository']['setups'], + node['arcgis']['version'], + 'WorkflowManagerServer', 'Setup.sh') else Chef::Log.warn 'Unsupported ArcGIS Workflow Manager Server version' end diff --git a/cookbooks/arcgis-workflow-manager/metadata.rb b/cookbooks/arcgis-workflow-manager/metadata.rb index 87b8876..d60453b 100644 --- a/cookbooks/arcgis-workflow-manager/metadata.rb +++ b/cookbooks/arcgis-workflow-manager/metadata.rb @@ -4,11 +4,11 @@ license 'Apache-2.0' description 'Installs/Configures ArcGIS Workflow Manager Server and Web App' long_description 'Installs/Configures ArcGIS Workflow Manager Server and Web App' -version '4.1.0' +version '4.2.0' chef_version '>= 14.0' -depends 'arcgis-enterprise', '~> 4.1' -depends 'arcgis-repository', '~> 4.1' +depends 'arcgis-enterprise', '~> 4.2' +depends 'arcgis-repository', '~> 4.2' supports 'windows' supports 'ubuntu' diff --git a/cookbooks/arcgis/metadata.rb b/cookbooks/arcgis/metadata.rb index 3ab9878..658e42c 100644 --- a/cookbooks/arcgis/metadata.rb +++ b/cookbooks/arcgis/metadata.rb @@ -4,19 +4,19 @@ license 'Apache 2.0' description 'ArcGIS Chef Cookbooks' long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version '4.1.0' +version '4.2.0' chef_version '>= 14.0' if defined? chef_version -depends 'arcgis-desktop', '~> 4.1' -depends 'arcgis-egdb', '~> 1.0' -depends 'arcgis-enterprise', '~> 4.1' -depends 'arcgis-geoevent', '~> 4.1' -depends 'arcgis-notebooks', '~> 4.1' -depends 'arcgis-mission', '~> 4.1' -depends 'arcgis-insights', '~> 4.1' -depends 'arcgis-pro', '~> 4.1' -depends 'arcgis-repository', '~> 4.1' -depends 'arcgis-workflow-manager', '~> 4.1' +depends 'arcgis-desktop', '~> 4.2' +depends 'arcgis-egdb', '~> 1.1' +depends 'arcgis-enterprise', '~> 4.2' +depends 'arcgis-geoevent', '~> 4.2' +depends 'arcgis-notebooks', '~> 4.2' +depends 'arcgis-mission', '~> 4.2' +depends 'arcgis-insights', '~> 4.2' +depends 'arcgis-pro', '~> 4.2' +depends 'arcgis-repository', '~> 4.2' +depends 'arcgis-workflow-manager', '~> 4.2' depends 'esri-iis', '~> 0.2' depends 'esri-tomcat', '~> 0.2' @@ -26,6 +26,8 @@ supports 'centos' supports 'oracle' supports 'suse' +supports 'rocky' +supports 'almalinux' issues_url 'https://github.com/Esri/arcgis-cookbook/issues' if respond_to?(:issues_url) source_url 'https://github.com/Esri/arcgis-cookbook' if respond_to?(:source_url) diff --git a/cookbooks/esri-tomcat/CHANGELOG.md b/cookbooks/esri-tomcat/CHANGELOG.md index 948b505..d53b92a 100644 --- a/cookbooks/esri-tomcat/CHANGELOG.md +++ b/cookbooks/esri-tomcat/CHANGELOG.md @@ -4,6 +4,11 @@ esri-tomcat cookbook CHANGELOG This file is used to list changes made in each version of the esri-tomcat cookbook. +0.2.2 +----- + +- Added support for Rocky Linux and AlmaLinux platforms. + 0.2.1 ----- diff --git a/cookbooks/esri-tomcat/README.md b/cookbooks/esri-tomcat/README.md index 816a4db..f0f8a58 100644 --- a/cookbooks/esri-tomcat/README.md +++ b/cookbooks/esri-tomcat/README.md @@ -3,7 +3,7 @@ layout: default title: "esri-tomcat cookbook" category: cookbooks item: esri-tomcat -version: 0.2.1 +version: 0.2.2 latest: true --- @@ -11,15 +11,14 @@ latest: true This cookbook installs and configures Apache Tomcat for use with ArcGIS Web Adaptor. -Requirements ------------- - -## Platforms +## Supported Platforms * Ubuntu Server 18.04 and 20.04 LTS * Red Hat Enterprise Linux Server 8 * SUSE Linux Enterprise Server 15 * Oracle Linux 8 +* Rocky Linux 8 +* AlmaLinux 9 ## Dependencies diff --git a/cookbooks/esri-tomcat/metadata.rb b/cookbooks/esri-tomcat/metadata.rb index 354bbe5..41772a2 100644 --- a/cookbooks/esri-tomcat/metadata.rb +++ b/cookbooks/esri-tomcat/metadata.rb @@ -4,14 +4,14 @@ license 'Apache 2.0' description 'Installs/Configures esri-tomcat' long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version '0.2.1' +version '0.2.2' chef_version '>= 14.0' depends 'tomcat', '>= 3.2.0' depends 'openssl', '~> 8.5' depends 'iptables', '~> 7.1' -%w(ubuntu redhat centos oracle suse).each do |os| +%w(ubuntu redhat centos oracle suse rocky almalinux).each do |os| supports os end diff --git a/cookbooks/esri-tomcat/recipes/default.rb b/cookbooks/esri-tomcat/recipes/default.rb index 221312d..91e70fa 100644 --- a/cookbooks/esri-tomcat/recipes/default.rb +++ b/cookbooks/esri-tomcat/recipes/default.rb @@ -23,7 +23,7 @@ if node['tomcat']['forward_ports'] # Forward port 80 to 8080 and 443 to 8443 using firewalld or iptables. case node['platform'] - when 'centos', 'redhat', 'rhel', 'amazon', 'oracle', 'suse' + when 'centos', 'redhat', 'rhel', 'amazon', 'oracle', 'suse', 'rocky', 'almalinux' include_recipe 'esri-tomcat::firewalld' else include_recipe 'esri-tomcat::iptables' diff --git a/cookbooks/esri-tomcat/recipes/openjdk.rb b/cookbooks/esri-tomcat/recipes/openjdk.rb index aba43b5..1290fac 100644 --- a/cookbooks/esri-tomcat/recipes/openjdk.rb +++ b/cookbooks/esri-tomcat/recipes/openjdk.rb @@ -28,6 +28,11 @@ action :run end +execute 'remove java alternatives' do + command 'update-alternatives --remove-all java' + only_if 'update-alternatives --list java' +end + execute 'update java alternatives' do command "update-alternatives --install /usr/bin/java java #{node['java']['install_path']}/jdk-#{node['java']['version']}/bin/java 10" end diff --git a/templates/arcgis-datastore/11.2/README.md b/templates/arcgis-datastore/11.2/README.md new file mode 100644 index 0000000..25cda90 --- /dev/null +++ b/templates/arcgis-datastore/11.2/README.md @@ -0,0 +1,558 @@ +--- +layout: default +title: "arcgis-datastore template" +category: templates +item: arcgis-datastore +version: "11.2" +latest: true +--- + +# arcgis-datastore Deployment Template + +The template contains Chef Zero JSON files with sample recipes and attributes for ArcGIS Data Store machine roles. + +## System Requirements + +Consult the ArcGIS Data Store 11.2 system requirements documentation for the required/recommended hardware specification. + +### Recommended Chef Client versions + +* Chef Client 16, or +* Cinc Client 16 + +### Recommended ArcGIS Chef Cookbooks versions + +* 4.2.0 + +### Supported Platforms + +* Windows + * Windows Server 2016 Standard and Datacenter + * Windows Server 2019 Standard and Datacenter + * Windows Server 2022 Standard and Datacenter +* Linux + * Ubuntu Server 18.04 LTS + * Ubuntu Server 20.04 LTS + * Red Hat Enterprise Linux Server 8 + +For Linux deployments, enable running sudo without a password for the user running the Chef client. + +### Required ArcGIS Software Repository Content + +The following ArcGIS setup archives must be available in the ArcGIS software repository directory: + +Windows + +* ArcGIS_DataStore_Windows_112_188252.exe + +Linux + +* ArcGIS_DataStore_Linux_112_188340.tar.gz + +> The ArcGIS software repository directory is specified by the arcgis.repository.archives attribute. By default, it is set to local directory C:\Software\Archives on Windows and /opt/software/archives on Linux. However, it is recommended to create an ArcGIS software repository located on a separate file server that is accessible from all the machines in the deployment for the user account used to run the Chef client. + +> Ensure that the directory specified by the arcgis.repository.setups attribute has enough space for setups extracted from the setup archives. + +## Initial Deployment Workflow + +The following is the recommended initial deployment workflow for the template machine roles: + +1. Install [Chef Client](https://docs.chef.io/chef_install_script/) or [Cinc Client](https://cinc.sh/start/client/). +2. Download and extract [ArcGIS Chef cookbooks](https://github.com/Esri/arcgis-cookbook/releases) into the Chef workspace directory. +3. Update the required attributes within the template JSON files. +4. Run the Chef client on the machines as administrator/superuser using the JSON files specific to the machine roles (one machine can be used in multiple roles, though this is not recommended especially for spatiotemporal big data stores or graph stores). + +> For additional customization options, see the list of supported attributes described in the arcgis-enterprise cookbook README file. + +### File Server Machine + +```shell +chef-client -z -j arcgis-datastore-fileserver.json +``` + +### Relational Data Store + +On the primary machine: + +```shell +chef-client -z -j arcgis-datastore-relational-primary.json +``` + +On the standby machine: + +```shell +chef-client -z -j arcgis-datastore-relational-standby.json +``` + +### Tile Cache Data Store in Cluster Mode + +On the first machine: + +```shell +chef-client -z -j arcgis-datastore-tilecache-cluster.json +``` + +On all additional machines: + +```shell +chef-client -z -j arcgis-datastore-tilecache-cluster-node.json +``` + +### Tile Cache Data Store in Primary-standby Mode + +On the primary machine: + +```shell +chef-client -z -j arcgis-datastore-tilecache-primary.json +``` + +On the standby machine: + +```shell +chef-client -z -j arcgis-datastore-tilecache-standby.json +``` + +### Spatiotemporal Big Data Store + +On the first machine: + +```shell +chef-client -z -j arcgis-datastore-spatiotemporal.json +``` + +On all additional machines: + +```shell +chef-client -z -j arcgis-datastore-spatiotemporal-node.json +``` + +### Graph Store + +On the primary machine: + +```shell +chef-client -z -j arcgis-datastore-graph-primary.json +``` + +On the standby machine: + +```shell +chef-client -z -j arcgis-datastore-graph-standby.json +``` + + +### Object Data Store in Cluster Mode + +On the first machine: + +```shell +chef-client -z -j arcgis-datastore-object.json +``` + +For single machine object store configurations, change arcgis.data_store.mode attribute in arcgis-datastore-object.json to 'primaryStandby'. + +On all additional machines: + +```shell +chef-client -z -j arcgis-datastore-object-node.json +``` + +## Install ArcGIS Data Store Patches and Updates + +To install software patches and updates after the initial installation or upgrade of ArcGIS Data Store, download ArcGIS Data Store patches from the global ArcGIS software repository into a local patches folder: + +```shell +chef-client -z -j arcgis-datastore-patches.json +``` + +Check the list of patches specified by the arcgis.data_store.patches attribute in the arcgis-datastore-patches-apply.json file, and apply the patches: + +```shell +chef-client -z -j arcgis-datastore-patches-apply.json +``` + +## Upgrade Workflow + +> It's not recommended to use the templates to upgrade if the data stores were not initially deployed using the templates. + +To upgrade an ArcGIS Data Store deployed using the arcgis-datastore deployment template to the 11.2 version, you will need: + +* ArcGIS Data Store 11.2 setup archive, +* The original JSON files used for the initial deployment or the last upgrade. + +### General Upgrade Notes + +Upgrading the ArcGIS Data Store deployment may take several hours. During that time, the deployment will be unavailable. + +Before starting the upgrade process, it's highly recommended to create a backup of your data store and store your backup files in a remote, secure location. To prevent operating system updates during the upgrade process, it's recommended to install all the recommended/required OS updates before upgrading ArcGIS Data Store. + +The attributes defined in the upgrade JSON files must match the actual deployment configuration. To make upgrade JSON files, update the 11.2 template JSON files by copying the attribute values from the JSON files used for the initial deployment or the last upgrade. + +> In some cases, the difference between the original and the new deployment template JSON files will be only in the value of the arcgis.version attribute. In those cases, the easiest way to make the upgrade JSON files is to change the arcgis.version attribute values to the new version. But the new deployment templates might change recipes in the run_list, add new attributes, and introduce other significant changes. To keep the upgrade JSON files in sync with the new deployment templates version, it's recommended to update the new deployment templates instead of the original JSON files. + +The copy_attributes.rb tool can be used to copy attribute values from one JSON file to another. The tool copies only attibutes present in the destination template JSON file. The tool is located in the templates/tools directory in the ArcGIS cookbooks archive. To run copy_attributes.rb, use the chef-apply command that comes with the Chef/Cinc Client. + +```shell +chef-apply ./templates/tools/copy_attributes.rb +``` + +After running the tool, update the destination JSON file attributes that are specific to the new JSON file template and attributes specific to the new ArcGIS Data Store version. + +> ArcGIS Server must be upgraded before upgrading ArcGIS Data Store. + +### Upgrade from 10.9, 10.9.1, 11.0, or 11.1 + +Upgrading ArcGIS Data Store deployments from 10.9, 10.9.1, 11.0, or 11.1 to 11.2 requires upgrading all ArcGIS Data Store machines. The file server machine does not require any changes. + +#### Upgrading Relational Data Store + +> Skip step 1 for single machine ArcGIS Data Store deployments. + +1. Upgrade the standby machine. + + Copy attributes from the original `arcgis-datastore-relational-standby.json` JSON file created from the 10.9, 10.9.1, 11.0, or 11.1 arcgis-datastore template to the `arcgis-datastore-install.json` and `arcgis-datastore-relational-standby.json` files of the 11.2 arcgis-datastore template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /arcgis-datastore-relational-standby.json /arcgis-datastore-install.json + + chef-apply ./templates/tools/copy_attributes.rb /arcgis-datastore-relational-standby.json /arcgis-datastore-relational-standby.json + ``` + + Verify that attributes are correct in `arcgis-datastore-install.json` and `arcgis-datastore-relational-standby.json`. + + Run the following command to upgrade ArcGIS Data Store: + + ```shell + chef-client -z -j /arcgis-datastore-install.json + ``` + + Save the updated 11.2 `arcgis-datastore-relational-standby.json` file for future upgrades from 11.2. + +2. Upgrade the primary machine. + + Copy attributes from the original `arcgis-datastore-relational-primary.json` JSON file created from the 10.9, 10.9.1, 11.0, or 11.1 arcgis-datastore template to the `arcgis-datastore-relational-primary.json` file of the 11.2 arcgis-datastore template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /arcgis-datastore-relational-primary.json /arcgis-datastore-relational-primary.json + ``` + + Verify that attributes are correct in `arcgis-datastore-relational-primary.json`. + + Run the following command to upgrade ArcGIS Data Store: + + ```shell + chef-client -z -j /arcgis-datastore-relational-primary.json + ``` + +#### Upgrade Tile Cache Data Store in Primary-Standby Mode + +> Skip step 1 for single machine ArcGIS Data Store deployments. + +1. Upgrade the standby machine. + + Copy attributes from the original `arcgis-datastore-tilecache-standby.json` JSON file created from the 10.9, 10.9.1, 11.0, or 11.1 arcgis-datastore template to the `arcgis-datastore-install.json` and `arcgis-datastore-tilecache-standby.json` files of the 11.2 arcgis-datastore template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /arcgis-datastore-tilecache-standby.json /arcgis-datastore-install.json + + chef-apply ./templates/tools/copy_attributes.rb /arcgis-datastore-tilecache-standby.json /arcgis-datastore-tilecache-standby.json + ``` + + Verify that attributes are correct in `arcgis-datastore-install.json` and `arcgis-datastore-tilecache-standby.json`. + + Run the following command to upgrade ArcGIS Data Store: + + ```shell + chef-client -z -j /arcgis-datastore-install.json + ``` + + Save the updated 11.2 `arcgis-datastore-tilecache-standby.json` file for future upgrades from 11.2. + +2. Upgrade the primary machine. + + Copy attributes from the original `arcgis-datastore-tilecache-primary.json` JSON file created from the 10.9, 10.9.1, 11.0, or 11.1 arcgis-datastore template to the `arcgis-datastore-tilecache-primary.json` file of the 11.2 arcgis-datastore template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /arcgis-datastore-relational-primary.json /arcgis-datastore-tilecache-primary.json + ``` + + Verify that attributes are correct in `arcgis-datastore-tilecache-primary.json`. + + Run the following command to upgrade ArcGIS Data Store: + + ```shell + chef-client -z -j /arcgis-datastore-tilecache-primary.json + ``` + + +#### Upgrade Tile Cache Data Store in Cluster Mode + +> Skip step 1 for single machine ArcGIS Data Store deployments. + +1. Upgrade all machines in the cluster. + + Copy attributes from the original `arcgis-datastore-tilecache-cluster-node.json` JSON file created from the 10.9, 10.9.1, 11.0, or 11.1 arcgis-datastore template to the `arcgis-datastore-install.json` and `arcgis-datastore-tilecache-cluster-node.json` files of the 11.2 arcgis-datastore template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /arcgis-datastore-tilecache-cluster-node.json /arcgis-datastore-install.json + + chef-apply ./templates/tools/copy_attributes.rb /arcgis-datastore-tilecache-cluster-node.json /arcgis-datastore-tilecache-cluster-node.json + ``` + + Verify that attributes are correct in `arcgis-datastore-install.json` and `arcgis-datastore-tilecache-cluster-node.json`. + + Run the following command to upgrade ArcGIS Data Store: + + ```shell + chef-client -z -j /arcgis-datastore-install.json + ``` + + Save the updated 11.2 `arcgis-datastore-tilecache-cluster-node.json` file for future upgrades from 11.2. + +2: Complete the upgrade on any machine in the cluster. + + Copy attributes from the original `arcgis-datastore-tilecache-cluster.json` JSON file created from the 10.9, 10.9.1, 11.0, or 11.1 arcgis-datastore template to the `arcgis-datastore-tilecache-cluster.json` file of the 11.2 arcgis-datastore template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /arcgis-datastore-relational-cluster.json /arcgis-datastore-tilecache-cluster.json + ``` + + Verify that attributes are correct in `arcgis-datastore-tilecache-cluster.json`. + + Run the following command to upgrade ArcGIS Data Store: + + ```shell + chef-client -z -j /arcgis-datastore-tilecache-cluster.json + ``` + +#### Upgrade Spatiotemporal Big Data Store + +1. Upgrade all machines in the cluster + + Copy attributes from the original `arcgis-datastore-spatiotemporal-node.json` JSON file created from 10.9, 10.9.1, 11.0, or 11.1 arcgis-datastore template to `arcgis-datastore-install.json` and `arcgis-datastore-spatiotemporal-node.json` of 11.2 arcgis-datastore template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /arcgis-datastore-spatiotemporal-node.json /arcgis-datastore-install.json + + chef-apply ./templates/tools/copy_attributes.rb /arcgis-datastore-spatiotemporal-node.json /arcgis-datastore-spatiotemporal-node.json + ``` + + Verify that attributes are correct in `arcgis-datastore-install.json` and `arcgis-datastore-spatiotemporal-node.json`. + + Run the following command to upgrade ArcGIS Data Store: + + ```shell + chef-client -z -j /arcgis-datastore-install.json + ``` + + Save the updated 11.2 `arcgis-datastore-spatiotemporal-node.json` file for future upgrades from 11.2. + +2. Complete the upgrade on any machine in the cluster + + Copy attributes from the original `arcgis-datastore-spatiotemporal.json` JSON file created from the 10.9, 10.9.1, 11.0, or 11.1 arcgis-datastore template to the `arcgis-datastore-spatiotemporal.json` file of the 11.2 arcgis-datastore template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /arcgis-datastore-spatiotemporal.json /arcgis-datastore-spatiotemporal.json + ``` + + Verify that attributes are correct in `arcgis-datastore-spatiotemporal.json`. + + Run the following command to upgrade ArcGIS Data Store: + + ```shell + chef-client -z -j /arcgis-datastore-spatiotemporal.json + ``` + +> Skip step 1 for single machine ArcGIS Data Store deployments. + +## Machine Roles + +The JSON files included in the template provide recipes for the deployment machine roles and the most important attributes used by the recipes. + +### arcgis-datastore-files + +The role downloads ArcGIS Data Store setups archives from https://downloads.arcgis.com to the local ArcGIS software repository specified by arcgis.repository.local_archives attribute. + +If arcgis.repository.shared attribute is set to `true`, then a network share is created for the local software repository. + +The following attributes are required: + +* arcgis.repository.server.username - ArcGIS Online user name +* arcgis.repository.server.password - ArcGIS Online user password + +### arcgis-datastore-s3files + +The role downloads ArcGIS Data Store setups archives from S3 bucket specified by arcgis.repository.server.s3bucket attribute to the local ArcGIS software repository. + +The following attributes are required unless the machine is an AWS EC2 instance with a configured IAM Role: + +* arcgis.repository.server.aws_access_key - AWS account access key id +* arcgis.repository.server.aws_secret_access_key - AWS account secret access key + +### arcgis-datastore-fileserver + +Configures file shares for ArcGIS Data Store backup directories. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account + +### arcgis-datastore-install + +Installs ArcGIS Data Store without configuring it. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account + +### arcgis-datastore-patches + +Downloads ArcGIS Data Store patches from the global ArcGIS software repository into a local patch folder. + +### arcgis-datastore-patches-apply + +Applies ArcGIS Data Store patches. + +### arcgis-datastore-relational-primary + +Installs relational ArcGIS Data Store, registers it with ArcGIS Server, and configures a backup location. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account +* arcgis.server.admin_username - Specify ArcGIS Server primary site administrator account user name. +* arcgis.server.admin_password- Specify ArcGIS Server primary site administrator account password. +* arcgis.server.private_url - Specify private URL of ArcGIS Server site to register the data store. +* arcgis.data_store.relational.backup_location - Replace 'FILESERVER' with the file server machine hostname or static IP address. + +### arcgis-datastore-relational-standby + +Installs relational ArcGIS Data Store and registers it with ArcGIS Server. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account +* arcgis.server.admin_username - Specify ArcGIS Server primary site administrator account user name. +* arcgis.server.admin_password- Specify ArcGIS Server primary site administrator account password. +* arcgis.server.private_url - Specify private URL of ArcGIS Server site to register the data store. + +### arcgis-datastore-spatiotemporal + +Installs spatiotemporal big data store, registers it with ArcGIS Server, and configures a backup location. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account +* arcgis.server.admin_username - Specify ArcGIS Server primary site administrator account user name. +* arcgis.server.admin_password- Specify ArcGIS Server primary site administrator account password. +* arcgis.server.private_url - Specify private URL of ArcGIS Server site to register the data store. +* arcgis.data_store.spatiotemporal.backup_location - Replace 'FILESERVER' with the file server machine hostname or static IP address. + +### arcgis-datastore-spatiotemporal-node + +Installs spatiotemporal big data store and registers it with ArcGIS Server. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account +* arcgis.server.admin_username - Specify ArcGIS Server primary site administrator account user name. +* arcgis.server.admin_password- Specify ArcGIS Server primary site administrator account password. +* arcgis.server.private_url - Specify private URL of ArcGIS Server site to register the data store. + +### arcgis-datastore-tilecache-primary + +Installs tile cache ArcGIS Data Store, registers it with ArcGIS Server, and configures backup locations. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account +* arcgis.server.admin_username - Specify ArcGIS Server primary site administrator account user name. +* arcgis.server.admin_password- Specify ArcGIS Server primary site administrator account password. +* arcgis.server.private_url - Specify private URL of ArcGIS Server site to register the data store. +* arcgis.data_store.tilecache.backup_location - Replace 'FILESERVER' with the file server machine hostname or static IP address. + +### arcgis-datastore-tilecache-standby + +Installs tile cache ArcGIS Data Store and registers it with ArcGIS Server. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account +* arcgis.server.admin_username - Specify ArcGIS Server primary site administrator account user name. +* arcgis.server.admin_password- Specify ArcGIS Server primary site administrator account password. +* arcgis.server.private_url - Specify private URL of ArcGIS Server site to register the data store. + +### arcgis-datastore-tilecache-cluster + +Installs tile cache ArcGIS Data Store, registers it with ArcGIS Server in cluster mode, and configures backup locations. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account +* arcgis.server.admin_username - Specify ArcGIS Server primary site administrator account user name. +* arcgis.server.admin_password- Specify ArcGIS Server primary site administrator account password. +* arcgis.server.private_url - Specify private URL of ArcGIS Server site to register the data store. +* arcgis.data_store.tilecache.backup_location - Replace 'FILESERVER' with the file server machine hostname or static IP address. + +### arcgis-datastore-tilecache-cluster-node + +Installs tile cache ArcGIS Data Store and registers it with ArcGIS Server in cluster mode. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account +* arcgis.server.admin_username - Specify ArcGIS Server primary site administrator account user name. +* arcgis.server.admin_password- Specify ArcGIS Server primary site administrator account password. +* arcgis.server.private_url - Specify private URL of ArcGIS Server site to register the data store. + +### arcgis-datastore-object + +Installs object ArcGIS Data Store, registers it with ArcGIS Server, and configures backup locations. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account +* arcgis.server.admin_username - Specify ArcGIS Server primary site administrator account user name. +* arcgis.server.admin_password- Specify ArcGIS Server primary site administrator account password. +* arcgis.server.private_url - Specify private URL of ArcGIS Server site to register the data store. +* arcgis.data_store.object.backup_location - Replace 'FILESERVER' with the file server machine hostname or static IP address. + +> For single machine object store configurations, change arcgis.data_store.mode attribute to 'primaryStandby'. + +### arcgis-datastore-object-node + +Installs object ArcGIS Data Store and registers it with ArcGIS Server. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account +* arcgis.server.admin_username - Specify ArcGIS Server primary site administrator account user name. +* arcgis.server.admin_password- Specify ArcGIS Server primary site administrator account password. +* arcgis.server.private_url - Specify private URL of ArcGIS Server site to register the data store. + +### arcgis-datastore-graph-primary + +Installs graph store, registers it with ArcGIS Server, and configures backup location. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account +* arcgis.server.admin_username - Specify ArcGIS Server primary site administrator account user name. +* arcgis.server.admin_password- Specify ArcGIS Server primary site administrator account password. +* arcgis.server.private_url - Specify private URL of ArcGIS Server site to register the data store. +* arcgis.data_store.graph.backup_location - Replace 'FILESERVER' with the file server machine hostname or static IP address. + +### arcgis-datastore-graph-standby + +Installs graph store, registers it with ArcGIS Server. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account +* arcgis.server.admin_username - Specify ArcGIS Server primary site administrator account user name. +* arcgis.server.admin_password- Specify ArcGIS Server primary site administrator account password. +* arcgis.server.private_url - Specify private URL of ArcGIS Server site to register the data store. + +### arcgis-datastore-remove-machine + +Removes the local machine from ArcGIS Data Store. diff --git a/templates/arcgis-datastore/11.2/linux/arcgis-datastore-files.json b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-files.json new file mode 100644 index 0000000..b8f9c7f --- /dev/null +++ b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-files.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "repository": { + "local_archives": "/opt/software/archives", + "shared": false, + "server": { + "username": "", + "password": "" + }, + "files": { + "ArcGIS_DataStore_Linux_112_188340.tar.gz": { + "subfolder": "software/arcgis/11.2" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-datastore/11.2/linux/arcgis-datastore-fileserver.json b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-fileserver.json new file mode 100644 index 0000000..1f82444 --- /dev/null +++ b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-fileserver.json @@ -0,0 +1,24 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "fileserver": { + "directories": [ + "/gisdata/arcgisbackup", + "/gisdata/arcgisbackup/tilecache", + "/gisdata/arcgisbackup/relational", + "/gisdata/arcgisbackup/spatiotemporal", + "/gisdata/arcgisbackup/graph", + "/gisdata/arcgisbackup/object" + ], + "shares": [ + "/gisdata/arcgisbackup" + ] + } + }, + "run_list": [ + "recipe[nfs::server]", + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::fileserver]" + ] +} diff --git a/templates/arcgis-datastore/11.2/linux/arcgis-datastore-graph-primary.json b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-graph-primary.json new file mode 100644 index 0000000..7cd06b8 --- /dev/null +++ b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-graph-primary.json @@ -0,0 +1,31 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "admin_username": "", + "admin_password": "", + "url": "https://SERVER:6443/arcgis" + }, + "data_store": { + "install_dir": "/opt", + "setup_options": "-f Graph", + "install_system_requirements": true, + "types": "graph", + "preferredidentifier": "hostname", + "data_dir": "/gisdata/arcgisdatastore", + "graph": { + "backup_type": "fs", + "backup_location": "/net/FILESERVER/gisdata/arcgisbackup/graph" + } + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::datastore]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-datastore/11.2/linux/arcgis-datastore-graph-standby.json b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-graph-standby.json new file mode 100644 index 0000000..d11413d --- /dev/null +++ b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-graph-standby.json @@ -0,0 +1,27 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "admin_username": "", + "admin_password": "", + "url": "https://SERVER:6443/arcgis" + }, + "data_store": { + "install_dir": "/opt", + "setup_options": "-f Graph", + "install_system_requirements": true, + "types": "graph", + "preferredidentifier": "hostname", + "data_dir": "/gisdata/arcgisdatastore" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::datastore]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-datastore/11.2/linux/arcgis-datastore-install.json b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-install.json new file mode 100644 index 0000000..17f3c12 --- /dev/null +++ b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-install.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "data_store": { + "install_dir": "/opt", + "setup_options": "-f Complete", + "install_system_requirements": true, + "preferredidentifier": "hostname", + "data_dir": "/gisdata/arcgisdatastore" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::install_datastore]", + "recipe[arcgis-enterprise::start_datastore]" + ] +} diff --git a/templates/arcgis-datastore/11.2/linux/arcgis-datastore-object-node.json b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-object-node.json new file mode 100644 index 0000000..19d045d --- /dev/null +++ b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-object-node.json @@ -0,0 +1,28 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "admin_username": "", + "admin_password": "", + "url": "https://SERVER:6443/arcgis" + }, + "data_store": { + "install_dir": "/opt", + "setup_options": "-f Object", + "install_system_requirements": true, + "types": "object", + "mode": "cluster", + "preferredidentifier": "hostname", + "data_dir": "/gisdata/arcgisdatastore" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::datastore_standby]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-datastore/11.2/linux/arcgis-datastore-object.json b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-object.json new file mode 100644 index 0000000..26ffef9 --- /dev/null +++ b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-object.json @@ -0,0 +1,32 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "admin_username": "", + "admin_password": "", + "url": "https://SERVER:6443/arcgis" + }, + "data_store": { + "install_dir": "/opt", + "setup_options": "-f Object", + "install_system_requirements": true, + "types": "object", + "mode": "cluster", + "preferredidentifier": "hostname", + "data_dir": "/gisdata/arcgisdatastore", + "object": { + "backup_type": "none", + "backup_location": "/net/FILESERVER/gisdata/arcgisbackup/object" + } + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::datastore]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-datastore/11.2/linux/arcgis-datastore-patches-apply.json b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-patches-apply.json new file mode 100644 index 0000000..f86925e --- /dev/null +++ b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-patches-apply.json @@ -0,0 +1,19 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "patches": "/opt/software/archives/patches" + }, + "data_store": { + "install_dir": "/opt", + "patches": [ + "ArcGIS-112-DS-*.tar", + "ArcGIS-112-DS-*.tar.gz" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]" + ] +} diff --git a/templates/arcgis-datastore/11.2/linux/arcgis-datastore-patches.json b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-patches.json new file mode 100644 index 0000000..2d747aa --- /dev/null +++ b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_patches": "/opt/software/archives/patches", + "patch_notification": { + "products": [ + "ArcGIS Data Store" + ] + } + } + }, + "run_list": [ + "recipe[arcgis-repository::patches]" + ] +} diff --git a/templates/arcgis-datastore/11.2/linux/arcgis-datastore-relational-primary.json b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-relational-primary.json new file mode 100644 index 0000000..7d98d9d --- /dev/null +++ b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-relational-primary.json @@ -0,0 +1,31 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "admin_username": "", + "admin_password": "", + "url": "https://SERVER:6443/arcgis" + }, + "data_store": { + "install_dir": "/opt", + "setup_options": "-f Relational", + "install_system_requirements": true, + "types": "relational", + "preferredidentifier": "hostname", + "data_dir": "/gisdata/arcgisdatastore", + "relational": { + "backup_type": "fs", + "backup_location": "/net/FILESERVER/gisdata/arcgisbackup/relational" + } + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::datastore]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-datastore/11.2/linux/arcgis-datastore-relational-standby.json b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-relational-standby.json new file mode 100644 index 0000000..c172cee --- /dev/null +++ b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-relational-standby.json @@ -0,0 +1,27 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "admin_username": "", + "admin_password": "", + "url": "https://SERVER:6443/arcgis" + }, + "data_store": { + "install_dir": "/opt", + "setup_options": "-f Relational", + "install_system_requirements": true, + "types": "relational", + "preferredidentifier": "hostname", + "data_dir": "/gisdata/arcgisdatastore" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::datastore_standby]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-datastore/11.2/linux/arcgis-datastore-remove-machine.json b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-remove-machine.json new file mode 100644 index 0000000..20143e3 --- /dev/null +++ b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-remove-machine.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "data_store": { + "install_dir": "/opt", + "preferredidentifier": "hostname", + "hostidentifier": "", + "types": "spatiotemporal", + "force_remove_machine": false + } + }, + "run_list": [ + "recipe[arcgis-enterprise::remove_datastore_machine]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-datastore/11.2/linux/arcgis-datastore-s3files.json b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-s3files.json new file mode 100644 index 0000000..748c0aa --- /dev/null +++ b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-s3files.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_archives": "/opt/software/archives", + "server": { + "s3bucket": "arcgisstore-us-east-1", + "region": "us-east-1", + "aws_access_key": "", + "aws_secret_access_key": "" + }, + "files": { + "ArcGIS_DataStore_Linux_112_188340.tar.gz": { + "subfolder": "11.2/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-datastore/11.2/linux/arcgis-datastore-spatiotemporal-node.json b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-spatiotemporal-node.json new file mode 100644 index 0000000..cba6e9a --- /dev/null +++ b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-spatiotemporal-node.json @@ -0,0 +1,27 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "admin_username": "", + "admin_password": "", + "url": "https://SERVER:6443/arcgis" + }, + "data_store": { + "install_dir": "/opt", + "setup_options": "-f Spatiotemporal", + "install_system_requirements": true, + "types": "spatiotemporal", + "preferredidentifier": "hostname", + "data_dir": "/gisdata/arcgisdatastore" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::datastore_standby]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-datastore/11.2/linux/arcgis-datastore-spatiotemporal.json b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-spatiotemporal.json new file mode 100644 index 0000000..ee07d65 --- /dev/null +++ b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-spatiotemporal.json @@ -0,0 +1,31 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "admin_username": "", + "admin_password": "", + "url": "https://SERVER:6443/arcgis" + }, + "data_store": { + "install_dir": "/opt", + "setup_options": "-f Spatiotemporal", + "install_system_requirements": true, + "types": "spatiotemporal", + "preferredidentifier": "hostname", + "data_dir": "/gisdata/arcgisdatastore", + "spatiotemporal": { + "backup_type": "fs", + "backup_location": "/net/FILESERVER/gisdata/arcgisbackup/spatiotemporal" + } + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::datastore]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-datastore/11.2/linux/arcgis-datastore-tilecache-cluster-node.json b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-tilecache-cluster-node.json new file mode 100644 index 0000000..06b6ad1 --- /dev/null +++ b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-tilecache-cluster-node.json @@ -0,0 +1,28 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "admin_username": "", + "admin_password": "", + "url": "https://SERVER:6443/arcgis" + }, + "data_store": { + "install_dir": "/opt", + "setup_options": "-f TileCache", + "install_system_requirements": true, + "types": "tileCache", + "mode": "cluster", + "preferredidentifier": "hostname", + "data_dir": "/gisdata/arcgisdatastore" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::datastore_standby]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-datastore/11.2/linux/arcgis-datastore-tilecache-cluster.json b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-tilecache-cluster.json new file mode 100644 index 0000000..ba12c6b --- /dev/null +++ b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-tilecache-cluster.json @@ -0,0 +1,32 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "admin_username": "", + "admin_password": "", + "url": "https://SERVER:6443/arcgis" + }, + "data_store": { + "install_dir": "/opt", + "setup_options": "-f TileCache", + "install_system_requirements": true, + "types": "tileCache", + "mode": "cluster", + "preferredidentifier": "hostname", + "data_dir": "/gisdata/arcgisdatastore", + "tilecache": { + "backup_type": "fs", + "backup_location": "/net/FILESERVER/gisdata/arcgisbackup/tilecache" + } + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::datastore]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-datastore/11.2/linux/arcgis-datastore-tilecache-primary.json b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-tilecache-primary.json new file mode 100644 index 0000000..dc12958 --- /dev/null +++ b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-tilecache-primary.json @@ -0,0 +1,32 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "admin_username": "", + "admin_password": "", + "url": "https://SERVER:6443/arcgis" + }, + "data_store": { + "install_dir": "/opt", + "setup_options": "-f TileCache", + "install_system_requirements": true, + "types": "tileCache", + "mode": "primaryStandby", + "preferredidentifier": "hostname", + "data_dir": "/gisdata/arcgisdatastore", + "tilecache": { + "backup_type": "fs", + "backup_location": "/net/FILESERVER/gisdata/arcgisbackup/tilecache" + } + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::datastore]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-datastore/11.2/linux/arcgis-datastore-tilecache-standby.json b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-tilecache-standby.json new file mode 100644 index 0000000..16d93e2 --- /dev/null +++ b/templates/arcgis-datastore/11.2/linux/arcgis-datastore-tilecache-standby.json @@ -0,0 +1,28 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "admin_username": "", + "admin_password": "", + "url": "https://SERVER:6443/arcgis" + }, + "data_store": { + "install_dir": "/opt", + "setup_options": "-f TileCache", + "install_system_requirements": true, + "types": "tileCache", + "mode": "primaryStandby", + "preferredidentifier": "hostname", + "data_dir": "/gisdata/arcgisdatastore" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::datastore_standby]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-datastore/11.2/windows/arcgis-datastore-files.json b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-files.json new file mode 100644 index 0000000..3aaa90d --- /dev/null +++ b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-files.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "repository": { + "local_archives": "C:\\Software\\Archives", + "shared": false, + "server": { + "username": "", + "password": "" + }, + "files": { + "ArcGIS_DataStore_Windows_112_188252.exe": { + "subfolder": "software/arcgis/11.2" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-datastore/11.2/windows/arcgis-datastore-fileserver.json b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-fileserver.json new file mode 100644 index 0000000..dcf7a7d --- /dev/null +++ b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-fileserver.json @@ -0,0 +1,25 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "fileserver": { + "directories": [ + "C:\\data\\arcgisbackup", + "C:\\data\\arcgisbackup\\tilecache", + "C:\\data\\arcgisbackup\\relational", + "C:\\data\\arcgisbackup\\spatiotemporal", + "C:\\data\\arcgisbackup\\graph", + "C:\\data\\arcgisbackup\\object" + ], + "shares": [ + "C:\\data\\arcgisbackup" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[arcgis-enterprise::fileserver]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-datastore/11.2/windows/arcgis-datastore-graph-primary.json b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-graph-primary.json new file mode 100644 index 0000000..5c75559 --- /dev/null +++ b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-graph-primary.json @@ -0,0 +1,34 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "admin_username": "", + "admin_password": "", + "url": "https://SERVER:6443/arcgis" + }, + "data_store": { + "install_dir": "C:\\Program Files\\ArcGIS\\DataStore", + "setup_options": "ADDLOCAL=graph", + "install_system_requirements": true, + "types": "graph", + "preferredidentifier": "hostname", + "data_dir": "C:\\arcgisdatastore", + "graph": { + "backup_type": "fs", + "backup_location": "\\\\FILESERVER\\arcgisbackup\\graph" + } + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[arcgis-enterprise::datastore]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-datastore/11.2/windows/arcgis-datastore-graph-standby.json b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-graph-standby.json new file mode 100644 index 0000000..6cd54bb --- /dev/null +++ b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-graph-standby.json @@ -0,0 +1,30 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "admin_username": "", + "admin_password": "", + "url": "https://SERVER:6443/arcgis" + }, + "data_store": { + "install_dir": "C:\\Program Files\\ArcGIS\\DataStore", + "setup_options": "ADDLOCAL=graph", + "install_system_requirements": true, + "types": "graph", + "preferredidentifier": "hostname", + "data_dir": "C:\\arcgisdatastore" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[arcgis-enterprise::datastore]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-datastore/11.2/windows/arcgis-datastore-install.json b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-install.json new file mode 100644 index 0000000..638fccc --- /dev/null +++ b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-install.json @@ -0,0 +1,24 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "data_store": { + "install_dir": "C:\\Program Files\\ArcGIS\\DataStore", + "setup_options": "ADDLOCAL=ALL", + "install_system_requirements": true, + "preferredidentifier": "hostname", + "data_dir": "C:\\arcgisdatastore" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::install_datastore]", + "recipe[arcgis-enterprise::start_datastore]" + ] +} diff --git a/templates/arcgis-datastore/11.2/windows/arcgis-datastore-object-node.json b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-object-node.json new file mode 100644 index 0000000..9a18ad5 --- /dev/null +++ b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-object-node.json @@ -0,0 +1,31 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "admin_username": "", + "admin_password": "", + "url": "https://SERVER:6443/arcgis" + }, + "data_store": { + "install_dir": "C:\\Program Files\\ArcGIS\\DataStore", + "setup_options": "ADDLOCAL=object", + "install_system_requirements": true, + "types": "object", + "mode": "cluster", + "preferredidentifier": "hostname", + "data_dir": "C:\\arcgisdatastore" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[arcgis-enterprise::datastore_standby]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-datastore/11.2/windows/arcgis-datastore-object.json b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-object.json new file mode 100644 index 0000000..bbade9a --- /dev/null +++ b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-object.json @@ -0,0 +1,35 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "admin_username": "", + "admin_password": "", + "url": "https://SERVER:6443/arcgis" + }, + "data_store": { + "install_dir": "C:\\Program Files\\ArcGIS\\DataStore", + "setup_options": "ADDLOCAL=object", + "install_system_requirements": true, + "types": "object", + "mode": "cluster", + "preferredidentifier": "hostname", + "data_dir": "C:\\arcgisdatastore", + "object": { + "backup_type": "none", + "backup_location": "\\\\FILESERVER\\arcgisbackup\\object" + } + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[arcgis-enterprise::datastore]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-datastore/11.2/windows/arcgis-datastore-patches-apply.json b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-patches-apply.json new file mode 100644 index 0000000..92da9f4 --- /dev/null +++ b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-patches-apply.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "patches": "C:\\Software\\Archives\\Patches" + }, + "data_store": { + "patches": [ + "ArcGIS-112-DS-*.msp" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]" + ] +} diff --git a/templates/arcgis-datastore/11.2/windows/arcgis-datastore-patches.json b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-patches.json new file mode 100644 index 0000000..cbd5622 --- /dev/null +++ b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_patches": "C:\\Software\\Archives\\Patches", + "patch_notification": { + "products": [ + "ArcGIS Data Store" + ] + } + } + }, + "run_list": [ + "recipe[arcgis-repository::patches]" + ] +} diff --git a/templates/arcgis-datastore/11.2/windows/arcgis-datastore-relational-primary.json b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-relational-primary.json new file mode 100644 index 0000000..280d2f6 --- /dev/null +++ b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-relational-primary.json @@ -0,0 +1,34 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "admin_username": "", + "admin_password": "", + "url": "https://SERVER:6443/arcgis" + }, + "data_store": { + "install_dir": "C:\\Program Files\\ArcGIS\\DataStore", + "setup_options": "ADDLOCAL=relational", + "install_system_requirements": true, + "types": "relational", + "preferredidentifier": "hostname", + "data_dir": "C:\\arcgisdatastore", + "relational": { + "backup_type": "fs", + "backup_location": "\\\\FILESERVER\\arcgisbackup\\relational" + } + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[arcgis-enterprise::datastore]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-datastore/11.2/windows/arcgis-datastore-relational-standby.json b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-relational-standby.json new file mode 100644 index 0000000..81bae1f --- /dev/null +++ b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-relational-standby.json @@ -0,0 +1,30 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "admin_username": "", + "admin_password": "", + "url": "https://SERVER:6443/arcgis" + }, + "data_store": { + "install_dir": "C:\\Program Files\\ArcGIS\\DataStore", + "setup_options": "ADDLOCAL=relational", + "install_system_requirements": true, + "types": "relational", + "preferredidentifier": "hostname", + "data_dir": "C:\\arcgisdatastore" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[arcgis-enterprise::datastore_standby]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-datastore/11.2/windows/arcgis-datastore-remove-machine.json b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-remove-machine.json new file mode 100644 index 0000000..79e57f6 --- /dev/null +++ b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-remove-machine.json @@ -0,0 +1,15 @@ +{ + "arcgis": { + "version": "11.2", + "data_store": { + "install_dir": "C:\\Program Files\\ArcGIS\\DataStore", + "preferredidentifier": "hostname", + "hostidentifier": "", + "types": "spatiotemporal", + "force_remove_machine": false + } + }, + "run_list": [ + "recipe[arcgis-enterprise::remove_datastore_machine]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-datastore/11.2/windows/arcgis-datastore-s3files.json b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-s3files.json new file mode 100644 index 0000000..b458690 --- /dev/null +++ b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-s3files.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_archives": "C:\\Software\\Archives", + "server": { + "s3bucket": "arcgisstore-us-east-1", + "region": "us-east-1", + "aws_access_key": "", + "aws_secret_access_key": "" + }, + "files": { + "ArcGIS_DataStore_Windows_112_188252.exe": { + "subfolder": "11.2/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-datastore/11.2/windows/arcgis-datastore-spatiotemporal-node.json b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-spatiotemporal-node.json new file mode 100644 index 0000000..9feef66 --- /dev/null +++ b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-spatiotemporal-node.json @@ -0,0 +1,30 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "admin_username": "", + "admin_password": "", + "url": "https://SERVER:6443/arcgis" + }, + "data_store": { + "install_dir": "C:\\Program Files\\ArcGIS\\DataStore", + "setup_options": "ADDLOCAL=spatiotemporal", + "install_system_requirements": true, + "types": "spatiotemporal", + "preferredidentifier": "hostname", + "data_dir": "C:\\arcgisdatastore" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[arcgis-enterprise::datastore_standby]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-datastore/11.2/windows/arcgis-datastore-spatiotemporal.json b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-spatiotemporal.json new file mode 100644 index 0000000..4ef410e --- /dev/null +++ b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-spatiotemporal.json @@ -0,0 +1,34 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "admin_username": "", + "admin_password": "", + "url": "https://SERVER:6443/arcgis" + }, + "data_store": { + "install_dir": "C:\\Program Files\\ArcGIS\\DataStore", + "setup_options": "ADDLOCAL=spatiotemporal", + "install_system_requirements": true, + "types": "spatiotemporal", + "preferredidentifier": "hostname", + "data_dir": "C:\\arcgisdatastore", + "spatiotemporal": { + "backup_type": "fs", + "backup_location": "\\\\FILESERVER\\arcgisbackup\\spatiotemporal" + } + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[arcgis-enterprise::datastore]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-datastore/11.2/windows/arcgis-datastore-tilecache-cluster-node.json b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-tilecache-cluster-node.json new file mode 100644 index 0000000..b515e1f --- /dev/null +++ b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-tilecache-cluster-node.json @@ -0,0 +1,31 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "admin_username": "", + "admin_password": "", + "url": "https://SERVER:6443/arcgis" + }, + "data_store": { + "install_dir": "C:\\Program Files\\ArcGIS\\DataStore", + "setup_options": "ADDLOCAL=tilecache", + "install_system_requirements": true, + "types": "tileCache", + "mode": "cluster", + "preferredidentifier": "hostname", + "data_dir": "C:\\arcgisdatastore" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[arcgis-enterprise::datastore_standby]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-datastore/11.2/windows/arcgis-datastore-tilecache-cluster.json b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-tilecache-cluster.json new file mode 100644 index 0000000..3a3849c --- /dev/null +++ b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-tilecache-cluster.json @@ -0,0 +1,35 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "admin_username": "", + "admin_password": "", + "url": "https://SERVER:6443/arcgis" + }, + "data_store": { + "install_dir": "C:\\Program Files\\ArcGIS\\DataStore", + "setup_options": "ADDLOCAL=tilecache", + "install_system_requirements": true, + "types": "tileCache", + "mode": "cluster", + "preferredidentifier": "hostname", + "data_dir": "C:\\arcgisdatastore", + "tilecache": { + "backup_type": "fs", + "backup_location": "\\\\FILESERVER\\arcgisbackup\\tilecache" + } + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[arcgis-enterprise::datastore]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-datastore/11.2/windows/arcgis-datastore-tilecache-primary.json b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-tilecache-primary.json new file mode 100644 index 0000000..4758c70 --- /dev/null +++ b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-tilecache-primary.json @@ -0,0 +1,35 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "admin_username": "", + "admin_password": "", + "url": "https://SERVER:6443/arcgis" + }, + "data_store": { + "install_dir": "C:\\Program Files\\ArcGIS\\DataStore", + "setup_options": "ADDLOCAL=tilecache", + "install_system_requirements": true, + "types": "tileCache", + "mode": "primaryStandby", + "preferredidentifier": "hostname", + "data_dir": "C:\\arcgisdatastore", + "tilecache": { + "backup_type": "fs", + "backup_location": "\\\\FILESERVER\\arcgisbackup\\tilecache" + } + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[arcgis-enterprise::datastore]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-datastore/11.2/windows/arcgis-datastore-tilecache-standby.json b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-tilecache-standby.json new file mode 100644 index 0000000..33c887c --- /dev/null +++ b/templates/arcgis-datastore/11.2/windows/arcgis-datastore-tilecache-standby.json @@ -0,0 +1,31 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "admin_username": "", + "admin_password": "", + "url": "https://SERVER:6443/arcgis" + }, + "data_store": { + "install_dir": "C:\\Program Files\\ArcGIS\\DataStore", + "setup_options": "ADDLOCAL=tilecache", + "install_system_requirements": true, + "types": "tileCache", + "mode": "primaryStandby", + "preferredidentifier": "hostname", + "data_dir": "C:\\arcgisdatastore" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[arcgis-enterprise::datastore_standby]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-egdb/11.2/README.md b/templates/arcgis-egdb/11.2/README.md new file mode 100644 index 0000000..8af0ff3 --- /dev/null +++ b/templates/arcgis-egdb/11.2/README.md @@ -0,0 +1,167 @@ +--- +layout: default +title: "arcgis-egdb template" +category: templates +item: arcgis-egdb +version: "11.2" +latest: true +--- + +# arcgis-egdb Deployment Template + +Creates enterprise GeoDatabases in Amazon PostgreSQL RDS, Amazon Aurora with PostgreSQL compatibility, or SQL Server RDS and registers them with ArcGIS Server. + +## System Requirements + +The machines must have ArcGIS Server 11.2 installed and authorized. Consult the ArcGIS Server 11.2 system requirements documentation for the required/recommended hardware specification. + +### Recommended Chef Client versions + +* Chef Client 16, or +* Cinc Client 16 + +### Recommended ArcGIS Chef Cookbooks versions + +* 4.2.0 + +### Supported Platforms + +* Windows + * Windows Server 2016 Standard and Datacenter + * Windows Server 2019 Standard and Datacenter + * Windows Server 2022 Standard and Datacenter +* Linux + * Ubuntu Server 18.04 LTS + * Ubuntu Server 20.04 LTS + * Red Hat Enterprise Linux Server 8 + +SQL Server is only supported if you register with ArcGIS Server on Windows. + +If you will register the geodatabase with ArcGIS Server on Linux, enable running sudo without password for the user running the Chef client. + +### Required ArcGIS Software Repository Content + +The following setups must be available in the ArcGIS software repository directory: + +For geodatabases in PostgreSQL registered with ArcGIS Server on Windows + +* ArcGIS_DataStore_Windows_112_188252.exe + +For geodatabases in PostgreSQL registered with ArcGIS Server on Linux + +* ArcGIS_DataStore_Linux_112_188340.tar.gz + +For geodatabases in SQL Server (ArcGIS Server on Windows only) + +* VC_redist.x64.exe (will be downloaded if not found in the software repository) +* msodbcsql13.msi (will be downloaded if not found in the software repository) +* msodbcsql17.msi (will be downloaded if not found in the software repository) +* MsSqlCmdLnUtils.msi (will be downloaded if not found in the software repository) + +> The ArcGIS software repository directory is specified by the arcgis.repository.archives attribute. By default, it is set to local directory C:\Software\Archives on Windows and /opt/software/archives on Linux. However, it is recommended to create an ArcGIS software repository located on a separate file server that is accessible from all the machines in the deployment for the user account used to run the Chef client. + +> Ensure that the directory specified by the arcgis.repository.setups attribute has enough space for the setups extracted from the setup archives. + +## Initial Deployment Workflow + +The following is the recommended initial deployment workflow for the template machine roles: + +1. Install [Chef Client](https://docs.chef.io/chef_install_script/) or [Cinc Client](https://cinc.sh/start/client/). +2. Download and extract [ArcGIS Chef cookbooks](https://github.com/Esri/arcgis-cookbook/releases) into the Chef workspace directory. +3. Update the required attributes within the template JSON files. +4. Run the Chef client on the machines as administrator/superuser using the JSON files specific to the machine roles (one machine can be used in multiple roles). + +> For additional customization options, see the list of supported attributes described in the arcgis-egdb cookbook README file. + +## SQL Server on RDS + +On the primary ArcGIS Server machine: + +``` +chef-client -z -j arcgis-egdb-rds-sqlserver-node.json +chef-client -z -j arcgis-egdb-rds-sqlserver.json +``` + +On all additional ArcGIS Server machines: + +``` +chef-client -z arcgis-egdb-rds-sqlserver-node.json +``` + +## PostgreSQL on RDS or Aurora with PostgreSQL + +On the primary ArcGIS Server machine: + +``` +chef-client -z -j arcgis-egdb-rds-postgres.json +``` + +## Machine Roles + +The JSON files included in the template provide recipes for the deployment machine roles and the most important attributes used by the recipes. + +### arcgis-egdb-rds-postgres-files + +The role downloads ArcGIS Data Store setup archives from https://downloads.arcgis.com to the local ArcGIS software repository specified by the arcgis.repository.local_archives attribute. + +If the arcgis.repository.shared attribute is set to `true`, then a network share is created for the local software repository. + +Required attribute changes: + +* arcgis.repository.server.username - ArcGIS Online user name +* arcgis.repository.server.password - ArcGIS Online user password + +### arcgis-egdb-rds-postgres-s3files + +Downloads ArcGIS Data Store setup files from an S3 bucket to a local software repository. + +This role requires AWS Tools for PowerShell on Windows and AWS CLI on Ubuntu to be installed on the machine. + +### arcgis-egdb-rds-sqlserver-files + +Downloads Microsoft Visual C++ 2017 Redistributable, SQL Server ODBC drivers, and SQL Command Line Utilities setup files from the Microsoft downloads repositories to a local software repository. + +### arcgis-egdb-rds-sqlserver-s3files + +Downloads Microsoft Visual C++ 2017 Redistributable, SQL Server ODBC drivers, and SQL Command Line Utilities setup files from an S3 bucket to a local software repository. + +This role requires AWS Tools for PowerShell on Windows and AWS CLI on Ubuntu to be installed on the machine. + +### arcgis-egdb-rds-postgres + +Creates a geodatabase 'egdb' in PostgreSQL on Amazon RDS or Amazon Aurora with PostgreSQL compatibility and registers it with ArcGIS Server. + +The role installs a relational ArcGIS Data Store to use its psql command line utility. + +ArcGIS Server must be installed and authorized on the machines before running the role. + +Required attributes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account +* arcgis.egdb.endpoint - Postgres RDS server endpoint +* arcgis.egdb.master_username - Postgres RDS server master username +* arcgis.egdb.master_password - Postgres RDS server master user password +* arcgis.egdb.db_password - Password of the database user (sde) +* arcgis.server.url - ArcGIS Server URL +* arcgis.server.admin_username - ArcGIS Server administrator username +* arcgis.server.admin_password - ArcGIS server administrator password + +### arcgis-egdb-rds-sqlserver + +Creates a geodatabases in SQL Server on RDS and registers it with ArcGIS Server. + +ArcGIS Server, SQL Server ODBC drivers, and command line utilities must be installed, and ArcGIS Server must be authorized on the machines before running the role. + +Required attributes: + +* arcgis.egdb.endpoint - SQL Server RDS server endpoint +* arcgis.egdb.master_username - SQL Server RDS server master username +* arcgis.egdb.master_password - SQL Server RDS server master user password +* arcgis.egdb.db_password - Password of the database user (sde) +* arcgis.server.url - ArcGIS Server URL +* arcgis.server.admin_username - ArcGIS Server administrator username +* arcgis.server.admin_password - ArcGIS server administrator password + +### arcgis-egdb-rds-sqlserver-node + +Installs SQL Server ODBC drivers and command line utilities. diff --git a/templates/arcgis-egdb/11.2/linux/arcgis-egdb-rds-postgres-files.json b/templates/arcgis-egdb/11.2/linux/arcgis-egdb-rds-postgres-files.json new file mode 100644 index 0000000..b8f9c7f --- /dev/null +++ b/templates/arcgis-egdb/11.2/linux/arcgis-egdb-rds-postgres-files.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "repository": { + "local_archives": "/opt/software/archives", + "shared": false, + "server": { + "username": "", + "password": "" + }, + "files": { + "ArcGIS_DataStore_Linux_112_188340.tar.gz": { + "subfolder": "software/arcgis/11.2" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-egdb/11.2/linux/arcgis-egdb-rds-postgres-s3files.json b/templates/arcgis-egdb/11.2/linux/arcgis-egdb-rds-postgres-s3files.json new file mode 100644 index 0000000..75151c2 --- /dev/null +++ b/templates/arcgis-egdb/11.2/linux/arcgis-egdb-rds-postgres-s3files.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_archives": "/opt/software/archives", + "server": { + "s3bucket": "arcgisstore-us-east-1", + "region": "us-east-1", + "aws_access_key": "", + "aws_secret_access_key": "" + }, + "files": { + "ArcGIS_DataStore_Linux_112_188340.tar.gz": { + "subfolder": "11.2/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-egdb/11.2/linux/arcgis-egdb-rds-postgres.json b/templates/arcgis-egdb/11.2/linux/arcgis-egdb-rds-postgres.json new file mode 100644 index 0000000..46cfe7c --- /dev/null +++ b/templates/arcgis-egdb/11.2/linux/arcgis-egdb-rds-postgres.json @@ -0,0 +1,49 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "install_dir": "/opt", + "url": "https://localhost:6443/arcgis", + "admin_username": "", + "admin_password": "" + }, + "data_store": { + "install_dir": "/opt", + "setup_options": "-f Relational", + "configure_autostart": false, + "install_system_requirements": true, + "types": "relational" + }, + "misc": { + "scripts_dir": "/tmp/scripts" + }, + "egdb": { + "engine": "postgres", + "endpoint": "", + "postgresbin": "/opt/arcgis/datastore/framework/runtime/pgsql/bin", + "master_username": "esrirdsadmin", + "master_password": "", + "db_password": "", + "connection_files_dir": "/tmp/connection_files", + "data_items": [ + { + "database": "egdb", + "data_item_path": "/enterpriseDatabases/postgresRDS", + "connection_file": "/tmp/connection_files/postgres_rds_egdb.sde", + "is_managed": false, + "connection_type": "shared" + } + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_datastore]", + "recipe[arcgis-enterprise::stop_datastore]", + "recipe[arcgis-egdb]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-egdb/11.2/windows/arcgis-egdb-rds-postgres-files.json b/templates/arcgis-egdb/11.2/windows/arcgis-egdb-rds-postgres-files.json new file mode 100644 index 0000000..3aaa90d --- /dev/null +++ b/templates/arcgis-egdb/11.2/windows/arcgis-egdb-rds-postgres-files.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "repository": { + "local_archives": "C:\\Software\\Archives", + "shared": false, + "server": { + "username": "", + "password": "" + }, + "files": { + "ArcGIS_DataStore_Windows_112_188252.exe": { + "subfolder": "software/arcgis/11.2" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-egdb/11.2/windows/arcgis-egdb-rds-postgres-s3files.json b/templates/arcgis-egdb/11.2/windows/arcgis-egdb-rds-postgres-s3files.json new file mode 100644 index 0000000..b458690 --- /dev/null +++ b/templates/arcgis-egdb/11.2/windows/arcgis-egdb-rds-postgres-s3files.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_archives": "C:\\Software\\Archives", + "server": { + "s3bucket": "arcgisstore-us-east-1", + "region": "us-east-1", + "aws_access_key": "", + "aws_secret_access_key": "" + }, + "files": { + "ArcGIS_DataStore_Windows_112_188252.exe": { + "subfolder": "11.2/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-egdb/11.2/windows/arcgis-egdb-rds-postgres.json b/templates/arcgis-egdb/11.2/windows/arcgis-egdb-rds-postgres.json new file mode 100644 index 0000000..bb81a9c --- /dev/null +++ b/templates/arcgis-egdb/11.2/windows/arcgis-egdb-rds-postgres.json @@ -0,0 +1,50 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "install_dir": "C:\\Program Files\\ArcGIS\\Server", + "url": "https://localhost:6443/arcgis", + "admin_username": "", + "admin_password": "" + }, + "data_store": { + "install_dir": "C:\\Program Files\\ArcGIS\\DataStore", + "setup_options": "ADDLOCAL=relational", + "types": "relational", + "configure_autostart": false + }, + "misc": { + "scripts_dir": "C:\\Temp\\Scripts" + }, + "egdb": { + "engine": "postgres", + "endpoint": "", + "keycodes": "C:\\Program Files\\ESRI\\License11.2\\sysgen\\keycodes", + "postgresbin": "C:\\Program Files\\ArcGIS\\DataStore\\framework\\runtime\\pgsql\\bin", + "master_username": "esrirdsadmin", + "master_password": "", + "db_password": "", + "connection_files_dir": "C:\\Temp\\ConnectionFiles", + "data_items": [ + { + "database": "egdb", + "data_item_path": "/enterpriseDatabases/postgresRDS", + "connection_file": "C:\\Temp\\ConnectionFiles\\postgres_rds_egdb.sde", + "is_managed": false, + "connection_type": "shared" + } + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_datastore]", + "recipe[arcgis-enterprise::stop_datastore]", + "recipe[arcgis-egdb]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-egdb/11.2/windows/arcgis-egdb-rds-sqlserver-files.json b/templates/arcgis-egdb/11.2/windows/arcgis-egdb-rds-sqlserver-files.json new file mode 100644 index 0000000..9753a88 --- /dev/null +++ b/templates/arcgis-egdb/11.2/windows/arcgis-egdb-rds-sqlserver-files.json @@ -0,0 +1,28 @@ +{ + "arcgis": { + "repository": { + "local_archives": "C:\\Software\\Archives", + "shared": false, + "server": { + }, + "files": { + "VC_redist.x64.exe": { + "url": "https://download.visualstudio.microsoft.com/download/pr/11100230/15ccb3f02745c7b206ad10373cbca89b/VC_redist.x64.exe" + }, + "msodbcsql13.msi": { + "url": "https://download.microsoft.com/download/D/5/E/D5EEF288-A277-45C8-855B-8E2CB7E25B96/x64/msodbcsql.msi" + }, + "msodbcsql17.msi": { + "url": "https://download.microsoft.com/download/E/6/B/E6BFDC7A-5BCD-4C51-9912-635646DA801E/en-US/17.5.2.1/x64/msodbcsql.msi" + }, + "MsSqlCmdLnUtils.msi": { + "url": "https://download.microsoft.com/download/4/C/C/4CC1A229-3C56-4A7F-A3BA-F903C73E5895/EN/x64/MsSqlCmdLnUtils.msi" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-egdb/11.2/windows/arcgis-egdb-rds-sqlserver-node.json b/templates/arcgis-egdb/11.2/windows/arcgis-egdb-rds-sqlserver-node.json new file mode 100644 index 0000000..99e7844 --- /dev/null +++ b/templates/arcgis-egdb/11.2/windows/arcgis-egdb-rds-sqlserver-node.json @@ -0,0 +1,14 @@ +{ + "arcgis": { + "version": "11.2", + "egdb": { + "vc_redist_path": "C:\\Software\\Archives\\VC_redist.x64.exe", + "msodbcsql13_msi_path": "C:\\Software\\Archives\\msodbcsql13.msi", + "msodbcsql17_msi_path": "C:\\Software\\Archives\\msodbcsql17.msi", + "mssqlcmdlnutils_msi_path": "C:\\Software\\Archives\\MsSqlCmdLnUtils.msi" + } + }, + "run_list": [ + "recipe[arcgis-egdb::sqlcmd]" + ] +} diff --git a/templates/arcgis-egdb/11.2/windows/arcgis-egdb-rds-sqlserver-s3files.json b/templates/arcgis-egdb/11.2/windows/arcgis-egdb-rds-sqlserver-s3files.json new file mode 100644 index 0000000..899af8f --- /dev/null +++ b/templates/arcgis-egdb/11.2/windows/arcgis-egdb-rds-sqlserver-s3files.json @@ -0,0 +1,31 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_archives": "C:\\Software\\Archives", + "server": { + "s3bucket": "arcgisstore-us-east-1", + "region": "us-east-1", + "aws_access_key": "", + "aws_secret_access_key": "" + }, + "files": { + "VC_redist.x64.exe": { + "subfolder": "11.2/thirdparty" + }, + "msodbcsql13.msi": { + "subfolder": "11.2/thirdparty" + }, + "msodbcsql17.msi": { + "subfolder": "11.2/thirdparty" + }, + "MsSqlCmdLnUtils.msi": { + "subfolder": "11.2/thirdparty" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-egdb/11.2/windows/arcgis-egdb-rds-sqlserver.json b/templates/arcgis-egdb/11.2/windows/arcgis-egdb-rds-sqlserver.json new file mode 100644 index 0000000..0a4a5de --- /dev/null +++ b/templates/arcgis-egdb/11.2/windows/arcgis-egdb-rds-sqlserver.json @@ -0,0 +1,38 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "server": { + "install_dir": "C:\\Program Files\\ArcGIS\\Server", + "url": "https://localhost:6443/arcgis", + "admin_username": "", + "admin_password": "" + }, + "misc": { + "scripts_dir": "C:\\Temp\\Scripts" + }, + "egdb": { + "engine": "sqlserver-se", + "endpoint": "", + "keycodes": "C:\\Program Files\\ESRI\\License11.2\\sysgen\\keycodes", + "master_username": "esrirdsadmin", + "master_password": "", + "db_password": "", + "connection_files_dir": "C:\\Temp\\ConnectionFiles", + "data_items": [ + { + "database": "egdb", + "data_item_path": "/enterpriseDatabases/sqlserverRDS", + "connection_file": "C:\\Temp\\ConnectionFiles\\sqlserver_rds_egdb.sde", + "is_managed": false, + "connection_type": "shared" + } + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-egdb]" + ] +} diff --git a/templates/arcgis-enterprise-base/11.2/README.md b/templates/arcgis-enterprise-base/11.2/README.md new file mode 100644 index 0000000..6bfac43 --- /dev/null +++ b/templates/arcgis-enterprise-base/11.2/README.md @@ -0,0 +1,352 @@ +--- +layout: default +title: "arcgis-enterprise-base template" +category: templates +item: arcgis-enterprise-base +version: "11.2" +latest: true +--- + +# arcgis-enterprise-base Deployment Template + +The template contains Chef Zero JSON files with sample recipes and attributes for single-machine and multi-machine base ArcGIS Enterprise deployments. + +The base ArcGIS Enterprise deployment machines include the following components: + +* Portal for ArcGIS +* ArcGIS Server configured as hosting server for the portal +* ArcGIS Data Store, configured as a relational and tile cache data store +* Two installations of ArcGIS Web Adaptor: one for ArcGIS Enterprise portal and another for the hosting server + * On Windows, the deployment configures Microsoft IIS web server and installs ArcGIS Web Adaptor for Microsoft IIS + * On Linux, the deployment installs Apache Tomcat application server and ArcGIS Web Adaptor (Java Platform) + +## System Requirements + +Consult the ArcGIS Enterprise 11.1 system requirements documentation for the required/recommended hardware specification. + +### Recommended Chef Client versions + +* Chef Client 16, or +* Cinc Client 16 + +### Recommended ArcGIS Chef Cookbooks versions + +* 4.2.0 + +### Supported Platforms + +* Windows + * Windows Server 2016 Standard and Datacenter + * Windows Server 2019 Standard and Datacenter + * Windows Server 2022 Standard and Datacenter +* Linux + * Ubuntu Server 18.04 LTS + * Ubuntu Server 20.04 LTS + * Red Hat Enterprise Linux Server 8 + * SUSE Linux Enterprise Server 15 + * Oracle Linux 8 + * Rocky Linux 8 + * AlmaLinux 9 + +For Linux deployments, enable running sudo without password for the user running the Chef client. + +### Required ArcGIS Software Repository Content + +The following ArcGIS setup archives must be available in the ArcGIS software repository directory for both initial deployments and upgrades: + +Windows + +* ArcGIS_DataStore_Windows_112_188252.exe +* ArcGIS_Server_Windows_112_188239.exe +* ArcGIS_Web_Adaptor_for_Microsoft_IIS_112_188253.exe +* Portal_for_ArcGIS_Windows_112_188250.exe +* Portal_for_ArcGIS_Web_Styles_Windows_112_188251.exe +* dotnet-hosting-6.0.9-win.exe (Will be downloaded from the internet if the file is not present) +* WebDeploy_amd64_en-US.msi (Will be downloaded from the internet if the file is not present) + +Linux + +* ArcGIS_DataStore_Linux_112_188340.tar.gz +* ArcGIS_Server_Linux_112_188327.tar.gz +* ArcGIS_Web_Adaptor_Java_Linux_112_188341.tar.gz +* Portal_for_ArcGIS_Linux_112_188338.tar.gz +* Portal_for_ArcGIS_Web_Styles_Linux_112_188339.tar.gz +* apache-tomcat-9.0.48.tar.gz (Alternatively, if it is not present in the local ArcGIS software repository, you can remove the tomcat.tarball_path attribute from the json and it will be downloaded from the internet for you.) +* openjdk-11_linux-x64_bin.tar.gz (Alternatively, if it is not present in the local ArcGIS software repository, you can remove the java.tarball_path attribute from the json and it will be downloaded from the internet for you.) + +> The ArcGIS software repository directory is specified by the arcgis.repository.archives attribute. By default, it is set to local directory C:\Software\Archives on Windows and /opt/software/archives on Linux. However, it is recommended to create an ArcGIS software repository located on a separate file server that is accessible from all the machines in the deployment for the user account used to run the Chef client. + +> Ensure that the directory specified by the arcgis.repository.setups attribute has enough space for ArcGIS Enterprise setups extracted from the setup archives. + +## Initial Deployment Workflow + +The following is the recommended initial deployment workflow for the template machine roles: + +1. Install [Chef Client](https://docs.chef.io/chef_install_script/) or [Cinc Client](https://cinc.sh/start/client/). +2. Download and extract [ArcGIS Chef cookbooks](https://github.com/Esri/arcgis-cookbook/releases) into the Chef workspace directory. +3. Update the required attributes within the template JSON files. +4. Run the Chef client on the machines as administrator/superuser using the JSON files specific to the machine roles (one machine can be used in multiple roles). + +> For additional customization options, see the list of supported attributes described in arcgis-enterprise cookbook README file. + +### Single-machine deployment + +The single-machine deployment uses one machine for the file server and primary machine roles. + +```shell +chef-client -z -j arcgis-enterprise-fileserver.json +chef-client -z -j arcgis-enterprise-primary.json +``` + +> If you don't plan to add a standby machine in the future, don't configure the file server, and use local paths instead of shared directories for ArcGIS Server server directories, Portal for ArcGIS content directory, and ArcGIS Data Store backup directories in the arcgis-enterprise-primary.json file. + +> Portal for ArcGIS content directory must exist before running arcgis-enterprise-primary.json. It can either be created manually or by using arcgis-enterprise-fileserver.json. + +### Multi-machine deployment + +The multi-machine deployment includes the following machine roles: + +* File Server Machine +* Primary Base ArcGIS Enterprise Machine +* Standby ArcGIS Enterprise Base Machine + +#### File Server Machine + +```shell +chef-client -z -j arcgis-enterprise-fileserver.json +``` + +#### Primary Base ArcGIS Enterprise Machine + +After the Chef run on the file server machine is complete, run the following: + +```shell +chef-client -z -j arcgis-enterprise-primary.json +``` + +#### Standby ArcGIS Enterprise Base Machine + +After the Chef run on the primary machine is complete, run the following: + +```shell +chef-client -z -j arcgis-enterprise-standby.json +``` + +## Install Base ArcGIS Enterprise Patches and Updates + +To install software patches and updates after the initial installation or upgrade of a base ArcGIS Enterprise deployment, download base ArcGIS Enterprise patches from the global ArcGIS software repository into local patches folder: + +```shell +chef-client -z -j arcgis-enterprise-patches.json +``` + +Check the list of patches specified by the arcgis.portal.patches, arcgis.server.patches, arcgis.data_store.patches, and arcgis.web_adaptor.patches attributes in the arcgis-enterprise-patches-apply.json file, and apply the patches: + +```shell +chef-client -z -j arcgis-enterprise-patches-apply.json +``` + +## Upgrade Workflow + +> It's not recommended to upgrade a base ArcGIS Enterprise deployment using the deployment template if it was not initially deployed using an earlier version of the template. + +To upgrade a base ArcGIS Enterprise deployed using the arcgis-enterprise-base deployment template to the 11.1 version, you will need: + +* ArcGIS 11.2 setup archives, +* ArcGIS 11.2 software authorization files, +* The original JSON files used for the initial deployment or the last upgrade. + +### General Upgrade Notes + +Upgrading a highly available base ArcGIS Enterprise deployment may take several hours. During that time, the deployment will be unavailable to the users. + +Before starting the upgrade process, it's highly recommended to backup ArcGIS Enterprise using the webgisdr utility. To prevent operating system updates during the upgrade process, it's recommended to install all the recommended/required OS updates before upgrading ArcGIS Enterprise. + +The attributes defined in the upgrade JSON files must match the actual deployment configuration. To make upgrade JSON files, update the 11.1 template JSON files by copying the attribute values from the JSON files used for the initial deployment or the last upgrade. + +> In some cases, the difference between the original and the new deployment template JSON files will be only in the value of arcgis.version attribute. In those cases, the easiest way to make the upgrade JSON files is to change the arcgis.version attribute values to the new version. But the new deployment templates might change recipes in the run_list, add new attributes, and introduce other significant changes. To keep the upgrade JSON files in sync with the new deployment template's version, it's recommended to update the new deployment templates instead of the original JSON files. + +The copy_attributes.rb tool can be used to copy attributes values from one JSON file to another. The tool copies only attibutes present in the destination template JSON file. The tool is located in the templates/tools directory in the ArcGIS cookbooks archive. To run copy_attributes.rb, use the chef-apply command that comes with the Chef/Cinc Client. + +```shell +chef-apply ./templates/tools/copy_attributes.rb +``` + +After running the tool, update the destination JSON file attributes that are specific to the new JSON file template and attributes specific to the new ArcGIS Enterprise version, such as software authorization files. + +On each deployment machine, before upgrading the ArcGIS Enterprise software, upgrade the configuration management subsystem components: + +1. Back up the original JSON files used for the initial deployment or the last upgrade into a local directory. +2. Upgrade [Chef Client](https://docs.chef.io/chef_install_script/) or [Cinc Client](https://cinc.sh/start/client/) to the recommended version. +3. Empty the Chef/Cinc workspace directory. +4. Download and extract the recommended version of [ArcGIS Chef cookbooks](https://github.com/Esri/arcgis-cookbook/releases) into the Chef/Cinc workspace directory. + +### Upgrade from 10.9, 10.9.1, 11.0, or 11.1 + +Upgrading base ArcGIS Enterprise deployments from 10.9, 10.9.1, 11.0, 11.1 to 11.2 requires upgrading the primary and standby machines. The file server machine does not require any changes. Steps 1 and 3 are not required for single-machine deployments. + +1. Begin the upgrade on the standby machine. + + Copy attributes from the original `arcgis-enterprise-standby.json` JSON file created from the 10.9, 10.9.1, 11.0, or 11.1 arcgis-enterprise-base template to the `arcgis-enterprise-install.json` file of the 11.2 arcgis-enterprise-base template and `arcgis-server-webadaptor-unregister.json` file of the 11.2 arcgis-webadaptor template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /arcgis-enterprise-standby.json <11.2 JSON templates>/arcgis-enterprise-install.json + chef-apply ./templates/tools/copy_attributes.rb /arcgis-enterprise-standby.json <11.2 JSON templates>/arcgis-server-webadaptor-unregister.json + ``` + + Verify that attributes are correct in `arcgis-enterprise-install.json` and `arcgis-server-webadaptor-unregister.json`. + + On the standby machine, run the following command to unregister the ArGIS Web Adaptor used with ArcGIS Server: + + ```shell + chef-client -z -j <11.2 JSON templates>/arcgis-server-webadaptor-unregister.json + ``` + + Wait until the Chef run completes, and run the following command to begin upgrading the base ArcGIS Enterprise on the machine: + + ```shell + chef-client -z -j <11.2 JSON templates>/arcgis-enterprise-install.json + ``` + +2. Upgrade on the primary machine. + + Copy attributes from the original `arcgis-enterprise-primary.json` JSON file created from the 10.9, 10.9.1, 11.0, or 11.1 arcgis-enterprise-base template to the `arcgis-enterprise-primary.json` file of the 11.2 arcgis-enterprise-base template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /arcgis-enterprise-primary.json <11.2 JSON templates>/arcgis-enterprise-primary.json + ``` + + Verify that attributes are correct in `arcgis-enterprise-primary.json`. + + On the primary machine, run the following command: + + ```shell + chef-client -z -j <11.2 JSON templates>/arcgis-enterprise-primary.json + ``` + +3. Complete upgrading on the standby machine. + + Copy attributes from the original `arcgis-enterprise-standby.json` JSON file created from the 10.9, 10.9.1, 11.0, or 11.1 arcgis-enterprise-base template to the `arcgis-enterprise-standby.json` file of the 11.2 arcgis-enterprise-base template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /arcgis-enterprise-standby.json <11.2 JSON templates>/arcgis-enterprise-standby.json + ``` + + Verify that attributes are correct in `arcgis-enterprise-standby.json`. + + On the standby machine, run the following command: + + ```shell + chef-client -z -j <11.2 JSON templates>/arcgis-enterprise-standby.json + ``` + +## Machine Roles + +The JSON files included in the template provide recipes for the deployment machine roles and the most important attributes used by the recipes. + +### arcgis-enterprise-files + +The role downloads ArcGIS Enterprise setup archives from https://downloads.arcgis.com to the local ArcGIS software repository specified by the arcgis.repository.local_archives attribute. + +If the arcgis.repository.shared attribute is set to `true`, then a network share is created for the local software repository. + +On Linux, the role also downloads Apache Tomcat and Open JDK packages from the software vendors' repositories. + +Required attribute changes: + +* arcgis.repository.server.username - ArcGIS Online user name +* arcgis.repository.server.password - ArcGIS Online user password + +### arcgis-enterprise-s3files + +The role downloads ArcGIS Enterprise setup archives from the S3 bucket specified by the arcgis.repository.server.s3bucket attribute to the a local ArcGIS software repository. + +The following attributes are required unless the machine is an AWS EC2 instance with a configured IAM Role: + +* arcgis.repository.server.aws_access_key - AWS account access key id +* arcgis.repository.server.aws_secret_access_key - AWS account secret access key + +### arcgis-enterprise-fileserver + +Configures file shares for ArcGIS Server server directories, Portal for ArcGIS content directory, and ArcGIS Data Store backup directories. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account + +### arcgis-enterprise-install + +Installs base ArcGIS Enterprise software on the machine without authorizing or configuring. + +Required attributes changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account + +### arcgis-enterprise-patches + +Downloads base ArcGIS Enterprise patches from global ArcGIS software repository into a local patch folder. + +### arcgis-enterprise-patches-apply + +Applies base ArcGIS Enterprise patches. + +### arcgis-enterprise-primary + +Installs and configures base ArcGIS Enterprise software on the primary machine. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account +* arcgis.server.url - ArcGIS Server URL on the machine +* arcgis.server.wa_url - ArcGIS Server Web Adaptor URL on the machine +* arcgis.server.private_url - ArcGIS Server load balanced admin URL that will be used as the federated server admin URL +* arcgis.server.web_context_url - ArcGIS Server web context URL that will be used for the federated server services URL +* arcgis.server.admin_username - Specify primary site administrator account user name +* arcgis.server.admin_password - Specify primary site administrator account password +* arcgis.server.authorization_file - Specify path to the ArcGIS Server role software authorization file +* arcgis.server.directories_root - Replace 'FILESERVER' with the file server machine hostname or static IP address +* arcgis.server.config_store_connection_string - Replace 'FILESERVER' with the file server machine hostname or static IP address +* arcgis.server.system_properties.WebContextURL - ArcGIS Server web context URL used if there is a reverse proxy and\or load balancer +* arcgis.portal.url - Portal for ArcGIS URL on the machine +* arcgis.portal.wa_url - Portal for ArcGIS Web Adaptor URL +* arcgis.portal.private_url - Portal for ArcGIS load balanced admin URL +* arcgis.portal.admin_username - Specify Portal for ArcGIS administrator account user name +* arcgis.portal.admin_password - Specify Portal for ArcGIS administrator account password +* arcgis.portal.admin_email - Specify Portal for ArcGIS administrator account e-mail +* arcgis.portal.admin_full_name - Specify Portal for ArcGIS administrator account full name +* arcgis.portal.security_question - Specify Portal for ArcGIS administrator account security question (See [Create Site - ArcGIS REST API](https://developers.arcgis.com/rest/enterprise-administration/portal/create-site.htm) for the list of allowed security questions) +* arcgis.portal.security_question_answer - Specify Portal for ArcGIS administrator account security question answer +* arcgis.portal.content_store_connection_string - Replace 'FILESERVER' with the file server machine hostname or static IP address +* arcgis.portal.authorization_file - Specify path to the Portal for ArcGIS software authorization file +* arcgis.portal.user_license_type_id - If left blank, a temporary user type will be assigned to the user and will have to be changed on the first log in (the allowed user type IDs are: creatorUT, GISProfessionalBasicUT, GISProfessionalStdUT, and GISProfessionalAdvUT) +* arcgis.portal.system_properties.privatePortalURL - Portal for ArcGIS load balanced admin URL +* arcgis.portal.system_properties.WebContextURL - Portal for ArcGIS web context URL +* arcgis.iis.keystore_file - (Windows only) Specify path to the SSL certificate file in PKCS12 format that will be used to configure the HTTPS listener in IIS web server +* arcgis.iis.keystore_password - (Windows only) Specify password of the SSL certificate file +* tomcat.keystore_file - (Linux only) Specify path to the SSL certificate file in PKCS12 format that will be used to configure the HTTPS listener in Apache Tomcat +* tomcat.keystore_password - (Linux only) Specify password of the SSL certificate file + +### arcgis-enterprise-standby + +Installs and configures base ArcGIS Enterprise software on the standby machine. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account +* arcgis.server.url - ArcGIS Server URL on the machine +* arcgis.server.wa_url - ArcGIS Server Web Adaptor URL on the machine +* arcgis.server.admin_username - Specify primary site administrator account user name +* arcgis.server.admin_password - Specify primary site administrator account password +* arcgis.server.authorization_file - Specify path to the ArcGIS Server role software authorization file +* arcgis.server.primary_server_url - Specify ArcGIS Server URL on the primary machine +* arcgis.portal.url - Portal for ArcGIS URL on the machine +* arcgis.portal.wa_url - Portal for ArcGIS Web Adaptor URL +* arcgis.portal.private_url - Portal for ArcGIS load balanced admin URL +* arcgis.portal.web_context_url - Portal for ArcGIS web context URL +* arcgis.portal.primary_machine_url - Specify Portal for ArcGIS URL of the primary machine +* arcgis.portal.admin_username - Specify Portal for ArcGIS administrator account user name +* arcgis.portal.admin_password - Specify Portal for ArcGIS administrator account password +* arcgis.iis.keystore_file - (Windows only) Specify path to the SSL certificate file in PKCS12 format that will be used to configure the HTTPS listener in IIS web server +* arcgis.iis.keystore_password - (Windows only) Specify password of the SSL certificate file +* tomcat.keystore_file - (Linux only) Specify path to the SSL certificate file in PKCS12 format that will be used to configure the HTTPS listener in Apache Tomcat application server +* tomcat.keystore_password - (Linux only) Specify password of the SSL certificate file diff --git a/templates/arcgis-enterprise-base/11.2/linux/arcgis-enterprise-files.json b/templates/arcgis-enterprise-base/11.2/linux/arcgis-enterprise-files.json new file mode 100644 index 0000000..0494239 --- /dev/null +++ b/templates/arcgis-enterprise-base/11.2/linux/arcgis-enterprise-files.json @@ -0,0 +1,40 @@ +{ + "arcgis": { + "repository": { + "local_archives": "/opt/software/archives", + "shared": false, + "server": { + "username": "", + "password": "" + }, + "files": { + "ArcGIS_Server_Linux_112_188327.tar.gz": { + "subfolder": "software/arcgis/11.2" + }, + "Portal_for_ArcGIS_Linux_112_188338.tar.gz": { + "subfolder": "software/arcgis/11.2" + }, + "Portal_for_ArcGIS_Web_Styles_Linux_112_188339.tar.gz": { + "subfolder": "software/arcgis/11.2" + }, + "ArcGIS_DataStore_Linux_112_188340.tar.gz": { + "subfolder": "software/arcgis/11.2" + }, + "ArcGIS_Web_Adaptor_Java_Linux_112_188341.tar.gz": { + "subfolder": "software/arcgis/11.2" + }, + "apache-tomcat-9.0.48.tar.gz": { + "url": "https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.48/bin/apache-tomcat-9.0.48.tar.gz" + }, + "openjdk-11_linux-x64_bin.tar.gz": { + "url": "https://download.java.net/java/ga/jdk11/openjdk-11_linux-x64_bin.tar.gz" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] + } + diff --git a/templates/arcgis-enterprise-base/11.2/linux/arcgis-enterprise-fileserver.json b/templates/arcgis-enterprise-base/11.2/linux/arcgis-enterprise-fileserver.json new file mode 100644 index 0000000..2ea802d --- /dev/null +++ b/templates/arcgis-enterprise-base/11.2/linux/arcgis-enterprise-fileserver.json @@ -0,0 +1,26 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "fileserver": { + "directories": [ + "/gisdata/arcgisserver", + "/gisdata/arcgisbackup", + "/gisdata/arcgisbackup/tilecache", + "/gisdata/arcgisbackup/relational", + "/gisdata/arcgisportal", + "/gisdata/arcgisportal/content" + ], + "shares": [ + "/gisdata/arcgisserver", + "/gisdata/arcgisbackup", + "/gisdata/arcgisportal" + ] + } + }, + "run_list": [ + "recipe[nfs::server]", + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::fileserver]" + ] +} diff --git a/templates/arcgis-enterprise-base/11.2/linux/arcgis-enterprise-install.json b/templates/arcgis-enterprise-base/11.2/linux/arcgis-enterprise-install.json new file mode 100644 index 0000000..1bfc256 --- /dev/null +++ b/templates/arcgis-enterprise-base/11.2/linux/arcgis-enterprise-install.json @@ -0,0 +1,59 @@ +{ + "java": { + "version": "11", + "tarball_path": "/opt/software/archives/openjdk-11_linux-x64_bin.tar.gz" + }, + "tomcat": { + "version": "9.0.48", + "tarball_path": "/opt/software/archives/apache-tomcat-9.0.48.tar.gz", + "install_path": "/opt/tomcat_arcgis_9.0.48" + }, + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "web_server": { + "webapp_dir": "/opt/tomcat_arcgis_9.0.48/webapps" + }, + "server": { + "install_dir": "/opt", + "configure_autostart": true, + "install_system_requirements": true, + "wa_name": "server" + }, + "web_adaptor": { + "install_dir": "/opt" + }, + "data_store": { + "install_dir": "/opt", + "setup_options": "-f Relational,TileCache", + "data_dir": "/gisdata/arcgisdatastore", + "configure_autostart": true, + "preferredidentifier": "hostname", + "install_system_requirements": true + }, + "portal": { + "install_dir": "/opt", + "configure_autostart": true, + "install_system_requirements": true, + "wa_name": "portal" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[esri-tomcat::openjdk]", + "recipe[esri-tomcat::install]", + "recipe[arcgis-enterprise::install_portal]", + "recipe[arcgis-enterprise::start_portal]", + "recipe[arcgis-enterprise::webstyles]", + "recipe[arcgis-enterprise::install_portal_wa]", + "recipe[arcgis-enterprise::install_server]", + "recipe[arcgis-enterprise::start_server]", + "recipe[arcgis-enterprise::install_server_wa]", + "recipe[arcgis-enterprise::install_datastore]", + "recipe[arcgis-enterprise::start_datastore]" + ] +} diff --git a/templates/arcgis-enterprise-base/11.2/linux/arcgis-enterprise-patches-apply.json b/templates/arcgis-enterprise-base/11.2/linux/arcgis-enterprise-patches-apply.json new file mode 100644 index 0000000..6ed7565 --- /dev/null +++ b/templates/arcgis-enterprise-base/11.2/linux/arcgis-enterprise-patches-apply.json @@ -0,0 +1,36 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "patches": "/opt/software/archives/patches" + }, + "portal": { + "install_dir": "/opt", + "patches": [ + "ArcGIS-112-PFA-*.tar", + "ArcGIS-112-PFA-*.tar.gz" + ] + }, + "server": { + "install_dir": "/opt", + "patches": [ + "ArcGIS-112-S-*.tar", + "ArcGIS-112-S-*.tar.gz" + ] + }, + "data_store": { + "install_dir": "/opt", + "patches": [ + "ArcGIS-112-DS-*.tar", + "ArcGIS-112-DS-*.tar.gz" + ] + }, + "web_adaptor": { + "patches": [] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]" + ] +} diff --git a/templates/arcgis-enterprise-base/11.2/linux/arcgis-enterprise-patches.json b/templates/arcgis-enterprise-base/11.2/linux/arcgis-enterprise-patches.json new file mode 100644 index 0000000..9cbfe72 --- /dev/null +++ b/templates/arcgis-enterprise-base/11.2/linux/arcgis-enterprise-patches.json @@ -0,0 +1,19 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_patches": "/opt/software/archives/patches", + "patch_notification": { + "products": [ + "Portal for ArcGIS", + "ArcGIS Server", + "ArcGIS Data Store", + "ArcGIS Web Adaptor (Java)" + ] + } + } + }, + "run_list": [ + "recipe[arcgis-repository::patches]" + ] +} diff --git a/templates/arcgis-enterprise-base/11.2/linux/arcgis-enterprise-primary.json b/templates/arcgis-enterprise-base/11.2/linux/arcgis-enterprise-primary.json new file mode 100644 index 0000000..fd9a54d --- /dev/null +++ b/templates/arcgis-enterprise-base/11.2/linux/arcgis-enterprise-primary.json @@ -0,0 +1,104 @@ +{ + "java": { + "version": "11", + "tarball_path": "/opt/software/archives/openjdk-11_linux-x64_bin.tar.gz" + }, + "tomcat": { + "version": "9.0.48", + "tarball_path": "/opt/software/archives/apache-tomcat-9.0.48.tar.gz", + "install_path": "/opt/tomcat_arcgis_9.0.48", + "keystore_file": "/opt/tomcat_arcgis_9.0.48/conf/ssl_certificate_file.pfx", + "keystore_type": "pkcs12", + "keystore_password": "" + }, + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "web_server": { + "webapp_dir": "/opt/tomcat_arcgis_9.0.48/webapps" + }, + "server": { + "install_dir": "/opt", + "private_url": "https://domain.com:6443/arcgis", + "web_context_url": "https://domain.com/server", + "admin_username": "", + "admin_password": "", + "authorization_file": "/opt/software/authorization_files/11.2/server.prvc", + "directories_root": "/net/FILESERVER/gisdata/arcgisserver", + "log_dir": "/opt/arcgis/server/usr/logs", + "log_level": "WARNING", + "config_store_type": "FILESYSTEM", + "config_store_connection_string": "/net/FILESERVER/gisdata/arcgisserver/config-store", + "install_system_requirements": true, + "wa_name": "server", + "services_dir_enabled": true, + "system_properties": { + "WebContextURL": "https://domain.com/server" + } + }, + "data_store": { + "install_dir": "/opt", + "setup_options": "-f Relational,TileCache", + "data_dir": "/gisdata/arcgisdatastore", + "preferredidentifier": "hostname", + "install_system_requirements": true, + "types": "tileCache,relational", + "tilecache": { + "backup_type": "fs", + "backup_location": "/net/FILESERVER/gisdata/arcgisbackup/tilecache" + }, + "relational": { + "backup_type": "fs", + "backup_location": "/net/FILESERVER/gisdata/arcgisbackup/relational" + } + }, + "portal": { + "install_dir": "/opt", + "admin_username": "", + "admin_password": "", + "admin_email": "admin@mydomain.com", + "admin_full_name": "Administrator", + "admin_description": "Initial account administrator", + "security_question": "Your favorite ice cream flavor?", + "security_question_answer": "bacon", + "log_dir": "/opt/arcgis/portal/usr/arcgisportal/logs", + "log_level": "WARNING", + "content_store_type": "fileStore", + "content_store_provider": "FileSystem", + "content_store_connection_string": "/net/FILESERVER/gisdata/arcgisportal/content", + "object_store": "", + "authorization_file": "/opt/software/authorization_files/11.2/portal.json", + "user_license_type_id": "", + "install_system_requirements": true, + "wa_name": "portal", + "root_cert": "", + "root_cert_alias": "rootcert", + "system_properties": { + "privatePortalURL": "https://domain.com:7443/arcgis", + "WebContextURL": "https://domain.com/portal" + } + }, + "web_adaptor": { + "install_dir": "/opt", + "admin_access": true, + "reindex_portal_content": false + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[esri-tomcat::openjdk]", + "recipe[esri-tomcat]", + "recipe[arcgis-enterprise::install_portal]", + "recipe[arcgis-enterprise::webstyles]", + "recipe[arcgis-enterprise::portal]", + "recipe[arcgis-enterprise::portal_wa]", + "recipe[arcgis-enterprise::server]", + "recipe[arcgis-enterprise::server_wa]", + "recipe[arcgis-enterprise::datastore]", + "recipe[arcgis-enterprise::federation]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-enterprise-base/11.2/linux/arcgis-enterprise-s3files.json b/templates/arcgis-enterprise-base/11.2/linux/arcgis-enterprise-s3files.json new file mode 100644 index 0000000..9c75a2d --- /dev/null +++ b/templates/arcgis-enterprise-base/11.2/linux/arcgis-enterprise-s3files.json @@ -0,0 +1,42 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_archives": "/opt/software/archives", + "server": { + "s3bucket": "arcgisstore-us-east-1", + "region": "us-east-1", + "aws_access_key": "", + "aws_secret_access_key": "" + + }, + "files": { + "ArcGIS_Server_Linux_112_188327.tar.gz": { + "subfolder": "11.2/setups" + }, + "Portal_for_ArcGIS_Linux_112_188338.tar.gz": { + "subfolder": "11.2/setups" + }, + "Portal_for_ArcGIS_Web_Styles_Linux_112_188339.tar.gz": { + "subfolder": "11.2/setups" + }, + "ArcGIS_DataStore_Linux_112_188340.tar.gz": { + "subfolder": "11.2/setups" + }, + "ArcGIS_Web_Adaptor_Java_Linux_112_188341.tar.gz": { + "subfolder": "11.2/setups" + }, + "apache-tomcat-9.0.48.tar.gz": { + "subfolder": "11.2/thirdparty" + }, + "openjdk-11_linux-x64_bin.tar.gz": { + "subfolder": "11.2/thirdparty" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] + } + diff --git a/templates/arcgis-enterprise-base/11.2/linux/arcgis-enterprise-standby.json b/templates/arcgis-enterprise-base/11.2/linux/arcgis-enterprise-standby.json new file mode 100644 index 0000000..eeffb03 --- /dev/null +++ b/templates/arcgis-enterprise-base/11.2/linux/arcgis-enterprise-standby.json @@ -0,0 +1,71 @@ +{ + "java": { + "version": "11", + "tarball_path": "/opt/software/archives/openjdk-11_linux-x64_bin.tar.gz" + }, + "tomcat": { + "version": "9.0.48", + "tarball_path": "/opt/software/archives/apache-tomcat-9.0.48.tar.gz", + "install_path": "/opt/tomcat_arcgis_9.0.48", + "keystore_file": "/opt/tomcat_arcgis_9.0.48/conf/ssl_certificate_file.pfx", + "keystore_type": "pkcs12", + "keystore_password": "" + }, + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "web_server": { + "webapp_dir": "/opt/tomcat_arcgis_9.0.48/webapps" + }, + "server": { + "install_dir": "/opt", + "primary_server_url": "https://primary.com:6443/arcgis", + "admin_username": "", + "admin_password": "", + "log_dir": "/opt/arcgis/server/usr/logs", + "authorization_file": "/opt/software/authorization_files/11.2/server.prvc", + "install_system_requirements": true, + "wa_name": "server" + }, + "data_store": { + "install_dir": "/opt", + "setup_options": "-f Relational,TileCache", + "data_dir": "/gisdata/arcgisdatastore", + "preferredidentifier": "hostname", + "install_system_requirements": true, + "types": "tileCache,relational" + }, + "portal": { + "install_dir": "/opt", + "primary_machine_url": "https://primary.com:7443", + "admin_username": "", + "admin_password": "", + "log_dir": "/opt/arcgis/portal/usr/arcgisportal/logs", + "install_system_requirements": true, + "wa_name": "portal", + "root_cert": "", + "root_cert_alias": "rootcert" + }, + "web_adaptor": { + "install_dir": "/opt", + "admin_access": true, + "reindex_portal_content": false + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[esri-tomcat::openjdk]", + "recipe[esri-tomcat]", + "recipe[arcgis-enterprise::install_portal]", + "recipe[arcgis-enterprise::webstyles]", + "recipe[arcgis-enterprise::portal_standby]", + "recipe[arcgis-enterprise::portal_wa]", + "recipe[arcgis-enterprise::server_node]", + "recipe[arcgis-enterprise::server_wa]", + "recipe[arcgis-enterprise::datastore_standby]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-enterprise-base/11.2/windows/arcgis-enterprise-files.json b/templates/arcgis-enterprise-base/11.2/windows/arcgis-enterprise-files.json new file mode 100644 index 0000000..1706b7f --- /dev/null +++ b/templates/arcgis-enterprise-base/11.2/windows/arcgis-enterprise-files.json @@ -0,0 +1,39 @@ +{ + "arcgis": { + "repository": { + "local_archives": "C:\\Software\\Archives", + "shared": false, + "server": { + "username": "", + "password": "" + }, + "files": { + "ArcGIS_Server_Windows_112_188239.exe": { + "subfolder": "software/arcgis/11.2" + }, + "Portal_for_ArcGIS_Windows_112_188250.exe": { + "subfolder": "software/arcgis/11.2" + }, + "Portal_for_ArcGIS_Web_Styles_Windows_112_188251.exe": { + "subfolder": "software/arcgis/11.2" + }, + "ArcGIS_DataStore_Windows_112_188252.exe": { + "subfolder": "software/arcgis/11.2" + }, + "ArcGIS_Web_Adaptor_for_Microsoft_IIS_112_188253.exe": { + "subfolder": "software/arcgis/11.2" + }, + "dotnet-hosting-6.0.9-win.exe": { + "url": "https://download.visualstudio.microsoft.com/download/pr/eaa3eab9-cc21-44b5-a4e4-af31ee73b9fa/d8ad75d525dec0a30b52adc990796b11/dotnet-hosting-6.0.9-win.exe" + }, + "WebDeploy_amd64_en-US.msi": { + "url": "https://download.microsoft.com/download/0/1/D/01DC28EA-638C-4A22-A57B-4CEF97755C6C/WebDeploy_amd64_en-US.msi" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-enterprise-base/11.2/windows/arcgis-enterprise-fileserver.json b/templates/arcgis-enterprise-base/11.2/windows/arcgis-enterprise-fileserver.json new file mode 100644 index 0000000..df963dd --- /dev/null +++ b/templates/arcgis-enterprise-base/11.2/windows/arcgis-enterprise-fileserver.json @@ -0,0 +1,27 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "fileserver": { + "directories": [ + "C:\\data\\arcgisserver", + "C:\\data\\arcgisbackup", + "C:\\data\\arcgisbackup\\tilecache", + "C:\\data\\arcgisbackup\\relational", + "C:\\data\\arcgisportal", + "C:\\data\\arcgisportal\\content" + ], + "shares": [ + "C:\\data\\arcgisserver", + "C:\\data\\arcgisbackup", + "C:\\data\\arcgisportal" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[arcgis-enterprise::fileserver]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-enterprise-base/11.2/windows/arcgis-enterprise-install.json b/templates/arcgis-enterprise-base/11.2/windows/arcgis-enterprise-install.json new file mode 100644 index 0000000..851cd6c --- /dev/null +++ b/templates/arcgis-enterprise-base/11.2/windows/arcgis-enterprise-install.json @@ -0,0 +1,50 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "install_dir": "C:\\Program Files\\ArcGIS\\Server", + "install_system_requirements": true, + "wa_name": "server" + }, + "web_adaptor": { + "install_system_requirements": true, + "dotnet_setup_path": "C:\\Software\\Archives\\dotnet-hosting-6.0.9-win.exe", + "web_deploy_setup_path": "C:\\Software\\Archives\\WebDeploy_amd64_en-US.msi", + "admin_access": true, + "reindex_portal_content": false + }, + "data_store": { + "install_dir": "C:\\Program Files\\ArcGIS\\DataStore", + "setup_options": "ADDLOCAL=relational,tilecache", + "data_dir": "C:\\arcgisdatastore", + "install_system_requirements": true, + "preferredidentifier": "hostname" + }, + "portal": { + "install_dir": "C:\\Program Files\\ArcGIS\\Portal", + "install_system_requirements": true, + "data_dir": "C:\\arcgisportal", + "wa_name": "portal" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[esri-iis::install]", + "recipe[arcgis-enterprise::install_portal]", + "recipe[arcgis-enterprise::start_portal]", + "recipe[arcgis-enterprise::webstyles]", + "recipe[arcgis-enterprise::install_portal_wa]", + "recipe[arcgis-enterprise::install_server]", + "recipe[arcgis-enterprise::start_server]", + "recipe[arcgis-enterprise::install_server_wa]", + "recipe[arcgis-enterprise::install_datastore]", + "recipe[arcgis-enterprise::start_datastore]" + ] +} diff --git a/templates/arcgis-enterprise-base/11.2/windows/arcgis-enterprise-patches-apply.json b/templates/arcgis-enterprise-base/11.2/windows/arcgis-enterprise-patches-apply.json new file mode 100644 index 0000000..816c59e --- /dev/null +++ b/templates/arcgis-enterprise-base/11.2/windows/arcgis-enterprise-patches-apply.json @@ -0,0 +1,31 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "patches": "C:\\Software\\Archives\\Patches" + }, + "portal": { + "patches": [ + "ArcGIS-112-PFA-*.msp" + ] + }, + "server": { + "patches": [ + "ArcGIS-112-S-*.msp" + ] + }, + "data_store": { + "patches": [ + "ArcGIS-112-DS-*.msp" + ] + }, + "web_adaptor": { + "patches": [ + "ArcGIS-112-WAI-*.msp" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]" + ] +} diff --git a/templates/arcgis-enterprise-base/11.2/windows/arcgis-enterprise-patches.json b/templates/arcgis-enterprise-base/11.2/windows/arcgis-enterprise-patches.json new file mode 100644 index 0000000..8dfa2d5 --- /dev/null +++ b/templates/arcgis-enterprise-base/11.2/windows/arcgis-enterprise-patches.json @@ -0,0 +1,19 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_patches": "C:\\Software\\Archives\\Patches", + "patch_notification": { + "products": [ + "Portal for ArcGIS", + "ArcGIS Server", + "ArcGIS Data Store", + "ArcGIS Web Adaptor (IIS)" + ] + } + } + }, + "run_list": [ + "recipe[arcgis-repository::patches]" + ] +} diff --git a/templates/arcgis-enterprise-base/11.2/windows/arcgis-enterprise-primary.json b/templates/arcgis-enterprise-base/11.2/windows/arcgis-enterprise-primary.json new file mode 100644 index 0000000..07cdb0b --- /dev/null +++ b/templates/arcgis-enterprise-base/11.2/windows/arcgis-enterprise-primary.json @@ -0,0 +1,99 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "iis": { + "keystore_file": "C:\\Temp\\keystore.pfx", + "keystore_password": "", + "replace_https_binding": true + }, + "server": { + "install_dir": "C:\\Program Files\\ArcGIS\\Server", + "install_system_requirements": true, + "private_url": "https://domain.com:6443/arcgis", + "web_context_url": "https://domain.com/server", + "admin_username": "", + "admin_password": "", + "authorization_file": "C:\\Software\\AuthorizationFiles\\11.2\\Server.prvc", + "directories_root": "\\\\FILESERVER\\arcgisserver", + "log_dir": "C:\\arcgisserver\\logs", + "log_level": "WARNING", + "config_store_type": "FILESYSTEM", + "config_store_connection_string": "\\\\FILESERVER\\arcgisserver\\config-store", + "wa_name": "server", + "services_dir_enabled": true, + "system_properties": { + "WebContextURL": "https://domain.com/server" + } + }, + "data_store": { + "install_dir": "C:\\Program Files\\ArcGIS\\DataStore", + "setup_options": "ADDLOCAL=relational,tilecache", + "install_system_requirements": true, + "data_dir": "C:\\arcgisdatastore", + "preferredidentifier": "hostname", + "types": "tileCache,relational", + "tilecache": { + "backup_type": "fs", + "backup_location": "\\\\FILESERVER\\arcgisbackup\\tilecache" + }, + "relational": { + "backup_type": "fs", + "backup_location": "\\\\FILESERVER\\arcgisbackup\\relational" + } + }, + "portal": { + "install_dir": "C:\\Program Files\\ArcGIS\\Portal", + "install_system_requirements": true, + "admin_username": "", + "admin_password": "", + "admin_email": "admin@mydomain.com", + "admin_full_name": "Administrator", + "admin_description": "Initial account administrator", + "security_question": "Your favorite ice cream flavor?", + "security_question_answer": "bacon", + "data_dir": "C:\\arcgisportal", + "log_dir": "C:\\arcgisportal\\logs", + "log_level": "WARNING", + "content_store_type": "fileStore", + "content_store_provider": "FileSystem", + "content_store_connection_string": "\\\\FILESERVER\\arcgisportal\\content", + "object_store": "", + "authorization_file": "C:\\Software\\AuthorizationFiles\\11.2\\Portal.json", + "user_license_type_id": "", + "wa_name": "portal", + "root_cert": "", + "root_cert_alias": "rootcert", + "system_properties": { + "privatePortalURL": "https://domain.com:7443/arcgis", + "WebContextURL": "https://domain.com/portal" + } + }, + "web_adaptor": { + "install_system_requirements": true, + "dotnet_setup_path": "C:\\Software\\Archives\\dotnet-hosting-6.0.9-win.exe", + "web_deploy_setup_path": "C:\\Software\\Archives\\WebDeploy_amd64_en-US.msi", + "admin_access": true, + "reindex_portal_content": false + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[esri-iis]", + "recipe[arcgis-enterprise::install_portal]", + "recipe[arcgis-enterprise::webstyles]", + "recipe[arcgis-enterprise::portal]", + "recipe[arcgis-enterprise::portal_wa]", + "recipe[arcgis-enterprise::server]", + "recipe[arcgis-enterprise::server_wa]", + "recipe[arcgis-enterprise::datastore]", + "recipe[arcgis-enterprise::federation]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-enterprise-base/11.2/windows/arcgis-enterprise-s3files.json b/templates/arcgis-enterprise-base/11.2/windows/arcgis-enterprise-s3files.json new file mode 100644 index 0000000..59aa031 --- /dev/null +++ b/templates/arcgis-enterprise-base/11.2/windows/arcgis-enterprise-s3files.json @@ -0,0 +1,40 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_archives": "C:\\Software\\Archives", + "server": { + "s3bucket": "arcgisstore-us-east-1", + "region": "us-east-1", + "aws_access_key": "", + "aws_secret_access_key": "" + }, + "files": { + "ArcGIS_Server_Windows_112_188239.exe": { + "subfolder": "11.2/setups" + }, + "Portal_for_ArcGIS_Windows_112_188250.exe": { + "subfolder": "11.2/setups" + }, + "Portal_for_ArcGIS_Web_Styles_Windows_112_188251.exe": { + "subfolder": "11.2/setups" + }, + "ArcGIS_DataStore_Windows_112_188252.exe": { + "subfolder": "11.2/setups" + }, + "ArcGIS_Web_Adaptor_for_Microsoft_IIS_112_188253.exe": { + "subfolder": "11.2/setups" + }, + "dotnet-hosting-6.0.9-win.exe": { + "subfolder": "11.2/thirdparty" + }, + "WebDeploy_amd64_en-US.msi": { + "subfolder": "11.2/thirdparty" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-enterprise-base/11.2/windows/arcgis-enterprise-standby.json b/templates/arcgis-enterprise-base/11.2/windows/arcgis-enterprise-standby.json new file mode 100644 index 0000000..95300f3 --- /dev/null +++ b/templates/arcgis-enterprise-base/11.2/windows/arcgis-enterprise-standby.json @@ -0,0 +1,66 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "iis": { + "keystore_file": "C:\\Temp\\keystore.pfx", + "keystore_password": "", + "replace_https_binding": true + }, + "server": { + "install_dir": "C:\\Program Files\\ArcGIS\\Server", + "install_system_requirements": true, + "primary_server_url": "https://primary.com:6443/arcgis", + "admin_username": "", + "admin_password": "", + "authorization_file": "C:\\Software\\AuthorizationFiles\\11.2\\Server.prvc", + "log_dir": "C:\\arcgisserver\\logs", + "wa_name": "server" + }, + "data_store": { + "install_dir": "C:\\Program Files\\ArcGIS\\DataStore", + "setup_options": "ADDLOCAL=relational,tilecache", + "install_system_requirements": true, + "data_dir": "C:\\arcgisdatastore", + "preferredidentifier": "hostname", + "types": "tileCache,relational" + }, + "portal": { + "install_dir": "C:\\Program Files\\ArcGIS\\Portal", + "install_system_requirements": true, + "primary_machine_url": "https://primary.com:7443", + "admin_username": "", + "admin_password": "", + "data_dir": "C:\\arcgisportal", + "log_dir": "C:\\arcgisportal\\logs", + "wa_name": "portal", + "root_cert": "", + "root_cert_alias": "rootcert" + }, + "web_adaptor": { + "install_system_requirements": true, + "dotnet_setup_path": "C:\\Software\\Archives\\dotnet-hosting-6.0.9-win.exe", + "web_deploy_setup_path": "C:\\Software\\Archives\\WebDeploy_amd64_en-US.msi", + "admin_access": true, + "reindex_portal_content": false + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[esri-iis]", + "recipe[arcgis-enterprise::install_portal]", + "recipe[arcgis-enterprise::webstyles]", + "recipe[arcgis-enterprise::portal_standby]", + "recipe[arcgis-enterprise::portal_wa]", + "recipe[arcgis-enterprise::server_node]", + "recipe[arcgis-enterprise::server_wa]", + "recipe[arcgis-enterprise::datastore_standby]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-geoevent-server/11.2/README.md b/templates/arcgis-geoevent-server/11.2/README.md new file mode 100644 index 0000000..c2fdda9 --- /dev/null +++ b/templates/arcgis-geoevent-server/11.2/README.md @@ -0,0 +1,281 @@ +--- +layout: default +title: "arcgis-geoevent-server template" +category: templates +item: arcgis-geoevent-server +version: "11.2" +latest: true +--- + +# arcgis-geoevent-server Deployment Template + +Creates an ArcGIS GeoEvent Server deployment. + +## System Requirements + +Consult the ArcGIS GeoEvent Server 11.2 system requirements documentation for the required/recommended hardware specification. + +### Recommended Chef Client versions + +* Chef Client 16, or +* Cinc Client 16 + +### Recommended ArcGIS Chef Cookbooks versions + +* 4.2.0 + +### Supported Platforms + +* Windows + * Windows Server 2016 Standard and Datacenter + * Windows Server 2019 Standard and Datacenter + * Windows Server 2022 Standard and Datacenter +* Linux + * Ubuntu Server 18.04 LTS + * Ubuntu Server 20.04 LTS + * Red Hat Enterprise Linux Server 8 + +For Linux deployments, enable running sudo without password for the user running the Chef client. + +### Required ArcGIS Software Repository Content + +The following ArcGIS setup archives must be available in the ArcGIS software repository directory for both initial deployments and upgrades: + +Windows + +* ArcGIS_GeoEvent_Server_112_188278.exe +* ArcGIS_Server_Windows_112_188239.exe + +Linux + +* ArcGIS_GeoEvent_Server_112_188353.tar.gz +* ArcGIS_Server_Linux_112_188327.tar.gz + +> The ArcGIS software repository directory is specified by the arcgis.repository.archives attribute. By default, it is set to local directory C:\Software\Archives on Windows and /opt/software/archives on Linux. However, it is recommended to create an ArcGIS software repository located on a separate file server that is accessible from all the machines in the deployment for the user account used to run the Chef client. + +> Ensure that the directory specified by the arcgis.repository.setups attribute has enough space for the setups extracted from the setup archives. + +## Initial Deployment Workflow + +The following is the recommended initial deployment workflow for the template machine roles: + +1. Install [Chef Client](https://docs.chef.io/chef_install_script/) or [Cinc Client](https://cinc.sh/start/client/). +2. Download and extract [ArcGIS Chef cookbooks](https://github.com/Esri/arcgis-cookbook/releases) into the Chef workspace directory. +3. Update the required attributes within the template JSON files. +4. Run the Chef client on the machines as administrator/superuser using the JSON files specific to the machine roles (one machine can be used in multiple roles). + +> For additional customization options, see the list of supported attributes described in the arcgis-enterprise and arcgis-geoevent cookbooks README files. + +### File Server Machine + +```shell +chef-client -z -j geoevent-server-fileserver.json +``` + +### ArcGIS GeoEvent Server Machine + +```shell +chef-client -z -j geoevent-server.json +``` + +### ArcGIS Web Adaptor Machine + +If ArcGIS Web Adaptor is required, use the arcgis-webadaptor deployment template to install and configure it. + +## Install ArcGIS GeoEvent Server Patches and Updates + +To install software patches and updates after the initial installation or upgrade of ArcGIS GeoEvent Server, download ArcGIS GeoEvent Server patches from the global ArcGIS software repository into a local patches folder: + +```shell +chef-client -z -j geoevent-server-patches.json +``` + +Check the list of patches specified by the arcgis.geoevent.patches attribute in the geoevent-server-patches-apply.json file, and apply the patches: + +```shell +chef-client -z -j geoevent-server-patches-apply.json +``` + +## Upgrade Workflow + +> It's not recommended to use the templates for upgrades if the sites were not initially deployed using the templates. + +To upgrade an ArcGIS GeoEvent Server site deployed using the arcgis-geoevent-server deployment template to the 11.2 version, you will need: + +* ArcGIS Server 11.2 setup archive, +* ArcGIS GeoEvent Server 11.2 setup archive, +* ArcGIS Web Adaptor 11.2 setup archive, if Web Adaptors were installed in the initial deployment, +* ArcGIS Server 11.2 and ArcGIS GeoEvent Server software authorization files, +* The original JSON files used for the initial deployment or the last upgrade. + +### General Upgrade Notes + +Upgrading the ArcGIS GeoEvent Server deployment may take several hours. During that time, the deployment will be unavailable to the users. + +Before starting the upgrade process, it's highly recommended to export your GeoEvent Server configuration using ArcGIS GeoEvent Manager and back up any installed or added components. To prevent operating system updates during the upgrade process, it's recommended to install all the recommended/required OS updates before upgrading ArcGIS GeoEvent Server. + +The attributes defined in the upgrade JSON files must match the actual deployment configuration. To make upgrade JSON files, update the 11.2 template JSON files by copying the attribute values from the JSON files used for the initial deployment or the last upgrade. + +> In some cases, the difference between the original and the new deployment template JSON files will be only in the value of the arcgis.version attribute. In those cases, the easiest way to make the upgrade JSON files is to change the arcgis.version attribute values to the new version. But the new deployment templates might change recipes in the run_list, add new attributes, and introduce other significant changes. To keep the upgrade JSON files in sync with the new deployment templates version, it's recommended to update the new deployment templates instead of the original JSON files. + +The copy_attributes.rb tool can be used to copy attribute values from one JSON file to another. The tool copies only attibutes present in the destination template JSON file. The tool is located in the templates/tools directory in the ArcGIS cookbooks archive. To run copy_attributes.rb, use the chef-apply command that comes with the Chef/Cinc Client. + +```shell +chef-apply ./templates/tools/copy_attributes.rb +``` + +After running the tool, update the destination JSON file attributes that are specific to the new JSON file template and attributes specific to the new ArcGIS GeoEvent Server version, such as software authorization files. + +On each deployment machine, before upgrading the ArcGIS GeoEvent software, upgrade the configuration management subsystem components: + +1. Back up the original JSON files used for the initial deployment or the last upgrade into a local directory. +2. Upgrade [Chef Client](https://docs.chef.io/chef_install_script/) or [Cinc Client](https://cinc.sh/start/client/) to the recommended version. +3. Empty the Chef/Cinc workspace directory. +4. Download and extract the recommended version of [ArcGIS Chef cookbooks](https://github.com/Esri/arcgis-cookbook/releases) into the Chef/Cinc workspace directory. + +### Upgrade from 10.9, 10.9.1, 11.0, or 11.1 + +Upgrading ArcGIS Server deployments from 10.9, 10.9.1, 11.0, or 11.1 to 11.2 requires upgrading all ArcGIS Server machines. The file server machine does not require any changes. Steps 1 and 3 are not required if the deployment does not use ArcGIS Web Adaptor. + +> The GeoEvent Server configuration will not be automatically upgraded as a part of this installation and will need to be manually imported after successful completion of the installation. + +> In 10.9.1 and 11.0, ArcGIS Web Adaptor is installed using the `arcgis-server-webadaptor.json` JSON file from the new arcgis-webadaptor deployment template. + +> The 10.9 arcgis-geoevent-server deployment template did not support ArcGIS GeoEvent Server deployments with multiple server machines. However, it provided ability to configure ArcGIS Server config store and server directories using network shares, so new server machines could be added after upgrading to ArcGIS GeoEvent Server 11.2. + +1. Unregister ArcGIS Web Adaptor. + + Copy attributes from the original `geoevent-server-webadaptor.json` JSON file created from the 10.9, 10.9.1, 11.0, or 11.1 arcgis-geoevent-server template to the `arcgis-server-webadaptor-unregister.json` file of the 11.2 arcgis-webadaptor template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /geoevent-server-webadaptor.json /arcgis-server-webadaptor-unregister.json + ``` + + Verify attributes are correct in `arcgis-server-webadaptor-unregister.json` + + On either an ArcGIS Server or an ArcGIS Web Adaptor machine, run the following command: + + ```shell + chef-client -z -j /arcgis-server-webadaptor-unregister.json + ``` + +2. Upgrade the ArcGIS GeoEvent Server machine. + + Copy attributes from the original `geoevent-server.json` JSON file created from the 10.9, 10.9.1, 11.0, or 11.1 arcgis-geoevent-server template to the `geoevent-server.json` file of the 11.2 arcgis-geoevent-server template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /geoevent-server.json /geoevent-server.json + ``` + + Verify attributes are correct in `geoevent-server.json` + + On the ArcGIS GeoEvent Server machine, run the following command: + + ```shell + chef-client -z -j /geoevent-server.json + ``` + +3. Upgrade ArcGIS Web Adaptor. + + Copy attributes from the original `geoevent-server-webadaptor.json` JSON file created from the 10.9 or 10.9.1 arcgis-geoevent-server template to the `arcgis-server-webadaptor.json` file of the 11.2 arcgis-webadaptor template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /arcgis-server-webadaptor.json /arcgis-server-webadaptor.json + ``` + + Verify that attributes are correct in `arcgis-server-webadaptor.json`. + + Run the following command to upgrade ArcGIS Web Adaptor: + + ```shell + chef-client -z -j /arcgis-server-webadaptor.json + ``` + +## Machine Roles + +The JSON files included in the template provide recipes for the deployment machine roles and the most important attributes used by the recipes. + +### geoevent-server-files + +The role downloads ArcGIS GeoEvent Server setups archives from https://downloads.arcgis.com to the local ArcGIS software repository specified by the arcgis.repository.local_archives attribute. + +If the arcgis.repository.shared attribute is set to `true`, then a network share is created for the local software repository. + +Required attribute changes: + +* arcgis.repository.server.username - ArcGIS Online user name +* arcgis.repository.server.password - ArcGIS Online user password + +### geoevent-server-s3files + +The role downloads ArcGIS GeoEvent Server setups archives from the S3 bucket specified by the arcgis.repository.server.s3bucket attribute to the local ArcGIS software repository. + +The following attributes are required unless the machine is an AWS EC2 instance with a configured IAM Role: + +* arcgis.repository.server.aws_access_key - AWS account access key id +* arcgis.repository.server.aws_secret_access_key - AWS account secret access key + +### geoevent-server-fileserver + +Configures file shares for the ArcGIS GeoEvent Server configuration store and server directories. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account + +### geoevent-server-install + +Installs ArcGIS Server and ArcGIS GeoEvent Server without authorizing or configuring them. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account + +### geoevent-server-patches + +Downloads ArcGIS GeoEvent Server patches from the global ArcGIS software repository into a local patch folder. + +### geoevent-server-patches-apply + +Applies ArcGIS GeoEvent Server patches. + +### geoevent-server + +Installs ArcGIS Server and ArcGIS GeoEvent Server, authorizes the software, and creates ArcGIS Server site. + +Required attribute changes: + +* arcgis.geoevent.authorization_file - Specify path to the ArcGIS GeoEvent Server role software authorization file. +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account +* arcgis.server.admin_username - Specify primary site administrator account user name. +* arcgis.server.admin_password - Specify primary site administrator account password. +* arcgis.server.authorization_file - Specify path to the ArcGIS Server software authorization file. +* arcgis.server.directories_root - Replace 'FILESERVER' with the file server machine hostname or static IP address. +* arcgis.server.config_store_connection_string - Replace 'FILESERVER' with the file server machine hostname or static IP address. +* arcgis.server.keystore_file - Specify path to the SSL certificate file in PKCS12 format that will be installed with ArcGIS Server. +* arcgis.server.keystore_password - Specify password of the SSL certificate file. +* arcgis.server.system_properties.WebSocketContextURL - Specify web socket reverse proxy server URL. +* arcgis.server.system_properties.WebContextURL - Specify reverse proxy server URL. + +### geoevent-server-reset (Windows only) + +Administratively resets GeoEvent Server. + +> Deletes the Apache ZooKeeper files (to administratively clear the GeoEvent Server configuration), the product’s runtime files (to force the system framework to be rebuilt), and removes previously received event messages (by deleting Kafka topic queues from disk). This is how system administrators reset a GeoEvent Server instance to look like the product has just been installed. + +> If you have custom components in the C:\Program Files\ArcGIS\Server\GeoEvent\deploy folder, move these from the \deploy folder to a local temporary folder, while GeoEvent Server is running, to prevent the component from being restored (from the distributed configuration store) when GeoEvent Server is restarted. Also, make sure you have a copy of the most recent XML export of your GeoEvent Server configuration if you want to save the elements you have created. + +### geoevent-server-federation + +* Federates ArcGIS GeoEvent Server with Portal for ArcGIS. + +Required attribute changes: + +* arcgis.server.admin_username - Specify ArcGIS Server primary site administrator account user name. +* arcgis.server.admin_password- Specify ArcGIS Server primary site administrator account password. +* arcgis.server.private_url - Specify ArcGIS Server private URL that will be used as the admin URL during federation. +* arcgis.server.web_context_url - Specify ArcGIS Server Web Context URL that will be used as the services URL during federation. +* arcgis.portal.admin_username - Specify Portal for ArcGIS administrator user name. +* arcgis.portal.admin_password - Specify Portal for ArcGIS administrator password. +* arcgis.portal.private_url - Specify Portal for ArcGIS private URL. + diff --git a/templates/arcgis-geoevent-server/11.2/linux/geoevent-server-federation.json b/templates/arcgis-geoevent-server/11.2/linux/geoevent-server-federation.json new file mode 100644 index 0000000..fccf5c3 --- /dev/null +++ b/templates/arcgis-geoevent-server/11.2/linux/geoevent-server-federation.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "server": { + "private_url": "https://domain.com:6443/arcgis", + "web_context_url": "https://domain.com:6443/arcgis", + "admin_username": "", + "admin_password": "", + "is_hosting": false + }, + "portal": { + "private_url": "https://domain.com/portal", + "admin_username": "", + "admin_password": "", + "root_cert": "", + "root_cert_alias": "geoevent" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::federation]" + ] +} diff --git a/templates/arcgis-geoevent-server/11.2/linux/geoevent-server-files.json b/templates/arcgis-geoevent-server/11.2/linux/geoevent-server-files.json new file mode 100644 index 0000000..7bcd83a --- /dev/null +++ b/templates/arcgis-geoevent-server/11.2/linux/geoevent-server-files.json @@ -0,0 +1,24 @@ +{ + "arcgis": { + "repository": { + "local_archives": "/opt/software/archives", + "shared": false, + "server": { + "username": "", + "password": "" + }, + "files": { + "ArcGIS_GeoEvent_Server_112_188353.tar.gz": { + "subfolder": "software/arcgis/11.2" + }, + "ArcGIS_Server_Linux_112_188327.tar.gz": { + "subfolder": "software/arcgis/11.2" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-geoevent-server/11.2/linux/geoevent-server-fileserver.json b/templates/arcgis-geoevent-server/11.2/linux/geoevent-server-fileserver.json new file mode 100644 index 0000000..ed5b06e --- /dev/null +++ b/templates/arcgis-geoevent-server/11.2/linux/geoevent-server-fileserver.json @@ -0,0 +1,18 @@ +{ + "arcgis": { + "run_as_user": "arcgis", + "fileserver": { + "directories": [ + "/gisdata/arcgisserver" + ], + "shares": [ + "/gisdata/arcgisserver" + ] + } + }, + "run_list": [ + "recipe[nfs::server]", + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::fileserver]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-geoevent-server/11.2/linux/geoevent-server-install.json b/templates/arcgis-geoevent-server/11.2/linux/geoevent-server-install.json new file mode 100644 index 0000000..8af5ccc --- /dev/null +++ b/templates/arcgis-geoevent-server/11.2/linux/geoevent-server-install.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "run_as_user": "arcgis", + "version": "11.2", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "install_dir": "/opt", + "install_system_requirements": true + }, + "geoevent": { + "setup_options": "/userbackupconfigfiles yes" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::install_server]", + "recipe[arcgis-geoevent]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-geoevent-server/11.2/linux/geoevent-server-patches-apply.json b/templates/arcgis-geoevent-server/11.2/linux/geoevent-server-patches-apply.json new file mode 100644 index 0000000..089e479 --- /dev/null +++ b/templates/arcgis-geoevent-server/11.2/linux/geoevent-server-patches-apply.json @@ -0,0 +1,26 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "patches": "/opt/software/archives/patches" + }, + "server": { + "install_dir": "/opt", + "patches": [ + "ArcGIS-112-S-*.tar", + "ArcGIS-112-S-*.tar.gz" + ] + }, + "geoevent": { + "patches": [ + "GeoEvent-11.2-*.tar", + "GeoEvent-11.2-*.tar.gz" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]", + "recipe[arcgis-geoevent::install_patches]" + ] +} diff --git a/templates/arcgis-geoevent-server/11.2/linux/geoevent-server-patches.json b/templates/arcgis-geoevent-server/11.2/linux/geoevent-server-patches.json new file mode 100644 index 0000000..82c7319 --- /dev/null +++ b/templates/arcgis-geoevent-server/11.2/linux/geoevent-server-patches.json @@ -0,0 +1,17 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_patches": "/opt/software/archives/patches", + "patch_notification": { + "products": [ + "ArcGIS Server", + "ArcGIS GeoEvent Server" + ] + } + } + }, + "run_list": [ + "recipe[arcgis-repository::patches]" + ] +} diff --git a/templates/arcgis-geoevent-server/11.2/linux/geoevent-server-s3files.json b/templates/arcgis-geoevent-server/11.2/linux/geoevent-server-s3files.json new file mode 100644 index 0000000..5c67beb --- /dev/null +++ b/templates/arcgis-geoevent-server/11.2/linux/geoevent-server-s3files.json @@ -0,0 +1,25 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_archives": "/opt/software/archives", + "server": { + "s3bucket": "arcgisstore-us-east-1", + "region": "us-east-1", + "aws_access_key": "", + "aws_secret_access_key": "" + }, + "files": { + "ArcGIS_GeoEvent_Server_112_188353.tar.gz": { + "subfolder": "11.2/setups" + }, + "ArcGIS_Server_Linux_112_188327.tar.gz": { + "subfolder": "11.2/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-geoevent-server/11.2/linux/geoevent-server.json b/templates/arcgis-geoevent-server/11.2/linux/geoevent-server.json new file mode 100644 index 0000000..6229848 --- /dev/null +++ b/templates/arcgis-geoevent-server/11.2/linux/geoevent-server.json @@ -0,0 +1,37 @@ +{ + "arcgis": { + "run_as_user": "arcgis", + "version": "11.2", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "install_dir": "/opt", + "install_system_requirements": true, + "admin_username": "", + "admin_password": "", + "authorization_file": "/opt/software/authorization_files/11.2/server.prvc", + "log_level": "WARNING", + "log_dir": "/opt/arcgis/server/usr/logs", + "directories_root": "/net/FILESERVER/gisdata/arcgisserver", + "config_store_type": "FILESYSTEM", + "config_store_connection_string": "/net/FILESERVER/gisdata/arcgisserver/config-store", + "keystore_file" : "/opt/software/certificates/ssl_cert.pfx", + "keystore_password" : "", + "system_properties": { + "WebSocketContextURL":"wss://domain.com:6143/arcgis", + "WebContextURL":"https://domain.com:6443/arcgis" + } + }, + "geoevent": { + "setup_options": "/userbackupconfigfiles yes", + "authorization_file": "/opt/software/authorization_files/11.2/geoevent_server.prvc" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::server]", + "recipe[arcgis-geoevent]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-geoevent-server/11.2/windows/geoevent-server-federation.json b/templates/arcgis-geoevent-server/11.2/windows/geoevent-server-federation.json new file mode 100644 index 0000000..fccf5c3 --- /dev/null +++ b/templates/arcgis-geoevent-server/11.2/windows/geoevent-server-federation.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "server": { + "private_url": "https://domain.com:6443/arcgis", + "web_context_url": "https://domain.com:6443/arcgis", + "admin_username": "", + "admin_password": "", + "is_hosting": false + }, + "portal": { + "private_url": "https://domain.com/portal", + "admin_username": "", + "admin_password": "", + "root_cert": "", + "root_cert_alias": "geoevent" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::federation]" + ] +} diff --git a/templates/arcgis-geoevent-server/11.2/windows/geoevent-server-files.json b/templates/arcgis-geoevent-server/11.2/windows/geoevent-server-files.json new file mode 100644 index 0000000..738a0bc --- /dev/null +++ b/templates/arcgis-geoevent-server/11.2/windows/geoevent-server-files.json @@ -0,0 +1,24 @@ +{ + "arcgis": { + "repository": { + "local_archives": "C:\\Software\\Archives", + "shared": false, + "server": { + "username": "", + "password": "" + }, + "files": { + "ArcGIS_Server_Windows_112_188239.exe": { + "subfolder": "software/arcgis/11.2" + }, + "ArcGIS_GeoEvent_Server_112_188278.exe": { + "subfolder": "software/arcgis/11.2" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-geoevent-server/11.2/windows/geoevent-server-fileserver.json b/templates/arcgis-geoevent-server/11.2/windows/geoevent-server-fileserver.json new file mode 100644 index 0000000..26349c6 --- /dev/null +++ b/templates/arcgis-geoevent-server/11.2/windows/geoevent-server-fileserver.json @@ -0,0 +1,20 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "fileserver": { + "directories": [ + "C:\\arcgisserver" + ], + "shares": [ + "C:\\arcgisserver" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[arcgis-enterprise::fileserver]" + ] +} diff --git a/templates/arcgis-geoevent-server/11.2/windows/geoevent-server-install.json b/templates/arcgis-geoevent-server/11.2/windows/geoevent-server-install.json new file mode 100644 index 0000000..92c4c80 --- /dev/null +++ b/templates/arcgis-geoevent-server/11.2/windows/geoevent-server-install.json @@ -0,0 +1,24 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "install_dir": "C:\\Program Files\\ArcGIS\\Server", + "install_system_requirements": true + }, + "geoevent": { + "setup_options": "USERBACKUPCONFIGFILES=YES" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::install_server]", + "recipe[arcgis-geoevent]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-geoevent-server/11.2/windows/geoevent-server-patches-apply.json b/templates/arcgis-geoevent-server/11.2/windows/geoevent-server-patches-apply.json new file mode 100644 index 0000000..66b8f42 --- /dev/null +++ b/templates/arcgis-geoevent-server/11.2/windows/geoevent-server-patches-apply.json @@ -0,0 +1,23 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "patches": "C:\\Software\\Archives\\Patches" + }, + "server": { + "patches": [ + "ArcGIS-112-S-*.msp" + ] + }, + "geoevent": { + "patches": [ + "GeoEvent_11_2_*.msp" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]", + "recipe[arcgis-geoevent::install_patches]" + ] +} diff --git a/templates/arcgis-geoevent-server/11.2/windows/geoevent-server-patches.json b/templates/arcgis-geoevent-server/11.2/windows/geoevent-server-patches.json new file mode 100644 index 0000000..969c6ce --- /dev/null +++ b/templates/arcgis-geoevent-server/11.2/windows/geoevent-server-patches.json @@ -0,0 +1,17 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_patches": "C:\\Software\\Archives\\Patches", + "patch_notification": { + "products": [ + "ArcGIS Server", + "ArcGIS GeoEvent Server" + ] + } + } + }, + "run_list": [ + "recipe[arcgis-repository::patches]" + ] +} diff --git a/templates/arcgis-geoevent-server/11.2/windows/geoevent-server-reset.json b/templates/arcgis-geoevent-server/11.2/windows/geoevent-server-reset.json new file mode 100644 index 0000000..2dba8c2 --- /dev/null +++ b/templates/arcgis-geoevent-server/11.2/windows/geoevent-server-reset.json @@ -0,0 +1,12 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "server": { + "install_dir": "C:\\Program Files\\ArcGIS\\Server" + } + }, + "run_list": [ + "recipe[arcgis-geoevent::admin_reset]" + ] +} diff --git a/templates/arcgis-geoevent-server/11.2/windows/geoevent-server-s3files.json b/templates/arcgis-geoevent-server/11.2/windows/geoevent-server-s3files.json new file mode 100644 index 0000000..5b725c7 --- /dev/null +++ b/templates/arcgis-geoevent-server/11.2/windows/geoevent-server-s3files.json @@ -0,0 +1,25 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_archives": "C:\\Software\\Archives", + "server": { + "s3bucket": "arcgisstore-us-east-1", + "region": "us-east-1", + "aws_access_key": "", + "aws_secret_access_key": "" + }, + "files": { + "ArcGIS_Server_Windows_112_188239.exe": { + "subfolder": "11.2/setups" + }, + "ArcGIS_GeoEvent_Server_112_188278.exe": { + "subfolder": "11.2/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-geoevent-server/11.2/windows/geoevent-server.json b/templates/arcgis-geoevent-server/11.2/windows/geoevent-server.json new file mode 100644 index 0000000..ee89c46 --- /dev/null +++ b/templates/arcgis-geoevent-server/11.2/windows/geoevent-server.json @@ -0,0 +1,40 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "install_dir": "C:\\Program Files\\ArcGIS\\Server", + "install_system_requirements": true, + "admin_username": "", + "admin_password": "", + "authorization_file": "C:\\Software\\AuthorizationFiles\\11.2\\Server.prvc", + "log_level": "WARNING", + "directories_root": "\\\\FILESERVER\\arcgisserver", + "log_dir": "C:\\arcgisserver\\logs", + "config_store_type": "FILESYSTEM", + "config_store_connection_string": "\\\\FILESERVER\\arcgisserver\\config-store", + "keystore_file" : "C:\\Software\\Certificates\\ssl_cert.pfx", + "keystore_password" : "", + "system_properties": { + "WebSocketContextURL":"wss://domain.com:6143/arcgis", + "WebContextURL":"https://domain.com:6443/arcgis" + } + }, + "geoevent": { + "setup_options": "USERBACKUPCONFIGFILES=YES", + "authorization_file": "C:\\Software\\AuthorizationFiles\\11.2\\GeoEventServer.prvc" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[arcgis-enterprise::server]", + "recipe[arcgis-geoevent]" + ] +} diff --git a/templates/arcgis-license-manager/2022.1/README.md b/templates/arcgis-license-manager/2022.1/README.md index ccc5d42..ddcb9dd 100644 --- a/templates/arcgis-license-manager/2022.1/README.md +++ b/templates/arcgis-license-manager/2022.1/README.md @@ -4,7 +4,7 @@ title: "arcgis-license-manager template" category: templates item: arcgis-license-manager version: "2022.1" -latest: true +latest: false --- # arcgis-license-manager Deployment Template diff --git a/templates/arcgis-license-manager/2023.0/README.md b/templates/arcgis-license-manager/2023.0/README.md new file mode 100644 index 0000000..ae2231c --- /dev/null +++ b/templates/arcgis-license-manager/2023.0/README.md @@ -0,0 +1,83 @@ +--- +layout: default +title: "arcgis-license-manager template" +category: templates +item: arcgis-license-manager +version: "2023.0" +latest: true +--- + +# arcgis-license-manager Deployment Template + +The template contains Chef Zero JSON files with sample recipes and attributes for ArcGIS License Manager machine roles. + +## System Requirements + +Consult the ArcGIS License Manager 2022.0 system requirements documentation for the required/recommended hardware specification. + +### Recommended Chef Client versions + +* Chef Client 16, or +* Cinc Client 16 + +### Recommended ArcGIS Chef Cookbooks versions + +* 4.2.0 + +### Supported Platforms + +* Windows + * Windows Server 2016 Standard and Datacenter + * Windows Server 2019 Standard and Datacenter + * Windows Server 2022 Standard and Datacenter + * Windows 10 Pro +* Linux + * Red Hat Enterprise Linux Server 7 + * Red Hat Enterprise Linux Server 8 + +For Linux deployments, enable running sudo without password for the user running the Chef client. + +### Required ArcGIS Software Repository Content + +The following ArcGIS setup archives must be available in the ArcGIS software repository directory: + +Windows + +* ArcGIS_License_Manager_Windows_2023_0_187870.exe + +Linux + +* ArcGIS_License_Manager_Linux_2023_0_187909.tar.gz + +> The ArcGIS software repository directory is specified by the arcgis.repository.archives attribute. By default, it is set to local directory C:\Software\Archives on Windows and /opt/software/archives on Linux. However, it is recommended to create an ArcGIS software repository located on a separate file server that is accessible from all the machines in the deployment for the user account used to run Chef client. + +> Ensure that the directory specified by the arcgis.repository.setups attribute has enough space for setups extracted from the setup archives. + +## Initial Deployment Workflow + +The following is the recommended initial deployment workflow for the template machine roles: + +1. Install [Chef Client](https://docs.chef.io/chef_install_script/) or [Cinc Client](https://cinc.sh/start/client/). +2. Download and extract [ArcGIS Chef cookbooks](https://github.com/Esri/arcgis-cookbook/releases) into the Chef workspace directory. +3. Update the required attributes within the template JSON files. +4. Run the Chef client on the machines as administrator/superuser using the JSON files specific to the machine roles (one machine can be used in multiple roles). + +> For additional customization options, see the list of supported attributes described in the arcgis-enterprise cookbook README file. + +### License Manager Machine + +```shell +chef-client -z -j arcgis-license-manager-install.json +``` + +## Machine Roles + +The JSON files included in the template provide recipes for the deployment machine roles and the most important attributes used by the recipes. + +### arcgis-license-manager-install + +Installs ArcGIS License Manager. + +Required attribute changes: + +* arcgis.run_as_user - (Linux) user account used to run the setup diff --git a/templates/arcgis-license-manager/2023.0/linux/arcgis-license-manager-install.json b/templates/arcgis-license-manager/2023.0/linux/arcgis-license-manager-install.json new file mode 100644 index 0000000..300bfd5 --- /dev/null +++ b/templates/arcgis-license-manager/2023.0/linux/arcgis-license-manager-install.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "licensemanager": { + "version": "2023.0", + "install_dir": "/" + } + }, + "run_list": [ + "recipe[arcgis-desktop::licensemanager]" + ] +} diff --git a/templates/arcgis-license-manager/2023.0/windows/arcgis-license-manager-install.json b/templates/arcgis-license-manager/2023.0/windows/arcgis-license-manager-install.json new file mode 100644 index 0000000..87e92d1 --- /dev/null +++ b/templates/arcgis-license-manager/2023.0/windows/arcgis-license-manager-install.json @@ -0,0 +1,15 @@ +{ + "arcgis": { + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "licensemanager": { + "version": "2023.0", + "install_dir": "C:\\Program Files\\ArcGIS" + } + }, + "run_list": [ + "recipe[arcgis-desktop::licensemanager]" + ] +} diff --git a/templates/arcgis-mission-server/11.2/README.md b/templates/arcgis-mission-server/11.2/README.md new file mode 100644 index 0000000..10ad428 --- /dev/null +++ b/templates/arcgis-mission-server/11.2/README.md @@ -0,0 +1,324 @@ +--- +layout: default +title: "arcgis-mission-server template" +category: templates +item: arcgis-mission-server +version: "11.2" +latest: true +--- + +# arcgis-mission-server Deployment Template + +The template contains Chef Zero JSON files with sample recipes and attributes for different ArcGIS Mission Server machine roles. + +## System Requirements + +Consult the ArcGIS Mission Server 11.2 system requirements documentation for the required/recommended hardware specification. + +### Recommended Chef Client Versions + +* Chef Client 16, or +* Cinc Client 16 + +### Recommended ArcGIS Chef Cookbooks versions + +* 4.2.0 + +### Supported Platforms + +* Windows + * Windows Server 2016 Standard and Datacenter + * Windows Server 2019 Standard and Datacenter + * Windows Server 2022 Standard and Datacenter +* Linux + * Ubuntu Server 18.04 LTS + * Ubuntu Server 20.04 LTS + * Red Hat Enterprise Linux Server 8 + +On Linux, enable running sudo without password for the user running the Chef client. + +### Required ArcGIS Software Repository Content + +The following ArcGIS setup archives must be available in the ArcGIS software repository directory for both initial deployments and upgrades: + +Windows + +* ArcGIS_Mission_Server_Windows_112_188286.exe + +Linux + +* ArcGIS_Mission_Server_Linux_112_188361.tar.gz + +> The ArcGIS software repository directory is specified by the arcgis.repository.archives attribute. By default, it is set to local directory C:\Software\Archives on Windows and /opt/software/archives on Linux. However, it is recommended to create an ArcGIS software repository located on a separate file server that is accessible from all the machines in the deployment for the user account used to run the Chef client. + +> Ensure that the directory specified by the arcgis.repository.setups attribute has enough space for setups extracted from the setup archives. + +## Initial Deployment Workflow + +The following is the recommended initial deployment workflow for the template machine roles: + +1. Install the recommended version of [Chef Client](https://docs.chef.io/chef_install_script/) or [Cinc Client](https://cinc.sh/start/client/). +2. Download and extract [ArcGIS Chef cookbooks](https://github.com/Esri/arcgis-cookbook/releases) into the Chef workspace directory. +3. Update the required attributes within the template JSON files. +4. Run the Chef client on the machines as administrator/superuser using the JSON files specific to the machine roles (one machine can be used in multiple roles). + +> For additional customization options, see the list of supported attributes described in the arcgis-mission cookbook README file. + +### File Server Machine + +```shell +chef-client -z -j mission-server-fileserver.json +``` + +### First ArcGIS Mission Server Machine + +```shell +chef-client -z -j mission-server.json +``` + +### Additional ArcGIS Mission Server Machines + +```shell +chef-client -z -j mission-server-node.json +``` + +After all the Mission Server machines are configured, federate ArcGIS Mission Server with Portal for ArcGIS. + +``` +chef-client -z -j mission-server-federation.json +``` + +### ArcGIS Web Adaptor Machine + +If ArcGIS Web Adaptor is required, use the arcgis-webadaptor deployment template to install and configure it. + +## Install ArcGIS Mission Server Patches and Updates + +To install software patches and updates after the initial installation or upgrade of ArcGIS Mission Server, download ArcGIS Mission Server patches from the global ArcGIS software repository into a local patches folder: + +```shell +chef-client -z -j mission-server-patches.json +``` + +Check the list of patches specified by the arcgis.mission_server.patches attribute in the mission-server-patches-apply.json file, and apply the patches: + +```shell +chef-client -z -j mission-server-patches-apply.json +``` + +## Upgrade Workflow + +> It's not recommended to use the templates to upgrade if the sites were not initially deployed using the templates. + +To upgrade an ArcGIS Mission Server site deployed using the arcgis-mission-server deployment template to the 11.2 version, you will need: + +* ArcGIS Mission Server 11.2 setup archive, +* ArcGIS Web Adaptor 11.2 setup archive, if Web Adaptors were installed in the initial deployment, +* ArcGIS Mission Server 11.2 software authorization file, +* The original JSON files used for the initial deployment or the last upgrade. + +### General Upgrade Notes + +Upgrading an ArcGIS Mission Server deployment may take several hours. During that time, the deployment will be unavailable to the users. + +Before you upgrade, it's recommended that you make backups of your deployment. To prevent operating system updates during the upgrade process, it's recommended to install all the recommended/required OS updates before upgrading ArcGIS Mission Server. + +The attributes defined in the upgrade JSON files must match the actual deployment configuration. To make upgrade JSON files, update the 11.2 template JSON files by copying the attribute values from the JSON files used for the initial deployment or the last upgrade. + +> In some cases, the difference between the original and the new deployment template JSON files will be only in the value of the arcgis.version attribute. In those cases, the easiest way to make the upgrade JSON files is to change the arcgis.version attribute values to the new version. But the new deployment templates might change recipes in the run_list, add new attributes, and introduce other significant changes. To keep the upgrade JSON files in sync with the new deployment templates version, it's recommended to update the new deployment templates instead of the original JSON files. + +The copy_attributes.rb tool can be used to copy attribute values from one JSON file to another. The tool copies only attibutes present in the destination template JSON file. The tool is located in the templates/tools directory in the ArcGIS cookbooks archive. To run copy_attributes.rb, use the chef-apply command that comes with the Chef/Cinc Client. + +```shell +chef-apply ./templates/tools/copy_attributes.rb +``` + +After running the tool, update the destination JSON file attributes that are specific to the new JSON file template and attributes specific to the new ArcGIS Mission Server version, such as software authorization files. + +On each deployment machine, before upgrading the ArcGIS software, upgrade the configuration management subsystem components: + +1. Back up the original JSON files used for the initial deployment or the last upgrade into a local directory. +2. Upgrade [Chef Client](https://docs.chef.io/chef_install_script/) or [Cinc Client](https://cinc.sh/start/client/) to the recommended version. +3. Empty the Chef/Cinc workspace directory. +4. Download and extract the recommended version of [ArcGIS Chef cookbooks](https://github.com/Esri/arcgis-cookbook/releases) into the Chef/Cinc workspace directory. + +### Upgrade from 10.8 or 10.8.1 + +Upgrading ArcGIS Mission Server deployments to 11.2 requires upgrading all ArcGIS Mission Server machines. + +> Note that in 11.2, ArcGIS Web Adaptor is installed using the new arcgis-webadaptor deployment template. + +1. Upgrade the first ArcGIS Mission Server machine. + + Copy attributes from the original `mission-server-primary.json` JSON file created from the 10.8/10.8.1 arcgis-mission-server template to the `mission-server.json` file of the 11.2 arcgis-mission-server template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /mission-server-primary.json /mission-server.json + ``` + + Verify that attributes are correct in `mission-server.json`. + + On the ArcGIS Mission Server machine, run the following command: + + ```shell + chef-client -z -j /mission-server.json + ``` + +2. Upgrade the ArcGIS Web Adaptor for the ArcGIS Mission Server site. + + Copy attributes from the original `mission-server-primary.json` JSON file created from the 10.8/10.8.1 arcgis-mission-server template to the `arcgis-mission-server-webadaptor.json` file of the 11.2 arcgis-webadaptor template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /mission-server-primary.json /arcgis-mission-server-webadaptor.json + ``` + + Verify that attributes are correct in `arcgis-mission-server-webadaptor.json`. + + Run the following command on the ArcGIS Mission Server machine to upgrade ArcGIS Web Adaptor: + + ```shell + chef-client -z -j /arcgis-mission-server-webadaptor.json + ``` + +### Upgrade from 10.9, 10.9.1, 11.0, or 11.1 + +Upgrading ArcGIS Mission Server deployments from 10.9, 10.9.1, 11.0, or 11.1 to 11.2 requires upgrading all ArcGIS Mission Server machines. The file server machine does not require any changes. + +1. Upgrade the first ArcGIS Mission Server machine. + + Copy attributes from the original `mission-server.json` JSON file created from the 10.9, 10.9.1, or 11.0 arcgis-mission-server template to the `mission-server.json` file of the 11.2 arcgis-mission-server template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /mission-server.json /mission-server.json + ``` + + Verify that attributes are correct in `mission-server.json`. + + On the first ArcGIS Mission Server machine, run the following command: + + ```shell + chef-client -z -j /mission-server.json + ``` + +2. Upgrade additional ArcGIS Mission Server machines. + + Copy attributes from the original `mission-server-node.json` JSON file created from the 10.9, 10.9.1, 11.0, or 11.1 arcgis-mission-server template to the `mission-server-node.json` file of the 11.2 arcgis-mission-server template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /mission-server-node.json /mission-server-node.json + ``` + + Verify that attributes are correct in `mission-server-node.json`. + + On each additional ArcGIS Mission Server machine, run the following command to upgrade ArcGIS Mission Server: + + ```shell + chef-client -z -j /mission-server-node.json + ``` + +3. Upgrade ArcGIS Web Adaptor for the ArcGIS Mission Server site. + + Copy attributes from the original `mission-server-webadaptor.json` JSON file created from the 10.9, 10.9.1, 11.0, or 11.1 arcgis-mission-server template to the `arcgis-mission-server-webadaptor.json` file of the 11.2 arcgis-webadaptor template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /mission-server-webadaptor.json /arcgis-mission-server-webadaptor.json + ``` + + Verify that attributes are correct in `arcgis-mission-server-webadaptor.json`. + + On each ArcGIS Mission Server Web Adaptor machine, run the following command to upgrade ArcGIS Web Adaptor: + + ```shell + chef-client -z -j /arcgis-mission-server-webadaptor.json + ``` + +## Machine Roles + +The JSON files included in the template provide recipes for the deployment machine roles and the most important attributes used by the recipes. + +### mission-server-fileserver + +Installs NFS and configures shares for the ArcGIS Mission Server configuraton store and server directories. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account + +### mission-sever-install + +Installs ArcGIS Mission Server without authorizing or configuring it. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account + +### mission-server-patches + +Downloads ArcGIS Mission Server patches from the global ArcGIS software repository into a local patch folder. + +### mission-server-patches-apply + +Applies ArcGIS Mission Server patches. + +### mission-server + +Installs ArcGIS Mission Server, authorizes the software, and creates a site. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account. +* arcgis.mission_server.admin_username - Specify primary site administrator account user name. +* arcgis.mission_server.admin_password - Specify primary site administrator account password. +* arcgis.mission_server.authorization_file - Specify path to the ArcGIS Mission Server role software authorization file. +* arcgis.mission_server.directories_root - Replace 'FILESERVER' with the file server machine hostname or static IP address. +* arcgis.mission_server.config_store_connection_string - Replace 'FILESERVER' with the file server machine hostname or static IP address. + +### mission-server-node + +Installs ArcGIS Mission Server, authorizes the software, and joins the machine to the existing site. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account. +* arcgis.mission_server.admin_username - Specify primary site administrator account user name. +* arcgis.mission_server.admin_password - Specify primary site administrator account password. +* arcgis.mission_server.authorization_file - Specify path to the ArcGIS Mission Server role software authorization file. +* arcgis.server.primary_server_url - Specify URL of the ArcGIS Mission Server site to join. + +### mission-server-unregister-machine + +* Unregisters the machine from the ArcGIS Mission Server site. + +### mission-server-federation + +* Federates ArcGIS Mission Server with Portal for ArcGIS and enables the MissionServer role. + +Required attribute changes: + +* arcgis.mission_server.admin_username - Specify ArcGIS Server primary site administrator account user name. +* arcgis.mission_server.admin_password- Specify ArcGIS Server primary site administrator account password. +* arcgis.mission_server.private_url - Specify ArcGIS Server private URL that will be used as the admin URL during federation. +* arcgis.mission_server.web_context_url - Specify ArcGIS Server Web Context URL that will be used as the services URL during federation. +* arcgis.portal.admin_username - Specify Portal for ArcGIS administrator user name. +* arcgis.portal.admin_password - Specify Portal for ArcGIS administrator password. +* arcgis.portal.private_url - Specify Portal for ArcGIS private URL. + +### mission-server-files + +The role downloads ArcGIS Mission Server setup archives from https://downloads.arcgis.com to the local ArcGIS software repository specified by the arcgis.repository.local_archives attribute. + +If the arcgis.repository.shared attribute is set to `true`, then a network share is created for the local software repository. + +Required attribute changes: + +* arcgis.repository.server.username - ArcGIS Online user name +* arcgis.repository.server.password - ArcGIS Online user password + +### mission-server-s3files + +The role downloads ArcGIS Mission Server setups archives from the S3 bucket specified by the arcgis.repository.server.s3bucket attribute to the local ArcGIS software repository. + +The following attributes are required unless the machine is an AWS EC2 instance with a configured IAM Role: + +* arcgis.repository.server.aws_access_key - AWS account access key id +* arcgis.repository.server.aws_secret_access_key - AWS account secret access key diff --git a/templates/arcgis-mission-server/11.2/linux/mission-server-federation.json b/templates/arcgis-mission-server/11.2/linux/mission-server-federation.json new file mode 100644 index 0000000..3743f0d --- /dev/null +++ b/templates/arcgis-mission-server/11.2/linux/mission-server-federation.json @@ -0,0 +1,20 @@ +{ + "arcgis": { + "portal": { + "private_url": "https://portal.domain.com/portal", + "admin_username": "", + "admin_password": "", + "root_cert": "", + "root_cert_alias": "missionserver" + }, + "mission_server": { + "web_context_url": "https://server.domain.com/mission", + "private_url": "https://server.domain.com/mission", + "admin_username": "", + "admin_password": "" + } + }, + "run_list": [ + "recipe[arcgis-mission::federation]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-mission-server/11.2/linux/mission-server-files.json b/templates/arcgis-mission-server/11.2/linux/mission-server-files.json new file mode 100644 index 0000000..f39c09e --- /dev/null +++ b/templates/arcgis-mission-server/11.2/linux/mission-server-files.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "repository": { + "local_archives": "/opt/software/archives", + "shared": false, + "server": { + "username": "", + "password": "" + }, + "files": { + "ArcGIS_Mission_Server_Linux_112_188361.tar.gz": { + "subfolder": "software/arcgis/11.2" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-mission-server/11.2/linux/mission-server-fileserver.json b/templates/arcgis-mission-server/11.2/linux/mission-server-fileserver.json new file mode 100644 index 0000000..03bd77e --- /dev/null +++ b/templates/arcgis-mission-server/11.2/linux/mission-server-fileserver.json @@ -0,0 +1,19 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "fileserver": { + "directories": [ + "/gisdata/arcgismissionserver" + ], + "shares": [ + "/gisdata/arcgismissionserver" + ] + } + }, + "run_list": [ + "recipe[nfs::server]", + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::fileserver]" + ] +} diff --git a/templates/arcgis-mission-server/11.2/linux/mission-server-install.json b/templates/arcgis-mission-server/11.2/linux/mission-server-install.json new file mode 100644 index 0000000..e5b8394 --- /dev/null +++ b/templates/arcgis-mission-server/11.2/linux/mission-server-install.json @@ -0,0 +1,19 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "mission_server": { + "install_dir": "/opt", + "install_system_requirements": true, + "configure_autostart": true + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-mission::install_server]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-mission-server/11.2/linux/mission-server-node.json b/templates/arcgis-mission-server/11.2/linux/mission-server-node.json new file mode 100644 index 0000000..ae58734 --- /dev/null +++ b/templates/arcgis-mission-server/11.2/linux/mission-server-node.json @@ -0,0 +1,24 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "mission_server": { + "install_dir": "/opt", + "install_system_requirements": true, + "authorization_file": "/opt/software/authorization_files/11.2/mission_server.prvc", + "admin_username": "", + "admin_password": "", + "primary_server_url": "https://primary:20443/arcgis", + "log_dir": "/opt/arcgis/mission/usr/logs", + "configure_autostart": true + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-mission::server_node]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-mission-server/11.2/linux/mission-server-patches-apply.json b/templates/arcgis-mission-server/11.2/linux/mission-server-patches-apply.json new file mode 100644 index 0000000..00275e0 --- /dev/null +++ b/templates/arcgis-mission-server/11.2/linux/mission-server-patches-apply.json @@ -0,0 +1,17 @@ +{ + "arcgis": { + "run_as_user": "arcgis", + "repository": { + "patches": "/opt/software/archives/patches" + }, + "mission_server": { + "patches": [ + "ArcGIS-112-MS-*.tar", + "ArcGIS-112-MS-*.tar.gz" + ] + } + }, + "run_list": [ + "recipe[arcgis-mission::install_patches]" + ] +} diff --git a/templates/arcgis-mission-server/11.2/linux/mission-server-patches.json b/templates/arcgis-mission-server/11.2/linux/mission-server-patches.json new file mode 100644 index 0000000..58960d8 --- /dev/null +++ b/templates/arcgis-mission-server/11.2/linux/mission-server-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_patches": "/opt/software/archives/patches", + "patch_notification": { + "products": [ + "ArcGIS Mission Server" + ] + } + } + }, + "run_list": [ + "recipe[arcgis-repository::patches]" + ] +} diff --git a/templates/arcgis-mission-server/11.2/linux/mission-server-s3files.json b/templates/arcgis-mission-server/11.2/linux/mission-server-s3files.json new file mode 100644 index 0000000..60adca8 --- /dev/null +++ b/templates/arcgis-mission-server/11.2/linux/mission-server-s3files.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_archives": "/opt/software/archives", + "server": { + "s3bucket": "arcgisstore-us-east-1", + "region": "us-east-1", + "aws_access_key": "", + "aws_secret_access_key": "" + }, + "files": { + "ArcGIS_Mission_Server_Linux_112_188361.tar.gz": { + "subfolder": "11.2/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-mission-server/11.2/linux/mission-server-unregister-machine.json b/templates/arcgis-mission-server/11.2/linux/mission-server-unregister-machine.json new file mode 100644 index 0000000..32fc56e --- /dev/null +++ b/templates/arcgis-mission-server/11.2/linux/mission-server-unregister-machine.json @@ -0,0 +1,12 @@ +{ + "arcgis": { + "version": "11.2", + "mission_server": { + "admin_username": "", + "admin_password": "" + } + }, + "run_list": [ + "recipe[arcgis-mission::unregister_machine]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-mission-server/11.2/linux/mission-server.json b/templates/arcgis-mission-server/11.2/linux/mission-server.json new file mode 100644 index 0000000..62e7835 --- /dev/null +++ b/templates/arcgis-mission-server/11.2/linux/mission-server.json @@ -0,0 +1,30 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "mission_server": { + "install_dir": "/opt", + "install_system_requirements": true, + "authorization_file": "/opt/software/authorization_files/11.2/mission_server.prvc", + "admin_username": "", + "admin_password": "", + "directories_root": "/net/fileserver/gisdata/arcgismissionserver", + "config_store_type": "FILESYSTEM", + "config_store_connection_string": "/net/fileserver/gisdata/arcgismissionserver/config-store", + "log_level": "WARNING", + "log_dir": "/opt/arcgis/mission/usr/logs", + "configure_autostart": true, + "system_properties": { + "WebSocketContextURL": "wss://domain.com/mission" + } + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-mission::server]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-mission-server/11.2/windows/mission-server-federation.json b/templates/arcgis-mission-server/11.2/windows/mission-server-federation.json new file mode 100644 index 0000000..3743f0d --- /dev/null +++ b/templates/arcgis-mission-server/11.2/windows/mission-server-federation.json @@ -0,0 +1,20 @@ +{ + "arcgis": { + "portal": { + "private_url": "https://portal.domain.com/portal", + "admin_username": "", + "admin_password": "", + "root_cert": "", + "root_cert_alias": "missionserver" + }, + "mission_server": { + "web_context_url": "https://server.domain.com/mission", + "private_url": "https://server.domain.com/mission", + "admin_username": "", + "admin_password": "" + } + }, + "run_list": [ + "recipe[arcgis-mission::federation]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-mission-server/11.2/windows/mission-server-files.json b/templates/arcgis-mission-server/11.2/windows/mission-server-files.json new file mode 100644 index 0000000..18677e7 --- /dev/null +++ b/templates/arcgis-mission-server/11.2/windows/mission-server-files.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "repository": { + "local_archives": "C:\\Software\\Archives", + "shared": false, + "server": { + "username": "", + "password": "" + }, + "files": { + "ArcGIS_Mission_Server_Windows_112_188286.exe": { + "subfolder": "software/arcgis/11.2" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-mission-server/11.2/windows/mission-server-fileserver.json b/templates/arcgis-mission-server/11.2/windows/mission-server-fileserver.json new file mode 100644 index 0000000..f480130 --- /dev/null +++ b/templates/arcgis-mission-server/11.2/windows/mission-server-fileserver.json @@ -0,0 +1,20 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "fileserver": { + "directories": [ + "C:\\arcgismissionserver" + ], + "shares": [ + "C:\\arcgismissionserver" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[arcgis-enterprise::fileserver]" + ] +} diff --git a/templates/arcgis-mission-server/11.2/windows/mission-server-install.json b/templates/arcgis-mission-server/11.2/windows/mission-server-install.json new file mode 100644 index 0000000..b07ff9e --- /dev/null +++ b/templates/arcgis-mission-server/11.2/windows/mission-server-install.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "mission_server": { + "install_dir": "C:\\Program Files\\ArcGIS\\Mission", + "install_system_requirements": true, + "configure_autostart": true + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[arcgis-mission::install_server]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-mission-server/11.2/windows/mission-server-node.json b/templates/arcgis-mission-server/11.2/windows/mission-server-node.json new file mode 100644 index 0000000..e877d65 --- /dev/null +++ b/templates/arcgis-mission-server/11.2/windows/mission-server-node.json @@ -0,0 +1,27 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "mission_server": { + "install_dir": "C:\\Program Files\\ArcGIS\\Mission", + "install_system_requirements": true, + "authorization_file": "C:\\Software\\AuthorizationFiles\\11.2\\MissionServer.prvc", + "admin_username": "", + "admin_password": "", + "primary_server_url": "https://primary:20443/arcgis", + "log_dir": "C:\\arcgismissionserver\\logs", + "configure_autostart": true + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[arcgis-mission::server_node]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-mission-server/11.2/windows/mission-server-patches-apply.json b/templates/arcgis-mission-server/11.2/windows/mission-server-patches-apply.json new file mode 100644 index 0000000..bb71a50 --- /dev/null +++ b/templates/arcgis-mission-server/11.2/windows/mission-server-patches-apply.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "run_as_user": "arcgis", + "repository": { + "patches": "C:\\Software\\Archives\\Patches" + }, + "mission_server": { + "patches": [ + "ArcGIS-112-MS-*.msp" + ] + } + }, + "run_list": [ + "recipe[arcgis-mission::install_patches]" + ] +} diff --git a/templates/arcgis-mission-server/11.2/windows/mission-server-patches.json b/templates/arcgis-mission-server/11.2/windows/mission-server-patches.json new file mode 100644 index 0000000..b179da1 --- /dev/null +++ b/templates/arcgis-mission-server/11.2/windows/mission-server-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_patches": "C:\\Software\\Archives\\Patches", + "patch_notification": { + "products": [ + "ArcGIS Mission Server" + ] + } + } + }, + "run_list": [ + "recipe[arcgis-repository::patches]" + ] +} diff --git a/templates/arcgis-mission-server/11.2/windows/mission-server-s3files.json b/templates/arcgis-mission-server/11.2/windows/mission-server-s3files.json new file mode 100644 index 0000000..9443ee2 --- /dev/null +++ b/templates/arcgis-mission-server/11.2/windows/mission-server-s3files.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_archives": "C:\\Software\\Archives", + "server": { + "s3bucket": "arcgisstore-us-east-1", + "region": "us-east-1", + "aws_access_key": "", + "aws_secret_access_key": "" + }, + "files": { + "ArcGIS_Mission_Server_Windows_112_188286.exe": { + "subfolder": "11.2/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-mission-server/11.2/windows/mission-server-unregister-machine.json b/templates/arcgis-mission-server/11.2/windows/mission-server-unregister-machine.json new file mode 100644 index 0000000..32fc56e --- /dev/null +++ b/templates/arcgis-mission-server/11.2/windows/mission-server-unregister-machine.json @@ -0,0 +1,12 @@ +{ + "arcgis": { + "version": "11.2", + "mission_server": { + "admin_username": "", + "admin_password": "" + } + }, + "run_list": [ + "recipe[arcgis-mission::unregister_machine]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-mission-server/11.2/windows/mission-server.json b/templates/arcgis-mission-server/11.2/windows/mission-server.json new file mode 100644 index 0000000..5a3cc5f --- /dev/null +++ b/templates/arcgis-mission-server/11.2/windows/mission-server.json @@ -0,0 +1,33 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "mission_server": { + "install_dir": "C:\\Program Files\\ArcGIS\\Mission", + "install_system_requirements": true, + "authorization_file": "C:\\Software\\AuthorizationFiles\\11.2\\MissionServer.prvc", + "admin_username": "", + "admin_password": "", + "directories_root": "\\\\FILESERVER\\arcgismissionserver", + "config_store_type": "FILESYSTEM", + "config_store_connection_string": "\\\\FILESERVER\\arcgismissionserver\\config-store", + "log_level": "WARNING", + "log_dir": "C:\\arcgismissionserver\\logs", + "configure_autostart": true, + "system_properties": { + "WebSocketContextURL": "wss://domain.com/mission" + } + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[arcgis-mission::server]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-notebook-server/11.2/README.md b/templates/arcgis-notebook-server/11.2/README.md new file mode 100644 index 0000000..6db1172 --- /dev/null +++ b/templates/arcgis-notebook-server/11.2/README.md @@ -0,0 +1,324 @@ +--- +layout: default +title: "arcgis-notebook-server template" +category: templates +item: arcgis-notebook-server +version: "11.2" +latest: true +--- + +# arcgis-notebook-server Deployment Template + +The template contains Chef Zero JSON files with sample recipes and attributes for different ArcGIS Notebook Server machine roles. + +## System Requirements + +Consult the ArcGIS Notebook Server 11.2 system requirements documentation for the required/recommended hardware specification. + +### Recommended Chef Client Versions + +* Chef Client 16, or +* Cinc Client 16 + +### Recommended ArcGIS Chef Cookbooks versions + +* 4.1.0 + +### Supported Platforms + +* Ubuntu Server 18.04 LTS +* Ubuntu Server 20.04 LTS +* Red Hat Enterprise Linux Server 8 (Mirantis Container Runtime must be installed before running Chef) + +Enable running sudo without password for the user running the Chef client. + +### Required ArcGIS Software Repository Content + +The following ArcGIS setup archives must be available in the ArcGIS software repository directory for both initial deployments and upgrades: + +* ArcGIS_Notebook_Docker_Advanced_112_188289.tar.gz +* ArcGIS_Notebook_Docker_Standard_112_188288.tar.gz +* ArcGIS_Notebook_Server_Linux_112_188362.tar.gz +* ArcGIS_Notebook_Server_Samples_Data_Linux_112_188367.tar.gz + +> The ArcGIS software repository directory is specified by the arcgis.repository.archives attribute. By default, it is set to local directory C:\Software\Archives on Windows and /opt/software/archives on Linux. However, it is recommended to create an ArcGIS software repository located on a separate file server that is accessible from all the machines in the deployment for the user account used to run the Chef client. + +> Ensure that the directory specified by the arcgis.repository.setups attribute has enough space for setups extracted from the setup archives. + +## Initial Deployment Workflow + +The following is the recommended initial deployment workflow for the template machine roles: + +1. Install the recommended version of [Chef Client](https://docs.chef.io/chef_install_script/) or [Cinc Client](https://cinc.sh/start/client/). +2. Download and extract [ArcGIS Chef cookbooks](https://github.com/Esri/arcgis-cookbook/releases) into the Chef workspace directory. +3. Update the required attributes within the template JSON files. +4. Run the Chef client on the machines as administrator/superuser using the JSON files specific to the machine roles (one machine can be used in multiple roles). + +> For additional customization options, see the list of supported attributes described in the arcgis-notebooks cookbook README file. + +### File Server Machine + +```shell +chef-client -z -j notebook-server-fileserver.json +``` + +### First ArcGIS Notebook Server Machine + +```shell +chef-client -z -j notebook-server.json +``` + +### Additional ArcGIS Notebook Server Machines + +```shell +chef-client -z -j notebook-server-node.json +``` + +After all the ArcGIS Notebook Server machines are configured, federate the Notebook Server site with Portal for ArcGIS. + +``` +chef-client -z -j notebook-server-federation.json +``` + +### ArcGIS Web Adaptor Machine + +If ArcGIS Web Adaptor is required, use the arcgis-webadaptor deployment template to install and configure it. + +## Install ArcGIS Notebook Server Patches and Updates + +To install software patches and updates after the initial installation or upgrade of ArcGIS Notebook Server, download ArcGIS Notebook Server patches from the global ArcGIS software repository into a local patches folder: + +```shell +chef-client -z -j notebook-server-patches.json +``` + +Check the list of patches specified by the arcgis.notebook_server.patches attribute in the notebook-server-patches-apply.json file, and apply the patches: + +```shell +chef-client -z -j notebook-server-patches-apply.json +``` + +## Upgrade Workflow + +> It's not recommended to use the templates to upgrade if the sites were not initially deployed using the templates. + +To upgrade an ArcGIS Notebook Server site deployed using the arcgis-notebook-server deployment template to the 11.2 version, you will need: + +* ArcGIS Notebook Server 11.2 setup archive, +* ArcGIS Notebook server 11.2 samples data, +* ArcGIS Notebook Server 11.2 Docker container images, +* ArcGIS Web Adaptor 11.2 setup archive, if Web Adaptors were installed in the initial deployment, +* ArcGIS Notebook Server 11.2 software authorization file, +* The original JSON files used for the initial deployment or the last upgrade. + +### General Upgrade Notes + +Upgrading an ArcGIS Notebook Server deployment may take several hours. During that time, the deployment will be unavailable to the users. + +Before you upgrade, it's recommended that you make backups of your deployment. To prevent operating system updates during the upgrade process, it's recommended to install all the recommended/required OS updates before upgrading ArcGIS Notebook Server. + +The attributes defined in the upgrade JSON files must match the actual deployment configuration. To make upgrade JSON files, update the 11.2 template JSON files by copying the attribute values from the JSON files used for the initial deployment or the last upgrade. + +> In some cases, the difference between the original and the new deployment template JSON files will be only in the value of the arcgis.version attribute. In those cases, the easiest way to make the upgrade JSON files is to change the arcgis.version attribute values to the new version. But the new deployment templates might change recipes in the run_list, add new attributes, and introduce other significant changes. To keep the upgrade JSON files in sync with the new deployment templates version, it's recommended to update the new deployment templates instead of the original JSON files. + +The copy_attributes.rb tool can be used to copy attributes values from one JSON file to another. The tool copies only attibutes present in the destination template JSON file. The tool is located in the templates/tools directory in the ArcGIS cookbooks archive. To run copy_attributes.rb, use the chef-apply command that comes with the Chef/Cinc Client. + +```shell +chef-apply ./templates/tools/copy_attributes.rb +``` + +After running the tool, update the destination JSON file attributes that are specific to the new JSON file template and attributes specific to the new ArcGIS Notebook Server version, such as software authorization files. + +On each deployment machine, before upgrading the ArcGIS software, upgrade the configuration management subsystem components: + +1. Back up the original JSON files used for the initial deployment or the last upgrade into a local directory. +2. Upgrade [Chef Client](https://docs.chef.io/chef_install_script/) or [Cinc Client](https://cinc.sh/start/client/) to the recommended version. +3. Empty the Chef/Cinc workspace directory. +4. Download and extract the recommended version of [ArcGIS Chef cookbooks](https://github.com/Esri/arcgis-cookbook/releases) into the Chef/Cinc workspace directory. + +### Upgrade from 10.7.1, 10.8, or 10.8.1 + +Upgrading ArcGIS Notebook Server deployments to 11.2 requires upgrading all ArcGIS Notebook Server machines. + +> Note that in 11.2, ArcGIS Web Adaptor is installed using arcgis-webadaptor deployment template. + +1. Upgrade the first ArcGIS Notebook Server machine. + + Copy attributes from the original `notebook-server-primary.json` JSON file created from a 10.7.1-10.8.1 arcgis-notebook-server template to the `notebook-server.json` file of the 11.2 arcgis-notebook-server template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /notebook-server-primary.json /notebook-server.json + ``` + + Verify that attributes are correct in `notebook-server.json`. + + On the first ArcGIS Notebook Server machine, run the following command: + + ```shell + chef-client -z -j /notebook-server.json + ``` + +2. Upgrade the additional ArcGIS Notebook Server machines. + + Copy attributes from the original `notebook-server-node.json` JSON file created from a 10.7.1-10.8.1 arcgis-notebook-server template to the `notebook-server-node.json` file of the 11.0 arcgis-notebook-server template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /notebook-server-node.json /notebook-server-node.json + ``` + + Verify that attributes are correct in `notebook-server-node.json`. + + On each additional ArcGIS Notebook Server machine in the site, run the following command to upgrade ArcGIS Notebook Server: + + ```shell + chef-client -z -j /notebook-server-node.json + ``` + +3. Upgrade ArcGIS Web Adaptor used with ArcGIS Notebook Server. + + Copy attributes from the original `notebook-server-primary.json` JSON file created from a 10.7.1-10.8.1 arcgis-notebook-server template to the `arcgis-notebook-server-webadaptor.json` file of the 11.2 arcgis-webadaptor template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /notebook-server-primary.json /arcgis-notebook-server-webadaptor.json + ``` + + Verify that attributes are correct in `arcgis-notebook-server-webadaptor.json`. + + Run the following command on the first ArcGIS Notebook Server machine to upgrade ArcGIS Web Adaptor: + + ```shell + chef-client -z -j /arcgis-notebook-server-webadaptor.json + ``` + +### Upgrade from 10.9, 10.9.1, 11.0, or 11.2 + +Upgrading ArcGIS Notebook Server deployments from 10.9, 10.9.1, 11.0, or 11.2 to 11.2 requires upgrading all ArcGIS Notebook Server machines. The file server machine does not require any changes. + +1. Upgrade the first ArcGIS Notebook Server machine. + + Copy attributes from the original `notebook-server.json` JSON file created from the 10.9, 10.9.1, or 11.0 arcgis-notebook-server template to the `notebook-server.json` file of the 11.2 arcgis-notebook-server template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /notebook-server.json /notebook-server.json + ``` + + Verify that attributes are correct in `notebook-server.json`. + + On the first ArcGIS Notebook Server machine, run the following command: + + ```shell + chef-client -z -j /notebook-server.json + ``` + +2. Upgrade the additional ArcGIS Notebook Server machines. + + Copy attributes from the original `notebook-server-node.json` JSON file created from the 10.9, 10.9.1, 11.0, or 11.2 arcgis-notebook-server template to the `notebook-server-node.json` file of the 11.2 arcgis-notebook-server template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /notebook-server-node.json /notebook-server-node.json + ``` + + Verify that attributes are correct in `notebook-server-node.json`. + + On each additional ArcGIS Notebook Server machine, run the following command to upgrade ArcGIS Notebook Server: + + ```shell + chef-client -z -j /notebook-server-node.json + ``` + +3. Upgrade ArcGIS Notebook Server Web Adaptors. + + Copy attributes from the original `notebook-server-webadaptor.json` JSON file created from the 10.9, 10.9.1, 11.0, or 11.2 arcgis-notebook-server template to the `arcgis-notebook-server-webadaptor.json` file of the 11.2 arcgis-webadaptor template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /notebook-server-webadaptor.json /arcgis--notebook-server-webadaptor.json + ``` + + Verify that attributes are correct in `arcgis--notebook-server-webadaptor.json`. + + On each ArcGIS Notebook Server Web Adaptor machine, run the following command to upgrade ArcGIS Web Adaptor: + + ```shell + chef-client -z -j /arcgis-notebook-server-webadaptor.json + ``` + +## Machine Roles + +The JSON files included in the template provide recipes for the deployment machine roles and the most important attributes used by the recipes. + +### notebook-server-fileserver + +Installs NFS and configures shares for the ArcGIS Notebook Server configuration store and server directories. + +### notebook-server-install + +Installs ArcGIS Notebook Server without configuring it. + +### notebook-server-patches + +Downloads ArcGIS Notebook Server patches from the global ArcGIS software repository into a local patch folder. + +### notebook-server-patches-apply + +Applies ArcGIS Notebook Server patches. + +### notebook-server + +Installs Docker and ArcGIS Notebook Server, authorizes the software, and creates a site. + +Required attribute changes: + +* arcgis.notebook_server.admin_username - Specify primary site administrator account user name. +* arcgis.notebook_server.admin_password - Specify primary site administrator account password. +* arcgis.notebook_server.authorization_file - Specify path to the ArcGIS Notebook Server role software authorization file. +* arcgis.notebook_server.directories_root - Replace 'FILESERVER' with the file server machine hostname or static IP address. +* arcgis.notebook_server.config_store_connection_string - Replace 'FILESERVER' with the file server machine hostname or static IP address. + +### notebook-server-node + +Installs Docker and ArcGIS Notebook Server, authorizes the software, and joins the machine to the existing site. + +Required attribute changes: + +* arcgis.notebook_server.admin_username - Specify primary site administrator account user name. +* arcgis.notebook_server.admin_password - Specify primary site administrator account password. +* arcgis.notebook_server.authorization_file - Specify path to the ArcGIS Notebook Server role software authorization file. +* arcgis.server.primary_server_url - Specify URL of the ArcGIS Notebook Server site to join. + +### notebook-server-unregister-node + +Unregisters the machine from the ArcGIS Notebook Server site. + +### notebook-server-federation + +* Federates ArcGIS Notebook Server with Portal for ArcGIS and enables the NotebookServer role. + +Required attribute changes: + +* arcgis.notebook_server.admin_username - Specify ArcGIS Server primary site administrator account user name. +* arcgis.notebook_server.admin_password- Specify ArcGIS Server primary site administrator account password. +* arcgis.notebook_server.private_url - Specify ArcGIS Server private URL that will be used as the admin URL during federation. +* arcgis.notebook_server.web_context_url - Specify ArcGIS Server Web Context URL that will be used as the services URL during federation. +* arcgis.portal.admin_username - Specify Portal for ArcGIS administrator user name. +* arcgis.portal.admin_password - Specify Portal for ArcGIS administrator password. +* arcgis.portal.private_url - Specify Portal for ArcGIS private URL. + +### notebook-server-files + +The role downloads ArcGIS Notebook Server setup archives from https://downloads.arcgis.com to the local ArcGIS software repository specified by the arcgis.repository.local_archives attribute. + +If the arcgis.repository.shared attribute is set to `true`, then a network share is created for the local software repository. + +Required attribute changes: + +* arcgis.repository.server.username - ArcGIS Online user name +* arcgis.repository.server.password - ArcGIS Online user password + +### notebook-server-s3files + +The role downloads ArcGIS Notebook Server setup archives from the S3 bucket specified by the arcgis.repository.server.s3bucket attribute to the local ArcGIS software repository. + +The following attributes are required unless the machine is an AWS EC2 instance with a configured IAM Role: + +* arcgis.repository.server.aws_access_key - AWS account access key id +* arcgis.repository.server.aws_secret_access_key - AWS account secret access key diff --git a/templates/arcgis-notebook-server/11.2/linux/notebook-server-federation.json b/templates/arcgis-notebook-server/11.2/linux/notebook-server-federation.json new file mode 100644 index 0000000..2265448 --- /dev/null +++ b/templates/arcgis-notebook-server/11.2/linux/notebook-server-federation.json @@ -0,0 +1,20 @@ +{ + "arcgis": { + "portal": { + "private_url": "https://portal.domain.com/portal", + "admin_username": "", + "admin_password": "", + "root_cert": "", + "root_cert_alias": "notebookserver" + }, + "notebook_server": { + "web_context_url": "https://domain.com/notebooks", + "private_url": "https://domain.com/notebooks", + "admin_username": "", + "admin_password": "" + } + }, + "run_list": [ + "recipe[arcgis-notebooks::federation]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-notebook-server/11.2/linux/notebook-server-files.json b/templates/arcgis-notebook-server/11.2/linux/notebook-server-files.json new file mode 100644 index 0000000..6bfed92 --- /dev/null +++ b/templates/arcgis-notebook-server/11.2/linux/notebook-server-files.json @@ -0,0 +1,30 @@ +{ + "arcgis": { + "repository": { + "local_archives": "/opt/software/archives", + "shared": false, + "server": { + "username": "", + "password": "" + }, + "files": { + "ArcGIS_Notebook_Docker_Advanced_112_188289.tar.gz": { + "subfolder": "software/arcgis/11.2" + }, + "ArcGIS_Notebook_Docker_Standard_112_188288.tar.gz": { + "subfolder": "software/arcgis/11.2" + }, + "ArcGIS_Notebook_Server_Linux_112_188362.tar.gz": { + "subfolder": "software/arcgis/11.2" + }, + "ArcGIS_Notebook_Server_Samples_Data_Linux_112_188367.tar.gz": { + "subfolder": "software/arcgis/11.2" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-notebook-server/11.2/linux/notebook-server-fileserver.json b/templates/arcgis-notebook-server/11.2/linux/notebook-server-fileserver.json new file mode 100644 index 0000000..d61b950 --- /dev/null +++ b/templates/arcgis-notebook-server/11.2/linux/notebook-server-fileserver.json @@ -0,0 +1,19 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "notebook_server": { + "directories": [ + "/gisdata/notebookserver" + ], + "shares": [ + "/gisdata/notebookserver" + ] + } + }, + "run_list": [ + "recipe[nfs::server]", + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-notebooks::fileserver]" + ] +} diff --git a/templates/arcgis-notebook-server/11.2/linux/notebook-server-install.json b/templates/arcgis-notebook-server/11.2/linux/notebook-server-install.json new file mode 100644 index 0000000..749c57a --- /dev/null +++ b/templates/arcgis-notebook-server/11.2/linux/notebook-server-install.json @@ -0,0 +1,24 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "notebook_server": { + "install_dir": "/opt", + "install_system_requirements": true, + "install_samples_data": true, + "license_level": "standard", + "configure_autostart": true + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-notebooks::docker]", + "recipe[arcgis-notebooks::iptables]", + "recipe[arcgis-notebooks::restart_docker]", + "recipe[arcgis-notebooks::install_server]" + ] +} diff --git a/templates/arcgis-notebook-server/11.2/linux/notebook-server-node.json b/templates/arcgis-notebook-server/11.2/linux/notebook-server-node.json new file mode 100644 index 0000000..2b92ed6 --- /dev/null +++ b/templates/arcgis-notebook-server/11.2/linux/notebook-server-node.json @@ -0,0 +1,28 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "notebook_server": { + "install_dir": "/opt", + "install_system_requirements": true, + "authorization_file": "/opt/software/authorization_files/11.2/notebook_server.prvc", + "license_level": "standard", + "admin_username": "", + "admin_password": "", + "primary_server_url": "https://primary:11443/arcgis", + "log_dir": "/opt/arcgis/notebookserver/usr/logs", + "configure_autostart": true + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-notebooks::docker]", + "recipe[arcgis-notebooks::iptables]", + "recipe[arcgis-notebooks::restart_docker]", + "recipe[arcgis-notebooks::server_node]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-notebook-server/11.2/linux/notebook-server-patches-apply.json b/templates/arcgis-notebook-server/11.2/linux/notebook-server-patches-apply.json new file mode 100644 index 0000000..7ba9ed1 --- /dev/null +++ b/templates/arcgis-notebook-server/11.2/linux/notebook-server-patches-apply.json @@ -0,0 +1,17 @@ +{ + "arcgis": { + "run_as_user": "arcgis", + "repository": { + "patches": "/opt/software/archives/patches" + }, + "notebook_server": { + "patches": [ + "ArcGIS-112-MS-*.tar", + "ArcGIS-112-MS-*.tar.gz" + ] + } + }, + "run_list": [ + "recipe[arcgis-notebooks::install_patches]" + ] +} diff --git a/templates/arcgis-notebook-server/11.2/linux/notebook-server-patches.json b/templates/arcgis-notebook-server/11.2/linux/notebook-server-patches.json new file mode 100644 index 0000000..752fd8b --- /dev/null +++ b/templates/arcgis-notebook-server/11.2/linux/notebook-server-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_patches": "/opt/software/archives/patches", + "patch_notification": { + "products": [ + "ArcGIS Notebook Server" + ] + } + } + }, + "run_list": [ + "recipe[arcgis-repository::patches]" + ] +} diff --git a/templates/arcgis-notebook-server/11.2/linux/notebook-server-s3files.json b/templates/arcgis-notebook-server/11.2/linux/notebook-server-s3files.json new file mode 100644 index 0000000..d78cae2 --- /dev/null +++ b/templates/arcgis-notebook-server/11.2/linux/notebook-server-s3files.json @@ -0,0 +1,31 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_archives": "/opt/software/archives", + "server": { + "s3bucket": "arcgisstore-us-east-1", + "region": "us-east-1", + "aws_access_key": "", + "aws_secret_access_key": "" + }, + "files": { + "ArcGIS_Notebook_Docker_Advanced_112_188289.tar.gz": { + "subfolder": "11.2/setups" + }, + "ArcGIS_Notebook_Docker_Standard_112_188288.tar.gz": { + "subfolder": "11.2/setups" + }, + "ArcGIS_Notebook_Server_Linux_112_188362.tar.gz": { + "subfolder": "11.2/setups" + }, + "ArcGIS_Notebook_Server_Samples_Data_Linux_112_188367.tar.gz": { + "subfolder": "11.2/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-notebook-server/11.2/linux/notebook-server-unregister-node.json b/templates/arcgis-notebook-server/11.2/linux/notebook-server-unregister-node.json new file mode 100644 index 0000000..884fec9 --- /dev/null +++ b/templates/arcgis-notebook-server/11.2/linux/notebook-server-unregister-node.json @@ -0,0 +1,12 @@ +{ + "arcgis": { + "version": "11.2", + "notebook_server": { + "admin_username": "", + "admin_password": "" + } + }, + "run_list": [ + "recipe[arcgis-notebooks::unregister_machine]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-notebook-server/11.2/linux/notebook-server.json b/templates/arcgis-notebook-server/11.2/linux/notebook-server.json new file mode 100644 index 0000000..817dd47 --- /dev/null +++ b/templates/arcgis-notebook-server/11.2/linux/notebook-server.json @@ -0,0 +1,34 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "notebook_server": { + "install_dir": "/opt", + "install_system_requirements": true, + "install_samples_data": true, + "authorization_file": "/opt/software/authorization_files/11.2/notebook_server.prvc", + "license_level": "standard", + "admin_username": "", + "admin_password": "", + "directories_root": "/net/FILESERVER/gisdata/notebookserver", + "workspace": "/net/FILESERVER/gisdata/notebookserver/directories/arcgisworkspace", + "config_store_type": "FILESYSTEM", + "config_store_connection_string": "/net/FILESERVER/gisdata/notebookserver/config-store", + "log_level": "WARNING", + "log_dir": "/opt/arcgis/notebookserver/usr/logs", + "configure_autostart": true, + "system_properties": { } + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-notebooks::docker]", + "recipe[arcgis-notebooks::iptables]", + "recipe[arcgis-notebooks::restart_docker]", + "recipe[arcgis-notebooks::server]" + ] +} diff --git a/templates/arcgis-portal/11.2/README.md b/templates/arcgis-portal/11.2/README.md new file mode 100644 index 0000000..cfc19c1 --- /dev/null +++ b/templates/arcgis-portal/11.2/README.md @@ -0,0 +1,303 @@ +--- +layout: default +title: "arcgis-portal template" +category: templates +item: arcgis-portal +version: "11.2" +latest: true +--- + +# arcgis-portal Deployment Template + +The template contains Chef Zero JSON files with sample recipes and attributes for single-machine and highly available Portal for ArcGIS deployments. + +## System Requirements + +Consult the Portal for ArcGIS 11.2 system requirements documentation for the required/recommended hardware specification. + +### Recommended Chef Client versions + +* Chef Client 16, or +* Cinc Client 16 + +### Recommended ArcGIS Chef Cookbooks versions + +* 4.2.0 + +### Supported Platforms + +* Windows + * Windows Server 2016 Standard and Datacenter + * Windows Server 2019 Standard and Datacenter + * Windows Server 2022 Standard and Datacenter +* Linux + * Ubuntu Server 18.04 LTS + * Ubuntu Server 20.04 LTS + * Red Hat Enterprise Linux Server 8 + * SUSE Linux Enterprise Server 15 + * Oracle Linux 8 + * Rocky Linux 8 + * AlmaLinux 9 + +For Linux deployments, enable running sudo without password for the user running the Chef client. + +### Required ArcGIS Software Repository Content + +The following ArcGIS setup archives must be available in the ArcGIS software repository directory for both initial deployments and upgrades: + +Windows + +* Portal_for_ArcGIS_Windows_112_188250.exe +* Portal_for_ArcGIS_Web_Styles_Windows_112_188251.exe + +Linux + +* Portal_for_ArcGIS_Linux_112_188338.tar.gz +* Portal_for_ArcGIS_Web_Styles_Linux_112_188339.tar.gz + +> The ArcGIS software repository directory is specified by the arcgis.repository.archives attribute. By default, it is set to local directory C:\Software\Archives on Windows and /opt/software/archives on Linux. However, it is recommended to create an ArcGIS software repository located on a separate file server that is accessible from all the machines in the deployment for the user account used to run the Chef client. + +> Ensure that the directory specified by the arcgis.repository.setups attribute has enough space for the setups extracted from the setup archives. + +## Initial Deployment Workflow + +The following is the recommended initial deployment workflow for the template machine roles: + +1. Install [Chef Client](https://docs.chef.io/chef_install_script/) or [Cinc Client](https://cinc.sh/start/client/). +2. Download and extract [ArcGIS Chef cookbooks](https://github.com/Esri/arcgis-cookbook/releases) into the Chef workspace directory. +3. Update the required attributes within the template JSON files. +4. Run the Chef client on the machines as administrator/superuser using the JSON files specific to the machine roles (one machine can be used in multiple roles). + +> For additional customization options, see the list of supported attributes described in the arcgis-enterprise cookbook README file. + +### Single-machine deployment + +The single-machine deployment uses one machine for the file server and primary machine roles. + +```shell +chef-client -z -j arcgis-portal-fileserver.json +chef-client -z -j arcgis-portal-primary.json +``` + +> If you don't plan to add a standby machine in the future, don't configure the file server, and use local paths instead of shared directories for the Portal for ArcGIS content directory in the arcgis-portal-primary.json file. + +> Portal for ArcGIS content directory must exist before running arcgis-enterprise-primary.json. It can either be created manually or by using arcgis-enterprise-fileserver.json. + +### Highly Available Deployment + +The multi-machine deployment includes the following machine roles: + +* File Server Machine +* Primary Portal for ArcGIS Machine +* Standby Portal for ArcGIS Machine + +#### File Server Machine + +```shell +chef-client -z -j arcgis-portal-fileserver.json +``` + +#### Portal for ArcGIS Primary Machine + +After the Chef run on the file server machine completes, run the following: + +```shell +chef-client -z -j arcgis-portal-primary.json +``` + +#### Portal for ArcGIS Standby Machine + +After the Chef run on the primary machine completes, run the following: + +```shell +chef-client -z -j arcgis-portal-standby.json +``` + +#### ArcGIS Web Adaptor Machines + +If ArcGIS Web Adaptor is required, use the arcgis-webadaptor deployment template to install and configure it. + +## Install Portal for ArcGIS Patches and Updates + +To install software patches and updates after the initial installation or upgrade of Portal for ArcGIS, download Portal for ArcGIS patches from the global ArcGIS software repository into a local patches folder: + +```shell +chef-client -z -j arcgis-portal-patches.json +``` + +Check the list of patches specified by the arcgis.portal.patches attribute in the arcgis-portal-patches-apply.json file, and apply the patches: + +```shell +chef-client -z -j arcgis-portal-patches-apply.json +``` + +## Upgrade Workflow + +> It's not recommended to use the templates for upgrades if the portal was not initially deployed using the templates. + +To upgrade Portal for ArcGIS deployed using the arcgis-portal deployment template to the 11.2 version, you will need: + +* Portal for ArcGIS 11.2 setup archive, +* ArcGIS Web Adaptor 11.2 setup archive, if Web Adaptors were installed in the initial deployment, +* Portal for ArcGIS 11.2 software authorization file, +* The original JSON files used for the initial deployment or the last upgrade. + +### General Upgrade Notes + +Upgrading the Portal for ArcGIS deployment may take several hours. During that time, the deployment will be unavailable to the users. + +Before starting the upgrade process, it's highly recommended to back up Portal for ArcGIS using the webgisdr utility. To prevent operating system updates during the upgrade process, it's recommended to install all the recommended/required OS updates before upgrading Portal for ArcGIS. + +The attributes defined in the upgrade JSON files must match the actual deployment configuration. To make upgrade JSON files, update the 11.2 template JSON files by copying the attribute values from the JSON files used for the initial deployment or the last upgrade. + +> In some cases, the difference between the original and the new deployment template JSON files will be only in the value of the arcgis.version attribute. In those cases, the easiest way to make the upgrade JSON files is to change the arcgis.version attribute values to the new version. But the new deployment templates might change recipes in the run_list, add new attributes, and introduce other significant changes. To keep the upgrade JSON files in sync with the new deployment templates version, it's recommended to update the new deployment templates instead of the original JSON files. + +The copy_attributes.rb tool can be used to copy attribute values from one JSON file to another. The tool copies only attibutes present in the destination template JSON file. The tool is located in the templates/tools directory in the ArcGIS cookbooks archive. To run copy_attributes.rb, use the chef-apply command that comes with the Chef/Cinc Client. + +```shell +chef-apply ./templates/tools/copy_attributes.rb +``` + +After running the tool, update the destination JSON file attributes that are specific to the new JSON file template and attributes specific to the new Portal for ArcGIS version, such as software authorization files. + +On each deployment machine, before upgrading the ArcGIS software, upgrade the configuration management subsystem components: + +1. Back up the original JSON files used for the initial deployment or the last upgrade into a local directory. +2. Upgrade [Chef Client](https://docs.chef.io/chef_install_script/) or [Cinc Client](https://cinc.sh/start/client/) to the recommended version. +3. Empty the Chef/Cinc workspace directory. +4. Download and extract the recommended version of [ArcGIS Chef cookbooks](https://github.com/Esri/arcgis-cookbook/releases) into the Chef/Cinc workspace directory. + +### Upgrade from 10.9, 10.9.1, 11.0, or 11.1 + +Upgrading Portal for ArcGIS deployments from 10.9, 10.9.1, 11.0, or 11.1 to 11.2 requires upgrading all Portal for ArcGIS machines. The file server machine does not require any changes. Step 1 can be skipped for single-machine Portal for ArcGIS deployments. In each step, wait until the Chef run completes before starting the Chef run of the next step. + +1. Upgrade the Portal for ArcGIS standby machine. + + Copy attributes from the original `arcgis-portal-standby.json` JSON file created from the 10.9, 10.9.1, 11.0, or 11.1 arcgis-portal template to the `arcgis-portal-install.json` and `arcgis-portal-standby.json` files of the 11.2 arcgis-portal template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /arcgis-portal-standby.json /arcgis-portal-install.json + chef-apply ./templates/tools/copy_attributes.rb /arcgis-portal-standby.json /arcgis-portal-standby.json + ``` + + Verify that attributes are correct in `arcgis-portal-install.json` and `arcgis-portal-standby.json`. + + On the Portal for ArcGIS standby machine, run the following command: + + ```shell + chef-client -z -j /arcgis-portal-install.json + ``` + + Save the `arcgis-portal-standby.json` file for future upgrades from 11.2 or disaster recovery. + +2. Upgrade the Portal for ArcGIS primary machine. + + Copy attributes from the original `arcgis-portal-primary.json` JSON file created from the 10.9, 10.9.1, 11.0, or 11.1 arcgis-portal template to the `arcgis-portal-primary.json` file of the 11.2 arcgis-portal template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /arcgis-portal-primary.json /arcgis-portal-primary.json + ``` + + Verify that attributes are correct in `arcgis-portal-primary.json`. + + On the Portal for ArcGIS primary machine, run the following command: + + ```shell + chef-client -z -j /arcgis-portal-primary.json + ``` + +3. Upgrade ArcGIS Web Adaptor used with Portal for ArcGIS. + + Copy attributes from the original `arcgis-portal-webadaptor.json` JSON file created from the 10.9, 10.9.1, 11.0, or 11.1 arcgis-portal template to the `arcgis-portal-webadaptor.json` file of the 11.2 arcgis-webadaptor template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /arcgis-portal-webadaptor.json /arcgis-portal-webadaptor.json + ``` + + Verify that attributes are correct in `arcgis-portal-webadaptor.json`. + + Run the following command to upgrade ArcGIS Web Adaptor: + + ```shell + chef-client -z -j /arcgis-portal-webadaptor.json + ``` + + Repeat step 3 for each ArcGIS Web Adaptor machine. + +## Machine Roles + +The JSON files included in the template provide recipes for the deployment machine roles and the most important attributes used by the recipes. + +### arcgis-portal-files + +The role downloads Portal for ArcGIS setups archives from https://downloads.arcgis.com to the local ArcGIS software repository specified by the arcgis.repository.local_archives attribute. + +If the arcgis.repository.shared attribute is set to `true`, then a network share is created for the local software repository. + +Required attribute changes: + +* arcgis.repository.server.username - ArcGIS Online user name +* arcgis.repository.server.password - ArcGIS Online user password + +### arcgis-portal-s3files + +The role downloads Portal for ArcGIS setups archives from the S3 bucket specified by the arcgis.repository.server.s3bucket attribute to the local ArcGIS software repository. + +The following attributes are required unless the machine is an AWS EC2 instance with a configured IAM Role: + +* arcgis.repository.server.aws_access_key - AWS account access key id +* arcgis.repository.server.aws_secret_access_key - AWS account secret access key + +### arcgis-portal-fileserver + +Configures file shares for the Portal for ArcGIS content directory. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account + +### arcgis-portal-install + +Installs Portal for ArcGIS and ArcGIS Web Adaptor on the machine without authorizing or configuring. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account + +### arcgis-portal-patches + +Downloads Portal for ArcGIS patches from the global ArcGIS software repository into a local patch folder. + +### arcgis-portal-patches-apply + +Applies Portal for ArcGIS patches. + +### arcgis-portal-primary + +Installs and configures Portal for ArcGIS on the primary machine. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account +* arcgis.portal.admin_username - Specify Portal for ArcGIS administrator account user name +* arcgis.portal.admin_password - Specify Portal for ArcGIS administrator account password +* arcgis.portal.admin_email - Specify Portal for ArcGIS administrator account e-mail +* arcgis.portal.admin_full_name - Specify Portal for ArcGIS administrator account full name +* arcgis.portal.security_question - Specify Portal for ArcGIS administrator account security question (See [Create Site - ArcGIS REST API](https://developers.arcgis.com/rest/enterprise-administration/portal/create-site.htm) for the list of allowed security questions) +* arcgis.portal.security_question_answer - Specify Portal for ArcGIS administrator account security question answer +* arcgis.portal.content_store_connection_string - Replace 'FILESERVER' with the file server machine hostname or static IP address +* arcgis.portal.authorization_file - Specify path to the Portal for ArcGIS software authorization file +* arcgis.portal.user_license_type_id - If left blank, a temporary user type will be assigned to the user and will have to be changed on the first log in (the allowed user type IDs are: creatorUT, GISProfessionalBasicUT, GISProfessionalStdUT, and GISProfessionalAdvUT) +* arcgis.portal.system_properties.privatePortalURL - Portal for ArcGIS load balanced admin URL +* arcgis.portal.system_properties.WebContextURL - Portal for ArcGIS web context URL + +### arcgis-portal-standby + +Installs and configures Portal for ArcGIS on the standby machine. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account +* arcgis.portal.primary_machine_url - Specify Portal for ArcGIS URL of the primary machine +* arcgis.portal.admin_username - Specify Portal for ArcGIS administrator account user name +* arcgis.portal.admin_password - Specify Portal for ArcGIS administrator account password diff --git a/templates/arcgis-portal/11.2/linux/arcgis-portal-files.json b/templates/arcgis-portal/11.2/linux/arcgis-portal-files.json new file mode 100644 index 0000000..bc6247f --- /dev/null +++ b/templates/arcgis-portal/11.2/linux/arcgis-portal-files.json @@ -0,0 +1,25 @@ +{ + "arcgis": { + "repository": { + "local_archives": "/opt/software/archives", + "shared": false, + "server": { + "username": "", + "password": "" + }, + "files": { + "Portal_for_ArcGIS_Linux_112_188338.tar.gz": { + "subfolder": "software/arcgis/11.2" + }, + "Portal_for_ArcGIS_Web_Styles_Linux_112_188339.tar.gz": { + "subfolder": "software/arcgis/11.2" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] + } + diff --git a/templates/arcgis-portal/11.2/linux/arcgis-portal-fileserver.json b/templates/arcgis-portal/11.2/linux/arcgis-portal-fileserver.json new file mode 100644 index 0000000..cb95d63 --- /dev/null +++ b/templates/arcgis-portal/11.2/linux/arcgis-portal-fileserver.json @@ -0,0 +1,20 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "fileserver": { + "directories": [ + "/gisdata/arcgisportal", + "/gisdata/arcgisportal/content" + ], + "shares": [ + "/gisdata/arcgisportal" + ] + } + }, + "run_list": [ + "recipe[nfs::server]", + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::fileserver]" + ] +} diff --git a/templates/arcgis-portal/11.2/linux/arcgis-portal-install.json b/templates/arcgis-portal/11.2/linux/arcgis-portal-install.json new file mode 100644 index 0000000..3e35e2a --- /dev/null +++ b/templates/arcgis-portal/11.2/linux/arcgis-portal-install.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "portal": { + "install_dir": "/opt", + "configure_autostart": true, + "install_system_requirements": true + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::install_portal]", + "recipe[arcgis-enterprise::start_portal]", + "recipe[arcgis-enterprise::webstyles]" + ] +} diff --git a/templates/arcgis-portal/11.2/linux/arcgis-portal-patches-apply.json b/templates/arcgis-portal/11.2/linux/arcgis-portal-patches-apply.json new file mode 100644 index 0000000..b328e98 --- /dev/null +++ b/templates/arcgis-portal/11.2/linux/arcgis-portal-patches-apply.json @@ -0,0 +1,19 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "patches": "/opt/software/archives/patches" + }, + "portal": { + "install_dir": "/opt", + "patches": [ + "ArcGIS-112-PFA-*.tar", + "ArcGIS-112-PFA-*.tar.gz" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]" + ] +} diff --git a/templates/arcgis-portal/11.2/linux/arcgis-portal-patches.json b/templates/arcgis-portal/11.2/linux/arcgis-portal-patches.json new file mode 100644 index 0000000..61230a6 --- /dev/null +++ b/templates/arcgis-portal/11.2/linux/arcgis-portal-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_patches": "/opt/software/archives/patches", + "patch_notification": { + "products": [ + "Portal for ArcGIS" + ] + } + } + }, + "run_list": [ + "recipe[arcgis-repository::patches]" + ] +} diff --git a/templates/arcgis-portal/11.2/linux/arcgis-portal-primary.json b/templates/arcgis-portal/11.2/linux/arcgis-portal-primary.json new file mode 100644 index 0000000..e670b5a --- /dev/null +++ b/templates/arcgis-portal/11.2/linux/arcgis-portal-primary.json @@ -0,0 +1,41 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "portal": { + "install_dir": "/opt", + "admin_username": "", + "admin_password": "", + "admin_email": "admin@mydomain.com", + "admin_full_name": "Administrator", + "admin_description": "Initial account administrator", + "security_question": "Your favorite ice cream flavor?", + "security_question_answer": "bacon", + "log_dir": "/opt/arcgis/portal/usr/arcgisportal/logs", + "log_level": "WARNING", + "content_store_type": "fileStore", + "content_store_provider": "FileSystem", + "content_store_connection_string": "/net/FILESERVER/gisdata/arcgisportal/content", + "object_store": "", + "authorization_file": "/opt/software/authorization_files/11.2/portal.json", + "user_license_type_id": "", + "install_system_requirements": true, + "root_cert": "", + "root_cert_alias": "rootcert", + "system_properties": { + "privatePortalURL": "https://domain.com:7443/arcgis", + "WebContextURL": "https://domain.com/portal" + } + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::install_portal]", + "recipe[arcgis-enterprise::webstyles]", + "recipe[arcgis-enterprise::portal]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-portal/11.2/linux/arcgis-portal-s3files.json b/templates/arcgis-portal/11.2/linux/arcgis-portal-s3files.json new file mode 100644 index 0000000..b134f3a --- /dev/null +++ b/templates/arcgis-portal/11.2/linux/arcgis-portal-s3files.json @@ -0,0 +1,27 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_archives": "/opt/software/archives", + "server": { + "s3bucket": "arcgisstore-us-east-1", + "region": "us-east-1", + "aws_access_key": "", + "aws_secret_access_key": "" + + }, + "files": { + "Portal_for_ArcGIS_Linux_112_188338.tar.gz": { + "subfolder": "11.2/setups" + }, + "Portal_for_ArcGIS_Web_Styles_Linux_112_188339.tar.gz": { + "subfolder": "11.2/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] + } + diff --git a/templates/arcgis-portal/11.2/linux/arcgis-portal-standby.json b/templates/arcgis-portal/11.2/linux/arcgis-portal-standby.json new file mode 100644 index 0000000..174d651 --- /dev/null +++ b/templates/arcgis-portal/11.2/linux/arcgis-portal-standby.json @@ -0,0 +1,26 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "portal": { + "install_dir": "/opt", + "primary_machine_url": "https://primary.com:7443", + "admin_username": "", + "admin_password": "", + "log_dir": "/opt/arcgis/portal/usr/arcgisportal/logs", + "install_system_requirements": true, + "root_cert": "", + "root_cert_alias": "rootcert" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::install_portal]", + "recipe[arcgis-enterprise::webstyles]", + "recipe[arcgis-enterprise::portal_standby]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-portal/11.2/windows/arcgis-portal-files.json b/templates/arcgis-portal/11.2/windows/arcgis-portal-files.json new file mode 100644 index 0000000..54ea47f --- /dev/null +++ b/templates/arcgis-portal/11.2/windows/arcgis-portal-files.json @@ -0,0 +1,24 @@ +{ + "arcgis": { + "repository": { + "local_archives": "C:\\Software\\Archives", + "shared": false, + "server": { + "username": "", + "password": "" + }, + "files": { + "Portal_for_ArcGIS_Windows_112_188250.exe": { + "subfolder": "software/arcgis/11.2" + }, + "Portal_for_ArcGIS_Web_Styles_Windows_112_188251.exe": { + "subfolder": "software/arcgis/11.2" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-portal/11.2/windows/arcgis-portal-fileserver.json b/templates/arcgis-portal/11.2/windows/arcgis-portal-fileserver.json new file mode 100644 index 0000000..2f3233b --- /dev/null +++ b/templates/arcgis-portal/11.2/windows/arcgis-portal-fileserver.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "fileserver": { + "directories": [ + "C:\\data\\arcgisportal", + "C:\\data\\arcgisportal\\content" + ], + "shares": [ + "C:\\data\\arcgisportal" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[arcgis-enterprise::fileserver]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-portal/11.2/windows/arcgis-portal-install.json b/templates/arcgis-portal/11.2/windows/arcgis-portal-install.json new file mode 100644 index 0000000..810b417 --- /dev/null +++ b/templates/arcgis-portal/11.2/windows/arcgis-portal-install.json @@ -0,0 +1,23 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "portal": { + "install_dir": "C:\\Program Files\\ArcGIS\\Portal", + "install_system_requirements": true, + "data_dir": "C:\\arcgisportal" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::install_portal]", + "recipe[arcgis-enterprise::start_portal]", + "recipe[arcgis-enterprise::webstyles]" + ] +} diff --git a/templates/arcgis-portal/11.2/windows/arcgis-portal-patches-apply.json b/templates/arcgis-portal/11.2/windows/arcgis-portal-patches-apply.json new file mode 100644 index 0000000..2d9fa09 --- /dev/null +++ b/templates/arcgis-portal/11.2/windows/arcgis-portal-patches-apply.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "patches": "C:\\Software\\Archives\\Patches" + }, + "portal": { + "patches": [ + "ArcGIS-112-PFA-*.msp" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]" + ] +} diff --git a/templates/arcgis-portal/11.2/windows/arcgis-portal-patches.json b/templates/arcgis-portal/11.2/windows/arcgis-portal-patches.json new file mode 100644 index 0000000..2846ba5 --- /dev/null +++ b/templates/arcgis-portal/11.2/windows/arcgis-portal-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_patches": "C:\\Software\\Archives\\Patches", + "patch_notification": { + "products": [ + "Portal for ArcGIS" + ] + } + } + }, + "run_list": [ + "recipe[arcgis-repository::patches]" + ] +} diff --git a/templates/arcgis-portal/11.2/windows/arcgis-portal-primary.json b/templates/arcgis-portal/11.2/windows/arcgis-portal-primary.json new file mode 100644 index 0000000..1d4f5ad --- /dev/null +++ b/templates/arcgis-portal/11.2/windows/arcgis-portal-primary.json @@ -0,0 +1,45 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "portal": { + "install_dir": "C:\\Program Files\\ArcGIS\\Portal", + "install_system_requirements": true, + "admin_username": "", + "admin_password": "", + "admin_email": "admin@mydomain.com", + "admin_full_name": "Administrator", + "admin_description": "Initial account administrator", + "security_question": "Your favorite ice cream flavor?", + "security_question_answer": "bacon", + "data_dir": "C:\\arcgisportal", + "log_dir": "C:\\arcgisportal\\logs", + "log_level": "WARNING", + "content_store_type": "fileStore", + "content_store_provider": "FileSystem", + "content_store_connection_string": "\\\\FILESERVER\\arcgisportal\\content", + "object_store": "", + "authorization_file": "C:\\Software\\AuthorizationFiles\\11.2\\Portal.json", + "user_license_type_id": "", + "root_cert": "", + "root_cert_alias": "rootcert", + "system_properties": { + "privatePortalURL": "https://domain.com:7443/arcgis", + "WebContextURL": "https://domain.com/portal" + } + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[arcgis-enterprise::install_portal]", + "recipe[arcgis-enterprise::webstyles]", + "recipe[arcgis-enterprise::portal]" + ] +} diff --git a/templates/arcgis-portal/11.2/windows/arcgis-portal-s3files.json b/templates/arcgis-portal/11.2/windows/arcgis-portal-s3files.json new file mode 100644 index 0000000..d9d17f1 --- /dev/null +++ b/templates/arcgis-portal/11.2/windows/arcgis-portal-s3files.json @@ -0,0 +1,25 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_archives": "C:\\Software\\Archives", + "server": { + "s3bucket": "arcgisstore-us-east-1", + "region": "us-east-1", + "aws_access_key": "", + "aws_secret_access_key": "" + }, + "files": { + "Portal_for_ArcGIS_Windows_112_188250.exe": { + "subfolder": "11.2/setups" + }, + "Portal_for_ArcGIS_Web_Styles_Windows_112_188251.exe": { + "subfolder": "11.2/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-portal/11.2/windows/arcgis-portal-standby.json b/templates/arcgis-portal/11.2/windows/arcgis-portal-standby.json new file mode 100644 index 0000000..a078baa --- /dev/null +++ b/templates/arcgis-portal/11.2/windows/arcgis-portal-standby.json @@ -0,0 +1,30 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "portal": { + "install_dir": "C:\\Program Files\\ArcGIS\\Portal", + "install_system_requirements": true, + "primary_machine_url": "https://primary.com:7443", + "admin_username": "", + "admin_password": "", + "data_dir": "C:\\arcgisportal", + "log_dir": "C:\\arcgisportal\\logs", + "root_cert": "", + "root_cert_alias": "rootcert" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[arcgis-enterprise::install_portal]", + "recipe[arcgis-enterprise::webstyles]", + "recipe[arcgis-enterprise::portal_standby]" + ] +} diff --git a/templates/arcgis-pro/3.1/README.md b/templates/arcgis-pro/3.1/README.md index 2396a5a..8562012 100644 --- a/templates/arcgis-pro/3.1/README.md +++ b/templates/arcgis-pro/3.1/README.md @@ -4,7 +4,7 @@ title: "arcgis-pro template" category: templates item: arcgis-pro version: "3.1" -latest: true +latest: false --- # arcgis-pro Deployment Template diff --git a/templates/arcgis-pro/3.2/README.md b/templates/arcgis-pro/3.2/README.md new file mode 100644 index 0000000..6e256f4 --- /dev/null +++ b/templates/arcgis-pro/3.2/README.md @@ -0,0 +1,123 @@ +--- +layout: default +title: "arcgis-pro template" +category: templates +item: arcgis-pro +version: "3.2" +latest: true +--- + +# arcgis-pro Deployment Template + +Installs ArcGIS Pro 3.2. + +## System Requirements + +Consult the ArcGIS Pro 3.2 system requirements documentation for the required/recommended hardware specification. + +### Recommended Chef Client versions + +* Chef Client 16, or +* Cinc Client 16 + +### Recommended ArcGIS Chef Cookbooks versions + +* 4.2.0 + +### Supported Platforms + +* Windows 10 +* Windows 11 + +### Required ArcGIS Software Repository Content + +The following ArcGIS setup archives must be available in the ArcGIS software repository directory: + +* ArcGISPro_32_188049.exe + +> The ArcGIS software repository directory is specified by the arcgis.repository.archives attribute. By default, it is set to local directory C:\Software\Archives. However, it is recommended to create an ArcGIS software repository located on a separate file server that is accessible from all the machines in the deployment for the user account used to run the Chef client. + +> Ensure that the directory specified by the arcgis.repository.setups attribute has enough space for the setups extracted from the setup archives. + +## Initial Deployment Workflow + +The following is the recommended initial deployment workflow for the template machine roles: + +1. Install [Chef Client](https://docs.chef.io/chef_install_script/) or [Cinc Client](https://cinc.sh/start/client/). +2. Download and extract [ArcGIS Chef cookbooks](https://github.com/Esri/arcgis-cookbook/releases) into the Chef workspace directory. +3. Update the required attributes within the template JSON files. +4. Run the Chef client on the machines as administrator using the JSON files specific to the machine roles (one machine can be used in multiple roles). + +> For additional customization options, see the list of supported attributes described in arcgis-pro cookbook README file. + +### Concurrent Use ArcGIS Pro + +```shell +chef-client -z -j arcgis-pro-concurrent-use.json +``` + +### Single Use ArcGIS Pro + +```shell +chef-client -z -j arcgis-pro-single-use.json +``` + +### Named User ArcGIS Pro + +```shell +chef-client -z -j arcgis-pro-named-user.json +``` + +## Machine Roles + +The JSON files included in the template provide recipes for the deployment machine roles and the most important attributes used by the recipes. + +### arcgis-pro-s3files + +Downloads ArcGIS Pro setup archive from the S3 bucket. + +The role requires AWS Tools for PowerShell to be installed on the machine. + +The following attributes are required unless the machine is an AWS EC2 instance with a configured IAM Role: + +* arcgis.repository.server.aws_access_key - AWS account access key id +* arcgis.repository.server.aws_secret_access_key - AWS account secret access key + +### arcgis-pro-install + +Installs ArcGIS Pro without authorizing it. + +### arcgis-pro-concurrent-use + +Installs ArcGIS Pro and configures it with an existing ArcGIS License Manager. + +> The concurrent-use license must be either already authorized via License Manager or needs to be done manually. + +Required attribute changes: + +* arcgis.pro.esri_license_host - ArcGIS License Server host name + +### arcgis-pro-single-use + +Installs ArcGIS Pro with a single-use license. + +Required attribute changes: + +* arcgis.pro.authorization_file - ArcGIS Pro authorization file path + +### arcgis-pro-named-user + +Installs ArcGIS Pro with a named-user license. + +### ms-dotnet-s3files + +Downloads Microsoft .NET 6 Desktop Runtime x64 setups archive from the S3 bucket. + +The following attributes are required unless the machine is an AWS EC2 instance with a configured IAM Role: + +* arcgis.repository.server.aws_access_key - AWS account access key id +* arcgis.repository.server.aws_secret_access_key - AWS account secret access key + +### ms-dotnet-install + +Installs Microsoft .NET 6 Desktop Runtime x64. diff --git a/templates/arcgis-pro/3.2/windows/arcgis-pro-concurrent-use.json b/templates/arcgis-pro/3.2/windows/arcgis-pro-concurrent-use.json new file mode 100644 index 0000000..46384b3 --- /dev/null +++ b/templates/arcgis-pro/3.2/windows/arcgis-pro-concurrent-use.json @@ -0,0 +1,23 @@ +{ + "arcgis": { + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "pro": { + "version": "3.2", + "allusers": 1, + "software_class": "Professional", + "authorization_type": "CONCURRENT_USE", + "esri_license_host": "lm-host.domain.com", + "authorization_file_version": "11.2", + "portal_list": "https://www.arcgis.com/", + "blockaddins": "0", + "lock_auth_settings": false, + "install_dir": "C:\\Program Files\\ArcGIS\\Pro" + } + }, + "run_list": [ + "recipe[arcgis-pro]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-pro/3.2/windows/arcgis-pro-install.json b/templates/arcgis-pro/3.2/windows/arcgis-pro-install.json new file mode 100644 index 0000000..d24bfb7 --- /dev/null +++ b/templates/arcgis-pro/3.2/windows/arcgis-pro-install.json @@ -0,0 +1,19 @@ +{ + "arcgis": { + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "pro": { + "version": "3.2", + "allusers": 1, + "portal_list": "https://www.arcgis.com/", + "blockaddins": "0", + "lock_auth_settings": false, + "install_dir": "C:\\Program Files\\ArcGIS\\Pro" + } + }, + "run_list": [ + "recipe[arcgis-pro::install_pro]" + ] +} diff --git a/templates/arcgis-pro/3.2/windows/arcgis-pro-named-user.json b/templates/arcgis-pro/3.2/windows/arcgis-pro-named-user.json new file mode 100644 index 0000000..66085f1 --- /dev/null +++ b/templates/arcgis-pro/3.2/windows/arcgis-pro-named-user.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "pro": { + "version": "3.2", + "allusers": 1, + "software_class": "Professional", + "authorization_type": "NAMED_USER", + "authorization_file_version": "11.2", + "portal_list": "https://www.arcgis.com/", + "blockaddins": "0", + "lock_auth_settings": false, + "install_dir": "C:\\Program Files\\ArcGIS\\Pro" + } + }, + "run_list": [ + "recipe[arcgis-pro]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-pro/3.2/windows/arcgis-pro-s3files.json b/templates/arcgis-pro/3.2/windows/arcgis-pro-s3files.json new file mode 100644 index 0000000..3a94a90 --- /dev/null +++ b/templates/arcgis-pro/3.2/windows/arcgis-pro-s3files.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "repository": { + "local_archives": "C:\\Software\\Archives", + "server": { + "s3bucket": "arcgisstore-us-east-1", + "region": "us-east-1", + "aws_access_key": "", + "aws_secret_access_key": "" + }, + "files": { + "ArcGISPro_32_188049.exe": { + "subfolder": "11.2/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-pro/3.2/windows/arcgis-pro-single-use.json b/templates/arcgis-pro/3.2/windows/arcgis-pro-single-use.json new file mode 100644 index 0000000..8a9d097 --- /dev/null +++ b/templates/arcgis-pro/3.2/windows/arcgis-pro-single-use.json @@ -0,0 +1,23 @@ +{ + "arcgis": { + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "pro": { + "version": "3.2", + "allusers": 1, + "software_class": "Professional", + "authorization_type": "SINGLE_USE", + "authorization_file": "C:\\esri_authorization_files\\Pro_AdvancedSU.prvc", + "authorization_file_version": "11.2", + "portal_list": "https://www.arcgis.com/", + "blockaddins": "0", + "lock_auth_settings": false, + "install_dir": "C:\\Program Files\\ArcGIS\\Pro" + } + }, + "run_list": [ + "recipe[arcgis-pro]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-pro/3.2/windows/ms-dotnet-install.json b/templates/arcgis-pro/3.2/windows/ms-dotnet-install.json new file mode 100644 index 0000000..9e9b7ab --- /dev/null +++ b/templates/arcgis-pro/3.2/windows/ms-dotnet-install.json @@ -0,0 +1,9 @@ +{ + "ms_dotnet": { + "version": "6.0.23", + "setup": "C:\\Software\\Archives\\windowsdesktop-runtime-6.0.23-win-x64.exe" + }, + "run_list": [ + "recipe[arcgis-pro::ms_dotnet]" + ] +} diff --git a/templates/arcgis-pro/3.2/windows/ms-dotnet-s3files.json b/templates/arcgis-pro/3.2/windows/ms-dotnet-s3files.json new file mode 100644 index 0000000..28b30e1 --- /dev/null +++ b/templates/arcgis-pro/3.2/windows/ms-dotnet-s3files.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "repository": { + "local_archives": "C:\\Software\\Archives", + "server": { + "s3bucket": "arcgisstore-us-east-1", + "region": "us-east-1", + "aws_access_key": "", + "aws_secret_access_key": "" + }, + "files": { + "windowsdesktop-runtime-6.0.23-win-x64.exe": { + "subfolder": "11.2/thirdparty" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-server/11.2/README.md b/templates/arcgis-server/11.2/README.md new file mode 100644 index 0000000..ef2045e --- /dev/null +++ b/templates/arcgis-server/11.2/README.md @@ -0,0 +1,421 @@ +--- +layout: default +title: "arcgis-server template" +category: templates +item: arcgis-server +version: "11.2" +latest: true +--- + +# arcgis-server Deployment Template + +Creates any of the following ArcGIS Server sites and federates them with an ArcGIS Enterprise deployment: GIS Server, ArcGIS GeoAnalytics Server, Raster Analytics Server, Image Server, and Knowledge Server. + +## System Requirements + +Consult the ArcGIS Server 11.2 system requirements documentation for the required/recommended hardware specification. + +### Recommended Chef Client versions + +* Chef Client 16, or +* Cinc Client 16 + +### Recommended ArcGIS Chef Cookbooks versions + +* 4.2.0 + +### Supported Platforms + +* Windows + * Windows Server 2016 Standard and Datacenter + * Windows Server 2019 Standard and Datacenter + * Windows Server 2022 Standard and Datacenter +* Linux + * Ubuntu Server 18.04 LTS + * Ubuntu Server 20.04 LTS + * Red Hat Enterprise Linux Server 8 + * SUSE Linux Enterprise Server 15 + * Oracle Linux 8 + * Rocky Linux 8 + * AlmaLinux 9 + +For Linux deployments, enable running sudo without password for the user running the Chef client. + +### Required ArcGIS Software Repository Content + +The following ArcGIS setup archives must be available in the ArcGIS software repository directory for both initial deployments and upgrades: + +Windows + +* ArcGIS_Server_Windows_112_188239.exe + +Linux + +* ArcGIS_Server_Linux_112_188327.tar.gz + +> The ArcGIS software repository directory is specified by the arcgis.repository.archives attribute. By default, it is set to local directory C:\Software\Archives on Windows and /opt/software/archives on Linux. However, it is recommended to create an ArcGIS software repository located on a separate file server that is accessible from all the machines in the deployment for the user account used to run Chef client. + +> Ensure that the directory specified by the arcgis.repository.setups attribute has enough space for ArcGIS Server setups extracted from the setup archives. + +## Initial Deployment Workflow + +The following is the recommended initial deployment workflow for the template machine roles: + +1. Install [Chef Client](https://docs.chef.io/chef_install_script/) or [Cinc Client](https://cinc.sh/start/client/). +2. Download and extract [ArcGIS Chef cookbooks](https://github.com/Esri/arcgis-cookbook/releases) into the Chef workspace directory. +3. Update the required attributes within the template JSON files. +4. Run the Chef client on the machines as administrator/superuser using the JSON files specific to the machine roles (one machine can be used in multiple roles). + +> For additional customization options, see the list of supported attributes described in the arcgis-enterprise cookbook README file. + +### File Server Machine + +```shell +chef-client -z -j arcgis-server-fileserver.json +``` + +### First ArcGIS Server Machine + +```shell +chef-client -z -j arcgis-server.json +``` + +### Additional ArcGIS Server Machines + +```shell +chef-client -z -j arcgis-server-node.json +``` + +### Additional GIS Server Federation Roles + +If the ArcGIS Server site needs to be federated with an Enterprise portal: + +* In GIS Server role + + ```shell + chef-client -z -j gis-server-federation.json + ``` + +* In ArcGIS GeoAnalytics Server role + + ```shell + chef-client -z -j geoanalytics-federation.json + ``` + +* In Raster Analytics Server role + + ```shell + chef-client -z -j arcgis-server-raster-store.json + chef-client -z -j rasteranalytics-federation.json + ``` + +* In Image Server role + + ```shell + chef-client -z -j arcgis-server-raster-store.json + chef-client -z -j imagehosting-federation.json + ``` + +* In Knowledge Server role + + ```shell + chef-client -z -j knowledgeserver-federation.json + ``` + +### ArcGIS Web Adaptor Machine + +If ArcGIS Web Adaptor is required, use the arcgis-webadaptor deployment template to install and configure it. + +## Install ArcGIS Server Patches and Updates + +To install software patches and updates after the initial installation or upgrade of ArcGIS Server, download ArcGIS Server patches from the global ArcGIS software repository into a local patches folder: + +```shell +chef-client -z -j arcgis-server-patches.json +``` + +Check the list of patches specified by the arcgis.server.patches attribute in the arcgis-server-patches-apply.json file, and apply the patches: + +```shell +chef-client -z -j arcgis-server-patches-apply.json +``` + +## Upgrade Workflow + +> It's not recommended to upgrade an ArcGIS Server site using the deployment template if it was not initially deployed using an earlier version of the templates. + +To upgrade an ArcGIS Server site deployed using the arcgis-server deployment template to the 11.2 version, you will need: + +* ArcGIS Server 11.2 setup archive, +* ArcGIS Web Adaptor 11.2 setup archive, if Web Adaptors were installed in the initial deployment, +* ArcGIS Server 11.2 software authorization file, +* The original JSON files used for the initial deployment or the last upgrade. + +### General Upgrade Notes + +Upgrading an ArcGIS Server deployment may take several hours. During that time, the deployment will be unavailable to the users. + +Before starting the upgrade process, it's highly recommended to back up the ArcGIS Server site configuration. To prevent operating system updates during the upgrade process, it's recommended to install all the recommended/required OS updates before upgrading ArcGIS Server. + +The attributes defined in the upgrade JSON files must match the actual deployment configuration. To make upgrade JSON files, update the 11.2 template JSON files by copying the attribute values from the JSON files used for the initial deployment or the last upgrade. + +> In some cases, the difference between the original and the new deployment template JSON files will be only in the value of the arcgis.version attribute. In those cases, the easiest way to make the upgrade JSON files is to change the arcgis.version attribute values to the new version. But the new deployment templates might change recipes in the run_list, add new attributes, and introduce other significant changes. To keep the upgrade JSON files in sync with the new deployment templates version, it's recommended to update the new deployment templates instead of the original JSON files. + +The copy_attributes.rb tool can be used to copy attributes values from one JSON file to another. The tool copies only attibutes present in the destination template JSON file. The tool is located in the templates/tools directory in the ArcGIS cookbooks archive. To run copy_attributes.rb, use the chef-apply command that comes with the Chef/Cinc Client. + +```shell +chef-apply ./templates/tools/copy_attributes.rb +``` + +After running the tool, update the destination JSON file attributes that are specific to the new JSON file template and attributes specific to the new ArcGIS Server version, such as software authorization files. + +On each deployment machine, before upgrading the ArcGIS software, upgrade the configuration management subsystem components: + +1. Back up the original JSON files used for the initial deployment or the last upgrade into a local directory. +2. Upgrade [Chef Client](https://docs.chef.io/chef_install_script/) or [Cinc Client](https://cinc.sh/start/client/) to the recommended version. +3. Empty the Chef/Cinc workspace directory. +4. Download and extract the recommended version of [ArcGIS Chef cookbooks](https://github.com/Esri/arcgis-cookbook/releases) into the Chef/Cinc workspace directory. + +### Upgrade from 10.9, 10.9.1, 11.0, or 11.1 + +Upgrading ArcGIS Server deployments from 10.9, 10.9.1, 11.0, or 11.1 to 11.2 requires upgrading all ArcGIS Server machines. The file server machine does not require any changes. + +1. Unregister ArcGIS Server Web Adaptors. + + Copy attributes from the original `arcgis-server-webadaptor.json` JSON file created from the 10.9, 10.9.1, 11.0, or 11.1 arcgis-server template to the `arcgis-server-webadaptor-unregister.json` file of the 11.2 arcgis-webadaptor template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /arcgis-server-webadaptor.json /arcgis-server-webadaptor-unregister.json + ``` + + Verify attributes are correct in `arcgis-server-webadaptor-unregister.json` + + On the first ArcGIS Server machine, run the following command: + + ```shell + chef-client -z -j /arcgis-server-webadaptor-unregister.json + ``` + +2. Upgrade the first ArcGIS Server machine. + + Copy attributes from the original `arcgis-server.json` JSON file created from the 10.9, 10.9.1, 11.0, or 11.1 arcgis-server template to the `arcgis-server.json` file of the 11.2 arcgis-server template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /arcgis-server.json /arcgis-server.json + ``` + + Verify attributes are correct in `arcgis-server.json` + + On the first ArcGIS Server machine, run the following command: + + ```shell + chef-client -z -j /arcgis-server.json + ``` + +3. Upgrade the additional ArcGIS Server machines. + + Copy attributes from the original `arcgis-server-node.json` JSON file created from the 10.9, 10.9.1, 11.0, or 11.1 arcgis-server template to the `arcgis-server-node.json` fiile of the 11.2 arcgis-server template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /arcgis-server-node.json /arcgis-server-node.json + ``` + + Verify that attributes are correct in `arcgis-server-node.json`. + + Run the following command to upgrade the ArcGIS Server node: + + ```shell + chef-client -z -j /arcgis-server-node.json + ``` + + Repeat step 3 for each additional ArcGIS Server machine in the site. + +4. Upgrade ArcGIS Web Adaptors used with the ArcGIS Server site. + + Copy attributes from the original `arcgis-server-webadaptor.json` JSON file created from the 10.9, 10.9.1, 11.0, or 11.1 arcgis-server template to the `arcgis-server-webadaptor.json` file of the 11.2 arcgis-webadaptor template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /arcgis-server-webadaptor.json /arcgis-server-webadaptor.json + ``` + + Verify that attributes are correct in `arcgis-server-webadaptor.json`. + + Run the following command to upgrade ArcGIS Web Adaptor: + + ```shell + chef-client -z -j /arcgis-server-webadaptor.json + ``` + + Repeat step 4 for each ArcGIS Web Adaptor machine. + +## Machine Roles + +The JSON files included in the template provide recipes for the deployment machine roles and the most important attributes used by the recipes. + +### arcgis-server-files + +The role downloads ArcGIS Server setup archives from https://downloads.arcgis.com to the local ArcGIS software repository specified by the arcgis.repository.local_archives attribute. + +If the arcgis.repository.shared attribute is set to `true`, then a network share is created for the local software repository. + +Required attribute changes: + +* arcgis.repository.server.username - ArcGIS Online user name +* arcgis.repository.server.password - ArcGIS Online user password + +### arcgis-server-s3files + +The role downloads ArcGIS Server setup archives from the S3 bucket specified by the arcgis.repository.server.s3bucket attribute to the local ArcGIS software repository. + +The following attributes are required unless the machine is an AWS EC2 instance with a configured IAM Role: + +* arcgis.repository.server.aws_access_key - AWS account access key id +* arcgis.repository.server.aws_secret_access_key - AWS account secret access key + +### arcgis-server-fileserver + +Configures file shares for the ArcGIS Server configuration store and server directories. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account + +### arcgis-server-install + +Installs ArcGIS Server on the machine without authorizing or configuring it. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account + +### arcgis-server + +Installs ArcGIS Server on the machine, authorizes the software, and creates an ArcGIS Server site. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account +* arcgis.server.admin_username - Specify primary site administrator account user name. +* arcgis.server.admin_password - Specify primary site administrator account password. +* arcgis.server.authorization_file - Specify path to the ArcGIS Server role software authorization file. +* arcgis.server.directories_root - Replace 'FILESERVER' with the file server machine hostname or static IP address. +* arcgis.server.config_store_connection_string - Replace 'FILESERVER' with the file server machine hostname or static IP address. + +### arcgis-server-node + +Installs ArcGIS Server on the machine, authorizes the software, and joins the machine to an existing ArcGIS Server site. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account +* arcgis.server.admin_username - Specify ArcGIS Server primary site administrator account user name. +* arcgis.server.admin_password - Specify ArcGIS Server primary site administrator account password. +* arcgis.server.authorization_file - Specify path to the ArcGIS Server role software authorization file. +* arcgis.server.primary_server_url - Specify URL of the ArcGIS Server site to join. + +### arcgis-server-patches + +Downloads ArcGIS Server patches from the global ArcGIS software repository into a local patch folder. + +### arcgis-server-patches-apply + +Applies ArcGIS Server patches. + +### arcgis-sever-raster-store + +Registers a raster store with ArcGIS Server. + +* arcgis.server.url - Specify ArcGIS Server URL. +* arcgis.server.admin_username - Specify ArcGIS Server primary site administrator account user name. +* arcgis.server.admin_password - Specify ArcGIS Server primary site administrator account password. + +### gis-server-federation + +Federates an ArcGIS GIS Server with Portal for ArcGIS. + +Required attributes changes: + +* arcgis.server.admin_username - Specify ArcGIS Server primary site administrator account user name. +* arcgis.server.admin_password- Specify ArcGIS Server primary site administrator account password. +* arcgis.server.private_url - Specify ArcGIS Server private URL that will be used as the admin URL during federation. +* arcgis.server.web_context_url - Specify ArcGIS Server Web Context URL that will be used as the services URL during federation. +* arcgis.portal.admin_username - Specify Portal for ArcGIS administrator user name. +* arcgis.portal.admin_password - Specify Portal for ArcGIS administrator password. +* arcgis.portal.private_url - Specify Portal for ArcGIS private URL. + +### imagehosting-federation + +Federates an ArcGIS Image Server with Portal for ArcGIS in the ImageHosting server role. + +Required attribute changes: + +* arcgis.server.admin_username - Specify ArcGIS Server primary site administrator account user name. +* arcgis.server.admin_password- Specify ArcGIS Server primary site administrator account password. +* arcgis.server.private_url - Specify ArcGIS Server private URL that will be used as the admin URL during federation. +* arcgis.server.web_context_url - Specify ArcGIS Server Web Context URL that will be used as the services URL during federation. +* arcgis.portal.admin_username - Specify Portal for ArcGIS administrator user name. +* arcgis.portal.admin_password - Specify Portal for ArcGIS administrator password. +* arcgis.portal.private_url - Specify Portal for ArcGIS private URL. + +### knowledgeserver-federation + +Federates an ArcGIS Knowledge Server with Portal for ArcGIS in the Knowledge Server role. + +Required attribute changes: + +* arcgis.server.admin_username - Specify ArcGIS Server primary site administrator account user name. +* arcgis.server.admin_password- Specify ArcGIS Server primary site administrator account password. +* arcgis.server.private_url - Specify ArcGIS Server private URL that will be used as the admin URL during federation. +* arcgis.server.web_context_url - Specify ArcGIS Server Web Context URL that will be used as the services URL during federation. +* arcgis.portal.admin_username - Specify Portal for ArcGIS administrator user name. +* arcgis.portal.admin_password - Specify Portal for ArcGIS administrator password. +* arcgis.portal.private_url - Specify Portal for ArcGIS private URL. + +### geoanalytics-federation + +Federates an ArcGIS GeoAnalytics Server with Portal for ArcGIS in the GeoAnalytics server role. + +Required attribute changes: + +* arcgis.server.admin_username - Specify ArcGIS Server primary site administrator account user name. +* arcgis.server.admin_password- Specify ArcGIS Server primary site administrator account password. +* arcgis.server.private_url - Specify ArcGIS Server private URL that will be used as the admin URL during federation. +* arcgis.server.web_context_url - Specify ArcGIS Server Web Context URL that will be used as the services URL during federation. +* arcgis.portal.admin_username - Specify Portal for ArcGIS administrator user name. +* arcgis.portal.admin_password - Specify Portal for ArcGIS administrator password. +* arcgis.portal.private_url - Specify Portal for ArcGIS private URL. + +### rasteranalytics-federation + +Federates an ArcGIS Image Server with Portal for ArcGIS in the RasterAnalytics server role. + +Required attribute changes: + +* arcgis.server.admin_username - Specify ArcGIS Server primary site administrator account user name. +* arcgis.server.admin_password- Specify ArcGIS Server primary site administrator account password. +* arcgis.server.private_url - Specify ArcGIS Server private URL that will be used as the admin URL during federation. +* arcgis.server.web_context_url - Specify ArcGIS Server Web Context URL that will be used as the services URL during federation. +* arcgis.portal.admin_username - Specify Portal for ArcGIS administrator user name. +* arcgis.portal.admin_password - Specify Portal for ArcGIS administrator password. +* arcgis.portal.private_url - Specify Portal for ArcGIS private URL. + +### unfederate-server + +Unfederates an ArcGIS Server site from Portal for ArcGIS. + +Required attribute changes: + +* arcgis.server.web_context_url - Specify ArcGIS Server Web Context URL that will be used as the services URL during unfederation. +* arcgis.portal.admin_username - Specify Portal for ArcGIS administrator user name. +* arcgis.portal.admin_password - Specify Portal for ArcGIS administrator password. +* arcgis.portal.private_url - Specify Portal for ArcGIS private URL. + +### unregister-machine + +Unregisters a server machine from the ArcGIS Server site. + +Required attribute changes: + +* arcgis.server.admin_username - Specify ArcGIS Server primary site administrator account user name. +* arcgis.server.admin_password - Specify ArcGIS Server primary site administrator account password. +* arcgis.server.url - Specify ArcGIS Server URL. diff --git a/templates/arcgis-server/11.2/linux/arcgis-server-files.json b/templates/arcgis-server/11.2/linux/arcgis-server-files.json new file mode 100644 index 0000000..443567b --- /dev/null +++ b/templates/arcgis-server/11.2/linux/arcgis-server-files.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "repository": { + "local_archives": "/opt/software/archives", + "shared": false, + "server": { + "username": "", + "password": "" + }, + "files": { + "ArcGIS_Server_Linux_112_188327.tar.gz": { + "subfolder": "software/arcgis/11.2" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-server/11.2/linux/arcgis-server-fileserver.json b/templates/arcgis-server/11.2/linux/arcgis-server-fileserver.json new file mode 100644 index 0000000..c836976 --- /dev/null +++ b/templates/arcgis-server/11.2/linux/arcgis-server-fileserver.json @@ -0,0 +1,19 @@ +{ + "arcgis": { + "run_as_user": "arcgis", + "fileserver": { + "directories": [ + "/gisdata/arcgisserver", + "/gisdata/arcgisserver/rasterstore" + ], + "shares": [ + "/gisdata/arcgisserver" + ] + } + }, + "run_list": [ + "recipe[nfs::server]", + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::fileserver]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-server/11.2/linux/arcgis-server-install.json b/templates/arcgis-server/11.2/linux/arcgis-server-install.json new file mode 100644 index 0000000..e8b15ed --- /dev/null +++ b/templates/arcgis-server/11.2/linux/arcgis-server-install.json @@ -0,0 +1,18 @@ +{ + "arcgis": { + "run_as_user": "arcgis", + "version": "11.2", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "install_dir": "/opt", + "install_system_requirements": true + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::install_server]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-server/11.2/linux/arcgis-server-node.json b/templates/arcgis-server/11.2/linux/arcgis-server-node.json new file mode 100644 index 0000000..6b32035 --- /dev/null +++ b/templates/arcgis-server/11.2/linux/arcgis-server-node.json @@ -0,0 +1,25 @@ +{ + "arcgis": { + "run_as_user": "arcgis", + "version": "11.2", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "install_dir": "/opt", + "install_system_requirements": true, + "primary_server_url": "https://primary.com:6443/arcgis", + "admin_username": "", + "admin_password": "", + "pull_license": false, + "log_dir": "/opt/arcgis/server/usr/logs", + "authorization_file": "/opt/software/authorization_files/11.2/server.prvc", + "soc_max_heap_size": 64 + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::server_node]" + ] +} diff --git a/templates/arcgis-server/11.2/linux/arcgis-server-patches-apply.json b/templates/arcgis-server/11.2/linux/arcgis-server-patches-apply.json new file mode 100644 index 0000000..42c26e4 --- /dev/null +++ b/templates/arcgis-server/11.2/linux/arcgis-server-patches-apply.json @@ -0,0 +1,19 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "patches": "/opt/software/archives/patches" + }, + "server": { + "install_dir": "/opt", + "patches": [ + "ArcGIS-112-S-*.tar", + "ArcGIS-112-S-*.tar.gz" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]" + ] +} diff --git a/templates/arcgis-server/11.2/linux/arcgis-server-patches.json b/templates/arcgis-server/11.2/linux/arcgis-server-patches.json new file mode 100644 index 0000000..d5d8b60 --- /dev/null +++ b/templates/arcgis-server/11.2/linux/arcgis-server-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_patches": "/opt/software/archives/patches", + "patch_notification": { + "products": [ + "ArcGIS Server" + ] + } + } + }, + "run_list": [ + "recipe[arcgis-repository::patches]" + ] +} diff --git a/templates/arcgis-server/11.2/linux/arcgis-server-raster-store.json b/templates/arcgis-server/11.2/linux/arcgis-server-raster-store.json new file mode 100644 index 0000000..fec9ac5 --- /dev/null +++ b/templates/arcgis-server/11.2/linux/arcgis-server-raster-store.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "server": { + "url": "https://localhost:6443/arcgis", + "admin_username": "", + "admin_password": "", + "data_items": [ + { + "path": "/rasterStores/RasterStore", + "type": "rasterStore", + "info": { + "connectionString": "{\"path\":\"/net/FILESERVER/gisdata/arcgisserver/rasterstore\"}", + "connectionType": "fileShare" + } + } + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::server_data_items]" + ] +} diff --git a/templates/arcgis-server/11.2/linux/arcgis-server-s3files.json b/templates/arcgis-server/11.2/linux/arcgis-server-s3files.json new file mode 100644 index 0000000..6cd77e9 --- /dev/null +++ b/templates/arcgis-server/11.2/linux/arcgis-server-s3files.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_archives": "/opt/software/archives", + "server": { + "s3bucket": "arcgisstore-us-east-1", + "region": "us-east-1", + "aws_access_key": "", + "aws_secret_access_key": "" + }, + "files": { + "ArcGIS_Server_Linux_112_188327.tar.gz": { + "subfolder": "11.2/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-server/11.2/linux/arcgis-server.json b/templates/arcgis-server/11.2/linux/arcgis-server.json new file mode 100644 index 0000000..80e6425 --- /dev/null +++ b/templates/arcgis-server/11.2/linux/arcgis-server.json @@ -0,0 +1,32 @@ +{ + "arcgis": { + "run_as_user": "arcgis", + "version": "11.2", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "install_dir": "/opt", + "install_system_requirements": true, + "admin_username": "", + "admin_password": "", + "authorization_file": "/opt/software/authorization_files/11.2/server.prvc", + "log_level": "WARNING", + "log_dir": "/opt/arcgis/server/usr/logs", + "directories_root": "/net/FILESERVER/gisdata/arcgisserver", + "config_store_type": "FILESYSTEM", + "config_store_connection_string": "/net/FILESERVER/gisdata/arcgisserver/config-store", + "soc_max_heap_size": 64, + "services_dir_enabled": true, + "system_properties": { + "suspendedMachineUnregisterThreshold": -1, + "machineSuspendThreshold": 60 + } + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::server]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-server/11.2/linux/geoanalytics-federation.json b/templates/arcgis-server/11.2/linux/geoanalytics-federation.json new file mode 100644 index 0000000..8d50667 --- /dev/null +++ b/templates/arcgis-server/11.2/linux/geoanalytics-federation.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "server": { + "private_url": "https://domain.com:6443/arcgis", + "web_context_url": "https://domain.com/server", + "admin_username": "", + "admin_password": "", + "is_hosting": false + }, + "portal": { + "private_url": "https://domain.com/portal", + "admin_username": "", + "admin_password": "", + "root_cert": "", + "root_cert_alias": "geoanalytics" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::federation]", + "recipe[arcgis-enterprise::enable_geoanalytics]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-server/11.2/linux/gis-server-federation.json b/templates/arcgis-server/11.2/linux/gis-server-federation.json new file mode 100644 index 0000000..035fb2a --- /dev/null +++ b/templates/arcgis-server/11.2/linux/gis-server-federation.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "server": { + "private_url": "https://domain.com:6443/arcgis", + "web_context_url": "https://domain.com/server", + "admin_username": "", + "admin_password": "", + "is_hosting": false + }, + "portal": { + "private_url": "https://domain.com/portal", + "admin_username": "", + "admin_password": "", + "root_cert": "", + "root_cert_alias": "gisserver" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::federation]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-server/11.2/linux/imagehosting-federation.json b/templates/arcgis-server/11.2/linux/imagehosting-federation.json new file mode 100644 index 0000000..067ad36 --- /dev/null +++ b/templates/arcgis-server/11.2/linux/imagehosting-federation.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "server": { + "private_url": "https://domain.com:6443/arcgis", + "web_context_url": "https://domain.com/server", + "admin_username": "", + "admin_password": "", + "is_hosting": false + }, + "portal": { + "private_url": "https://domain.com/portal", + "admin_username": "", + "admin_password": "", + "root_cert": "", + "root_cert_alias": "imagehosting" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::federation]", + "recipe[arcgis-enterprise::enable_imagehosting]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-server/11.2/linux/knowledgeserver-federation.json b/templates/arcgis-server/11.2/linux/knowledgeserver-federation.json new file mode 100644 index 0000000..5cde895 --- /dev/null +++ b/templates/arcgis-server/11.2/linux/knowledgeserver-federation.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "server": { + "private_url": "https://domain.com:6443/arcgis", + "web_context_url": "https://domain.com/server", + "admin_username": "", + "admin_password": "", + "is_hosting": false + }, + "portal": { + "private_url": "https://domain.com/portal", + "admin_username": "", + "admin_password": "", + "root_cert": "", + "root_cert_alias": "knowledgeserver" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::federation]", + "recipe[arcgis-enterprise::enable_knowledgeserver]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-server/11.2/linux/rasteranalytics-federation.json b/templates/arcgis-server/11.2/linux/rasteranalytics-federation.json new file mode 100644 index 0000000..bf546d7 --- /dev/null +++ b/templates/arcgis-server/11.2/linux/rasteranalytics-federation.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "server": { + "private_url": "https://domain.com:6443/arcgis", + "web_context_url": "https://domain.com/server", + "admin_username": "", + "admin_password": "", + "is_hosting": false + }, + "portal": { + "private_url": "https://domain.com/portal", + "admin_username": "", + "admin_password": "", + "root_cert": "", + "root_cert_alias": "rasteranalytics" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::federation]", + "recipe[arcgis-enterprise::enable_rasteranalytics]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-server/11.2/linux/unfederate-server.json b/templates/arcgis-server/11.2/linux/unfederate-server.json new file mode 100644 index 0000000..bbae3e7 --- /dev/null +++ b/templates/arcgis-server/11.2/linux/unfederate-server.json @@ -0,0 +1,15 @@ +{ + "arcgis": { + "server": { + "web_context_url": "https://domain.com/server" + }, + "portal": { + "private_url": "https://domain.com/portal", + "admin_username": "", + "admin_password": "" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::unfederate_server]" + ] +} diff --git a/templates/arcgis-server/11.2/linux/unregister-machine.json b/templates/arcgis-server/11.2/linux/unregister-machine.json new file mode 100644 index 0000000..2b9804d --- /dev/null +++ b/templates/arcgis-server/11.2/linux/unregister-machine.json @@ -0,0 +1,11 @@ +{ + "arcgis": { + "server": { + "admin_username": "", + "admin_password": "" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::unregister_machine]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-server/11.2/windows/arcgis-server-files.json b/templates/arcgis-server/11.2/windows/arcgis-server-files.json new file mode 100644 index 0000000..ad9bed8 --- /dev/null +++ b/templates/arcgis-server/11.2/windows/arcgis-server-files.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "repository": { + "local_archives": "C:\\Software\\Archives", + "shared": false, + "server": { + "username": "", + "password": "" + }, + "files": { + "ArcGIS_Server_Windows_112_188239.exe": { + "subfolder": "software/arcgis/11.2" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-server/11.2/windows/arcgis-server-fileserver.json b/templates/arcgis-server/11.2/windows/arcgis-server-fileserver.json new file mode 100644 index 0000000..27cd977 --- /dev/null +++ b/templates/arcgis-server/11.2/windows/arcgis-server-fileserver.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "fileserver": { + "directories": [ + "C:\\arcgisserver", + "C:\\arcgisserver\\rasterstore" + ], + "shares": [ + "C:\\arcgisserver" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[arcgis-enterprise::fileserver]" + ] +} diff --git a/templates/arcgis-server/11.2/windows/arcgis-server-install.json b/templates/arcgis-server/11.2/windows/arcgis-server-install.json new file mode 100644 index 0000000..5ee6de1 --- /dev/null +++ b/templates/arcgis-server/11.2/windows/arcgis-server-install.json @@ -0,0 +1,20 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "install_dir": "C:\\Program Files\\ArcGIS\\Server", + "install_system_requirements": true + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::install_server]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-server/11.2/windows/arcgis-server-node.json b/templates/arcgis-server/11.2/windows/arcgis-server-node.json new file mode 100644 index 0000000..7cf5a72 --- /dev/null +++ b/templates/arcgis-server/11.2/windows/arcgis-server-node.json @@ -0,0 +1,28 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "install_dir": "C:\\Program Files\\ArcGIS\\Server", + "install_system_requirements": true, + "primary_server_url": "https://primary.com:6443/arcgis", + "admin_username": "", + "admin_password": "", + "pull_license": false, + "log_dir": "C:\\arcgisserver\\logs", + "authorization_file": "C:\\Software\\AuthorizationFiles\\11.2\\Server.prvc", + "soc_max_heap_size": 64 + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[arcgis-enterprise::server_node]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-server/11.2/windows/arcgis-server-patches-apply.json b/templates/arcgis-server/11.2/windows/arcgis-server-patches-apply.json new file mode 100644 index 0000000..dc9e690 --- /dev/null +++ b/templates/arcgis-server/11.2/windows/arcgis-server-patches-apply.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "patches": "C:\\Software\\Archives\\Patches" + }, + "server": { + "patches": [ + "ArcGIS-112-S-*.msp" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]" + ] +} diff --git a/templates/arcgis-server/11.2/windows/arcgis-server-patches.json b/templates/arcgis-server/11.2/windows/arcgis-server-patches.json new file mode 100644 index 0000000..aacc2f9 --- /dev/null +++ b/templates/arcgis-server/11.2/windows/arcgis-server-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_patches": "C:\\Software\\Archives\\Patches", + "patch_notification": { + "products": [ + "ArcGIS Server" + ] + } + } + }, + "run_list": [ + "recipe[arcgis-repository::patches]" + ] +} diff --git a/templates/arcgis-server/11.2/windows/arcgis-server-raster-store.json b/templates/arcgis-server/11.2/windows/arcgis-server-raster-store.json new file mode 100644 index 0000000..b8ca176 --- /dev/null +++ b/templates/arcgis-server/11.2/windows/arcgis-server-raster-store.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "server": { + "url": "https://localhost:6443/arcgis", + "admin_username": "", + "admin_password": "", + "data_items": [ + { + "path": "/rasterStores/RasterStore", + "type": "rasterStore", + "info": { + "connectionString": "{\"path\":\"\\\\\\\\FILESERVER\\\\arcgisserver\\\\rasterstore\"}", + "connectionType": "fileShare" + } + } + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::server_data_items]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-server/11.2/windows/arcgis-server-s3files.json b/templates/arcgis-server/11.2/windows/arcgis-server-s3files.json new file mode 100644 index 0000000..7e97d18 --- /dev/null +++ b/templates/arcgis-server/11.2/windows/arcgis-server-s3files.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_archives": "C:\\Software\\Archives", + "server": { + "s3bucket": "arcgisstore-us-east-1", + "region": "us-east-1", + "aws_access_key": "", + "aws_secret_access_key": "" + }, + "files": { + "ArcGIS_Server_Windows_112_188239.exe": { + "subfolder": "11.2/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-server/11.2/windows/arcgis-server.json b/templates/arcgis-server/11.2/windows/arcgis-server.json new file mode 100644 index 0000000..58bda25 --- /dev/null +++ b/templates/arcgis-server/11.2/windows/arcgis-server.json @@ -0,0 +1,35 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "install_dir": "C:\\Program Files\\ArcGIS\\Server", + "install_system_requirements": true, + "admin_username": "", + "admin_password": "", + "authorization_file": "C:\\Software\\AuthorizationFiles\\11.2\\Server.prvc", + "log_level": "WARNING", + "soc_max_heap_size": 64, + "directories_root": "\\\\FILESERVER\\arcgisserver", + "log_dir": "C:\\arcgisserver\\logs", + "config_store_type": "FILESYSTEM", + "config_store_connection_string": "\\\\FILESERVER\\arcgisserver\\config-store", + "services_dir_enabled": true, + "system_properties": { + "suspendedMachineUnregisterThreshold": -1, + "machineSuspendThreshold": 60 + } + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[arcgis-enterprise::server]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-server/11.2/windows/geoanalytics-federation.json b/templates/arcgis-server/11.2/windows/geoanalytics-federation.json new file mode 100644 index 0000000..8d50667 --- /dev/null +++ b/templates/arcgis-server/11.2/windows/geoanalytics-federation.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "server": { + "private_url": "https://domain.com:6443/arcgis", + "web_context_url": "https://domain.com/server", + "admin_username": "", + "admin_password": "", + "is_hosting": false + }, + "portal": { + "private_url": "https://domain.com/portal", + "admin_username": "", + "admin_password": "", + "root_cert": "", + "root_cert_alias": "geoanalytics" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::federation]", + "recipe[arcgis-enterprise::enable_geoanalytics]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-server/11.2/windows/gis-server-federation.json b/templates/arcgis-server/11.2/windows/gis-server-federation.json new file mode 100644 index 0000000..035fb2a --- /dev/null +++ b/templates/arcgis-server/11.2/windows/gis-server-federation.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "server": { + "private_url": "https://domain.com:6443/arcgis", + "web_context_url": "https://domain.com/server", + "admin_username": "", + "admin_password": "", + "is_hosting": false + }, + "portal": { + "private_url": "https://domain.com/portal", + "admin_username": "", + "admin_password": "", + "root_cert": "", + "root_cert_alias": "gisserver" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::federation]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-server/11.2/windows/imagehosting-federation.json b/templates/arcgis-server/11.2/windows/imagehosting-federation.json new file mode 100644 index 0000000..067ad36 --- /dev/null +++ b/templates/arcgis-server/11.2/windows/imagehosting-federation.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "server": { + "private_url": "https://domain.com:6443/arcgis", + "web_context_url": "https://domain.com/server", + "admin_username": "", + "admin_password": "", + "is_hosting": false + }, + "portal": { + "private_url": "https://domain.com/portal", + "admin_username": "", + "admin_password": "", + "root_cert": "", + "root_cert_alias": "imagehosting" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::federation]", + "recipe[arcgis-enterprise::enable_imagehosting]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-server/11.2/windows/knowledgeserver-federation.json b/templates/arcgis-server/11.2/windows/knowledgeserver-federation.json new file mode 100644 index 0000000..5cde895 --- /dev/null +++ b/templates/arcgis-server/11.2/windows/knowledgeserver-federation.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "server": { + "private_url": "https://domain.com:6443/arcgis", + "web_context_url": "https://domain.com/server", + "admin_username": "", + "admin_password": "", + "is_hosting": false + }, + "portal": { + "private_url": "https://domain.com/portal", + "admin_username": "", + "admin_password": "", + "root_cert": "", + "root_cert_alias": "knowledgeserver" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::federation]", + "recipe[arcgis-enterprise::enable_knowledgeserver]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-server/11.2/windows/rasteranalytics-federation.json b/templates/arcgis-server/11.2/windows/rasteranalytics-federation.json new file mode 100644 index 0000000..bf546d7 --- /dev/null +++ b/templates/arcgis-server/11.2/windows/rasteranalytics-federation.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "server": { + "private_url": "https://domain.com:6443/arcgis", + "web_context_url": "https://domain.com/server", + "admin_username": "", + "admin_password": "", + "is_hosting": false + }, + "portal": { + "private_url": "https://domain.com/portal", + "admin_username": "", + "admin_password": "", + "root_cert": "", + "root_cert_alias": "rasteranalytics" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::federation]", + "recipe[arcgis-enterprise::enable_rasteranalytics]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-server/11.2/windows/unfederate-server.json b/templates/arcgis-server/11.2/windows/unfederate-server.json new file mode 100644 index 0000000..bbae3e7 --- /dev/null +++ b/templates/arcgis-server/11.2/windows/unfederate-server.json @@ -0,0 +1,15 @@ +{ + "arcgis": { + "server": { + "web_context_url": "https://domain.com/server" + }, + "portal": { + "private_url": "https://domain.com/portal", + "admin_username": "", + "admin_password": "" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::unfederate_server]" + ] +} diff --git a/templates/arcgis-server/11.2/windows/unregister-machine.json b/templates/arcgis-server/11.2/windows/unregister-machine.json new file mode 100644 index 0000000..2b9804d --- /dev/null +++ b/templates/arcgis-server/11.2/windows/unregister-machine.json @@ -0,0 +1,11 @@ +{ + "arcgis": { + "server": { + "admin_username": "", + "admin_password": "" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::unregister_machine]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-webadaptor/11.2/README.md b/templates/arcgis-webadaptor/11.2/README.md new file mode 100644 index 0000000..532ce37 --- /dev/null +++ b/templates/arcgis-webadaptor/11.2/README.md @@ -0,0 +1,266 @@ +--- +layout: default +title: "arcgis-webadaptor template" +category: templates +item: arcgis-webadaptor +version: "11.2" +latest: true +--- + +# arcgis-webadaptor Deployment Template + +The template contains Chef Zero JSON files with sample recipes and attributes for different ArcGIS Web Adaptor machine roles. + +## System Requirements + +Consult the ArcGIS Web Adaptor 11.2 system requirements documentation for the required/recommended hardware specification. + +### Recommended Chef Client Versions + +* Chef Client 16, or +* Cinc Client 16 + +### Recommended ArcGIS Chef Cookbooks versions + +* 4.2.0 + +### Supported Platforms + +* Windows + * Windows Server 2016 Standard and Datacenter + * Windows Server 2019 Standard and Datacenter + * Windows Server 2022 Standard and Datacenter +* Linux + * Ubuntu Server 18.04 LTS + * Ubuntu Server 20.04 LTS + * Red Hat Enterprise Linux Server 8 + * SUSE Linux Enterprise Server 15 + * Oracle Linux 8 + * Rocky Linux 8 + * AlmaLinux 9 + +For Linux deployments, enable running sudo without password for the user running the Chef client. + +### Required ArcGIS Software Repository Content + +The following ArcGIS setup archives must be available in the ArcGIS software repository directory: + +Windows + +* ArcGIS_Web_Adaptor_for_Microsoft_IIS_112_188253.exe +* dotnet-hosting-6.0.9-win.exe (Will be downloaded from the internet if the file is not present) +* WebDeploy_amd64_en-US.msi (Will be downloaded from the internet if the file is not present) + +Linux + +* ArcGIS_Web_Adaptor_Java_Linux_112_188341.tar.gz +* apache-tomcat-9.0.48.tar.gz (Alternatively, if it is not present in the local ArcGIS software repository, you can remove the tomcat.tarball_path attribute from the json and it will be downloaded from the internet for you.) +* openjdk-11_linux-x64_bin.tar.gz (Alternatively, if it is not present in the local ArcGIS software repository, you can remove the java.tarball_path attribute from the json and it will be downloaded from the internet for you.) + +> The ArcGIS software repository directory is specified by the arcgis.repository.archives attribute. By default, it is set to local directory C:\Software\Archives on Windows and /opt/software/archives on Linux. However, it is recommended to create an ArcGIS software repository located on a separate file server that is accessible from all the machines in the deployment for the user account used to run the Chef client. + +> Ensure that the directory specified by the arcgis.repository.setups attribute has enough space for setups extracted from the setup archives. + +## Initial Deployment Workflow + +The following is the recommended initial deployment workflow for the template machine roles: + +1. Install the recommended version of [Chef Client](https://docs.chef.io/chef_install_script/) or [Cinc Client](https://cinc.sh/start/client/). +2. Download and extract [ArcGIS Chef cookbooks](https://github.com/Esri/arcgis-cookbook/releases) into the Chef workspace directory. +3. Update the required attributes within the template JSON files. +4. Run the Chef client on the machines as administrator/superuser using the JSON files specific to the machine roles (one machine can be used in multiple roles). + +> For additional customization options, see the list of supported attributes described in the arcgis-enterprise cookbook README file. + +### ArcGIS Mission Server Web Adaptor Machine + +```shell +chef-client -z -j arcgis-mission-server-webadaptor.json +``` + +### ArcGIS Notebook Server Web Adaptor Machine + +```shell +chef-client -z -j arcgis-notebook-server-webadaptor.json +``` + +### Portal for ArcGIS Web Adaptor Machine + +```shell + +chef-client -z -j arcgis-portal-webadaptor.json +``` + +### ArcGIS Server Web Adaptor Machine + +```shell +chef-client -z -j arcgis-server-webadaptor.json +``` + +## Install ArcGIS Web Adaptor Patches and Updates + +To install software patches and updates after the initial installation or upgrade of ArcGIS Web Adaptor, download ArcGIS Web Adaptor patches from the global ArcGIS software repository into a local patches folder: + +```shell +chef-client -z -j arcgis-webadaptor-patches.json +``` + +Check the list of patches specified by the arcgis.web_adaptor.patches attribute in the arcgis-webadaptor-patches-apply.json file, and apply the patches: + +```shell +chef-client -z -j arcgis-webadaptor-patches-apply.json +``` + +## Upgrade Workflow + +> It's not recommended to use the templates to upgrade if the web adaptor was not initially deployed using the templates. + +** TODO ** + +## Machine Roles + +The JSON files included in the template provide recipes for the deployment machine roles and the most important attributes used by the recipes. + +### arcgis-mission-server-webadaptor-install + +Installs and configures Microsoft IIS web server on Windows and Apache Tomcat application server on Linux. Installs ArcGIS Web Adaptor without registering it. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account + +### arcgis-mission-server-webadaptor + +Installs and configures Microsoft IIS web server on Windows and Apache Tomcat application server on Linux, installs ArcGIS Web Adaptor and registers it with ArcGIS Mission Server. + +Required attribute changes: + +* arcgis.iis.keystore_file - (Windows only) Specify path to the SSL certificate file in PKCS12 format that will be used to configure the HTTPS listener in IIS web server. +* arcgis.iis.keystore_password - (Windows only) Specify password of the SSL certificate file. +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account +* arcgis.mission_server.admin_username - Specify ArcGIS Mission Server primary site administrator account user name. +* arcgis.mission_server.admin_password - Specify ArcGIS Mission Server primary site administrator account password. +* arcgis.mission_server.url - Specify ArcGIS Mission Server URL. +* arcgis.mission_server.wa_url - Specify ArcGIS Web Adaptor URL. +* tomcat.keystore_file - (Linux only) Specify path to the SSL certificate file in PKCS12 format that will be used to configure the HTTPS listener in Apache Tomcat. +* tomcat.keystore_type - (Linux only) Specify password of the SSL certificate file. + +### arcgis-notebook-server-webadaptor-install + +Installs ArcGIS Web Adaptor for ArcGIS Notebook Server without regestering it. + +### arcgis-notebook-server-webadaptor + +Installs and configures Microsoft IIS web server on Windows and Apache Tomcat application server on Linux, installs ArcGIS Web Adaptor and registers it with ArcGIS Notebook Server. + +Required attribute changes: + +* arcgis.notebook_server.admin_username - Specify ArcGIS Notebook Server primary site administrator account user name. +* arcgis.notebook_server.admin_password - Specify ArcGIS Notebook Server primary site administrator account password. +* arcgis.notebook_server.url - Specify ArcGIS Notebook Server URL. +* arcgis.notebook_server.wa_url - Specify ArcGIS Web Adaptor URL. +* tomcat.keystore_file - Specify path to the SSL certificate file in PKCS12 format that will be used to configure the HTTPS listener in Apache Tomcat. +* tomcat.keystore_type - Specify password of the SSL certificate file. + +### arcgis-notebook-server-webadaptor-unregister + +Unregisters all web adaptors from an ArcGIS Notebook Server site. + +Required attribute changes: + +* arcgis.notebook_server.admin_username - Specify ArcGIS Notebook Server primary site administrator account user name. +* arcgis.notebook_server.admin_password - Specify ArcGIS Notebook Server primary site administrator account password. + +### arcgis-mission-server-webadaptor-unregister + +Unregisters all web adaptors from an ArcGIS Mission Server site. + +Required attribute changes: + +* arcgis.mission_server.admin_username - Specify ArcGIS Mission Server primary site administrator account user name. +* arcgis.mission_server.admin_password - Specify ArcGIS Mission Server primary site administrator account password. + +### arcgis-portal-webadaptor-install + +Installs and configures Microsoft IIS web server on Windows and Apache Tomcat application server on Linux. Installs ArcGIS Web Adaptor for Portal for ArcGIS without registering it. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account + +### arcgis-portal-webadaptor + +Installs ArcGIS Web Adaptor and registers it with Portal for ArcGIS. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account. +* arcgis.portal.url - Portal for ArcGIS URL on the machine. +* arcgis.portal.wa_url - Portal for ArcGIS Web Adaptor URL. +* arcgis.portal.admin_username - Specify Portal for ArcGIS administrator account user name. +* arcgis.portal.admin_password - Specify Portal for ArcGIS administrator account password. +* arcgis.iis.keystore_file - (Windows only) Specify path to the SSL certificate file in PKCS12 format that will be used to configure the HTTPS listener in IIS web server. +* arcgis.iis.keystore_password - (Windows only) Specify password of the SSL certificate file +* tomcat.keystore_file - (Linux only) Specify path to the SSL certificate file in PKCS12 format that will be used to configure the HTTPS listener in Apache Tomcat. +* tomcat.keystore_password - (Linux only) Specify password of the SSL certificate file. + +### arcgis-server-webadaptor-install + +Installs and configures Microsoft IIS web server on Windows and Apache Tomcat application server on Linux. Installs ArcGIS Web Adaptor without registering it. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account + +### arcgis-server-webadaptor-unregister + +Unregisters all ArcGIS Web Adaptors from an ArcGIS Server site. + +Required attributes changes: + +* arcgis.server.admin_username - Specify ArcGIS Server primary site administrator account user name. +* arcgis.server.admin_password - Specify ArcGIS Server primary site administrator account password. + +### arcgis-server-webadaptor + +Installs and configures Microsoft IIS web server on Windows and Apache Tomcat application server on Linux, installs ArcGIS Web Adaptor and registers it with ArcGIS Server. + +Required attribute changes: + +* arcgis.iis.keystore_file - (Windows only) Specify path to the SSL certificate file in PKCS12 format that will be used to configure the HTTPS listener in IIS web server. +* arcgis.iis.keystore_password - (Windows only) Specify password of the SSL certificate file. +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account. +* arcgis.server.admin_username - Specify ArcGIS Server primary site administrator account user name. +* arcgis.server.admin_password - Specify ArcGIS Server primary site administrator account password. +* arcgis.server.url - Specify ArcGIS Server URL. +* arcgis.server.wa_url - Specify ArcGIS Web Adaptor URL. +* tomcat.keystore_file - (Linux only) Specify path to the SSL certificate file in PKCS12 format that will be used to configure the HTTPS listener in Apache Tomcat. +* tomcat.keystore_type - (Linux only) Specify password of the SSL certificate file. + +### arcgis-webadaptor-patches + +Downloads ArcGIS Web Adaptor patches from the global ArcGIS software repository into a local patch folder. + +### arcgis-webadaptor-patches-apply + +Applies ArcGIS Web Adaptor patches. + +### arcgis-webadaptor-files + +The role downloads ArcGIS Web Adaptor setup archives from https://downloads.arcgis.com to the local ArcGIS software repository specified by the arcgis.repository.local_archives attribute. + +If the arcgis.repository.shared attribute is set to `true`, then a network share is created for the local software repository. + +Required attribute changes: + +* arcgis.repository.server.username - ArcGIS Online user name +* arcgis.repository.server.password - ArcGIS Online user password + +### arcgis-webadaptor-s3files + +The role downloads ArcGIS Web Adaptor setup archives from the S3 bucket specified by the arcgis.repository.server.s3bucket attribute to the local ArcGIS software repository. + +The following attributes are required unless the machine is an AWS EC2 instance with a configured IAM Role: + +* arcgis.repository.server.aws_access_key - AWS account access key id +* arcgis.repository.server.aws_secret_access_key - AWS account secret access key diff --git a/templates/arcgis-webadaptor/11.2/linux/arcgis-mission-server-webadaptor-install.json b/templates/arcgis-webadaptor/11.2/linux/arcgis-mission-server-webadaptor-install.json new file mode 100644 index 0000000..6d557df --- /dev/null +++ b/templates/arcgis-webadaptor/11.2/linux/arcgis-mission-server-webadaptor-install.json @@ -0,0 +1,34 @@ +{ + "java": { + "version": "11", + "tarball_path": "/opt/software/archives/openjdk-11_linux-x64_bin.tar.gz" + }, + "tomcat": { + "version": "9.0.48", + "tarball_path": "/opt/software/archives/apache-tomcat-9.0.48.tar.gz", + "install_path": "/opt/tomcat_arcgis_9.0.48" + }, + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "web_server": { + "webapp_dir": "/opt/tomcat_arcgis_9.0.48/webapps" + }, + "mission_server": { + "wa_name": "mission" + }, + "web_adaptor": { + "install_dir": "/opt" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[esri-tomcat::openjdk]", + "recipe[esri-tomcat::install]", + "recipe[arcgis-mission::install_server_wa]" + ] +} diff --git a/templates/arcgis-webadaptor/11.2/linux/arcgis-mission-server-webadaptor-unregister.json b/templates/arcgis-webadaptor/11.2/linux/arcgis-mission-server-webadaptor-unregister.json new file mode 100644 index 0000000..5b1a90c --- /dev/null +++ b/templates/arcgis-webadaptor/11.2/linux/arcgis-mission-server-webadaptor-unregister.json @@ -0,0 +1,12 @@ +{ + "arcgis": { + "version": "11.2", + "mission_server": { + "admin_username": "", + "admin_password": "" + } + }, + "run_list": [ + "recipe[arcgis-mission::unregister_server_wa]" + ] +} diff --git a/templates/arcgis-webadaptor/11.2/linux/arcgis-mission-server-webadaptor.json b/templates/arcgis-webadaptor/11.2/linux/arcgis-mission-server-webadaptor.json new file mode 100644 index 0000000..98450be --- /dev/null +++ b/templates/arcgis-webadaptor/11.2/linux/arcgis-mission-server-webadaptor.json @@ -0,0 +1,41 @@ +{ + "java": { + "version": "11", + "tarball_path": "/opt/software/archives/openjdk-11_linux-x64_bin.tar.gz" + }, + "tomcat": { + "version": "9.0.48", + "tarball_path": "/opt/software/archives/apache-tomcat-9.0.48.tar.gz", + "install_path": "/opt/tomcat_arcgis_9.0.48", + "keystore_file": "/opt/tomcat_arcgis_9.0.48/conf/ssl_certificate_file.pfx", + "keystore_type": "pkcs12", + "keystore_password": "" + }, + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "web_server": { + "webapp_dir": "/opt/tomcat_arcgis_9.0.48/webapps" + }, + "mission_server": { + "wa_name": "mission", + "url": "https://localhost:20443/arcgis", + "wa_url": "https://localhost/mission", + "admin_username": "", + "admin_password": "" + }, + "web_adaptor": { + "install_dir": "/opt" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[esri-tomcat::openjdk]", + "recipe[esri-tomcat]", + "recipe[arcgis-mission::server_wa]" + ] +} diff --git a/templates/arcgis-webadaptor/11.2/linux/arcgis-notebook-server-webadaptor-install.json b/templates/arcgis-webadaptor/11.2/linux/arcgis-notebook-server-webadaptor-install.json new file mode 100644 index 0000000..6e3aa7d --- /dev/null +++ b/templates/arcgis-webadaptor/11.2/linux/arcgis-notebook-server-webadaptor-install.json @@ -0,0 +1,36 @@ +{ + "java": { + "version": "11.0.20.1+1", + "tarball_uri": "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.20.1%2B1/OpenJDK11U-jdk_x64_linux_hotspot_11.0.20.1_1.tar.gz", + "tarball_path": "/opt/software/archives/OpenJDK11U-jdk_x64_linux_hotspot_11.0.20.1_1.tar.gz" + }, + "tomcat": { + "version": "9.0.48", + "tarball_path": "/opt/software/archives/apache-tomcat-9.0.48.tar.gz", + "install_path": "/opt/tomcat_arcgis_9.0.48" + }, + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "web_server": { + "webapp_dir": "/opt/tomcat_arcgis_9.0.48/webapps" + }, + "notebook_server": { + "wa_name": "notebooks" + }, + "web_adaptor": { + "install_dir": "/opt" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[esri-tomcat::openjdk]", + "recipe[esri-tomcat::install]", + "recipe[arcgis-notebooks::restart_docker]", + "recipe[arcgis-notebooks::install_server_wa]" + ] +} diff --git a/templates/arcgis-webadaptor/11.2/linux/arcgis-notebook-server-webadaptor-unregister.json b/templates/arcgis-webadaptor/11.2/linux/arcgis-notebook-server-webadaptor-unregister.json new file mode 100644 index 0000000..68a74f4 --- /dev/null +++ b/templates/arcgis-webadaptor/11.2/linux/arcgis-notebook-server-webadaptor-unregister.json @@ -0,0 +1,12 @@ +{ + "arcgis": { + "version": "11.2", + "notebook_server": { + "admin_username": "", + "admin_password": "" + } + }, + "run_list": [ + "recipe[arcgis-notebooks::unregister_server_wa]" + ] +} diff --git a/templates/arcgis-webadaptor/11.2/linux/arcgis-notebook-server-webadaptor.json b/templates/arcgis-webadaptor/11.2/linux/arcgis-notebook-server-webadaptor.json new file mode 100644 index 0000000..ad4b6fc --- /dev/null +++ b/templates/arcgis-webadaptor/11.2/linux/arcgis-notebook-server-webadaptor.json @@ -0,0 +1,43 @@ +{ + "java": { + "version": "11.0.20.1+1", + "tarball_uri": "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.20.1%2B1/OpenJDK11U-jdk_x64_linux_hotspot_11.0.20.1_1.tar.gz", + "tarball_path": "/opt/software/archives/OpenJDK11U-jdk_x64_linux_hotspot_11.0.20.1_1.tar.gz" + }, + "tomcat": { + "version": "9.0.48", + "tarball_path": "/opt/software/archives/apache-tomcat-9.0.48.tar.gz", + "install_path": "/opt/tomcat_arcgis_9.0.48", + "keystore_file": "/opt/tomcat_arcgis_9.0.48/conf/ssl_certificate_file.pfx", + "keystore_type": "pkcs12", + "keystore_password": "" + }, + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "web_server": { + "webapp_dir": "/opt/tomcat_arcgis_9.0.48/webapps" + }, + "notebook_server": { + "wa_name": "notebooks", + "url": "https://localhost:11443/arcgis", + "wa_url": "https://localhost/notebooks", + "admin_username": "", + "admin_password": "" + }, + "web_adaptor": { + "install_dir": "/opt" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[esri-tomcat::openjdk]", + "recipe[esri-tomcat]", + "recipe[arcgis-notebooks::restart_docker]", + "recipe[arcgis-notebooks::server_wa]" + ] +} diff --git a/templates/arcgis-webadaptor/11.2/linux/arcgis-portal-webadaptor-install.json b/templates/arcgis-webadaptor/11.2/linux/arcgis-portal-webadaptor-install.json new file mode 100644 index 0000000..acee7fc --- /dev/null +++ b/templates/arcgis-webadaptor/11.2/linux/arcgis-portal-webadaptor-install.json @@ -0,0 +1,34 @@ +{ + "java": { + "version": "11", + "tarball_path": "/opt/software/archives/openjdk-11_linux-x64_bin.tar.gz" + }, + "tomcat": { + "version": "9.0.48", + "tarball_path": "/opt/software/archives/apache-tomcat-9.0.48.tar.gz", + "install_path": "/opt/tomcat_arcgis_9.0.48" + }, + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "web_server": { + "webapp_dir": "/opt/tomcat_arcgis_9.0.48/webapps" + }, + "portal": { + "wa_name": "portal" + }, + "web_adaptor": { + "install_dir": "/opt" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[esri-tomcat::openjdk]", + "recipe[esri-tomcat::install]", + "recipe[arcgis-enterprise::install_portal_wa]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-webadaptor/11.2/linux/arcgis-portal-webadaptor.json b/templates/arcgis-webadaptor/11.2/linux/arcgis-portal-webadaptor.json new file mode 100644 index 0000000..26a8167 --- /dev/null +++ b/templates/arcgis-webadaptor/11.2/linux/arcgis-portal-webadaptor.json @@ -0,0 +1,42 @@ +{ + "java": { + "version": "11", + "tarball_path": "/opt/software/archives/openjdk-11_linux-x64_bin.tar.gz" + }, + "tomcat": { + "version": "9.0.48", + "tarball_path": "/opt/software/archives/apache-tomcat-9.0.48.tar.gz", + "install_path": "/opt/tomcat_arcgis_9.0.48", + "keystore_file": "/opt/tomcat_arcgis_9.0.48/conf/ssl_certificate_file.pfx", + "keystore_type": "pkcs12", + "keystore_password": "" + }, + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "web_server": { + "webapp_dir": "/opt/tomcat_arcgis_9.0.48/webapps" + }, + "portal": { + "url": "https://domain.com:7443/arcgis", + "wa_url": "https://domain.com/portal", + "admin_username": "", + "admin_password": "", + "wa_name": "portal" + }, + "web_adaptor": { + "install_dir": "/opt", + "reindex_portal_content": false + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[esri-tomcat::openjdk]", + "recipe[esri-tomcat]", + "recipe[arcgis-enterprise::portal_wa]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-webadaptor/11.2/linux/arcgis-server-webadaptor-install.json b/templates/arcgis-webadaptor/11.2/linux/arcgis-server-webadaptor-install.json new file mode 100644 index 0000000..95facbe --- /dev/null +++ b/templates/arcgis-webadaptor/11.2/linux/arcgis-server-webadaptor-install.json @@ -0,0 +1,34 @@ +{ + "java": { + "version": "11", + "tarball_path": "/opt/software/archives/openjdk-11_linux-x64_bin.tar.gz" + }, + "tomcat": { + "version": "9.0.48", + "tarball_path": "/opt/software/archives/apache-tomcat-9.0.48.tar.gz", + "install_path": "/opt/tomcat_arcgis_9.0.48" + }, + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "web_server": { + "webapp_dir": "/opt/tomcat_arcgis_9.0.48/webapps" + }, + "server": { + "wa_name": "server" + }, + "web_adaptor": { + "install_dir": "/opt" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[esri-tomcat::openjdk]", + "recipe[esri-tomcat::install]", + "recipe[arcgis-enterprise::install_server_wa]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-webadaptor/11.2/linux/arcgis-server-webadaptor-unregister.json b/templates/arcgis-webadaptor/11.2/linux/arcgis-server-webadaptor-unregister.json new file mode 100644 index 0000000..aa0745b --- /dev/null +++ b/templates/arcgis-webadaptor/11.2/linux/arcgis-server-webadaptor-unregister.json @@ -0,0 +1,12 @@ +{ + "arcgis": { + "version": "11.2", + "server": { + "admin_username": "", + "admin_password": "" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::unregister_server_wa]" + ] +} diff --git a/templates/arcgis-webadaptor/11.2/linux/arcgis-server-webadaptor.json b/templates/arcgis-webadaptor/11.2/linux/arcgis-server-webadaptor.json new file mode 100644 index 0000000..09fe8e1 --- /dev/null +++ b/templates/arcgis-webadaptor/11.2/linux/arcgis-server-webadaptor.json @@ -0,0 +1,42 @@ +{ + "java": { + "version": "11", + "tarball_path": "/opt/software/archives/openjdk-11_linux-x64_bin.tar.gz" + }, + "tomcat": { + "version": "9.0.48", + "tarball_path": "/opt/software/archives/apache-tomcat-9.0.48.tar.gz", + "install_path": "/opt/tomcat_arcgis_9.0.48", + "keystore_file": "/opt/tomcat_arcgis_9.0.48/conf/ssl_certificate_file.pfx", + "keystore_type": "pkcs12", + "keystore_password": "" + }, + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "web_server": { + "webapp_dir": "/opt/tomcat_arcgis_9.0.48/webapps" + }, + "server": { + "url": "https://domain.com:6443/arcgis", + "wa_url": "https://domain.com/server", + "admin_username": "", + "admin_password": "", + "wa_name": "server" + }, + "web_adaptor": { + "install_dir": "/opt", + "admin_access": true + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[esri-tomcat::openjdk]", + "recipe[esri-tomcat]", + "recipe[arcgis-enterprise::server_wa]" + ] +} diff --git a/templates/arcgis-webadaptor/11.2/linux/arcgis-webadaptor-files.json b/templates/arcgis-webadaptor/11.2/linux/arcgis-webadaptor-files.json new file mode 100644 index 0000000..85a75e3 --- /dev/null +++ b/templates/arcgis-webadaptor/11.2/linux/arcgis-webadaptor-files.json @@ -0,0 +1,30 @@ +{ + "arcgis": { + "repository": { + "local_archives": "/opt/software/archives", + "shared": false, + "server": { + "username": "", + "password": "" + }, + "files": { + "ArcGIS_Web_Adaptor_Java_Linux_112_188341.tar.gz": { + "subfolder": "software/arcgis/11.2" + }, + "apache-tomcat-9.0.48.tar.gz": { + "url": "https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.48/bin/apache-tomcat-9.0.48.tar.gz" + }, + "openjdk-11_linux-x64_bin.tar.gz": { + "url": "https://download.java.net/java/ga/jdk11/openjdk-11_linux-x64_bin.tar.gz" + }, + "OpenJDK11U-jdk_x64_linux_hotspot_11.0.20.1_1.tar.gz": { + "url": "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.20.1%2B1/OpenJDK11U-jdk_x64_linux_hotspot_11.0.20.1_1.tar.gz" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-webadaptor/11.2/linux/arcgis-webadaptor-patches-apply.json b/templates/arcgis-webadaptor/11.2/linux/arcgis-webadaptor-patches-apply.json new file mode 100644 index 0000000..b09ecde --- /dev/null +++ b/templates/arcgis-webadaptor/11.2/linux/arcgis-webadaptor-patches-apply.json @@ -0,0 +1,18 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "patches": "/opt/software/archives/patches" + }, + "web_adaptor": { + "patches": [ + "ArcGIS-112-WAJ-*.tar", + "ArcGIS-112-WAJ-*.tar.gz" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]" + ] +} diff --git a/templates/arcgis-webadaptor/11.2/linux/arcgis-webadaptor-patches.json b/templates/arcgis-webadaptor/11.2/linux/arcgis-webadaptor-patches.json new file mode 100644 index 0000000..be0d1bc --- /dev/null +++ b/templates/arcgis-webadaptor/11.2/linux/arcgis-webadaptor-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_patches": "/opt/software/archives/patches", + "patch_notification": { + "products": [ + "ArcGIS Web Adaptor (Java)" + ] + } + } + }, + "run_list": [ + "recipe[arcgis-repository::patches]" + ] +} diff --git a/templates/arcgis-webadaptor/11.2/linux/arcgis-webadaptor-s3files.json b/templates/arcgis-webadaptor/11.2/linux/arcgis-webadaptor-s3files.json new file mode 100644 index 0000000..b0c39d6 --- /dev/null +++ b/templates/arcgis-webadaptor/11.2/linux/arcgis-webadaptor-s3files.json @@ -0,0 +1,31 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_archives": "/opt/software/archives", + "server": { + "s3bucket": "arcgisstore-us-east-1", + "region": "us-east-1", + "aws_access_key": "", + "aws_secret_access_key": "" + }, + "files": { + "ArcGIS_Web_Adaptor_Java_Linux_112_188341.tar.gz": { + "subfolder": "11.2/setups" + }, + "apache-tomcat-9.0.48.tar.gz": { + "subfolder": "11.2/thirdparty" + }, + "openjdk-11_linux-x64_bin.tar.gz": { + "subfolder": "11.2/thirdparty" + }, + "OpenJDK11U-jdk_x64_linux_hotspot_11.0.20.1_1.tar.gz": { + "subfolder": "11.2/thirdparty" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-webadaptor/11.2/windows/arcgis-mission-server-webadaptor-install.json b/templates/arcgis-webadaptor/11.2/windows/arcgis-mission-server-webadaptor-install.json new file mode 100644 index 0000000..3c657a3 --- /dev/null +++ b/templates/arcgis-webadaptor/11.2/windows/arcgis-mission-server-webadaptor-install.json @@ -0,0 +1,25 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "mission_server": { + "wa_name": "mission" + }, + "web_adaptor": { + "install_system_requirements": true, + "dotnet_setup_path": "C:\\Software\\Archives\\dotnet-hosting-6.0.9-win.exe", + "web_deploy_setup_path": "C:\\Software\\Archives\\WebDeploy_amd64_en-US.msi" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[esri-iis::install]", + "recipe[arcgis-mission::install_server_wa]" + ] + } + \ No newline at end of file diff --git a/templates/arcgis-webadaptor/11.2/windows/arcgis-mission-server-webadaptor-unregister.json b/templates/arcgis-webadaptor/11.2/windows/arcgis-mission-server-webadaptor-unregister.json new file mode 100644 index 0000000..5b1a90c --- /dev/null +++ b/templates/arcgis-webadaptor/11.2/windows/arcgis-mission-server-webadaptor-unregister.json @@ -0,0 +1,12 @@ +{ + "arcgis": { + "version": "11.2", + "mission_server": { + "admin_username": "", + "admin_password": "" + } + }, + "run_list": [ + "recipe[arcgis-mission::unregister_server_wa]" + ] +} diff --git a/templates/arcgis-webadaptor/11.2/windows/arcgis-mission-server-webadaptor.json b/templates/arcgis-webadaptor/11.2/windows/arcgis-mission-server-webadaptor.json new file mode 100644 index 0000000..90bca03 --- /dev/null +++ b/templates/arcgis-webadaptor/11.2/windows/arcgis-mission-server-webadaptor.json @@ -0,0 +1,36 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "iis": { + "keystore_file": "C:\\Temp\\keystore.pfx", + "keystore_password": "", + "replace_https_binding": true + }, + "mission_server": { + "wa_name": "mission", + "url": "https://localhost:20443/arcgis", + "wa_url": "https://localhost/mission", + "admin_username": "", + "admin_password": "" + }, + "web_adaptor": { + "install_system_requirements": true, + "dotnet_setup_path": "C:\\Software\\Archives\\dotnet-hosting-6.0.9-win.exe", + "web_deploy_setup_path": "C:\\Software\\Archives\\WebDeploy_amd64_en-US.msi", + "admin_access": true + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[esri-iis]", + "recipe[arcgis-mission::server_wa]" + ] + } + \ No newline at end of file diff --git a/templates/arcgis-webadaptor/11.2/windows/arcgis-portal-webadaptor-install.json b/templates/arcgis-webadaptor/11.2/windows/arcgis-portal-webadaptor-install.json new file mode 100644 index 0000000..d8484a2 --- /dev/null +++ b/templates/arcgis-webadaptor/11.2/windows/arcgis-portal-webadaptor-install.json @@ -0,0 +1,24 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "portal": { + "wa_name": "portal" + }, + "web_adaptor": { + "install_system_requirements": true, + "dotnet_setup_path": "C:\\Software\\Archives\\dotnet-hosting-6.0.9-win.exe", + "web_deploy_setup_path": "C:\\Software\\Archives\\WebDeploy_amd64_en-US.msi" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[esri-iis::install]", + "recipe[arcgis-enterprise::install_portal_wa]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-webadaptor/11.2/windows/arcgis-portal-webadaptor.json b/templates/arcgis-webadaptor/11.2/windows/arcgis-portal-webadaptor.json new file mode 100644 index 0000000..8971270 --- /dev/null +++ b/templates/arcgis-webadaptor/11.2/windows/arcgis-portal-webadaptor.json @@ -0,0 +1,35 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "iis": { + "keystore_file": "C:\\Temp\\keystore.pfx", + "keystore_password": "", + "replace_https_binding": true + }, + "portal": { + "url": "https://domain.com:7443/arcgis", + "wa_url": "https://domain.com/portal", + "admin_username": "", + "admin_password": "", + "wa_name": "portal" + }, + "web_adaptor": { + "install_system_requirements": true, + "dotnet_setup_path": "C:\\Software\\Archives\\dotnet-hosting-6.0.9-win.exe", + "web_deploy_setup_path": "C:\\Software\\Archives\\WebDeploy_amd64_en-US.msi", + "reindex_portal_content": false + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[esri-iis]", + "recipe[arcgis-enterprise::portal_wa]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-webadaptor/11.2/windows/arcgis-server-webadaptor-install.json b/templates/arcgis-webadaptor/11.2/windows/arcgis-server-webadaptor-install.json new file mode 100644 index 0000000..7f6a3d5 --- /dev/null +++ b/templates/arcgis-webadaptor/11.2/windows/arcgis-server-webadaptor-install.json @@ -0,0 +1,24 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "wa_name": "server" + }, + "web_adaptor": { + "install_system_requirements": true, + "dotnet_setup_path": "C:\\Software\\Archives\\dotnet-hosting-6.0.9-win.exe", + "web_deploy_setup_path": "C:\\Software\\Archives\\WebDeploy_amd64_en-US.msi" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[esri-iis::install]", + "recipe[arcgis-enterprise::install_server_wa]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-webadaptor/11.2/windows/arcgis-server-webadaptor-unregister.json b/templates/arcgis-webadaptor/11.2/windows/arcgis-server-webadaptor-unregister.json new file mode 100644 index 0000000..aa0745b --- /dev/null +++ b/templates/arcgis-webadaptor/11.2/windows/arcgis-server-webadaptor-unregister.json @@ -0,0 +1,12 @@ +{ + "arcgis": { + "version": "11.2", + "server": { + "admin_username": "", + "admin_password": "" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::unregister_server_wa]" + ] +} diff --git a/templates/arcgis-webadaptor/11.2/windows/arcgis-server-webadaptor.json b/templates/arcgis-webadaptor/11.2/windows/arcgis-server-webadaptor.json new file mode 100644 index 0000000..adc6671 --- /dev/null +++ b/templates/arcgis-webadaptor/11.2/windows/arcgis-server-webadaptor.json @@ -0,0 +1,35 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "iis": { + "keystore_file": "C:\\Temp\\keystore.pfx", + "keystore_password": "", + "replace_https_binding": true + }, + "server": { + "url": "https://domain.com:6443/arcgis", + "wa_url": "https://domain.com/server", + "admin_username": "", + "admin_password": "", + "wa_name": "server" + }, + "web_adaptor": { + "install_system_requirements": true, + "dotnet_setup_path": "C:\\Software\\Archives\\dotnet-hosting-6.0.9-win.exe", + "web_deploy_setup_path": "C:\\Software\\Archives\\WebDeploy_amd64_en-US.msi", + "admin_access": true + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[esri-iis]", + "recipe[arcgis-enterprise::server_wa]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-webadaptor/11.2/windows/arcgis-webadaptor-files.json b/templates/arcgis-webadaptor/11.2/windows/arcgis-webadaptor-files.json new file mode 100644 index 0000000..457bf8f --- /dev/null +++ b/templates/arcgis-webadaptor/11.2/windows/arcgis-webadaptor-files.json @@ -0,0 +1,27 @@ +{ + "arcgis": { + "repository": { + "local_archives": "C:\\Software\\Archives", + "shared": false, + "server": { + "username": "", + "password": "" + }, + "files": { + "ArcGIS_Web_Adaptor_for_Microsoft_IIS_112_188253.exe": { + "subfolder": "software/arcgis/11.2" + }, + "dotnet-hosting-6.0.9-win.exe": { + "url": "https://download.visualstudio.microsoft.com/download/pr/eaa3eab9-cc21-44b5-a4e4-af31ee73b9fa/d8ad75d525dec0a30b52adc990796b11/dotnet-hosting-6.0.9-win.exe" + }, + "WebDeploy_amd64_en-US.msi": { + "url": "https://download.microsoft.com/download/0/1/D/01DC28EA-638C-4A22-A57B-4CEF97755C6C/WebDeploy_amd64_en-US.msi" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-webadaptor/11.2/windows/arcgis-webadaptor-patches-apply.json b/templates/arcgis-webadaptor/11.2/windows/arcgis-webadaptor-patches-apply.json new file mode 100644 index 0000000..e49f3b3 --- /dev/null +++ b/templates/arcgis-webadaptor/11.2/windows/arcgis-webadaptor-patches-apply.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "patches": "C:\\Software\\Archives\\Patches" + }, + "web_adaptor": { + "patches": [ + "ArcGIS-112-WAI-*.msp" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]" + ] +} diff --git a/templates/arcgis-webadaptor/11.2/windows/arcgis-webadaptor-patches.json b/templates/arcgis-webadaptor/11.2/windows/arcgis-webadaptor-patches.json new file mode 100644 index 0000000..114d670 --- /dev/null +++ b/templates/arcgis-webadaptor/11.2/windows/arcgis-webadaptor-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_patches": "C:\\Software\\Archives\\Patches", + "patch_notification": { + "products": [ + "ArcGIS Web Adaptor (IIS)" + ] + } + } + }, + "run_list": [ + "recipe[arcgis-repository::patches]" + ] +} diff --git a/templates/arcgis-webadaptor/11.2/windows/arcgis-webadaptor-s3files.json b/templates/arcgis-webadaptor/11.2/windows/arcgis-webadaptor-s3files.json new file mode 100644 index 0000000..e90bbd5 --- /dev/null +++ b/templates/arcgis-webadaptor/11.2/windows/arcgis-webadaptor-s3files.json @@ -0,0 +1,28 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_archives": "C:\\Software\\Archives", + "server": { + "s3bucket": "arcgisstore-us-east-1", + "region": "us-east-1", + "aws_access_key": "", + "aws_secret_access_key": "" + }, + "files": { + "ArcGIS_Web_Adaptor_for_Microsoft_IIS_112_188253.exe": { + "subfolder": "11.2/setups" + }, + "dotnet-hosting-6.0.9-win.exe": { + "subfolder": "11.2/thirdparty" + }, + "WebDeploy_amd64_en-US.msi": { + "subfolder": "11.2/thirdparty" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-workflow-manager/10.9.1/README.md b/templates/arcgis-workflow-manager/10.9.1/README.md index d98a598..6a8439f 100644 --- a/templates/arcgis-workflow-manager/10.9.1/README.md +++ b/templates/arcgis-workflow-manager/10.9.1/README.md @@ -92,6 +92,10 @@ chef-client -z -j workflow-manager-server-federation.json chef-client -z -j workflow-manager-server-node.json ``` +### ArcGIS Web Adaptor Machines + +If ArcGIS Web Adaptor is required, use arcgis-webadaptor deployment template to install and configure it before federating ArcGIS Workflow Manager Server with Portal for ArcGIS. + ## Install ArcGIS Workflow Manager Server Patches and Updates To install software patches and updates after the initial installation or upgrade of ArcGIS Workflow Manager Server, download ArcGIS Workflow Manager Server patches from the global ArcGIS software repository into a local patches folder: diff --git a/templates/arcgis-workflow-manager/11.0/README.md b/templates/arcgis-workflow-manager/11.0/README.md index 95a3317..0f1bbce 100644 --- a/templates/arcgis-workflow-manager/11.0/README.md +++ b/templates/arcgis-workflow-manager/11.0/README.md @@ -90,6 +90,10 @@ chef-client -z -j workflow-manager-server-federation.json chef-client -z -j workflow-manager-server-node.json ``` +### ArcGIS Web Adaptor Machines + +If ArcGIS Web Adaptor is required, use arcgis-webadaptor deployment template to install and configure it before federating ArcGIS Workflow Manager Server with Portal for ArcGIS. + ## Install ArcGIS Workflow Manager Server Patches and Updates To install software patches and updates after the initial installation or upgrade of ArcGIS Workflow Manager Server, download ArcGIS Workflow Manager Server patches from the global ArcGIS software repository into a local patches folder: diff --git a/templates/arcgis-workflow-manager/11.1/README.md b/templates/arcgis-workflow-manager/11.1/README.md index e0b25fe..74bfed4 100644 --- a/templates/arcgis-workflow-manager/11.1/README.md +++ b/templates/arcgis-workflow-manager/11.1/README.md @@ -90,6 +90,10 @@ chef-client -z -j workflow-manager-server-federation.json chef-client -z -j workflow-manager-server-node.json ``` +### ArcGIS Web Adaptor Machines + +If ArcGIS Web Adaptor is required, use arcgis-webadaptor deployment template to install and configure it before federating ArcGIS Workflow Manager Server with Portal for ArcGIS. + ## Install ArcGIS Workflow Manager Server Patches and Updates To install software patches and updates after the initial installation or upgrade of ArcGIS Workflow Manager Server, download ArcGIS Workflow Manager Server patches from the global ArcGIS software repository into a local patches folder: diff --git a/templates/arcgis-workflow-manager/11.2/README.md b/templates/arcgis-workflow-manager/11.2/README.md new file mode 100644 index 0000000..6d9c8a9 --- /dev/null +++ b/templates/arcgis-workflow-manager/11.2/README.md @@ -0,0 +1,200 @@ +--- +layout: default +title: "arcgis-workflow-manager template" +category: templates +item: arcgis-workflow-manager +version: "11.2" +latest: true +--- + +# arcgis-workflow-manager Deployment Template + +The template contains Chef Zero JSON files with sample recipes and attributes for different ArcGIS Workflow Manager machine roles. + +## System Requirements + +Consult the ArcGIS Workflow Manager Server 11.2 system requirements documentation for the required/recommended hardware specification. + +### Recommended Chef Client Versions + +* Chef Client 16, or +* Cinc Client 16 + +### Recommended ArcGIS Chef Cookbooks versions + +* 4.2.0 + +### Supported Platforms + +* Windows + * Windows Server 2016 Standard and Datacenter + * Windows Server 2019 Standard and Datacenter + * Windows Server 2022 Standard and Datacenter +* Linux + * Ubuntu Server 18.04 LTS + * Ubuntu Server 20.04 LTS + * Red Hat Enterprise Linux Server 8 + +For Linux deployments, enable running sudo without password for the user running the Chef client. + +### Required ArcGIS Software Repository Content + +The following ArcGIS setup archives must be available in the ArcGIS software repository directory: + +Windows + +* ArcGIS_Server_Windows_112_188239.exe +* ArcGIS_Workflow_Manager_Server_112_188216.exe + +Linux + +* ArcGIS_Server_Linux_112_188327.tar.gz +* ArcGIS_Workflow_Manager_Server_112_188363.tar.gz + +> The ArcGIS software repository directory is specified by the arcgis.repository.archives attribute. By default, it is set to local directory C:\Software\Archives on Windows and /opt/software/archives on Linux. However, it is recommended to create an ArcGIS software repository located on a separate file server that is accessible from all the machines in the deployment for the user account used to run the Chef client. + +> Ensure that the directory specified by the arcgis.repository.setups attribute has enough space for setups extracted from the setup archives. + +## Initial Deployment Workflow + +The following is the recommended initial deployment workflow for the template machine roles: + +1. Install the recommended version of [Chef Client](https://docs.chef.io/chef_install_script/) or [Cinc Client](https://cinc.sh/start/client/). +2. Download and extract [ArcGIS Chef cookbooks](https://github.com/Esri/arcgis-cookbook/releases) into the Chef workspace directory. +3. Update the required attributes within the template JSON files. +4. Run the Chef client on the machines as administrator/superuser using the JSON files specific to the machine roles (one machine can be used in multiple roles). + +> For additional customization options, see the list of supported attributes described in arcgis-workflow-manager cookbook README file. + +### File Server Machine + +```shell +chef-client -z -j workflow-manager-fileserver.json +``` + +### First ArcGIS Workflow Manager Server Machine + +```shell +chef-client -z -j workflow-manager-server.json +``` + +To federate ArcGIS Workflow Manager Server with Portal for ArcGIS and enable Workflow Manager Server function, run the following: + +```shell +chef-client -z -j workflow-manager-server-federation.json +``` + +### Additional ArcGIS Workflow Manager Server Machines + +```shell +chef-client -z -j workflow-manager-server-node.json +``` + +### ArcGIS Web Adaptor Machines + +If ArcGIS Web Adaptor is required, use arcgis-webadaptor deployment template to install and configure it before federating ArcGIS Workflow Manager Server with Portal for ArcGIS. + +## Install ArcGIS Workflow Manager Server Patches and Updates + +To install software patches and updates after the initial installation or upgrade of ArcGIS Workflow Manager Server, download ArcGIS Workflow Manager Server patches from the global ArcGIS software repository into a local patches folder: + +```shell +chef-client -z -j workflow-manager-server-patches.json +``` + +Check the list of patches specified by the arcgis.workflow_manager_server.patches attribute in the workflow-manager-server-patches-apply.json file, and apply the patches: + +```shell +chef-client -z -j workflow-manager-server-patches-apply.json +``` + +## Machine Roles + +The JSON files included in the template provide recipes for the deployment machine roles and the most important attributes used by the recipes. + +### workflow-manager-fileserver + +Configures file shares for the ArcGIS Workflow Manager Server configuration store and server directories. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account + +### workflow-manager-server-install + +Installs ArcGIS Workflow Manager Server without configuring it. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account + +### workflow-manager-server-patches + +Downloads ArcGIS Workflow Manager Server patches from the global ArcGIS software repository into a local patch folder. + +### workflow-manager-server-patches-apply + +Applies ArcGIS Workflow Manager Server patches. + +### workflow-manager-server + +Installs and configures ArcGIS Workflow Manager Server. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account. +* arcgis.server.admin_username - Specify primary site administrator account user name. +* arcgis.server.admin_password - Specify primary site administrator account password. +* arcgis.server.authorization_file - Specify path to the ArcGIS Server software authorization file. +* arcgis.server.directories_root - Replace 'FILESERVER' with the file server machine hostname or static IP address. +* arcgis.server.config_store_connection_string - Replace 'FILESERVER' with the file server machine hostname or static IP address. +* arcgis.workflow_manager_server.authorization_file - Specify path to the ArcGIS Workflow Manager Server role software authorization file. +* arcgis.server.system_properties.WebSocketContextURL - Specify the ArcGIS Workflow Manager Server WebSocket context URL. +* arcgis.server.system_properties.WebContextURL - Specify the ArcGIS Workflow Manager Server web context URL. + +### workflow-manager-server-node + +Installs ArcGIS Workflow Manager Server on the machine, authorizes the software, and joins the machine to an existing site. + +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account +* arcgis.server.admin_username - Specify ArcGIS Server primary site administrator account user name. +* arcgis.server.admin_password - Specify ArcGIS Server primary site administrator account password. +* arcgis.server.authorization_file - Specify path to the ArcGIS Server role software authorization file. +* arcgis.server.primary_server_url - Specify URL of the ArcGIS Server site to join. +* arcgis.workflow_manager_server.authorization_file - Specify path to the ArcGIS Workflow Manager Server role software authorization file. + +### workflow-manager-server-federation + +Federates ArcGIS Workflows Manager Server with Portal for ArcGIS and enables the Workflow Manager Server function. + +Required attribute changes: + +* arcgis.server.admin_username - Specify ArcGIS Server primary site administrator account user name. +* arcgis.server.admin_password- Specify ArcGIS Server primary site administrator account password. +* arcgis.server.private_url - Specify ArcGIS Server private URL that will be used as the admin URL during federation. +* arcgis.server.web_context_url - Specify ArcGIS Server Web Context URL that will be used as the services URL during federation. +* arcgis.portal.admin_username - Specify Portal for ArcGIS administrator user name. +* arcgis.portal.admin_password - Specify Portal for ArcGIS administrator password. +* arcgis.portal.private_url - Specify Portal for ArcGIS private URL. + +### workflow-manager-files + +The role downloads ArcGIS Workflow Manager Server setup archives from https://downloads.arcgis.com to the local ArcGIS software repository specified by the arcgis.repository.local_archives attribute. + +If the arcgis.repository.shared attribute is set to `true`, then a network share is created for the local software repository. + +Required attribute changes: + +* arcgis.repository.server.username - ArcGIS Online user name +* arcgis.repository.server.password - ArcGIS Online user password + +### workflow-manager-s3files + +The role downloads ArcGIS Workflow Manager Server setup archives from the S3 bucket specified by the arcgis.repository.server.s3bucket attribute to the local ArcGIS software repository. + +The following attributes are required unless the machine is an AWS EC2 instance with a configured IAM Role: + +* arcgis.repository.server.aws_access_key - AWS account access key id +* arcgis.repository.server.aws_secret_access_key - AWS account secret access key diff --git a/templates/arcgis-workflow-manager/11.2/linux/workflow-manager-files.json b/templates/arcgis-workflow-manager/11.2/linux/workflow-manager-files.json new file mode 100644 index 0000000..2763dd7 --- /dev/null +++ b/templates/arcgis-workflow-manager/11.2/linux/workflow-manager-files.json @@ -0,0 +1,24 @@ +{ + "arcgis": { + "repository": { + "local_archives": "/opt/software/archives", + "shared": false, + "server": { + "username": "", + "password": "" + }, + "files": { + "ArcGIS_Server_Linux_112_188327.tar.gz": { + "subfolder": "software/arcgis/11.2" + }, + "ArcGIS_Workflow_Manager_Server_112_188363.tar.gz": { + "subfolder": "software/arcgis/11.2" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-workflow-manager/11.2/linux/workflow-manager-fileserver.json b/templates/arcgis-workflow-manager/11.2/linux/workflow-manager-fileserver.json new file mode 100644 index 0000000..6bf0ecc --- /dev/null +++ b/templates/arcgis-workflow-manager/11.2/linux/workflow-manager-fileserver.json @@ -0,0 +1,18 @@ +{ + "arcgis": { + "run_as_user": "arcgis", + "fileserver": { + "directories": [ + "/gisdata/arcgisserver" + ], + "shares": [ + "/gisdata/arcgisserver" + ] + } + }, + "run_list": [ + "recipe[nfs::server]", + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::fileserver]" + ] +} diff --git a/templates/arcgis-workflow-manager/11.2/linux/workflow-manager-s3files.json b/templates/arcgis-workflow-manager/11.2/linux/workflow-manager-s3files.json new file mode 100644 index 0000000..7880722 --- /dev/null +++ b/templates/arcgis-workflow-manager/11.2/linux/workflow-manager-s3files.json @@ -0,0 +1,25 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_archives": "/opt/software/archives", + "server": { + "s3bucket": "arcgisstore-us-east-1", + "region": "us-east-1", + "aws_access_key": "", + "aws_secret_access_key": "" + }, + "files": { + "ArcGIS_Server_Linux_112_188327.tar.gz": { + "subfolder": "11.2/setups" + }, + "ArcGIS_Workflow_Manager_Server_112_188363.tar.gz": { + "subfolder": "11.2/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-workflow-manager/11.2/linux/workflow-manager-server-federation.json b/templates/arcgis-workflow-manager/11.2/linux/workflow-manager-server-federation.json new file mode 100644 index 0000000..82869a8 --- /dev/null +++ b/templates/arcgis-workflow-manager/11.2/linux/workflow-manager-server-federation.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "server": { + "private_url": "https://domain.com:6443/arcgis", + "web_context_url": "https://domain.com/server", + "admin_username": "", + "admin_password": "", + "is_hosting": false + }, + "portal": { + "private_url": "https://domain.com/portal", + "admin_username": "", + "admin_password": "", + "root_cert": "", + "root_cert_alias": "workflowmanager" + } + }, + "run_list": [ + "recipe[arcgis-workflow-manager::federation]" + ] +} diff --git a/templates/arcgis-workflow-manager/11.2/linux/workflow-manager-server-install.json b/templates/arcgis-workflow-manager/11.2/linux/workflow-manager-server-install.json new file mode 100644 index 0000000..fee03f9 --- /dev/null +++ b/templates/arcgis-workflow-manager/11.2/linux/workflow-manager-server-install.json @@ -0,0 +1,19 @@ +{ + "arcgis": { + "run_as_user": "arcgis", + "version": "11.2", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "install_dir": "/opt", + "install_system_requirements": true + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::install_server]", + "recipe[arcgis-workflow-manager::install_server]" + ] +} diff --git a/templates/arcgis-workflow-manager/11.2/linux/workflow-manager-server-node.json b/templates/arcgis-workflow-manager/11.2/linux/workflow-manager-server-node.json new file mode 100644 index 0000000..b477058 --- /dev/null +++ b/templates/arcgis-workflow-manager/11.2/linux/workflow-manager-server-node.json @@ -0,0 +1,28 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "install_dir": "/opt", + "install_system_requirements": true, + "primary_server_url": "https://primary.com:6443/arcgis", + "admin_username": "", + "admin_password": "", + "pull_license": false, + "log_dir": "/opt/arcgis/server/usr/logs", + "authorization_file": "/opt/software/authorization_files/11.2/server.prvc" + }, + "workflow_manager_server": { + "authorization_file": "/opt/software/authorization_files/11.2/workflow_manager_server.prvc", + "distributed_data_provider": true + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::server_node]", + "recipe[arcgis-workflow-manager::server]" + ] +} diff --git a/templates/arcgis-workflow-manager/11.2/linux/workflow-manager-server-patches-apply.json b/templates/arcgis-workflow-manager/11.2/linux/workflow-manager-server-patches-apply.json new file mode 100644 index 0000000..80d760f --- /dev/null +++ b/templates/arcgis-workflow-manager/11.2/linux/workflow-manager-server-patches-apply.json @@ -0,0 +1,26 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "patches": "/opt/software/archives/patches" + }, + "server": { + "install_dir": "/opt", + "patches": [ + "ArcGIS-112-S-*.tar", + "ArcGIS-112-S-*.tar.gz" + ] + }, + "workflow_manager_server": { + "patches": [ + "WorkflowManager-11.2-*.tar", + "WorkflowManager-11.2-*.tar.gz" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]", + "recipe[arcgis-workflow-manager::install_patches]" + ] +} diff --git a/templates/arcgis-workflow-manager/11.2/linux/workflow-manager-server-patches.json b/templates/arcgis-workflow-manager/11.2/linux/workflow-manager-server-patches.json new file mode 100644 index 0000000..9f0afe9 --- /dev/null +++ b/templates/arcgis-workflow-manager/11.2/linux/workflow-manager-server-patches.json @@ -0,0 +1,17 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_patches": "/opt/software/archives/patches", + "patch_notification": { + "products": [ + "ArcGIS Server", + "ArcGIS Workflow Manager Server, ArcGIS Server" + ] + } + } + }, + "run_list": [ + "recipe[arcgis-repository::patches]" + ] +} diff --git a/templates/arcgis-workflow-manager/11.2/linux/workflow-manager-server.json b/templates/arcgis-workflow-manager/11.2/linux/workflow-manager-server.json new file mode 100644 index 0000000..d43caee --- /dev/null +++ b/templates/arcgis-workflow-manager/11.2/linux/workflow-manager-server.json @@ -0,0 +1,35 @@ +{ + "arcgis": { + "run_as_user": "arcgis", + "version": "11.2", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "install_dir": "/opt", + "install_system_requirements": true, + "admin_username": "", + "admin_password": "", + "authorization_file": "/opt/software/authorization_files/11.2/server.prvc", + "log_level": "WARNING", + "log_dir": "/opt/arcgis/server/usr/logs", + "directories_root": "/net/FILESERVER/gisdata/arcgisserver", + "config_store_type": "FILESYSTEM", + "config_store_connection_string": "/net/FILESERVER/gisdata/arcgisserver/config-store", + "system_properties": { + "WebSocketContextURL":"wss://domain.com/wa_name", + "WebContextURL":"https://domain.com/wa_name" + } + }, + "workflow_manager_server": { + "authorization_file": "/opt/software/authorization_files/11.2/workflow_manager_server.prvc", + "distributed_data_provider": true + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::server]", + "recipe[arcgis-workflow-manager::server]" + ] +} diff --git a/templates/arcgis-workflow-manager/11.2/windows/workflow-manager-files.json b/templates/arcgis-workflow-manager/11.2/windows/workflow-manager-files.json new file mode 100644 index 0000000..03ae096 --- /dev/null +++ b/templates/arcgis-workflow-manager/11.2/windows/workflow-manager-files.json @@ -0,0 +1,24 @@ +{ + "arcgis": { + "repository": { + "local_archives": "C:\\Software\\Archives", + "shared": false, + "server": { + "username": "", + "password": "" + }, + "files": { + "ArcGIS_Server_Windows_112_188239.exe": { + "subfolder": "software/arcgis/11.2" + }, + "ArcGIS_Workflow_Manager_Server_112_188216.exe": { + "subfolder": "software/arcgis/11.2" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-workflow-manager/11.2/windows/workflow-manager-fileserver.json b/templates/arcgis-workflow-manager/11.2/windows/workflow-manager-fileserver.json new file mode 100644 index 0000000..fb3db87 --- /dev/null +++ b/templates/arcgis-workflow-manager/11.2/windows/workflow-manager-fileserver.json @@ -0,0 +1,20 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "fileserver": { + "directories": [ + "C:\\arcgisserver" + ], + "shares": [ + "C:\\arcgisserver" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[arcgis-enterprise::fileserver]" + ] +} diff --git a/templates/arcgis-workflow-manager/11.2/windows/workflow-manager-s3files.json b/templates/arcgis-workflow-manager/11.2/windows/workflow-manager-s3files.json new file mode 100644 index 0000000..45e4854 --- /dev/null +++ b/templates/arcgis-workflow-manager/11.2/windows/workflow-manager-s3files.json @@ -0,0 +1,25 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_archives": "C:\\Software\\Archives", + "server": { + "s3bucket": "arcgisstore-us-east-1", + "region": "us-east-1", + "aws_access_key": "", + "aws_secret_access_key": "" + }, + "files": { + "ArcGIS_Server_Windows_112_188239.exe": { + "subfolder": "11.2/setups" + }, + "ArcGIS_Workflow_Manager_Server_112_188216.exe": { + "subfolder": "11.2/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-workflow-manager/11.2/windows/workflow-manager-server-federation.json b/templates/arcgis-workflow-manager/11.2/windows/workflow-manager-server-federation.json new file mode 100644 index 0000000..82869a8 --- /dev/null +++ b/templates/arcgis-workflow-manager/11.2/windows/workflow-manager-server-federation.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "server": { + "private_url": "https://domain.com:6443/arcgis", + "web_context_url": "https://domain.com/server", + "admin_username": "", + "admin_password": "", + "is_hosting": false + }, + "portal": { + "private_url": "https://domain.com/portal", + "admin_username": "", + "admin_password": "", + "root_cert": "", + "root_cert_alias": "workflowmanager" + } + }, + "run_list": [ + "recipe[arcgis-workflow-manager::federation]" + ] +} diff --git a/templates/arcgis-workflow-manager/11.2/windows/workflow-manager-server-install.json b/templates/arcgis-workflow-manager/11.2/windows/workflow-manager-server-install.json new file mode 100644 index 0000000..b20fd88 --- /dev/null +++ b/templates/arcgis-workflow-manager/11.2/windows/workflow-manager-server-install.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "install_dir": "C:\\Program Files\\ArcGIS\\Server", + "install_system_requirements": true + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::install_server]", + "recipe[arcgis-workflow-manager::install_server]" + ] +} diff --git a/templates/arcgis-workflow-manager/11.2/windows/workflow-manager-server-node.json b/templates/arcgis-workflow-manager/11.2/windows/workflow-manager-server-node.json new file mode 100644 index 0000000..49c2506 --- /dev/null +++ b/templates/arcgis-workflow-manager/11.2/windows/workflow-manager-server-node.json @@ -0,0 +1,32 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "install_dir": "C:\\Program Files\\ArcGIS\\Server", + "install_system_requirements": true, + "primary_server_url": "https://primary.com:6443/arcgis", + "admin_username": "", + "admin_password": "", + "pull_license": false, + "log_dir": "C:\\arcgisserver\\logs", + "authorization_file": "C:\\Software\\AuthorizationFiles\\11.2\\Server.prvc" + }, + "workflow_manager_server": { + "authorization_file": "C:\\Software\\AuthorizationFiles\\11.2\\Workflow_Manager_Server.prvc", + "distributed_data_provider": true + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[arcgis-enterprise::server_node]", + "recipe[arcgis-workflow-manager::server]" + ] +} diff --git a/templates/arcgis-workflow-manager/11.2/windows/workflow-manager-server-patches-apply.json b/templates/arcgis-workflow-manager/11.2/windows/workflow-manager-server-patches-apply.json new file mode 100644 index 0000000..e51313d --- /dev/null +++ b/templates/arcgis-workflow-manager/11.2/windows/workflow-manager-server-patches-apply.json @@ -0,0 +1,23 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "repository": { + "patches": "C:\\Software\\Archives\\Patches" + }, + "server": { + "patches": [ + "ArcGIS-112-S-*.msp" + ] + }, + "workflow_manager_server": { + "patches": [ + "WorkflowManagerServer_11.2_*.msp" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]", + "recipe[arcgis-workflow-manager::install_patches]" + ] +} diff --git a/templates/arcgis-workflow-manager/11.2/windows/workflow-manager-server-patches.json b/templates/arcgis-workflow-manager/11.2/windows/workflow-manager-server-patches.json new file mode 100644 index 0000000..02348a7 --- /dev/null +++ b/templates/arcgis-workflow-manager/11.2/windows/workflow-manager-server-patches.json @@ -0,0 +1,17 @@ +{ + "arcgis": { + "version": "11.2", + "repository": { + "local_patches": "C:\\Software\\Archives\\Patches", + "patch_notification": { + "products": [ + "ArcGIS Server", + "ArcGIS Workflow Manager Server, ArcGIS Server" + ] + } + } + }, + "run_list": [ + "recipe[arcgis-repository::patches]" + ] +} diff --git a/templates/arcgis-workflow-manager/11.2/windows/workflow-manager-server.json b/templates/arcgis-workflow-manager/11.2/windows/workflow-manager-server.json new file mode 100644 index 0000000..0df853a --- /dev/null +++ b/templates/arcgis-workflow-manager/11.2/windows/workflow-manager-server.json @@ -0,0 +1,38 @@ +{ + "arcgis": { + "version": "11.2", + "run_as_user": "arcgis", + "run_as_password": "", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "install_dir": "C:\\Program Files\\ArcGIS\\Server", + "install_system_requirements": true, + "admin_username": "", + "admin_password": "", + "authorization_file": "C:\\Software\\AuthorizationFiles\\11.2\\Server.prvc", + "log_level": "WARNING", + "directories_root": "\\\\FILESERVER\\arcgisserver", + "log_dir": "C:\\arcgisserver\\logs", + "config_store_type": "FILESYSTEM", + "config_store_connection_string": "\\\\FILESERVER\\arcgisserver\\config-store", + "system_properties": { + "WebSocketContextURL":"wss://domain.com/wa_name", + "WebContextURL":"https://domain.com/wa_name" + } + }, + "workflow_manager_server": { + "authorization_file": "C:\\Software\\AuthorizationFiles\\11.2\\Workflow_Manager_Server.prvc", + "distributed_data_provider": true + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[arcgis-enterprise::server]", + "recipe[arcgis-workflow-manager::server]" + ] +} diff --git a/templates/tools/copy_attributes.rb b/templates/tools/copy_attributes.rb index d4294af..97ec7a1 100644 --- a/templates/tools/copy_attributes.rb +++ b/templates/tools/copy_attributes.rb @@ -54,7 +54,7 @@ def self.copy(src, dst, add_new, prefix = '') if ARGV.length < 2 puts 'Copies attributes from source to destination JSON file.' puts 'Usage: chef-apply copy_attributes.rb [(false|true)]' - puts 'If the last parametr is not set or set to false, only attributes defined in the destination JSON file are copied.' + puts 'If the last parameter is not set or set to false, only attributes defined in the destination JSON file are copied.' exit 1 else src_file = ARGV[1]