From 7581f993d3b3cbdceeabc5eb5849d90543ec2b0e Mon Sep 17 00:00:00 2001 From: Cameron Date: Mon, 1 Aug 2022 13:30:08 -0700 Subject: [PATCH] Release v4.0.0 --- README.md | 2 +- cookbooks/arcgis-desktop/CHANGELOG.md | 4 + cookbooks/arcgis-desktop/README.md | 200 +- .../attributes/licensemanager.rb | 11 +- cookbooks/arcgis-desktop/metadata.rb | 6 +- cookbooks/arcgis-egdb/README.md | 224 ++- cookbooks/arcgis-egdb/metadata.rb | 6 +- .../RDS_create_connection_files.py.erb | 8 +- .../RDS_enable_enterprise_egdb_geodata.py.erb | 16 +- .../default/enable_enterprise_gdb.py.erb | 18 +- cookbooks/arcgis-enterprise/CHANGELOG.md | 4 + cookbooks/arcgis-enterprise/README.md | 1662 ++++++++++++++--- .../arcgis-enterprise/attributes/datastore.rb | 84 +- .../arcgis-enterprise/attributes/default.rb | 4 +- .../arcgis-enterprise/attributes/portal.rb | 85 +- .../arcgis-enterprise/attributes/server.rb | 112 +- .../attributes/webadaptor.rb | 221 +-- .../arcgis-enterprise/attributes/webstyles.rb | 17 +- .../arcgis-enterprise/libraries/utils.rb | 69 + cookbooks/arcgis-enterprise/metadata.rb | 18 +- .../arcgis-enterprise/providers/datastore.rb | 2 +- .../arcgis-enterprise/providers/patches.rb | 98 +- .../arcgis-enterprise/providers/webadaptor.rb | 2 +- .../arcgis-enterprise/providers/webstyles.rb | 28 +- .../recipes/disable_knowledgeserver.rb | 32 + .../recipes/enable_knowledgeserver.rb | 31 + .../recipes/enterprise_uninstalled.rb | 17 +- .../recipes/install_patches.rb | 124 ++ .../recipes/install_server.rb | 4 + .../arcgis-enterprise/resources/patches.rb | 9 +- .../arcgis-enterprise/resources/webstyles.rb | 5 +- cookbooks/arcgis-geoevent/CHANGELOG.md | 4 + cookbooks/arcgis-geoevent/README.md | 194 +- .../arcgis-geoevent/attributes/default.rb | 48 +- cookbooks/arcgis-geoevent/metadata.rb | 9 +- .../arcgis-geoevent/providers/geoevent.rb | 16 +- cookbooks/arcgis-geoevent/recipes/default.rb | 3 +- .../recipes/install_patches.rb | 46 + .../arcgis-geoevent/resources/geoevent.rb | 3 +- cookbooks/arcgis-insights/CHANGELOG.md | 3 + cookbooks/arcgis-insights/README.md | 144 +- .../arcgis-insights/attributes/default.rb | 34 +- cookbooks/arcgis-insights/metadata.rb | 9 +- .../recipes/install_patches.rb | 29 + cookbooks/arcgis-mission/CHANGELOG.md | 4 + cookbooks/arcgis-mission/README.md | 390 +++- .../arcgis-mission/attributes/default.rb | 24 +- cookbooks/arcgis-mission/metadata.rb | 9 +- .../arcgis-mission/recipes/install_patches.rb | 42 + cookbooks/arcgis-notebooks/CHANGELOG.md | 4 + cookbooks/arcgis-notebooks/README.md | 402 ++-- .../arcgis-notebooks/attributes/default.rb | 24 +- cookbooks/arcgis-notebooks/metadata.rb | 10 +- cookbooks/arcgis-notebooks/recipes/docker.rb | 9 +- .../recipes/install_patches.rb | 42 + .../recipes/restart_docker.rb | 24 + cookbooks/arcgis-pro/CHANGELOG.md | 5 + cookbooks/arcgis-pro/README.md | 196 +- cookbooks/arcgis-pro/attributes/default.rb | 16 +- cookbooks/arcgis-pro/metadata.rb | 6 +- cookbooks/arcgis-repository/README.md | 203 +- .../arcgis-repository/attributes/default.rb | 43 +- .../libraries/downloader.rb} | 21 +- .../libraries/downloads_api_client.rb | 79 + .../libraries/patches_client.rb | 111 ++ .../libraries/repository_client.rb | 127 ++ .../libraries/token_service_client.rb | 77 + cookbooks/arcgis-repository/metadata.rb | 8 +- .../arcgis-repository/recipes/default.rb | 22 +- cookbooks/arcgis-repository/recipes/files.rb | 34 + .../arcgis-repository/recipes/fileserver.rb | 50 + .../arcgis-repository/recipes/patches.rb | 33 + .../arcgis-repository/recipes/s3files.rb | 18 +- .../arcgis-repository/recipes/s3files2.rb | 13 +- .../arcgis-repository/resources/files.rb | 74 + .../arcgis-repository/resources/patches.rb | 41 + cookbooks/arcgis-workflow-manager/README.md | 227 ++- .../attributes/server.rb | 38 +- cookbooks/arcgis-workflow-manager/metadata.rb | 9 +- .../recipes/install_patches.rb | 44 + cookbooks/arcgis/CHANGELOG.md | 235 ++- cookbooks/arcgis/metadata.rb | 26 +- cookbooks/esri-iis/README.md | 97 +- cookbooks/esri-iis/attributes/default.rb | 34 +- cookbooks/esri-iis/metadata.rb | 3 +- cookbooks/esri-iis/recipes/install.rb | 9 +- cookbooks/esri-tomcat/README.md | 220 ++- cookbooks/esri-tomcat/metadata.rb | 4 +- .../templates/default/server.xml.erb | 2 +- templates/arcgis-datastore/10.9.1/README.md | 163 +- .../linux/arcgis-datastore-patches-apply.json | 18 + .../linux/arcgis-datastore-patches.json | 16 + .../arcgis-datastore-patches-apply.json | 16 + .../windows/arcgis-datastore-patches.json | 16 + templates/arcgis-datastore/10.9/README.md | 2 - templates/arcgis-datastore/11.0/README.md | 476 +++++ .../11.0/linux/arcgis-datastore-files.json | 21 + .../linux/arcgis-datastore-fileserver.json | 23 + .../11.0/linux/arcgis-datastore-graph.json | 31 + .../11.0/linux/arcgis-datastore-install.json | 22 + .../linux/arcgis-datastore-patches-apply.json | 19 + .../11.0/linux/arcgis-datastore-patches.json | 16 + .../arcgis-datastore-relational-primary.json | 31 + .../arcgis-datastore-relational-standby.json | 27 + .../arcgis-datastore-remove-machine.json | 16 + .../11.0/linux/arcgis-datastore-s3files.json | 22 + .../arcgis-datastore-spatiotemporal-node.json | 27 + .../arcgis-datastore-spatiotemporal.json | 31 + ...cgis-datastore-tilecache-cluster-node.json | 28 + .../arcgis-datastore-tilecache-cluster.json | 32 + .../arcgis-datastore-tilecache-primary.json | 32 + .../arcgis-datastore-tilecache-standby.json | 28 + .../11.0/windows/arcgis-datastore-files.json | 21 + .../windows/arcgis-datastore-fileserver.json | 24 + .../11.0/windows/arcgis-datastore-graph.json | 34 + .../windows/arcgis-datastore-install.json | 24 + .../arcgis-datastore-patches-apply.json | 16 + .../windows/arcgis-datastore-patches.json | 16 + .../arcgis-datastore-relational-primary.json | 34 + .../arcgis-datastore-relational-standby.json | 30 + .../arcgis-datastore-remove-machine.json | 15 + .../windows/arcgis-datastore-s3files.json | 22 + .../arcgis-datastore-spatiotemporal-node.json | 30 + .../arcgis-datastore-spatiotemporal.json | 34 + ...cgis-datastore-tilecache-cluster-node.json | 31 + .../arcgis-datastore-tilecache-cluster.json | 35 + .../arcgis-datastore-tilecache-primary.json | 35 + .../arcgis-datastore-tilecache-standby.json | 31 + templates/arcgis-desktop/10.8.1/README.md | 37 +- templates/arcgis-desktop/10.8.2/README.md | 37 +- templates/arcgis-egdb/10.9.1/README.md | 65 +- templates/arcgis-egdb/10.9/README.md | 1 - templates/arcgis-egdb/11.0/README.md | 167 ++ .../linux/arcgis-egdb-rds-postgres-files.json | 21 + .../arcgis-egdb-rds-postgres-s3files.json | 22 + .../11.0/linux/arcgis-egdb-rds-postgres.json | 49 + .../arcgis-egdb-rds-postgres-files.json | 21 + .../arcgis-egdb-rds-postgres-s3files.json | 22 + .../windows/arcgis-egdb-rds-postgres.json | 50 + .../arcgis-egdb-rds-sqlserver-files.json | 28 + .../arcgis-egdb-rds-sqlserver-node.json | 14 + .../arcgis-egdb-rds-sqlserver-s3files.json | 31 + .../windows/arcgis-egdb-rds-sqlserver.json | 38 + .../arcgis-enterprise-base/10.9.1/README.md | 136 +- .../arcgis-enterprise-patches-apply.json | 38 + .../linux/arcgis-enterprise-patches.json | 19 + .../arcgis-enterprise-patches-apply.json | 35 + .../windows/arcgis-enterprise-patches.json | 19 + .../arcgis-enterprise-base/10.9/README.md | 5 +- .../arcgis-enterprise-base/11.0/README.md | 346 ++++ .../11.0/linux/arcgis-enterprise-files.json | 40 + .../linux/arcgis-enterprise-fileserver.json | 26 + .../11.0/linux/arcgis-enterprise-install.json | 59 + .../arcgis-enterprise-patches-apply.json | 36 + .../11.0/linux/arcgis-enterprise-patches.json | 19 + .../11.0/linux/arcgis-enterprise-primary.json | 103 + .../11.0/linux/arcgis-enterprise-s3files.json | 42 + .../11.0/linux/arcgis-enterprise-standby.json | 69 + .../11.0/windows/arcgis-enterprise-files.json | 33 + .../windows/arcgis-enterprise-fileserver.json | 27 + .../windows/arcgis-enterprise-install.json | 47 + .../arcgis-enterprise-patches-apply.json | 31 + .../windows/arcgis-enterprise-patches.json | 19 + .../windows/arcgis-enterprise-primary.json | 95 + .../windows/arcgis-enterprise-s3files.json | 34 + .../windows/arcgis-enterprise-standby.json | 61 + .../arcgis-geoevent-server/10.9.1/README.md | 114 +- .../linux/geoevent-server-patches-apply.json | 29 + .../10.9.1/linux/geoevent-server-patches.json | 17 + .../10.9.1/linux/geoevent-server.json | 6 +- .../geoevent-server-patches-apply.json | 29 + .../windows/geoevent-server-patches.json | 17 + .../10.9.1/windows/geoevent-server.json | 6 +- .../arcgis-geoevent-server/10.9/README.md | 3 +- .../10.9/linux/geoevent-server.json | 6 +- .../10.9/windows/geoevent-server.json | 6 +- .../arcgis-geoevent-server/11.0/README.md | 268 +++ .../11.0/linux/geoevent-server-files.json | 24 + .../linux/geoevent-server-fileserver.json | 18 + .../11.0/linux/geoevent-server-install.json | 22 + .../linux/geoevent-server-patches-apply.json | 26 + .../11.0/linux/geoevent-server-patches.json | 17 + .../11.0/linux/geoevent-server-s3files.json | 25 + .../11.0/linux/geoevent-server.json | 37 + .../11.0/windows/geoevent-server-files.json | 24 + .../windows/geoevent-server-fileserver.json | 20 + .../11.0/windows/geoevent-server-install.json | 24 + .../geoevent-server-patches-apply.json | 23 + .../11.0/windows/geoevent-server-patches.json | 17 + .../11.0/windows/geoevent-server-reset.json | 12 + .../11.0/windows/geoevent-server-s3files.json | 25 + .../11.0/windows/geoevent-server.json | 40 + .../arcgis-license-manager/2021.0/README.md | 29 +- .../arcgis-license-manager/2021.1/README.md | 29 +- .../arcgis-license-manager/2022.0/README.md | 83 + .../linux/arcgis-license-manager-install.json | 16 + .../arcgis-license-manager-install.json | 15 + .../arcgis-mission-server/10.9.1/README.md | 140 +- .../linux/mission-server-patches-apply.json | 14 + .../10.9.1/linux/mission-server-patches.json | 16 + .../windows/mission-server-patches-apply.json | 14 + .../windows/mission-server-patches.json | 16 + .../arcgis-mission-server/10.9/README.md | 1 - .../arcgis-mission-server/11.0/README.md | 328 ++++ .../11.0/linux/mission-server-federation.json | 20 + .../11.0/linux/mission-server-files.json | 21 + .../11.0/linux/mission-server-fileserver.json | 19 + .../11.0/linux/mission-server-install.json | 19 + .../11.0/linux/mission-server-node.json | 24 + .../linux/mission-server-patches-apply.json | 17 + .../11.0/linux/mission-server-patches.json | 16 + .../11.0/linux/mission-server-s3files.json | 22 + .../mission-server-unregister-machine.json | 12 + .../11.0/linux/mission-server.json | 30 + .../windows/mission-server-federation.json | 20 + .../11.0/windows/mission-server-files.json | 21 + .../windows/mission-server-fileserver.json | 20 + .../11.0/windows/mission-server-install.json | 22 + .../11.0/windows/mission-server-node.json | 27 + .../windows/mission-server-patches-apply.json | 16 + .../11.0/windows/mission-server-patches.json | 16 + .../11.0/windows/mission-server-s3files.json | 22 + .../mission-server-unregister-machine.json | 12 + .../11.0/windows/mission-server.json | 33 + .../arcgis-notebook-server/10.7.1/README.md | 75 - .../10.7.1/ubuntu/notebook-server-node.json | 41 - .../ubuntu/notebook-server-primary.json | 73 - .../arcgis-notebook-server/10.9.1/README.md | 134 +- .../linux/notebook-server-patches-apply.json | 14 + .../10.9.1/linux/notebook-server-patches.json | 16 + .../arcgis-notebook-server/10.9/README.md | 5 +- .../arcgis-notebook-server/11.0/README.md | 328 ++++ .../linux}/notebook-server-federation.json | 6 +- .../11.0/linux/notebook-server-files.json | 30 + .../linux/notebook-server-fileserver.json | 17 + .../11.0/linux/notebook-server-install.json | 24 + .../11.0/linux/notebook-server-node.json | 28 + .../linux/notebook-server-patches-apply.json | 17 + .../11.0/linux/notebook-server-patches.json | 16 + .../11.0/linux/notebook-server-s3files.json | 31 + .../notebook-server-unregister-node.json | 12 + .../11.0/linux/notebook-server.json | 34 + templates/arcgis-portal/10.9.1/README.md | 126 +- .../linux/arcgis-portal-patches-apply.json | 18 + .../10.9.1/linux/arcgis-portal-patches.json | 16 + .../windows/arcgis-portal-patches-apply.json | 16 + .../10.9.1/windows/arcgis-portal-patches.json | 16 + templates/arcgis-portal/10.9/README.md | 1 - templates/arcgis-portal/11.0/README.md | 301 +++ .../11.0/linux/arcgis-portal-files.json | 25 + .../11.0/linux/arcgis-portal-fileserver.json | 20 + .../11.0/linux/arcgis-portal-install.json | 21 + .../linux/arcgis-portal-patches-apply.json | 19 + .../11.0/linux/arcgis-portal-patches.json | 16 + .../11.0/linux/arcgis-portal-primary.json | 39 + .../11.0/linux/arcgis-portal-s3files.json | 27 + .../11.0/linux/arcgis-portal-standby.json | 24 + .../11.0/windows/arcgis-portal-files.json | 24 + .../windows/arcgis-portal-fileserver.json | 21 + .../11.0/windows/arcgis-portal-install.json | 23 + .../windows/arcgis-portal-patches-apply.json | 16 + .../11.0/windows/arcgis-portal-patches.json | 16 + .../11.0/windows/arcgis-portal-primary.json | 43 + .../11.0/windows/arcgis-portal-s3files.json | 25 + .../11.0/windows/arcgis-portal-standby.json | 28 + templates/arcgis-pro/2.8/README.md | 39 +- templates/arcgis-pro/2.9/README.md | 39 +- templates/arcgis-pro/3.0/README.md | 126 ++ .../windows/arcgis-pro-concurrent-use.json | 23 + .../3.0/windows/arcgis-pro-install.json | 19 + .../3.0/windows/arcgis-pro-named-user.json | 22 + .../3.0/windows/arcgis-pro-s3files.json | 21 + .../3.0/windows/arcgis-pro-single-use.json | 23 + .../3.0/windows/ms-dotnet-install.json | 9 + .../3.0/windows/ms-dotnet-s3files.json | 21 + templates/arcgis-server/10.9.1/README.md | 150 +- .../linux/arcgis-server-patches-apply.json | 23 + .../10.9.1/linux/arcgis-server-patches.json | 16 + .../windows/arcgis-server-patches-apply.json | 22 + .../10.9.1/windows/arcgis-server-patches.json | 16 + templates/arcgis-server/10.9/README.md | 9 +- templates/arcgis-server/11.0/README.md | 421 +++++ .../11.0/linux/arcgis-server-files.json | 21 + .../11.0/linux/arcgis-server-fileserver.json | 19 + .../11.0/linux/arcgis-server-install.json | 18 + .../11.0/linux/arcgis-server-node.json | 25 + .../linux/arcgis-server-patches-apply.json | 19 + .../11.0/linux/arcgis-server-patches.json | 16 + .../linux/arcgis-server-raster-store.json | 22 + .../11.0/linux/arcgis-server-s3files.json | 22 + .../11.0/linux/arcgis-server.json | 31 + .../11.0/linux/geoanalytics-federation.json | 22 + .../11.0/linux/gis-server-federation.json | 21 + .../11.0/linux/imagehosting-federation.json | 22 + .../linux/knowledgeserver-federation.json | 22 + .../linux/rasteranalytics-federation.json | 22 + .../11.0/linux/unfederate-server.json | 15 + .../11.0/linux/unregister-machine.json | 11 + .../11.0/windows/arcgis-server-files.json | 21 + .../windows/arcgis-server-fileserver.json | 21 + .../11.0/windows/arcgis-server-install.json | 20 + .../11.0/windows/arcgis-server-node.json | 28 + .../windows/arcgis-server-patches-apply.json | 16 + .../11.0/windows/arcgis-server-patches.json | 16 + .../windows/arcgis-server-raster-store.json | 22 + .../11.0/windows/arcgis-server-s3files.json | 22 + .../11.0/windows/arcgis-server.json | 34 + .../11.0/windows/geoanalytics-federation.json | 22 + .../11.0/windows/gis-server-federation.json | 21 + .../11.0/windows/imagehosting-federation.json | 22 + .../windows/knowledgeserver-federation.json | 22 + .../windows/rasteranalytics-federation.json | 22 + .../11.0/windows/unfederate-server.json | 15 + .../11.0/windows/unregister-machine.json | 11 + templates/arcgis-webadaptor/10.9.1/README.md | 118 +- .../arcgis-webadaptor-patches-apply.json | 15 + .../linux/arcgis-webadaptor-patches.json | 16 + .../arcgis-webadaptor-patches-apply.json | 14 + .../windows/arcgis-webadaptor-patches.json | 16 + templates/arcgis-webadaptor/11.0/README.md | 262 +++ ...gis-mission-server-webadaptor-install.json | 34 + ...-mission-server-webadaptor-unregister.json | 12 + .../arcgis-mission-server-webadaptor.json | 41 + ...is-notebook-server-webadaptor-install.json | 35 + ...notebook-server-webadaptor-unregister.json | 12 + .../arcgis-notebook-server-webadaptor.json | 42 + .../arcgis-portal-webadaptor-install.json | 34 + .../11.0/linux/arcgis-portal-webadaptor.json | 42 + .../arcgis-server-webadaptor-install.json | 34 + .../arcgis-server-webadaptor-unregister.json | 12 + .../11.0/linux/arcgis-server-webadaptor.json | 42 + .../11.0/linux/arcgis-webadaptor-files.json | 27 + .../arcgis-webadaptor-patches-apply.json | 18 + .../11.0/linux/arcgis-webadaptor-patches.json | 16 + .../11.0/linux/arcgis-webadaptor-s3files.json | 28 + ...gis-mission-server-webadaptor-install.json | 20 + ...-mission-server-webadaptor-unregister.json | 12 + .../arcgis-mission-server-webadaptor.json | 33 + .../arcgis-portal-webadaptor-install.json | 19 + .../windows/arcgis-portal-webadaptor.json | 32 + .../arcgis-server-webadaptor-install.json | 19 + .../arcgis-server-webadaptor-unregister.json | 12 + .../windows/arcgis-server-webadaptor.json | 32 + .../11.0/windows/arcgis-webadaptor-files.json | 21 + .../arcgis-webadaptor-patches-apply.json | 16 + .../windows/arcgis-webadaptor-patches.json | 16 + .../windows/arcgis-webadaptor-s3files.json | 22 + .../arcgis-workflow-manager/10.9.1/README.md | 77 +- ...workflow-manager-server-patches-apply.json | 29 + .../workflow-manager-server-patches.json | 17 + ...workflow-manager-server-patches-apply.json | 29 + .../workflow-manager-server-patches.json | 17 + .../arcgis-workflow-manager/11.0/README.md | 196 ++ .../11.0/linux/workflow-manager-files.json | 24 + .../linux/workflow-manager-fileserver.json | 18 + .../11.0/linux/workflow-manager-s3files.json | 25 + .../workflow-manager-server-federation.json | 21 + .../workflow-manager-server-install.json | 19 + .../linux/workflow-manager-server-node.json | 27 + ...workflow-manager-server-patches-apply.json | 26 + .../workflow-manager-server-patches.json | 17 + .../11.0/linux/workflow-manager-server.json | 30 + .../11.0/windows/workflow-manager-files.json | 24 + .../windows/workflow-manager-fileserver.json | 20 + .../windows/workflow-manager-s3files.json | 25 + .../workflow-manager-server-federation.json | 21 + .../workflow-manager-server-install.json | 21 + .../windows/workflow-manager-server-node.json | 31 + ...workflow-manager-server-patches-apply.json | 23 + .../workflow-manager-server-patches.json | 17 + .../11.0/windows/workflow-manager-server.json | 33 + 371 files changed, 15091 insertions(+), 2490 deletions(-) create mode 100644 cookbooks/arcgis-enterprise/recipes/disable_knowledgeserver.rb create mode 100644 cookbooks/arcgis-enterprise/recipes/enable_knowledgeserver.rb create mode 100644 cookbooks/arcgis-enterprise/recipes/install_patches.rb create mode 100644 cookbooks/arcgis-geoevent/recipes/install_patches.rb create mode 100644 cookbooks/arcgis-insights/recipes/install_patches.rb create mode 100644 cookbooks/arcgis-mission/recipes/install_patches.rb create mode 100644 cookbooks/arcgis-notebooks/recipes/install_patches.rb create mode 100644 cookbooks/arcgis-notebooks/recipes/restart_docker.rb rename cookbooks/{arcgis-enterprise/recipes/patches.rb => arcgis-repository/libraries/downloader.rb} (69%) create mode 100644 cookbooks/arcgis-repository/libraries/downloads_api_client.rb create mode 100644 cookbooks/arcgis-repository/libraries/patches_client.rb create mode 100644 cookbooks/arcgis-repository/libraries/repository_client.rb create mode 100644 cookbooks/arcgis-repository/libraries/token_service_client.rb create mode 100644 cookbooks/arcgis-repository/recipes/files.rb create mode 100644 cookbooks/arcgis-repository/recipes/fileserver.rb create mode 100644 cookbooks/arcgis-repository/recipes/patches.rb create mode 100644 cookbooks/arcgis-repository/resources/files.rb create mode 100644 cookbooks/arcgis-repository/resources/patches.rb create mode 100644 cookbooks/arcgis-workflow-manager/recipes/install_patches.rb create mode 100644 templates/arcgis-datastore/10.9.1/linux/arcgis-datastore-patches-apply.json create mode 100644 templates/arcgis-datastore/10.9.1/linux/arcgis-datastore-patches.json create mode 100644 templates/arcgis-datastore/10.9.1/windows/arcgis-datastore-patches-apply.json create mode 100644 templates/arcgis-datastore/10.9.1/windows/arcgis-datastore-patches.json create mode 100644 templates/arcgis-datastore/11.0/README.md create mode 100644 templates/arcgis-datastore/11.0/linux/arcgis-datastore-files.json create mode 100644 templates/arcgis-datastore/11.0/linux/arcgis-datastore-fileserver.json create mode 100644 templates/arcgis-datastore/11.0/linux/arcgis-datastore-graph.json create mode 100644 templates/arcgis-datastore/11.0/linux/arcgis-datastore-install.json create mode 100644 templates/arcgis-datastore/11.0/linux/arcgis-datastore-patches-apply.json create mode 100644 templates/arcgis-datastore/11.0/linux/arcgis-datastore-patches.json create mode 100644 templates/arcgis-datastore/11.0/linux/arcgis-datastore-relational-primary.json create mode 100644 templates/arcgis-datastore/11.0/linux/arcgis-datastore-relational-standby.json create mode 100644 templates/arcgis-datastore/11.0/linux/arcgis-datastore-remove-machine.json create mode 100644 templates/arcgis-datastore/11.0/linux/arcgis-datastore-s3files.json create mode 100644 templates/arcgis-datastore/11.0/linux/arcgis-datastore-spatiotemporal-node.json create mode 100644 templates/arcgis-datastore/11.0/linux/arcgis-datastore-spatiotemporal.json create mode 100644 templates/arcgis-datastore/11.0/linux/arcgis-datastore-tilecache-cluster-node.json create mode 100644 templates/arcgis-datastore/11.0/linux/arcgis-datastore-tilecache-cluster.json create mode 100644 templates/arcgis-datastore/11.0/linux/arcgis-datastore-tilecache-primary.json create mode 100644 templates/arcgis-datastore/11.0/linux/arcgis-datastore-tilecache-standby.json create mode 100644 templates/arcgis-datastore/11.0/windows/arcgis-datastore-files.json create mode 100644 templates/arcgis-datastore/11.0/windows/arcgis-datastore-fileserver.json create mode 100644 templates/arcgis-datastore/11.0/windows/arcgis-datastore-graph.json create mode 100644 templates/arcgis-datastore/11.0/windows/arcgis-datastore-install.json create mode 100644 templates/arcgis-datastore/11.0/windows/arcgis-datastore-patches-apply.json create mode 100644 templates/arcgis-datastore/11.0/windows/arcgis-datastore-patches.json create mode 100644 templates/arcgis-datastore/11.0/windows/arcgis-datastore-relational-primary.json create mode 100644 templates/arcgis-datastore/11.0/windows/arcgis-datastore-relational-standby.json create mode 100644 templates/arcgis-datastore/11.0/windows/arcgis-datastore-remove-machine.json create mode 100644 templates/arcgis-datastore/11.0/windows/arcgis-datastore-s3files.json create mode 100644 templates/arcgis-datastore/11.0/windows/arcgis-datastore-spatiotemporal-node.json create mode 100644 templates/arcgis-datastore/11.0/windows/arcgis-datastore-spatiotemporal.json create mode 100644 templates/arcgis-datastore/11.0/windows/arcgis-datastore-tilecache-cluster-node.json create mode 100644 templates/arcgis-datastore/11.0/windows/arcgis-datastore-tilecache-cluster.json create mode 100644 templates/arcgis-datastore/11.0/windows/arcgis-datastore-tilecache-primary.json create mode 100644 templates/arcgis-datastore/11.0/windows/arcgis-datastore-tilecache-standby.json create mode 100644 templates/arcgis-egdb/11.0/README.md create mode 100644 templates/arcgis-egdb/11.0/linux/arcgis-egdb-rds-postgres-files.json create mode 100644 templates/arcgis-egdb/11.0/linux/arcgis-egdb-rds-postgres-s3files.json create mode 100644 templates/arcgis-egdb/11.0/linux/arcgis-egdb-rds-postgres.json create mode 100644 templates/arcgis-egdb/11.0/windows/arcgis-egdb-rds-postgres-files.json create mode 100644 templates/arcgis-egdb/11.0/windows/arcgis-egdb-rds-postgres-s3files.json create mode 100644 templates/arcgis-egdb/11.0/windows/arcgis-egdb-rds-postgres.json create mode 100644 templates/arcgis-egdb/11.0/windows/arcgis-egdb-rds-sqlserver-files.json create mode 100644 templates/arcgis-egdb/11.0/windows/arcgis-egdb-rds-sqlserver-node.json create mode 100644 templates/arcgis-egdb/11.0/windows/arcgis-egdb-rds-sqlserver-s3files.json create mode 100644 templates/arcgis-egdb/11.0/windows/arcgis-egdb-rds-sqlserver.json create mode 100644 templates/arcgis-enterprise-base/10.9.1/linux/arcgis-enterprise-patches-apply.json create mode 100644 templates/arcgis-enterprise-base/10.9.1/linux/arcgis-enterprise-patches.json create mode 100644 templates/arcgis-enterprise-base/10.9.1/windows/arcgis-enterprise-patches-apply.json create mode 100644 templates/arcgis-enterprise-base/10.9.1/windows/arcgis-enterprise-patches.json create mode 100644 templates/arcgis-enterprise-base/11.0/README.md create mode 100644 templates/arcgis-enterprise-base/11.0/linux/arcgis-enterprise-files.json create mode 100644 templates/arcgis-enterprise-base/11.0/linux/arcgis-enterprise-fileserver.json create mode 100644 templates/arcgis-enterprise-base/11.0/linux/arcgis-enterprise-install.json create mode 100644 templates/arcgis-enterprise-base/11.0/linux/arcgis-enterprise-patches-apply.json create mode 100644 templates/arcgis-enterprise-base/11.0/linux/arcgis-enterprise-patches.json create mode 100644 templates/arcgis-enterprise-base/11.0/linux/arcgis-enterprise-primary.json create mode 100644 templates/arcgis-enterprise-base/11.0/linux/arcgis-enterprise-s3files.json create mode 100644 templates/arcgis-enterprise-base/11.0/linux/arcgis-enterprise-standby.json create mode 100644 templates/arcgis-enterprise-base/11.0/windows/arcgis-enterprise-files.json create mode 100644 templates/arcgis-enterprise-base/11.0/windows/arcgis-enterprise-fileserver.json create mode 100644 templates/arcgis-enterprise-base/11.0/windows/arcgis-enterprise-install.json create mode 100644 templates/arcgis-enterprise-base/11.0/windows/arcgis-enterprise-patches-apply.json create mode 100644 templates/arcgis-enterprise-base/11.0/windows/arcgis-enterprise-patches.json create mode 100644 templates/arcgis-enterprise-base/11.0/windows/arcgis-enterprise-primary.json create mode 100644 templates/arcgis-enterprise-base/11.0/windows/arcgis-enterprise-s3files.json create mode 100644 templates/arcgis-enterprise-base/11.0/windows/arcgis-enterprise-standby.json create mode 100644 templates/arcgis-geoevent-server/10.9.1/linux/geoevent-server-patches-apply.json create mode 100644 templates/arcgis-geoevent-server/10.9.1/linux/geoevent-server-patches.json create mode 100644 templates/arcgis-geoevent-server/10.9.1/windows/geoevent-server-patches-apply.json create mode 100644 templates/arcgis-geoevent-server/10.9.1/windows/geoevent-server-patches.json create mode 100644 templates/arcgis-geoevent-server/11.0/README.md create mode 100644 templates/arcgis-geoevent-server/11.0/linux/geoevent-server-files.json create mode 100644 templates/arcgis-geoevent-server/11.0/linux/geoevent-server-fileserver.json create mode 100644 templates/arcgis-geoevent-server/11.0/linux/geoevent-server-install.json create mode 100644 templates/arcgis-geoevent-server/11.0/linux/geoevent-server-patches-apply.json create mode 100644 templates/arcgis-geoevent-server/11.0/linux/geoevent-server-patches.json create mode 100644 templates/arcgis-geoevent-server/11.0/linux/geoevent-server-s3files.json create mode 100644 templates/arcgis-geoevent-server/11.0/linux/geoevent-server.json create mode 100644 templates/arcgis-geoevent-server/11.0/windows/geoevent-server-files.json create mode 100644 templates/arcgis-geoevent-server/11.0/windows/geoevent-server-fileserver.json create mode 100644 templates/arcgis-geoevent-server/11.0/windows/geoevent-server-install.json create mode 100644 templates/arcgis-geoevent-server/11.0/windows/geoevent-server-patches-apply.json create mode 100644 templates/arcgis-geoevent-server/11.0/windows/geoevent-server-patches.json create mode 100644 templates/arcgis-geoevent-server/11.0/windows/geoevent-server-reset.json create mode 100644 templates/arcgis-geoevent-server/11.0/windows/geoevent-server-s3files.json create mode 100644 templates/arcgis-geoevent-server/11.0/windows/geoevent-server.json create mode 100644 templates/arcgis-license-manager/2022.0/README.md create mode 100644 templates/arcgis-license-manager/2022.0/linux/arcgis-license-manager-install.json create mode 100644 templates/arcgis-license-manager/2022.0/windows/arcgis-license-manager-install.json create mode 100644 templates/arcgis-mission-server/10.9.1/linux/mission-server-patches-apply.json create mode 100644 templates/arcgis-mission-server/10.9.1/linux/mission-server-patches.json create mode 100644 templates/arcgis-mission-server/10.9.1/windows/mission-server-patches-apply.json create mode 100644 templates/arcgis-mission-server/10.9.1/windows/mission-server-patches.json create mode 100644 templates/arcgis-mission-server/11.0/README.md create mode 100644 templates/arcgis-mission-server/11.0/linux/mission-server-federation.json create mode 100644 templates/arcgis-mission-server/11.0/linux/mission-server-files.json create mode 100644 templates/arcgis-mission-server/11.0/linux/mission-server-fileserver.json create mode 100644 templates/arcgis-mission-server/11.0/linux/mission-server-install.json create mode 100644 templates/arcgis-mission-server/11.0/linux/mission-server-node.json create mode 100644 templates/arcgis-mission-server/11.0/linux/mission-server-patches-apply.json create mode 100644 templates/arcgis-mission-server/11.0/linux/mission-server-patches.json create mode 100644 templates/arcgis-mission-server/11.0/linux/mission-server-s3files.json create mode 100644 templates/arcgis-mission-server/11.0/linux/mission-server-unregister-machine.json create mode 100644 templates/arcgis-mission-server/11.0/linux/mission-server.json create mode 100644 templates/arcgis-mission-server/11.0/windows/mission-server-federation.json create mode 100644 templates/arcgis-mission-server/11.0/windows/mission-server-files.json create mode 100644 templates/arcgis-mission-server/11.0/windows/mission-server-fileserver.json create mode 100644 templates/arcgis-mission-server/11.0/windows/mission-server-install.json create mode 100644 templates/arcgis-mission-server/11.0/windows/mission-server-node.json create mode 100644 templates/arcgis-mission-server/11.0/windows/mission-server-patches-apply.json create mode 100644 templates/arcgis-mission-server/11.0/windows/mission-server-patches.json create mode 100644 templates/arcgis-mission-server/11.0/windows/mission-server-s3files.json create mode 100644 templates/arcgis-mission-server/11.0/windows/mission-server-unregister-machine.json create mode 100644 templates/arcgis-mission-server/11.0/windows/mission-server.json delete mode 100644 templates/arcgis-notebook-server/10.7.1/README.md delete mode 100644 templates/arcgis-notebook-server/10.7.1/ubuntu/notebook-server-node.json delete mode 100644 templates/arcgis-notebook-server/10.7.1/ubuntu/notebook-server-primary.json create mode 100644 templates/arcgis-notebook-server/10.9.1/linux/notebook-server-patches-apply.json create mode 100644 templates/arcgis-notebook-server/10.9.1/linux/notebook-server-patches.json create mode 100644 templates/arcgis-notebook-server/11.0/README.md rename templates/arcgis-notebook-server/{10.7.1/ubuntu => 11.0/linux}/notebook-server-federation.json (69%) create mode 100644 templates/arcgis-notebook-server/11.0/linux/notebook-server-files.json create mode 100644 templates/arcgis-notebook-server/11.0/linux/notebook-server-fileserver.json create mode 100644 templates/arcgis-notebook-server/11.0/linux/notebook-server-install.json create mode 100644 templates/arcgis-notebook-server/11.0/linux/notebook-server-node.json create mode 100644 templates/arcgis-notebook-server/11.0/linux/notebook-server-patches-apply.json create mode 100644 templates/arcgis-notebook-server/11.0/linux/notebook-server-patches.json create mode 100644 templates/arcgis-notebook-server/11.0/linux/notebook-server-s3files.json create mode 100644 templates/arcgis-notebook-server/11.0/linux/notebook-server-unregister-node.json create mode 100644 templates/arcgis-notebook-server/11.0/linux/notebook-server.json create mode 100644 templates/arcgis-portal/10.9.1/linux/arcgis-portal-patches-apply.json create mode 100644 templates/arcgis-portal/10.9.1/linux/arcgis-portal-patches.json create mode 100644 templates/arcgis-portal/10.9.1/windows/arcgis-portal-patches-apply.json create mode 100644 templates/arcgis-portal/10.9.1/windows/arcgis-portal-patches.json create mode 100644 templates/arcgis-portal/11.0/README.md create mode 100644 templates/arcgis-portal/11.0/linux/arcgis-portal-files.json create mode 100644 templates/arcgis-portal/11.0/linux/arcgis-portal-fileserver.json create mode 100644 templates/arcgis-portal/11.0/linux/arcgis-portal-install.json create mode 100644 templates/arcgis-portal/11.0/linux/arcgis-portal-patches-apply.json create mode 100644 templates/arcgis-portal/11.0/linux/arcgis-portal-patches.json create mode 100644 templates/arcgis-portal/11.0/linux/arcgis-portal-primary.json create mode 100644 templates/arcgis-portal/11.0/linux/arcgis-portal-s3files.json create mode 100644 templates/arcgis-portal/11.0/linux/arcgis-portal-standby.json create mode 100644 templates/arcgis-portal/11.0/windows/arcgis-portal-files.json create mode 100644 templates/arcgis-portal/11.0/windows/arcgis-portal-fileserver.json create mode 100644 templates/arcgis-portal/11.0/windows/arcgis-portal-install.json create mode 100644 templates/arcgis-portal/11.0/windows/arcgis-portal-patches-apply.json create mode 100644 templates/arcgis-portal/11.0/windows/arcgis-portal-patches.json create mode 100644 templates/arcgis-portal/11.0/windows/arcgis-portal-primary.json create mode 100644 templates/arcgis-portal/11.0/windows/arcgis-portal-s3files.json create mode 100644 templates/arcgis-portal/11.0/windows/arcgis-portal-standby.json create mode 100644 templates/arcgis-pro/3.0/README.md create mode 100644 templates/arcgis-pro/3.0/windows/arcgis-pro-concurrent-use.json create mode 100644 templates/arcgis-pro/3.0/windows/arcgis-pro-install.json create mode 100644 templates/arcgis-pro/3.0/windows/arcgis-pro-named-user.json create mode 100644 templates/arcgis-pro/3.0/windows/arcgis-pro-s3files.json create mode 100644 templates/arcgis-pro/3.0/windows/arcgis-pro-single-use.json create mode 100644 templates/arcgis-pro/3.0/windows/ms-dotnet-install.json create mode 100644 templates/arcgis-pro/3.0/windows/ms-dotnet-s3files.json create mode 100644 templates/arcgis-server/10.9.1/linux/arcgis-server-patches-apply.json create mode 100644 templates/arcgis-server/10.9.1/linux/arcgis-server-patches.json create mode 100644 templates/arcgis-server/10.9.1/windows/arcgis-server-patches-apply.json create mode 100644 templates/arcgis-server/10.9.1/windows/arcgis-server-patches.json create mode 100644 templates/arcgis-server/11.0/README.md create mode 100644 templates/arcgis-server/11.0/linux/arcgis-server-files.json create mode 100644 templates/arcgis-server/11.0/linux/arcgis-server-fileserver.json create mode 100644 templates/arcgis-server/11.0/linux/arcgis-server-install.json create mode 100644 templates/arcgis-server/11.0/linux/arcgis-server-node.json create mode 100644 templates/arcgis-server/11.0/linux/arcgis-server-patches-apply.json create mode 100644 templates/arcgis-server/11.0/linux/arcgis-server-patches.json create mode 100644 templates/arcgis-server/11.0/linux/arcgis-server-raster-store.json create mode 100644 templates/arcgis-server/11.0/linux/arcgis-server-s3files.json create mode 100644 templates/arcgis-server/11.0/linux/arcgis-server.json create mode 100644 templates/arcgis-server/11.0/linux/geoanalytics-federation.json create mode 100644 templates/arcgis-server/11.0/linux/gis-server-federation.json create mode 100644 templates/arcgis-server/11.0/linux/imagehosting-federation.json create mode 100644 templates/arcgis-server/11.0/linux/knowledgeserver-federation.json create mode 100644 templates/arcgis-server/11.0/linux/rasteranalytics-federation.json create mode 100644 templates/arcgis-server/11.0/linux/unfederate-server.json create mode 100644 templates/arcgis-server/11.0/linux/unregister-machine.json create mode 100644 templates/arcgis-server/11.0/windows/arcgis-server-files.json create mode 100644 templates/arcgis-server/11.0/windows/arcgis-server-fileserver.json create mode 100644 templates/arcgis-server/11.0/windows/arcgis-server-install.json create mode 100644 templates/arcgis-server/11.0/windows/arcgis-server-node.json create mode 100644 templates/arcgis-server/11.0/windows/arcgis-server-patches-apply.json create mode 100644 templates/arcgis-server/11.0/windows/arcgis-server-patches.json create mode 100644 templates/arcgis-server/11.0/windows/arcgis-server-raster-store.json create mode 100644 templates/arcgis-server/11.0/windows/arcgis-server-s3files.json create mode 100644 templates/arcgis-server/11.0/windows/arcgis-server.json create mode 100644 templates/arcgis-server/11.0/windows/geoanalytics-federation.json create mode 100644 templates/arcgis-server/11.0/windows/gis-server-federation.json create mode 100644 templates/arcgis-server/11.0/windows/imagehosting-federation.json create mode 100644 templates/arcgis-server/11.0/windows/knowledgeserver-federation.json create mode 100644 templates/arcgis-server/11.0/windows/rasteranalytics-federation.json create mode 100644 templates/arcgis-server/11.0/windows/unfederate-server.json create mode 100644 templates/arcgis-server/11.0/windows/unregister-machine.json create mode 100644 templates/arcgis-webadaptor/10.9.1/linux/arcgis-webadaptor-patches-apply.json create mode 100644 templates/arcgis-webadaptor/10.9.1/linux/arcgis-webadaptor-patches.json create mode 100644 templates/arcgis-webadaptor/10.9.1/windows/arcgis-webadaptor-patches-apply.json create mode 100644 templates/arcgis-webadaptor/10.9.1/windows/arcgis-webadaptor-patches.json create mode 100644 templates/arcgis-webadaptor/11.0/README.md create mode 100644 templates/arcgis-webadaptor/11.0/linux/arcgis-mission-server-webadaptor-install.json create mode 100644 templates/arcgis-webadaptor/11.0/linux/arcgis-mission-server-webadaptor-unregister.json create mode 100644 templates/arcgis-webadaptor/11.0/linux/arcgis-mission-server-webadaptor.json create mode 100644 templates/arcgis-webadaptor/11.0/linux/arcgis-notebook-server-webadaptor-install.json create mode 100644 templates/arcgis-webadaptor/11.0/linux/arcgis-notebook-server-webadaptor-unregister.json create mode 100644 templates/arcgis-webadaptor/11.0/linux/arcgis-notebook-server-webadaptor.json create mode 100644 templates/arcgis-webadaptor/11.0/linux/arcgis-portal-webadaptor-install.json create mode 100644 templates/arcgis-webadaptor/11.0/linux/arcgis-portal-webadaptor.json create mode 100644 templates/arcgis-webadaptor/11.0/linux/arcgis-server-webadaptor-install.json create mode 100644 templates/arcgis-webadaptor/11.0/linux/arcgis-server-webadaptor-unregister.json create mode 100644 templates/arcgis-webadaptor/11.0/linux/arcgis-server-webadaptor.json create mode 100644 templates/arcgis-webadaptor/11.0/linux/arcgis-webadaptor-files.json create mode 100644 templates/arcgis-webadaptor/11.0/linux/arcgis-webadaptor-patches-apply.json create mode 100644 templates/arcgis-webadaptor/11.0/linux/arcgis-webadaptor-patches.json create mode 100644 templates/arcgis-webadaptor/11.0/linux/arcgis-webadaptor-s3files.json create mode 100644 templates/arcgis-webadaptor/11.0/windows/arcgis-mission-server-webadaptor-install.json create mode 100644 templates/arcgis-webadaptor/11.0/windows/arcgis-mission-server-webadaptor-unregister.json create mode 100644 templates/arcgis-webadaptor/11.0/windows/arcgis-mission-server-webadaptor.json create mode 100644 templates/arcgis-webadaptor/11.0/windows/arcgis-portal-webadaptor-install.json create mode 100644 templates/arcgis-webadaptor/11.0/windows/arcgis-portal-webadaptor.json create mode 100644 templates/arcgis-webadaptor/11.0/windows/arcgis-server-webadaptor-install.json create mode 100644 templates/arcgis-webadaptor/11.0/windows/arcgis-server-webadaptor-unregister.json create mode 100644 templates/arcgis-webadaptor/11.0/windows/arcgis-server-webadaptor.json create mode 100644 templates/arcgis-webadaptor/11.0/windows/arcgis-webadaptor-files.json create mode 100644 templates/arcgis-webadaptor/11.0/windows/arcgis-webadaptor-patches-apply.json create mode 100644 templates/arcgis-webadaptor/11.0/windows/arcgis-webadaptor-patches.json create mode 100644 templates/arcgis-webadaptor/11.0/windows/arcgis-webadaptor-s3files.json create mode 100644 templates/arcgis-workflow-manager/10.9.1/linux/workflow-manager-server-patches-apply.json create mode 100644 templates/arcgis-workflow-manager/10.9.1/linux/workflow-manager-server-patches.json create mode 100644 templates/arcgis-workflow-manager/10.9.1/windows/workflow-manager-server-patches-apply.json create mode 100644 templates/arcgis-workflow-manager/10.9.1/windows/workflow-manager-server-patches.json create mode 100644 templates/arcgis-workflow-manager/11.0/README.md create mode 100644 templates/arcgis-workflow-manager/11.0/linux/workflow-manager-files.json create mode 100644 templates/arcgis-workflow-manager/11.0/linux/workflow-manager-fileserver.json create mode 100644 templates/arcgis-workflow-manager/11.0/linux/workflow-manager-s3files.json create mode 100644 templates/arcgis-workflow-manager/11.0/linux/workflow-manager-server-federation.json create mode 100644 templates/arcgis-workflow-manager/11.0/linux/workflow-manager-server-install.json create mode 100644 templates/arcgis-workflow-manager/11.0/linux/workflow-manager-server-node.json create mode 100644 templates/arcgis-workflow-manager/11.0/linux/workflow-manager-server-patches-apply.json create mode 100644 templates/arcgis-workflow-manager/11.0/linux/workflow-manager-server-patches.json create mode 100644 templates/arcgis-workflow-manager/11.0/linux/workflow-manager-server.json create mode 100644 templates/arcgis-workflow-manager/11.0/windows/workflow-manager-files.json create mode 100644 templates/arcgis-workflow-manager/11.0/windows/workflow-manager-fileserver.json create mode 100644 templates/arcgis-workflow-manager/11.0/windows/workflow-manager-s3files.json create mode 100644 templates/arcgis-workflow-manager/11.0/windows/workflow-manager-server-federation.json create mode 100644 templates/arcgis-workflow-manager/11.0/windows/workflow-manager-server-install.json create mode 100644 templates/arcgis-workflow-manager/11.0/windows/workflow-manager-server-node.json create mode 100644 templates/arcgis-workflow-manager/11.0/windows/workflow-manager-server-patches-apply.json create mode 100644 templates/arcgis-workflow-manager/11.0/windows/workflow-manager-server-patches.json create mode 100644 templates/arcgis-workflow-manager/11.0/windows/workflow-manager-server.json diff --git a/README.md b/README.md index 0bb34a7..075222d 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ Included ArcGIS deployment templates: * [arcgis-notebook-server](templates/arcgis-notebook-server) - deploys [ArcGIS Notebook Server](https://enterprise.arcgis.com/en/notebook/) with an ArcGIS Enterprise deployment. * [arcgis-portal](templates/arcgis-portal) - deploys [Portal for ArcGIS](https://enterprise.arcgis.com/en/portal/). * [arcgis-pro](templates/arcgis-pro) - deploys [ArcGIS Pro](https://www.esri.com/en-us/arcgis/products/arcgis-pro/overview). -* [arcgis-server](templates/arcgis-server) - deploys ArcGIS Server in GIS Server, ArcGIS GeoAnalytics Server, Raster Analytics Server or Image Server roles and federates it with Portal for ArcGIS. +* [arcgis-server](templates/arcgis-server) - deploys ArcGIS Server in GIS Server, ArcGIS GeoAnalytics Server, Raster Analytics Server, Image Server, or Knowledge Server roles and federates it with Portal for ArcGIS. * [arcgis-webadaptor](templates/arcgis-webadaptor) - deploys [ArcGIS Web Adaptor](https://enterprise.arcgis.com/en/server/latest/install/windows/about-the-arcgis-web-adaptor.htm). * [arcgis-workflow-manager](templates/arcgis-workflow-manager) - deploys [ArcGIS Workflow Manager Server](https://enterprise.arcgis.com/en/workflow/). diff --git a/cookbooks/arcgis-desktop/CHANGELOG.md b/cookbooks/arcgis-desktop/CHANGELOG.md index 1d5ce49..e3dd1a1 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.0.0 +----- +- Added support for ArcGIS License Manager 2022.0 + 3.8.0 ----- - Added support for ArcGIS Desktop 10.8.2 and ArcGIS License Manager 2021.0/2021.1 diff --git a/cookbooks/arcgis-desktop/README.md b/cookbooks/arcgis-desktop/README.md index fa083e8..0c99b53 100644 --- a/cookbooks/arcgis-desktop/README.md +++ b/cookbooks/arcgis-desktop/README.md @@ -1,12 +1,17 @@ -arcgis-desktop cookbook -=============== +--- +layout: default +title: "arcgis-desktop cookbook" +category: cookbooks +item: arcgis-desktop +version: 4.0.0 +latest: true +--- -This cookbook installs and configures ArcGIS Desktop and ArcGIS License Manager. +# arcgis-desktop cookbook -Requirements ------------- +This cookbook installs and configures ArcGIS Desktop and ArcGIS License Manager. -### Supported ArcGIS software +## Supported ArcGIS software * ArcGIS Desktop (Windows only) * 10.4 @@ -31,8 +36,9 @@ Requirements * 2020.1 * 2021.0 * 2021.1 + * 2022.0 -### Platforms +## Platforms * Windows 10 * Windows Server 2012 (R2) @@ -44,15 +50,14 @@ Requirements ArcGIS Desktop is supported only on Windows platforms. -### Dependencies +## Dependencies The following cookbooks are required: * windows * arcgis-repository -Attributes ----------- +## Attributes * `node['arcgis']['version']` = ArcGIS Desktop version. Default value is `10.8.1`. * `node['arcgis']['desktop']['setup_archive']` = The location of ArcGIS Desktop setup archive. Default value depends on `node['arcgis']['version']` attribute value. @@ -63,61 +68,140 @@ Attributes * `node['arcgis']['desktop']['authorization_file']` = ArcGIS Desktop authorization file path. Default location and file name are `C:\\Temp\\license.prvc`. * `node['arcgis']['desktop']['authorization_file_version']` = ArcGIS Desktop authorization file version. Default value is `10.8`. * `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 `2021.1`. +* `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.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 2021.0\LicenseManager\Setup.exe` on Windows, and `/opt/arcgis/2021.1/LicenseManager_Linux/Setup` on Linux. +* `node['arcgis']['licensemanager']['setup']` = The location of ArcGIS License Manager setup executable. Default location is `%USERPROFILE%\Documents\ArcGIS License Manager 2022.0\LicenseManager\Setup.exe` on Windows, and `/opt/arcgis/2022.0/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`. * `node['arcgis']['licensemanager']['install_dir']` = ArcGIS License Manager installation directory. By default, the license manager is installed to `%ProgramFiles(x86)%\ArcGIS` on Windows and `/` on Linux. -Recipes -------- -### arcgis-desktop::default +## Recipes + +### default Installs and configures ArcGIS Desktop. -### arcgis-desktop::licensemanager +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "10.8.2", + "desktop": { + "setup": "C:\\ArcGIS\\10.8.2\\Desktop\\Setup.exe", + "install_dir": "C:\\Program Files (x86)\\ArcGIS", + "authorization_file": "C:\\ArcGIS\\10.8\\Authorization_Files\\DTBasic.prvc", + "authorization_file_version": "10.8", + "install_features": "ALL", + "software_class": "Viewer", + "seat_preference": "Fixed", + "desktop_config": true, + "modifyflexdacl": false + }, + "python": { + "install_dir": "C:\\Python27" + } + }, + "run_list":[ + "recipe[arcgis-desktop]" + ] +} +``` + +> Software authorization for ArcGIS Desktop is only supported by the cookbook when the "seat_preference" attribute value is "Fixed". + +> Chef cookbook [ms_dotnet](https://supermarket.chef.io/cookbooks/ms_dotnet/) could be used to install the .Net Framework version required by ArcGIS for Desktop. + +For example: + +```JSON +{ + "ms_dotnet" : { + "v4" : { + "version" : "4.5.1" + } + }, + "run_list":[ + "recipe[ms_dotnet::ms_dotnet4]" + ] +} +``` + +### licensemanager Installs and configures ArcGIS License Manager. -### arcgis-desktop::lp-install - -Installs language packs for ArcGIS Desktop and ArcGIS License Manager. - -### arcgis-desktop::uninstall - -Uninstalls ArcGIS Desktop and ArcGIS License Manager. - -Usage ------ -See [wiki](https://github.com/Esri/arcgis-cookbook/wiki) pages for more information about using ArcGIS cookbooks. - -## Issues - -Find a bug or want to request a new feature? Please let us know by submitting an [issue](https://github.com/Esri/arcgis-cookbook/issues). - -## Contributing - -Esri welcomes contributions from anyone and everyone. Please see our [guidelines for contributing](https://github.com/esri/contributing). - -Licensing ---------- - -Copyright 2021 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. - -A copy of the license is available in the repository's [License.txt](https://github.com/Esri/arcgis-cookbook/blob/master/License.txt?raw=true) file. - -[](Esri Tags: ArcGIS Desktop Chef Cookbook) -[](Esri Language: Ruby) +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "run_as_user": "arcgis", + "repository": { + "archives": "C:\\Software\\Esri", + "setups": "C:\\Software\\Setups" + }, + "licensemanager": { + "version": "2022.0", + "setup": "C:\\Software\\Setups\\License Manager 2022.0\\LicenseManager\\Setup.exe", + "install_dir": "C:\\Program Files (x86)\\ArcGIS" + } + }, + "run_list":[ + "recipe[arcgis-desktop::licensemanager]" + ] +} +``` + +:grey_exclamation: run_as_user attribute is ignored on Windows. + +### lp-install + +Installs and configures language packs for ArcGIS Desktop and ArcGIS License Manager. + +Attributes used by the recipe: +```JSON +{ + "arcgis": { + "version": "10.8.2", + "desktop": { + "lp-setup": "C:\\ArcGIS\\10.8.2\\Desktop\\Japanese\\Setup.exe" + }, + "licensemanager": { + "lp-setup": "C:\\ArcGIS\\10.8.2\\LicenseManager\\Japanese\\Setup.exe" + } + }, + "run_list":[ + "recipe[arcgis-desktop::lp-install]" + ] +} +``` + +:exclamation: Currently lp-install recipe is supported on Windows only. + +### uninstall + +Uninstalls ArcGIS Desktop and ArcGIS License Manager of the specified ArcGIS version. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "10.8.2", + "run_as_user": "arcgis", + "desktop": { + "install_dir": "C:\\Program Files (x86)\\ArcGIS" + }, + "licensemanager": { + "install_dir": "C:\\Program Files (x86)\\ArcGIS" + } + }, + "run_list":[ + "recipe[arcgis-desktop::uninstall]" + ] +} +``` + +> The arcgis.run_as_user attribute is ignored on Windows. diff --git a/cookbooks/arcgis-desktop/attributes/licensemanager.rb b/cookbooks/arcgis-desktop/attributes/licensemanager.rb index dc4e5e1..9d450ed 100644 --- a/cookbooks/arcgis-desktop/attributes/licensemanager.rb +++ b/cookbooks/arcgis-desktop/attributes/licensemanager.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-desktop # Attributes:: licensemanager # -# Copyright 2021 Esri +# Copyright 2022 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,7 +17,7 @@ # limitations under the License. default['arcgis']['licensemanager'].tap do |licensemanager| - licensemanager['version'] = '2021.1' + licensemanager['version'] = '2022.0' case node['platform'] when 'windows' @@ -28,6 +28,10 @@ licensemanager['install_dir'] = ENV['ProgramFiles(x86)'] + '\\ArcGIS' case node['arcgis']['licensemanager']['version'] + when '2022.0' + licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_License_Manager_Windows_2022_0_182116.exe').gsub('/', '\\') + licensemanager['product_code'] = '{A3AC9C93-E045-4CAE-AAE4-F62A8E669E02}' when '2021.1' licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_License_Manager_Windows_2021_1_180127.exe').gsub('/', '\\') @@ -90,6 +94,9 @@ licensemanager['install_subdir'] = 'arcgis/license' + node['arcgis']['licensemanager']['version'] case node['arcgis']['licensemanager']['version'] + when '2022.0' + licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_License_Manager_Linux_2022_0_182145.tar.gz') when '2021.1' licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_License_Manager_Linux_2021_1_180145.tar.gz') diff --git a/cookbooks/arcgis-desktop/metadata.rb b/cookbooks/arcgis-desktop/metadata.rb index 2002263..791621b 100644 --- a/cookbooks/arcgis-desktop/metadata.rb +++ b/cookbooks/arcgis-desktop/metadata.rb @@ -4,10 +4,10 @@ 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 '3.8.0' -chef_version '>= 13.0' if defined? chef_version +version '4.0.0' +chef_version '>= 14.0' if defined? chef_version -depends 'arcgis-repository', '~> 3.8' +depends 'arcgis-repository', '~> 4.0' depends 'windows', '~> 5.3' depends 'limits', '~> 1.0' diff --git a/cookbooks/arcgis-egdb/README.md b/cookbooks/arcgis-egdb/README.md index 98e80d3..3ea4566 100644 --- a/cookbooks/arcgis-egdb/README.md +++ b/cookbooks/arcgis-egdb/README.md @@ -1,6 +1,15 @@ -# arcgis-egdb - -arcgis-egdb cookbook creates enterprise geodatabases in SQL Server or PostgreSQL DBMS and registers them with ArcGIS Server. +--- +layout: default +title: "arcgis-egdb cookbook" +category: cookbooks +item: arcgis-egdb +version: 1.1.0 +latest: true +--- + +# arcgis-egdb cookbook + +The arcgis-egdb cookbook creates enterprise geodatabases in SQL Server or PostgreSQL databases and registers them with ArcGIS Server as the site's managed database. ## Platforms @@ -14,7 +23,6 @@ arcgis-egdb cookbook creates enterprise geodatabases in SQL Server or PostgreSQL * Ubuntu Server 18.04 and 20.04 LTS * Red Hat Enterprise Linux Server 8 * SUSE Linux Enterprise Server 15 -* CentOS Linux 8 * Oracle Linux 8 ## Database Servers @@ -22,8 +30,8 @@ arcgis-egdb cookbook creates enterprise geodatabases in SQL Server or PostgreSQL The cookbook was tested with: * Amazon RDS for SQL Server -* Amazon RDS for PostgerSQL -* Amazon Aurora PostgerSQL-compatible +* Amazon RDS for PostgreSQL +* Amazon Aurora PostgreSQL-compatible ## Dependencies @@ -31,23 +39,23 @@ The following cookbooks are required: * arcgis-enterprise -The cookbook uses ArcPy to create and enable geodatabases. ArcPy is installed by ArcGIS Server setup. +The cookbook uses ArcPy to create and enable geodatabases. ArcPy is installed by the ArcGIS Server setup. -ArcPy does not support creating databases in Amazon RDS database servers. The cookbook uses sqlcmd and pqsl utility for SQL Server and PostgreSQL database servers to create the databases. 'sqlcmd' and 'psql' recipes could be used to install these utilities. ArcGIS DataStore and Portal for ArcGIS include embedded PostgreSQl client with psql utility, that can be used by arcgis-egdb cookbook. +ArcPy does not support creating databases in Amazon RDS database servers. The cookbook uses the sqlcmd and the psql utility for SQL Server and PostgreSQL database servers respectively to create the databases. The 'sqlcmd' and 'psql' recipes could be used to install these utilities. ArcGIS Data Store and Portal for ArcGIS include an embedded PostgreSQL client with psql utility that can be used by the arcgis-egdb cookbook. ## Attributes -* `node['arcgis']['egdb']['engine']` = DB engine . Default DB engine is `nil`. +* `node['arcgis']['egdb']['engine']` = DB engine ``. Default DB engine is `nil`. * `node['arcgis']['egdb']['endpoint']` = DB instance endpoint domain name. Default endpoint is `nil`. -* `node['arcgis']['egdb']['keycodes']` = Geodatabase license file path. Default path is `node['arcgis']['server']['keycodes']`. +* `node['arcgis']['egdb']['keycodes']` = ArcGIS Server license file path. Default path is `node['arcgis']['server']['keycodes']`. * `node['arcgis']['egdb']['master_username']` = RDS DB instance master username. Default username is `EsriRDSAdmin`. * `node['arcgis']['egdb']['master_password']` = RDS DB instance master user password. Default password is `nil`. * `node['arcgis']['egdb']['db_username']` = Geodatabase username. Default username is `sde`. * `node['arcgis']['egdb']['db_password']` = Geodatabase user password. Default password is `node['arcgis']['egdb']['master_password']`. -* `node['arcgis']['egdb']['postgresbin']` = Path to PostgreSQL client bin directory. Default path s `C:\Program Files\ArcGIS\DataStore\framework\runtime\pgsql\bin` on Windows and `/arcgis/datastore/framework/runtime/pgsql/bin` on Linux. -* `node['arcgis']['egdb']['sqlcmdbin']` = Path to Miscrosoft SQL Server Client SDK ODBC Tools 17 Binn directory. Default path s `C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn` on Windows. -* `node['arcgis']['egdb']['connection_files_dir']` = Directory path for geodatabase connection files created by the recipes. Default directory is `node['arcgis']['misc']['scripts_dir']/connection_files`. -* `node['arcgis']['egdb']['data_items']` = Array with properties of geodatabases. Default value is +* `node['arcgis']['egdb']['postgresbin']` = Path to PostgreSQL client bin directory. Default path is `C:\Program Files\ArcGIS\DataStore\framework\runtime\pgsql\bin` on Windows and `/arcgis/datastore/framework/runtime/pgsql/bin` on Linux. +* `node['arcgis']['egdb']['sqlcmdbin']` = Path to Microsoft SQL Server Client SDK ODBC Tools 17 Binn directory. Default path is `C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn` on Windows. +* `node['arcgis']['egdb']['connection_files_dir']` = Directory path for geodatabase connection files (.sde) created by the recipes. Default directory is `node['arcgis']['misc']['scripts_dir']/connection_files`. +* `node['arcgis']['egdb']['data_items']` = Array with properties of geodatabases. Default value is as follows: ```JSON [{ @@ -61,58 +69,113 @@ ArcPy does not support creating databases in Amazon RDS database servers. The co ## Recipes -### arcgis-egdb::default - -Creates EGDBs and registers them with ArcGIS Server. +### default -### arcgis-egdb::sql_alias - -Creates EGDBHOST alias for SQL Server endpoint domain. +Creates an enterprise geodatabase and registers it with ArcGIS Server. -### arcgis-egdb::egdb_postgres +Attributes used by the recipe: -Creates EGDBs in PostgreSQL. - -### arcgis-egdb::egdb_sqlserver - -Creates EGDBs in SQL Server. +```JSON +{ + "arcgis": { + "version": "11.0", + "server": { + "install_dir": "C:\\Program Files\\ArcGIS\\Server", + "private_url": "https://domain.com:6443/arcgis", + "admin_username": "admin", + "admin_password": "changeit" + }, + "misc": { + "scripts_dir": "C:\\chef\\misc_scripts" + }, + "egdb": { + "engine": "postgres", + "endpoint": "xxx.cluster-yyy.us-east-2.rds.amazonaws.com", + "keycodes": "C:\\Program Files\\ESRI\\License11.0\\sysgen\\keycodes", + "postgresbin" : "C:\\Program Files\\ArcGIS\\DataStore\\framework\\runtime\\pgsql\\bin", + "master_username": "EsriRDSAdmin", + "master_password": "changeit", + "db_password": "changeit", + "connection_files_dir": "C:\\chef\\misc_scripts\\connection_files", + "data_items": [{ + "database": "egdb", + "data_item_path": "/enterpriseDatabases/registeredDatabase", + "connection_file": "C:\\chef\\msic_scripts\\connection_files\\RDS_egdb.sde", + "is_managed": true, + "connection_type": "shared" + }] + } + }, + "run_list": [ + "recipe[arcgis-egdb]" + ] +} +``` -### arcgis-egdb::register_egdb +### egdb_postgres -Registers EGDBs with ArcGIS Server. +Creates an enterprise geodatabase in PostgreSQL. -### arcgis-egdb::sqlcmd +Attributes used by the recipe: -Installs Microsoft SQL Server ODBC drivers and command line utilities used by SQL Server EGDB configuration scripts. +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "server": { + "install_dir": "C:\\Program Files\\ArcGIS\\Server" + }, + "misc": { + "scripts_dir": "C:\\chef\\misc_scripts" + }, + "egdb": { + "engine": "postgres", + "endpoint": "xxx.cluster-yyy.us-east-2.rds.amazonaws.com", + "keycodes": "C:\\Program Files\\ESRI\\License11.0\\sysgen\\keycodes", + "postgresbin" : "C:\\Program Files\\ArcGIS\\DataStore\\framework\\runtime\\pgsql\\bin", + "master_username": "EsriRDSAdmin", + "master_password": "changeit", + "db_password": "changeit", + "connection_files_dir": "C:\\chef\\misc_scripts\\connection_files", + "postgresbin": "C:\\Program Files\\ArcGIS\\DataStore\\framework\\runtime\\pgsql\\bin", + "data_items": [{ + "database": "egdb", + "data_item_path": "/enterpriseDatabases/registeredDatabase", + "connection_file": "C:\\chef\\msic_scripts\\connection_files\\RDS_egdb.sde", + "is_managed": true, + "connection_type": "shared" + }] + } + }, + "run_list": [ + "recipe[arcgis-egdb::egdb_postgres]" + ] +} +``` +### egdb_sqlserver -## Usage +Creates an enterprise geodatabase in SQL Server. +Attributes used by the recipe: -```json +```JSON { "arcgis": { - "version": "10.7", + "version": "11.0", "server": { - "private_url": "https://domain.com:6443/arcgis", - "admin_username": "admin", - "admin_password": "changeit" - }, - "python": { - "runtime_environment": "C:\\Python27\\ArcGISx6410.7" + "install_dir": "C:\\Program Files\\ArcGIS\\Server" }, "misc": { "scripts_dir": "C:\\chef\\misc_scripts" }, "egdb": { - "engine": "postgres", "endpoint": "xxx.cluster-yyy.us-east-2.rds.amazonaws.com", - "keycodes": "C:\\Program Files\\ESRI\\License10.7\\sysgen\\keycodes", + "keycodes": "C:\\Program Files\\ESRI\\License11.0\\sysgen\\keycodes", "master_username": "EsriRDSAdmin", "master_password": "changeit", - "db_username": "sde", "db_password": "changeit", - "connection_files_dir": "C:\\chef\\misc_scripts\\connection_files", "data_items": [{ "database": "egdb", "data_item_path": "/enterpriseDatabases/registeredDatabase", @@ -123,37 +186,72 @@ Installs Microsoft SQL Server ODBC drivers and command line utilities used by SQ } }, "run_list": [ - "recipe[arcgis-egdb]" + "recipe[arcgis-egdb::egdb_sqlserver]" ] } ``` -See [wiki](https://github.com/Esri/arcgis-cookbook/wiki) pages for more information about using ArcGIS cookbooks. +### register_egdb + +Registers the database connection file with the specified ArcGIS Server site as the site's managed database. + +Attributes used by the recipe: -## Issues +```JSON +{ + "arcgis": { + "server": { + "private_url": "https://domain.com:6443/arcgis", + "admin_username": "admin", + "admin_password": "changeit" + }, + "egdb": { + "data_items": [{ + "database": "egdb", + "data_item_path": "/enterpriseDatabases/registeredDatabase", + "connection_file": "C:\\chef\\msic_scripts\\connection_files\\RDS_egdb.sde", + "is_managed": true, + "connection_type": "shared" + }] + } + }, + "run_list": [ + "recipe[arcgis-egdb::register_egdb]" + ] +} +``` -Find a bug or want to request a new feature? Please let us know by submitting an [issue](https://github.com/Esri/arcgis-cookbook/issues). +### sql_alias -## Contributing +Creates EGDBHOST alias for SQL Server endpoint domain. -Esri welcomes contributions from anyone and everyone. Please see our [guidelines for contributing](https://github.com/esri/contributing). +Attributes used by the recipe: -## Licensing +```JSON +{ + "arcgis": { + "egdb": { + "engine": "sqlserver-se", + "endpoint": "xxx.us-east-2.rds.amazonaws.com" + } + }, + "run_list": [ + "recipe[arcgis-egdb::sql_alias]" + ] +} +``` -Copyright 2021 Esri +### sqlcmd -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 +Installs the SQL Server ODBC driver and sqlcmd utility used by SQL Server enterprise geodatabase configuration scripts. -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. +Attributes used by the recipe: -A copy of the license is available in the repository's [License.txt](https://github.com/Esri/arcgis-cookbook/blob/master/License.txt?raw=true) file. +```JSON +{ + "run_list": [ + "recipe[arcgis-egdb::sqlcmd]" + ] +} +``` -[](Esri Tags: ArcGIS GeoDatabase Server Chef Cookbook) -[](Esri Language: Ruby) diff --git a/cookbooks/arcgis-egdb/metadata.rb b/cookbooks/arcgis-egdb/metadata.rb index d1c289e..8ef3155 100644 --- a/cookbooks/arcgis-egdb/metadata.rb +++ b/cookbooks/arcgis-egdb/metadata.rb @@ -4,10 +4,10 @@ license 'Apache 2.0' description 'Creates enterprise geodatabases in SQL Server or PostgreSQL DBMS and registers them with ArcGIS Server.' long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version '1.0.2' -chef_version '>= 13.0' if defined? chef_version +version '1.1.0' +chef_version '>= 14.0' if defined? chef_version -depends 'arcgis-enterprise', '~> 3.7' +depends 'arcgis-enterprise', '~> 4.0' supports 'windows' supports 'ubuntu' diff --git a/cookbooks/arcgis-egdb/templates/default/RDS_create_connection_files.py.erb b/cookbooks/arcgis-egdb/templates/default/RDS_create_connection_files.py.erb index 8594bca..472e29d 100644 --- a/cookbooks/arcgis-egdb/templates/default/RDS_create_connection_files.py.erb +++ b/cookbooks/arcgis-egdb/templates/default/RDS_create_connection_files.py.erb @@ -26,7 +26,7 @@ try: #Check if no system arguments (options) entered if len(sys.argv) == 1: - print "%s: error: %s\n" % (sys.argv[0], "No command options given") + print("%s: error: %s\n" % (sys.argv[0], "No command options given")) parser.print_help() sys.exit(3) @@ -41,7 +41,7 @@ try: product_license=arcpy.ProductInfo() #if (license == ""): - # print " \n%s: error: %s\n" % (sys.argv[0], "Authorization file (-l) must be specified.") + # print(" \n%s: error: %s\n" % (sys.argv[0], "Authorization file (-l) must be specified.")) # parser.print_help() # sys.exit(3) @@ -59,7 +59,7 @@ try: if os.path.exists(Connection_File_Name_full_path): os.remove(Connection_File_Name_full_path) - print "\nCreating <%= item['database'] %> Database Connection File...\n" + print("\nCreating <%= item['database'] %> Database Connection File...\n") # Process: Create Database Connection File... # Usage: out_file_location, out_file_name, DBMS_TYPE, instnace, database, account_authentication, username, password, save_username_password(must be true) arcpy.CreateDatabaseConnection_management(out_folder_path=Conn_File_Path, out_name=Connection_File_Name, database_platform=database_type, instance=instance, account_authentication=account_authentication, username=username, password=password, save_user_pass="TRUE", database=database) @@ -80,6 +80,6 @@ try: except SystemExit as e: if e.code == 2: parser.usage = "" - print "\n" + print("\n") parser.print_help() parser.exit(2) diff --git a/cookbooks/arcgis-egdb/templates/default/RDS_enable_enterprise_egdb_geodata.py.erb b/cookbooks/arcgis-egdb/templates/default/RDS_enable_enterprise_egdb_geodata.py.erb index e0f0b42..ff9e7c6 100644 --- a/cookbooks/arcgis-egdb/templates/default/RDS_enable_enterprise_egdb_geodata.py.erb +++ b/cookbooks/arcgis-egdb/templates/default/RDS_enable_enterprise_egdb_geodata.py.erb @@ -28,7 +28,7 @@ try: #Check if no system arguments (options) entered if len(sys.argv) == 1: - print "%s: error: %s\n" % (sys.argv[0], "No command options given") + print("%s: error: %s\n" % (sys.argv[0], "No command options given")) parser.print_help() sys.exit(3) @@ -42,7 +42,7 @@ try: license = options.Authorization_file if (license == ""): - print " \n%s: error: \n%s\n" % (sys.argv[0], "Authorization file (-l) must be specified.") + print(" \n%s: error: \n%s\n" % (sys.argv[0], "Authorization file (-l) must be specified.")) parser.print_help() sys.exit(3) @@ -50,7 +50,7 @@ try: product_license=arcpy.ProductInfo() if (license == ""): - print " \n%s: error: %s\n" % (sys.argv[0], "Authorization file (-l) must be specified.") + print(" \n%s: error: %s\n" % (sys.argv[0], "Authorization file (-l) must be specified.")) parser.print_help() sys.exit(3) @@ -81,7 +81,7 @@ try: if os.path.exists(Connection_File_Name_full_path): os.remove(Connection_File_Name_full_path) - print "\nCreating egdb Database Connection File...\n" + print("\nCreating egdb Database Connection File...\n") # Process: Create egdb Database Connection File... # Usage: out_file_location, out_file_name, DBMS_TYPE, instnace, database, account_authentication, username, password, save_username_password(must be true) arcpy.CreateDatabaseConnection_management(out_folder_path=temp, out_name=Connection_File_Name, database_platform=database_type, instance=instance, database=database, account_authentication=account_authentication, username=username, password=password, save_user_pass="TRUE") @@ -98,9 +98,9 @@ try: # Process: Enable geodatabase egdb... try: - print "Enabling Enterprise Geodatabase egdb...\n" - print Connection_File_Name_full_path - print license + print("Enabling Enterprise Geodatabase egdb...\n") + print(Connection_File_Name_full_path) + print(license) arcpy.EnableEnterpriseGeodatabase_management(Connection_File_Name_full_path, license) for i in range(arcpy.GetMessageCount()): arcpy.AddReturnMessage(i) @@ -118,6 +118,6 @@ try: except SystemExit as e: if e.code == 2: parser.usage = "" - print "\n" + print("\n") parser.print_help() parser.exit(2) diff --git a/cookbooks/arcgis-egdb/templates/default/enable_enterprise_gdb.py.erb b/cookbooks/arcgis-egdb/templates/default/enable_enterprise_gdb.py.erb index f1d7bd4..8b2877d 100644 --- a/cookbooks/arcgis-egdb/templates/default/enable_enterprise_gdb.py.erb +++ b/cookbooks/arcgis-egdb/templates/default/enable_enterprise_gdb.py.erb @@ -31,7 +31,7 @@ try: #Check if no system arguments (options) entered if len(sys.argv) == 1: - print "%s: error: %s\n" % (sys.argv[0], "No command options given") + print("%s: error: %s\n" % (sys.argv[0], "No command options given")) parser.print_help() sys.exit(3) @@ -47,12 +47,12 @@ try: Connection_File_Name_full_path = options.Connection_file if( database_type ==""): - print " \n%s: error: \n%s\n" % (sys.argv[0], "DBMS type (--DBMS) must be specified.") + print(" \n%s: error: \n%s\n" % (sys.argv[0], "DBMS type (--DBMS) must be specified.")) parser.print_help() sys.exit(3) if (license == ""): - print " \n%s: error: \n%s\n" % (sys.argv[0], "Authorization file (-l) must be specified.") + print(" \n%s: error: \n%s\n" % (sys.argv[0], "Authorization file (-l) must be specified.")) parser.print_help() sys.exit(3) @@ -63,16 +63,16 @@ try: product_license=arcpy.ProductInfo() if (license == ""): - print " \n%s: error: %s\n" % (sys.argv[0], "Authorization file (-l) must be specified.") + print(" \n%s: error: %s\n" % (sys.argv[0], "Authorization file (-l) must be specified.")) parser.print_help() sys.exit(3) # Checks required license level if product_license.upper() == "ARCVIEW" or product_license.upper() == 'ENGINE': - print "\n" + product_license + " license found!" + " Enabling an enterprise geodatabase requires an ArcGIS for Desktop Standard or Advanced, ArcGIS Engine with the Geodatabase Update extension, or ArcGIS Server license." + print("\n" + product_license + " license found!" + " Enabling an enterprise geodatabase requires an ArcGIS for Desktop Standard or Advanced, ArcGIS Engine with the Geodatabase Update extension, or ArcGIS Server license.") sys.exit("Re-authorize ArcGIS before enabling enterprise geodatabase.") else: - print "\n" + product_license + " license available! Continuing to enable..." + print("\n" + product_license + " license available! Continuing to enable...") arcpy.AddMessage("+++++++++") Conn_File_Path, Connection_File_Name = os.path.split(Connection_File_Name_full_path) @@ -82,7 +82,7 @@ try: if os.path.exists(Connection_File_Name_full_path): os.remove(Connection_File_Name_full_path) - print "\nCreating Database Connection File...\n" + print("\nCreating Database Connection File...\n") # Process: Create Database Connection File... # Usage: out_file_location, out_file_name, DBMS_TYPE, instnace, database, account_authentication, username, password, save_username_password(must be true) arcpy.CreateDatabaseConnection_management(out_folder_path=Conn_File_Path, out_name=Connection_File_Name, database_platform=database_type, instance=instance, database=database, account_authentication=account_authentication, username=username, password=password, save_user_pass="TRUE") @@ -100,7 +100,7 @@ try: # Process: Enable geodatabase... try: - print "Enabling Enterprise Geodatabase...\n" + print("Enabling Enterprise Geodatabase...\n") arcpy.EnableEnterpriseGeodatabase_management(input_database=Connection_File_Name_full_path, authorization_file=license) for i in range(arcpy.GetMessageCount()): arcpy.AddReturnMessage(i) @@ -116,6 +116,6 @@ try: except SystemExit as e: if e.code == 2: parser.usage = "" - print "\n" + print("\n") parser.print_help() parser.exit(2) diff --git a/cookbooks/arcgis-enterprise/CHANGELOG.md b/cookbooks/arcgis-enterprise/CHANGELOG.md index 453bb9d..71e487b 100644 --- a/cookbooks/arcgis-enterprise/CHANGELOG.md +++ b/cookbooks/arcgis-enterprise/CHANGELOG.md @@ -3,6 +3,10 @@ arcgis-enterprise cookbook CHANGELOG This file is used to list changes made in each version of the arcgis-enterprise cookbook. +4.0.0 +----- +- Added support for ArcGIS Enterprise 11.0 + 3.8.0 ----- - Added support for ArcGIS Enterprise 10.9.1. diff --git a/cookbooks/arcgis-enterprise/README.md b/cookbooks/arcgis-enterprise/README.md index 8b3ffd0..4ba403f 100644 --- a/cookbooks/arcgis-enterprise/README.md +++ b/cookbooks/arcgis-enterprise/README.md @@ -1,21 +1,25 @@ -arcgis-enterprise cookbook -=============== +--- +layout: default +title: "arcgis-enterprise cookbook" +category: cookbooks +item: arcgis-enterprise +version: 4.0.0 +latest: true +--- -This cookbook installs and configures ArcGIS Enterprise products, components, and tools. +# arcgis-enterprise cookbook -Requirements ------------- +This cookbook installs and configures ArcGIS Enterprise components. -### Supported ArcGIS versions +## Supported ArcGIS versions -* 10.7 -* 10.7.1 * 10.8 * 10.8.1 * 10.9 * 10.9.1 +* 11.0 -### Supported ArcGIS software +## Supported ArcGIS software * ArcGIS Server * ArcGIS Data Store @@ -23,7 +27,7 @@ Requirements * Portal for ArcGIS Web Styles * ArcGIS Web Adaptor (IIS/Java) -### Platforms +## 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) @@ -35,10 +39,9 @@ Requirements * Ubuntu Server 18.04 and 20.04 LTS * Red Hat Enterprise Linux Server 8 * SUSE Linux Enterprise Server 15 -* CentOS Linux 8 * Oracle Linux 8 -### Dependencies +## Dependencies The following cookbooks are required: @@ -51,30 +54,29 @@ The following cookbooks are required: * windows_firewall * ms_dotnet -Attributes ----------- +## Attributes -#### General +### General -* `node['arcgis']['version']` = ArcGIS version. Default value is `10.9.1`. +* `node['arcgis']['version']` = ArcGIS version. Default value is `11.0`. * `node['arcgis']['run_as_user']` = Account used to run ArcGIS Server, Portal for ArcGIS, and ArcGIS Data Store. Default account name is `arcgis`. * `node['arcgis']['run_as_password']` = Password for the account used to run ArcGIS Server, Portal for ArcGIS, and ArcGIS Data Store. Default value is`Pa$$w0rdPa$$w0rd`. -* `node['arcgis']['run_as_msa']` = If set to `true` configures ArcGIS Enterprise applications to use windows group managed service account (gMSA). Default setting is `false`. -* `node['arcgis']['hosts']` = Hostname to IP address mappings to be added to /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']['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']['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`. -* `node['arcgis']['python']['install_dir']` = Python installation directory. By default Python is installed at `C:\Python27`. -* `node['arcgis']['post_install_script']` = Custom post-installation script path. The default path on Windows is `C:\imageryscripts\deploy.bat`, on Linux is `/arcgis/imageryscripts/deploy.sh`. -* `node['arcgis']['configure_cloud_settings']` = If set to `true`, makes the cookbook use cloud provider specific ArcGIS Enterprise configuration. The default value is `true` if `node['cloud']` is defined or arcgis_cloud_platform environment varible is set to `aws`. -* `node['arcgis']['cloud']['provider']` = Cloud provider. Default value is set `ec2` if arcgis_cloud_platform environment variable is set to `aws` and to `node['cloud']['provider']` attribute value otherwise. +* `node['arcgis']['python']['install_dir']` = Python installation directory. By default, Python is installed at `C:\Python27`. +* `node['arcgis']['post_install_script']` = Custom post-installation script path. The default path on Windows is `C:\imageryscripts\deploy.bat`; on Linux, it is `/arcgis/imageryscripts/deploy.sh`. +* `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. -#### File Server +### File Server * `node['arcgis']['fileserver']['directories']` = List of local directories created by 'fileserver' recipe. Default list is `[node['arcgis']['server']['local_directories_root'], node['arcgis']['data_store']['local_backup_dir'], node['arcgis']['data_store']['local_backup_dir']/tilecache, node['arcgis']['data_store']['local_backup_dir']/relational, node['arcgis']['portal']['local_content_dir']]`. * `node['arcgis']['fileserver']['shares']` = List of local directories shared by 'fileserver' recipe. Default list is `[node['arcgis']['server']['local_directories_root'], node['arcgis']['data_store']['local_backup_dir'], node['arcgis']['portal']['local_content_dir']]`. -#### Server +### Server * `node['arcgis']['server']['wa_name']` = The name of the Web Adaptor used for ArcGIS Server. Default name is `server`. * `node['arcgis']['server']['wa_url']` = URL of the Web Adaptor used for ArcGIS Server. Default name is `https:///`. @@ -83,8 +85,8 @@ Portal for ArcGIS, and ArcGIS Data Store. Default value is`Pa$$w0rdPa$$w0rd`. * `node['arcgis']['server']['url']` = ArcGIS Server URL. The default URL is `https://:6443/arcgis` using the fully qualified domain name of the machine on which Chef is running. If ArcGIS Server and the web adaptor are running on different machines, then this value should be explicitly set. * `node['arcgis']['server']['private_url']` = ArcGIS Server URL without Web Adaptor. Default URL is `https://:6443/arcgis`. * `node['arcgis']['server']['primary_server_url']` = URL of ArcGIS Server site to join. Default is `nil`. -* `node['arcgis']['server']['web_context_url']` = ArcGIS server web context URL. By default, this is `'https:///`. -* `node['arcgis']['server']['use_join_site_tool']` = Is set to true, join-site command line tool is used to add machine to the site and the default cluster. Default value is `false`. +* `node['arcgis']['server']['web_context_url']` = ArcGIS Server web context URL that will be used for the federated server services URL. By default, this is `'https:///`. +* `node['arcgis']['server']['use_join_site_tool']` = If set to true, the join-site command line tool is used to add machine to the site and the default cluster. Default value is `false`. * `node['arcgis']['server']['admin_username']` = Primary ArcGIS Server administrator user name. Default user name is `admin`. * `node['arcgis']['server']['admin_password']` = Primary ArcGIS Server administrator password. Default value is `changeit`. * `node['arcgis']['server']['publisher_username']` = ArcGIS Server publisher user name. Default user name is `node['arcgis']['server']['admin_username']`. @@ -92,18 +94,16 @@ Portal for ArcGIS, and ArcGIS Data Store. Default value is`Pa$$w0rdPa$$w0rd`. * `node['arcgis']['server']['directories_root']` = ArcGIS Server root directory. Default Windows directory is `C:\arcgisserver`; default Linux directory is `/arcgis/server/usr`. * `node['arcgis']['server']['setup']` = The location of the ArcGIS Server setup executable. Default location on Windows is `C:\Temp\ArcGISServer\Setup.exe`; default location on Linux is `/tmp/server-cd/Setup`. * `node['arcgis']['server']['setup_options']` = Additional ArcGIS Server setup command line options. Default options are `''`. -* `node['arcgis']['server']['lp-setup']` = The location of language pack for ArcGIS Server. Default location is `nil`. +* `node['arcgis']['server']['lp-setup']` = The location of the language pack for ArcGIS Server. Default location is `nil`. * `node['arcgis']['server']['setup_archive']` = Path to ArcGIS Server setup archive. Default value depends on `node['arcgis']['version']` attribute value. * `node['arcgis']['server']['install_dir']` = ArcGIS Server installation directory. By default, ArcGIS Server is installed to `%ProgramW6432%\ArcGIS\Server` on Windows machines and `/` on Linux machines. * `node['arcgis']['server']['is_hosting']` = Must be set to true for hosting server. Default value is `true`. -* `node['arcgis']['server']['install_system_requirements']` = If set to true, the required third party libraries are installed on the machine before running ArcGIS Server setup. Default value is `true`. -* `node['arcgis']['server']['configure_autostart']` = If set to true, on Linux the ArcGIS Server is configured to start with the operating system. Default value is `true`. +* `node['arcgis']['server']['install_system_requirements']` = If set to true, the required third-party libraries are installed on the machine before running the ArcGIS Server setup. Default value is `true`. +* `node['arcgis']['server']['configure_autostart']` = If set to true, on Linux ArcGIS Server is configured to start with the operating system. Default value is `true`. * `node['arcgis']['server']['authorization_file']` = ArcGIS Server authorization file path. Default location and authorization file is `C:\Temp\server_license.prvc` on Windows and `/tmp/server_license.prvc` on Linux. * `node['arcgis']['server']['authorization_file_version']` = ArcGIS Server authorization file version. Default version is `node['arcgis']['version']`. * `node['arcgis']['server']['authorization_options']` = Additional ArcGIS Server software authorization command line options. Default options are `''`. * `node['arcgis']['server']['data_items']` = Array of data items that need to be registered with ArcGIS Server. Default value is `[]`. -* `node['arcgis']['server']['managed_database']` = (deprecated) ArcGIS Server's managed database connection string. By default, this value is `nil`. -* `node['arcgis']['server']['replicated_database']` = (deprecated) ArcGIS Server's replicated geodatabase connection string. By default, this value is `nil`. * `node['arcgis']['server']['keystore_file']` = Path to PKSC12 keystore file (.pfx) with SSL certificate for ArcGIS Server. Default value is `nil`. * `node['arcgis']['server']['keystore_password']` = Keystore file password for ArcGIS Server. Default value is `nil`. * `node['arcgis']['server']['cert_alias']` = SSL certificate alias for ArcGIS Server. Default alias is composed of these values: `node['arcgis']['server']['domain_name']`. @@ -113,9 +113,9 @@ Portal for ArcGIS, and ArcGIS Data Store. Default value is`Pa$$w0rdPa$$w0rd`. * `node['arcgis']['server']['log_level']` = ArcGIS Server log level. Default value is `WARNING`. * `node['arcgis']['server']['log_dir']` = ArcGIS Server log directory. Default value is `C:\arcgisserver\logs` on Windows and `/arcgis/server/usr/logs` on Linux. * `node['arcgis']['server']['max_log_file_age']` = ArcGIS Server maximum log file age. Default value is `90`. -* `node['arcgis']['server']['config_store_type']` = ArcGIS Server config store type. Default value is `FILESYSTEM`. -* `node['arcgis']['server']['config_store_connection_string']` = ArcGIS Server config store type. Default value is `C:\arcgisserver\config-store` on Windows and `/arcgis/server/usr/config-store` on Linux. -* `node['arcgis']['server']['config_store_connection_secret']` = ArcGIS Server config store type secret. Default value is `nil`. +* `node['arcgis']['server']['config_store_type']` = ArcGIS Server configuration store type. Default value is `FILESYSTEM`. +* `node['arcgis']['server']['config_store_connection_string']` = ArcGIS Server connection string. Default value is `C:\arcgisserver\config-store` on Windows and `/arcgis/server/usr/config-store` on Linux. +* `node['arcgis']['server']['config_store_connection_secret']` = ArcGIS Server configuration store type secret. Default value is `nil`. * `node['arcgis']['server']['services']` = An array of ArcGIS Server services to be published. Default value is `{}`. * `node['arcgis']['server']['security']['user_store_config']` = User store configuration. Default value is `{'type' => 'BUILTIN', 'properties' => {}}` * `node['arcgis']['server']['security']['role_store_config']` = Role store configuration. Default value is `{'type' => 'BUILTIN', 'properties' => {}}` @@ -128,25 +128,27 @@ Portal for ArcGIS, and ArcGIS Data Store. Default value is`Pa$$w0rdPa$$w0rd`. * `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']['ports]` = Ports opened in Windows firewall for ArcGIS Server. Default ports are `1098,4000-4004,6006,6080,6099,6443`. -* `node['arcgis']['server']['geoanalytics_ports]` = Ports opened in Windows firewall for ArcGIS GeoAnalytics Server. Default ports are `2181,2182,2190,7077,12181,12182,12190,56540-56545`. -* `node['arcgis']['server']['pull_license]` = If set to `true`, server_node recipe pulls ArcGIS Server license from other server machines in the site. The default value is `false`. +* `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 `[]`. -#### Web Adaptor +### Web Adaptor -* `node['arcgis']['web_adaptor']['admin_access']` = Indicates if ArcGIS Server Manager and Admin API will be available through the Web Adaptor . Default value is `false`. +* `node['arcgis']['web_adaptor']['admin_access']` = Indicates if ArcGIS Server Manager and Admin API will be available through the Web Adaptor ``. Default value is `false`. * `node['arcgis']['web_adaptor']['setup']` = Location of ArcGIS Web Adaptor setup executable. Default location is `C:\Temp\WebAdaptorIIS\Setup.exe` on Windows and `/tmp/web-adaptor-cd/Setup` on Linux. * `node['arcgis']['web_adaptor']['setup_options']` = Additional Web Adaptor setup command line options. Default options are `''`. -* `node['arcgis']['web_adaptor']['lp-setup']` = The location of language pack for ArcGIS Web Adaptor. Default location is `nil`. +* `node['arcgis']['web_adaptor']['lp-setup']` = The location of the language pack for ArcGIS Web Adaptor. Default location is `nil`. * `node['arcgis']['web_adaptor']['setup_archive']` = Path to ArcGIS Web Adaptor setup archive. Default value depends on `node['arcgis']['version']` attribute value. * `node['arcgis']['web_adaptor']['install_dir']` = ArcGIS Web Adaptor installation directory (Linux only). By default, ArcGIS Web Adaptor is installed to `/` on Linux. * `node['arcgis']['web_adaptor']['reindex_portal_content']` = If set to `true`, Web Adaptor registration reindexes Portal for ArcGIS content. Default value is `true`. +* `node['arcgis']['web_adaptor']['patches]` = File names of ArcGIS Web Adaptor patches to install. Default value is `[]`. -#### Portal +### Portal * `node['arcgis']['portal']['domain_name']` = Portal for ArcGIS domain name. By default, `` is used. -* `node['arcgis']['portal']['wa_name']` = The Web Adaptor name for Portal for ArcGIS., Default name is `portal`. -* `node['arcgis']['portal']['wa_url']` = URL of the Web Adaptor for Portal for ArcGIS., Default name is `https:///`. +* `node['arcgis']['portal']['wa_name']` = The Web Adaptor name for Portal for ArcGIS. Default name is `portal`. +* `node['arcgis']['portal']['wa_url']` = URL of the Web Adaptor for Portal for ArcGIS. Default name is `https:///`. * `node['arcgis']['portal']['url']` = Portal for ArcGIS URL. The default URL is `https://:7443/arcgis` using the fully qualified domain name of the machine on which Chef is running. If Portal for ArcGIS and the web adaptor are running on different machines, then this value should be explicitly set. * `node['arcgis']['portal']['private_url']` = Portal for ArcGIS private URL. Default URL is `https://:7443/arcgis`. * `node['arcgis']['portal']['primary_machine_url']` = URL of primary Portal for ArcGIS machine. By default, this is `nil`. @@ -156,308 +158,1478 @@ Portal for ArcGIS, and ArcGIS Data Store. Default value is`Pa$$w0rdPa$$w0rd`. * `node['arcgis']['portal']['admin_full_name']` = Initial portal administrator full name. Default full name is `Administrator`. * `node['arcgis']['portal']['admin_description']` = Initial portal administrator description. Default description is `Initial portal account administrator`. * `node['arcgis']['portal']['security_question']` = Security question. Default question is `Your favorite ice cream flavor?` -* `node['arcgis']['portal']['security_question_answer']` = Security question answer. Default answer is `bacon`. +* `node['arcgis']['portal']['security_question_answer']` = Security question answer. Default answer is `avocado`. * `node['arcgis']['portal']['setup']` = Portal for ArcGIS setup path. Default location is `C:\Temp\ArcGISPortal\Setup.exe` on Windows and `/tmp/portal-cd/Setup` on Linux. * `node['arcgis']['portal']['setup_options']` = Additional Portal for ArcGIS setup command line options. Default options are `''`. -* `node['arcgis']['portal']['lp-setup']` = The location of language pack for Portal for ArcGIS. Default location is `nil`. +* `node['arcgis']['portal']['lp-setup']` = The location of the language pack for Portal for ArcGIS. Default location is `nil`. * `node['arcgis']['portal']['setup_archive']` = Path to Portal for ArcGIS setup archive. Default value depends on `node['arcgis']['version']` attribute value. * `node['arcgis']['portal']['install_dir']` = Portal for ArcGIS installation directory. By default, Portal for ArcGIS is installed to `%ProgramW6432%\ArcGIS\Portal` on Windows machines and `/` on Linux machines. -* `node['arcgis']['portal']['install_system_requirements']` = If set to true, the required third party libraries are installed on the machine before running Portal for ArcGIS setup. Default value is `true`. -* `node['arcgis']['portal']['configure_autostart']` = If set to true, on Linux the Portal for ArcGIS is configured to start with the operating system. Default value is `true`. -* `node['arcgis']['portal']['data_dir']` = Data directory path used by Portal for ArcGIS setup. The path must be a local directory, not a shared network directory. Dafault path on Windows is `C:\arcgisportal`, on Linux is `/arcgis/portal/usr/arcgisportal/`. +* `node['arcgis']['portal']['install_system_requirements']` = If set to true, the required third-party libraries are installed on the machine before running the Portal for ArcGIS setup. Default value is `true`. +* `node['arcgis']['portal']['configure_autostart']` = If set to true, on Linux Portal for ArcGIS is configured to start with the operating system. Default value is `true`. +* `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 `C:\Temp\portal_license.prvc` on Windows and `/tmp/portal_license.prvc` on Linux. -* `node['arcgis']['portal']['authorization_file_version']` = Portal for ArcGIS authorization file version. Default value is `10.4`. +* `node['arcgis']['portal']['authorization_file_version']` = Portal for ArcGIS authorization file version. Default value is `11.0`. * `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`. * `node['arcgis']['portal']['cert_alias']` = SSL certificate alias for Portal for ArcGIS. Default alias is composed of these values:`node['arcgis']['portal']['domain_name']`. -* `node['arcgis']['portal']['hostname']` = Host name or IP address of Portal for ArcGIS machine specified in hostname.properties file. Default value is `''`. -* `node['arcgis']['portal']['hostidentifier']` = Host name or IP address of Portal for ArcGIS machine specified in hostidentifier.properties file. Default value is `node['arcgis']['portal']['hostname']`. -* `node['arcgis']['portal']['preferredidentifier']` = Portal for ArcGIS preferred identifier method . Default method used is `hostname`. -* `node['arcgis']['portal']['content_store_type']` = Portal for ArcGIS content store type . Default value is `FileStore`. -* `node['arcgis']['portal']['content_store_provider']` = Portal for ArcGIS content store provider . Default value is `FileSystem`. +* `node['arcgis']['portal']['hostname']` = Host name or IP address of Portal for ArcGIS machine specified in the hostname.properties file. Default value is `''`. +* `node['arcgis']['portal']['hostidentifier']` = Host name or IP address of Portal for ArcGIS machine specified in hostidentifier.properties file. Default value is `node['arcgis']['portal']['hostname']`. +* `node['arcgis']['portal']['preferredidentifier']` = Portal for ArcGIS preferred identifier method ``. Default method used is `hostname`. +* `node['arcgis']['portal']['content_store_type']` = Portal for ArcGIS content store type ``. Default value is `FileStore`. +* `node['arcgis']['portal']['content_store_provider']` = Portal for ArcGIS content store provider ``. Default value is `FileSystem`. * `node['arcgis']['portal']['content_store_connection_string']` = Portal for ArcGIS content store connection string. Default connection string is `node['arcgis']['portal']['content_dir']`. -* `node['arcgis']['portal']['object_store']` = Portal for ArcGIS content store container such as S3 bucket name. Default value is `nil`. +* `node['arcgis']['portal']['object_store']` = Portal for ArcGIS content store container such as an S3 bucket name. Default value is `nil`. * `node['arcgis']['portal']['log_level']` = Portal for ArcGIS log level. Default value is `WARNING`. * `node['arcgis']['portal']['log_dir']` = Portal for ArcGIS log directory. Default value is `C:\arcgisportal\logs` on Windows and `/arcgis/portal/usr/arcgisportal/logs` on Linux. -* `node['arcgis']['portal']['max_log_file_age']` = Portal for ArcGIS maximum log file age. Default value is `90`. -* `node['arcgis']['portal']['upgrade_backup']` = Backup Portal for ArcGIS content during upgrade. Default value is `true`. -* `node['arcgis']['portal']['upgrade_rollback']` = Rollback Portal for ArcGIS upgrade in case of failure. Default value is `true`. +* `node['arcgis']['portal']['max_log_file_age']` = Portal for ArcGIS maximum log file age. Default value is `90`. +* `node['arcgis']['portal']['upgrade_backup']` = Back up Portal for ArcGIS content during upgrade. Default value is `true`. +* `node['arcgis']['portal']['upgrade_rollback']` = Roll back Portal for ArcGIS upgrade in case of failure. Default value is `true`. * `node['arcgis']['portal']['root_cert']` = Portal for ArcGIS root certificate. Default value is `''`. * `node['arcgis']['portal']['root_cert_alias']` = Portal for ArcGIS root certificate alias. Default value is `''`. * `node['arcgis']['portal']['allssl']` = Portal for ArcGIS run in all SSL mode or not. Default value is `false`. * `node['arcgis']['portal']['security']['user_store_config']` = User store configuration. Default value is `{'type' => 'BUILTIN', 'properties' => {}}` * `node['arcgis']['portal']['security']['role_store_config']` = Role store configuration. Default value is `{'type' => 'BUILTIN', 'properties' => {}}` * `node['arcgis']['portal']['system_properties']` = Portal for ArcGIS system properties. Default value is `{}`. -* `node['arcgis']['portal']['ports']` = Ports opened in Windows firewall for Portal for ArcGIS. Default ports are `5701,5702,5703,7080,7443,7005,7099,7199,7120,7220,7654`. +* `node['arcgis']['portal']['ports']` = Ports opened in Windows firewall for Portal for ArcGIS. Default ports are `5701,5702,5703,7080,7443,7005,7099,7120,7220,7654`. +* `node['arcgis']['portal']['patches]` = File names of Portal for ArcGIS patches to install. Default value is `[]`. -#### Web Styles +### Web Styles * `node['arcgis']['webstyles']['setup']` = ArcGIS Web Styles setup path. * `node['arcgis']['webstyles']['setup_options']` = Additional ArcGIS Web Styles setup command line options. Default options are `''`. * `node['arcgis']['webstyles']['setup_archive']` = ArcGIS Web Styles setup archive path. Default value depends on `node['arcgis']['version']` attribute value. -#### Data Store +### Data Store * `node['arcgis']['data_store']['data_dir']` = ArcGIS Data Store data directory. Default location is `C:\arcgisdatastore` on Windows and `/arcgis/datastore/usr/arcgisdatastore` on Linux. * `node['arcgis']['data_store']['backup_dir']` = ArcGIS Data Store backup directory. Default location is `C:\arcgisbackup` on Windows and `/arcgis/datastore/usr/arcgisbackup` on Linux. * `node['arcgis']['data_store']['setup']` = Location of ArcGIS Data Store setup executable. Default location is `C:\Temp\ArcGISDataStore\Setup.exe` on Windows and `/tmp/tmp/data-store-cd/Setup` on Linux. * `node['arcgis']['data_store']['setup_options']` = Additional ArcGIS Data Store setup command line options. Default options are `''`. -* `node['arcgis']['data_store']['lp-setup']` = The location of language pack for ArcGIS Data Store. Default location is `nil`. +* `node['arcgis']['data_store']['lp-setup']` = The location of the language pack for ArcGIS Data Store. Default location is `nil`. * `node['arcgis']['data_store']['setup_archive']` = Path to ArcGIS Data Store setup archive. Default value depends on `node['arcgis']['version']` attribute value. * `node['arcgis']['data_store']['install_dir']` = ArcGIS Data Store installation directory. By default, ArcGIS Data Store is installed to `%ProgramW6432%\ArcGIS\DataStore` on Windows and `/` on Linux. -* `node['arcgis']['data_store']['install_system_requirements']` = If set to true, the required third party libraries are installed on the machine before running ArcGIS Data Store setup. Default value is `true`. -* `node['arcgis']['data_store']['configure_autostart']` = If set to true, on Linux the ArcGIS Data Store is configured to start with the operating system. Default value is `true`. +* `node['arcgis']['data_store']['install_system_requirements']` = If set to true, the required third-party libraries are installed on the machine before running the ArcGIS Data Store setup. Default value is `true`. +* `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, . By default, `tileCache,relational` is used. -* `node['arcgis']['data_store']['mode']` = Tile cache ArcGIS Data Store mode, <|primaryStandby|cluster>. Supported from ArcGIS Data Store 10.8.1. The default value is empty string `` that means use the mode default for the ArcGIS Data Store version or the currently configured mode. -* `node['arcgis']['data_store']['relational']['backup_type']` = Type of location to use for relational Data Store backups . The default value is `fs`. -* `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`. -* `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']['force_remove_machine']` = Specify true only if 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,9876,9900,29079-29090`. +* `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']['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']['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']['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,29079-29090`. +* `node['arcgis']['data_store']['patches]` = File names of ArcGIS Data Store patches to install. Default value is `[]`. + +### Linux Web Server + +* `node['arcgis']['web_server']['webapp_dir']` = Path to web server's web application directory (e.g., /opt/tomcat/webapps). Default value is `''` + +## Recipes + +### clean + +Deletes data and installation directories of ArcGIS Server, Portal for ArcGIS, and ArcGIS Data Store. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "server": { + "install_dir": "C:\\Program Files\\ArcGIS\\Server", + "directories_root": "C:\\arcgisserver" + }, + "portal": { + "install_dir": "C:\\Program Files\\ArcGIS\\Portal", + "data_dir": "C:\\arcgisportal" + }, + "data_store": { + "install_dir": "C:\\Program Files\\ArcGIS\\DataStore", + "data_dir": "C:\\arcgisdatastore" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::clean]" + ] +} +``` + +### datasources + +> The recipe is not supported with ArcGIS Enterprise 11.0. Instead of arcgis-enterprise::datasources recipe, use the arcgis-enterprise::fileserver recipe to create network shares and arcgis-enterprise::server_data_items to register data items with ArcGIS Server. + +The recipe is used to: +- Create local folders in the Node's file system, +- Create Windows network shares, +- Register a folder as an ArcGIS Server's data source --> you can even set different publisher and server paths, +- Register either a folder with SDE connection files or an array of SDE connection files as ArcGIS Server data sources, +- Block the copying of data to ArcGIS Server when publishing content. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "server": { + "url": "https://sitehost.com:6443/arcgis", + "admin_username": "admin", + "admin_password": "changeit" + }, + "datasources":{ + "block_data_copy":true, + "folders":[ + { + "server_path":"D:\\Mapfiles", + "create_folder":true, + "security_permissions":{ + "authorize_arcgis_service_account":true + }, + "share_folder":true, + "share_name":"Mapfiles", + "sharing_permissions":{ + "full_control_members":["MyDomain\\MyUser", "MyDomain\\MyGroup"] + }, + "publish_folder":{ + "identifier":"Mapfiles", + "publish_with_hostname":true + } + },{ + "server_path":"D:\\Data", + "create_folder":true, + "security_permissions":{ + "authorize_arcgis_service_account":true, + "full_control_members":["MyDomain\\MyUser", "MyDomain\\MyGroup"] + }, + "share_folder":true, + "share_name":"Data", + "sharing_permissions":{ + "full_control_members":["MyDomain\\MyUser", "MyDomain\\MyGroup"] + }, + "publish_folder":{ + "identifier":"Data", + "publish_with_hostname":true + } + },{ + "server_path":"D:\\Data", + "publish_folder":{ + "identifier":"Data_With_Alias", + "publish_alternative_path":"\\\\<>\\Data" + } + },{ + "publish_folder":{ + "identifier":"OtherData", + "publish_alternative_path":"\\\\Path\\To\\Other\\Data" + } + } + ], + "sde_files":{ + "folder":"\\\\Folder\\With\\SDE\\Files", + "files":["\\\\AnotherFolder\\With\\SDE\\Files\\File1.sde", "\\\\AnotherFolder\\With\\SDE\\Files\\File2.sde"] + } + } + }, + "run_list":[ + "recipe[arcgis-enterprise::datasources]" + ] +} +``` + +### datastore + +Installs and configures ArcGIS Data Store on the primary machine. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "configure_windows_firewall": false, + "server": { + "url": "https://SERVER:6443/arcgis", + "admin_username": "admin", + "admin_password": "changeit" + }, + "data_store": { + "setup": "C:\\ArcGIS\\11.0\\Setups\\DataStore\\Setup.exe", + "install_system_requirements": true, + "configure_autostart": true, + "install_dir": "C:\\Program Files\\ArcGIS\\DataStore", + "data_dir": "C:\\arcgisdatastore", + "backup_dir": "C:\\arcgisdatastore\\backup", + "types": "tileCache,relational,spatiotemporal", + "preferredidentifier": "hostname" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::datastore]" + ] +} +``` + +The recipe uses ```https://:6443/arcgis``` server URL when it configures ArcGIS Data Store. + +### datastore_standby + +Installs and configures ArcGIS Data Store on the standby machine. + +The recipe uses the same attributes as the arcgis-enterprise::datastore recipe. + +### disable_geoanalytics + +Resets the GeoAnalytics configuration on the ArcGIS Enterprise portal. + +Applies to: ArcGIS 10.5 and newer versions. + +The recipe uses the same attributes as the arcgis-enterprise::enable_geoanalytics recipe. + +### disable_imagehosting + +Resets the image hosting configuration on the ArcGIS Enterprise portal. + +Applies to: ArcGIS 10.5 and newer versions. + +The recipe uses the same attributes as the arcgis-enterprise::enable_imagehosting recipe. + +### disable_rasteranalytics + +Resets the raster analytics server role in the ArcGIS Enterprise portal. + +Applies to: ArcGIS 10.5 and newer versions. + +The recipe uses the same attributes as the arcgis-enterprise::enable_rasteranalytics recipe. + +### egdb + +Registers an enterprise geodatabase with ArcGIS Server. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "server": { + "private_url": "https://domain.com:6443/arcgis", + "admin_username": "admin", + "admin_password": "changeit" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::egdb]" + ] +} +``` + +### enable_geoanalytics + +Configures the Portal for ArcGIS to perform big data analytics. + +Applies to: ArcGIS 10.5 and newer versions. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "server": { + "private_url": "https://domain.com:6443/arcgis", + "web_context_url": "https://domain.com/server", + "admin_username": "admin", + "admin_password": "changeit", + "is_hosting": false + }, + "portal": { + "private_url": "https://portal.domain.com:7443/arcgis", + "admin_username": "admin", + "admin_password": "changeit" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::enable_geoanalytics]" + ] +} +``` + +### enable_imagehosting + +Configures the ArcGIS Enterprise portal for image hosting. + +Applies to: ArcGIS 10.5 and newer versions. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "server": { + "private_url": "https://domain.com:6443/arcgis", + "web_context_url": "https://domain.com/server", + "admin_username": "admin", + "admin_password": "changeit", + "is_hosting": false + }, + "portal": { + "private_url": "https://portal.domain.com:7443/arcgis", + "admin_username": "admin", + "admin_password": "changeit" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::enable_imagehosting]" + ] +} +``` + +### enable_rasteranalytics + +Configures the ArcGIS Enterprise portal to perform raster analytics. + +Applies to: ArcGIS 10.5 and newer versions. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "server": { + "private_url": "https://domain.com:6443/arcgis", + "web_context_url": "https://domain.com/server", + "admin_username": "admin", + "admin_password": "changeit", + "is_hosting": false + }, + "portal": { + "private_url": "https://portal.domain.com:7443/arcgis", + "admin_username": "admin", + "admin_password": "changeit" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::enable_rasteranalytics]" + ] +} +``` + +### enterprise_installed -#### Linux Web Server - -* `node['arcgis']['web_server']['webapp_dir']` = Path to web server's web application directory (eg. /opt/tomcat/webapps). Default value is `''` - -Recipes -------- - -### arcgis-enterprise::authbind (DEPRECATED) - -Configures authbind for Apache Tomcat user (for Debian Linux family). - -### arcgis-enterprise::clean - -Deletes local directories created by ArcGIS Server, Portal for ArcGIS, and ArcGIS Data Store. - -### arcgis-enterprise::datastore - -Installs and configures ArcGIS Data Store on primary machine. - -### arcgis-enterprise::datastore_standby - -Installs and configures ArcGIS Data Store on standby machine. - -### arcgis-enterprise::disable_geoanalytics - -Resets the function of the federated server in the Portal for ArcGIS. - -### arcgis-enterprise::disable_imagehosting - -Resets the function of the federated server in the Portal for ArcGIS. - -### arcgis-enterprise::disable_loopback_check - -Enables filesharing via a DNS Alias - -### arcgis-enterprise::disable_rasteranalytics - -Resets the function of the federated server in the Portal for ArcGIS. - -### arcgis-enterprise::egdb (deprecated) - -Registers enterprise geodatabases with ArcGIS Server. - -### arcgis-enterprise::enable_geoanalytics - -Registers ArcGIS Server with GeoAnalytics function to the Portal for ArcGIS. - -### arcgis-enterprise::enable_imagehosting - -Registers ArcGIS Server with ImageHosting function to the Portal for ArcGIS. - -### arcgis-enterprise::enable_rasteranalytics - -Registers ArcGIS Server with RasterAnalytics function to the Portal for ArcGIS. - -### arcgis-enterprise::federation - -Registers and federates ArcGIS Server with Portal for ArcGIS. - -### arcgis-enterprise::fileserver - -Creates and shares directories on file server machine. +Installs ArcGIS Server, Portal for ArcGIS, ArcGIS Data Store, and ArcGIS Web Adaptors for server and portal. -### arcgis-enterprise::hosts +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "server": { + "setup": "C:\\ArcGIS\\11.0\\Setups\\Server\\Setup.exe", + "install_dir": "C:\\Program Files\\ArcGIS\\Server", + "wa_name": "server" + }, + "portal": { + "setup": "C:\\ArcGIS\\11.0\\Setups\\Portal\\Setup.exe", + "install_dir": "C:\\Program Files\\ArcGIS\\Portal", + "wa_name": "portal" + }, + "data_store": { + "setup": "C:\\ArcGIS\\11.0\\Setups\\DataStore\\Setup.exe", + "install_dir": "C:\\Program Files\\ArcGIS\\DataStore" + }, + "web_adaptor": { + "setup": "C:\\ArcGIS\\11.0\\Setups\\WebAdaptorIIS\\Setup.exe", + "install_dir": "" + }, + "python": { + "install_dir": "C:\\Python27" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::enterprise_installed]" + ] +} +``` + +### enterprise_uninstalled + +Uninstalls all ArcGIS Enterprise software of the specified version. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "server": { + "install_dir": "C:\\Program Files\\ArcGIS\\Server", + "wa_name": "server" + }, + "portal": { + "install_dir": "C:\\Program Files\\ArcGIS\\Portal", + "wa_name": "portal" + }, + "data_store": { + "install_dir": "C:\\Program Files\\ArcGIS\\DataStore" + }, + "web_adaptor": { + "install_dir": "" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::enterprise_uninstalled]" + ] +} +``` + +### enterprise_validate -Creates entries in /etc/hosts file for the specified hostname to IP address map. +Checks if ArcGIS Enterprise setups and authorization files exist. -### arcgis-enterprise::install_datastore +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "server": { + "setup": "C:\\ArcGIS\\11.0\\Setups\\Server\\Setup.exe", + "authorization_file": "C:\\ArcGIS\\11.0\\Authorization_Files\\Server.prvc" + }, + "portal": { + "setup": "C:\\ArcGIS\\11.0\\Setups\\Portal\\Setup.exe", + "authorization_file": "C:\\ArcGIS\\11.0\\Authorization_Files\\Portal.json" + }, + "data_store": { + "setup": "C:\\ArcGIS\\11.0\\Setups\\DataStore\\SetupFile\\Setup.exe" + }, + "web_adaptor": { + "setup": "C:\\ArcGIS\\11.0\\Setups\\WebAdaptorIIS\\Setup.exe" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::enterprise_validate]" + ] +} +``` + +### federation + +Federates an ArcGIS Server site with the ArcGIS Enterprise portal. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "server": { + "domain_name": "domain.com", + "private_url": "https://domain.com:6443/arcgis", + "web_context_url": "https://domain.com/server", + "admin_username": "admin", + "admin_password": "changeit", + "is_hosting": true + }, + "portal": { + "private_url": "https://portal.domain.com:7443/arcgis", + "admin_username": "admin", + "admin_password": "changeit", + "root_cert": "", + "root_cert_alias" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::federation]" + ] +} +``` + +### fileserver + +Creates and shares directories on a file server machine. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "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::fileserver]" + ] +} +``` + +### hosts + +Creates entries in the /etc/hosts file for the specified hostname to IP address map. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "hosts": { + "domain.com": "12.34.56.78", + "node.com": "" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::hosts]" + ] +} +``` + +For empty IP address strings, the IPv4 address of the machine is used. + +### iptables + +Configures iptables to forward ports 80/443 to 8080/8443. + +### install_datastore Installs ArcGIS Data Store on the machine. -### arcgis-enterprise::install_portal +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "data_store": { + "setup": "C:\\Users\\Administrator\\Documents\\ArcGIS 11.0\\ArcGISDataStore\\Setup.exe", + "install_dir": "C:\\Program Files\\ArcGIS\\DataStore", + "data_dir": "C:\\arcgisdatastore", + "backup_dir": "C:\\arcgisdatastore\\backup", + "install_system_requirements": true, + "configure_autostart": true + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_datastore]" + ] +} +``` + +### install_portal Installs Portal for ArcGIS on the machine. -### arcgis-enterprise::install_portal_wa +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "portal": { + "setup": "C:\\Users\\Administrator\\Documents\\ArcGIS 11.0\\PortalForArcGIS\\Setup.exe", + "install_dir": "C:\\Program Files\\ArcGIS\\Portal", + "install_system_requirements": true, + "configure_autostart": true, + "data_dir": "C:\\arcgisportal" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_portal]" + ] +} +``` + +### install_portal_wa Installs ArcGIS Web Adaptor instance for Portal for ArcGIS. -### arcgis-enterprise::install_server +Attributes used by the recipe on Windows: + +```JSON +{ + "arcgis": { + "version": "11.0", + "web_adaptor": { + "setup": "C:\\Users\\Administrator\\Documents\\ArcGIS 11.0\\WebAdaptorIIS\\Setup.exe", + "install_dir": "", + "install_system_requirements": true + }, + "portal": { + "wa_name": "portal" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_portal_wa]" + ] +} +``` + +### install_server Installs ArcGIS Server on the machine. -### arcgis-enterprise::install_server_wa +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "server": { + "setup": "C:\\Users\\Administrator\\Documents\\ArcGIS 11.0\\ArcGISServer\\Setup.exe", + "install_dir": "C:\\Program Files\\ArcGIS\\Server", + "install_system_requirements": true, + "configure_autostart": true + }, + "python": { + "install_dir": "C:\\Python27" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_server]" + ] +} +``` + +### install_server_wa Installs ArcGIS Web Adaptor instance for ArcGIS Server. -### arcgis-enterprise::lp-install - -Installs language packs for ArcGIS Server software. - -### arcgis-enterprise::patches +Attributes used by the recipe on Windows: + +```JSON +{ + "arcgis": { + "version": "11.0", + "web_adaptor": { + "setup": "C:\\Users\\Administrator\\Documents\\ArcGIS 11.0\\WebAdaptorIIS\\Setup.exe", + "install_dir": "" + }, + "server": { + "wa_name": "server" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_server_wa]" + ] +} +``` + +### lp-install + +Installs language packs for ArcGIS Enterprise software. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "server": { + "lp-setup": "C:\\ArcGIS\\11.0\\Setups\\Server\\Japanese\\setup.msi" + }, + "portal": { + "lp-setup": "C:\\ArcGIS\\11.0\\Setups\\Portal\\Japanese\\setup.msi" + }, + "data_store": { + "lp-setup": "C:\\ArcGIS\\11.0\\Setups\\DataStore\\Japanese\\setup.msi" + }, + "web_adaptor": { + "lp-setup": "C:\\ArcGIS\\11.0\\Setups\\WebAdaptorIIS\\Japanese\\setup.msi" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::lp-install]" + ] +} +``` + +### install_patches Installs hot fixes and patches for ArcGIS Enterprise software. -### arcgis-enterprise::portal - -Installs and configures Portal for ArcGIS. - -### arcgis-enterprise::portal_security +The recipe installs patches specified by the arcgis.portal.patches, arcgis.server.patches, arcgis.datastore.patches, and arcgis.webadaptor.patches attributes. The patch names may contain a wildcard '\*'. For example, "ArcGIS-1091-\*.msp" specifies all .msp patches that start with "ArcGIS-1091-". + +Attributes used by the recipe: + +```JSON +{ + "arcgis" : { + "repository" : { + "patches" : "%USERPROFILE%\\Software\\Esri\\patches" + }, + "portal": { + "patches": ["patch1.msp", "patch2.msp"] + }, + "server": { + "patches": ["patch3.msp", "patch4.msp"] + }, + "datastore": { + "patches": ["patch5.msp", "patch6.msp"] + }, + "webadaptor": { + "patches": ["patch7.msp", "patch8.msp"] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]" + ] +} +``` + +### portal + +Installs, authorizes, and configures Portal for ArcGIS. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "cache_authorization_files": false, + "configure_windows_firewall": false, + "portal": { + "domain_name": "portal.domain.com", + "setup": "C:\\ArcGIS\\11.0\\Setups\\Portal\\Setup.exe", + "install_dir": "C:\\Program Files\\ArcGIS\\Portal", + "authorization_file": "C:\\ArcGIS\\11.0\\Authorization_Files\\portal.json", + "user_license_type_id" : "creatorUT", + "authorization_file_version": "11.0", + "install_system_requirements": true, + "configure_autostart": true, + "data_dir": "C:\\arcgisportal", + "content_dir":"C:\\arcgisportal\\content", + "log_dir":"C:\\arcgisportal\\logs", + "log_level": "WARNING", + "max_log_file_age": 90, + "content_store_type": "fileStore", + "content_store_provider": "FileSystem", + "content_store_connection_string": "C:\\arcgisportal\\content", + "object_store": null, + "url": "https://localhost:7443/arcgis", + "admin_username": "admin", + "admin_password": "changeit", + "admin_email":"admin@domain.com", + "admin_full_name": "Administrator", + "admin_description": "Initial account administrator", + "security_question":"Your favorite ice cream flavor?", + "security_question_answer":"bacon", + "keystore_file": "C:\\domain_com.pfx", + "keystore_password": "test", + "cert_alias": "portal.domain.com", + "root_cert": "", + "root_cert_alias": "", + "upgrade_backup": true, + "upgrade_rollback": true, + "system_properties": { + + } + } + }, + "run_list": [ + "recipe[arcgis-enterprise::portal]" + ] +} +``` + +### portal_security Configures Portal for ArcGIS identity stores and assigns privileges to roles. -### arcgis-enterprise::portal_standby - -Installs and configures Portal for ArcGIS on standby machine - -### arcgis-enterprise::portal_wa - -Installs ArcGIS Web Adaptor and configures it with Portal for ArcGIS. IIS or Java application server such as Tomcat must be installed and configured before installing ArcGIS Web Adaptor. - -### arcgis-enterprise::post_install +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "portal": { + "url": "https://sitehost.com:7443/arcgis", + "admin_username": "admin", + "admin_password": "changeit", + "security": { + "user_store_config" : { + "type" : "BUILTIN", + "properties" : { + } + }, + "role_store_config" : { + "type" : "BUILTIN", + "properties" : { + } + } + } + } + }, + "run_list": [ + "recipe[arcgis-enterprise::portal_security]" + ] +} +``` + +### portal_standby + +Installs and configures Portal for ArcGIS on the standby machine + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "cache_authorization_files": false, + "configure_windows_firewall": false, + "portal": { + "setup": "C:\\ArcGIS\\11.0\\Setups\\Portal\\Setup.exe", + "install_dir": "C:\\Program Files\\ArcGIS\\Portal", + "authorization_file": "C:\\ArcGIS\\11.0\\Authorization_Files\\Portal.prvc", + "authorization_file_version": "11.0", + "install_system_requirements": true, + "configure_autostart": true, + "data_dir": "C:\\arcgisportal", + "content_dir":"C:\\arcgisportal\\content", + "url": "https://standby.com:7443/arcgis", + "primary_machine_url": "https://primary.com:7443/arcgis", + "admin_username": "admin", + "admin_password": "changeit", + "upgrade_backup": true, + "upgrade_rollback": true + } + }, + "run_list": [ + "recipe[arcgis-enterprise::portal_standby]" + ] +} +``` + +### portal_wa + +Installs ArcGIS Web Adaptor and configures it with Portal for ArcGIS. IIS or Java application server, such as Tomcat, must be installed and configured before installing ArcGIS Web Adaptor. + +Attributes used by the recipe on Windows: + +```JSON +{ + "arcgis": { + "version": "11.0", + "web_adaptor": { + "setup": "C:\\ArcGIS\\11.0\\Setups\\WebAdaptorIIS\\Setup.exe", + "install_dir": "", + "install_system_requirements": true + }, + "portal": { + "wa_name": "portal", + "wa_url": "https://primary.com/portal", + "url": "https://primary.com:7443/arcgis", + "admin_username": "admin", + "admin_password": "changeit" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::portal_wa]" + ] +} +``` + +Attributes used by the recipe on Linux: + +```JSON +{ + "arcgis": { + "version": "11.0", + "web_server": { + "webapp_dir": "/opt/tomcat_arcgis/webapps" + }, + "web_adaptor":{ + "setup": "/arcgis/11.0/WebAdaptor/CD_Linux/Setup", + "install_dir": "/", + "install_system_requirements": true + }, + "portal": { + "wa_name": "portal", + "wa_url": "https://primary.com/portal", + "url": "https://primary.com:7443/arcgis", + "admin_username": "admin", + "admin_password": "changeit" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::portal_wa]" + ] +} +``` + +### post_install Executes custom post-installation script if it exists. -### arcgis-enterprise::remove_datastore_machine +```JSON +{ + "arcgis": { + "post_install_script": "C:\\imageryscripts\\deploy.bat" + } +} +``` -Removes machine from ArcGIS Data Store. - -### arcgis-enterprise::server +### server Installs and configures ArcGIS Server site. -### arcgis-enterprise::server_data_items +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "cache_authorization_files": false, + "configure_windows_firewall": false, + "server": { + "setup": "C:\\ArcGIS\\10.5\\Setups\\Server\\Setup.exe", + "install_dir": "C:\\Program Files\\ArcGIS\\Server", + "authorization_file": "C:\\ArcGIS\\11.0\\Authorization_Files\\Server.prvc", + "authorization_file_version": "11.0", + "install_system_requirements": true, + "configure_autostart": true, + "directories_root": "C:\\arcgisserver", + "url": "https://sitehost.com:6443/arcgis", + "admin_username": "admin", + "admin_password": "changeit", + "system_properties": {}, + "log_level": "WARNING", + "log_dir": "C:\\arcgisserver\\logs", + "max_log_file_age": 90, + "config_store_type": "FILESYSTEM", + "config_store_connection_string": "C:\\arcgisserver\\config-store", + "config_store_connection_secret": "", + "keystore_file": "C:\\domain_com.pfx", + "keystore_password": "test", + "cert_alias": "domain.com", + "soc_max_heap_size" : 64 + }, + "python": { + "install_dir": "C:\\Python27" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::server]" + ] +} +``` + +### server_data_items Registers data items with ArcGIS Server. -### arcgis-enterprise::server_node +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "server": { + "url": "https://sitehost.com:6443/arcgis", + "admin_username": "siteadmin", + "admin_password": "change.it", + "data_items": [ + { + "path": "/rasterStores/RasterStore", + "type": "rasterStore", + "info": { + "connectionString": "{\"path\":\"\\\\\\\\FILESERVER\\\\arcgisserver\\\\rasterstore\"}", + "connectionType": "fileShare" + } + } + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::server_data_items]" + ] +} +``` + +### server_node Installs ArcGIS Server on the machine and joins an existing site. -### arcgis-enterprise::server_security +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "cache_authorization_files": false, + "configure_windows_firewall": false, + "server": { + "setup": "C:\\ArcGIS\\11.0\\Setups\\Server\\Setup.exe", + "install_dir": "C:\\Program Files\\ArcGIS\\Server", + "authorization_file": "C:\\ArcGIS\\11.0\\Authorization_Files\\Server.prvc", + "authorization_file_version": "11.0", + "install_system_requirements": true, + "configure_autostart": true, + "directories_root": "C:\\arcgisserver", + "log_dir": "C:\\arcgisserver\\logs", + "url": "https://node.com:6443/arcgis", + "primary_server_url": "https://sitehost.com:6443/arcgis", + "use_join_site_tool": false, + "admin_username": "admin", + "admin_password": "changeit", + "keystore_file": "C:\\domain_com.pfx", + "keystore_password": "test", + "cert_alias": "domain.com", + "soc_max_heap_size" : 64 + }, + "python": { + "install_dir": "C:\\Python27" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::server_node]" + ] +} +``` + +### server_security Configures ArcGIS Server identity stores and assigns privileges to roles. -### arcgis-enterprise::server_wa - -Installs ArcGIS Web Adaptor and configures it with ArcGIS Server. IIS or Java application server such as Tomcat must be installed and configured before installing ArcGIS Web Adaptor. - -### arcgis-enterprise::services +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "server": { + "url": "https://sitehost.com:6443/arcgis", + "admin_username": "admin", + "admin_password": "changeit", + "security": { + "user_store_config" : { + "type" : "BUILTIN", + "properties" : { + } + }, + "role_store_config" : { + "type" : "BUILTIN", + "properties" : { + }, + "privileges" : { + "PUBLISH" : [], + "ADMINISTER" : [] + } + } + } + }, + "run_list": [ + "recipe[arcgis-enterprise::server_security]" + ] +} +``` + +### server_wa + +Installs ArcGIS Web Adaptor and configures it with ArcGIS Server. IIS or Java application server, such as Tomcat, must be installed and configured before installing ArcGIS Web Adaptor. + +Attributes used by the recipe on Windows: + +```JSON +{ + "arcgis": { + "version": "11.0", + "web_adaptor": { + "setup": "C:\\ArcGIS\\11.0\\Setups\\WebAdaptorIIS\\Setup.exe", + "install_dir": "", + "install_system_requirements": true, + "admin_access": true + }, + "server": { + "wa_name": "server", + "wa_url": "https://node.com/server", + "url": "https://node.com:6443/arcgis", + "admin_username": "admin", + "admin_password": "changeit" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::server_wa]" + ] +} +``` + +Attributes used by the recipe on Linux: + +```JSON +{ + "arcgis": { + "version": "11.0", + "web_server": { + "webapp_dir": "/opt/tomcat_arcgis/webapps" + }, + "web_adaptor":{ + "setup": "/arcgis/11.0/WebAdaptor/CD_Linux/Setup", + "install_dir": "/", + "install_system_requirements": true, + "admin_access": true + }, + "portal": { + "wa_name": "server", + "wa_url": "https://node.com/server", + "url": "https://node.com:6443/arcgis", + "admin_username": "admin", + "admin_password": "changeit" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::server_wa]" + ] +} +``` + +### services Publishes services to ArcGIS Server. -### arcgis-enterprise::start_datastore +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "server": { + "url": "https://domain.com:6443/arcgis", + "publisher_username": "publisher", + "publisher_password": "changeit", + "services": [{ + "folder": "", + "name": "MyMap", + "type": "MapServer", + "definition_file": "C:\\data\\map_bv.sd", + "properties": { + "maxInstancesPerNode" : 4 + } + }] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::services]" + ] +} +``` + +Service configuration properties, such as configuredState, minInstancesPerNode, maxInstancesPerNode, and all other properties can be specified by the node['arcgis']['server']['services']['properties'] attribute. + +### sql_alias + +Creates SQL Server alias 'egdbhost' for Amazon RDS endpoint. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "server": { + "install_dir": "C:\\Program Files\\ArcGIS\\Server" + }, + "rds": { + "engine": "sqlserver-se", + "endpoint": "myinstance.123456789012.us-east-1.rds.amazonaws.com:1433" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::sql_alias]" + ] +} +``` + +### start_datastore Starts ArcGIS Data Store on the machine. -### arcgis-enterprise::start_portal - -Starts Portal for ArcGIS on the machine. - -### arcgis-enterprise::start_server - -Starts ArcGIS Server on the machine. - -### arcgis-enterprise::stop_datastore - -Stops ArcGIS Data Store on the machine. - -### arcgis-enterprise::stop_portal - -Stops Portal for ArcGIS on the machine. - -### arcgis-enterprise::stop_server +Attributes used by the recipe: -Stops ArcGIS Server on the machine. - -### arcgis-enterprise::stop_machine - -Stops server machine in the ArcGIS Server site. - -### arcgis-enterprise::system - -Configures system requirements for ArcGIS Enterprise software by invoking ':system' actions for ArcGIS Server, ArcGIS Data Store, Portal for ArcGIS, and ArcGIS Web Adaptor resources, includes arcgis::hosts recipe. - -### arcgis-enterprise::enterprise_installed - -Installs ArcGIS Server, Portal for ArcGIS, ArcGIS Data Store, and ArcGIS Web Adaptors for server and portal. - -### arcgis-enterprise::enterprise_uninstalled +```JSON +{ + "run_list": [ + "recipe[arcgis-enterprise::start_datastore]" + ] +} +``` -Uninstalls ArcGIS Server, Portal for ArcGIS, ArcGIS Data Store, and ArcGIS Web Adaptors for server and portal. +### start_portal -### arcgis-enterprise::unfederate_server - -Unfederates server from Portal for ArcGIS. - -### arcgis-enterprise::unregister_machine - -Unregisters the local server machine from the ArcGIS Server site. +Starts Portal for ArcGIS on the machine. -### arcgis-enterprise::unregister_machines +Attributes used by the recipe: -Unregisters from the ArcGIS Server site all the server machines except for the local. +```JSON +{ + "run_list": [ + "recipe[arcgis-enterprise::start_portal]" + ] +} +``` -### arcgis-enterprise::unregister_stopped_machines +### start_server -Unregisters all unavailable server machines in 'default' cluster from the ArcGIS Server site. +Starts ArcGIS Server on the machine. -### arcgis-enterprise::unregister_server_wa +Attributes used by the recipe: -Unregisters all Web Adaptors registered with ArcGIS Server. +```JSON +{ + "run_list": [ + "recipe[arcgis-enterprise::start_server]" + ] +} +``` -### arcgis-enterprise::enterprise_validate +### stop_datastore -Checks if ArcGIS Enterprise setups and authorization files exist. +Stops ArcGIS Data Store on the machine. -### arcgis-enterprise::webstyles +Attributes used by the recipe: -Installs Portal for ArcGIS Web Styles. +```JSON +{ + "run_list": [ + "recipe[arcgis-enterprise::stop_datastore]" + ] +} +``` -Usage ------ +### stop_machine -See [wiki](https://github.com/Esri/arcgis-cookbook/wiki) pages for more information about using ArcGIS cookbooks. +Stops the local machine in an ArcGIS Server site. -## Issues +Attributes used by the recipe: -Find a bug or want to request a new feature? Please let us know by submitting an [issue](https://github.com/Esri/arcgis-cookbook/issues). +```JSON +{ + "arcgis": { + "server": { + "url": "https://domain.com:6443/arcgis", + "admin_username": "admin", + "admin_password": "changeit" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::stop_machine]" + ] +} +``` -## Contributing +### stop_portal -Esri welcomes contributions from anyone and everyone. Please see our [guidelines for contributing](https://github.com/esri/contributing). +Stops Portal for ArcGIS on the machine. -Licensing ---------- +Attributes used by the recipe: -Copyright 2021 Esri +```JSON +{ + "run_list": [ + "recipe[arcgis-enterprise::stop_portal]" + ] +} +``` -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 +### stop_server -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. +Stops ArcGIS Server on the machine. -A copy of the license is available in the repository's [License.txt](https://github.com/Esri/arcgis-cookbook/blob/master/License.txt?raw=true) file. +Attributes used by the recipe: + +```JSON +{ + "run_list": [ + "recipe[arcgis-enterprise::stop_server]" + ] +} +``` + +### system + +Creates arcgis user account, includes 'hosts' recipe. On Linux, the recipe also sets process and file limits for the user account to 25059 and 65535 respectively to meet the requirements of ArcGIS Enterprise setups. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "hosts": { + "domain.com": "12.34.56.78", + "local.com": "" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]" + ] +} +``` + +`node['arcgis']['run_as_password']` attribute is not required on Linux. + +### unfederate_server + +Unfederates an ArcGIS Server from the ArcGIS Enterprise portal. + +> Caution: Unfederating an ArcGIS Server site has several significant consequences and should not be done as part of routine troubleshooting. It is an act that is not easily undone and may have irreversible consequences. Only unfederate a site if you have a clear understanding of the impact. See [Administer a federated server](https://enterprise.arcgis.com/en/portal/latest/administer/windows/administer-a-federated-server.htm) for more details. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "server": { + "web_context_url": "https://domain.com/server" + }, + "portal": { + "private_url": "https://portal.domain.com:7443/arcgis", + "admin_username": "admin", + "admin_password": "changeit" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::unfederate_server]" + ] +} +``` + +### unregister_machine + +Unregisters the local machine from the ArcGIS Server site. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "server": { + "url": "https://domain.com:6443/arcgis", + "admin_username": "admin", + "admin_password": "changeit" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::unregister_machine]" + ] +} +``` + +### unregister_machines + +Unregisters from the ArcGIS Server site all the server machines except for the local machine. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "server": { + "url": "https://domain.com:6443/arcgis", + "admin_username": "admin", + "admin_password": "changeit", + "install_dir": "C:\\Program Files\\ArcGIS\\Server" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::unregister_machines]" + ] +} +``` + +### unregister_server_wa + +Unregisters all ArcGIS Web Adaptors from the ArcGIS Server site. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "server": { + "use_join_site_tool": false, + "url": "https://SERVER:6443/arcgis", + "install_dir": "C:\\Program Files\\ArcGIS\\Server", + "admin_username": "siteadmin", + "admin_password": "change.it" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::unregister_server_wa]" + ] +} +``` + +### unregister_stopped_machines + +Unregisters stopped machines that are in an ArcGIS Server site. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "server": { + "url": "https://SERVER:6443/arcgis", + "admin_username": "siteadmin", + "admin_password": "change.it" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::unregister_stopped_machines]" + ] +} +``` + +### webstyles + +Installs ArcGIS WebStyles. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version":"11.0", + "webstyles": { + "setup":"C:\\ArcGIS\\11.0\\Setups\\ArcGIS 11.0\\ArcGISWebStyles\\Setup.exe" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::webstyles]" + ] +} +``` diff --git a/cookbooks/arcgis-enterprise/attributes/datastore.rb b/cookbooks/arcgis-enterprise/attributes/datastore.rb index 497e5b0..5e89d90 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 2018 Esri +# Copyright 2022 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -33,8 +33,10 @@ data_store['force_remove_machine'] = false data_store['setup_archive'] = '' data_store['product_code'] = '' - data_store['ports'] = '2443,4369,9220,9320,9876,9900,29079-29090' + data_store['ports'] = '2443,4369,9220,9320,9829,9876,9900,29079-29090' + data_store['patches'] = [] + case node['platform'] when 'windows' data_store['setup'] = ::File.join(node['arcgis']['repository']['setups'], @@ -45,8 +47,13 @@ data_store['install_subdir'] = '' data_store['data_dir'] = 'C:\\arcgisdatastore' data_store['local_backup_dir'] = 'C:\\arcgisbackup' + data_store['patch_registry'] ='SOFTWARE\\ESRI\\ArcGIS Data Store\\Updates' case node['arcgis']['version'] + when '11.0' + data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_DataStore_Windows_110_182887.exe').gsub('/', '\\') + data_store['product_code'] = '{ABCEFF81-861D-482A-A20E-8542814C03BD}' when '10.9.1' data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_DataStore_Windows_1091_180054.exe').gsub('/', '\\') @@ -63,43 +70,6 @@ data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_DataStore_Windows_108_172872.exe').gsub('/', '\\') data_store['product_code'] = '{2018A7D8-CBE8-4BCF-AF0E-C9AAFB4C9B6D}' - when '10.7.1' - data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_DataStore_Windows_1071_169689.exe').gsub('/', '\\') - data_store['product_code'] = '{112E5FD0-9DD2-45DA-ACD5-A21AA45F67E2}' - when '10.7' - data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_DataStore_Windows_107_167633.exe').gsub('/', '\\') - data_store['product_code'] = '{2B19AB45-1A17-45CD-8001-0608E8D72447}' - when '10.6.1' - data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_DataStore_Windows_1061_163980.exe').gsub('/', '\\') - data_store['product_code'] = '{53160721-93D8-48F8-9EDD-038794AE756E}' - Chef::Log.warn 'Unsupported ArcGIS Data Store version' - when '10.6' - data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_DataStore_Windows_106_161832.exe').gsub('/', '\\') - data_store['product_code'] = '{846636C1-53BB-459D-B66D-524F79E40396}' - Chef::Log.warn 'Unsupported ArcGIS Data Store version' - when '10.5.1' - data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_DataStore_Windows_1051_156366.exe').gsub('/', '\\') - data_store['product_code'] = '{75276C83-E88C-43F6-B481-100DA4D64F71}' - Chef::Log.warn 'Unsupported ArcGIS Data Store version' - when '10.5' - data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_DataStore_Windows_105_154006.exe').gsub('/', '\\') - data_store['product_code'] = '{5EA81114-6FA7-4B4C-BD72-D1C882088AAC}' - Chef::Log.warn 'Unsupported ArcGIS Data Store version' - when '10.4.1' - data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_DataStore_Windows_1041_151782.exe').gsub('/', '\\') - data_store['product_code'] = '{A944E0A7-D268-41CA-B96E-8434457B051B}' - Chef::Log.warn 'Unsupported ArcGIS Data Store version' - when '10.4' - data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_DataStore_Windows_104_149437.exe').gsub('/', '\\') - data_store['product_code'] = '{C351BC6D-BF25-487D-99AB-C963D590A8E8}' else Chef::Log.warn 'Unsupported ArcGIS Data Store version' end @@ -110,6 +80,9 @@ data_store['lp-setup'] = node['arcgis']['data_store']['setup'] case node['arcgis']['version'] + when '11.0' + data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_DataStore_Linux_110_182986.tar.gz') when '10.9.1' data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_DataStore_Linux_1091_180204.tar.gz') @@ -122,36 +95,6 @@ when '10.8' data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_DataStore_Linux_108_172991.tar.gz') - when '10.7.1' - data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_DataStore_Linux_1071_169808.tar.gz') - when '10.7' - data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_DataStore_Linux_107_167719.tar.gz') - when '10.6.1' - data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_DataStore_Linux_1061_164056.tar.gz') - Chef::Log.warn 'Unsupported ArcGIS Data Store version' - when '10.6' - data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_DataStore_Linux_106_161810.tar.gz') - Chef::Log.warn 'Unsupported ArcGIS Data Store version' - when '10.5.1' - data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_DataStore_Linux_1051_156441.tar.gz') - Chef::Log.warn 'Unsupported ArcGIS Data Store version' - when '10.5' - data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_DataStore_Linux_105_154054.tar.gz') - Chef::Log.warn 'Unsupported ArcGIS Data Store version' - when '10.4.1' - data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_DataStore_Linux_1041_152011.tar.gz') - Chef::Log.warn 'Unsupported ArcGIS Data Store version' - when '10.4' - data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_DataStore_Linux_104_149449.tar.gz') - Chef::Log.warn 'Unsupported ArcGIS Data Store version' else Chef::Log.warn 'Unsupported ArcGIS Data Store version' end @@ -183,6 +126,9 @@ data_store['local_backup_dir'] = ::File.join(data_store_install_dir, data_store_install_subdir, 'usr/arcgisbackup') + data_store['patch_log'] = ::File.join(data_store_install_dir, + data_store_install_subdir, + '.ESRI_DS_PATCH_LOG') data_store['sysctl_conf'] = '/etc/sysctl.conf' data_store['vm_max_map_count'] = 262144 diff --git a/cookbooks/arcgis-enterprise/attributes/default.rb b/cookbooks/arcgis-enterprise/attributes/default.rb index d6d1040..9bc43f6 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 2018 Esri +# Copyright 2022 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -27,7 +27,7 @@ default['arcgis']['run_as_msa'] = false -default['arcgis']['version'] = '10.9.1' +default['arcgis']['version'] = '11.0' default['arcgis']['cache_authorization_files'] = false default['arcgis']['configure_windows_firewall'] = false diff --git a/cookbooks/arcgis-enterprise/attributes/portal.rb b/cookbooks/arcgis-enterprise/attributes/portal.rb index 91c5425..696f8ce 100644 --- a/cookbooks/arcgis-enterprise/attributes/portal.rb +++ b/cookbooks/arcgis-enterprise/attributes/portal.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Attributes:: portal # -# Copyright 2015 Esri +# Copyright 2022 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -87,10 +87,12 @@ portal['setup_archive'] = '' portal['product_code'] = '' portal['system_properties'] = {} - portal['ports'] = '5701,5702,5703,7080,7443,7005,7099,7199,7120,7220,7654' + portal['ports'] = '5701,5702,5703,7080,7443,7005,7099,7120,7220,7654' portal['living_atlas']['group_ids'] = ['81f4ed89c3c74086a99d168925ce609e', '6646cd89ff1849afa1b95ed670a298b8'] + portal['patches'] = [] + case node['platform'] when 'windows' portal['authorization_tool'] = ::File.join(ENV['ProgramW6432'], @@ -103,8 +105,13 @@ portal['install_dir'] = ::File.join(ENV['ProgramW6432'], 'ArcGIS\\Portal').gsub('/', '\\') portal['install_subdir'] = '' portal['data_dir'] = 'C:\\arcgisportal' + portal['patch_registry'] ='SOFTWARE\\ESRI\\Portal for ArcGIS\\Updates' case node['arcgis']['version'] + when '11.0' + portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'Portal_for_ArcGIS_Windows_110_182885.exe').gsub('/', '\\') + portal['product_code'] = '{EB809599-C650-486A-85C6-D37618754AE4}' when '10.9.1' portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'Portal_for_ArcGIS_Windows_1091_180052.exe').gsub('/', '\\') @@ -121,44 +128,6 @@ portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'Portal_for_ArcGIS_Windows_108_172870.exe').gsub('/', '\\') portal['product_code'] = '{7D432555-69F9-4945-8EE7-FC4503A94D6A}' - when '10.7.1' - portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Portal_for_ArcGIS_Windows_1071_169688.exe').gsub('/', '\\') - portal['product_code'] = '{7FDEEE00-6641-4E27-A54E-82ACCCE14D00}' - when '10.7' - portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Portal_for_ArcGIS_Windows_107_167632.exe').gsub('/', '\\') - portal['product_code'] = '{6A640642-4D74-4A2F-8350-92B6371378C5}' - when '10.6.1' - portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Portal_for_ArcGIS_Windows_1061_163979.exe').gsub('/', '\\') - portal['product_code'] = '{ECC6B3B9-A875-4AE3-9C03-8664EB38EED9}' - Chef::Log.warn 'Unsupported Portal for ArcGIS version' - when '10.6' - portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Portal_for_ArcGIS_Windows_106_161831.exe').gsub('/', '\\') - portal['product_code'] = '{FFE4808A-1AD2-41A6-B5AD-2BA312BE6AAA}' - Chef::Log.warn 'Unsupported Portal for ArcGIS version' - when '10.5.1' - portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Portal_for_ArcGIS_Windows_1051_156365.exe').gsub('/', '\\') - portal['product_code'] = '{C7E44FBE-DFA6-4A95-8779-B6C40F3947B7}' - Chef::Log.warn 'Unsupported Portal for ArcGIS version' - when '10.5' - portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Portal_for_ArcGIS_Windows_105_154005.exe').gsub('/', '\\') - portal['product_code'] = '{43EF63C6-957B-4DA7-A222-6904053BF222}' - Chef::Log.warn 'Unsupported Portal for ArcGIS version' - when '10.4.1' - portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Portal_for_ArcGIS_Windows_1041_151932.exe').gsub('/', '\\') - portal['product_code'] = '{31373E04-9B5A-4CD7-B668-0B1DE7F0D45F}' - Chef::Log.warn 'Unsupported Portal for ArcGIS version' - when '10.4' - portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Portal_for_ArcGIS_Windows_104_149434.exe').gsub('/', '\\') - portal['product_code'] = '{FA6FCD2D-114C-4C04-A8DF-C2E43979560E}' - Chef::Log.warn 'Unsupported Portal for ArcGIS version' else Chef::Log.warn 'Unsupported Portal for ArcGIS version' end @@ -190,6 +159,9 @@ portal['data_dir'] = ::File.join(portal_install_dir, portal_install_subdir, 'usr/arcgisportal') + portal['patch_log'] = ::File.join(portal_install_dir, + portal_install_subdir, + '.ESRI_P_PATCH_LOG') portal['authorization_file'] = '' portal['setup'] = ::File.join(node['arcgis']['repository']['setups'], @@ -198,6 +170,9 @@ portal['lp-setup'] = node['arcgis']['server']['setup'] case node['arcgis']['version'] + when '11.0' + portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'Portal_for_ArcGIS_Linux_110_182984.tar.gz') when '10.9.1' portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'Portal_for_ArcGIS_Linux_1091_180199.tar.gz') @@ -210,36 +185,6 @@ when '10.8' portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'Portal_for_ArcGIS_Linux_108_172989.tar.gz') - when '10.7.1' - portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Portal_for_ArcGIS_Linux_1071_169807.tar.gz') - when '10.7' - portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Portal_for_ArcGIS_Linux_107_167718.tar.gz') - when '10.6.1' - portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Portal_for_ArcGIS_Linux_1061_164055.tar.gz') - Chef::Log.warn 'Unsupported Portal for ArcGIS version' - when '10.6' - portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Portal_for_ArcGIS_Linux_106_161809.tar.gz') - Chef::Log.warn 'Unsupported Portal for ArcGIS version' - when '10.5.1' - portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Portal_for_ArcGIS_Linux_1051_156440.tar.gz') - Chef::Log.warn 'Unsupported Portal for ArcGIS version' - when '10.5' - portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Portal_for_ArcGIS_Linux_105_154053.tar.gz') - Chef::Log.warn 'Unsupported Portal for ArcGIS version' - when '10.4.1' - portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Portal_for_ArcGIS_Linux_1041_151999.tar.gz') - Chef::Log.warn 'Unsupported Portal for ArcGIS version' - when '10.4' - portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Portal_for_ArcGIS_Linux_104_149447.tar.gz') - Chef::Log.warn 'Unsupported Portal for ArcGIS version' else Chef::Log.warn 'Unsupported Portal for ArcGIS version' end diff --git a/cookbooks/arcgis-enterprise/attributes/server.rb b/cookbooks/arcgis-enterprise/attributes/server.rb index 857ed6f..154c796 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 2018 Esri +# Copyright 2022 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -79,8 +79,8 @@ server['virtual_dirs_security_enabled'] = false server['allow_direct_access'] = true server['allowed_admin_access_ips'] = '' - server['ports'] = '1098,4000-4004,6006,6080,6099,6443' - server['geoanalytics_ports'] = '2181,2182,2190,7077,12181,12182,12190,56540-56545' + server['ports'] = '1098,6006,6080,6099,6443' + server['geoanalytics_ports'] = '7077,12181,12182,12190,56540-56545' # hash of environment variables to pass to the install command. # e.g. server['install_environment'] = { 'IATEMPDIR' => /var/tmp' } @@ -108,6 +108,8 @@ # disable nodeagent plugins on aws ec2 server['disable_nodeagent_plugins'] = true + server['patches'] = [] + case node['platform'] when 'windows' server['authorization_tool'] = ::File.join(ENV['ProgramW6432'], @@ -125,84 +127,44 @@ server['local_directories_root'] = 'C:\\arcgisserver' case node['arcgis']['version'] + 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' 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' 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' 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['geoanalytics_ports'] = '2181,2182,2190,7077,56540-56545' 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('/', '\\') - when '10.7.1' - server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Server_Windows_1071_169677.exe').gsub('/', '\\') - server['product_code'] = '{08E03E6F-95D3-4D33-A171-E0DC996E08E3}' - default['arcgis']['python']['runtime_environment'] = File.join(node['arcgis']['python']['install_dir'], - "ArcGISx6410.7").gsub('/', '\\') - when '10.7' - server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Server_Windows_107_167621.exe').gsub('/', '\\') - server['product_code'] = '{98D5572E-C435-4841-A747-B4C72A8F76BB}' - default['arcgis']['python']['runtime_environment'] = File.join(node['arcgis']['python']['install_dir'], - "ArcGISx6410.7").gsub('/', '\\') - when '10.6.1' - server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Server_Windows_1061_163968.exe').gsub('/', '\\') - server['product_code'] = '{F62B418D-E9E4-41CE-9E02-167BE4276105}' - default['arcgis']['python']['runtime_environment'] = File.join(node['arcgis']['python']['install_dir'], - "ArcGISx6410.6").gsub('/', '\\') - Chef::Log.warn "Unsupported ArcGIS Server version '#{node['arcgis']['version']}'." - when '10.6' - server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Server_Windows_106_159940.exe').gsub('/', '\\') - server['product_code'] = '{07606F78-D997-43AE-A9DC-0738D91E8D02}' - default['arcgis']['python']['runtime_environment'] = File.join(node['arcgis']['python']['install_dir'], - "ArcGISx6410.6").gsub('/', '\\') - Chef::Log.warn "Unsupported ArcGIS Server version '#{node['arcgis']['version']}'." - when '10.5.1' - server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Server_Windows_1051_156124.exe').gsub('/', '\\') - server['product_code'] = '{40CC6E89-93A4-4D87-A3FB-11413C218D2C}' - default['arcgis']['python']['runtime_environment'] = File.join(node['arcgis']['python']['install_dir'], - "ArcGISx6410.5").gsub('/', '\\') - Chef::Log.warn "Unsupported ArcGIS Server version '#{node['arcgis']['version']}'." - when '10.5' - server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Server_Windows_105_154004.exe').gsub('/', '\\') - server['product_code'] = '{CD87013B-6559-4804-89F6-B6F1A7B31CBC}' - default['arcgis']['python']['runtime_environment'] = File.join(node['arcgis']['python']['install_dir'], - "ArcGISx6410.5").gsub('/', '\\') - Chef::Log.warn "Unsupported ArcGIS Server version '#{node['arcgis']['version']}'." - when '10.4.1' - server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_for_Server_Windows_1041_151921.exe').gsub('/', '\\') - server['product_code'] = '{88A617EF-89AC-418E-92E1-926908C4D50F}' - default['arcgis']['python']['runtime_environment'] = File.join(node['arcgis']['python']['install_dir'], - "ArcGISx6410.4").gsub('/', '\\') - Chef::Log.warn "Unsupported ArcGIS Server version '#{node['arcgis']['version']}'." - when '10.4' - server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_for_Server_Windows_104_149433.exe').gsub('/', '\\') - server['product_code'] = '{687897C7-4795-4B17-8AD0-CB8C364778AD}' - default['arcgis']['python']['runtime_environment'] = File.join(node['arcgis']['python']['install_dir'], - "ArcGISx6410.4").gsub('/', '\\') - Chef::Log.warn "Unsupported ArcGIS Server version '#{node['arcgis']['version']}'." + server['patch_registry'] ='SOFTWARE\\ESRI\\Server10.8\\Updates' + server['geoanalytics_ports'] = '2181,2182,2190,7077,56540-56545' else Chef::Log.warn "Unsupported ArcGIS Server version '#{node['arcgis']['version']}'." end @@ -237,6 +199,9 @@ server['local_directories_root'] = ::File.join(server_install_dir, server_install_subdir, 'usr') + server['patch_log'] = ::File.join(server_install_dir, + server_install_subdir, + '.ESRI_S_PATCH_LOG') server['authorization_file'] = '' server['keycodes'] = ::File.join(node['arcgis']['server']['install_dir'], @@ -249,6 +214,9 @@ server['lp-setup'] = node['arcgis']['server']['setup'] case node['arcgis']['version'] + when '11.0' + server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Server_Linux_110_182973.tar.gz') when '10.9.1' server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Server_Linux_1091_180182.tar.gz') @@ -261,36 +229,6 @@ when '10.8' server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Server_Linux_108_172977.tar.gz') - when '10.7.1' - server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Server_Linux_1071_169796.tar.gz') - when '10.7' - server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Server_Linux_107_167707.tar.gz') - when '10.6.1' - server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Server_Linux_1061_164044.tar.gz') - Chef::Log.warn 'Unsupported ArcGIS Server version' - when '10.6' - server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Server_Linux_106_159989.tar.gz') - Chef::Log.warn 'Unsupported ArcGIS Server version' - when '10.5.1' - server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Server_Linux_1051_156429.tar.gz') - Chef::Log.warn 'Unsupported ArcGIS Server version' - when '10.5' - server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Server_Linux_105_154052.tar.gz') - Chef::Log.warn 'Unsupported ArcGIS Server version' - when '10.4.1' - server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_for_Server_Linux_1041_151978.tar.gz') - Chef::Log.warn 'Unsupported ArcGIS Server version' - when '10.4' - server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_for_Server_Linux_104_149446.tar.gz') - Chef::Log.warn 'Unsupported ArcGIS Server version' else Chef::Log.warn 'Unsupported ArcGIS Server version' end diff --git a/cookbooks/arcgis-enterprise/attributes/webadaptor.rb b/cookbooks/arcgis-enterprise/attributes/webadaptor.rb index 5c2f5bd..fa35295 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 2018 Esri +# Copyright 2022 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,8 @@ web_adaptor['product_codes'] = [] web_adaptor['config_web_adaptor_exe'] = '\\ArcGIS\\WebAdaptor\\IIS\\Tools\\ConfigureWebAdaptor.exe' + web_adaptor['patches'] = [] + case node['platform'] when 'windows' web_adaptor['setup'] = ::File.join(node['arcgis']['repository']['setups'], @@ -33,6 +35,25 @@ web_adaptor['install_dir'] = '' case node['arcgis']['version'] + when '11.0' + web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Web_Adaptor_for_Microsoft_IIS_110_182888.exe').gsub('/', '\\') + web_adaptor['product_codes'] = [ + '{FCC01D4A-1159-41FC-BDB4-4B4E05B3436F}', '{920A1EFA-D4DC-4C6D-895A-93FDD1EDE394}', + '{258F0D35-985B-4104-BCC4-B8F9A4BB89B4}', '{7B128234-C3D8-4274-917F-BC0BCE90887F}', + '{CD160BB2-3AA9-42CE-8BA0-4BFF906E81DE}', '{BBBD3910-2CBB-4418-B5CE-FB349E1E74F0}', + '{594D4267-E702-4BA8-9DF4-DB91DCF94B3E}', '{D2538F6E-E852-4BE0-9D20-61730D977410}', + '{BAB5BA8A-DE70-4F79-9926-D6849C218BF2}', '{E37D4B50-05EC-4128-AC65-10E299693A3C}', + '{2BD1FC31-CFB0-488A-83B3-BEC066423FAA}', '{AA378242-0C2C-4CC2-9E33-B44E0F92577C}', + '{F00D0401-C60F-4AB1-BCF2-ADA00DF40AA9}', '{5AE7F499-C7A3-4477-BBED-3D8B21FF6322}', + '{5147A262-75C3-4CAE-BCF0-09D9EBBF4A24}', '{7D3F3C7C-A40D-42EC-BA38-E04E6B3CFA16}', + '{36305F97-388A-4427-AF76-C4BA8BC2A3DC}', '{BB3F184D-C512-4544-8A7D-76A1F600AEC2}', + '{A4CEFD65-D3DF-4992-AC4A-2CED8894F0BF}', '{36B75654-E4C2-4FF3-B9F7-0D202D1ECAC8}', + '{0E14FDF9-3D6C-48E4-B362-B248B61FC971}' + + ] + web_adaptor['config_web_adaptor_exe'] = '\\ArcGIS\\WebAdaptor\\IIS\\11.0\\Tools\\ConfigureWebAdaptor.exe' + 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('/', '\\') @@ -50,6 +71,7 @@ '{4A3B27C6-7CB1-4DE8-BCB1-221B9A23E2E1}' ] web_adaptor['config_web_adaptor_exe'] = '\\ArcGIS\\WebAdaptor\\IIS\\10.9.1\\Tools\\ConfigureWebAdaptor.exe' + 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('/', '\\') @@ -67,6 +89,7 @@ '{D5CEFB24-D0FD-4C73-8685-205222E08C12}' ] web_adaptor['config_web_adaptor_exe'] = '\\ArcGIS\\WebAdaptor\\IIS\\10.9\\Tools\\ConfigureWebAdaptor.exe' + 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('/', '\\') @@ -83,7 +106,8 @@ '{23EB5093-17EE-45A0-AE9F-C96B6456C15F}', '{BEB8559D-6843-4EED-A2ED-7BA9325EF482}', '{A12D63AE-3DE9-45A0-8799-F2BFF29A1665}' ] - web_adaptor['config_web_adaptor_exe'] = '\\ArcGIS\\WebAdaptor\\IIS\\10.8.1\\Tools\\ConfigureWebAdaptor.exe' + web_adaptor['config_web_adaptor_exe'] = '\\ArcGIS\\WebAdaptor\\IIS\\10.8.1\\Tools\\ConfigureWebAdaptor.exe' + 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('/', '\\') @@ -100,47 +124,8 @@ '{0B5C6775-B1D2-4D41-B233-FC2CDC913FEE}', '{278663A9-7CA3-40D5-84EA-CA7A9CABACB6}', '{9452D085-0F4F-4869-B8B4-D660B4DD8692}' ] - web_adaptor['config_web_adaptor_exe'] = '\\ArcGIS\\WebAdaptor\\IIS\\10.8\\Tools\\ConfigureWebAdaptor.exe' - when '10.7.1' - web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Web_Adaptor_for_Microsoft_IIS_1071_169690.exe').gsub('/', '\\') - web_adaptor['product_codes'] = ['{5ECEF84F-592C-47D1-B7C5-9F3D7E2AB7CE}', '{5F1D01EA-296E-4226-A704-6A90E2916782}'] - web_adaptor['config_web_adaptor_exe'] = '\\ArcGIS\\WebAdaptor\\IIS\\10.7.1\\Tools\\ConfigureWebAdaptor.exe' - when '10.7' - web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Web_Adaptor_for_Microsoft_IIS_107_167634.exe').gsub('/', '\\') - web_adaptor['product_codes'] = ['{F343B520-F769-4D93-86D2-663168AC6975}', '{58A76431-E1A9-4D11-BB89-0D12C6E77C78}'] - web_adaptor['config_web_adaptor_exe'] = '\\ArcGIS\\WebAdaptor\\IIS\\10.7\\Tools\\ConfigureWebAdaptor.exe' - when '10.6.1' - web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Web_Adaptor_for_Microsoft_IIS_1061_163981.exe').gsub('/', '\\') - web_adaptor['product_codes'] = ['{1B4E7470-72F4-4169-92B9-EF1BDF8AE4AF}', '{3FA8B44E-E0E3-4245-A662-6B81E1E75048}'] - Chef::Log.warn 'Unsupported ArcGIS Web Adaptor version' - when '10.6' - web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Web_Adaptor_for_Microsoft_IIS_106_161833.exe').gsub('/', '\\') - web_adaptor['product_codes'] = ['{4FB9D475-9A23-478D-B9F7-05EBA2073FC7}', '{38DBD944-7F0E-48EB-9DCB-98A0567FB062}'] - Chef::Log.warn 'Unsupported ArcGIS Web Adaptor version' - when '10.5.1' - web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Web_Adaptor_for_Microsoft_IIS_1051_156367.exe').gsub('/', '\\') - web_adaptor['product_codes'] = ['{0A9DA130-E764-485F-8C1A-AD78B04AA7A4}', '{B8A6A873-ED78-47CE-A9B4-AB3192C47604}'] - Chef::Log.warn 'Unsupported ArcGIS Web Adaptor version' - when '10.5' - web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Web_Adaptor_for_Microsoft_IIS_105_154007.exe').gsub('/', '\\') - web_adaptor['product_codes'] = ['{87B4BD93-A5E5-469E-9224-8A289C6B2F10}', '{604CF558-B7E1-4271-8543-75E260080DFA}'] - Chef::Log.warn 'Unsupported ArcGIS Web Adaptor version' - when '10.4.1' - web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Web_Adaptor_for_Microsoft_IIS_1041_151933.exe').gsub('/', '\\') - web_adaptor['product_codes'] = ['{F53FEE2B-54DD-4A6F-8545-6865F4FBF6DC}', '{475ACDE5-D140-4F10-9006-C804CA93D2EF}'] - Chef::Log.warn 'Unsupported ArcGIS Web Adaptor version' - when '10.4' - web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Web_Adaptor_for_Microsoft_IIS_104_149435.exe').gsub('/', '\\') - web_adaptor['product_codes'] = ['{B83D9E06-B57C-4B26-BF7A-004BE10AB2D5}', '{E2C783F3-6F85-4B49-BFCD-6D6A57A2CFCE}'] - Chef::Log.warn 'Unsupported ArcGIS Web Adaptor version' + web_adaptor['config_web_adaptor_exe'] = '\\ArcGIS\\WebAdaptor\\IIS\\10.8\\Tools\\ConfigureWebAdaptor.exe' + web_adaptor['patch_registry'] ='SOFTWARE\\WOW6432Node\\ESRI\\ArcGIS Web Adaptor (IIS) 10.8\Updates' else Chef::Log.warn 'Unsupported ArcGIS Web Adaptor version' end @@ -148,6 +133,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'] = [ + '{FCC01D4A-1159-41FC-BDB4-4B4E05B3436F}', '{920A1EFA-D4DC-4C6D-895A-93FDD1EDE394}', # 11.0 + '{258F0D35-985B-4104-BCC4-B8F9A4BB89B4}', '{7B128234-C3D8-4274-917F-BC0BCE90887F}', + '{CD160BB2-3AA9-42CE-8BA0-4BFF906E81DE}', '{BBBD3910-2CBB-4418-B5CE-FB349E1E74F0}', + '{594D4267-E702-4BA8-9DF4-DB91DCF94B3E}', '{D2538F6E-E852-4BE0-9D20-61730D977410}', + '{BAB5BA8A-DE70-4F79-9926-D6849C218BF2}', '{E37D4B50-05EC-4128-AC65-10E299693A3C}', + '{2BD1FC31-CFB0-488A-83B3-BEC066423FAA}', '{AA378242-0C2C-4CC2-9E33-B44E0F92577C}', + '{F00D0401-C60F-4AB1-BCF2-ADA00DF40AA9}', '{5AE7F499-C7A3-4477-BBED-3D8B21FF6322}', + '{5147A262-75C3-4CAE-BCF0-09D9EBBF4A24}', '{7D3F3C7C-A40D-42EC-BA38-E04E6B3CFA16}', + '{36305F97-388A-4427-AF76-C4BA8BC2A3DC}', '{BB3F184D-C512-4544-8A7D-76A1F600AEC2}', + '{A4CEFD65-D3DF-4992-AC4A-2CED8894F0BF}', '{36B75654-E4C2-4FF3-B9F7-0D202D1ECAC8}', + '{0E14FDF9-3D6C-48E4-B362-B248B61FC971}', '{BC399DA9-62A6-4978-9B75-32F46D3737F7}', '{F48C3ABF-AF5F-4326-9876-E748DB244DB7}', # 10.9.1 '{AC4AD5BF-E0B4-4EE6-838E-93EE66D986EF}', '{F96ECEFD-2015-4275-B15D-363F53407390}', '{21B1638E-47E7-4147-B739-EB341F99986F}', '{78ABEA6E-4832-4087-B7BB-04746D1E83E8}', @@ -191,95 +187,7 @@ '{720EDDD5-B0FD-4E53-8F80-0F328EA8ABE0}', '{5FBFC270-1AEE-4E41-B7A2-47F7C742EF95}', '{A46D3ECC-39D2-459C-9BC3-1C780CA5BCF1}', '{CAE80A6F-8046-47CE-B3F6-D2ACEDDDA99A}', '{0B5C6775-B1D2-4D41-B233-FC2CDC913FEE}', '{278663A9-7CA3-40D5-84EA-CA7A9CABACB6}', - '{9452D085-0F4F-4869-B8B4-D660B4DD8692}', - '{5ECEF84F-592C-47D1-B7C5-9F3D7E2AB7CE}', '{5F1D01EA-296E-4226-A704-6A90E2916782}', # 10.7.1 - '{7368D3C8-F13B-4786-AE38-B51952F43867}', '{2C838C64-DF81-4A64-8618-072AD30D51C1}', - '{D4054E1B-C75C-4F69-BBB7-DBE77250F345}', '{C2C75F23-3E15-43E4-A902-673569F3F0DF}', - '{F633A04F-D08B-4EBF-B746-00ADA0334CE3}', '{7D13D8C5-751F-44B1-BEAE-C9EB8E13FDF8}', - '{ACAA0479-B7C5-44A1-B5FD-34A018EA2137}', '{E0343824-0C94-4A6C-96F7-AA5E1D8F8437}', - '{8D108926-DC71-493D-B2C9-8BAE04DD9047}', '{A19DF635-25F0-4371-AC42-A4EECAF8BD75}', - '{78F54FC8-C530-4D7E-91CC-48B9BC364535}', '{CEFB5C80-707B-471A-B8BF-5EC333F1A8B2}', - '{BE892BB6-842B-4A18-A0B7-E89C5AAAD1A3}', '{A11006D2-3C1A-4D56-917D-4417D3341ADD}', - '{763E3951-E827-492B-8E86-F526F251083E}', '{57C506AE-3BB7-4936-9154-7A2744735456}', - '{4E2BA3D3-EFD2-4FCE-91C0-1D15457F8F08}', '{1BBB3C99-8EF5-4225-B5DD-799E50582BF7}', - '{F6E99E06-B303-4965-9566-2F21EE7FD130}', - '{F343B520-F769-4D93-86D2-663168AC6975}', '{58A76431-E1A9-4D11-BB89-0D12C6E77C78}', # 10.7 - '{E7B9D4A3-4E55-49F8-B34C-CA8745FFD894}', '{D89709DB-8B6D-431A-95D4-FFEB69C474D5}', - '{858283F5-B9E9-4688-BF3C-BD3F3FD169D8}', '{DE2BA579-D2F0-4068-9C52-8AC24022F13D}', - '{48405A7D-CFA4-4F6F-BB8C-B36A22E99B07}', '{BEC99E10-7AB1-4B90-9C81-D2CBFCAD4239}', - '{C0C178B9-EBC6-46C5-B009-186661E9AEA3}', '{0D5F9D8E-B221-4C74-87C3-13050F906A94}', - '{52EC0A7A-9BBA-4F47-9C52-2E1D1D09D9B4}', '{6CF9C794-AEC2-45EF-A11A-83938F01A1E9}', - '{F36AF2F5-2E37-409B-9E71-D2D2B1D4A22F}', '{4F54A93E-2F0F-4515-99AA-83BF88961D5F}', - '{A04ACEF7-4E22-4F4F-8608-9FD335572C6F}', '{0D562427-2AB5-46C6-998E-4C33D642DE10}', - '{8C15E459-D24F-46E0-B945-CD4812A040AC}', '{24821676-BD09-49CA-95B4-591BBE86118A}', - '{3C4D06FD-8194-4062-AB04-E87003CBE908}', '{71044157-41F9-4AEC-B6B1-834FBA256135}', - '{C4ECCD46-EC43-4C44-8147-916649A2BA1B}', - '{1B4E7470-72F4-4169-92B9-EF1BDF8AE4AF}', '{3FA8B44E-E0E3-4245-A662-6B81E1E75048}', # 10.6.1 - '{8D6EE2C0-A393-49CD-A048-1D9FD435D7B8}', '{6C05375F-78A5-4DF7-A157-C2A6E0D7BAD2}', - '{1F1EEC9F-80D5-48DD-B8BC-EB3D0404D9AD}', '{2CA5FC7F-1165-4870-9C16-004ACC848435}', - '{E23D8BB8-0FEB-4316-8E09-80772FD1B5E0}', '{C67E73AB-8278-49C9-9CA8-A714E20B8124}', - '{E527C0BD-E026-46D8-9461-2A7EEFBDA35A}', '{D5DF4279-E3FF-4261-AB85-93F8BDE90D8D}', - '{8D439456-493A-4B48-A542-492AABD9CF7D}', '{D61CE1AE-2DB8-4D46-AC7F-3BEAB7C29A59}', - '{9B07A4CE-58C6-4689-B37B-EFF565712CF2}', '{C97C2CEF-F939-496E-8CB7-8756856CBBC6}', - '{59079961-A0BA-48DD-9B07-45437FCBC42A}', '{5372DAF1-7EB6-4822-843E-0B2F7A7B052B}', - '{D807F4E9-0F87-4B3C-8F93-456251226187}', '{7BEB71AD-3958-41FB-8EC3-64DBE4775760}', - '{286D4CB5-777E-4AA1-B2EB-D6A3A4212107}', '{37F3B528-915F-4528-949B-F199E4B3B4AA}', - '{6FEB4C76-14AC-4A70-BE45-6CBAED529CAF}', - '{4FB9D475-9A23-478D-B9F7-05EBA2073FC7}', '{38DBD944-7F0E-48EB-9DCB-98A0567FB062}', # 10.6 - '{8214B9D8-49D9-43DB-8632-AE2BAD4B21E9}', '{B3FD1FE3-4851-4657-9754-73876D4CB265}', - '{88CDE5E9-23B8-4077-9E69-9CD3715BE805}', '{E7630CBC-96DE-4665-9C2A-D682CFFD5B0E}', - '{E2601F84-D2E5-4DD4-B0EC-6AED75CB77D9}', '{75FB755F-AF36-484E-98A8-FADA56574D25}', - '{AA32D01D-27CD-4842-90CF-F22C1BD6309B}', '{CF126207-4C89-44AA-8783-9BAA2BA5F106}', - '{9F8694BE-613F-4195-AA42-B849E84D059A}', '{2C3BE00F-57BE-4D0B-81BC-3378D823CF0E}', - '{EAC54B65-D6BC-41DC-8C82-5E99D7FD4271}', '{76C17CB6-106C-41F8-89BA-41C086E69238}', - '{4493EB64-CAE0-439F-8FA6-897677D5A6C8}', '{0C59A27D-B4B6-4A23-8873-897B870F6E2B}', - '{B46B6E63-D8E1-4EA4-9A9B-D98DFAA6644D}', '{89E6330E-6139-4F4B-BA9F-ACD59065230D}', - '{238E647E-53DF-4B8B-B436-ADA5004065DE}', '{30EF8944-904A-45D3-96D4-7DF3B0FE01D5}', - '{06012CC0-5C12-4499-B5CC-99E9D547A2FD}', - '{0A9DA130-E764-485F-8C1A-AD78B04AA7A4}', '{B8A6A873-ED78-47CE-A9B4-AB3192C47604}', # 10.5.1 - '{7DEAE915-5FAC-4534-853D-B4FC968DBDEB}', '{AC10F3CF-A5C1-44B0-8271-27F26D323D14}', - '{5F748B0C-3FB6-42FF-A82D-C1573D3C1469}', '{428DE39D-BF23-42B5-A70E-F5DD5DD21C2C}', - '{98B1DE9B-0ECF-4CAA-A29A-B89B2E8F38F1}', '{4876508B-31CF-4328-BE11-FFF1B07A3923}', - '{D803A89F-4762-4EFD-8219-55F4C3047EDE}', '{4A5F404B-391F-4D13-9EE4-5B9AC434FD5A}', - '{99FFFA13-2A40-4AA4-AAC1-9891F2515DB1}', '{2B04DE60-3E79-4B44-9A93-40CAC72DE2FB}', - '{D595C9E2-BBA0-4708-A871-1166CD0CFB61}', '{50825C57-5040-436D-B64C-A53FFB897E9D}', - '{5D750A11-BC80-45CE-B0DD-33BA8A5D8224}', '{60390703-9077-4DDE-8BB1-A025AB0FE75B}', - '{BF75DC6C-F1A5-4A3C-A6A6-76BCB5DB5881}', '{96B29B2F-888A-4C2B-B8C3-97E9A7849F2F}', - '{7FDD9158-2E93-4E12-A249-CD9D5445C527}', '{A868CBAC-D9A2-41A7-8A5B-069AB63FEC7B}', - '{83462AE4-27BB-4B63-9E3E-F435BD03BB12}', - '{87B4BD93-A5E5-469E-9224-8A289C6B2F10}', '{604CF558-B7E1-4271-8543-75E260080DFA}', # 10.5 - '{9666ABD8-8485-4383-B3DD-4D1598F582A3}', '{58264BBA-5F61-41D9-839A-00B6C2C66A63}', - '{5988C905-772F-4F62-8339-1796C38674B7}', '{ADD5FF4F-EB57-4460-BD33-D55562AE6FA7}', - '{3294151B-CA4C-4A89-BBC7-DCE521D8A327}', '{EF65064A-96C8-4EA1-B76D-B9BCC97EF76A}', - '{6B2FA0A8-6F2C-4359-B7A4-D2F9FD63EE97}', '{ACF59C57-A613-44CC-A927-1D8C2B280516}', - '{2E5E4CDE-9964-4B40-A1F1-843C62AC789E}', '{2901A5D3-C16D-4993-A306-86261B0430B1}', - '{AC910B51-6077-4055-B042-D72CA0D23D69}', '{8F36D583-35F0-43F2-8F8F-5B696F87183A}', - '{37C2CAE2-4A81-4289-B318-93D63C63AA47}', '{CC345B69-1E26-4C56-B640-92BCBADBDF06}', - '{F0FAE80D-0C51-4D9D-A79B-057396A2456D}', '{5BA355D1-D9B6-4CA0-B1C6-694377084464}', - '{25118D44-AD2D-423F-85F0-5D730A2691B7}', '{D4855344-CEE0-47A3-BD50-D7E2A674D04E}', - '{9CD66AA3-F0DA-46CC-A5DD-0BB5B23499AD}', - '{F53FEE2B-54DD-4A6F-8545-6865F4FBF6DC}', '{475ACDE5-D140-4F10-9006-C804CA93D2EF}', # 10.4.1 - '{0547D7D8-7188-4103-9387-A99FE15215AF}', '{25DFAFFF-07CE-42A2-B157-541D7980A3DA}', - '{771998A8-A440-4F5F-B55A-0FE2C594208B}', '{C120DC32-DBEA-4CB1-94E4-F50A7EE09F5C}', - '{3294151B-CA4C-4A89-BBC7-DCE521D8A327}', '{E04FB941-248D-4806-9871-04DB306EEA91}', - '{66CD667D-440D-4CF1-9ECB-C6C77A7A0520}', '{7938463B-E744-4332-8617-39E91B10FC15}', - '{C22C2AF5-D58E-4A4D-85DF-E3A38C83F37A}', '{9AF62D15-755B-43DE-878A-DBA23D33B28A}', - '{D4F22207-C5FA-49B0-9466-9E4D37435882}', '{C8ADE9B2-3BC8-4417-97D0-785BA0CD86D9}', - '{C85A40C5-00B9-4CDE-9299-397BFD5A2EAF}', '{E0BD73FB-4028-4A5D-9A24-9FA0BD614D4B}', - '{83CF76EC-F959-46B3-9067-F59B2A846D2F}', '{F7D6BD55-8D07-4A57-8284-ADACE0F567D8}', - '{C56A0E47-D4E1-4762-9BAF-07A19A154EE6}', '{09AC608B-7CE4-4280-9F4E-F2988A58428D}', - '{5695B2B6-A25E-4013-B5F8-30686FDDFE0D}', - '{B83D9E06-B57C-4B26-BF7A-004BE10AB2D5}', '{E2C783F3-6F85-4B49-BFCD-6D6A57A2CFCE}', # 10.4 - '{901578F9-BC82-498D-A008-EC3F53F6C943}', '{E3849BEC-6CAF-463F-8EFA-169116A32554}', - '{EE889E4F-85C7-4B8A-9DAA-5103C9E14FD6}', '{89D96D88-CC2F-4E9B-84DD-5C976A4741EE}', - '{0913DB77-F27B-4FDE-9F51-01BB97BBEBB9}', '{99B6A03C-D208-4E2E-B374-BA7972334396}', - '{A0F3D072-0CD1-43D7-AFDA-8F47B15C217C}', '{0FE26871-21C3-4561-B52E-A8FED5C8E821}', - '{1D1F3C15-F368-44AF-9728-6CF031D478AF}', '{CE5EC52D-B54D-4381-9F6E-2C08F7721620}', - '{E71AEC5B-25F0-47E5-B52C-847A1B779E48}', '{5DA1F056-A3F1-46D5-8F2E-74E72F85B51B}', - '{1EB3D37A-902A-43E2-9EAA-1B43BA10C369}', '{839FFEB7-76B5-4CBB-A05E-E2276FC3421D}', - '{594E1C33-1C6D-49B4-A83F-2A780193B75F}', '{34330B0C-34CD-4DCF-A68D-FDE7A1834659}', - '{42A96EC7-7CA9-4F68-B946-E9BF84713605}', '{A1A8DAE4-B6F9-446F-8F6A-487F1E07A434}', - '{3BF277C6-6A88-4F72-A08C-54F1E45F44E5}' + '{9452D085-0F4F-4869-B8B4-D660B4DD8692}' ] else # node['platform'] == 'linux' web_adaptor['setup'] = ::File.join(node['arcgis']['repository']['setups'], @@ -288,6 +196,9 @@ web_adaptor['lp-setup'] = node['arcgis']['web_adaptor']['setup'] case node['arcgis']['version'] + when '11.0' + web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Web_Adaptor_Java_Linux_110_182987.tar.gz') when '10.9.1' web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Web_Adaptor_Java_Linux_1091_180206.tar.gz') @@ -300,42 +211,28 @@ when '10.8' web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'Web_Adaptor_Java_Linux_108_172992.tar.gz') - when '10.7.1' - web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Web_Adaptor_Java_Linux_1071_169645.tar.gz') - when '10.7' - web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Web_Adaptor_Java_Linux_107_167720.tar.gz') - when '10.6.1' - web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Web_Adaptor_Java_Linux_1061_164057.tar.gz') - Chef::Log.warn 'Unsupported ArcGIS Web Adaptor version' - when '10.6' - web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Web_Adaptor_Java_Linux_106_161911.tar.gz') - Chef::Log.warn 'Unsupported ArcGIS Web Adaptor version' - when '10.5.1' - web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Web_Adaptor_Java_Linux_1051_156442.tar.gz') - Chef::Log.warn 'Unsupported ArcGIS Web Adaptor version' - when '10.5' - web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Web_Adaptor_Java_Linux_105_154055.tar.gz') - Chef::Log.warn 'Unsupported ArcGIS Web Adaptor version' - when '10.4.1' - web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Web_Adaptor_Java_Linux_1041_152000.tar.gz') - Chef::Log.warn 'Unsupported ArcGIS Web Adaptor version' - when '10.4' - web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Web_Adaptor_Java_Linux_104_149448.tar.gz') - Chef::Log.warn 'Unsupported ArcGIS Web Adaptor version' else Chef::Log.warn 'Unsupported ArcGIS Web Adaptor version' end web_adaptor['install_dir'] = '/' web_adaptor['install_subdir'] = "arcgis/webadaptor#{node['arcgis']['version']}" + + if node['arcgis']['web_adaptor']['install_dir'].nil? + wa_install_dir = web_adaptor['install_dir'] + else + wa_install_dir = node['arcgis']['web_adaptor']['install_dir'] + end + + if node['arcgis']['web_adaptor']['install_subdir'].nil? + wa_install_subdir = web_adaptor['install_subdir'] + else + wa_install_subdir = node['arcgis']['web_adaptor']['install_subdir'] + end + + web_adaptor['patch_log'] = ::File.join(wa_install_dir, + wa_install_subdir, + '.ESRI_WA_PATCH_LOG') end web_adaptor['setup_options'] = '' diff --git a/cookbooks/arcgis-enterprise/attributes/webstyles.rb b/cookbooks/arcgis-enterprise/attributes/webstyles.rb index c263f96..36bbf4d 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 2019 Esri +# Copyright 2022 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.0' + webstyles['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'Portal_for_ArcGIS_Web_Styles_Windows_110_182886.exe').tr('/', '\\') + webstyles['product_code'] = '{CCA0635D-E306-4C42-AB81-F4032D731397}' when '10.9.1' webstyles['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'Portal_for_ArcGIS_Web_Styles_Windows_1091_180053.exe').tr('/', '\\') @@ -40,10 +44,6 @@ webstyles['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'Portal_for_ArcGIS_Web_Styles_Windows_108_172871.exe').tr('/', '\\') webstyles['product_code'] = '{EF31CB36-2EB4-4FD3-A451-AC12FD22A582}' - when '10.7.1' - webstyles['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Web_Styles_Windows_1071_170272.exe').tr('/', '\\') - webstyles['product_code'] = '{B2E42A8D-1EE9-4610-9932-D0FCFD06D2AF}' else Chef::Log.warn 'Unsupported ArcGIS Web Styles version' end @@ -53,10 +53,12 @@ 'WebStyles', 'WebStyles-Setup.sh') case node['arcgis']['version'] + when '11.0' + webstyles['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'Portal_for_ArcGIS_Web_Styles_Linux_110_182985.tar.gz') when '10.9.1' webstyles['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'Portal_for_ArcGIS_Web_Styles_Linux_1091_180201.tar.gz') - when '10.9' webstyles['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'Portal_for_ArcGIS_Web_Styles_Linux_109_177886.tar.gz') @@ -66,9 +68,6 @@ when '10.8' webstyles['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'Portal_for_ArcGIS_Web_Styles_Linux_108_172990.tar.gz') - when '10.7.1' - webstyles['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Web_Styles_Linux_1071_170273.tar.gz') else Chef::Log.warn 'Unsupported ArcGIS Web Styles version' end diff --git a/cookbooks/arcgis-enterprise/libraries/utils.rb b/cookbooks/arcgis-enterprise/libraries/utils.rb index 0c2778b..39746a3 100644 --- a/cookbooks/arcgis-enterprise/libraries/utils.rb +++ b/cookbooks/arcgis-enterprise/libraries/utils.rb @@ -20,6 +20,7 @@ if RUBY_PLATFORM =~ /mswin|mingw32|windows/ require 'win32/registry' + require 'win32ole' end # @@ -90,6 +91,74 @@ def self.product_installed?(product_code) self.product_key_exists?('SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\' + product_code) end + # Retrieves patch display name from MSP file + def self.get_patch_info(msp_path) + installer = WIN32OLE.new('WindowsInstaller.Installer') + database = installer.OpenDatabase(msp_path, 32) + summary = database.SummaryInformation + return { + :display_name => summary.Property(2), + :qfe_id => summary.Property(3), + :product_code => summary.Property(7), + :patch_code => summary.Property(9) + } + end + + def self.windows_patch_installed?(msp_path, patch_registry) + begin + patch_info = self.get_patch_info(msp_path) + + if patch_registry.nil? + key = Win32::Registry::HKEY_LOCAL_MACHINE.open('SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall', ::Win32::Registry::KEY_READ | 0x100) + + key.each_key() do |subkey| + reg = key.open(subkey, ::Win32::Registry::KEY_READ | 0x100) + + begin + if reg['DisplayName'] == patch_info[:display_name] + reg.close() + key.close() + return true + end + rescue + end + + reg.close() + end + + key.close() + else # Look for the QFE ID in HKLM:\SOFTWARE\ESRI\* registry keys + key = Win32::Registry::HKEY_LOCAL_MACHINE.open(patch_registry, ::Win32::Registry::KEY_READ | 0x100) + + key.each_key() do |subkey| + reg = key.open(subkey, ::Win32::Registry::KEY_READ | 0x100) + + begin + if reg['QFE_ID'] == patch_info[:qfe_id] + reg.close() + key.close() + return true + end + rescue + end + + reg.close() + end + + key.close() + end + rescue + end + + return false + end + + def self.linux_patch_installed?(patch_path, patch_log) + return false if patch_log.nil? || !::File.exists?(patch_log) + qfe_file = ::File.basename(patch_path) + return ::File.open(patch_log).each_line.any? { |line| line.include?(qfe_file) } + end + def self.wa_instance(product_code) begin key = Win32::Registry::HKEY_LOCAL_MACHINE.open( diff --git a/cookbooks/arcgis-enterprise/metadata.rb b/cookbooks/arcgis-enterprise/metadata.rb index 6138c47..7263c2e 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 '3.8.0' -chef_version '>= 13.0' if defined? chef_version +version '4.0.0' +chef_version '>= 14.0' if defined? chef_version -depends 'arcgis-repository', '~> 3.8' +depends 'arcgis-repository', '~> 4.0' depends 'hostsfile', '~> 3.0' depends 'limits', '~> 1.0' depends 'windows', '~> 5.3' @@ -26,12 +26,16 @@ recipe 'arcgis-enterprise::clean', 'Deletes local directories created by ArcGIS software' recipe 'arcgis-enterprise::datastore', 'Installs and configures ArcGIS Data Store on primary machine' recipe 'arcgis-enterprise::datastore_standby', 'Installs and configures ArcGIS Data Store on standby machine' -recipe 'arcgis-enterprise::disable_geoanalytics', 'Resets the big data analytics configuration on Portal for ArcGIS' +recipe 'arcgis-enterprise::disable_geoanalytics', 'Resets the big data analytics configuration in the Portal for ArcGIS' +recipe 'arcgis-enterprise::disable_imagehosting', 'Resets the image hosting configuration in the Portal for ArcGIS' +recipe 'arcgis-enterprise::disable_knowledgeserver', 'Resets the knowledge server configuration in the Portal for ArcGIS' recipe 'arcgis-enterprise::disable_loopback_check', 'Enables filesharing via a DNS Alias' recipe 'arcgis-enterprise::disable_rasteranalytics', 'Resets raster analytics configuration on Portal for ArcGIS' recipe 'arcgis-enterprise::egdb', 'Registers GeoDatabases with server' -recipe 'arcgis-enterprise::enable_geoanalytics', 'Configures the ArcGIS Portal to perform big data analytics' -recipe 'arcgis-enterprise::enable_rasteranalytics', 'Configures the ArcGIS Portal to raster analytics' +recipe 'arcgis-enterprise::enable_geoanalytics', 'Enables big data analytics in the Portal for ArcGIS' +recipe 'arcgis-enterprise::enable_imagehosting', 'Enables image hosting in the Portal for ArcGIS' +recipe 'arcgis-enterprise::enable_knowledgeserver', 'Enables creating knowledge graphs in the Portal for ArcGIS' +recipe 'arcgis-enterprise::enable_rasteranalytics', 'Enables raster analytics in the Portal for ArcGIS' recipe 'arcgis-enterprise::enterprise_installed', 'Installs ArcGIS Server, Data Store, Portal, and Web Adaptors for Server and Portals' recipe 'arcgis-enterprise::enterprise_uninstalled', 'Uninstalls all ArcGIS software of the specified version' recipe 'arcgis-enterprise::enterprise_validate', 'Checks if ArcGIS Server setups and authorization files exist' @@ -43,8 +47,8 @@ recipe 'arcgis-enterprise::install_portal', 'Installs Portal for ArcGIS' recipe 'arcgis-enterprise::install_server_wa', 'Installs Web Adaptor for ArcGIS Server' recipe 'arcgis-enterprise::install_server', 'Installs ArcGIS Server' +recipe 'arcgis-enterprise::install_patches', 'Installs hot fixes and patches for ArcGIS Enterprise software' recipe 'arcgis-enterprise::ip-install', 'Installs language packs for ArcGIS Enterprise software' -recipe 'arcgis-enterprise::patches', 'Installs hot fixes and patches for ArcGIS Enterprise software' recipe 'arcgis-enterprise::portal', 'Installs and configures Portal for ArcGIS on primary machine' recipe 'arcgis-enterprise::portal_stanby', 'Installs and configures Portal for ArcGIS on standby machine' recipe 'arcgis-enterprise::portal_wa', 'Installs Web Adaptor and configures it with Portal for ArcGIS' diff --git a/cookbooks/arcgis-enterprise/providers/datastore.rb b/cookbooks/arcgis-enterprise/providers/datastore.rb index eb2c32d..4edbb71 100644 --- a/cookbooks/arcgis-enterprise/providers/datastore.rb +++ b/cookbooks/arcgis-enterprise/providers/datastore.rb @@ -402,7 +402,7 @@ # At 10.8 tilecache backup location is no longer registered by default # therefore --operation register needs to be used. - if %w[tilecache spatiotemporal].include?(@new_resource.store) && Gem::Version.new(node['arcgis']['version']) >= Gem::Version.new('10.8') + if %w[tilecache spatiotemporal graph].include?(@new_resource.store) && Gem::Version.new(node['arcgis']['version']) >= Gem::Version.new('10.8') operation = 'register' end diff --git a/cookbooks/arcgis-enterprise/providers/patches.rb b/cookbooks/arcgis-enterprise/providers/patches.rb index e4f54f5..083ce88 100644 --- a/cookbooks/arcgis-enterprise/providers/patches.rb +++ b/cookbooks/arcgis-enterprise/providers/patches.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Provider:: patches # -# Copyright 2018 Esri +# Copyright 2022 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -19,23 +19,97 @@ use_inline_resources if defined?(use_inline_resources) action :install do - if node['platform'] == 'windows' - # Dir.glob() doesn't support backslashes within a path, so they will be replaces on Windows - patch_folder = node['arcgis']['repository']['patches'].gsub('\\','/') + # Dir.glob() doesn't support backslashes within a path, so they will be replaces on Windows + patch_file = ::File.join(@new_resource.patch_folder, @new_resource.patch).gsub('\\','/') + patch_registry = @new_resource.patch_registry - # get all patches within the specified folder and register them - Dir.glob("#{patch_folder}/**/*").each do |patch| - windows_package "Install #{patch}" do - action :install + if node['platform'] == 'windows' + # Get all windows patches within the specified file names and install them. + # The file name may include wildcards like '*.msp' + Dir.glob(patch_file).each do |patch| + windows_package patch do source patch installer_type :custom options '/qn' timeout 3600 # one hour + not_if { Utils.windows_patch_installed?(patch, patch_registry) } + action :install end - end - new_resource.updated_by_last_action(true) + new_resource.updated_by_last_action(true) + end else - throw "This function is not yet supported on this platform." + # Get all linux patches within the specified folder and install them. + Dir.glob(patch_file).each do |patch| + if Utils.linux_patch_installed?(patch, @new_resource.patch_log) + Chef::Log.info("Patch '#{patch}' is already installed.") + else + Chef::Log.info("Installing '#{patch}' patch...") + + Dir.mktmpdir do |repo| + # Extract patch from the archive + if patch.end_with?('.gz') + args = "xzvf \"#{patch}\" -C \"#{repo}\"" + else + args = "xvf \"#{patch}\" -C \"#{repo}\"" + end + + cmd = Mixlib::ShellOut.new("tar #{args}", { :timeout => 360 }) + cmd.run_command + cmd.error! + + run_as_user = @new_resource.run_as_user + + FileUtils.chown_R(run_as_user, nil, repo) + + # Run 'applypatch' script if it exists + Dir.glob("#{repo}/*/applypatch").each do |applypatch| + args = "-s" + args += " -#{@new_resource.product}" unless @new_resource.product.nil? + + Chef::Log.debug("\"#{applypatch}\" #{args}") + + if node['arcgis']['run_as_superuser'] + cmd = Mixlib::ShellOut.new("su #{run_as_user} -c \"#{applypatch} #{args}\"", + { :timeout => 3600 }) + else + cmd = Mixlib::ShellOut.new("\"#{applypatch}\" #{args}", + {:user => run_as_user, :timeout => 3600 }) + end + + cmd.run_command + + if (cmd.error? && cmd.stdout.include?('This patch is already installed.')) + Chef::Log.info(cmd.stdout) + else + cmd.error! + end + end + + # Run 'Patch.sh' script if it exists + Dir.glob("#{repo}/*/Patch.sh").each do |patch_sh| + Chef::Log.debug("\"#{patch_sh}\"") + + if node['arcgis']['run_as_superuser'] + cmd = Mixlib::ShellOut.new("su #{run_as_user} -c \"#{patch_sh}\"", + { :timeout => 3600 }) + else + cmd = Mixlib::ShellOut.new("\"#{patch_sh}\"", + {:user => run_as_user, :timeout => 3600 }) + end + + cmd.run_command + + if (cmd.error? && cmd.stdout.include?('this product is already installed.')) + Chef::Log.info(cmd.stdout) + else + cmd.error! + end + end + end + end + + new_resource.updated_by_last_action(true) + end end -end \ No newline at end of file +end diff --git a/cookbooks/arcgis-enterprise/providers/webadaptor.rb b/cookbooks/arcgis-enterprise/providers/webadaptor.rb index 37c3e6e..2aeaca5 100644 --- a/cookbooks/arcgis-enterprise/providers/webadaptor.rb +++ b/cookbooks/arcgis-enterprise/providers/webadaptor.rb @@ -70,7 +70,7 @@ end cmd = @new_resource.setup - args = "/qn ACCEPTEULA=Yes VDIRNAME=#{@new_resource.instance_name} #{@new_resource.setup_options}" + args = "/qn ACCEPTEULA=Yes CONFIGUREIIS=TRUE VDIRNAME=#{@new_resource.instance_name} #{@new_resource.setup_options}" cmd = Mixlib::ShellOut.new("\"#{cmd}\" #{args}", {:timeout => 3600}) cmd.run_command diff --git a/cookbooks/arcgis-enterprise/providers/webstyles.rb b/cookbooks/arcgis-enterprise/providers/webstyles.rb index 873c573..2fc533c 100644 --- a/cookbooks/arcgis-enterprise/providers/webstyles.rb +++ b/cookbooks/arcgis-enterprise/providers/webstyles.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Provider:: webstyles # -# Copyright 2019 Esri +# Copyright 2022 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -81,3 +81,29 @@ new_resource.updated_by_last_action(true) end + +action :uninstall do + if node['platform'] == 'windows' + cmd = 'msiexec' + args = "/qn /x #{@new_resource.product_code}" + + cmd = Mixlib::ShellOut.new("\"#{cmd}\" #{args}", {:timeout => 10800}) + cmd.run_command + cmd.error! + else + install_subdir = ::File.join(@new_resource.install_dir, + node['arcgis']['portal']['install_subdir']) + cmd = ::File.join(install_subdir, 'uninstall_WebStyles.sh') + run_as_user = @new_resource.run_as_user + + if node['arcgis']['run_as_superuser'] + cmd = Mixlib::ShellOut.new("su #{run_as_user} -c \"#{cmd}\"", { :timeout => 3600 }) + else + cmd = Mixlib::ShellOut.new("#{cmd}", {:user => run_as_user, :timeout => 3600}) + end + cmd.run_command + cmd.error! + end + + new_resource.updated_by_last_action(true) +end diff --git a/cookbooks/arcgis-enterprise/recipes/disable_knowledgeserver.rb b/cookbooks/arcgis-enterprise/recipes/disable_knowledgeserver.rb new file mode 100644 index 0000000..26b12b0 --- /dev/null +++ b/cookbooks/arcgis-enterprise/recipes/disable_knowledgeserver.rb @@ -0,0 +1,32 @@ +# +# Cookbook Name:: arcgis +# Recipe:: disable_knowledgeserver +# +# Copyright 2022 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. +# + +arcgis_enterprise_portal "Disable KnowledgeServer" do + portal_url node['arcgis']['portal']['private_url'] + username node['arcgis']['portal']['admin_username'] + password node['arcgis']['portal']['admin_password'] + server_url node['arcgis']['server']['web_context_url'] + server_admin_url node['arcgis']['server']['private_url'] + server_username node['arcgis']['server']['admin_username'] + server_password node['arcgis']['server']['admin_password'] + is_hosting node['arcgis']['server']['is_hosting'] + server_function '' + action :enable_server_function +end + diff --git a/cookbooks/arcgis-enterprise/recipes/enable_knowledgeserver.rb b/cookbooks/arcgis-enterprise/recipes/enable_knowledgeserver.rb new file mode 100644 index 0000000..b37caff --- /dev/null +++ b/cookbooks/arcgis-enterprise/recipes/enable_knowledgeserver.rb @@ -0,0 +1,31 @@ +# +# Cookbook Name:: arcgis-enterprise +# Recipe:: enable_knowledgeserver +# +# Copyright 2022 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. +# + +arcgis_enterprise_portal "Enable KnowledgeServer" do + portal_url node['arcgis']['portal']['private_url'] + username node['arcgis']['portal']['admin_username'] + password node['arcgis']['portal']['admin_password'] + server_url node['arcgis']['server']['web_context_url'] + server_admin_url node['arcgis']['server']['private_url'] + server_username node['arcgis']['server']['admin_username'] + server_password node['arcgis']['server']['admin_password'] + is_hosting node['arcgis']['server']['is_hosting'] + server_function 'KnowledgeServer' + action :enable_server_function +end diff --git a/cookbooks/arcgis-enterprise/recipes/enterprise_uninstalled.rb b/cookbooks/arcgis-enterprise/recipes/enterprise_uninstalled.rb index 1bee18e..690f1eb 100644 --- a/cookbooks/arcgis-enterprise/recipes/enterprise_uninstalled.rb +++ b/cookbooks/arcgis-enterprise/recipes/enterprise_uninstalled.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Recipe:: enterprise_uninstalled # -# Copyright 2015 Esri +# Copyright 2022 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -57,6 +57,21 @@ action :uninstall end +arcgis_enterprise_webstyles 'Uninstall ArcGIS Web Styles' do + install_dir node['arcgis']['portal']['install_dir'] + product_code node['arcgis']['webstyles']['product_code'] + run_as_user node['arcgis']['run_as_user'] + if node['platform'] == 'windows' + only_if { Utils.product_installed?(node['arcgis']['webstyles']['product_code']) } + else + only_if { EsriProperties.product_installed?(node['arcgis']['run_as_user'], + node['hostname'], + node['arcgis']['version'], + :ArcGISPortal_WebStyles) } + end + action :uninstall +end + arcgis_enterprise_portal 'Uninstall Portal for ArcGIS' do install_dir node['arcgis']['portal']['install_dir'] product_code node['arcgis']['portal']['product_code'] diff --git a/cookbooks/arcgis-enterprise/recipes/install_patches.rb b/cookbooks/arcgis-enterprise/recipes/install_patches.rb new file mode 100644 index 0000000..df54640 --- /dev/null +++ b/cookbooks/arcgis-enterprise/recipes/install_patches.rb @@ -0,0 +1,124 @@ +# +# Cookbook Name:: arcgis-enterprise +# Recipe:: install_patches +# +# Copyright 2022 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. +# + +# Install Portal for ArcGIS patches + +arcgis_enterprise_portal 'Stop Portal for ArcGIS before patching' do + tomcat_java_opts node['arcgis']['portal']['tomcat_java_opts'] + not_if { node['arcgis']['portal']['patches'].empty? } + only_if { node['arcgis']['portal']['configure_autostart'] } + action :stop +end + +node['arcgis']['portal']['patches'].each do |patch| + arcgis_enterprise_patches "Install patch #{patch}" do + product 'portal' + patch_folder node['arcgis']['repository']['patches'] + patch patch + run_as_user node['arcgis']['run_as_user'] + if node['platform'] == 'windows' + patch_registry node['arcgis']['portal']['patch_registry'] + else + patch_log node['arcgis']['portal']['patch_log'] + end + + action :install + end +end + +arcgis_enterprise_portal 'Start Portal for ArcGIS after patching' do + tomcat_java_opts node['arcgis']['portal']['tomcat_java_opts'] + not_if { node['arcgis']['portal']['patches'].empty? } + only_if { node['arcgis']['portal']['configure_autostart'] } + action :start +end + +# Install ArcGIS Server patches + +arcgis_enterprise_server 'Stop ArcGIS Server before patching' do + not_if { node['arcgis']['server']['patches'].empty? } + only_if { node['arcgis']['server']['configure_autostart'] } + action :stop +end + +node['arcgis']['server']['patches'].each do |patch| + arcgis_enterprise_patches "Install patch #{patch}" do + product 'server' + patch_folder node['arcgis']['repository']['patches'] + patch patch + run_as_user node['arcgis']['run_as_user'] + if node['platform'] == 'windows' + patch_registry node['arcgis']['server']['patch_registry'] + else + patch_log node['arcgis']['server']['patch_log'] + end + action :install + end +end + +arcgis_enterprise_server 'Start ArcGIS Server after patching' do + not_if { node['arcgis']['server']['patches'].empty? } + only_if { node['arcgis']['server']['configure_autostart'] } + action :start +end + +# Install ArcGIS Data Store patches + +arcgis_enterprise_datastore 'Stop ArcGIS Data Store before patching' do + not_if { node['arcgis']['data_store']['patches'].empty? } + only_if { node['arcgis']['data_store']['configure_autostart'] } + action :stop +end + +node['arcgis']['data_store']['patches'].each do |patch| + arcgis_enterprise_patches "Install patch #{patch}" do + product 'datastore' + patch_folder node['arcgis']['repository']['patches'] + patch patch + run_as_user node['arcgis']['run_as_user'] + if node['platform'] == 'windows' + patch_registry node['arcgis']['data_store']['patch_registry'] + else + patch_log node['arcgis']['data_store']['patch_log'] + end + action :install + end +end + +arcgis_enterprise_datastore 'Start ArcGIS Data Store after patching' do + not_if { node['arcgis']['data_store']['patches'].empty? } + only_if { node['arcgis']['data_store']['configure_autostart'] } + action :start +end + +# Install ArcGIS Web Adaptor patches + +node['arcgis']['web_adaptor']['patches'].each do |patch| + arcgis_enterprise_patches "Install patch #{patch}" do + patch_folder node['arcgis']['repository']['patches'] + patch patch + run_as_user node['arcgis']['run_as_user'] + if node['platform'] == 'windows' + patch_registry node['arcgis']['web_adaptor']['patch_registry'] + else + patch_log node['arcgis']['web_adaptor']['patch_log'] + end + action :install + end +end diff --git a/cookbooks/arcgis-enterprise/recipes/install_server.rb b/cookbooks/arcgis-enterprise/recipes/install_server.rb index 9d2ea14..fe5fd04 100644 --- a/cookbooks/arcgis-enterprise/recipes/install_server.rb +++ b/cookbooks/arcgis-enterprise/recipes/install_server.rb @@ -87,6 +87,8 @@ notifies :stop, 'arcgis_enterprise_server[Stop ArcGIS Server after replacing NodeAgentExt.xml]', :immediately only_if { node['arcgis']['cloud']['provider'] == 'ec2' && node['arcgis']['server']['disable_nodeagent_plugins'] } + retries 5 + retry_delay 60 end # Delete hostname.properties file after NodeAgentExt.xml is replaced @@ -94,6 +96,8 @@ path ::File.join(node['arcgis']['server']['install_dir'], node['arcgis']['server']['install_subdir'], 'framework', 'etc', 'hostname.properties') + retries 5 + retry_delay 60 action :nothing end diff --git a/cookbooks/arcgis-enterprise/resources/patches.rb b/cookbooks/arcgis-enterprise/resources/patches.rb index 1b9cf55..36eb740 100644 --- a/cookbooks/arcgis-enterprise/resources/patches.rb +++ b/cookbooks/arcgis-enterprise/resources/patches.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Resource:: patches # -# Copyright 2018 Esri +# Copyright 2022 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -19,6 +19,13 @@ actions :install +attribute :patch_folder, :kind_of => String +attribute :patch, :kind_of => String +attribute :product, :kind_of => String +attribute :run_as_user, :kind_of => String +attribute :patch_log, :kind_of => String +attribute :patch_registry, :kind_of => String + def initialize(*args) super @action = :install diff --git a/cookbooks/arcgis-enterprise/resources/webstyles.rb b/cookbooks/arcgis-enterprise/resources/webstyles.rb index b6ba75c..3892572 100644 --- a/cookbooks/arcgis-enterprise/resources/webstyles.rb +++ b/cookbooks/arcgis-enterprise/resources/webstyles.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Resource:: webstyles # -# Copyright 2019 Esri +# Copyright 2022 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,12 +17,13 @@ # limitations under the License. # -actions :unpack, :install +actions :unpack, :install, :uninstall attribute :setup_archive, :kind_of => String attribute :setups_repo, :kind_of => String attribute :run_as_user, :kind_of => String attribute :product_code, :kind_of => String +attribute :install_dir, :kind_of => String attribute :setup, :kind_of => String attribute :setup_options, :kind_of => String, :default => '' diff --git a/cookbooks/arcgis-geoevent/CHANGELOG.md b/cookbooks/arcgis-geoevent/CHANGELOG.md index e6ae426..321eb53 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.0.0 +----- +- Added support for ArcGIS GeoEvent Server 11.0. + 3.8.0 ----- - Added support for ArcGIS GeoEvent Server 10.9.1. diff --git a/cookbooks/arcgis-geoevent/README.md b/cookbooks/arcgis-geoevent/README.md index 80200af..d235834 100644 --- a/cookbooks/arcgis-geoevent/README.md +++ b/cookbooks/arcgis-geoevent/README.md @@ -1,25 +1,29 @@ -arcgis-geoevent cookbook -=============== +--- +layout: default +title: "arcgis-geoevent cookbook" +category: cookbooks +item: arcgis-geoevent +version: 4.0.0 +latest: true +--- -This cookbook installs and configures ArcGIS GeoEvent Server. +# arcgis-geoevent cookbook -Requirements ------------- +This cookbook installs and configures ArcGIS GeoEvent Server. -### Supported ArcGIS versions +## Supported ArcGIS versions -* 10.7 -* 10.7.1 * 10.8 * 10.8.1 * 10.9 * 10.9.1 +* 11.0 -### Supported ArcGIS software +## Supported ArcGIS software * ArcGIS GeoEvent Server -### Platforms +## Platforms * Windows 8 (8.1) * Windows 10 @@ -31,89 +35,141 @@ Requirements * Ubuntu Server 18.04 and 20.04 LTS * Red Hat Enterprise Linux Server 8 * SUSE Linux Enterprise Server 15 -* CentOS Linux 8 * Oracle Linux 8 - -### Dependencies +## Dependencies The following cookbooks are required: * arcgis-enterprise * arcgis-repository -Attributes ----------- +## Attributes * `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 ArcGIS GeoEvent Server setup archive. Default value depends on `node['arcgis']['version']` attribute value. -* `node['arcgis']['geoevent']['setup']` = The location of ArcGIS GeoEvent Server setup executable. Default location is `%USERPROFILE%\Documents\ArcGIS10.7\ArcGISGeoEventServer\Setup.exe` on Windows and `/opt/arcgis/10.7/geoevent/Setup.sh` on Linux. +* `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.0\ArcGISGeoEventServer\Setup.exe` on Windows and `/opt/arcgis/11.0/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']`. +* `node['arcgis']['geoevent']['patches]` = File names of ArcGIS GeoEvent Server patches to install. Default value is `[]`. +## Recipes -Recipes -------- - -### arcgis-geoevent::admin_reset +### admin_reset 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) is how system administrators reset a GeoEvent Server instance to look like the product has just been installed. +> 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. -### arcgis-geoevent::default +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "server": { + "install_dir": "C:\\Program Files\\ArcGIS\\Server" + } + }, + "run_list": [ + "recipe[arcgis-geoevent::admin_reset]" + ] +} +``` + +### default Installs and configures ArcGIS GeoEvent Server. -### arcgis-geoevent::lp-install - -Installs language pack for ArcGIS GeoEvent Server. - -### arcgis-geoevent::start_server +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "server": { + "install_dir": "C:\\Program Files\\ArcGIS", + }, + "geoevent": { + "setup": "C:\\ArcGIS\\11.0\\GeoEvent\\Setup.exe", + "authorization_file": "C:\\ArcGIS\\11.0\\Authorization_Files\\GeoEvent.prvc", + "authorization_file_version": "11.0" + } + }, + "run_list": [ + "recipe[arcgis-geoevent]" + ] +} +``` + +### install_patches + +Installs patches for ArcGIS GeoEvent Server. The recipe installs patches from the patches folder specified by the arcgis.geoevent.patches attribute. The patch names may contain a wildcard '\*'. For example, "GeoEvent_10_9_1_*.msp" specifies all .msp patches that start with "GeoEvent_10_9_1_". + +Attributes used by the recipe: + +```JSON +{ + "arcgis" : { + "repository" : { + "patches" : "%USERPROFILE%\\Software\\Esri\\patches" + }, + "geoevent": { + "patches": ["patch1.msp", "patch2.msp"] + } + }, + "run_list": [ + "recipe[arcgis-geoevent::install_patches]" + ] +} +``` + +### lp-install + +Installs the language pack for ArcGIS GeoEvent Server. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "geoevent": { + "lp-setup": "C:\\ArcGIS\\11.0\\GeoEvent\\Japanese\\Setup.exe" + } + }, + "run_list":[ + "recipe[arcgis-geoevent::lp-install]" + ] +} +``` + +### uninstall -Starts ArcGIS GeoEvent Server. - -### arcgis-geoevent::stop_server - -Stops ArcGIS GeoEvent Server. - -### arcgis-geoevent::uninstall Uninstalls ArcGIS GeoEvent Server. - -Usage ------ - -See [wiki](https://github.com/Esri/arcgis-cookbook/wiki) pages for more information about using ArcGIS cookbooks. - -## Issues - -Find a bug or want to request a new feature? Please let us know by submitting an [issue](https://github.com/Esri/arcgis-cookbook/issues). - -## Contributing - -Esri welcomes contributions from anyone and everyone. Please see our [guidelines for contributing](https://github.com/esri/contributing). - -Licensing ---------- - -Copyright 2021 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. - -A copy of the license is available in the repository's [License.txt](https://github.com/Esri/arcgis-cookbook/blob/master/License.txt?raw=true) file. - -[](Esri Tags: ArcGIS Enterprise GeoEvent Server Chef Cookbook) -[](Esri Language: Ruby) +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "server": { + "install_dir": "C:\\Program Files\\ArcGIS" + } + }, + "run_list":[ + "recipe[arcgis-geoevent::uninstall]" + ] +} +``` + +> The arcgis.run_as_user and install_dir attributes are ignored on Windows. diff --git a/cookbooks/arcgis-geoevent/attributes/default.rb b/cookbooks/arcgis-geoevent/attributes/default.rb index a35547a..5869775 100644 --- a/cookbooks/arcgis-geoevent/attributes/default.rb +++ b/cookbooks/arcgis-geoevent/attributes/default.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-geoevent # Attributes:: default # -# Copyright 2019 Esri +# Copyright 2022 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -31,6 +31,10 @@ geoevent['setup_archive'] = '' + geoevent['patches'] = [] + + geoevent['setup_options'] = '' + case node['platform'] when 'windows' geoevent['setup'] = ::File.join(node['arcgis']['repository']['setups'], @@ -39,30 +43,31 @@ geoevent['lp-setup'] = 'C:\\ArcGIS\\GeoEvent\\SetupFiles\\setup.msi' case node['arcgis']['version'] + when '11.0' + geoevent['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_GeoEvent_Server_110_182914.exe').gsub('/', '\\') + geoevent['product_code'] = '{98B0A1CC-5CE4-4311-85DD-46ABD08232C5}' + geoevent['patch_registry'] ='SOFTWARE\ESRI\GeoEvent11.0\Server\Updates' when '10.9.1' geoevent['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_GeoEvent_Server_1091_180081.exe').gsub('/', '\\') geoevent['product_code'] = '{F5C3D729-0B74-419D-9154-D05C63606A94}' + geoevent['patch_registry'] ='SOFTWARE\ESRI\GeoEvent10.9\Server\Updates' when '10.9' geoevent['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_GeoEvent_Server_109_177813.exe').gsub('/', '\\') geoevent['product_code'] = '{B73748C3-DD75-4376-B4DA-D52C59121A10}' + geoevent['patch_registry'] ='SOFTWARE\ESRI\GeoEvent10.9\Server\Updates' when '10.8.1' geoevent['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_GeoEvent_Server_1081_175242.exe').gsub('/', '\\') geoevent['product_code'] = '{C98F8E6F-A6D0-479A-B80E-C173996DD70B}' + geoevent['patch_registry'] ='SOFTWARE\ESRI\GeoEvent10.8\Server\Updates' when '10.8' geoevent['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_GeoEvent_Server_108_172924.exe').gsub('/', '\\') geoevent['product_code'] = '{10F38ED5-B9A1-4F0C-B8E2-06AD1365814C}' - when '10.7.1' - geoevent['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_GeoEvent_Server_1071_169716.exe').gsub('/', '\\') - geoevent['product_code'] = '{3AE4EE62-B5ED-45CB-8917-F761B9335F33}' - when '10.7' - geoevent['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_GeoEvent_Server_107_167668.exe').gsub('/', '\\') - geoevent['product_code'] = '{7430C9C3-7D96-429E-9F47-04938A1DC37E}' + geoevent['patch_registry'] ='SOFTWARE\ESRI\GeoEvent10.8\Server\Updates' else Chef::Log.warn 'Unsupported ArcGIS GeoEvent Server version' end @@ -73,6 +78,9 @@ geoevent['lp-setup'] = '/arcgis/geo-event-cdLP/Language-Pack-Setup.sh' case node['arcgis']['version'] + when '11.0' + geoevent['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_GeoEvent_Server_110_183031.tar.gz') when '10.9.1' geoevent['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_GeoEvent_Server_1091_180218.tar.gz') @@ -85,14 +93,24 @@ when '10.8' geoevent['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_GeoEvent_Server_108_173004.tar.gz') - when '10.7.1' - geoevent['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_GeoEvent_Server_1071_169919.tar.gz') - when '10.7' - geoevent['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_GeoEvent_Server_107_167732.tar.gz') else Chef::Log.warn 'Unsupported ArcGIS GeoEvent Server version' end + + if node['arcgis']['server']['install_dir'].nil? + server_install_dir = default['arcgis']['server']['install_dir'] + else + server_install_dir = node['arcgis']['server']['install_dir'] + end + + if node['arcgis']['server']['install_subdir'].nil? + server_install_subdir = default['arcgis']['server']['install_subdir'] + else + server_install_subdir = node['arcgis']['server']['install_subdir'] + end + + geoevent['patch_log'] = ::File.join(server_install_dir, + server_install_subdir, + 'GeoEvent', '.ESRI_GES_PATCH_LOG') end end diff --git a/cookbooks/arcgis-geoevent/metadata.rb b/cookbooks/arcgis-geoevent/metadata.rb index a6ff2fa..247b080 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 '3.8.0' -chef_version '>= 13.0' if defined? chef_version +version '4.0.0' +chef_version '>= 14.0' if defined? chef_version -depends 'arcgis-enterprise', '~> 3.8' -depends 'arcgis-repository', '~> 3.8' +depends 'arcgis-enterprise', '~> 4.0' +depends 'arcgis-repository', '~> 4.0' supports 'windows' supports 'ubuntu' @@ -19,6 +19,7 @@ recipe 'arcgis-geoevent::admin_reset', 'Administratively resets GeoEvent Server' recipe 'arcgis-geoevent::default', 'Installs and configures ArcGIS GeoEvent Server' +recipe 'arcgis-geoevent::install_patches', 'Installs patches for ArcGIS GeoEvent Server' recipe 'arcgis-geoevent::lp-install', 'Installs language pack for ArcGIS GeoEvent Server' recipe 'arcgis-geoevent::start_server', 'Starts ArcGIS GeoEvent Server' recipe 'arcgis-geoevent::stop_server', 'Stops ArcGIS GeoEvent Server' diff --git a/cookbooks/arcgis-geoevent/providers/geoevent.rb b/cookbooks/arcgis-geoevent/providers/geoevent.rb index f9f8f50..e3e512b 100644 --- a/cookbooks/arcgis-geoevent/providers/geoevent.rb +++ b/cookbooks/arcgis-geoevent/providers/geoevent.rb @@ -64,12 +64,13 @@ if node['platform'] == 'windows' cmd = @new_resource.setup - args = if @new_resource.run_as_msa - args = "/qn MSA=\"True\"" - else - args = "/qn PASSWORD=\"#{@new_resource.run_as_password}\"" - end - + password = if @new_resource.run_as_msa + 'MSA=\"True\"' + else + "PASSWORD=\"#{@new_resource.run_as_password}\"" + end + args = "/qn #{password} #{@new_resource.setup_options}" + cmd = Mixlib::ShellOut.new("\"#{cmd}\" #{args}", { :timeout => 3600 }) cmd.run_command cmd.error! @@ -77,9 +78,10 @@ sleep(450.0) # Wait for GeoEvent Service to build dependency tree... else cmd = @new_resource.setup + args = @new_resource.setup_options run_as_user = @new_resource.run_as_user - cmd = Mixlib::ShellOut.new("su - #{run_as_user} -c \"#{cmd}\"", + cmd = Mixlib::ShellOut.new("su - #{run_as_user} -c \"#{cmd} #{args}\"", { :timeout => 3600 }) cmd.run_command cmd.error! diff --git a/cookbooks/arcgis-geoevent/recipes/default.rb b/cookbooks/arcgis-geoevent/recipes/default.rb index 3b9f552..3e4ad62 100644 --- a/cookbooks/arcgis-geoevent/recipes/default.rb +++ b/cookbooks/arcgis-geoevent/recipes/default.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-geoevent # Recipe:: default # -# Copyright 2021 Esri +# Copyright 2022 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -73,6 +73,7 @@ arcgis_geoevent_geoevent 'Setup ArcGIS GeoEvent Server' do setup node['arcgis']['geoevent']['setup'] + setup_options node['arcgis']['geoevent']['setup_options'] product_code node['arcgis']['geoevent']['product_code'] install_dir node['arcgis']['server']['install_dir'] run_as_user node['arcgis']['run_as_user'] diff --git a/cookbooks/arcgis-geoevent/recipes/install_patches.rb b/cookbooks/arcgis-geoevent/recipes/install_patches.rb new file mode 100644 index 0000000..9a9ea41 --- /dev/null +++ b/cookbooks/arcgis-geoevent/recipes/install_patches.rb @@ -0,0 +1,46 @@ +# +# Cookbook Name:: arcgis-geoevent +# Recipe:: install_patches +# +# Copyright 2022 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. +# + +# Install ArcGIS GeoEvent Server specific patches + +arcgis_geoevent_geoevent 'Stop ArcGIS GeoEvent Server before patching' do + not_if { node['arcgis']['geoevent']['patches'].empty? } + only_if { node['arcgis']['geoevent']['configure_autostart'] } + action :stop +end + +node['arcgis']['geoevent']['patches'].each do |patch| + arcgis_enterprise_patches "Install patch #{patch}" do + patch_folder node['arcgis']['repository']['patches'] + patch patch + run_as_user node['arcgis']['run_as_user'] + if node['platform'] == 'windows' + patch_registry node['arcgis']['geoevent']['patch_registry'] + else + patch_log node['arcgis']['geoevent']['patch_log'] + end + action :install + end +end + +arcgis_geoevent_geoevent 'Start ArcGIS GeoEvent Server after patching' do + not_if { node['arcgis']['geoevent']['patches'].empty? } + only_if { node['arcgis']['geoevent']['configure_autostart'] } + action :start +end diff --git a/cookbooks/arcgis-geoevent/resources/geoevent.rb b/cookbooks/arcgis-geoevent/resources/geoevent.rb index 4d34ce3..086dfda 100644 --- a/cookbooks/arcgis-geoevent/resources/geoevent.rb +++ b/cookbooks/arcgis-geoevent/resources/geoevent.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-geoevent # Resource:: geoevent # -# Copyright 2015 Esri +# Copyright 2022 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -23,6 +23,7 @@ attribute :setup_archive, :kind_of => String attribute :setups_repo, :kind_of => String attribute :setup, :kind_of => String +attribute :setup_options, :kind_of => String, :default => '' attribute :install_dir, :kind_of => String attribute :run_as_user, :kind_of => String attribute :run_as_password, :kind_of => String diff --git a/cookbooks/arcgis-insights/CHANGELOG.md b/cookbooks/arcgis-insights/CHANGELOG.md index 22f3528..b4a5ec9 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.0.0 +- Added support for ArcGIS Insights ArcGIS 2022.1/2022.1.1/2022.2. + ## 3.8.0 - Added support for Insights for ArcGIS 2021.1/2021.1.1/2021.2/2021.2.1/2021.3/2021.3.1. diff --git a/cookbooks/arcgis-insights/README.md b/cookbooks/arcgis-insights/README.md index cdb9bff..c37cb85 100644 --- a/cookbooks/arcgis-insights/README.md +++ b/cookbooks/arcgis-insights/README.md @@ -1,14 +1,18 @@ -arcgis-insights cookbook -=============== +--- +layout: default +title: "arcgis-insights cookbook" +category: cookbooks +item: arcgis-insights +version: 4.0.0 +latest: true +--- -This cookbook installs and configures ArcGIS Insights. +# arcgis-insights cookbook -Requirements ------------- +This cookbook installs and configures ArcGIS Insights. -### Supported ArcGIS Insights versions +## Supported ArcGIS Insights versions -* 3.4.1 * 2020.1 * 2020.2 * 2020.3 @@ -18,8 +22,11 @@ Requirements * 2021.2.1 * 2021.3 * 2021.3.1 +* 2022.1 +* 2022.1.1 +* 2022.2 -### Platforms +## Platforms * Windows 10 * Windows Server 2012 (R2) @@ -29,67 +36,94 @@ Requirements * Ubuntu Server 18.04 and 20.04 LTS * Red Hat Enterprise Linux Server 8 * SUSE Linux Enterprise Server 15 -* CentOS Linux 8 * Oracle Linux 8 - -### Dependencies +## Dependencies The following cookbooks are required: * arcgis-enterprise * arcgis-repository -Attributes ----------- - -* `node['arcgis']['insights']['version']` = ArcGIS Insights version. Default version is `2021.3.1` -* `node['arcgis']['insights']['setup_archive']` = Path to ArcGIS Insights version setup archive. Default value depends on `node['arcgis']['insights']['version']` attribute value. -* `node['arcgis']['insights']['setup']` = The location of ArcGIS Insights setup executable. Default location is `%USERPROFILE%\Documents\Insights \Insights\setup.exe` on Windows and `/opt/arcgis/Insights/Insights-Setup.sh` on Linux. -* `node['arcgis']['insights']['setup_archive']` = Path to ArcGIS Insights setup archive. Default value depends on `node['arcgis']['insights']['version']` attribute value. +## Attributes +* `node['arcgis']['insights']['version']` = ArcGIS Insights version. Default version is `2022.2` +* `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.2\\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 `[]`. -Recipes -------- +## Recipes -### arcgis-insights::default +### default Installs and configures ArcGIS Insights. -### arcgis-insights::uninstall +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "server": { + "install_dir": "C:\\Program Files\\ArcGIS", + }, + "insights": { + "version": "2022.2", + "setup": "%USERPROFILE%\\Documents\\ArcGIS Insights 2022.2\\Insights\\Setup.exe" + } + }, + "run_list": [ + "recipe[arcgis-insights]" + ] +} +``` + +> ArcGIS Server or Portal for ArcGIS must be installed on the machine before running the arcgis-insights::default recipe. + +### install_patches + +Installs patches for ArcGIS Insights. The recipe installs patches from the patches folder specified by the arcgis.insights.patches attribute. The patch names may contain a wildcard '\*'. For example, "ArcGIS-1091-\*.msp" specifies all .msp patches that start with "ArcGIS-1091-". + +Attributes used by the recipe: + +```JSON +{ + "arcgis" : { + "repository" : { + "patches" : "%USERPROFILE%\\Software\\Esri\\patches" + }, + "insights": { + "patches": ["patch1.msp", "patch2.msp"] + } + }, + "run_list": [ + "recipe[arcgis-insights::install_patches]" + ] +} +``` + +### uninstall Uninstalls ArcGIS Insights. -Usage ------ - -See [wiki](https://github.com/Esri/arcgis-cookbook/wiki) pages for more information about using ArcGIS cookbooks. - -## Issues - -Find a bug or want to request a new feature? Please let us know by submitting an [issue](https://github.com/Esri/arcgis-cookbook/issues). - -## Contributing - -Esri welcomes contributions from anyone and everyone. Please see our [guidelines for contributing](https://github.com/esri/contributing). - -Licensing ---------- - -Copyright 2021 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. - -A copy of the license is available in the repository's [License.txt](https://github.com/Esri/arcgis-cookbook/blob/master/License.txt?raw=true) file. - -[](Esri Tags: ArcGIS Insights Chef Cookbook) -[](Esri Language: Ruby) +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "server": { + "install_dir": "C:\\Program Files (x86)\\ArcGIS" + }, + "insights": { + "version": "2022.2" + } + }, + "run_list":[ + "recipe[arcgis-insights::uninstall]" + ] +} +``` diff --git a/cookbooks/arcgis-insights/attributes/default.rb b/cookbooks/arcgis-insights/attributes/default.rb index d87c0a0..3e1d7f3 100644 --- a/cookbooks/arcgis-insights/attributes/default.rb +++ b/cookbooks/arcgis-insights/attributes/default.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-insights # Attributes:: default # -# Copyright 2021 Esri +# Copyright 2022 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -20,7 +20,9 @@ include_attribute 'arcgis-enterprise' default['arcgis']['insights'].tap do |insights| - insights['version'] = '2021.3.1' + insights['version'] = '2022.2' + + insights['patches'] = [] case node['platform'] when 'windows' @@ -28,6 +30,18 @@ node['arcgis']['insights']['version'] + '\\Insights\\Setup.exe' case node['arcgis']['insights']['version'] + when '2022.2' + insights['product_code'] = '{C16053FC-0F7A-4819-95C6-FB14B05782AE}' + insights['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Insights_Windows_2022_2_183474.exe') + when '2022.1.1' + insights['product_code'] = '{33B5B7A9-448D-4DEA-92C0-F8046E685553}' + insights['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Insights_Windows_2022_1_1_181548.exe') + when '2022.1' + insights['product_code'] = '{76A44AB1-68B5-4762-8C1C-5CBD97AC5E2C}' + insights['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Insights_Windows_2022_1_181546.exe') when '2021.3.1' insights['product_code'] = '{2EFCCCED-8C84-4A76-B2B7-4680195E9FD4}' insights['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], @@ -66,10 +80,6 @@ insights['product_code'] = '{5293D733-7F85-48C8-90A2-7506E51773DB}' insights['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Insights_Windows_2020_1_173526.exe') - when '3.4.1' - insights['product_code'] = '{F3B91D92-3DD8-4F0B-B43B-6F9DA2C1830A}' - insights['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Insights_Windows_341_171410.exe') else Chef::Log.warn 'Unsupported Insights for ArcGIS version' end @@ -79,6 +89,15 @@ 'Insights/Insights-Setup.sh') case node['arcgis']['insights']['version'] + when '2022.2' + insights['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Insights_Linux_2022_2_183475.tar.gz') + when '2022.1.1' + insights['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Insights_Linux_2022_1_1_181549.tar.gz') + when '2022.1' + insights['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Insights_Linux_2022_1_181547.tar.gz') when '2021.3.1' insights['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Insights_Linux_2021_3_1_179511.tar.gz') @@ -106,9 +125,6 @@ when '2020.1' insights['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Insights_Linux_2020_1_173527.tar.gz') - when '3.4.1' - insights['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Insights_Linux_341_171471.tar.gz') else Chef::Log.warn 'Unsupported Insights for ArcGIS version' end diff --git a/cookbooks/arcgis-insights/metadata.rb b/cookbooks/arcgis-insights/metadata.rb index 4c0afac..ec42871 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 '3.8.0' -chef_version '>= 13.0' if defined? chef_version +version '4.0.0' +chef_version '>= 14.0' if defined? chef_version -depends 'arcgis-enterprise', '~> 3.8' -depends 'arcgis-repository', '~> 3.8' +depends 'arcgis-enterprise', '~> 4.0' +depends 'arcgis-repository', '~> 4.0' supports 'windows' supports 'ubuntu' @@ -18,6 +18,7 @@ supports 'suse' recipe 'arcgis-insights::default', 'Installs and configures ArcGIS Insights' +recipe 'arcgis-insights::install_patches', 'Installs patches for ArcGIS Insights' recipe 'arcgis-insights::uninstall', 'Uninstalls ArcGIS Insights' issues_url 'https://github.com/Esri/arcgis-cookbook/issues' if respond_to?(:issues_url) diff --git a/cookbooks/arcgis-insights/recipes/install_patches.rb b/cookbooks/arcgis-insights/recipes/install_patches.rb new file mode 100644 index 0000000..137eba8 --- /dev/null +++ b/cookbooks/arcgis-insights/recipes/install_patches.rb @@ -0,0 +1,29 @@ +# +# Cookbook Name:: arcgis-insights +# Recipe:: install_patches +# +# Copyright 2022 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. +# + +# Install ArcGIS Insights patches + +node['arcgis']['insights']['patches'].each do |patch| + arcgis_enterprise_patches "Install patch #{patch}" do + patch_folder node['arcgis']['repository']['patches'] + patch patch + run_as_user node['arcgis']['run_as_user'] + action :install + end +end diff --git a/cookbooks/arcgis-mission/CHANGELOG.md b/cookbooks/arcgis-mission/CHANGELOG.md index fae47f0..9f6c33f 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.0.0 + +- Added support for ArcGIS Mission Server 11.0 + # 3.8.0 - Added support for ArcGIS Mission Server 10.9.1. diff --git a/cookbooks/arcgis-mission/README.md b/cookbooks/arcgis-mission/README.md index b696903..d555fef 100644 --- a/cookbooks/arcgis-mission/README.md +++ b/cookbooks/arcgis-mission/README.md @@ -1,23 +1,29 @@ -arcgis-mission cookbook -=============== +--- +layout: default +title: "arcgis-mission cookbook" +category: cookbooks +item: arcgis-mission +version: 4.0.0 +latest: true +--- -This cookbook installs and configures ArcGIS Mission Server. +# arcgis-mission cookbook -Requirements ------------- +This cookbook installs and configures ArcGIS Mission Server. -### Supported ArcGIS Mission Server versions +## Supported ArcGIS Mission Server versions * 10.8 * 10.8.1 * 10.9 * 10.9.1 +* 11.0 -### Supported ArcGIS software +## Supported ArcGIS software * ArcGIS Mission Server -### Platforms +## Platforms * Microsoft Windows Server 2012 R2 Standard and Datacenter * Microsoft Windows Server 2016 Standard and Datacenter @@ -26,127 +32,317 @@ Requirements * Ubuntu Server 18.04 and 20.04 LTS * Red Hat Enterprise Linux Server 8 * SUSE Linux Enterprise Server 15 -* CentOS Linux 8 * Oracle Linux 8 -### Dependencies +## Dependencies The following cookbooks are required: * arcgis-enterprise * arcgis-repository -Attributes ----------- - -* `node['arcgis']['mission_server']['url']` = ArcGIS Mission Server URL. Default URL is `https://:20443`. -* `node['arcgis']['mission_server']['wa_name']` = Name of ArcGIS Web Adaptor used for ArcGIS Mission Server. Default name is `mission`. -* `node['arcgis']['mission_server']['wa_url']` = URL of the Web Adaptor used for ArcGIS Mission Server. Default URL is `https:///`. -* `node['arcgis']['mission_server']['domain_name']` = ArcGIS Mission Server site domain name. Default domain is FQDN of the machine. -* `node['arcgis']['mission_server']['private_url']` = Private URL of ArcGIS Mission Server. Default URL is `https://:20443/arcgis`. -* `node['arcgis']['mission_server']['web_context_url']` = Web Context URL of ArcGIS Mission Server. Default URL is `https:///`. -* `node['arcgis']['mission_server']['authorization_file']` = ArcGIS Mission Server authorization file path. -* `node['arcgis']['mission_server']['authorization_file_version']` = ArcGIS Mission Server authorization file version. Default value is `node['arcgis']['server']['authorization_file_version']`. -* `node['arcgis']['mission_server']['install_dir']` = ArcGIS Mission Server installation directory. By default, ArcGIS Mission Server is installed to `%ProgramW6432%\ArcGIS\Mission` on Windows machines and to `/home/arcgis` on Linux machines. -* `node['arcgis']['mission_server']['directories_root']` = The root ArcGIS Mission Server server directory location. The default value is `C:\arcgismissionserver\directories` on Windows and `//missionserver/usr/directories` on Linux. -* `node['arcgis']['mission_server']['config_store_type']` = ArcGIS Mission Server config store type (FILESYSTEM|AMAZON|AZURE). Default value is `FILESYSTEM`. +## Attributes + +* `node['arcgis']['mission_server']['url']` = The ArcGIS Mission Server URL. Default URL is `https://:20443`. +* `node['arcgis']['mission_server']['wa_name']` = Name of the ArcGIS Web Adaptor used for the ArcGIS Mission Server site. Default name is `mission`. +* `node['arcgis']['mission_server']['wa_url']` = The URL of the Web Adaptor used for the ArcGIS Mission Server site. Default URL is `https:///`. +* `node['arcgis']['mission_server']['domain_name']` = The ArcGIS Mission Server site domain name. Default domain is FQDN of the machine. +* `node['arcgis']['mission_server']['private_url']` = Private URL of the ArcGIS Mission Server site. Default URL is `https://:20443/arcgis`. +* `node['arcgis']['mission_server']['web_context_url']` = Web Context URL of the ArcGIS Mission Server site. Default URL is `https:///`. +* `node['arcgis']['mission_server']['authorization_file']` = The ArcGIS Mission Server authorization file path. +* `node['arcgis']['mission_server']['authorization_file_version']` = The ArcGIS Mission Server authorization file version. Default value is `node['arcgis']['server']['authorization_file_version']`. +* `node['arcgis']['mission_server']['install_dir']` = The ArcGIS Mission Server installation directory. By default, ArcGIS Mission Server is installed to `%ProgramW6432%\ArcGIS\Mission` on Windows machines and to `/home/arcgis` on Linux machines. +* `node['arcgis']['mission_server']['directories_root']` = The root ArcGIS Mission Server site's server directory location. The default value is `C:\arcgismissionserver\directories` on Windows and `//missionserver/usr/directories` on Linux. +* `node['arcgis']['mission_server']['config_store_type']` = The ArcGIS Mission Server configuration store type ``. Default value is `FILESYSTEM`. * `node['arcgis']['mission_server']['config_store_connection_string']` = The configuration store location for the ArcGIS Mission Server site. By default, the configuration store is created in the local directory `C:\arcgismissionserver\config-store` on Windows and `//usr/config-store` on Linux. -* `node['arcgis']['mission_server']['config_store_class_name']` = ArcGIS Mission Server config store persistence class name. Default value is `com.esri.arcgis.carbon.persistence.impl.filesystem.FSConfigPersistence`. +* `node['arcgis']['mission_server']['config_store_class_name']` = The ArcGIS Mission Server configuration store persistence class name. Default value is `com.esri.arcgis.carbon.persistence.impl.filesystem.FSConfigPersistence`. * `node['arcgis']['mission_server']['log_level']` = ArcGIS Mission Server log level. Default value is `WARNING`. * `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 ArcGIS Mission Server setup archive. Default value depends on `node['arcgis']['version']` attribute value. -* `node['arcgis']['mission_server']['setup']` = The location of ArcGIS Mission Server setup executable. Default location is `%USERPROFILE%\Documents\ArcGIS10.9.1\MissionServer\Setup.exe` on Windows and `/opt/arcgis/10.9.1/MissionServer/Setup` on Linux. +* `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.0\MissionServer\Setup.exe` on Windows and `/opt/arcgis/11.0/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 `admin`. +* `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 `change.it`. * `node['arcgis']['mission_server']['primary_server_url']` = The URL of the existing ArcGIS Mission Server site to join, in the format `https://missionserver.domain.com:20443/arcgis/admin`. Default URL `nil`. * `node['arcgis']['mission_server']['install_system_requirements']` = Enable system-level configuration for ArcGIS Mission Server. Default value is `true`. -* `node['arcgis']['mission_server']['ports']` = Ports to open for ArcGIS Mission Servier in Windows firewall. Default is `20443,20300,20301,20302,20158,20159,20160`. +* `node['arcgis']['mission_server']['ports']` = Ports to open for ArcGIS Mission Servier in the Windows firewall. Default is `20443,20301,20160`. * `node['arcgis']['mission_server']['system_properties']` = ArcGIS Mission Server system properties. Default value is `{}`. -* `node['arcgis']['mission_server']['hostname']` = Host name or IP address of ArcGIS Mission Server machine. Default value is `''`. - -Recipes -------- - -### arcgis-mission::default - -Installs and configures ArcGIS Mission Server. - -### arcgis-mission::federation - -Federates ArcGIS Mission Server with Portal for ArcGIS and enables Mission role. - -# arcgis-mission::fileserver - -Configures shared directories for ArcGIS Mission Server on file server machine. - -### arcgis-mission::install_server +* `node['arcgis']['mission_server']['hostname']` = Host name or IP address of the ArcGIS Mission Server machine. Default value is `''`. +* `node['arcgis']['mission_server']['patches]` = File names of ArcGIS Mission Server patches to install. Default value is `[]`. + +## Recipes + +### default + +Calls arcgis-mission::server recipe. + +### federation + +Federates ArcGIS Mission Server with Portal for ArcGIS and enables the Mission Server role. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "portal": { + "private_url": "https://portal.domain.com:7443/arcgis", + "admin_username": "admin", + "admin_password": "admin123", + "root_cert": "", + "root_cert_alias": "" + }, + "mission_server": { + "web_context_url": "https://domain.com/mission", + "private_url": "https://domain.com/mission", + "admin_username": "siteadmin", + "admin_password": "change.it" + } + }, + "run_list": [ + "recipe[arcgis-mission::federation]" + ] +} +``` + +### install_server Installs ArcGIS Mission Server. -### arcgis-mission::install_server_wa +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "mission_server": { + "setup_archive": "/opt/software/esri/ArcGIS_Mission_Server_Linux_110_183045.tar.gz", + "authorization_file": "/opt/software/esri/missionserver.prvc", + "install_dir": "/home/arcgis", + "server_directories_root": "/home/arcgis/mission/usr/directories", + "config_store_connection_string": "/home/arcgis/mission/usr/directories/config-store", + "configure_autostart": true, + "install_system_requirements": true + } + }, + "run_list": [ + "recipe[arcgis-mission::install_server]" + ] +} +``` + +### install_server_wa Installs ArcGIS Web Adaptor for ArcGIS Mission Server. -### arcgis-mission::server +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "web_server": { + "webapp_dir": "/opt/tomcat_arcgis/webapps" + }, + "web_adaptor": { + "install_dir": "/", + "setup_archive": "/opt/software/esri/ArcGIS_Web_Adaptor_Java_Linux_110_%%BUILDNUM.tar.gz" + }, + "mission_server": { + "wa_name": "mission" + } + }, + "run_list": [ + "recipe[arcgis-mission::install_server_wa]" + ] +} +``` + +### install_patches + +Installs patches for ArcGIS Mission Server. The recipe installs patches from the patches folder specified by the arcgis.mission_server.patches attribute. The patch names may contain a wildcard '\*'. For example, "ArcGIS-1091-\*.msp" specifies all .msp patches that start with "ArcGIS-1091-". + +Attributes used by the recipe: + +```JSON +{ + "arcgis" : { + "repository" : { + "patches" : "%USERPROFILE%\\Software\\Esri\\patches" + }, + "mission_server": { + "patches": ["patch1.msp", "patch2.msp"] + } + }, + "run_list": [ + "recipe[arcgis-mission::install_patches]" + ] +} +``` + +### server Installs and configures ArcGIS Mission Server. -### arcgis-mission::server_node - -Joins additional machines to ArcGIS Mission Server site. - -### arcgis-mission::server_wa +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "mission_server": { + "setup_archive": "/opt/software/esri/ArcGIS_Mission_Server_Linux_110_183045.tar.gz", + "authorization_file": "/opt/software/esri/missionserver.prvc", + "admin_username": "siteadmin", + "admin_password": "change.it", + "install_dir": "/home/arcgis", + "directories_root": "/home/arcgis/mission/usr/directories", + "config_store_connection_string": "/home/arcgis/mission/usr/config-store", + "config_store_type": "FILESYSTEM", + "configure_autostart": true, + "install_system_requirements": true, + "log_dir": "/home/arcgis/mission/usr/logs", + "log_level": "WARNING", + "max_log_file_age": "90", + "system_properties": { } + } + }, + "run_list": [ + "recipe[arcgis-mission::server]" + ] +} +``` + +### server_node + +Joins additional machines to an ArcGIS Mission Server site. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "mission_server": { + "setup_archive": "/opt/software/esri/ArcGIS_Mission_Server_Linux_110_183045.tar.gz", + "authorization_file": "/opt/software/esri/missionserver.prvc", + "admin_username": "siteadmin", + "admin_password": "change.it", + "install_dir": "/home/arcgis", + "primary_server_url": "https://primary:20443/arcgis", + "configure_autostart": true, + "install_system_requirements": true, + "log_dir": "/home/arcgis/mission/usr/logs" + } + }, + "run_list": [ + "recipe[arcgis-mission::server_node]" + ] +} +``` + +### server_wa Installs and configures ArcGIS Web Adaptor for ArcGIS Mission Server. -### arcgis-mission::uninstall_server +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "web_server": { + "webapp_dir": "/opt/tomcat_arcgis/webapps" + }, + "web_adaptor": { + "install_dir": "/", + "setup_archive": "/opt/software/esri/ArcGIS_Web_Adaptor_Java_Linux_110_182987.tar.gz" + }, + "mission_server": { + "url": "https://hostname:20443", + "wa_name": "mission", + "wa_url": "https://hostname/mission", + "admin_username": "siteadmin", + "admin_password": "change.it" + } + }, + "run_list": [ + "recipe[arcgis-mission::server_wa]" + ] +} +``` + +### uninstall_server Uninstalls ArcGIS Mission Server. -### arcgis-mission::uninstall_server_wa +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "mission_server": { + "install_dir": "/home/arcgis" + } + }, + "run_list": [ + "recipe[arcgis-mission::uninstall_server]" + ] +} +``` + +### uninstall_server_wa Uninstalls ArcGIS Web Adaptor for ArcGIS Mission Server. -### arcgis-mission::unregister_machine - -Unregisters server machine from the ArcGIS Mission Server site. - -### arcgis-mission::unregister_server_wa - -Unregisters all ArcGIS Mission Server Web Adaptors. - -Usage ------ - -See [wiki](https://github.com/Esri/arcgis-cookbook/wiki) pages for more information about using ArcGIS cookbooks. - -## Issues - -Find a bug or want to request a new feature? Please let us know by submitting an [issue](https://github.com/Esri/arcgis-cookbook/issues). - -## Contributing - -Esri welcomes contributions from anyone and everyone. Please see our [guidelines for contributing](https://github.com/esri/contributing). - -Licensing ---------- - -Copyright 2021 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. - -A copy of the license is available in the repository's [License.txt](https://github.com/Esri/arcgis-cookbook/blob/master/License.txt?raw=true) file. - -[](Esri Tags: ArcGIS Enterprise Mission Server Chef Cookbook) -[](Esri Language: Ruby) +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "web_server": { + "webapp_dir": "/opt/tomcat_arcgis/webapps" + }, + "web_adaptor": { + "install_dir": "/" + }, + "mission_server": { + "wa_name": "mission" + } + }, + "run_list": [ + "recipe[arcgis-mission::uninstall_server_wa]" + ] +} +``` + +### unregister_server_wa + +Unregisters all ArcGIS Web Adaptors from ArcGIS Mission Server Site. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "mission_server": { + "url": "https://hostname:20443/arcgis", + "admin_username": "siteadmin", + "admin_password": "change.it" + } + }, + "run_list": [ + "recipe[arcgis-mission::unregister_server_wa]" + ] +} +``` diff --git a/cookbooks/arcgis-mission/attributes/default.rb b/cookbooks/arcgis-mission/attributes/default.rb index 96949bb..fcccffe 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 2021 Esri +# Copyright 2022 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -37,7 +37,7 @@ mission_server['private_url'] = "https://#{node['arcgis']['mission_server']['domain_name']}:20443/arcgis" mission_server['web_context_url'] = "https://#{node['arcgis']['mission_server']['domain_name']}/#{node['arcgis']['mission_server']['wa_name']}" - mission_server['ports'] = '20443,20300,20301,20302,20158,20159,20160' + mission_server['ports'] = '20443,20301,20160' mission_server['authorization_file'] = node['arcgis']['server']['authorization_file'] mission_server['authorization_file_version'] = node['arcgis']['server']['authorization_file_version'] mission_server['configure_autostart'] = true @@ -67,6 +67,8 @@ mission_server['system_properties'] = {} + mission_server['patches'] = [] + case node['platform'] when 'windows' mission_server['setup'] = ::File.join(node['arcgis']['repository']['setups'], @@ -84,6 +86,10 @@ mission_server['log_dir'] = 'C:\\arcgismissionserver\\logs' case node['arcgis']['version'] + 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}' when '10.9.1' mission_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Mission_Server_Windows_1091_180092.exe').gsub('/', '\\') @@ -92,14 +98,17 @@ 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' 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' 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' else Chef::Log.warn 'Unsupported ArcGIS Mission Server version' end @@ -140,13 +149,16 @@ 'usr', 'logs') case node['arcgis']['version'] + when '11.0' + mission_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Mission_Server_Linux_110_183045.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. + # mission_server['setup'] = ::File.join(node['arcgis']['repository']['setups'], node['arcgis']['version'], + # 'MissionServer_Linux', 'Setup') when '10.9.1' mission_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Mission_Server_Linux_1091_180227.tar.gz') - # Setup archives of 10.9.1 daily builds have 'MissionServer_Linix' subfolder instead of 'MissionServer' - # subfolder of final archives. Remove the line below for the final setup archive. - mission_server['setup'] = ::File.join(node['arcgis']['repository']['setups'], node['arcgis']['version'], - 'MissionServer', 'Setup') when '10.9' mission_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Mission_Server_Linux_109_177909.tar.gz') diff --git a/cookbooks/arcgis-mission/metadata.rb b/cookbooks/arcgis-mission/metadata.rb index 4daeafd..aec3c7b 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 '3.8.0' -chef_version '>= 13.0' if defined? chef_version +version '4.0.0' +chef_version '>= 14.0' if defined? chef_version -depends 'arcgis-enterprise', '~> 3.8' -depends 'arcgis-repository', '~> 3.8' +depends 'arcgis-enterprise', '~> 4.0' +depends 'arcgis-repository', '~> 4.0' supports 'ubuntu' supports 'redhat' @@ -20,6 +20,7 @@ recipe 'arcgis-mission::default', 'Installs and configures ArcGIS Mission Server' recipe 'arcgis-mission::federation', 'Federates ArcGIS Mission Server with Portal for ArcGIS and enables MissionServer role' recipe 'arcgis-mission::fileserver', 'Configures shared directories for ArcGIS Mission Server on file server machine' +recipe 'arcgis-mission::install_patches', 'Installs patches for ArcGIS Mission Server' recipe 'arcgis-mission::install_server', 'Installs ArcGIS Mission Server' recipe 'arcgis-mission::install_server_wa', 'Installs ArcGIS Web Adaptor for ArcGIS Mission Server' recipe 'arcgis-mission::server', 'Installs and configures ArcGIS Mission Server' diff --git a/cookbooks/arcgis-mission/recipes/install_patches.rb b/cookbooks/arcgis-mission/recipes/install_patches.rb new file mode 100644 index 0000000..67453dd --- /dev/null +++ b/cookbooks/arcgis-mission/recipes/install_patches.rb @@ -0,0 +1,42 @@ +# +# Cookbook Name:: arcgis-mission +# Recipe:: install_patches +# +# Copyright 2022 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. +# + +# Install ArcGIS Mission Server patches + +arcgis_mission_server 'Stop ArcGIS Mission Server before patching' do + not_if { node['arcgis']['mission_server']['patches'].empty? } + only_if { node['arcgis']['mission_server']['configure_autostart'] } + action :stop +end + +node['arcgis']['mission_server']['patches'].each do |patch| + arcgis_enterprise_patches "Install patch #{patch}" do + product 'missionserver' + patch_folder node['arcgis']['repository']['patches'] + patch patch + run_as_user node['arcgis']['run_as_user'] + action :install + end +end + +arcgis_mission_server 'Start ArcGIS Mission Server after patching' do + not_if { node['arcgis']['mission_server']['patches'].empty? } + only_if { node['arcgis']['mission_server']['configure_autostart'] } + action :start +end diff --git a/cookbooks/arcgis-notebooks/CHANGELOG.md b/cookbooks/arcgis-notebooks/CHANGELOG.md index 77b253c..298d5f9 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.0.0 + +- Added support for ArcGIS Notebook Server 11.0. + # 3.8.0 - Added support for ArcGIS Notebook Server 10.9.1. diff --git a/cookbooks/arcgis-notebooks/README.md b/cookbooks/arcgis-notebooks/README.md index be2e410..a6330a8 100644 --- a/cookbooks/arcgis-notebooks/README.md +++ b/cookbooks/arcgis-notebooks/README.md @@ -1,31 +1,35 @@ -arcgis-notebooks cookbook -=============== +--- +layout: default +title: "arcgis-notebooks cookbook" +category: cookbooks +item: arcgis-notebooks +version: 4.0.0 +latest: true +--- -This cookbook installs and configures ArcGIS Notebook Server. +# arcgis-notebooks cookbook -Requirements ------------- +This cookbook installs and configures ArcGIS Notebook Server. -### Supported ArcGIS Notebook Server versions +## Supported ArcGIS Notebook Server versions -* 10.7.1 * 10.8 * 10.8.1 * 10.9 * 10.9.1 +* 11.0 -### Supported ArcGIS software +## Supported ArcGIS software * ArcGIS Notebook Server -### Platforms +## Platforms * Ubuntu Server 18.04 and 20.04 LTS -* Red Hat Enterprise Linux Server 8 -* CentOS Linux 8 +* Red Hat Enterprise Linux Server 8 (Mirantis Container Runtime must be installed before running Chef) * Oracle Linux 8 -### Dependencies +## Dependencies The following cookbooks are required: @@ -34,151 +38,271 @@ The following cookbooks are required: * docker * iptables -Attributes ----------- +## Attributes -* `node['arcgis']['notebook_server']['url']` = ArcGIS Notebook Server URL. Default URL is `https://:11443`. -* `node['arcgis']['notebook_server']['wa_name']` = Name of ArcGIS Web Adaptor used for ArcGIS Notebook Server. Default name is `notebooks`. -* `node['arcgis']['notebook_server']['wa_url']` = URL of the Web Adaptor used for ArcGIS Notebook Server. Default URL is `https:///`. -* `node['arcgis']['notebook_server']['domain_name']` = ArcGIS Notebook Server site domain name. Default domain is FQDN of the machine. -* `node['arcgis']['notebook_server']['private_url']` = Private URL of ArcGIS Notebook Server. Default URL is `https://:11443/arcgis`. -* `node['arcgis']['notebook_server']['web_context_url']` = Web Context URL of ArcGIS Notebook Server. Default URL is `https:///`. +* `node['arcgis']['notebook_server']['url']` = The ArcGIS Notebook Server site URL. Default URL is `https://:11443`. +* `node['arcgis']['notebook_server']['wa_name']` = Name of ArcGIS Web Adaptor used for the ArcGIS Notebook Server site. Default name is `notebooks`. +* `node['arcgis']['notebook_server']['wa_url']` = The URL of the Web Adaptor used for the ArcGIS Notebook Server site. Default URL is `https:///`. +* `node['arcgis']['notebook_server']['domain_name']` = The ArcGIS Notebook Server site domain name. Default domain is FQDN of the machine. +* `node['arcgis']['notebook_server']['private_url']` = Private URL of the ArcGIS Notebook Server site. Default URL is `https://:11443/arcgis`. +* `node['arcgis']['notebook_server']['web_context_url']` = The web context URL of the ArcGIS Notebook Server site. Default URL is `https:///`. * `node['arcgis']['notebook_server']['authorization_file']` = ArcGIS Notebook Server authorization file path. * `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 server directory location. The default value is `C:\arcgisnotebookserver\directories` on Windows and `//notebookserver/usr/directories` on Linux. -* `node['arcgis']['notebook_server']['config_store_type']` = ArcGIS Notebook Server config store type (FILESYSTEM|AMAZON|AZURE). Default value is `FILESYSTEM`. +* `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']['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_class_name']` = ArcGIS Notebook Server config store persistence class name. Default value is `com.esri.arcgis.carbon.persistence.impl.filesystem.FSConfigPersistence`. +* `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']['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']['setup_archive']` = Path to ArcGIS Notebook Server setup archive. Default value depends on `node['arcgis']['version']` attribute value. -* `node['arcgis']['notebook_server']['setup']` = The location of ArcGIS Notebook Server setup executable. Default location is `%USERPROFILE%\Documents\ArcGIS10.9\NotebookServer\Setup.exe` on Windows and `/opt/arcgis/10.9/NotebookServer_Linux/Setup` 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 `//usr/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.0\NotebookServer\Setup.exe` on Windows and `/opt/arcgis/11.0/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 the Notebook Server is configured to start with the operating system. Default value is `true`. +* `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`. * `node['arcgis']['notebook_server']['admin_username']` = Primary ArcGIS Notebook Server administrator user name. Default user name is `admin`. * `node['arcgis']['notebook_server']['admin_password']` = Primary ArcGIS Notebook Server administrator password. Default value is `change.it`. * `node['arcgis']['notebook_server']['primary_server_url']` = The URL of the existing ArcGIS Notebook Server site to join, in the format `https://notebookserver.domain.com:11443/arcgis/admin`. Default URL `nil`. * `node['arcgis']['notebook_server']['install_system_requirements']` = Enable system-level configuration for ArcGIS Notebook Server. Default value is `true`. -* `node['arcgis']['notebook_server']['install_samples_data']` = If set to `true`, arcgis-notebooks::server recipe includes arcgis-notebooks::data recipe. Default value is `false`. -* `node['arcgis']['notebook_server']['ports']` = Ports to open for Notebook Servier in Windows firewall. Default is `11443`. +* `node['arcgis']['notebook_server']['install_samples_data']` = If set to `true`, the arcgis-notebooks::server recipe includes the arcgis-notebooks::data recipe. Default value is `false`. +* `node['arcgis']['notebook_server']['install_docker']` = If set to `true`, the arcgis-notebooks::docker recipe installs the Docker engine. Default value is `false` for RHEL Linux and `true` otherwise. +* `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 ArcGIS Notebook Server Samples Data setup. Default location is `%USERPROFILE%\Documents\ArcGIS10.9\NotebookServerData\Setup.exe` on Windows and `/opt/arcgis/10.9/NotebookServerData_Linux/ArcGISNotebookServerSamplesData-Setup.sh` on Linux. -* `node['arcgis']['notebook_server']['data_setup_archive']` = Path to ArcGIS Notebook Server Samples Data setup archive. Default value depends on `node['arcgis']['version']` attribute value. +* `node['arcgis']['notebook_server']['data_setup']` = The location of the ArcGIS Notebook Server Samples Data setup. Default location is `%USERPROFILE%\Documents\ArcGIS11.0\NotebookServerData\Setup.exe` on Windows and `/opt/arcgis/11.0/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 `[]`. + +## Recipes -Recipes -------- +### default -### arcgis-notebooks::default +Calls arcgis-notebooks::server recipe. -Installs and configures ArcGIS Notebook Server. +### docker -### arcgis-notebooks::docker +Installs and starts Docker engine. The recipe is supported only on Linux platforms. -Installs Docker engine. +Attributes used by the recipe: -### arcgis-notebooks::federation - -Federates ArcGIS Notebook Server with Portal for ArcGIS and enables NotebookServer role. +```JSON +{ + "run_list": [ + "recipe[arcgis-notebooks::docker]" + ] +} +``` -### arcgis-notebooks::fileserver +### federation -Configures shared directories for ArcGIS Notebook Server on file server machine. +Federates ArcGIS Notebook Server with Portal for ArcGIS and enables the Notebook Server role. -### arcgis-notebooks::iptables +Attributes used by the recipe: -Reject Docker containers access to EC2 instance metadata IP address. +```JSON +{ + "arcgis": { + "portal": { + "private_url": "https://portal.domain.com:7443/arcgis", + "admin_username": "admin", + "admin_password": "admin123", + "root_cert": "", + "root_cert_alias": "" + }, + "notebook_server": { + "web_context_url": "https://domain.com/notebooks", + "private_url": "https://domain.com/notebooks", + "admin_username": "siteadmin", + "admin_password": "change.it" + } + }, + "run_list": [ + "recipe[arcgis-notebooks::federation]" + ] +} +``` -### arcgis-notebooks::install_server +### install_server Installs ArcGIS Notebook Server. -### arcgis-notebooks::install_server_wa +Attributes used by the recipe: -Installs ArcGIS Web Adaptor for ArcGIS Notebook Server. +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "notebook_server": { + "setup_archive": "/opt/software/esri/ArcGIS_Notebook_Server_Linux_110_183044.tar.gz", + "standard_images": "/opt/software/esri/ArcGIS_Notebook_Docker_Standard_110_182933.tar.gz", + "advanced_images": "/opt/software/esri/ArcGIS_Notebook_Docker_Advanced_110_182934.tar.gz", + "authorization_file": "/opt/software/esri/notebooksadvsvr_110.prvc", + "license_level": "advanced", + "install_dir": "/home/arcgis", + "server_directories_root": "/home/arcgis/notebookserver/usr/directories", + "config_store_connection_string": "/home/arcgis/notebookserver/usr/directories/config-store", + "workspace": "/home/arcgis/notebookserver/usr/directories/config-store", + "configure_autostart": true, + "install_system_requirements": true, + "install_samples_data": true + } + }, + "run_list": [ + "recipe[arcgis-notebooks::install_server]" + ] +} +``` -### arcgis-notebooks::server +### install_server_wa -Installs and configures ArcGIS Notebook Server. +Installs ArcGIS Web Adaptor for ArcGIS Notebook Server. -### arcgis-notebooks::server_node +Attributes used by the recipe: -Joins additional machines to an ArcGIS Notebook Server site. +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "web_server": { + "webapp_dir": "/opt/tomcat_arcgis/webapps" + }, + "web_adaptor": { + "install_dir": "/", + "setup_archive": "/opt/software/esri/ArcGIS_Web_Adaptor_Java_Linux_110_182987.tar.gz" + }, + "notebook_server": { + "wa_name": "notebooks" + } + }, + "run_list": [ + "recipe[arcgis-notebooks::install_server_wa]" + ] +} +``` -### arcgis-notebooks::samples_data +### install_patches -Installs ArcGIS Notebook Server Samples Data. +Installs patches for ArcGIS Notebook Server. The recipe installs patches from the patches folder specified by the arcgis.notebook_server.patches attribute. The patch names may contain a wildcard '\*'. For example, "ArcGIS-1091-*.tar" specifies all .tar patches that start with "ArcGIS-1091-". -### arcgis-notebooks::server_wa +Attributes used by the recipe: -Installs and configures ArcGIS Web Adaptor for ArcGIS Notebook Server. +```JSON +{ + "arcgis" : { + "repository" : { + "patches" : "/opt/software/esri/patches" + }, + "notebook_server": { + "patches": ["patch1.tar", "patch2.tar"] + } + }, + "run_list": [ + "recipe[arcgis-notebooks::install_patches]" + ] +} +``` -### arcgis-notebooks::uninstall_server +### restart_docker -Uninstalls ArcGIS Notebook Server. +Restarts the Docker service. -### arcgis-notebooks::uninstall_server_wa +Attributes used by the recipe: -Uninstalls ArcGIS Web Adaptor for ArcGIS Notebook Server. +```JSON +{ + "run_list": [ + "recipe[arcgis-notebooks::restart_docker]" + ] +} +``` -### arcgis-notebooks::unregister_machine +### samples_data -Unregisters server machine from the ArcGIS Notebook Server site. +Installs ArcGIS Notebook Server Sample Data. -### arcgis-notebooks::unregister_server_wa +Attributes used by the recipe: -Unregisters all ArcGIS Notebook Server Web Adaptors. +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "notebook_server": { + "data_setup_archive": "/opt/software/esri/ArcGIS_Notebook_Server_Samples_Data_Linux_110_183049.tar.gz", + "install_dir": "/home/arcgis" + } + }, + "run_list": [ + "recipe[arcgis-notebooks::samples_data]" + ] +} +``` -Usage ------ +### server -Example JSON for linux deployments: +Installs and configures ArcGIS Notebook Server. + +Attributes used by the recipe: ```JSON { "arcgis": { - "version": "10.7.1", + "version": "11.0", "run_as_user": "arcgis", "notebook_server": { - "setup_archive": "/opt/software/esri/ArcGIS_Notebook_Server_Linux_1071_169927.tar.gz", - "standard_images": "/opt/software/esri/ArcGIS_Notebook_Docker_Standard_1071_169736.tar.gz", - "advanced_images": "/opt/software/esri/ArcGIS_Notebook_Docker_Advanced_1071_169738.tar.gz", - "authorization_file": "/opt/software/esri/notebooksadvsvr_107.ecp", + "setup_archive": "/opt/software/esri/ArcGIS_Notebook_Server_Linux_110_183044.tar.gz", + "standard_images": "/opt/software/esri/ArcGIS_Notebook_Docker_Standard_110_182933.tar.gz", + "advanced_images": "/opt/software/esri/ArcGIS_Notebook_Docker_Advanced_110_182934.tar.gz", + "authorization_file": "/opt/software/esri/notebooksadvsvr_110.prvc", "license_level": "advanced", - "admin_username": "admin", + "admin_username": "siteadmin", "admin_password": "change.it", + "install_dir": "/home/arcgis", "directories_root": "/home/arcgis/notebookserver/usr/directories", - "config_store_connection_string": "/home/arcgis/notebookserver/usr/directories/config-store", - "workspace": "/home/arcgis/notebookserver/usr/directories/config-store", + "config_store_connection_string": "/home/arcgis/notebookserver/usr/config-store", + "config_store_type": "FILESYSTEM", + "workspace": "/home/arcgis/notebookserver/usr/arcgisworkspace", "configure_autostart": true, - "install_system_requirements": true + "install_system_requirements": true, + "log_dir": "/home/arcgis/notebookserver/usr/logs", + "log_level": "WARNING", + "max_log_file_age": "90", + "system_properties": {}, + "install_samples_data": false } }, "run_list": [ - "recipe[arcgis-enterprise::system]", - "recipe[arcgis-notebooks::docker]", "recipe[arcgis-notebooks::server]" ] } ``` +### server_node + +Joins additional machines to an ArcGIS Notebook Server site. + +Attributes used by the recipe: + ```JSON { "arcgis": { - "version": "10.7.1", + "version": "11.0", "run_as_user": "arcgis", "notebook_server": { - "setup_archive": "/opt/software/esri/ArcGIS_Notebook_Server_Linux_1071_169927.tar.gz", - "standard_images": "/opt/software/esri/ArcGIS_Notebook_Docker_Standard_1071_169736.tar.gz", - "advanced_images": "/opt/software/esri/ArcGIS_Notebook_Docker_Advanced_1071_169738.tar.gz", - "authorization_file": "/opt/software/esri/notebooksadvsvr_107.ecp", + "setup_archive": "/opt/software/esri/ArcGIS_Notebook_Server_Linux_110_183044.tar.gz", + "standard_images": "/opt/software/esri/ArcGIS_Notebook_Docker_Standard_110_182933.tar.gz", + "advanced_images": "/opt/software/esri/ArcGIS_Notebook_Docker_Advanced_110_182934.tar.gz", + "authorization_file": "/opt/software/esri/notebooksadvsvr_110.prvc", "license_level": "advanced", - "primary_server_url": "https://notebookserver.domain.com:11443/arcgis/admin", + "admin_username": "siteadmin", + "admin_password": "change.it", + "install_dir": "/home/arcgis", + "primary_server_url": "https://domain.com:11443/arcgis/admin", "admin_username": "admin", "admin_password": "change.it", "configure_autostart": true, @@ -186,40 +310,108 @@ Example JSON for linux deployments: } }, "run_list": [ - "recipe[arcgis-enterprise::system]", - "recipe[arcgis-notebooks::docker]", "recipe[arcgis-notebooks::server_node]" ] } ``` -See [wiki](https://github.com/Esri/arcgis-cookbook/wiki) pages for more information about using ArcGIS cookbooks. +### server_wa + +Installs and configures ArcGIS Web Adaptor for ArcGIS Notebook Server. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "web_server": { + "webapp_dir": "/opt/tomcat_arcgis/webapps" + }, + "web_adaptor": { + "install_dir": "/", + "setup_archive": "/opt/software/esri/ArcGIS_Web_Adaptor_Java_Linux_110_182987.tar.gz" + }, + "notebook_server": { + "url": "https://hostname:11443", + "wa_name": "notebooks", + "wa_url": "https://hostname/notebooks", + "admin_username": "admin", + "admin_password": "change.it" + } + }, + "run_list": [ + "recipe[arcgis-notebooks::server_wa]" + ] +} +``` + +### arcgis-notebooks::uninstall_server -## Issues +Uninstalls ArcGIS Notebook Server. -Find a bug or want to request a new feature? Please let us know by submitting an [issue](https://github.com/Esri/arcgis-cookbook/issues). +Attributes used by the recipe: -## Contributing +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "notebook_server": { + "install_dir": "/home/arcgis" + } + }, + "run_list": [ + "recipe[arcgis-notebooks::uninstall_server]" + ] +} +``` -Esri welcomes contributions from anyone and everyone. Please see our [guidelines for contributing](https://github.com/esri/contributing). +### uninstall_server_wa -Licensing ---------- +Uninstalls ArcGIS Web Adaptor for ArcGIS Notebook Server. -Copyright 2021 Esri +Attributes used by the recipe: -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 +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "web_server": { + "webapp_dir": "/opt/tomcat_arcgis/webapps" + }, + "web_adaptor": { + "install_dir": "/" + }, + "notebook_server": { + "wa_name": "notebooks" + } + }, + "run_list": [ + "recipe[arcgis-notebooks::uninstall_server_wa]" + ] +} +``` + +### unregister_server_wa -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. +Unregisters all ArcGIS Web Adaptors from the ArcGIS Notebook Server site. -A copy of the license is available in the repository's [License.txt](https://github.com/Esri/arcgis-cookbook/blob/master/License.txt?raw=true) file. +Attributes used by the recipe: -[](Esri Tags: ArcGIS Enterprise Notebook Server Chef Cookbook) -[](Esri Language: Ruby) +```JSON +{ + "arcgis": { + "notebook_server": { + "url": "https://hostname:11443/arcgis", + "admin_username": "siteadmin", + "admin_password": "change.it" + } + }, + "run_list": [ + "recipe[arcgis-notebooks::unregister_server_wa]" + ] +} +``` diff --git a/cookbooks/arcgis-notebooks/attributes/default.rb b/cookbooks/arcgis-notebooks/attributes/default.rb index 121b5c8..1c5a626 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 2019 Esri +# Copyright 2022 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -44,7 +44,8 @@ notebook_server['configure_autostart'] = true notebook_server['install_system_requirements'] = true notebook_server['install_samples_data'] = false - + notebook_server['install_docker'] = true + notebook_server['setup_archive'] = '' notebook_server['admin_username'] = 'siteadmin' @@ -128,14 +129,6 @@ notebook_server['advanced_images'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Notebook_Docker_Advanced_108_172943.tar.gz').gsub('/', '\\') notebook_server['product_code'] = '{B1DB581E-E66C-4E58-B9E3-50A4D6CB5982}' - when '10.7.1' - notebook_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Notebook_Server_1071_169734.exe').gsub('/', '\\') - notebook_server['standard_images'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Notebook_Docker_Standard_1071_169736.tar.gz').gsub('/', '\\') - notebook_server['advanced_images'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Notebook_Docker_Advanced_1071_169738.tar.gz').gsub('/', '\\') - notebook_server['product_code'] = '{F6DF77B9-F35E-4877-A7B1-63E1918B4E19}' else Chef::Log.warn 'Unsupported ArcGIS Notebook Server version' end @@ -186,7 +179,18 @@ notebook_server_install_subdir, 'usr', 'logs') + notebook_server['patches'] = [] + case node['arcgis']['version'] + when '11.0' + notebook_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Notebook_Server_Linux_110_183044.tar.gz') + notebook_server['standard_images'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Notebook_Docker_Standard_110_182933.tar.gz') + notebook_server['advanced_images'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Notebook_Docker_Advanced_110_182934.tar.gz') + notebook_server['data_setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Notebook_Server_Samples_Data_Linux_110_183049.tar.gz') when '10.9.1' notebook_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Notebook_Server_Linux_1091_180226.tar.gz') diff --git a/cookbooks/arcgis-notebooks/metadata.rb b/cookbooks/arcgis-notebooks/metadata.rb index 98cbd94..c9118b6 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 '3.8.0' -chef_version '>= 13.0' if defined? chef_version +version '4.0.0' +chef_version '>= 14.0' if defined? chef_version -depends 'arcgis-enterprise', '~> 3.8' -depends 'arcgis-repository', '~> 3.8' +depends 'arcgis-enterprise', '~> 4.0' +depends 'arcgis-repository', '~> 4.0' depends 'docker', '~> 4.9' depends 'iptables', '~> 7.1' @@ -23,9 +23,11 @@ recipe 'arcgis-notebooks::docker', 'Installs Docker engine' recipe 'arcgis-notebooks::federation', 'Federates ArcGIS Notebook Server with Portal for ArcGIS and enables NotebookServer role' recipe 'arcgis-notebooks::fileserver', 'Configures shared directories for ArcGIS Notebook Server on file server machine' +recipe 'arcgis-notebooks::install_patches', 'Installs patches for ArcGIS Notebook Server' recipe 'arcgis-notebooks::install_server', 'Installs ArcGIS Notebook Server' recipe 'arcgis-notebooks::install_server_wa', 'Installs ArcGIS Web Adaptor for ArcGIS Notebook Server' recipe 'arcgis-notebooks::iptables', 'Reject Docker containers access to EC2 instance metadata IP address' +recipe 'arcgis-notebooks::restart_docker', 'Restarts Docker service' recipe 'arcgis-notebooks::samples_data', 'Installs ArcGIS Notebook Server Samples Data' recipe 'arcgis-notebooks::server', 'Installs and configures ArcGIS Notebook Server' recipe 'arcgis-notebooks::server_node', 'Joins additional machines to an ArcGIS Notebook Server site' diff --git a/cookbooks/arcgis-notebooks/recipes/docker.rb b/cookbooks/arcgis-notebooks/recipes/docker.rb index 0cf5d25..d20d231 100644 --- a/cookbooks/arcgis-notebooks/recipes/docker.rb +++ b/cookbooks/arcgis-notebooks/recipes/docker.rb @@ -1,7 +1,7 @@ # Cookbook Name:: arcgis-notebooks # Recipe:: docker # -# Copyright 2019 Esri +# Copyright 2022 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,12 +17,7 @@ # docker_service 'default' do + only_if { node['arcgis']['notebook_server']['install_docker'] } action [:create, :start] end - -# Restart docker service if iptables were rebuilt after docker was started -docker_service 'default' do - only_if { ::File.exist?("/lib/systemd/system/docker.service") } - subscribes :restart, 'execute[rebuild-iptables]', :immediately -end \ No newline at end of file diff --git a/cookbooks/arcgis-notebooks/recipes/install_patches.rb b/cookbooks/arcgis-notebooks/recipes/install_patches.rb new file mode 100644 index 0000000..9861f1d --- /dev/null +++ b/cookbooks/arcgis-notebooks/recipes/install_patches.rb @@ -0,0 +1,42 @@ +# +# Cookbook Name:: arcgis-notebooks +# Recipe:: install_patches +# +# Copyright 2022 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. +# + +# Install ArcGIS Notebook Server patches + +arcgis_notebooks_server 'Stop ArcGIS Notebook Server before patching' do + install_dir node['arcgis']['notebook_server']['install_dir'] + not_if { node['arcgis']['notebook_server']['patches'].empty?} + action :stop +end + +node['arcgis']['notebook_server']['patches'].each do |patch| + arcgis_enterprise_patches "Install patch #{patch}" do + product 'notebookserver' + patch_folder node['arcgis']['repository']['patches'] + patch patch + run_as_user node['arcgis']['run_as_user'] + action :install + end +end + +arcgis_notebooks_server 'Start ArcGIS Notebook Server after patching' do + install_dir node['arcgis']['notebook_server']['install_dir'] + not_if { node['arcgis']['notebook_server']['patches'].empty?} + action :start +end \ No newline at end of file diff --git a/cookbooks/arcgis-notebooks/recipes/restart_docker.rb b/cookbooks/arcgis-notebooks/recipes/restart_docker.rb new file mode 100644 index 0000000..bc0b6a5 --- /dev/null +++ b/cookbooks/arcgis-notebooks/recipes/restart_docker.rb @@ -0,0 +1,24 @@ +# Cookbook Name:: arcgis-notebooks +# Recipe:: restart_docker +# +# Copyright 2022 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. +# + +docker_service 'default' do + only_if { ::File.exist?('/lib/systemd/system/docker.service') || + ::File.exist?('/usr/lib/systemd/system/docker.service') } + action :restart +end + \ No newline at end of file diff --git a/cookbooks/arcgis-pro/CHANGELOG.md b/cookbooks/arcgis-pro/CHANGELOG.md index 9bc6f58..656020b 100644 --- a/cookbooks/arcgis-pro/CHANGELOG.md +++ b/cookbooks/arcgis-pro/CHANGELOG.md @@ -3,6 +3,11 @@ arcgis-pro cookbook CHANGELOG This file is used to list changes made in each version of the arcgis-pro cookbook. +4.0.0 +----- +- Added support for ArcGIS Pro 3.0. +- Support for installing .NET 6 Desktop Runtime x64 + 3.8.0 ----- - Added support for ArcGIS Pro 2.8/2.9. diff --git a/cookbooks/arcgis-pro/README.md b/cookbooks/arcgis-pro/README.md index a03d3d1..d1d8ac1 100644 --- a/cookbooks/arcgis-pro/README.md +++ b/cookbooks/arcgis-pro/README.md @@ -1,12 +1,17 @@ -arcgis-pro Cookbook -=============== +--- +layout: default +title: "arcgis-pro cookbook" +category: cookbooks +item: arcgis-pro +version: 4.0.0 +latest: true +--- -This cookbook installs and configures ArcGIS Pro. +# arcgis-pro Cookbook -Requirements ------------- +This cookbook installs and configures ArcGIS Pro. -### Supported ArcGIS Pro versions +## Supported ArcGIS Pro versions * 2.0 * 2.1 @@ -18,8 +23,9 @@ Requirements * 2.7 * 2.8 * 2.9 +* 3.0 -### Platforms +## Platforms * Windows 10 * Windows Server 2012 (R2) @@ -27,90 +33,134 @@ Requirements * Windows Server 2019 * Windows Server 2022 -### Dependencies +## Dependencies The following cookbooks are required: * windows * arcgis-repository -Attributes ----------- +## Attributes -* `node['arcgis']['pro']['version']` = ArcGIS Pro version. Default version is `2.9` -* `node['arcgis']['pro']['setup_archive']` = Path to ArcGIS Pro setup archive. Default value depends on `node['arcgis']['pro']['version']` attribute value. -* `node['arcgis']['pro']['setup']` = The location of ArcGIS Pro setup msi. Default location is `C:\Temp\ArcGISPro\ArcGISPro.msi`. +* `node['arcgis']['pro']['version']` = ArcGIS Pro version. Default version is `3.0` +* `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`. -* `node['arcgis']['pro']['blockaddins']` = Configures the types of Add-ins that ArcGIS Pro will load. Default value is `'0'`. +* `node['arcgis']['pro']['blockaddins']` = Configures the types of add-ins that ArcGIS Pro will load. Default value is `'0'`. * `node['arcgis']['pro']['portal_list']` = ArcGIS Portal URLs. Default value is `https://www.arcgis.com/`. -* `node['arcgis']['pro']['allusers']` = Defines installation context of ArcGIS Pro (1 - per machine, 2 - per user). Default value is '1'. -* `node['arcgis']['pro']['software_class']` = ArcGIS Pro software class . Default value is `Viewer`. -* `node['arcgis']['pro']['authorization_type']` = ArcGIS Pro authorization_type . Default value is `NAMED_USER`. -* `node['arcgis']['pro']['esri_license_host']` = Hostname of ArcGIS License Manager. Default hostname is `%COMPUTERNAME%`. +* `node['arcgis']['pro']['allusers']` = Defines the installation context of ArcGIS Pro (1 - per machine, 2 - per user). Default value is '1'. +* `node['arcgis']['pro']['software_class']` = ArcGIS Pro software class ``. Default value is `Viewer`. +* `node['arcgis']['pro']['authorization_type']` = ArcGIS Pro authorization_type ``. Default value is `NAMED_USER`. +* `node['arcgis']['pro']['esri_license_host']` = Host name of ArcGIS License Manager. Default host name is `%COMPUTERNAME%`. * `node['arcgis']['pro']['authorization_file']` = ArcGIS Pro authorization file path. -* `node['arcgis']['pro']['lock_auth_settings']` = During a silent, per-machine installation of ArcGIS Pro, if the authorization type is defined, this is set to true under HKEY_LOCAL_MACHINE\SOFTWARE\Esri\ArcGISPro\Licensing. When lock_auth_settings is true, the licensing settings in the registry apply to all ArcGIS Pro users on that machine; an individual user cannot make changes. To allow ArcGIS Pro users on the machine to define their own authorization settings through the ArcGIS Pro application, set lock_auth_settings to false. This property does not apply to a per-user installation. The default value is `false`. -* `node['arcgis']['repository']['archives']` = Path to folder with ArcGIS software setup archives. Default path is `%USERPROFILE%\Software\Esri`. -* `node['arcgis']['repository']['patches']` = Path to 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 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 `4.8`. -* `node['ms_dotnet']['setup']` = Microsoft .NET Framework setup path. The default path is `%USERPROFILE%\Software\Esri\ndp48-x86-x64-allos-enu.exe`. -* `node['ms_dotnet']['url']` = Microsoft .NET Framework setup URL. The default URL is `https://go.microsoft.com/fwlink/?linkid=2088631`. +* `node['arcgis']['pro']['authorization_file_version']` = ArcGIS Pro authorization file version. Default version is `11.0`. +* `node['arcgis']['pro']['lock_auth_settings']` = During a silent, per-machine installation of ArcGIS Pro, if the authorization type is defined, this attribute is set to true under HKEY_LOCAL_MACHINE\SOFTWARE\Esri\ArcGISPro\Licensing. When the lock_auth_settings attribute is set to true, the licensing settings in the registry apply to all ArcGIS Pro users on that machine; an individual user cannot make changes. To allow ArcGIS Pro users on the machine to define their own authorization settings through the ArcGIS Pro application, set lock_auth_settings to false. This property does not apply to a per-user installation. The default value is `false`. +* `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`. -Recipes -------- +## Recipes -### arcgis-pro::default +### default Installs and authorizes ArcGIS Pro. -### arcgis-pro::install_pro +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "pro": { + "version": "3.0", + "authorization_file_version": "11.0", + "setup": "C:\\ArcGIS\\ArcGIS Pro 3.0\\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" + } + }, + "run_list": [ + "recipe[arcgis-pro]" + ] +} +``` + +### install_pro Installs ArcGIS Pro. -### arcgis-pro::ms_dotnet - -Installs Microsoft .NET Framework. - -> If the Microsoft .NET Framework setup is not found at the path specified by `node['ms_dotnet']['setup']` attribute, it is downloaded form the URL specified by `node['ms_dotnet']['url']` attribute. - -### arcgis-pro::uninstall - -Uninstalls ArcGIS Pro. - -### arcgis-pro::patches +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "pro": { + "version": "3.0", + "setup": "C:\\ArcGIS\\ArcGIS Pro 3.0\\ArcGISPro\\ArcGISPro.msi", + "allusers": 1 + } + }, + "run_list": [ + "recipe[arcgis-pro::install_pro]" + ] +} +``` + +### ms_dotnet + +Installs Microsoft .Net Framework (may require a machine reboot after chef run completes). + +Attributes used by the recipe: + +```JSON +{ + "ms_dotnet": { + "version": "6.0.5", + "setup": "C:\\Software\\Archives\\windowsdesktop-runtime-6.0.5-win-x64.exe" + }, + "run_list": [ + "recipe[arcgis-pro::ms_dotnet]" + ] +} +``` + +### uninstall + +Uninstalls ArcGIS Pro of the specified version. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "pro": { + "version": "3.0" + } + }, + "run_list":[ + "recipe[arcgis-pro::uninstall]" + ] +} +``` + +### patches Installs ArcGIS Pro patches. -Usage ------ - -See [wiki](https://github.com/Esri/arcgis-cookbook/wiki) pages for more information about using ArcGIS cookbooks. - -## Issues - -Find a bug or want to request a new feature? Please let us know by submitting an [issue](https://github.com/Esri/arcgis-cookbook/issues). - -## Contributing - -Esri welcomes contributions from anyone and everyone. Please see our [guidelines for contributing](https://github.com/esri/contributing). - -Licensing ---------- - -Copyright 2016-2021 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. - -A copy of the license is available in the repository's [License.txt](https://github.com/Esri/arcgis-cookbook/blob/master/License.txt?raw=true) file. - -[](Esri Tags: ArcGIS Pro Chef Cookbook) -[](Esri Language: Ruby) +```JSON +{ + "arcgis":{ + "patches" : { + "local_patch_folder" : "C:\\ArcGIS\\Patches" + } + }, + "run_list":[ + "recipe[arcgis-pro::patches]" + ] +} +``` diff --git a/cookbooks/arcgis-pro/attributes/default.rb b/cookbooks/arcgis-pro/attributes/default.rb index 1e89254..50f01d9 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-2021 Esri +# Copyright 2015-2022 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'] = '2.9' + pro['version'] = '3.0' 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'] = '4.8' + default['ms_dotnet']['version'] = '6.0.5' case node['arcgis']['pro']['version'] + when '3.0' + pro['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGISPro_30_182209.exe').gsub('/', '\\') + pro['product_code'] = '{FE78CD1B-4B17-4634-BBF7-3A597FFFAA69}' when '2.9' pro['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGISPro_29_179927.exe').gsub('/', '\\') @@ -90,9 +94,13 @@ Chef::Log.warn 'Unsupported ArcGIS Pro version' end - pro['authorization_file_version'] = node['arcgis']['pro']['version'].to_f.to_s + pro['authorization_file_version'] = '11.0' case node['ms_dotnet']['version'] + 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'], + 'windowsdesktop-runtime-6.0.5-win-x64.exe').gsub('/', '\\') when '4.8' default['ms_dotnet']['url'] = 'https://go.microsoft.com/fwlink/?linkid=2088631' 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 b94f478..4f85458 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 '3.8.0' -chef_version '>= 13.0' if defined? chef_version +version '4.0.0' +chef_version '>= 14.0' if defined? chef_version -depends 'arcgis-repository', '~> 3.8' +depends 'arcgis-repository', '~> 4.0' depends 'windows', '~> 5.3' supports 'windows' diff --git a/cookbooks/arcgis-repository/README.md b/cookbooks/arcgis-repository/README.md index 97f9b9d..efb358f 100644 --- a/cookbooks/arcgis-repository/README.md +++ b/cookbooks/arcgis-repository/README.md @@ -1,12 +1,17 @@ -arcgis-repository cookbook -=============== +--- +layout: default +title: "arcgis-repository cookbook" +category: cookbooks +item: arcgis-repository +version: 4.0.0 +latest: true +--- -arcgis-repository cookbook downloads ArcGIS software setup archives from remote to local repositories. +# arcgis-repository cookbook -Requirements ------------- +arcgis-repository cookbook downloads ArcGIS software setup archives from remote to local repositories. -### Supported ArcGIS versions +## Supported ArcGIS versions * 10.7 * 10.7.1 @@ -14,8 +19,9 @@ Requirements * 10.8.1 * 10.9 * 10.9.1 +* 11.0 -### Platforms +## Platforms * Windows 8 (8.1) * Windows 10 @@ -27,98 +33,131 @@ Requirements * Ubuntu Server 18.04 and 20.04 LTS * Red Hat Enterprise Linux Server 8 * SUSE Linux Enterprise Server 15 -* CentOS Linux 8 * Oracle Linux 8 -### Dependencies +## Dependencies The following cookbooks are required: * s3_file -Attributes ----------- +## Attributes -* `node['arcgis']['repository']['setups']` = Path to folder with ArcGIS software setups. Default path is `%USERPROFILE%\Documents` on Windows and `/opt/arcgis` on Linux. -* `node['arcgis']['repository']['archives']` = Local or network ArcGIS software repository path. The default path on windows is `%USERPROFILE%\\Software\\Esri`, on Linux `/opt/software/esri`. -* `node['arcgis']['repository']['local_archives']` = Local ArcGIS software repository path. The default path on windows is `%USERPROFILE%\\Software\\Esri`, on Linux `/opt/software/esri`. -* `node['arcgis']['repository']['patches']` = Path to folder with hot fixes and patches for ArcGIS Enterprise software. The default path on Windows is `%USERPROFILE%\Software\Esri\Patches`, on Linux is `/opt/software/esri/patches`. -* `node['arcgis']['repository']['server']['url']` = Remote ArcGIS software repository URL. The Default URL is `https://downloads.arcgis.com/dms/rest/download/secured`. +* `node['arcgis']['repository']['setups']` = Path to folder with the ArcGIS software setups. Default path is `%USERPROFILE%\Documents` on Windows and `/opt/arcgis` on Linux. +* `node['arcgis']['repository']['archives']` = Local or network ArcGIS software repository path. The default path on Windows is `%USERPROFILE%\\Software\\Esri`. On Linux, it is `/opt/software/esri`. +* `node['arcgis']['repository']['local_archives']` = Local ArcGIS software repository path. The default path on Windows is `%USERPROFILE%\\Software\\Esri`. On Linux, it is `/opt/software/esri`. +* `node['arcgis']['repository']['shared']` = If `true`, a network share is created for the local repository path. Default value is `false`. +* `node['arcgis']['repository']['patches']` = Path to folder with hot fixes and patches for ArcGIS Enterprise software. The default path on Windows is `%USERPROFILE%\Software\Esri\patches`. On Linux, it is `/opt/software/esri/patches`. +* `node['arcgis']['repository']['server']['url']` = Remote ArcGIS software repository URL. The default URL is `https://devops.arcgis.com/arcgis`. * `node['arcgis']['repository']['server']['key']` = Remote ArcGIS software repository key. * `node['arcgis']['repository']['server']['s3bucket']` = Remote ArcGIS software repository S3 bucket name. * `node['arcgis']['repository']['server']['region']` = Remote ArcGIS software repository S3 bucket region id. * `node['arcgis']['repository']['server']['aws_access_key']` = AWS access key ID. IAM role credentials are used if access key is not specified. * `node['arcgis']['repository']['server']['aws_secret_access_key']` = AWS secret access key. -* `node['arcgis']['repository']['files']` = file names mapped to SHA256 checksum and the remote path subfolder attributes. Default value is `nil`. +* `node['arcgis']['repository']['files']` = File names mapped to SHA256 checksum and the remote path subfolder attributes. Default value is `nil`. +* `node['arcgis']['repository']['patch_notification']['url']` = ArcGIS patch notification file URL. The default URL is `https://downloads.esri.com/patch_notification/patches.json`. +* `node['arcgis']['repository']['patch_notification']['products']` = An array or ArcGIS product names used to filter downloaded patches. If the array is empty, patches are downloaded for all products. The default value is `[]`. +* `node['arcgis']['repository']['patch_notification']['versions']` = An array of ArcGIS versions used to filter downloaded patches. The default value is `[node['arcgis']['version']]`. -Recipes -------- +## Recipes -### arcgis-repository::default +### default -Downloads files from remote ArcGIS software repository to local repository specified by `node['arcgis']['repository']['local_archives']` attribute. +Calls arcgis-repository::files recipe. -### arcgis-repository::s3files +### files -Downloads files from ArcGIS software repository in S3 to local repository specified by `node['arcgis']['repository']['local_archives']` attribute. +Downloads files from the ArcGIS software repository. -### arcgis-repository::s3files2 +Attributes used by the recipe: -Downloads files from ArcGIS software repository in S3 to local repository using AWS CLI Tools on Linux and AWS Tools for PowerShell on Windows. +```JSON +{ + "arcgis": { + "repository": { + "local_archives": "C:\\Software\\Archives", + "server": { + "url": "https://downloads.arcgis.com", + "token_service_url": "https://www.arcgis.com/sharing/rest/generateToken", + "username": "", + "password": "" + }, + "files": { + "": { + "subfolder": "" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::files]" + ] +} +``` -Examples --------- +### fileserver -arcgis-repository::default recipe attributes use example. +Creates a repository directory and a network share for it if the `arcgis.repository.shared` attribute is set to true. -```JSON +```json { "arcgis":{ "repository":{ - "archives":"C:\\Temp\\Software\\Esri", - "local_archives":"C:\\Temp\\Software\\Esri", - "server":{ - "url":"https://downloads.arcgis.com/dms/rest/download/secured", - "key":"" - }, - "files":{ - "ArcGIS_DataStore_10124.exe":{ - "subfolder":"software/arcgis_daily/10.7" - }, - "ArcGIS_Server_10124.exe":{ - "subfolder":"software/arcgis_daily/10.7", - "checksum":"7CDD2B78BA2C49D4C81882E6211EDCB1BAFCD8BBE64BDF89C2D538BF48F3CDDD" - } - } + "shared": false, + "local_archives":"C:\\Software\\Archives" } }, "run_list":[ - "recipe[arcgis-repository]" + "recipe[arcgis-repository::fileserver]" ] } ``` -arcgis-repository::s3files recipe use example. +### patches + +Downloads patches for specific ArcGIS products and versions from the ArcGIS software repository. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "10.9.1", + "repository": { + "local_patches": "C:\\Software\\Archives\\Patches", + "patch_notification": { + "products": ["ArcGIS Server"] + } + } + }, + "run_list": [ + "recipe[arcgis-repository::patches]" + ] +} +``` + +### s3files + +Downloads files from the ArcGIS software repository in S3 to the local repository specified by the node['arcgis']['repository']['local_archives'] attribute. + +Attributes used by the recipe: ```JSON { "arcgis":{ "repository":{ - "archives":"/opt/software/esri", - "local_archives":"/opt/software/esri", + "local_archives":"C:\\Software\\Archives", "server":{ - "s3bucket":"arcgisstore107-us-east-1", + "region": "us-east-1", + "s3bucket":"arcgisstore-us-east-1", "aws_access_key":"", "aws_secret_access_key":"" }, - "files":{ - "ArcGIS_DataStore_Linux_107_167719.tar.gz":{ - "subfolder":"10450/setups" - }, - "ArcGIS_Server_Linux_107_167707.tar.gz":{ - "subfolder":"10450/setups" - } - } + "files": { + "": { + "subfolder": "" + } + } } }, "run_list":[ @@ -127,30 +166,34 @@ arcgis-repository::s3files recipe use example. } ``` -See [wiki](https://github.com/Esri/arcgis-cookbook/wiki) pages for more information about using ArcGIS cookbooks. - -## Issues - -Find a bug or want to request a new feature? Please let us know by submitting an [issue](https://github.com/Esri/arcgis-cookbook/issues). - -## Contributing - -Esri welcomes contributions from anyone and everyone. Please see our [guidelines for contributing](https://github.com/esri/contributing). +### s3files2 -Licensing ---------- +Downloads files from the ArcGIS software repository in S3 to the local repository specified by the node['arcgis']['repository']['local_archives'] attribute. -Copyright 2021 Esri +The s3files2 recipe requires AWS Tools for PowerShell to be installed on Windows machines and AWS Command Line Interface to be installed on Linux machines. -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 +Attributes used by the recipe: -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. - -A copy of the license is available in the repository's [License.txt](https://github.com/Esri/arcgis-cookbook/blob/master/License.txt?raw=true) file. +```JSON +{ + "arcgis":{ + "repository":{ + "local_archives":"C:\\Software\\Archives", + "server":{ + "region": "us-east-1", + "s3bucket":"arcgisstore-us-east-1", + "aws_access_key":"", + "aws_secret_access_key":"" + }, + "files": { + "": { + "subfolder": "" + } + } + } + }, + "run_list":[ + "recipe[arcgis-repository::s3files2]" + ] +} +``` diff --git a/cookbooks/arcgis-repository/attributes/default.rb b/cookbooks/arcgis-repository/attributes/default.rb index 3c7bb2f..bd4c40e 100644 --- a/cookbooks/arcgis-repository/attributes/default.rb +++ b/cookbooks/arcgis-repository/attributes/default.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-repository # Attributes:: default # -# Copyright 2018 Esri +# Copyright 2022 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -19,31 +19,34 @@ # Local ArcGIS Software Repository attributes default['arcgis']['repository'].tap do |repository| - case node['platform'] - when 'windows' - repository['setups'] = ::File.join(ENV['USERPROFILE'], - 'Documents') - repository['local_archives'] = ::File.join(ENV['USERPROFILE'], - 'Software\\Esri') - repository['archives'] = repository['local_archives'] - repository['patches'] = ::File.join(ENV['USERPROFILE'], - 'Software\\Esri\\Patches') - else # node['platform'] == 'linux' + if node['platform'] == 'windows' + repository['setups'] = ::File.join(ENV['USERPROFILE'], 'Documents') + repository['local_archives'] = ::File.join(ENV['USERPROFILE'], 'Software\\Esri') + else repository['setups'] = '/opt/arcgis' repository['local_archives'] = '/opt/software/esri' - repository['archives'] = repository['local_archives'] - repository['patches'] = '/opt/software/esri/patches' end + repository['archives'] = repository['local_archives'] + repository['local_patches'] = ::File.join(node['arcgis']['repository']['local_archives'], 'patches') + repository['patches'] = repository['local_patches'] + + repository['shared'] = false + # Remote ArcGIS Software Repository attributes - repository['server']['url'] = 'https://downloads.arcgis.com/dms/rest/download/secured' - repository['server']['key'] = '' + repository['server']['url'] = 'https://downloads.arcgis.com' + repository['server']['token_service_url'] = 'https://www.arcgis.com/sharing/rest/generateToken' + repository['server']['username'] = nil + repository['server']['password'] = nil # ArcGIS Software Repository in S3 attributes - repository['server']['region'] = '' - repository['server']['s3bucket'] = '' - + repository['server']['region'] = 'us-east-1' + repository['server']['s3bucket'] = 'arcgisstore-us-east-1' # AWS access keys are required to download files form ArcGIS software repository S3 buckets - repository['server']['aws_access_key'] = '' - repository['server']['aws_secret_access_key'] = '' + repository['server']['aws_access_key'] = nil + repository['server']['aws_secret_access_key'] = nil + + repository['patch_notification']['url'] = 'https://downloads.esri.com/patch_notification/patches.json' + repository['patch_notification']['versions'] = [node['arcgis']['version']] + repository['patch_notification']['products'] = [] end diff --git a/cookbooks/arcgis-enterprise/recipes/patches.rb b/cookbooks/arcgis-repository/libraries/downloader.rb similarity index 69% rename from cookbooks/arcgis-enterprise/recipes/patches.rb rename to cookbooks/arcgis-repository/libraries/downloader.rb index 188c680..5ccf5a7 100644 --- a/cookbooks/arcgis-enterprise/recipes/patches.rb +++ b/cookbooks/arcgis-repository/libraries/downloader.rb @@ -1,8 +1,5 @@ # -# Cookbook Name:: arcgis-enterprise -# Recipe:: patches -# -# Copyright 2018 Esri +# Copyright 2021 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -15,9 +12,15 @@ # 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. -# -arcgis_enterprise_patches 'Install ArcGIS Enterprise Patches' do - only_if { ::File.exists?(node['arcgis']['repository']['patches']) } - action :install -end \ No newline at end of file +require 'open-uri' + +module Downloader + + # Downloads file from the specified URL to a local path. + def self.download(url, path) + URI.open(url) { |download| + IO.copy_stream(download, path) + } + end +end diff --git a/cookbooks/arcgis-repository/libraries/downloads_api_client.rb b/cookbooks/arcgis-repository/libraries/downloads_api_client.rb new file mode 100644 index 0000000..ffb6252 --- /dev/null +++ b/cookbooks/arcgis-repository/libraries/downloads_api_client.rb @@ -0,0 +1,79 @@ +# +# Copyright 2022 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 'net/http' +require 'uri' +require 'json' + +module ArcGIS + # + # Client class for ArcGIS Downloads API. + # + class DownloadsAPIClient + + @downloads_service_url = nil + + def initialize(downloads_service_url) + @downloads_service_url = downloads_service_url + end + + def generate_url(file, folder, token) + if token.nil? + raise "Repository access credentials are not specified." + end + + uri = URI.parse(@downloads_service_url + '/dms/rest/download/secured/' + file) + + uri.query = URI.encode_www_form('folder' => folder, 'token' => token) + + request = Net::HTTP::Get.new(uri.request_uri) + + request.add_field('Referer', 'referer') + + response = send_request(request, @downloads_service_url) + + validate_response(response) + + JSON.parse(response.body)['url'] + end + + private + + def send_request(request, url) + uri = URI.parse(url) + + http = Net::HTTP.new(uri.host, uri.port) + + http.read_timeout = 600 + http.use_ssl = true + + Chef::Log.debug("Request: #{request.method} #{uri.scheme}://#{uri.host}:#{uri.port}#{request.path}") + + Chef::Log.debug(request.body) unless request.body.nil? + + response = http.request(request) + + Chef::Log.debug("Response: #{response.code} #{response.body}") + + response + end + + def validate_response(response) + error_info = JSON.parse(response.body) + raise error_info['message'] if response.code.to_i > 200 + end + end + +end diff --git a/cookbooks/arcgis-repository/libraries/patches_client.rb b/cookbooks/arcgis-repository/libraries/patches_client.rb new file mode 100644 index 0000000..02116d4 --- /dev/null +++ b/cookbooks/arcgis-repository/libraries/patches_client.rb @@ -0,0 +1,111 @@ +# +# Copyright 2022 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 'net/http' +require 'uri' +require 'json' + +module ArcGIS + # + # Client class for ArcGIS patches repository. + # + class PatchesRepositoryClient + + @patches_url = nil + + def initialize(patches_url) + @patches_url = patches_url + end + + def get_patches(products, versions) + uri = URI.parse(@patches_url) + + request = Net::HTTP::Get.new(uri.request_uri) + + response = send_request(request, @patches_url) + + raise "URL #{@patches_url} is not available." if response.code.to_i > 200 + + all_patches = JSON.parse(response.body)['Product'] + + patches = [] + + all_patches.each do |version_patches| + if versions.include?(version_patches['version']) + version_patches['patches'].each do |patch| + patch_products = patch['Products'] + if products.empty? || products.include?(patch_products) + patches.append(patch) + end + end + end + end + + patches + end + + # Download patches for the specified platform, products, and versions + # from the remote patches repository into folder specified by patches_dir parameter. + def download_patches(platform, products, versions, patches_dir) + ::Chef::Log.info("Downloading ArcGIS #{versions.join(',')} patches for #{platform} platform.") + + accepted_formats = (platform == 'windows') ? ['.msp'] : ['.tar', '.gz'] + + get_patches(products, versions).each do |patch| + patch['PatchFiles'].each do |file_url| + uri = URI.parse(file_url) + if accepted_formats.include?(File.extname(uri.path)) + local_file_path = ::File.join(patches_dir, ::File.basename(uri.path)) + + if !::File.exists?(local_file_path) + Chef::Log.info("Downloading #{file_url} to #{local_file_path}...") + begin + Downloader.download(file_url, local_file_path) + rescue Exception => e + Chef::Log.marn "Failed to download patch from '#{file_url}'. #{e.message}" + end + end + end + end + end + end + + private + + def send_request(request, url) + uri = URI.parse(url) + + http = Net::HTTP.new(uri.host, uri.port) + + http.read_timeout = 600 + http.use_ssl = true + + Chef::Log.debug("Request: #{request.method} #{uri.scheme}://#{uri.host}:#{uri.port}#{request.path}") + + Chef::Log.debug(request.body) unless request.body.nil? + + response = http.request(request) + + Chef::Log.debug("Response: #{response.code} #{response.body}") + + response + end + + def validate_response(response) + error_info = JSON.parse(response.body) + raise error_info['message'] if response.code.to_i > 200 + end + end +end \ No newline at end of file diff --git a/cookbooks/arcgis-repository/libraries/repository_client.rb b/cookbooks/arcgis-repository/libraries/repository_client.rb new file mode 100644 index 0000000..60a624c --- /dev/null +++ b/cookbooks/arcgis-repository/libraries/repository_client.rb @@ -0,0 +1,127 @@ +# +# Copyright 2021 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 'net/http' +require 'uri' +require 'json' + +module ArcGIS + # + # Client class for ArcGIS Software repository. + # + class RepositoryClient + + @repository_url = nil + @username = nil + @password = nil + + def initialize(repository_url, username, password) + @repository_url = repository_url + @username = username + @password = password + end + + def info + uri = URI.parse(@repository_url + '/repository/info') + + request = Net::HTTP::Get.new(uri.request_uri) + + response = send_request(request, @repository_url) + + validate_response(response) + + JSON.parse(response.body) + end + + def files(folder) + uri = URI.parse(@repository_url + '/repository') + + request = Net::HTTP::Get.new(uri.request_uri) + + uri.query = URI.encode_www_form('folder' => folder) + + response = send_request(request, @repository_url) + + validate_response(response) + + JSON.parse(response.body) + end + + def generate_url(files, folder = nil) + uri = URI.parse(@repository_url + '/repository/generateUrl') + + request = Net::HTTP::Post.new(URI.parse(@repository_url + '/repository/generateUrl').request_uri) + + token = generate_token() + + request.add_field('Authorization', 'Bearer ' + token) + + request.set_form_data('file' => files, 'folder' => folder) + + response = send_request(request, @repository_url) + + validate_response(response) + + JSON.parse(response.body) + end + + private + + def send_request(request, url) + uri = URI.parse(url) + + http = Net::HTTP.new(uri.host, uri.port) + + http.read_timeout = 600 + http.use_ssl = true + + Chef::Log.debug("Request: #{request.method} #{uri.scheme}://#{uri.host}:#{uri.port}#{request.path}") + + Chef::Log.debug(request.body) unless request.body.nil? + + response = http.request(request) + + Chef::Log.debug("Response: #{response.code} #{response.body}") + + response + end + + def validate_response(response) + if response.code.to_i > 200 + error_info = JSON.parse(response.body) + raise error_info['message'] + end + end + + def generate_token() + token_service_url = info['authInfo']['tokenServicesUrl'] + + request = Net::HTTP::Post.new(URI.parse(token_service_url).request_uri) + + request.set_form_data('username' => @username, + 'password' => @password, + 'client' => 'referer', + 'referer' => 'referer', + 'expiration' => '600', + 'f' => 'json') + + response = send_request(request, token_service_url) + + validate_response(response) + + JSON.parse(response.body)['token'] + end + end +end \ No newline at end of file diff --git a/cookbooks/arcgis-repository/libraries/token_service_client.rb b/cookbooks/arcgis-repository/libraries/token_service_client.rb new file mode 100644 index 0000000..e4d3430 --- /dev/null +++ b/cookbooks/arcgis-repository/libraries/token_service_client.rb @@ -0,0 +1,77 @@ +# +# Copyright 2022 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 'net/http' +require 'uri' +require 'json' + +module ArcGIS + # + # Client class for ArcGIS Online token service client. + # + class TokenServiceClient + + @token_service_url = nil + + def initialize(token_service_url) + @token_service_url = token_service_url + end + + def generate_token(username, password, referer = 'referer', expiration = 600) + request = Net::HTTP::Post.new(URI.parse(@token_service_url).request_uri) + + request.set_form_data('username' => username, + 'password' => password, + 'client' => 'referer', + 'referer' => referer, + 'expiration' => expiration.to_s, + 'f' => 'json') + + response = send_request(request, @token_service_url) + + validate_response(response) + + JSON.parse(response.body)['token'] + end + + private + + def send_request(request, url) + uri = URI.parse(url) + + http = Net::HTTP.new(uri.host, uri.port) + + http.read_timeout = 600 + http.use_ssl = true + + Chef::Log.debug("Request: #{request.method} #{uri.scheme}://#{uri.host}:#{uri.port}#{request.path}") + + Chef::Log.debug(request.body) unless request.body.nil? + + response = http.request(request) + + Chef::Log.debug("Response: #{response.code} #{response.body}") + + response + end + + def validate_response(response) + error_info = JSON.parse(response.body) + raise error_info['message'] if response.code.to_i > 200 + raise error_info['error']['message'] unless error_info['error'].nil? + end + end + +end diff --git a/cookbooks/arcgis-repository/metadata.rb b/cookbooks/arcgis-repository/metadata.rb index b59f929..d06ffb1 100644 --- a/cookbooks/arcgis-repository/metadata.rb +++ b/cookbooks/arcgis-repository/metadata.rb @@ -4,10 +4,11 @@ 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 '3.8.0' -chef_version '>= 13.0' if defined? chef_version +version '4.0.0' +chef_version '>= 14.0' if defined? chef_version depends 's3_file', '~> 2.8' +depends 'nfs', '~> 2.6' supports 'windows' supports 'ubuntu' @@ -17,6 +18,9 @@ supports 'suse' recipe 'arcgis-repository::default', 'Downloads files from remote ArcGIS software repository to local repository.' +recipe 'arcgis-repository::files', 'Downloads files from ArcGIS software repository.' +recipe 'arcgis-repository::fileserver', 'Creates repository directory and a network share for it.' +recipe 'arcgis-repository::patches', 'Downloads patches for specific ArcGIS products and versions from ArcGIS software repository.' recipe 'arcgis-repository::s3files', 'Downloads files from ArcGIS software repository in S3 to local repository.' recipe 'arcgis-repository::s3files2', 'Downloads files from ArcGIS software repository in S3 to local repository using AWS CLI Tools on Linux and AWS Tools for PowerShell on Windows.' diff --git a/cookbooks/arcgis-repository/recipes/default.rb b/cookbooks/arcgis-repository/recipes/default.rb index fbbb684..89170d6 100644 --- a/cookbooks/arcgis-repository/recipes/default.rb +++ b/cookbooks/arcgis-repository/recipes/default.rb @@ -2,7 +2,7 @@ # Cookbook:: arcgis-repository # Recipe:: default # -# Copyright 2018 Esri +# Copyright 2022 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,22 +17,4 @@ # limitations under the License. # -# Create archives directory -directory node['arcgis']['repository']['local_archives'] do - mode '0755' if node['platform'] != 'windows' - recursive true - action :create -end - -node['arcgis']['repository']['files'].each do |filename, props| - # Download the remote file - remote_file filename do - path ::File.join(node['arcgis']['repository']['local_archives'], filename) - source ArcGIS.get_download_url(node['arcgis']['repository']['server']['url'], - node['arcgis']['repository']['server']['key'], - filename, props['subfolder']) - checksum props['checksum'] - not_if { ::File.exist?(::File.join(node['arcgis']['repository']['local_archives'], filename)) } - action :create - end -end +include_recipe 'arcgis-repository::files' diff --git a/cookbooks/arcgis-repository/recipes/files.rb b/cookbooks/arcgis-repository/recipes/files.rb new file mode 100644 index 0000000..32ba697 --- /dev/null +++ b/cookbooks/arcgis-repository/recipes/files.rb @@ -0,0 +1,34 @@ +# +# Cookbook:: arcgis-repository +# Recipe:: files +# +# Copyright 2021 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. +# + +# Create archives directory +directory node['arcgis']['repository']['local_archives'] do + mode '0755' if node['platform'] != 'windows' + recursive true + action :create +end + +arcgis_repository_files 'Download files from remote repository' do + server node['arcgis']['repository']['server'] + files node['arcgis']['repository']['files'] + local_archives node['arcgis']['repository']['local_archives'] + retries 5 + retry_delay 10 + action :download +end diff --git a/cookbooks/arcgis-repository/recipes/fileserver.rb b/cookbooks/arcgis-repository/recipes/fileserver.rb new file mode 100644 index 0000000..11bdb73 --- /dev/null +++ b/cookbooks/arcgis-repository/recipes/fileserver.rb @@ -0,0 +1,50 @@ +# +# Cookbook Name:: arcgis-repository +# Recipe:: fileserver +# +# Copyright 2022 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. +# + +include_recipe 'nfs::server' if node['arcgis']['repository']['shared'] && node['platform'] != 'windows' + +path = node['arcgis']['repository']['local_archives'] + +# Create archives directory +directory path do + mode '0755' if node['platform'] != 'windows' + recursive true + action :create +end + +# Share the directory +if node['platform'] == 'windows' + powershell_script "Share #{path}" do + code <<-EOH + $sharename = Split-Path #{path} -Leaf + net share "$sharename=#{path}" + EOH + guard_interpreter :powershell_script + not_if "[bool](Get-WmiObject -Class Win32_Share -Filter \"Path='#{path}'\".Replace('\\', '\\\\'))" + only_if { node['arcgis']['repository']['shared'] } + end +else + nfs_export path do + network '*' + writeable false + sync true + options ['insecure', 'no_subtree_check', 'nohide'] + only_if { node['arcgis']['repository']['shared'] } + end +end diff --git a/cookbooks/arcgis-repository/recipes/patches.rb b/cookbooks/arcgis-repository/recipes/patches.rb new file mode 100644 index 0000000..aae203e --- /dev/null +++ b/cookbooks/arcgis-repository/recipes/patches.rb @@ -0,0 +1,33 @@ +# +# Cookbook:: arcgis-repository +# Recipe:: patches +# +# Copyright 2022 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. +# + +# Create archives directory +directory node['arcgis']['repository']['local_patches'] do + mode '0755' if node['platform'] != 'windows' + recursive true + action :create +end + +arcgis_repository_patches 'Download ArcGIS patches from remote repository' do + patches_url node['arcgis']['repository']['patch_notification']['url'] + products node['arcgis']['repository']['patch_notification']['products'] + versions node['arcgis']['repository']['patch_notification']['versions'] + patches_dir node['arcgis']['repository']['local_patches'] + action :download +end diff --git a/cookbooks/arcgis-repository/recipes/s3files.rb b/cookbooks/arcgis-repository/recipes/s3files.rb index 8f3b402..c199c29 100644 --- a/cookbooks/arcgis-repository/recipes/s3files.rb +++ b/cookbooks/arcgis-repository/recipes/s3files.rb @@ -2,7 +2,7 @@ # Cookbook:: arcgis-repository # Recipe:: s3files # -# Copyright 2018 Esri +# Copyright 2021 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -24,16 +24,26 @@ action :create end +if node['arcgis']['repository']['server']['s3bucket'].empty? + # Get S3 bucket name and AWS region from the ArcGIS Software Repository service info. + repository = ArcGIS::RepositoryClient.new(node['arcgis']['repository']['server']['url'], nil, nil) + repository_info = repository.info + s3_bucket = repository_info['bucket'] + s3_region = repository_info['region'] +else + s3_bucket = node['arcgis']['repository']['server']['s3bucket'] + s3_region = node['arcgis']['repository']['server']['region'] +end + node['arcgis']['repository']['files'].each do |filename, props| # Download the remote file from S3 remote_path = props['subfolder'].nil? ? filename : ::File.join(props['subfolder'], filename) s3_file filename do path ::File.join(node['arcgis']['repository']['local_archives'], filename) remote_path remote_path - bucket node['arcgis']['repository']['server']['s3bucket'] + bucket s3_bucket unless node['arcgis']['repository']['server']['region'].empty? - s3_url ArcGIS.build_endpoint_url(node['arcgis']['repository']['server']['s3bucket'], - node['arcgis']['repository']['server']['region']) + s3_url ArcGIS.build_endpoint_url(s3_bucket, s3_region) end if !node['arcgis']['repository']['server']['aws_access_key'].empty? aws_access_key_id node['arcgis']['repository']['server']['aws_access_key'] diff --git a/cookbooks/arcgis-repository/recipes/s3files2.rb b/cookbooks/arcgis-repository/recipes/s3files2.rb index ce3e973..e055dec 100644 --- a/cookbooks/arcgis-repository/recipes/s3files2.rb +++ b/cookbooks/arcgis-repository/recipes/s3files2.rb @@ -24,10 +24,19 @@ action :create end -node['arcgis']['repository']['files'].each do |filename, props| - # Download the remote file from S3 +if node['arcgis']['repository']['server']['s3bucket'].empty? + # Get S3 bucket name and AWS region from the ArcGIS Software Repository service info. + repository = ArcGIS::RepositoryClient.new(node['arcgis']['repository']['server']['url'], nil, nil) + repository_info = repository.info + s3_bucket = repository_info['bucket'] + s3_region = repository_info['region'] +else s3_bucket = node['arcgis']['repository']['server']['s3bucket'] s3_region = node['arcgis']['repository']['server']['region'] +end + +node['arcgis']['repository']['files'].each do |filename, props| + # Download the remote file from S3 s3_key = props['subfolder'].nil? ? filename : ::File.join(props['subfolder'], filename) path = ::File.join(node['arcgis']['repository']['local_archives'], filename) diff --git a/cookbooks/arcgis-repository/resources/files.rb b/cookbooks/arcgis-repository/resources/files.rb new file mode 100644 index 0000000..f486cc2 --- /dev/null +++ b/cookbooks/arcgis-repository/resources/files.rb @@ -0,0 +1,74 @@ +# +# Cookbook:: arcgis-repository +# Resource:: files +# +# Copyright 2022 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. +# + +actions :download + +attribute :server, kind_of: Hash, default: {} +attribute :files, kind_of: Hash, default: {} +attribute :local_archives, kind_of: String + +def initialize(*args) + super + @action = :download +end + +use_inline_resources if defined?(use_inline_resources) + +action :download do + token_service = ArcGIS::TokenServiceClient.new( + @new_resource.server['token_service_url']) + + downloads_service = ArcGIS::DownloadsAPIClient.new( + @new_resource.server['url']) + + unless @new_resource.server['username'].nil? || + @new_resource.server['password'].nil? + token = token_service.generate_token( + @new_resource.server['username'], + @new_resource.server['password'] + ) + end + + @new_resource.files.each do |file, props| + Chef::Log.debug("Downloading #{file}.") + + if props['url'].nil? + url = downloads_service.generate_url(file, props['subfolder'], token) + else + url = props['url'] + end + + path = ::File.join(@new_resource.local_archives, file) + + unless ::File.exist?(path) + Downloader.download(url, path) + end + + # Download the remote file + # remote_file file do + # path path + # source url + # mode '0755' if node['platform'] != 'windows' + # backup false + # # checksum props['checksum'] + # not_if { ::File.exist?(path) } + # action :create + # end + end +end diff --git a/cookbooks/arcgis-repository/resources/patches.rb b/cookbooks/arcgis-repository/resources/patches.rb new file mode 100644 index 0000000..58686ed --- /dev/null +++ b/cookbooks/arcgis-repository/resources/patches.rb @@ -0,0 +1,41 @@ +# +# Cookbook:: arcgis-repository +# Resource:: patches +# +# Copyright 2022 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. +# + +actions :download + +attribute :patches_url, kind_of: String +attribute :products, kind_of: [Array, String] +attribute :versions, kind_of: [Array, String] +attribute :patches_dir, kind_of: String + +def initialize(*args) + super + @action = :download +end + +use_inline_resources if defined?(use_inline_resources) + +action :download do + patches_repo = ArcGIS::PatchesRepositoryClient.new(@new_resource.patches_url) + + patches_repo.download_patches(node['platform'], + @new_resource.products, + @new_resource.versions, + @new_resource.patches_dir) +end diff --git a/cookbooks/arcgis-workflow-manager/README.md b/cookbooks/arcgis-workflow-manager/README.md index 6f9a81d..ad6919f 100644 --- a/cookbooks/arcgis-workflow-manager/README.md +++ b/cookbooks/arcgis-workflow-manager/README.md @@ -1,102 +1,211 @@ +--- +layout: default +title: "arcgis-workflow-manager cookbook" +category: cookbooks +item: arcgis-workflow-manager +version: 4.0.0 +latest: true +--- + # arcgis-workflow-manager cookbook This cookbook installs and configures ArcGIS Workflow Manager Server and Web App. -## Requirements - -### Supported ArcGIS Workflow Manager Server versions +## Supported ArcGIS Workflow Manager Server versions * 10.8.1 * 10.9 * 10.9.1 +* 11.0 -### Supported ArcGIS software +## Supported ArcGIS software * ArcGIS Workflow Manager Server * ArcGIS Workflow Manager Web App -### Platforms +## Platforms * Microsoft Windows Server 2019 Standard and Datacenter * Microsoft Windows Server 2022 Standard and Datacenter * Ubuntu Server 18.04 and 20.04 LTS * Red Hat Enterprise Linux Server 8 * SUSE Linux Enterprise Server 15 -* CentOS Linux 8 * Oracle Linux 8 -### Dependencies +## Dependencies The following cookbooks are required: * arcgis-enterprise * arcgis-repository -Attributes ----------- +## Attributes -* `node['arcgis']['workflow_manager_server']['setup_archive']` = Path to ArcGIS Workflow Manager Server setup archive. Default value depends on `node['arcgis']['version']` attribute value. -* `node['arcgis']['workflow_manager_server']['setup']` = The location of ArcGIS Workflow Manager Server setup executable. Default location is `%USERPROFILE%\Documents\ArcGIS10.9\WorkflowManagerServer\Setup.exe` on Windows and `/opt/arcgis/10.9/WorkflowManagerServer/Setup.sh` on Linux. +* `node['arcgis']['workflow_manager_server']['setup_archive']` = Path to the ArcGIS Workflow Manager Server setup archive. Default value depends on the `node['arcgis']['version']` attribute value. +* `node['arcgis']['workflow_manager_server']['setup']` = The location of the ArcGIS Workflow Manager Server setup executable. Default location is `%USERPROFILE%\Documents\ArcGIS10.9\WorkflowManagerServer\Setup.exe` on Windows and `/opt/arcgis/10.9/WorkflowManagerServer/Setup.sh` on Linux. * `node['arcgis']['workflow_manager_server']['authorization_file']` = ArcGIS Workflow Manager Server authorization file path. Default value is set to the value of `node['arcgis']['server']['authorization_file']` * `node['arcgis']['workflow_manager_server']['authorization_file_version']` = ArcGIS Workflow Manager Server authorization file version. Default value is `node['arcgis']['server']['authorization_file_version']`. * `node['arcgis']['workflow_manager_server']['ports']` = Ports used by ArcGIS Workflow Manager Server. Default ports are `9830,9820,9840,9880,13443`. - -Recipes -------- - -### arcgis-workflow-manager::default - -Installs and authorizes ArcGIS Workflow Manager Server. - -### arcgis-workflow-manager::federation - -Federates ArcGIS Workflow Manager Server and enables Workflow Manager server function. - -### arcgis-workflow-manager::install_server +* `node['arcgis']['workflow_manager_server']['patches]` = File names of ArcGIS Workflow Manager Server patches to install. Default value is `[]`. + +## Recipes + +### default + +Calls the arcgis-workflow-manager::server recipe. + +### federation + +Federates ArcGIS Workflow Manager Server with an ArcGIS Enterprise portal and enables the Workflow Manager Server function. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "portal": { + "private_url": "https://portal.domain.com:7443/arcgis", + "admin_username": "admin", + "admin_password": "changeit", + "root_cert": "", + "root_cert_alias": "" + }, + "server": { + "web_context_url": "https://domain.com/server", + "private_url": "https://domain.com:6443/arcgis", + "admin_username": "admin", + "admin_password": "changeit", + "is_hosting": true + } + }, + "run_list": [ + "recipe[arcgis-workflow-manager::federation]" + ] +} +``` + +### install_server Installs ArcGIS Workflow Manager Server. -### arcgis-workflow-manager::install_webapp - -Installs ArcGIS Workflow Manager Web App. - -### arcgis-workflow-manager::server +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "configure_windows_firewall": true, + "repository": { + "setups": "C:\\Software\\Setups" + }, + "server": { + "install_dir": "C:\\Program Files\\ArcGIS\\Server", + "install_system_requirements": true + }, + "workflow_manager_server": { + "setup_archive": "C:\\Software\\Archives\\ArcGIS_Workflow_Manager_Server_110_182937.exe", + "setup": "C:\\Software\\Setups\\ArcGIS11.0\\WorkflowManagerServer\\Setup.exe", + "ports": "9830,9820,9840,9880,13443" + } + }, + "run_list": [ + "recipe[arcgis-workflow-manager::install_server]" + ] +} +``` + +### install_patches + +Installs patches for ArcGIS Workflow Manager Server. The recipe installs patches from the patches folder specified by the arcgis.notebook_server.patches attribute. The patch names may contain a wildcard '\*'. For example, "ArcGIS-1091-\*.msp" specifies all .msp patches that start with "ArcGIS-1091-". + +Attributes used by the recipe: + +```JSON +{ + "arcgis" : { + "repository" : { + "patches" : "%USERPROFILE%\\Software\\Esri\\patches" + }, + "workflow_manager_server": { + "patches": ["patch1.msp", "patch2.msp"] + } + }, + "run_list": [ + "recipe[arcgis-workflow-manager::install_patches]" + ] +} +``` + +### server Installs and authorizes ArcGIS Workflow Manager Server. -### arcgis-workflow-manager::uninstall_server +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "configure_windows_firewall": true, + "repository": { + "setups": "C:\\Software\\Setups" + }, + "server": { + "install_dir": "C:\\Program Files\\ArcGIS\\Server", + "install_system_requirements": true + }, + "workflow_manager_server": { + "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.0", + "ports": "9830,9820,9840,9880,13443" + } + }, + "run_list": [ + "recipe[arcgis-workflow-manager::server]" + ] +} +``` + +### uninstall_server Uninstalls ArcGIS Workflow Manager Server. -### arcgis-workflow-manager::uninstall_webapp +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "server": { + "install_dir": "C:\\Program Files\\ArcGIS\\Server" + } + }, + "run_list": [ + "recipe[arcgis-workflow-manager::uninstall_server]" + ] +} +``` + +### uninstall_webapp Uninstalls ArcGIS Workflow Manager Web App. -## Issues - -Find a bug or want to request a new feature? Please let us know by submitting an [issue](https://github.com/Esri/arcgis-cookbook/issues). - -## Contributing - -Esri welcomes contributions from anyone and everyone. Please see our [guidelines for contributing](https://github.com/esri/contributing). - -Licensing ---------- - -Copyright 2021 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. - -A copy of the license is available in the repository's [License.txt](https://github.com/Esri/arcgis-cookbook/blob/master/License.txt?raw=true) file. - -[](Esri Tags: ArcGIS Enterprise Workflow Server Chef Cookbook) -[](Esri Language: Ruby) +```JSON +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "portal": { + "install_dir": "C:\\Program Files\\ArcGIS\\Portal" + } + }, + "run_list": [ + "recipe[arcgis-workflow-manager::uninstall_webapp]" + ] +} +``` diff --git a/cookbooks/arcgis-workflow-manager/attributes/server.rb b/cookbooks/arcgis-workflow-manager/attributes/server.rb index 50c1f2b..96fc2c4 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 2021 Esri +# Copyright 2022 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -26,6 +26,8 @@ server['ports'] = '9830,9820,9840,9880,13443' + server['patches'] = [] + case node['platform'] when 'windows' server['setup'] = ::File.join(node['arcgis']['repository']['setups'], @@ -33,18 +35,29 @@ 'WorkflowManagerServer', 'Setup.exe') case node['arcgis']['version'] + 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['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['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['product_code'] = '{C0F0FCAB-2B65-4B8E-8614-531690B7CF9C}' + server['patch_registry'] ='SOFTWARE\\ESRI\\workflowmanager\\Server\\10.8\\Updates' else Chef::Log.warn 'Unsupported ArcGIS Workflow Manager Server version' end @@ -53,6 +66,12 @@ node['arcgis']['version'], 'WorkflowManagerServer', 'Setup.sh') case node['arcgis']['version'] + 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') @@ -65,5 +84,22 @@ else Chef::Log.warn 'Unsupported ArcGIS Workflow Manager Server version' end + + if node['arcgis']['server']['install_dir'].nil? + server_install_dir = default['arcgis']['server']['install_dir'] + else + server_install_dir = node['arcgis']['server']['install_dir'] + end + + if node['arcgis']['server']['install_subdir'].nil? + server_install_subdir = default['arcgis']['server']['install_subdir'] + else + server_install_subdir = node['arcgis']['server']['install_subdir'] + end + + server['patch_log'] = ::File.join(server_install_dir, + server_install_subdir, + 'WorkflowManager', + '.ESRI_WMXS_PATCH_LOG') end end diff --git a/cookbooks/arcgis-workflow-manager/metadata.rb b/cookbooks/arcgis-workflow-manager/metadata.rb index 50bc8b9..74fd86f 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 '3.8.0' -chef_version '>= 13.0' +version '4.0.0' +chef_version '>= 14.0' -depends 'arcgis-enterprise', '~> 3.8' -depends 'arcgis-repository', '~> 3.8' +depends 'arcgis-enterprise', '~> 4.0' +depends 'arcgis-repository', '~> 4.0' supports 'windows' supports 'ubuntu' @@ -19,6 +19,7 @@ recipe 'arcgis-workflow-manager::default', 'Installs and authorizes ArcGIS Workflow Manager Server' recipe 'arcgis-workflow-manager::federation', 'Federates ArcGIS Workflow Manager Server and enables Workflow Manager server function' +recipe 'arcgis-workflow-manager::install_patches', 'Installs patches for ArcGIS Workflow Manager Server' recipe 'arcgis-workflow-manager::install_server', 'Installs ArcGIS Workflow Manager Server' recipe 'arcgis-workflow-manager::install_webapp', 'Installs ArcGIS Workflow Manager Web App' recipe 'arcgis-workflow-manager::server', 'Installs and authorizes ArcGIS Workflow Manager Server' diff --git a/cookbooks/arcgis-workflow-manager/recipes/install_patches.rb b/cookbooks/arcgis-workflow-manager/recipes/install_patches.rb new file mode 100644 index 0000000..2216187 --- /dev/null +++ b/cookbooks/arcgis-workflow-manager/recipes/install_patches.rb @@ -0,0 +1,44 @@ +# +# Cookbook Name:: arcgis-workflow-manager +# Recipe:: install_patches +# +# Copyright 2022 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. +# + +# Install ArcGIS Workflow Manager Server patches + +arcgis_workflow_manager_server 'Stop ArcGIS Workflow Manager Server before patching' do + not_if { node['arcgis']['workflow_manager_server']['patches'].empty? } + action :stop +end + +node['arcgis']['workflow_manager_server']['patches'].each do |patch| + arcgis_enterprise_patches "Install patch #{patch}" do + patch_folder node['arcgis']['repository']['patches'] + patch patch + run_as_user node['arcgis']['run_as_user'] + if node['platform'] == 'windows' + patch_registry node['arcgis']['workflow_manager_server']['patch_registry'] + else + patch_log node['arcgis']['workflow_manager_server']['patch_log'] + end + action :install + end +end + +arcgis_workflow_manager_server 'Start ArcGIS Workflow Manager Server after patching' do + not_if { node['arcgis']['workflow_manager_server']['patches'].empty? } + action :start +end diff --git a/cookbooks/arcgis/CHANGELOG.md b/cookbooks/arcgis/CHANGELOG.md index d82eb9f..f420909 100644 --- a/cookbooks/arcgis/CHANGELOG.md +++ b/cookbooks/arcgis/CHANGELOG.md @@ -1,35 +1,218 @@ -arcgis cookbook CHANGELOG -================================ +--- +layout: default +title: "Changelog" +category: overview +item: changelog +latest: true +order: 6 +--- -This file is used to list changes made in each version of the arcgis cookbook. +# Changelog -3.8.0 ------ -- Added support for ArcGIS 10.9.1. -- Added arcgis-workflow-manager cookbook +Changes made in each version of the Chef Cookbooks for ArcGIS. -3.7.0 ------ -- Added support for ArcGIS 10.9. -- Added support for Cinc Client 15. +## 4.0.0 -3.6.1 ------ -- Added support for Chef Client 15. +- Added support for ArcGIS Enterprise 11.0. +- Added support for ArcGIS Pro 3.0. +- Added support for ArcGIS Insights ArcGIS 2022.1/2022.1.1/2022.2. +- Improved support for installing ArcGIS Enterprise patches. +- Added support for downloading ArcGIS setup archives from . +## 3.8.0 -3.6.0 ------ -- Added arcgis-mission cookbook. +- Added support for ArcGIS Enterprise 10.9.1 + - Added unfederate_server recipe +- Added support for ArcGIS Mission Server 10.9.1 + - Added unregister_server_wa recipe +- Added support for ArcGIS Notebook Server 10.9.1 + - Added unregister_server_wa recipe +- Added support for ArcGIS GeoEvent 10.9.1 + - Added admin_reset recipe +- Added support for ArcGIS Pro 2.8 and 2.9 + - Added deployment templates for ArcGIS Pro 2.8 and 2.9 + - Added ms_dotnet recipe +- Added support for ArcGIS Desktop 10.8.2 + - Added deployment templates for ArcGIS Desktop 10.8.1 and 10.8.2 +- Added support for ArcGIS License Manager 2021.0 and 2021.1 + - Added deployment templates for ArcGIS License Manager 2021.0 and 2021.1 +- Added arcgis-workflow-manager cookbook and deployment template + - arcgis-workflow-manager cookbook supports ArcGIS Workflow Manager Server 10.8.1, 10.9, and 10.9.1 + - arcgis-workflow-manager cookbook supports ArcGIS Workflow Manager Web App 10.8.1 and 10.9 (Note: 10.9.1 Web App is built into portal setup.) +- Added support for ArcGIS Insights 2021.1, 2021.1.1, 2021.2, 2021.2.1, 2021.3, and 2021.3.1 +- Added install recipe to esri-iis cookbook +- Added support for upgrades using the deployment templates +- Added new tool for copying attributes from one json config file to another -3.5.0 ------ -- Added arcgis-notebooks cookbook. +Fixed issues: -3.4.0 ------ -- Refactored arcgis cookbook that does not include any resources or recipes but collects arcgis-* and esri-* cookbooks as dependencies. +- [Template for ArcGIS Enterprise upgrade](https://github.com/Esri/arcgis-cookbook/issues/294_ +- [unfederating recipe](https://github.com/Esri/arcgis-cookbook/issues/265) -1.1.0 ------ -- First release of the cookbook \ No newline at end of file +## 3.7.0 + +- Added support for ArcGIS Enterprise 10.9 +- Added ArcGIS Enterprise 10.9 deployment templates +- Added support for Windows Group Managed Service Accounts (gMSA) for ArcGIS GeoEvent Server, ArcGIS Mission Server, and ArcGIS Notebook Server +- Added iptables, firewalld, and openjdk recipes to esri-tomcat cookbook +- Added support for Cinc Client 15 + +Fixed issues: + +- [Unable to install raster analytics role - fails with reason "the server does not have a raster data store"](https://github.com/Esri/arcgis-cookbook/issues/276) +- [Configure Portal System properties to set Proxy](https://github.com/Esri/arcgis-cookbook/issues/273) +- [Failed to configure SSL certificates in ArcGIS Server. Importing CA certificate failed.](https://github.com/Esri/arcgis-cookbook/issues/272) +- [Recipe Patch Mixlib::ShellOut::CommandTimeout](https://github.com/Esri/arcgis-cookbook/issues/268) +- [recipe[arcgis-geoevent] cannot rerun](https://github.com/Esri/arcgis-cookbook/issues/263) + +## 3.6.1 + +- Added support for Chef Client 15+ +- Added unregister_machines recipe in arcgis-enterprise cookbook +- Added support ArcGIS Insights 2020.2 and 2020.3 + +Fixed issues: + +- [NoMethodError while registering SDE files in ArcGIS Server 10.7.1](https://github.com/Esri/arcgis-cookbook/issues/244) +- [ArcGIS Datastore Backup directory in a HA deployment](https://github.com/Esri/arcgis-cookbook/issues/210) + +## 3.6.0 + +- Added arcgis-mission cookbook and deployment templates (ArcGIS Mission Server 10.8 and 10.8.1) +- Added support for ArcGIS Enterprise 10.8.1 + - Added support for importing root SSL certificate into ArcGIS Server + - Added option to configure ArcGIS Data Store mode (PrimaryStandby or Cluster) + - Added recipe to unregister all ArcGIS Server Web Adaptors from a site (unregister_server_wa) +- Added support for Insights for ArcGIS 3.4/3.4.1/2020.1 +- Added support for ArcGIS Pro 2.6 +- Added support for ArcGIS Desktop 10.8.1 and ArcGIS License Manager 2020.0 + - Fixed software authorization issues with single use ArcGIS Desktop licenses + +## 3.5.0 + +- Added support for ArcGIS 10.8 +- Added arcgis-notebooks cookbook and deployment templates +- Added support for custom setup command line parameters +- Added support for using hostnames instead of IP addresses on AWS +- Added support for Windows Managed Service Accounts +- Added support for Password protected Esri Secured License Files (ESLF) + +## 3.4.0 + +- Added support for ArcGIS 10.7.1 (Supports both 10.7 and 10.7.1) +- Added support for ArcGIS WebStyles +- Updated and locked versions of dependent cookbooks +- Removed arcgis-repository cookbook dependencies on aws cookbook to simplify use in disconnected environments + +## 3.3.1 + +- Workaround for [BUG-000121142](https://support.esri.com/en/technical-article/000020633) +- Increased configuredatastore tool execution timeout to 3 hours. + +## 3.3.0 + +- Added support for ArcGIS 10.7 +- Added support for Insights for ArcGIS 3.0/3.1 +- Added support for ArcGIS Pro 2.3/2.4 +- Dropped support for ArcGIS Enterprise versions prior to 10.7 +- Added arcgis-repository and arcgis-egdb cookbooks +- All arcgis-* cookbooks now support local ArcGIS repository + +## 3.2.1 + +- Support for ArcGIS Enterprise 10.6.1. +- Enabling raster analytics and image hosting server roles. +- Added install_datastore, install_portal_wa, install_portal, install_server_wa, and install_server recipes that just install the applications without configuring them. +- Added stop_machine, stop_server, and unregister_machine recipes. +- Use configurebackup location Data Store tool instead of deprecated changebackuplocation. +- Added portal_security recipe. +- Improved configuring preferred host identifiers for Portal and Data Store. +- Added datasources recipe to support registering data sources to ArcGIS Server. +- Added support for ArcGIS Pro 2.2. +- Added patches recipe for ArcGIS Pro +- Added 3 installation modes for ArcGIS Pro : SINGLE_USE | CONCURRENT_USE | NAMED_USER +- Added ec2 test kitchen + +## 3.2.0 + +- Support for ArcGIS Enterprise 10.6. +- Support for ArcGIS Pro 2.1. +- Support for Insights for ArcGIS 2.0/2.1. +- Support for Chef-Client 13. + +## 3.1.0 + +- Support for ArcGIS 10.5.1. +- Added support for configuring ArcGIS Server identity stores and assigns privileges to roles. +- Added support for installing ArcGIS Enterprise patches. +- Set default values for sensitive attributes using environmental variables. +- Support setting of keystore type for HTTPS listener in esri-tomcat cookbook. + +## 3.0.0 + +- 'iis' recipe moved to new 'esri-iis' cookbook. +- Supported Windows firewall configuration for ArcGIS Enterprise applications. +- Introduced local ArcGIS software repository. +- Supported extraction of ArcGIS software setups from archives to a local setup repository. +- Completed the ArcGIS Server 10.5 upgrade procedure. +- Added recipe to run user-defined post installation script. +- Added creation of network shares in 'fileserver' recipe. +- Supported setting log level in Portal for ArcGIS. +- arcgis-server cookbook renamed to arcgis-enterprise. +- Added arcgis-insights cookbook. + +## 2.3.1 + +- added support for ArcGIS 10.5. +- Support creating EGDBs in Amazon RDS DB instances. +- Honor is_hosting attribute in enable_geoanalytics recipe. +- Support changing ArcGIS Server machine admin URL. +- Support using join-site tool to add machine to ArcGIS Server site and the default cluster. +- Support configuring Portal for ArcGIS content store in Amazon S3. +- Keep ArcGIS Server log files on the local machines instead of using shared directories. +- Added max_log_file_age attribute to configure ArcGIS Server logs retention period. +- Configure 'arcgisgeoevent' system.d service. + +## 2.3.0 + +- 'arcgis' cookbook was split into arcgis-server, arcgis-desktop, arcgis-geoevent, and arcgis-pro cookbooks. +- Added esri-tomcat cookbook that wraps 'tomcat' cookbooks v2. +- Support for ArcGIS 10.5 Beta. +- Support for Windows 10. +- Support for upgrades (ArcGIS 10.4->10.4.1->10.5) on Windows +- Installing on Linux machines with pre-installed java application servers. +- Support for running some recipes on Linux without root access. +- Publishing services to ArcGIS Server. +- Support for latest chef-client (12.*) versions. +- Added support for language packs installation. + +## 2.2.1 + +- Added support for ArcGIS 10.4.1. + +## 2.2.0 + +- This release supports only ArcGIS 10.4 release software. +- Added 'all_uninstalled' and 'cleanup' recipes. +- Added 'arcgis' top level key to all arcgis cookbook attributes. +- Added support for ArcGIS Pro. +- Using 10.4 federation and HA workflows. +- Improved Data Store configuration. + +## 1.1.3 + +- Added ArcGIS GeoEvent Extension for Server resource. +- Default value of attribute node['data_store']['preferredidentifier'] set to 'hostname' instead of 'ip'. + +## 1.1.2 + +- Support configuration of highly available Portal for ArcGIS. +- Fixed problem with NetFx3 windows feature installation on Windows 8.1. +- Fixed problem with missing '\items\portal\properties.json' file. +- Use path relative to 'install_dir' path for server and portal software authorization tools on linux. +- Improved 'desktop' and 'licensemanager' recipes. +- Supported domain user accounts. + +## 1.1.1 + +- First release of the cookbook. diff --git a/cookbooks/arcgis/metadata.rb b/cookbooks/arcgis/metadata.rb index 5765f9a..edfce0a 100644 --- a/cookbooks/arcgis/metadata.rb +++ b/cookbooks/arcgis/metadata.rb @@ -4,21 +4,21 @@ license 'Apache 2.0' description 'ArcGIS Chef Cookbooks' long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version '3.8.0' -chef_version '>= 13.0' if defined? chef_version +version '4.0.0' +chef_version '>= 14.0' if defined? chef_version -depends 'arcgis-desktop', '~> 3.8' +depends 'arcgis-desktop', '~> 4.0' depends 'arcgis-egdb', '~> 1.0' -depends 'arcgis-enterprise', '~> 3.8' -depends 'arcgis-geoevent', '~> 3.8' -depends 'arcgis-notebooks', '~> 3.8' -depends 'arcgis-mission', '~> 3.8' -depends 'arcgis-insights', '~> 3.8' -depends 'arcgis-pro', '~> 3.8' -depends 'arcgis-repository', '~> 3.8' -depends 'arcgis-workflow-manager', '~> 3.8' -depends 'esri-iis', '~> 0.1' -depends 'esri-tomcat', '~> 0.1' +depends 'arcgis-enterprise', '~> 4.0' +depends 'arcgis-geoevent', '~> 4.0' +depends 'arcgis-notebooks', '~> 4.0' +depends 'arcgis-mission', '~> 4.0' +depends 'arcgis-insights', '~> 4.0' +depends 'arcgis-pro', '~> 4.0' +depends 'arcgis-repository', '~> 4.0' +depends 'arcgis-workflow-manager', '~> 4.0' +depends 'esri-iis', '~> 0.2' +depends 'esri-tomcat', '~> 0.2' supports 'windows' supports 'ubuntu' diff --git a/cookbooks/esri-iis/README.md b/cookbooks/esri-iis/README.md index b19c894..a94441c 100644 --- a/cookbooks/esri-iis/README.md +++ b/cookbooks/esri-iis/README.md @@ -1,11 +1,17 @@ +--- +layout: default +title: "esri-iis cookbook" +category: cookbooks +item: esri-iis +version: 0.2.0 +latest: true +--- + # esri-iis Cookbook This cookbook enables IIS, installs features required by ArcGIS Web Adaptor (IIS), configures HTTPS, and starts IIS. -Requirements ------------- - -### Platforms +## Platforms * Windows 7 * Windows 8 (8.1) @@ -18,7 +24,7 @@ Requirements * Windows Server 2019 * Windows Server 2022 -### Dependencies +## Dependencies The following cookbooks are required: * openssl @@ -26,37 +32,38 @@ The following cookbooks are required: ## Attributes -* `node['arcgis']['iis']['domain_name']` = Domain name used for generating self-signed SSL certificate. By default, `` is used. +* `node['arcgis']['iis']['domain_name']` = Domain name used for generating a self-signed SSL certificate. By default, `` is used. * `node['arcgis']['iis']['keystore_file']` = Path to PKSC12 keystore file (.pfx) with server SSL certificate for IIS. Default value is `nil`. * `node['arcgis']['iis']['keystore_password']` = Password for keystore file with server SSL certificate for IIS. Default value is `nil`. -* `node['arcgis']['iis']['web_site']` = IIS web site to configure. Dafault value is `Default Web Site`. +* `node['arcgis']['iis']['web_site']` = IIS web site to configure. Default value is `Default Web Site`. * `node['arcgis']['iis']['replace_https_binding']` = If false, the current HTTPS binding is not changed if it is already configured. Default value is `false`. -* `node['arcgis']['iis']['features']` = An array of windows features to be installed with IIS. Default value depends on Windows version. +* `node['arcgis']['iis']['features']` = An array of Windows features to be installed. Default value is `['Web-Server', 'Web-WebServer']`. -Recipes -------- +## Recipes -## esri-iis::default +### default Enables IIS features required by ArcGIS Web Adaptor (IIS) and configures HTTPS binding. -## esri-iis::install - -Enables IIS features required by ArcGIS Web Adaptor (IIS). - -## Usage +The default list of features depends on the Windows version. -Include `esri-iis` in your node's `run_list`: - -```json +```JSON { "arcgis": { "iis": { + "appid": "{00112233-4455-6677-8899-AABBCCDDEEFF}", "domain_name": "domain.com", - "keystore_file" : "C:\\domain_com.pfx", + "keystore_file": "C:\\chef\\cache\\domain.com.pfx", "keystore_password": "test", "web_site": "Default Web Site", - "replace_https_binding": false + "replace_https_binding": false, + "features": [ "IIS-WebServerRole", "IIS-ISAPIFilter", + "IIS-ISAPIExtensions", "NetFx4Extended-ASPNET45", "IIS-NetFxExtensibility45", + "IIS-ASPNET45", "IIS-WebServerManagementTools", "IIS-ManagementConsole", + "IIS-ManagementService", "IIS-IIS6ManagementCompatibility", + "IIS-ManagementScriptingTools", "IIS-StaticContent", "IIS-BasicAuthentication", + "IIS-WindowsAuthentication", "IIS-Metabase", "IIS-WebSockets" + ] } }, "run_list": [ @@ -65,33 +72,29 @@ Include `esri-iis` in your node's `run_list`: } ``` -See [wiki](https://github.com/Esri/arcgis-cookbook/wiki) pages for more information about using ArcGIS cookbooks. - -## Issues - -Find a bug or want to request a new feature? Please let us know by submitting an [issue](https://github.com/Esri/arcgis-cookbook/issues). +If the specified keystore file does not exists, the recipe generates a self-signed SSL certificate for the specified domain. -## Contributing +### install -Esri welcomes contributions from anyone and everyone. Please see our [guidelines for contributing](https://github.com/esri/contributing). - -Licensing ---------- - -Copyright 2017 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. +Enables IIS features required by ArcGIS Web Adaptor (IIS). -A copy of the license is available in the repository's [License.txt](https://github.com/Esri/arcgis-cookbook/blob/master/License.txt?raw=true) file. +The default list of features depends on the Windows version. -[](Esri Tags: ArcGIS Web Adaptor IIS Chef Cookbook) -[](Esri Language: Ruby) +```json +{ + "arcgis": { + "iis": { + "features": [ "IIS-WebServerRole", "IIS-ISAPIFilter", + "IIS-ISAPIExtensions", "NetFx4Extended-ASPNET45", "IIS-NetFxExtensibility45", + "IIS-ASPNET45", "IIS-WebServerManagementTools", "IIS-ManagementConsole", + "IIS-ManagementService", "IIS-IIS6ManagementCompatibility", + "IIS-ManagementScriptingTools", "IIS-StaticContent", "IIS-BasicAuthentication", + "IIS-WindowsAuthentication", "IIS-Metabase", "IIS-WebSockets" + ] + } + }, + "run_list": [ + "recipe[esri-iis::install]" + ] +} +``` diff --git a/cookbooks/esri-iis/attributes/default.rb b/cookbooks/esri-iis/attributes/default.rb index eb15d75..8bd345f 100644 --- a/cookbooks/esri-iis/attributes/default.rb +++ b/cookbooks/esri-iis/attributes/default.rb @@ -2,7 +2,7 @@ # Cookbook Name:: esri-iis # Attributes:: default # -# Copyright 2015 Esri +# Copyright 2022 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -20,37 +20,7 @@ case node['platform'] when 'windows' - if node['platform_version'].to_f < 6.1 - # Windows Server 2008 - iis['features'] = ['Web-Server', 'Web-Mgmt-Tools', 'Web-Mgmt-Console', - 'Web-Mgmt-Service', 'Web-Mgmt-Service', 'Web-Mgmt-Compat', 'Web-Scripting-Tools', - 'Web-Static-Content', 'Web-ISAPI-Filter', 'Web-ISAPI-Ext', 'Web-Basic-Auth', - 'Web-Windows-Auth', 'Web-Net-Ext', 'Web-Asp-Net', 'Web-Metabase'] - elsif node['platform_version'].to_f < 6.2 - # Windows Server 2008 R2, Windows 7 - iis['features'] = ['IIS-WebServerRole', 'IIS-ISAPIFilter', - 'IIS-ISAPIExtensions', 'IIS-WebServerManagementTools', 'IIS-ManagementConsole', - 'IIS-ManagementService', 'IIS-IIS6ManagementCompatibility', 'IIS-ManagementScriptingTools', - 'IIS-StaticContent', 'IIS-BasicAuthentication', 'IIS-WindowsAuthentication', - 'IIS-NetFxExtensibility', 'IIS-ASPNET', 'IIS-Metabase'] - else - if node['kernel']['os_info']['product_type'] != Chef::ReservedNames::Win32::API::System::VER_NT_WORKSTATION - iis['features'] = ['NetFx3ServerFeatures', - 'IIS-WebServerRole', 'IIS-ApplicationDevelopment', 'IIS-ISAPIFilter', - 'IIS-ISAPIExtensions', 'NetFx4Extended-ASPNET45', 'IIS-NetFxExtensibility45', - 'IIS-ASPNET45', 'IIS-WebServerManagementTools', 'IIS-ManagementConsole', - 'IIS-ManagementService', 'IIS-IIS6ManagementCompatibility', - 'IIS-ManagementScriptingTools', 'IIS-StaticContent', 'IIS-BasicAuthentication', - 'IIS-WindowsAuthentication', 'IIS-Metabase', 'IIS-WebSockets'] - elsif - iis['features'] = ['IIS-WebServerRole', 'IIS-ISAPIFilter', - 'IIS-ISAPIExtensions', 'NetFx4Extended-ASPNET45', 'IIS-NetFxExtensibility45', - 'IIS-ASPNET45', 'IIS-WebServerManagementTools', 'IIS-ManagementConsole', - 'IIS-ManagementService', 'IIS-IIS6ManagementCompatibility', - 'IIS-ManagementScriptingTools', 'IIS-StaticContent', 'IIS-BasicAuthentication', - 'IIS-WindowsAuthentication', 'IIS-Metabase', 'IIS-WebSockets'] - end - end + iis['features'] = ['IIS-WebServerRole', 'IIS-WebServer'] iis['appid'] = '{00112233-4455-6677-8899-AABBCCDDEEFF}' iis['domain_name'] = node['fqdn'] iis['keystore_file'] = ::File.join(Chef::Config[:file_cache_path], diff --git a/cookbooks/esri-iis/metadata.rb b/cookbooks/esri-iis/metadata.rb index cef98c6..494d474 100644 --- a/cookbooks/esri-iis/metadata.rb +++ b/cookbooks/esri-iis/metadata.rb @@ -4,7 +4,8 @@ license 'Apache 2.0' description 'Enables IIS features required by ArcGIS Web Adaptor (IIS) and configures HTTPS binding.' long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version '0.1.3' +version '0.2.0' +chef_version '>= 14.0' if defined? chef_version depends 'windows', '~> 5.3' depends 'openssl', '~> 8.5' diff --git a/cookbooks/esri-iis/recipes/install.rb b/cookbooks/esri-iis/recipes/install.rb index 318eb21..fb40765 100644 --- a/cookbooks/esri-iis/recipes/install.rb +++ b/cookbooks/esri-iis/recipes/install.rb @@ -2,7 +2,7 @@ # Cookbook Name:: esri-iis # Recipe:: install # -# Copyright 2021 Esri +# Copyright 2022 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -18,11 +18,8 @@ # node['arcgis']['iis']['features'].each do |feature| - windows_feature feature do - timeout 1200 - retries 2 - retry_delay 60 - action :install + powershell_script "Enable-WindowsOptionalFeature #{feature}" do + code "Enable-WindowsOptionalFeature -Online -FeatureName #{feature} -All" end end diff --git a/cookbooks/esri-tomcat/README.md b/cookbooks/esri-tomcat/README.md index 4dac878..d6ab0e8 100644 --- a/cookbooks/esri-tomcat/README.md +++ b/cookbooks/esri-tomcat/README.md @@ -1,109 +1,177 @@ -esri-tomcat cookbook -==================== +--- +layout: default +title: "esri-tomcat cookbook" +category: cookbooks +item: esri-tomcat +version: 0.2.0 +latest: true +--- -This cookbook installs and configures Apache Tomcat for using with ArcGIS Web Adaptor. +# esri-tomcat cookbook + +This cookbook installs and configures Apache Tomcat for use with ArcGIS Web Adaptor. Requirements ------------ -### Platforms +## Platforms * Ubuntu Server 18.04 and 20.04 LTS * Red Hat Enterprise Linux Server 8 * SUSE Linux Enterprise Server 15 -* CentOS Linux 8 * Oracle Linux 8 -### Dependencies +## Dependencies The following cookbooks are required: * tomcat * openssl -Attributes ----------- +## Attributes -#### General +### General * `node['tomcat']['version']` = Tomcat version to install. Default is `9.0.48`. -* `node['tomcat']['instance_name']` = tomcat instance name. Default is `arcgis`. -* `node['tomcat']['install_path']` = tomcat installation directory. Default is `/opt/tomcat_INSTANCENAME_VERSION`. -* `node['tomcat']['tarball_path']` = tomcat tarball archive path. Default is `/apache-tomcat-.tar.gz`. -* `node['tomcat']['verify_checksum']` = Verify checksum of downloaded tomcat tarball. Default value is `true`. -* `node['tomcat']['forward_ports']` = If set to `true`, default recipe includes 'firewalld' or 'iptables' recipe. Default value is `true`. -* `node['tomcat']['firewalld']['init_cmd']` = firewalld initialization command. The default command is `firewall-cmd --zone=public --permanent --add-port=0-65535/tcp`. +* `node['tomcat']['instance_name']` = Tomcat instance name. Default is `arcgis`. +* `node['tomcat']['install_path']` = Tomcat installation directory. Default is `/opt/tomcat_INSTANCENAME_VERSION`. +* `node['tomcat']['tarball_path']` = Tomcat tarball archive path. Default is `/apache-tomcat-.tar.gz`. +* `node['tomcat']['verify_checksum']` = Verify checksum of downloaded Tomcat tarball. Default value is `true`. +* `node['tomcat']['forward_ports']` = If set to `true`, default recipe includes the 'firewalld' or 'iptables' recipe. Default value is `true`. +* `node['tomcat']['firewalld']['init_cmd']` = The firewalld initialization command. The default command is `firewall-cmd --zone=public --permanent --add-port=0-65535/tcp`. -#### SSL/TLS +### SSL/TLS * `node['tomcat']['keystore_file']` = Optional: Path to the keystore file. If not provided, a new file and a self-signed certificate will be created. * `node['tomcat']['keystore_password']` = Optional: Password to the keystore. -* `node['tomcat']['ssl_enabled_protocols']` = SSL protocols of HTTPS listener. Default is `TLSv1.3,TLSv1.2`. +* `node['tomcat']['ssl_enabled_protocols']` = SSL protocols of the HTTPS listener. Default is `TLSv1.3,TLSv1.2`. * `node['tomcat']['domain_name']` = Domain name for generated self-signed SSL certificate. Default is `Fully Qualified Domain Name`. -#### OpenJDK +### OpenJDK -* `node['java']['version']` = Major java version. Default version is `11`. +* `node['java']['version']` = Major Java version. Default version is `11`. * `node['java']['tarball_uri']` = JDK tarball URI. Default URI is `https://download.java.net/java/ga/jdk11/openjdk-11_linux-x64_bin.tar.gz`. * `node['java']['tarball_path']` = JDK tarball local path. Default path is `/openjdk-11_linux-x64_bin.tar.gz`. * `node['java']['install_path']` = JDK installation path. Default path is `/opt`. - -Recipes -------- - -### esri-tomcat::default - -Installs and configures Apache Tomcat application server for ArcGIS Web Adaptor. - -If node['tomcat']['forward_ports'] attribute is `true` (default value), the recipe also configures port forwarding (80 to 8080 and 443 to 8443) using iptables or firewalld recipes. - -### esri-tomcat::install +## Recipes + +### configure_ssl + +Configures the HTTPS listener in Apache Tomcat application server. + +```JSON +{ + "tomcat": { + "version" : "9.0.48", + "instance_name" : "arcgis", + "user": "tomcat_arcgis", + "group": "tomcat_arcgis", + "install_path" : "/opt/tomcat_arcgis_9.0.48", + "keystore_type" : "PKCS12", + "keystore_file" : "/tomcat_arcgis/conf/resources/sslcerts/sslcert.pfx", + "keystore_password": "change.it", + "domain_name": "domain.com", + "ssl_enabled_protocols" : "TLSv1.2,TLSv1.1,TLSv1" + }, + "run_list" : [ + "recipe[esri-tomcat::configure_ssl]" + ] +} +``` + +> Note: If the specified keystore file does not exist, the recipe generates a self-signed SSL certificate for the specified domain. + +### default + +Installs Apache Tomcat and configures the HTTPS listener. If the `node['tomcat']['forward_ports']` attribute is true (default value), the recipe also configures port forwarding (80 to 8080 and 443 to 8443) using the iptables or firewalld recipes. + +```JSON +{ + "tomcat": { + "version" : "9.0.48", + "instance_name" : "arcgis", + "user": "tomcat_arcgis", + "group": "tomcat_arcgis", + "install_path" : "/opt/tomcat_arcgis_9.0.48", + "keystore_type" : "PKCS12", + "keystore_file" : "/tomcat_arcgis/conf/resources/sslcerts/sslcert.pfx", + "keystore_password": "change.it", + "domain_name": "domain.com", + "ssl_enabled_protocols" : "TLSv1.2,TLSv1.1,TLSv1", + "tarball_path": "/opt/software/archives/apache-tomcat-9.0.48.tar.gz", + "forward_ports": true + }, + "run_list" : [ + "recipe[esri-tomcat]" + ] +} +``` + +> Note: If the specified keystore file does not exist, the recipe generates a self-signed SSL certificate for the specified domain. + +### firewalld + +Configures port forwarding (80 to 8080 and 443 to 8443) using FirewallD. + +> Note: If the firewalld service was started by the recipe, the recipe runs the script specified by node['tomcat']['firewalld']['init_cmd'], which, by default, opens all the TCP ports on the machine. + +```JSON +{ + "tomcat": { + "firewalld": { + "init_cmd": "firewall-cmd --zone=public --permanent --add-port=0-65535/tcp" + } + }, + "run_list" : [ + "recipe[esri-tomcat::firewalld]" + ] +} +``` + +### install Installs Apache Tomcat application server. -### esri-tomcat::configure_ssl - -Configures HTTPS listener in Apache Tomcat application server. - -### esri-tomcat::iptables - -Installs iptables and configures HTTP(S) port forwarding (80 to 8080 and 443 to 8443). - -### esri-tomcat::firewalld - -Installs FirewallD and configures HTTP(S) port forwarding (80 to 8080 and 443 to 8443). - -> If firewalld service was started by the recipe, the recipe execute script specified by `node['tomcat']['firewalld']['init_cmd']` which by default opens all the TCP ports on the machine. - -### esri-tomcat::openjdk - -Installs OpenJDK for Apache Tomcat from a local ur remote tarball. - -## Issues - -Find a bug or want to request a new feature? Please let us know by submitting an [issue](https://github.com/Esri/arcgis-cookbook/issues). - -## Contributing - -Esri welcomes contributions from anyone and everyone. Please see our [guidelines for contributing](https://github.com/esri/contributing). - -Licensing ---------- - -Copyright 2016-2021 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. - -A copy of the license is available in the repository's [License.txt](https://github.com/Esri/arcgis-cookbook/blob/master/License.txt?raw=true) file. - -[](Esri Tags: ArcGIS Chef Cookbook Tomcat) -[](Esri Language: Ruby) +```JSON +{ + "tomcat": { + "version" : "9.0.48", + "instance_name" : "arcgis", + "user": "tomcat_arcgis", + "group": "tomcat_arcgis", + "install_path" : "/opt/tomcat_arcgis_9.0.48", + "tarball_path": "/opt/software/archives/apache-tomcat-9.0.48.tar.gz" + }, + "run_list" : [ + "recipe[esri-tomcat::install]" + ] +} +``` + +### iptables + +Configures port forwarding (80 to 8080 and 443 to 8443) using iptables. + +```JSON +{ + "run_list" : [ + "recipe[esri-tomcat::iptables]" + ] +} +``` + +### openjdk + +Installs OpenJDK for Apache Tomcat from a local or remote tarball. + +```JSON +{ + "java": { + "version": "11", + "tarball_path": "/opt/software/archives/openjdk-11_linux-x64_bin.tar.gz" + }, + "run_list": [ + "recipe[esri-tomcat::openjdk]" + ] +} +``` diff --git a/cookbooks/esri-tomcat/metadata.rb b/cookbooks/esri-tomcat/metadata.rb index be823a8..c77c9f9 100644 --- a/cookbooks/esri-tomcat/metadata.rb +++ b/cookbooks/esri-tomcat/metadata.rb @@ -4,8 +4,8 @@ license 'Apache 2.0' description 'Installs/Configures esri-tomcat' long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version '0.1.9' -chef_version '>= 14' +version '0.2.0' +chef_version '>= 14.0' depends 'tomcat', '>= 3.2.0' depends 'openssl', '~> 8.5' diff --git a/cookbooks/esri-tomcat/templates/default/server.xml.erb b/cookbooks/esri-tomcat/templates/default/server.xml.erb index 387833c..9c11d19 100644 --- a/cookbooks/esri-tomcat/templates/default/server.xml.erb +++ b/cookbooks/esri-tomcat/templates/default/server.xml.erb @@ -99,7 +99,7 @@ Either JSSE or OpenSSL style configuration may be used. OpenSSL style configuration is used below. --> - ArcGIS software repository directory is specified by 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. +> 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 arcgis.repository.setups attribute has enough space for setups extracted from the setup archives. +> 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 recommended initial deployment workflow for the template machine roles: +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 Chef client on machines as administrator/superuser using the json files specific to the machine roles (one machine can be used in multiple roles). +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. +> For additional customization options, see the list of supported attributes described in the arcgis-enterprise cookbook README file. ### File Server Machine @@ -120,32 +128,46 @@ On all additional machines: chef-client -z -j arcgis-datastore-spatiotemporal-node.json ``` +## Install ArcGIS Data Store Patches and Updates + +To install software patches and updates after 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 for upgrades if the sites were not initially deployed using the templates. +> It's not recommended to use the templates to upgrade if the data stores were not initially deployed using the templates. -To upgrade base ArcGIS Data Store deployed using arcgis-datastore deployment template to 10.9.1 version you will need: +To upgrade ArcGIS Data Store deployed using the arcgis-datastore deployment template to the 10.9.1 version, you will need: * ArcGIS Data Store 10.9.1 setup archive, * The original JSON files used for the initial deployment or the last upgrade. ### General Upgrade Notes -Upgrade of ArcGIS Data Store deployment may take several hours, during that time the deployment will be unavailable. +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. +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 JSONs files must match the actual deployment configuration. To make upgrade JSON files, update the 10.9.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 just in the value of arcgis.version attribute. In those cases the easiest way to make the upgrade JSON files is just to change 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. +> 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 value 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. -Tool copy_attributes.rb 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 templates/tools directory in the ArcGIS cookbooks archive. To execute copy_attributes.rb use chef-apply command that comes with Chef/Cinc Client. +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 executing the tool, update the destination JSON file attributes specific to the new JSON file template and attributes specific to the new ArcGIS Data Store version. +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. @@ -154,10 +176,11 @@ After executing the tool, update the destination JSON file attributes specific t Upgrading ArcGIS Data Store deployments from 10.9 to 10.9.1 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 standby machine +1. Upgrade the standby machine. - Copy attributes from the original `arcgis-datastore-relational-standby.json` JSON file created from 10.9 arcgis-datastore template to `arcgis-datastore-install.json` and `arcgis-datastore-relational-standby.json` of 10.9.1 arcgis-datastore template. + Copy attributes from the original `arcgis-datastore-relational-standby.json` JSON file created from the 10.9 arcgis-datastore template to the `arcgis-datastore-install.json` and `arcgis-datastore-relational-standby.json` files of the 10.9.1 arcgis-datastore template. ```shell chef-apply ./templates/tools/copy_attributes.rb /arcgis-datastore-relational-standby.json /arcgis-datastore-install.json @@ -167,7 +190,7 @@ Upgrading ArcGIS Data Store deployments from 10.9 to 10.9.1 requires upgrading a Verify that attributes are correct in `arcgis-datastore-install.json` and `arcgis-datastore-relational-standby.json`. - Execute the following command to upgrade ArcGIS Data Store: + Run the following command to upgrade ArcGIS Data Store: ```shell chef-client -z -j /arcgis-datastore-install.json @@ -175,9 +198,9 @@ Upgrading ArcGIS Data Store deployments from 10.9 to 10.9.1 requires upgrading a Save the updated 10.9.1 `arcgis-datastore-relational-standby.json` file for future upgrades from 10.9.1. -2. Upgrade primary machine +2. Upgrade the primary machine. - Copy attributes from the original `arcgis-datastore-relational-primary.json` JSON file created from 10.9 arcgis-datastore template to `arcgis-datastore-relational-primary` of 10.9.1 arcgis-datastore template. + Copy attributes from the original `arcgis-datastore-relational-primary.json` JSON file created from the 10.9 arcgis-datastore template to the `arcgis-datastore-relational-primary.json` file of the 10.9.1 arcgis-datastore template. ```shell chef-apply ./templates/tools/copy_attributes.rb /arcgis-datastore-relational-primary.json /arcgis-datastore-relational-primary.json @@ -185,19 +208,19 @@ Upgrading ArcGIS Data Store deployments from 10.9 to 10.9.1 requires upgrading a Verify that attributes are correct in `arcgis-datastore-relational-primary.json`. - Execute the following command to upgrade ArcGIS Data Store: + Run the following command to upgrade ArcGIS Data Store: ```shell chef-client -z -j /arcgis-datastore-relational-primary.json ``` -> Skip step 1 for single machine ArcGIS Data Store deployments. #### Upgrade Tilecache Data Store in Primary/Standby Mode +> Skip step 1 for single-machine ArcGIS Data Store deployments. -1. Upgrade standby machine +1. Upgrade the standby machine. - Copy attributes from the original `arcgis-datastore-tilecache-standby.json` JSON file created from 10.9 arcgis-datastore template to `arcgis-datastore-install.json` and `arcgis-datastore-tilecache-standby.json` of 10.9.1 arcgis-datastore template. + Copy attributes from the original `arcgis-datastore-tilecache-standby.json` JSON file created from the 10.9 arcgis-datastore template to the `arcgis-datastore-install.json` and `arcgis-datastore-tilecache-standby.json` files of the 10.9.1 arcgis-datastore template. ```shell chef-apply ./templates/tools/copy_attributes.rb /arcgis-datastore-tilecache-standby.json /arcgis-datastore-install.json @@ -207,7 +230,7 @@ Upgrading ArcGIS Data Store deployments from 10.9 to 10.9.1 requires upgrading a Verify that attributes are correct in `arcgis-datastore-install.json` and `arcgis-datastore-tilecache-standby.json`. - Execute the following command to upgrade ArcGIS Data Store: + Run the following command to upgrade ArcGIS Data Store: ```shell chef-client -z -j /arcgis-datastore-install.json @@ -215,9 +238,9 @@ Upgrading ArcGIS Data Store deployments from 10.9 to 10.9.1 requires upgrading a Save the updated 10.9.1 `arcgis-datastore-tilecache-standby.json` file for future upgrades from 10.9.1. -2. Upgrade primary machine +2. Upgrade the primary machine. - Copy attributes from the original `arcgis-datastore-tilecache-primary.json` JSON file created from 10.9 arcgis-datastore template to `arcgis-datastore-tilecache-primary` of 10.9.1 arcgis-datastore template. + Copy attributes from the original `arcgis-datastore-tilecache-primary.json` JSON file created from the 10.9 arcgis-datastore template to the `arcgis-datastore-tilecache-primary.json` file of the 10.9.1 arcgis-datastore template. ```shell chef-apply ./templates/tools/copy_attributes.rb /arcgis-datastore-relational-primary.json /arcgis-datastore-tilecache-primary.json @@ -225,19 +248,18 @@ Upgrading ArcGIS Data Store deployments from 10.9 to 10.9.1 requires upgrading a Verify that attributes are correct in `arcgis-datastore-tilecache-primary.json`. - Execute the following command to upgrade ArcGIS Data Store: + Run the following command to upgrade ArcGIS Data Store: ```shell chef-client -z -j /arcgis-datastore-tilecache-primary.json ``` -> Skip step 1 for single machine ArcGIS Data Store deployments. - #### Upgrade TileCache Data Store in Cluster Mode +> Skip step 1 for single-machine ArcGIS Data Store deployments. -1. Upgrade all machines in the cluster +1. Upgrade all machines in the cluster. - Copy attributes from the original `arcgis-datastore-tilecache-cluster-node.json` JSON file created from 10.9 arcgis-datastore template to `arcgis-datastore-install.json` and `arcgis-datastore-tilecache-cluster-node.json` files of 10.9.1 arcgis-datastore template. + Copy attributes from the original `arcgis-datastore-tilecache-cluster-node.json` JSON file created from the 10.9 arcgis-datastore template to the `arcgis-datastore-install.json` and `arcgis-datastore-tilecache-cluster-node.json` files of the 10.9.1 arcgis-datastore template. ```shell chef-apply ./templates/tools/copy_attributes.rb /arcgis-datastore-tilecache-cluster-node.json /arcgis-datastore-install.json @@ -247,7 +269,7 @@ Upgrading ArcGIS Data Store deployments from 10.9 to 10.9.1 requires upgrading a Verify that attributes are correct in `arcgis-datastore-install.json` and `arcgis-datastore-tilecache-cluster-node.json`. - Execute the following command to upgrade ArcGIS Data Store: + Run the following command to upgrade ArcGIS Data Store: ```shell chef-client -z -j /arcgis-datastore-install.json @@ -255,9 +277,9 @@ Upgrading ArcGIS Data Store deployments from 10.9 to 10.9.1 requires upgrading a Save the updated 10.9.1 `arcgis-datastore-tilecache-cluster-node.json` file for future upgrades from 10.9.1. -2: Complete upgrade on any machine in the cluster +2: Complete the upgrade on any machine in the cluster. - Copy attributes from the original `arcgis-datastore-tilecache-cluster.json` JSON file created from 10.9 arcgis-datastore template to `arcgis-datastore-tilecache-cluster` of 10.9.1 arcgis-datastore template. + Copy attributes from the original `arcgis-datastore-tilecache-cluster.json` JSON file created from the 10.9 arcgis-datastore template to the `arcgis-datastore-tilecache-cluster.json` file of the 10.9.1 arcgis-datastore template. ```shell chef-apply ./templates/tools/copy_attributes.rb /arcgis-datastore-relational-cluster.json /arcgis-datastore-tilecache-cluster.json @@ -265,19 +287,18 @@ Upgrading ArcGIS Data Store deployments from 10.9 to 10.9.1 requires upgrading a Verify that attributes are correct in `arcgis-datastore-tilecache-cluster.json`. - Execute the following command to upgrade ArcGIS Data Store: + Run the following command to upgrade ArcGIS Data Store: ```shell chef-client -z -j /arcgis-datastore-tilecache-cluster.json ``` -> Skip step 1 for single machine ArcGIS Data Store deployments. - #### Upgrade Spatiotemporal Data Store +> Skip step 1 for single-machine ArcGIS Data Store deployments. -1. Upgrade all machines in the cluster +1. Upgrade all machines in the cluster. - Copy attributes from the original `arcgis-datastore-spatiotemporal-node.json` JSON file created from 10.9 arcgis-datastore template to `arcgis-datastore-install.json` and `arcgis-datastore-spatiotemporal-node.json` of 10.9.1 arcgis-datastore template. + Copy attributes from the original `arcgis-datastore-spatiotemporal-node.json` JSON file created from the 10.9 arcgis-datastore template to the `arcgis-datastore-install.json` and `arcgis-datastore-spatiotemporal-node.json` files of the 10.9.1 arcgis-datastore template. ```shell chef-apply ./templates/tools/copy_attributes.rb /arcgis-datastore-spatiotemporal-node.json /arcgis-datastore-install.json @@ -287,7 +308,7 @@ Upgrading ArcGIS Data Store deployments from 10.9 to 10.9.1 requires upgrading a Verify that attributes are correct in `arcgis-datastore-install.json` and `arcgis-datastore-spatiotemporal-node.json`. - Execute the following command to upgrade ArcGIS Data Store: + Run the following command to upgrade ArcGIS Data Store: ```shell chef-client -z -j /arcgis-datastore-install.json @@ -295,9 +316,9 @@ Upgrading ArcGIS Data Store deployments from 10.9 to 10.9.1 requires upgrading a Save the updated 10.9.1 `arcgis-datastore-spatiotemporal-node.json` file for future upgrades from 10.9.1. -2. Complete upgrade on any machine in the cluster +2. Complete the upgrade on any machine in the cluster. - Copy attributes from the original `arcgis-datastore-spatiotemporal.json` JSON file created from 10.9 arcgis-datastore template to `arcgis-datastore-spatiotemporal` of 10.9.1 arcgis-datastore template. + Copy attributes from the original `arcgis-datastore-spatiotemporal.json` JSON file created from the 10.9 arcgis-datastore template to the `arcgis-datastore-spatiotemporal.json` file of the 10.9.1 arcgis-datastore template. ```shell chef-apply ./templates/tools/copy_attributes.rb /arcgis-datastore-spatiotemporal.json /arcgis-datastore-spatiotemporal.json @@ -305,21 +326,19 @@ Upgrading ArcGIS Data Store deployments from 10.9 to 10.9.1 requires upgrading a Verify that attributes are correct in `arcgis-datastore-spatiotemporal.json`. - Execute the following command to upgrade ArcGIS Data Store: + 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-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 role downloads ArcGIS Data Store setup archives from the S3 bucket specified by the arcgis.repository.server.s3bucket attribute to the local ArcGIS software repository. The role requires AWS Tools for PowerShell to be installed on Windows machines and AWS Command Line Interface on Linux machines. @@ -332,60 +351,68 @@ The following attributes are required unless the machine is an AWS EC2 instance Configures file shares for ArcGIS Data Store backup directories. -Required attributes changes: +Required attribute changes: -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account ### arcgis-datastore-install Installs ArcGIS Data Store without configuring it. -Required attributes changes: +Required attribute changes: + +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account + +### arcgis-datastore-patches + +Downloads ArcGIS Data Store patches from global ArcGIS software repository into local patch folder. + +### arcgis-datastore-patches-apply -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +Applies ArcGIS Data Store patches. ### arcgis-datastore-relational-primary -Installs relational ArcGIS Data Store, registers it with ArcGIS Server, and configures backup location. +Installs relational ArcGIS Data Store, registers it with ArcGIS Server, and configures a backup location. -Required attributes changes: +Required attribute changes: -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +* 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' by the file server machine hostname or static IP address. +* 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 attributes changes: +Required attribute changes: -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +* 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 backup location. +Installs spatiotemporal big data store, registers it with ArcGIS Server, and configures a backup location. -Required attributes changes: +Required attribute changes: -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +* 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' by the file server machine hostname or static IP address. +* 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. +Installs spatiotemporal big data store and registers it with ArcGIS Server. -Required attributes changes: +Required attribute changes: -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +* 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. @@ -394,9 +421,9 @@ Required attributes changes: Installs tile cache ArcGIS Data Store, registers it with ArcGIS Server, and configures backup locations. -Required attributes changes: +Required attribute changes: -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +* 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. @@ -406,9 +433,9 @@ Required attributes changes: Installs tile cache ArcGIS Data Store and registers it with ArcGIS Server. -Required attributes changes: +Required attribute changes: -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +* 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. diff --git a/templates/arcgis-datastore/10.9.1/linux/arcgis-datastore-patches-apply.json b/templates/arcgis-datastore/10.9.1/linux/arcgis-datastore-patches-apply.json new file mode 100644 index 0000000..59d175f --- /dev/null +++ b/templates/arcgis-datastore/10.9.1/linux/arcgis-datastore-patches-apply.json @@ -0,0 +1,18 @@ +{ + "arcgis": { + "version": "10.9.1", + "run_as_user": "arcgis", + "repository": { + "patches": "/opt/software/archives/patches" + }, + "data_store": { + "install_dir": "/opt", + "patches": [ + "ArcGIS-1091-DS-Log4j-Patch-linux.tar" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]" + ] +} diff --git a/templates/arcgis-datastore/10.9.1/linux/arcgis-datastore-patches.json b/templates/arcgis-datastore/10.9.1/linux/arcgis-datastore-patches.json new file mode 100644 index 0000000..cd04a1c --- /dev/null +++ b/templates/arcgis-datastore/10.9.1/linux/arcgis-datastore-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "10.9.1", + "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/10.9.1/windows/arcgis-datastore-patches-apply.json b/templates/arcgis-datastore/10.9.1/windows/arcgis-datastore-patches-apply.json new file mode 100644 index 0000000..4527610 --- /dev/null +++ b/templates/arcgis-datastore/10.9.1/windows/arcgis-datastore-patches-apply.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "10.9.1", + "repository": { + "patches": "C:\\Software\\Archives\\Patches" + }, + "data_store": { + "patches": [ + "ArcGIS-1091-DS-Log4j-Patch.msp" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]" + ] +} diff --git a/templates/arcgis-datastore/10.9.1/windows/arcgis-datastore-patches.json b/templates/arcgis-datastore/10.9.1/windows/arcgis-datastore-patches.json new file mode 100644 index 0000000..76c56ce --- /dev/null +++ b/templates/arcgis-datastore/10.9.1/windows/arcgis-datastore-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "10.9.1", + "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/10.9/README.md b/templates/arcgis-datastore/10.9/README.md index ae16e8f..1b09268 100644 --- a/templates/arcgis-datastore/10.9/README.md +++ b/templates/arcgis-datastore/10.9/README.md @@ -25,8 +25,6 @@ Consult the ArcGIS Data Store 10.9 system requirements documentation for the req * Ubuntu Server 20.04 LTS * Red Hat Enterprise Linux Server 7 * Red Hat Enterprise Linux Server 8 - * CentOS Linux 7 - * CentOS Linux 8 For Linux deployments enable running sudo without password for the user running the Chef client. diff --git a/templates/arcgis-datastore/11.0/README.md b/templates/arcgis-datastore/11.0/README.md new file mode 100644 index 0000000..4269a01 --- /dev/null +++ b/templates/arcgis-datastore/11.0/README.md @@ -0,0 +1,476 @@ +--- +layout: default +title: "arcgis-datastore template" +category: templates +item: arcgis-datastore +version: 11.0 +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.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.0.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_110_182887.exe + +Linux + +* ArcGIS_DataStore_Linux_110_182986.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 graph store machine: + +```shell +chef-client -z -j arcgis-datastore-graph.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.0 version, you will need: + +* ArcGIS Data Store 11.0 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.0 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 or 10.9.1 + +Upgrading ArcGIS Data Store deployments from 10.9 or 10.9.1 to 11.0 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 arcgis-datastore template to the `arcgis-datastore-install.json` and `arcgis-datastore-relational-standby.json` files of the 11.0 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.0 `arcgis-datastore-relational-standby.json` file for future upgrades from 11.0. + +2. Upgrade the primary machine. + + Copy attributes from the original `arcgis-datastore-relational-primary.json` JSON file created from the 10.9 arcgis-datastore template to the `arcgis-datastore-relational-primary.json` file of the 11.0 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 arcgis-datastore template to the `arcgis-datastore-install.json` and `arcgis-datastore-tilecache-standby.json` files of the 11.0 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.0 `arcgis-datastore-tilecache-standby.json` file for future upgrades from 11.0. + +2. Upgrade the primary machine. + + Copy attributes from the original `arcgis-datastore-tilecache-primary.json` JSON file created from the 10.9 arcgis-datastore template to the `arcgis-datastore-tilecache-primary.json` file of the 11.0 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 or 10.9.1 arcgis-datastore template to the `arcgis-datastore-install.json` and `arcgis-datastore-tilecache-cluster-node.json` files of the 11.0 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.0 `arcgis-datastore-tilecache-cluster-node.json` file for future upgrades from 11.0. + +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 or 10.9.1 arcgis-datastore template to the `arcgis-datastore-tilecache-cluster.json` file of the 11.0 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 or 10.9.1 arcgis-datastore template to `arcgis-datastore-install.json` and `arcgis-datastore-spatiotemporal-node.json` of 11.0 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.0 `arcgis-datastore-spatiotemporal-node.json` file for future upgrades from 11.0. + +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 or 10.9.1 arcgis-datastore template to the `arcgis-datastore-spatiotemporal.json` file of the 11.0 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 role requires AWS Tools for PowerShell to be installed on Windows machines and AWS Command Line Interface on Linux machines. + +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-graph + +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-remove-machine + +Removes the local machine from ArcGIS Data Store. diff --git a/templates/arcgis-datastore/11.0/linux/arcgis-datastore-files.json b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-files.json new file mode 100644 index 0000000..db21088 --- /dev/null +++ b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-files.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "repository": { + "local_archives": "/opt/software/archives", + "shared": false, + "server": { + "username": "changeit", + "password": "changeit" + }, + "files": { + "ArcGIS_DataStore_Linux_110_182986.tar.gz": { + "subfolder": "software/arcgis/11.0" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-datastore/11.0/linux/arcgis-datastore-fileserver.json b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-fileserver.json new file mode 100644 index 0000000..4c079c9 --- /dev/null +++ b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-fileserver.json @@ -0,0 +1,23 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "fileserver": { + "directories": [ + "/gisdata/arcgisbackup", + "/gisdata/arcgisbackup/tilecache", + "/gisdata/arcgisbackup/relational", + "/gisdata/arcgisbackup/spatiotemporal", + "/gisdata/arcgisbackup/graph" + ], + "shares": [ + "/gisdata/arcgisbackup" + ] + } + }, + "run_list": [ + "recipe[nfs::server]", + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::fileserver]" + ] +} diff --git a/templates/arcgis-datastore/11.0/linux/arcgis-datastore-graph.json b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-graph.json new file mode 100644 index 0000000..1e643b1 --- /dev/null +++ b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-graph.json @@ -0,0 +1,31 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/linux/arcgis-datastore-install.json b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-install.json new file mode 100644 index 0000000..256c8eb --- /dev/null +++ b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-install.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/linux/arcgis-datastore-patches-apply.json b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-patches-apply.json new file mode 100644 index 0000000..6cbdc62 --- /dev/null +++ b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-patches-apply.json @@ -0,0 +1,19 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "repository": { + "patches": "/opt/software/archives/patches" + }, + "data_store": { + "install_dir": "/opt", + "patches": [ + "ArcGIS-110-DS-*.tar", + "ArcGIS-110-DS-*.tar.gz" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]" + ] +} diff --git a/templates/arcgis-datastore/11.0/linux/arcgis-datastore-patches.json b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-patches.json new file mode 100644 index 0000000..3a1effc --- /dev/null +++ b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/linux/arcgis-datastore-relational-primary.json b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-relational-primary.json new file mode 100644 index 0000000..884dc4b --- /dev/null +++ b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-relational-primary.json @@ -0,0 +1,31 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/linux/arcgis-datastore-relational-standby.json b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-relational-standby.json new file mode 100644 index 0000000..6676df0 --- /dev/null +++ b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-relational-standby.json @@ -0,0 +1,27 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/linux/arcgis-datastore-remove-machine.json b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-remove-machine.json new file mode 100644 index 0000000..159fa18 --- /dev/null +++ b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-remove-machine.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/linux/arcgis-datastore-s3files.json b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-s3files.json new file mode 100644 index 0000000..56fdf8c --- /dev/null +++ b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-s3files.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "version": "11.0", + "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_110_182986.tar.gz": { + "subfolder": "11.0/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-datastore/11.0/linux/arcgis-datastore-spatiotemporal-node.json b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-spatiotemporal-node.json new file mode 100644 index 0000000..da24e41 --- /dev/null +++ b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-spatiotemporal-node.json @@ -0,0 +1,27 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/linux/arcgis-datastore-spatiotemporal.json b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-spatiotemporal.json new file mode 100644 index 0000000..7b44920 --- /dev/null +++ b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-spatiotemporal.json @@ -0,0 +1,31 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/linux/arcgis-datastore-tilecache-cluster-node.json b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-tilecache-cluster-node.json new file mode 100644 index 0000000..deb72bd --- /dev/null +++ b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-tilecache-cluster-node.json @@ -0,0 +1,28 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/linux/arcgis-datastore-tilecache-cluster.json b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-tilecache-cluster.json new file mode 100644 index 0000000..d7d77bf --- /dev/null +++ b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-tilecache-cluster.json @@ -0,0 +1,32 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/linux/arcgis-datastore-tilecache-primary.json b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-tilecache-primary.json new file mode 100644 index 0000000..65d2da8 --- /dev/null +++ b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-tilecache-primary.json @@ -0,0 +1,32 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/linux/arcgis-datastore-tilecache-standby.json b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-tilecache-standby.json new file mode 100644 index 0000000..22d7df7 --- /dev/null +++ b/templates/arcgis-datastore/11.0/linux/arcgis-datastore-tilecache-standby.json @@ -0,0 +1,28 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/windows/arcgis-datastore-files.json b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-files.json new file mode 100644 index 0000000..0b70d30 --- /dev/null +++ b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-files.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "repository": { + "local_archives": "C:\\Software\\Archives", + "shared": false, + "server": { + "username": "changeit", + "password": "changeit" + }, + "files": { + "ArcGIS_DataStore_Windows_110_182887.exe": { + "subfolder": "software/arcgis/11.0" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-datastore/11.0/windows/arcgis-datastore-fileserver.json b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-fileserver.json new file mode 100644 index 0000000..e08b9df --- /dev/null +++ b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-fileserver.json @@ -0,0 +1,24 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "fileserver": { + "directories": [ + "C:\\data\\arcgisbackup", + "C:\\data\\arcgisbackup\\tilecache", + "C:\\data\\arcgisbackup\\relational", + "C:\\data\\arcgisbackup\\spatiotemporal", + "C:\\data\\arcgisbackup\\graph" + ], + "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.0/windows/arcgis-datastore-graph.json b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-graph.json new file mode 100644 index 0000000..82e4878 --- /dev/null +++ b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-graph.json @@ -0,0 +1,34 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/windows/arcgis-datastore-install.json b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-install.json new file mode 100644 index 0000000..d8dc367 --- /dev/null +++ b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-install.json @@ -0,0 +1,24 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "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.0/windows/arcgis-datastore-patches-apply.json b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-patches-apply.json new file mode 100644 index 0000000..d42a17e --- /dev/null +++ b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-patches-apply.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.0", + "repository": { + "patches": "C:\\Software\\Archives\\Patches" + }, + "data_store": { + "patches": [ + "ArcGIS-110-DS-*.msp" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]" + ] +} diff --git a/templates/arcgis-datastore/11.0/windows/arcgis-datastore-patches.json b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-patches.json new file mode 100644 index 0000000..626abd3 --- /dev/null +++ b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/windows/arcgis-datastore-relational-primary.json b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-relational-primary.json new file mode 100644 index 0000000..c751f75 --- /dev/null +++ b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-relational-primary.json @@ -0,0 +1,34 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/windows/arcgis-datastore-relational-standby.json b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-relational-standby.json new file mode 100644 index 0000000..9b92d93 --- /dev/null +++ b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-relational-standby.json @@ -0,0 +1,30 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/windows/arcgis-datastore-remove-machine.json b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-remove-machine.json new file mode 100644 index 0000000..02cc5ec --- /dev/null +++ b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-remove-machine.json @@ -0,0 +1,15 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/windows/arcgis-datastore-s3files.json b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-s3files.json new file mode 100644 index 0000000..34253f3 --- /dev/null +++ b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-s3files.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "version": "11.0", + "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_110_182887.exe": { + "subfolder": "11.0/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-datastore/11.0/windows/arcgis-datastore-spatiotemporal-node.json b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-spatiotemporal-node.json new file mode 100644 index 0000000..d28a270 --- /dev/null +++ b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-spatiotemporal-node.json @@ -0,0 +1,30 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/windows/arcgis-datastore-spatiotemporal.json b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-spatiotemporal.json new file mode 100644 index 0000000..336797e --- /dev/null +++ b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-spatiotemporal.json @@ -0,0 +1,34 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/windows/arcgis-datastore-tilecache-cluster-node.json b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-tilecache-cluster-node.json new file mode 100644 index 0000000..5f434e0 --- /dev/null +++ b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-tilecache-cluster-node.json @@ -0,0 +1,31 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/windows/arcgis-datastore-tilecache-cluster.json b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-tilecache-cluster.json new file mode 100644 index 0000000..d78ce25 --- /dev/null +++ b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-tilecache-cluster.json @@ -0,0 +1,35 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/windows/arcgis-datastore-tilecache-primary.json b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-tilecache-primary.json new file mode 100644 index 0000000..1fe5293 --- /dev/null +++ b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-tilecache-primary.json @@ -0,0 +1,35 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/windows/arcgis-datastore-tilecache-standby.json b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-tilecache-standby.json new file mode 100644 index 0000000..41f993e --- /dev/null +++ b/templates/arcgis-datastore/11.0/windows/arcgis-datastore-tilecache-standby.json @@ -0,0 +1,31 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "admin_username": "siteadmin", + "admin_password": "change.it", + "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-desktop/10.8.1/README.md b/templates/arcgis-desktop/10.8.1/README.md index 7bcca57..9000b11 100644 --- a/templates/arcgis-desktop/10.8.1/README.md +++ b/templates/arcgis-desktop/10.8.1/README.md @@ -1,3 +1,12 @@ +--- +layout: default +title: arcgis-desktop template +category: templates +item: arcgis-desktop +version: 10.8.1 +latest: false +--- + # arcgis-desktop Deployment Template Installs ArcGIS Desktop. @@ -27,39 +36,33 @@ The following ArcGIS setup archives must be available in the ArcGIS software rep * ArcGIS_Desktop_1081_175110.exe -> ArcGIS software repository directory is specified by 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 Chef client. +> 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 Chef client. -> Ensure that the directory specified by arcgis.repository.setups attribute has enough space for the setups extracted from the setup archives. +> 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 recommended initial deployment workflow for the template machine roles: +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 Chef client on machines as administrator using the json files specific to the machine roles (one machine can be used in multiple roles). +4. Run the Chef client on 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-desktop cookbook README file. +> For additional customization options, see the list of supported attributes described in the arcgis-desktop cookbook README file. -### Concurrent Use ArcGIS Desktop +### Concurrent-Use ArcGIS Desktop ```shell chef-client -z -j arcgis-desktop-concurrent-use.json ``` -### Single Use ArcGIS Desktop +### Single-Use ArcGIS Desktop ```shell chef-client -z -j arcgis-desktop-single-use.json ``` -## Upgrade Workflow - -> It's not recommended to use the templates for upgrades if the sites were not initially deployed using the templates. - -This is the first release of arcgis-desktop deployment template. The recommended upgrade workflow for this template will be provided in the subsequent releases. - ## 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. @@ -68,16 +71,16 @@ The JSON files included in the template provide recipes for the deployment machi Installs ArcGIS Desktop 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. +> The concurrent-use license must be either already authorized via License Manager or needs to be done manually. -Required attributes changes: +Required attribute changes: * arcgis.desktop.esri_license_host - ArcGIS License Server host name ### arcgis-desktop-single-use -Installs ArcGIS Desktop with single use license. +Installs ArcGIS Desktop with a single-use license. -Required attributes changes: +Required attribute changes: * arcgis.desktop.authorization_file - ArcGIS Desktop authorization file path diff --git a/templates/arcgis-desktop/10.8.2/README.md b/templates/arcgis-desktop/10.8.2/README.md index 120865b..b1bf120 100644 --- a/templates/arcgis-desktop/10.8.2/README.md +++ b/templates/arcgis-desktop/10.8.2/README.md @@ -1,3 +1,12 @@ +--- +layout: default +title: arcgis-desktop template +category: templates +item: arcgis-desktop +version: 10.8.2 +latest: true +--- + # arcgis-desktop Deployment Template Installs ArcGIS Desktop. @@ -27,39 +36,33 @@ The following ArcGIS setup archives must be available in the ArcGIS software rep * ArcGIS_Desktop_1082_180378.exe -> ArcGIS software repository directory is specified by 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 Chef client. +> 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 Chef client. -> Ensure that the directory specified by arcgis.repository.setups attribute has enough space for the setups extracted from the setup archives. +> 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 recommended initial deployment workflow for the template machine roles: +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 Chef client on machines as administrator using the json files specific to the machine roles (one machine can be used in multiple roles). +4. Run the Chef client on 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-desktop cookbook README file. +> For additional customization options, see the list of supported attributes described in arcgis-desktop cookbook README file. -### Concurrent Use ArcGIS Desktop +### Concurrent-Use ArcGIS Desktop ```shell chef-client -z -j arcgis-desktop-concurrent-use.json ``` -### Single Use ArcGIS Desktop +### Single-Use ArcGIS Desktop ```shell chef-client -z -j arcgis-desktop-single-use.json ``` -## Upgrade Workflow - -> It's not recommended to use the templates for upgrades if the sites were not initially deployed using the templates. - -This is the first release of arcgis-desktop deployment template. The recommended upgrade workflow for this template will be provided in the subsequent releases. - ## 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. @@ -68,16 +71,16 @@ The JSON files included in the template provide recipes for the deployment machi Installs ArcGIS Desktop 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. +> The concurrent-use license must be either already authorized via License Manager or needs to be done manually. -Required attributes changes: +Required attribute changes: * arcgis.desktop.esri_license_host - ArcGIS License Server host name ### arcgis-desktop-single-use -Installs ArcGIS Desktop with single use license. +Installs ArcGIS Desktop with a single-use license. -Required attributes changes: +Required attribute changes: * arcgis.desktop.authorization_file - ArcGIS Desktop authorization file path diff --git a/templates/arcgis-egdb/10.9.1/README.md b/templates/arcgis-egdb/10.9.1/README.md index 8864f18..c7ca972 100644 --- a/templates/arcgis-egdb/10.9.1/README.md +++ b/templates/arcgis-egdb/10.9.1/README.md @@ -1,10 +1,19 @@ +--- +layout: default +title: "arcgis-egdb template" +category: templates +item: arcgis-egdb +version: 10.9.1 +latest: false +--- + # 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. +Creates an enterprise geodatabase in PostgreSQL on Amazon Relational Database Service (RDS), Amazon Aurora with PostgreSQL compatibility, or SQL Server on Amazon RDS, and registers it with ArcGIS Server. ## System Requirements -The machines must have ArcGIS Server 10.9.1 installed and authorized. Consult the ArcGIS Server 10.9 system requirements documentation for the required/recommended hardware specification. +The machines must have ArcGIS Server 10.9.1 installed and authorized. Consult the ArcGIS Server 10.9.1 system requirements documentation for the required/recommended hardware specification. ### Recommended Chef Client versions @@ -27,49 +36,48 @@ The machines must have ArcGIS Server 10.9.1 installed and authorized. Consult th * Red Hat Enterprise Linux Server 7 * Red Hat Enterprise Linux Server 8 * CentOS Linux 7 - * CentOS Linux 8 -SQL Server is only supported on Windows. +SQL Server is only supported zif you register with ArcGIS Server on Windows. -For Linux deployments enable running sudo without password for the user running the Chef client. +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 Postgres on Windows +For geodatabases in PostgreSQL registered with ArcGIS Server on Windows * ArcGIS_DataStore_Windows_1091_180054.exe -For Postgres on Linux +For geodatabases in PostgreSQL registered with ArcGIS Server on Linux * ArcGIS_DataStore_Linux_1091_180204.tar.gz -For SQL Server (Windows only) +For geodatabases in SQL Server (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) -> ArcGIS software repository directory is specified by 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. +> 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 arcgis.repository.setups attribute has enough space for the setups extracted from the setup archives. +> 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 recommended initial deployment workflow for the template machine roles: +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 Chef client on machines as administrator/superuser using the json files specific to the machine roles (one machine can be used in multiple roles). +4. Run the Chef client on 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-egdb cookbook README file. +> For additional customization options, see the list of supported attributes described in the arcgis-egdb cookbook README file. -## SQL Server RDS +## SQL Server on RDS -On primary ArcGIS Server machine +On the primary ArcGIS Server machine ``` chef-client -z -j arcgis-egdb-rds-sqlserver-node.json @@ -82,19 +90,14 @@ On all additional ArcGIS Server machines chef-client -z arcgis-egdb-rds-sqlserver-node.json ``` -## PostgreSQL RDS or Aurora with PostgreSQL +## PostgreSQL on RDS or Aurora with PostgreSQL -On primary ArcGIS Server machine +On the primary ArcGIS Server machine ``` chef-client -z -j arcgis-egdb-rds-postgres.json ``` -## Upgrade Workflow - -> It's not recommended to use the templates for upgrades if the sites were not initially deployed using the templates. - -This is the first release of arcgis-egdb deployment template. The recommended upgrade workflow for this template will be provided in the subsequent releases. ## Machine Roles @@ -102,47 +105,47 @@ The JSON files included in the template provide recipes for the deployment machi ### arcgis-egdb-rds-postgres-s3files -Downloads ArcGIS Data Store setups files from S3 bucket to local ArcGIS software repository. +Downloads ArcGIS Data Store setup files from an S3 bucket to a local ArcGIS 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-s3files -Downloads Microsoft Visual C++ 2017 Redistributable, SQL Server ODBC drivers, and SQL Command Line Utilities setups files from S3 bucket to local ArcGIS software repository. +Downloads Microsoft Visual C++ 2017 Redistributable, SQL Server ODBC drivers, and SQL Command Line Utilities setup files from an S3 bucket to a local ArcGIS 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 GeoDatabase 'egdb' in Amazon PostgreSQL RDS or Amazon Aurora with PostgreSQL compatibility and registers it with ArcGIS Server. +Creates a geodatabase 'egdb' in PostgreSQL on Amazon RDS or Amazon Aurora with PostgreSQL compatibility and registers it with ArcGIS Server. -The role installs ralational ArcGIS Data Store to use its psql command line utility. +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.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.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 GeoDatabases in SQL Server RDS and registers them with ArcGIS Server. +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 must be installed and authorized on the machines before running the role. +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.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 diff --git a/templates/arcgis-egdb/10.9/README.md b/templates/arcgis-egdb/10.9/README.md index 40b7add..2f79136 100644 --- a/templates/arcgis-egdb/10.9/README.md +++ b/templates/arcgis-egdb/10.9/README.md @@ -26,7 +26,6 @@ The machines must have ArcGIS Server 10.9 installed and authorized. Consult the * Red Hat Enterprise Linux Server 7 * Red Hat Enterprise Linux Server 8 * CentOS Linux 7 - * CentOS Linux 8 SQL Server is only supported on Windows. diff --git a/templates/arcgis-egdb/11.0/README.md b/templates/arcgis-egdb/11.0/README.md new file mode 100644 index 0000000..f4046a1 --- /dev/null +++ b/templates/arcgis-egdb/11.0/README.md @@ -0,0 +1,167 @@ +--- +layout: default +title: "arcgis-egdb template" +category: templates +item: arcgis-egdb +version: 11.0 +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.0 installed and authorized. Consult the ArcGIS Server 10.9 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.0.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_110_182887.exe + +For geodatabases in PostgreSQL registered with ArcGIS Server on Linux + +* ArcGIS_DataStore_Linux_110_182986.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.0/linux/arcgis-egdb-rds-postgres-files.json b/templates/arcgis-egdb/11.0/linux/arcgis-egdb-rds-postgres-files.json new file mode 100644 index 0000000..db21088 --- /dev/null +++ b/templates/arcgis-egdb/11.0/linux/arcgis-egdb-rds-postgres-files.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "repository": { + "local_archives": "/opt/software/archives", + "shared": false, + "server": { + "username": "changeit", + "password": "changeit" + }, + "files": { + "ArcGIS_DataStore_Linux_110_182986.tar.gz": { + "subfolder": "software/arcgis/11.0" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-egdb/11.0/linux/arcgis-egdb-rds-postgres-s3files.json b/templates/arcgis-egdb/11.0/linux/arcgis-egdb-rds-postgres-s3files.json new file mode 100644 index 0000000..1a3c1fa --- /dev/null +++ b/templates/arcgis-egdb/11.0/linux/arcgis-egdb-rds-postgres-s3files.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "version": "11.0", + "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_110_182986.tar.gz": { + "subfolder": "11.0/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-egdb/11.0/linux/arcgis-egdb-rds-postgres.json b/templates/arcgis-egdb/11.0/linux/arcgis-egdb-rds-postgres.json new file mode 100644 index 0000000..90b6abe --- /dev/null +++ b/templates/arcgis-egdb/11.0/linux/arcgis-egdb-rds-postgres.json @@ -0,0 +1,49 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "install_dir": "/opt", + "url": "https://localhost:6443/arcgis", + "admin_username": "siteadmin", + "admin_password": "change.it" + }, + "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": "change.it", + "db_password": "change.it", + "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.0/windows/arcgis-egdb-rds-postgres-files.json b/templates/arcgis-egdb/11.0/windows/arcgis-egdb-rds-postgres-files.json new file mode 100644 index 0000000..0b70d30 --- /dev/null +++ b/templates/arcgis-egdb/11.0/windows/arcgis-egdb-rds-postgres-files.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "repository": { + "local_archives": "C:\\Software\\Archives", + "shared": false, + "server": { + "username": "changeit", + "password": "changeit" + }, + "files": { + "ArcGIS_DataStore_Windows_110_182887.exe": { + "subfolder": "software/arcgis/11.0" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-egdb/11.0/windows/arcgis-egdb-rds-postgres-s3files.json b/templates/arcgis-egdb/11.0/windows/arcgis-egdb-rds-postgres-s3files.json new file mode 100644 index 0000000..34253f3 --- /dev/null +++ b/templates/arcgis-egdb/11.0/windows/arcgis-egdb-rds-postgres-s3files.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "version": "11.0", + "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_110_182887.exe": { + "subfolder": "11.0/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-egdb/11.0/windows/arcgis-egdb-rds-postgres.json b/templates/arcgis-egdb/11.0/windows/arcgis-egdb-rds-postgres.json new file mode 100644 index 0000000..66bed49 --- /dev/null +++ b/templates/arcgis-egdb/11.0/windows/arcgis-egdb-rds-postgres.json @@ -0,0 +1,50 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "install_dir": "C:\\Program Files\\ArcGIS\\Server", + "url": "https://localhost:6443/arcgis", + "admin_username": "siteadmin", + "admin_password": "change.it" + }, + "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.0\\sysgen\\keycodes", + "postgresbin": "C:\\Program Files\\ArcGIS\\DataStore\\framework\\runtime\\pgsql\\bin", + "master_username": "esrirdsadmin", + "master_password": "change.it", + "db_password": "change.it", + "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.0/windows/arcgis-egdb-rds-sqlserver-files.json b/templates/arcgis-egdb/11.0/windows/arcgis-egdb-rds-sqlserver-files.json new file mode 100644 index 0000000..9753a88 --- /dev/null +++ b/templates/arcgis-egdb/11.0/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.0/windows/arcgis-egdb-rds-sqlserver-node.json b/templates/arcgis-egdb/11.0/windows/arcgis-egdb-rds-sqlserver-node.json new file mode 100644 index 0000000..cd80d79 --- /dev/null +++ b/templates/arcgis-egdb/11.0/windows/arcgis-egdb-rds-sqlserver-node.json @@ -0,0 +1,14 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/windows/arcgis-egdb-rds-sqlserver-s3files.json b/templates/arcgis-egdb/11.0/windows/arcgis-egdb-rds-sqlserver-s3files.json new file mode 100644 index 0000000..d16d13c --- /dev/null +++ b/templates/arcgis-egdb/11.0/windows/arcgis-egdb-rds-sqlserver-s3files.json @@ -0,0 +1,31 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/thirdparty" + }, + "msodbcsql13.msi": { + "subfolder": "11.0/thirdparty" + }, + "msodbcsql17.msi": { + "subfolder": "11.0/thirdparty" + }, + "MsSqlCmdLnUtils.msi": { + "subfolder": "11.0/thirdparty" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-egdb/11.0/windows/arcgis-egdb-rds-sqlserver.json b/templates/arcgis-egdb/11.0/windows/arcgis-egdb-rds-sqlserver.json new file mode 100644 index 0000000..9a7cddb --- /dev/null +++ b/templates/arcgis-egdb/11.0/windows/arcgis-egdb-rds-sqlserver.json @@ -0,0 +1,38 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "server": { + "install_dir": "C:\\Program Files\\ArcGIS\\Server", + "url": "https://localhost:6443/arcgis", + "admin_username": "siteadmin", + "admin_password": "change.it" + }, + "misc": { + "scripts_dir": "C:\\Temp\\Scripts" + }, + "egdb": { + "engine": "sqlserver-se", + "endpoint": "", + "keycodes": "C:\\Program Files\\ESRI\\License11.0\\sysgen\\keycodes", + "master_username": "esrirdsadmin", + "master_password": "change.it", + "db_password": "change.it", + "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/10.9.1/README.md b/templates/arcgis-enterprise-base/10.9.1/README.md index 487d823..03d78c3 100644 --- a/templates/arcgis-enterprise-base/10.9.1/README.md +++ b/templates/arcgis-enterprise-base/10.9.1/README.md @@ -1,3 +1,12 @@ +--- +layout: default +title: "arcgis-enterprise-base template" +category: templates +item: arcgis-enterprise-base +version: 10.9.1 +latest: false +--- + # 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. @@ -8,8 +17,8 @@ The base ArcGIS Enterprise deployment machines include the following components: * 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) + * 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 @@ -36,9 +45,8 @@ Consult the ArcGIS Enterprise 10.9.1 system requirements documentation for the r * Red Hat Enterprise Linux Server 7 * Red Hat Enterprise Linux Server 8 * CentOS Linux 7 - * CentOS Linux 8 -For Linux deployments enable running sudo without password for the user running the Chef client. +For Linux deployments, enable running sudo without password for the user running the Chef client. ### Required ArcGIS Software Repository Content @@ -49,7 +57,7 @@ Windows * ArcGIS_DataStore_Windows_1091_180054.exe * ArcGIS_Server_Windows_1091_180041.exe * ArcGIS_Web_Adaptor_for_Microsoft_IIS_1091_180055.exe -* Portal_for_ArcGIS_Windows_1091_177786.exe +* Portal_for_ArcGIS_Windows_1091_180052.exe * Portal_for_ArcGIS_Web_Styles_Windows_1091_180053.exe Linux @@ -62,31 +70,31 @@ Linux * apache-tomcat-9.0.48.tar.gz (will be downloaded from the internet if not present in the local ArcGIS software repository) * openjdk-11_linux-x64_bin.tar.gz (will be downloaded from the internet if not present in the local ArcGIS software repository) -> ArcGIS software repository directory is specified by 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. +> 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 arcgis.repository.setups attribute has enough space for ArcGIS Enterprise setups extracted from the setup archives. +> 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 recommended initial deployment workflow for the template machine roles: +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 Chef client on machines as administrator/superuser using the json files specific to the machine roles (one machine can be used in multiple roles). +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. +> 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 file server and primary machine roles. +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 adding 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 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 arcgis-enterprise-primary.json. ### Multi-machine deployment @@ -104,7 +112,7 @@ chef-client -z -j arcgis-enterprise-fileserver.json #### Primary Base ArcGIS Enterprise Machine -After the Chef run on the file server machine is completed run: +After the Chef run on the file server machine is completed, run the following: ```shell chef-client -z -j arcgis-enterprise-primary.json @@ -112,17 +120,31 @@ chef-client -z -j arcgis-enterprise-primary.json #### Standby ArcGIS Enterprise Base Machine -After the Chef run on the primary machine is completed run: +After the Chef run on the primary machine is completed, 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 base ArcGIS Enterprise using the deployment template if it was not initially deployed using an earlier version of the templates. +> 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 base ArcGIS Enterprise deployed using arcgis-enterprise-base deployment template to 10.9.1 version you will need: +To upgrade a base ArcGIS Enterprise deployed using the arcgis-enterprise-base deployment template to the 10.9.1 version, you will need: * ArcGIS 10.9.1 setup archives, * ArcGIS 10.9 software authorization files, @@ -130,25 +152,25 @@ To upgrade base ArcGIS Enterprise deployed using arcgis-enterprise-base deployme ### General Upgrade Notes -Upgrade of highly available base ArcGIS Enterprise deployment may take several hours, during that time the deployment will be unavailable to the users. +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 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. +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 JSONs files must match the actual deployment configuration. To make upgrade JSON files, update the 10.9.1 template JSON files by copying the attribute values from the JSON files used for the initial deployment or the last upgrade. +The attributes defined in the upgrade JSON files must match the actual deployment configuration. To make upgrade JSON files, update the 10.9.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 just in the value of arcgis.version attribute. In those cases the easiest way to make the upgrade JSON files is just to change 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. +> 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 value 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. -Tool copy_attributes.rb 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 templates/tools directory in the ArcGIS cookbooks archive. To execute copy_attributes.rb use chef-apply command that comes with Chef/Cinc Client. +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 Chef/Cinc Client. ```shell chef-apply ./templates/tools/copy_attributes.rb ``` -After executing the tool, update the destination JSON file attributes specific to the new JSON file template and attributes specific to the new ArcGIS Enterprise version, such as software authorization files. +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. Backup the original JSON files used for the initial deployment or the last upgrade into a local directory. +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. @@ -157,9 +179,9 @@ On each deployment machine, before upgrading the ArcGIS Enterprise software, upg Upgrading base ArcGIS enterprise deployments from 10.9 to 10.9.1 requires upgrading 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 upgrade of standby machine. +1. Begin upgrading on the standby machine. - Copy attributes from the original `arcgis-enterprise-standby.json` JSON file created from 10.9 arcgis-enterprise-base template to `arcgis-enterprise-install.json` of 10.9.1 arcgis-enterprise-base template and `arcgis-server-webadaptor-unregister.json` of 10.9.1 arcgis-webadaptor template. + Copy attributes from the original `arcgis-enterprise-standby.json` JSON file created from the 10.9 arcgis-enterprise-base template to the `arcgis-enterprise-install.json` file of the 10.9.1 arcgis-enterprise-base template and `arcgis-server-webadaptor-unregister.json` file of the 10.9.1 arcgis-webadaptor template. ```shell chef-apply ./templates/tools/copy_attributes.rb /arcgis-enterprise-standby.json <10.9.1 JSON templates>/arcgis-enterprise-install.json @@ -168,21 +190,21 @@ Upgrading base ArcGIS enterprise deployments from 10.9 to 10.9.1 requires upgrad Verify that attributes are correct in `arcgis-enterprise-install.json` and `arcgis-server-webadaptor-unregister.json`. - On the standby machine execute the following command to unregister ArGIS Server Web Adaptor: + On the standby machine, run the following command to unregister the ArGIS Web Adaptor used with ArcGIS Server: ```shell chef-client -z -j <10.9.1 JSON templates>/arcgis-server-webadaptor-unregister.json ``` - Wait until the Chef run completed and execute the following command to begin upgrade of base ArcGIS Enterprise on the machine: + Wait until the Chef run completes, and run the following command to begin upgrading the base ArcGIS Enterprise installation on the machine: ```shell chef-client -z -j <10.9.1 JSON templates>/arcgis-enterprise-install.json ``` -2. Upgrade primary machine. +2. Upgrade on the primary machine. - Copy attributes from the original `arcgis-enterprise-primary.json` JSON file created from 10.9 arcgis-enterprise-base template to `arcgis-enterprise-primary.json` of 10.9.1 arcgis-enterprise-base template. + Copy attributes from the original `arcgis-enterprise-primary.json` JSON file created from the 10.9 arcgis-enterprise-base template to the `arcgis-enterprise-primary.json` file of the 10.9.1 arcgis-enterprise-base template. ```shell chef-apply ./templates/tools/copy_attributes.rb /arcgis-enterprise-primary.json <10.9.1 JSON templates>/arcgis-enterprise-primary.json @@ -190,15 +212,15 @@ Upgrading base ArcGIS enterprise deployments from 10.9 to 10.9.1 requires upgrad Verify that attributes are correct in `arcgis-enterprise-primary.json`. - On the primary machine execute the following command: + On the primary machine, run the following command: ```shell chef-client -z -j <10.9.1 JSON templates>/arcgis-enterprise-primary.json ``` -3. Complete upgrade of standby machine. +3. Complete upgrading on the standby machine. - Copy attributes from the original `arcgis-enterprise-standby.json` JSON file created from 10.9 arcgis-enterprise-base template to `arcgis-enterprise-standby.json` of 10.9.1 arcgis-enterprise-base template. + Copy attributes from the original `arcgis-enterprise-standby.json` JSON file created from the 10.9 arcgis-enterprise-base template to the `arcgis-enterprise-standby.json` file of the 10.9.1 arcgis-enterprise-base template. ```shell chef-apply ./templates/tools/copy_attributes.rb /arcgis-enterprise-standby.json <10.9.1 JSON templates>/arcgis-enterprise-standby.json @@ -206,7 +228,7 @@ Upgrading base ArcGIS enterprise deployments from 10.9 to 10.9.1 requires upgrad Verify that attributes are correct in `arcgis-enterprise-standby.json`. - On the standby machine execute the following command: + On the standby machine, run the following command: ```shell chef-client -z -j <10.9.1 JSON templates>/arcgis-enterprise-standby.json @@ -218,7 +240,7 @@ The JSON files included in the template provide recipes for the deployment machi ### arcgis-enterprise-s3files -The role downloads ArcGIS Enterprise setups archives from S3 bucket specified by arcgis.repository.server.s3bucket attribute to the local ArcGIS software repository. +The role downloads ArcGIS Enterprise setup archives from an S3 bucket specified by the arcgis.repository.server.s3bucket attribute to the a local ArcGIS software repository. The role requires AWS Tools for PowerShell to be installed on Windows machines and AWS Command Line Interface on Linux machines. @@ -231,35 +253,43 @@ The following attributes are required unless the machine is an AWS EC2 instance Configures file shares for ArcGIS Server server directories, Portal for ArcGIS content directory, and ArcGIS Data Store backup directories. -Required attributes changes: +Required attribute changes: -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +* 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: +Required attribute 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 -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +Applies base ArcGIS Enterprise patches. ### arcgis-enterprise-primary -Installs and configures base ArcGIS Enterprise software on primary machine. +Installs and configures base ArcGIS Enterprise software on the primary machine. -Required attributes changes: +Required attribute changes: -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +* 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 +* 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' by the file server machine hostname or static IP address -* arcgis.server.config_store_connection_string - Replace 'FILESERVER' by the file server machine hostname or static IP address -* arcgis.server.system_properties.WebContextURL - ArcGIS Server web context URL that will be used for the federated server services URL +* 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 @@ -269,23 +299,23 @@ Required attributes changes: * 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' by the file server machine hostname or static IP address +* 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 HTTPS listener in IIS web server +* 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 HTTPS listener in Apache Tomcat +* 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 standby machine. +Installs and configures base ArcGIS Enterprise software on the standby machine. -Required attributes changes: +Required attribute changes: -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +* 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 @@ -299,7 +329,7 @@ Required attributes changes: * 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 HTTPS listener in IIS web server +* 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 HTTPS listener in Apache Tomcat application server +* 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/10.9.1/linux/arcgis-enterprise-patches-apply.json b/templates/arcgis-enterprise-base/10.9.1/linux/arcgis-enterprise-patches-apply.json new file mode 100644 index 0000000..cb6f383 --- /dev/null +++ b/templates/arcgis-enterprise-base/10.9.1/linux/arcgis-enterprise-patches-apply.json @@ -0,0 +1,38 @@ +{ + "arcgis": { + "version": "10.9.1", + "run_as_user": "arcgis", + "repository": { + "patches": "/opt/software/archives/patches" + }, + "portal": { + "install_dir": "/opt", + "patches": [ + "ArcGIS-1091-PFA-Log4j-PatchB-linux.tar" + ] + }, + "server": { + "install_dir": "/opt", + "patches": [ + "ArcGIS-1091-S-MR-PatchB-linux.tar", + "ArcGIS-1091-S-Log4j-PatchB-linux.tar", + "ArcGIS-1091-S-UNDM1-Patch-linux.tar", + "ArcGIS-1091-S-VRPG-Patch-linux.tar", + "ArcGIS-1091-S-K1-Patch-linux.tar", + "ArcGIS-1091-S-SQ-Patch-linux.tar" + ] + }, + "data_store": { + "install_dir": "/opt", + "patches": [ + "ArcGIS-1091-DS-Log4j-Patch-linux.tar" + ] + }, + "web_adaptor": { + "patches": [] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]" + ] +} diff --git a/templates/arcgis-enterprise-base/10.9.1/linux/arcgis-enterprise-patches.json b/templates/arcgis-enterprise-base/10.9.1/linux/arcgis-enterprise-patches.json new file mode 100644 index 0000000..f77fc8c --- /dev/null +++ b/templates/arcgis-enterprise-base/10.9.1/linux/arcgis-enterprise-patches.json @@ -0,0 +1,19 @@ +{ + "arcgis": { + "version": "10.9.1", + "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/10.9.1/windows/arcgis-enterprise-patches-apply.json b/templates/arcgis-enterprise-base/10.9.1/windows/arcgis-enterprise-patches-apply.json new file mode 100644 index 0000000..4912600 --- /dev/null +++ b/templates/arcgis-enterprise-base/10.9.1/windows/arcgis-enterprise-patches-apply.json @@ -0,0 +1,35 @@ +{ + "arcgis": { + "version": "10.9.1", + "repository": { + "patches": "C:\\Software\\Archives\\Patches" + }, + "portal": { + "patches": [ + "ArcGIS-1091-PFA-Log4j-PatchB.msp" + ] + }, + "server": { + "patches": [ + "ArcGIS-1091-S-SP-Patch.msp", + "ArcGIS-1091-S-MR-PatchB.msp", + "ArcGIS-1091-S-Log4j-PatchB.msp", + "ArcGIS-1091-S-UNDM1-Patch.msp", + "ArcGIS-1091-S-VRPG-Patch.msp", + "ArcGIS-1091-S-K1-Patch.msp", + "ArcGIS-1091-S-SQ-Patch.msp" + ] + }, + "data_store": { + "patches": [ + "ArcGIS-1091-DS-Log4j-Patch.msp" + ] + }, + "web_adaptor": { + "patches": [] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]" + ] +} diff --git a/templates/arcgis-enterprise-base/10.9.1/windows/arcgis-enterprise-patches.json b/templates/arcgis-enterprise-base/10.9.1/windows/arcgis-enterprise-patches.json new file mode 100644 index 0000000..d8a2795 --- /dev/null +++ b/templates/arcgis-enterprise-base/10.9.1/windows/arcgis-enterprise-patches.json @@ -0,0 +1,19 @@ +{ + "arcgis": { + "version": "10.9.1", + "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/10.9/README.md b/templates/arcgis-enterprise-base/10.9/README.md index 30db326..a3257a3 100644 --- a/templates/arcgis-enterprise-base/10.9/README.md +++ b/templates/arcgis-enterprise-base/10.9/README.md @@ -35,7 +35,6 @@ Consult the ArcGIS Enterprise 10.9 system requirements documentation for the req * Red Hat Enterprise Linux Server 7 * Red Hat Enterprise Linux Server 8 * CentOS Linux 7 - * CentOS Linux 8 For Linux deployments enable running sudo without password for the user running the Chef client. @@ -168,13 +167,13 @@ Required attributes changes: * 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 +* 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' by the file server machine hostname or static IP address * arcgis.server.config_store_connection_string - Replace 'FILESERVER' by the file server machine hostname or static IP address -* arcgis.server.system_properties.WebContextURL - ArcGIS Server web context URL that will be used for the federated server services URL +* 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 diff --git a/templates/arcgis-enterprise-base/11.0/README.md b/templates/arcgis-enterprise-base/11.0/README.md new file mode 100644 index 0000000..27290d4 --- /dev/null +++ b/templates/arcgis-enterprise-base/11.0/README.md @@ -0,0 +1,346 @@ +--- +layout: default +title: "arcgis-enterprise-base template" +category: templates +item: arcgis-enterprise-base +version: 11.0 +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.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.0.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_DataStore_Windows_110_182887.exe +* ArcGIS_Server_Windows_110_182874.exe +* ArcGIS_Web_Adaptor_for_Microsoft_IIS_110_182888.exe +* Portal_for_ArcGIS_Windows_110_182885.exe +* Portal_for_ArcGIS_Web_Styles_Windows_110_182886.exe + +Linux + +* ArcGIS_DataStore_Linux_110_182986.tar.gz +* ArcGIS_Server_Linux_110_182973.tar.gz +* ArcGIS_Web_Adaptor_Java_Linux_110_182987.tar.gz +* Portal_for_ArcGIS_Linux_110_182984.tar.gz +* Portal_for_ArcGIS_Web_Styles_Linux_110_182985.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. + +### 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.0 version, you will need: + +* ArcGIS 11.0 setup archives, +* ArcGIS 11.0 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.0 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 or 10.9.1 + +Upgrading base ArcGIS Enterprise deployments from 10.9 or 10.9.1 to 11.0 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 or 10.9.1 arcgis-enterprise-base template to the `arcgis-enterprise-install.json` file of the 11.0 arcgis-enterprise-base template and `arcgis-server-webadaptor-unregister.json` file of the 11.0 arcgis-webadaptor template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /arcgis-enterprise-standby.json <11.0 JSON templates>/arcgis-enterprise-install.json + chef-apply ./templates/tools/copy_attributes.rb /arcgis-enterprise-standby.json <11.0 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.0 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.0 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 or 10.9.1 arcgis-enterprise-base template to the `arcgis-enterprise-primary.json` file of the 11.0 arcgis-enterprise-base template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /arcgis-enterprise-primary.json <11.0 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.0 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 or 10.9.1 arcgis-enterprise-base template to the `arcgis-enterprise-standby.json` file of the 11.0 arcgis-enterprise-base template. + + ```shell + chef-apply ./templates/tools/copy_attributes.rb /arcgis-enterprise-standby.json <11.0 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.0 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 role requires AWS Tools for PowerShell to be installed on Windows machines and AWS Command Line Interface on Linux machines. + +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.0/linux/arcgis-enterprise-files.json b/templates/arcgis-enterprise-base/11.0/linux/arcgis-enterprise-files.json new file mode 100644 index 0000000..0ead4f9 --- /dev/null +++ b/templates/arcgis-enterprise-base/11.0/linux/arcgis-enterprise-files.json @@ -0,0 +1,40 @@ +{ + "arcgis": { + "repository": { + "local_archives": "/opt/software/archives", + "shared": false, + "server": { + "username": "changeit", + "password": "changeit" + }, + "files": { + "ArcGIS_Server_Linux_110_182973.tar.gz": { + "subfolder": "software/arcgis/11.0" + }, + "Portal_for_ArcGIS_Linux_110_182984.tar.gz": { + "subfolder": "software/arcgis/11.0" + }, + "Portal_for_ArcGIS_Web_Styles_Linux_110_182985.tar.gz": { + "subfolder": "software/arcgis/11.0" + }, + "ArcGIS_DataStore_Linux_110_182986.tar.gz": { + "subfolder": "software/arcgis/11.0" + }, + "ArcGIS_Web_Adaptor_Java_Linux_110_182987.tar.gz": { + "subfolder": "software/arcgis/11.0" + }, + "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.0/linux/arcgis-enterprise-fileserver.json b/templates/arcgis-enterprise-base/11.0/linux/arcgis-enterprise-fileserver.json new file mode 100644 index 0000000..089e6ae --- /dev/null +++ b/templates/arcgis-enterprise-base/11.0/linux/arcgis-enterprise-fileserver.json @@ -0,0 +1,26 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/linux/arcgis-enterprise-install.json b/templates/arcgis-enterprise-base/11.0/linux/arcgis-enterprise-install.json new file mode 100644 index 0000000..3561581 --- /dev/null +++ b/templates/arcgis-enterprise-base/11.0/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.0", + "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.0/linux/arcgis-enterprise-patches-apply.json b/templates/arcgis-enterprise-base/11.0/linux/arcgis-enterprise-patches-apply.json new file mode 100644 index 0000000..533d832 --- /dev/null +++ b/templates/arcgis-enterprise-base/11.0/linux/arcgis-enterprise-patches-apply.json @@ -0,0 +1,36 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "repository": { + "patches": "/opt/software/archives/patches" + }, + "portal": { + "install_dir": "/opt", + "patches": [ + "ArcGIS-110-PFA-*.tar", + "ArcGIS-110-PFA-*.tar.gz" + ] + }, + "server": { + "install_dir": "/opt", + "patches": [ + "ArcGIS-110-S-*.tar", + "ArcGIS-110-S-*.tar.gz" + ] + }, + "data_store": { + "install_dir": "/opt", + "patches": [ + "ArcGIS-110-DS-*.tar", + "ArcGIS-110-DS-*.tar.gz" + ] + }, + "web_adaptor": { + "patches": [] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]" + ] +} diff --git a/templates/arcgis-enterprise-base/11.0/linux/arcgis-enterprise-patches.json b/templates/arcgis-enterprise-base/11.0/linux/arcgis-enterprise-patches.json new file mode 100644 index 0000000..0c6572f --- /dev/null +++ b/templates/arcgis-enterprise-base/11.0/linux/arcgis-enterprise-patches.json @@ -0,0 +1,19 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/linux/arcgis-enterprise-primary.json b/templates/arcgis-enterprise-base/11.0/linux/arcgis-enterprise-primary.json new file mode 100644 index 0000000..410a446 --- /dev/null +++ b/templates/arcgis-enterprise-base/11.0/linux/arcgis-enterprise-primary.json @@ -0,0 +1,103 @@ +{ + "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": "change.it" + }, + "arcgis": { + "version": "11.0", + "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": "siteadmin", + "admin_password": "change.it", + "authorization_file": "/opt/software/authorization_files/11.0/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", + "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": "siteadmin", + "admin_password": "change.it", + "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.0/portal.json", + "user_license_type_id": "", + "install_system_requirements": true, + "wa_name": "portal", + "root_cert": "", + "root_cert_alias": "hostedserver", + "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.0/linux/arcgis-enterprise-s3files.json b/templates/arcgis-enterprise-base/11.0/linux/arcgis-enterprise-s3files.json new file mode 100644 index 0000000..a13d3b1 --- /dev/null +++ b/templates/arcgis-enterprise-base/11.0/linux/arcgis-enterprise-s3files.json @@ -0,0 +1,42 @@ +{ + "arcgis": { + "version": "11.0", + "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_110_182973.tar.gz": { + "subfolder": "11.0/setups" + }, + "Portal_for_ArcGIS_Linux_110_182984.tar.gz": { + "subfolder": "11.0/setups" + }, + "Portal_for_ArcGIS_Web_Styles_Linux_110_182985.tar.gz": { + "subfolder": "11.0/setups" + }, + "ArcGIS_DataStore_Linux_110_182986.tar.gz": { + "subfolder": "11.0/setups" + }, + "ArcGIS_Web_Adaptor_Java_Linux_110_182987.tar.gz": { + "subfolder": "11.0/setups" + }, + "apache-tomcat-9.0.48.tar.gz": { + "subfolder": "11.0/thirdparty" + }, + "openjdk-11_linux-x64_bin.tar.gz": { + "subfolder": "11.0/thirdparty" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] + } + diff --git a/templates/arcgis-enterprise-base/11.0/linux/arcgis-enterprise-standby.json b/templates/arcgis-enterprise-base/11.0/linux/arcgis-enterprise-standby.json new file mode 100644 index 0000000..68f16de --- /dev/null +++ b/templates/arcgis-enterprise-base/11.0/linux/arcgis-enterprise-standby.json @@ -0,0 +1,69 @@ +{ + "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": "change.it" + }, + "arcgis": { + "version": "11.0", + "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": "siteadmin", + "admin_password": "change.it", + "log_dir": "/opt/arcgis/server/usr/logs", + "authorization_file": "/opt/software/authorization_files/11.0/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": "siteadmin", + "admin_password": "change.it", + "log_dir": "/opt/arcgis/portal/usr/arcgisportal/logs", + "install_system_requirements": true, + "wa_name": "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_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.0/windows/arcgis-enterprise-files.json b/templates/arcgis-enterprise-base/11.0/windows/arcgis-enterprise-files.json new file mode 100644 index 0000000..6d98e57 --- /dev/null +++ b/templates/arcgis-enterprise-base/11.0/windows/arcgis-enterprise-files.json @@ -0,0 +1,33 @@ +{ + "arcgis": { + "repository": { + "local_archives": "C:\\Software\\Archives", + "shared": false, + "server": { + "username": "changeit", + "password": "changeit" + }, + "files": { + "ArcGIS_Server_Windows_110_182874.exe": { + "subfolder": "software/arcgis/11.0" + }, + "Portal_for_ArcGIS_Windows_110_182885.exe": { + "subfolder": "software/arcgis/11.0" + }, + "Portal_for_ArcGIS_Web_Styles_Windows_110_182886.exe": { + "subfolder": "software/arcgis/11.0" + }, + "ArcGIS_DataStore_Windows_110_182887.exe": { + "subfolder": "software/arcgis/11.0" + }, + "ArcGIS_Web_Adaptor_for_Microsoft_IIS_110_182888.exe": { + "subfolder": "software/arcgis/11.0" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-enterprise-base/11.0/windows/arcgis-enterprise-fileserver.json b/templates/arcgis-enterprise-base/11.0/windows/arcgis-enterprise-fileserver.json new file mode 100644 index 0000000..d7ac608 --- /dev/null +++ b/templates/arcgis-enterprise-base/11.0/windows/arcgis-enterprise-fileserver.json @@ -0,0 +1,27 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "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.0/windows/arcgis-enterprise-install.json b/templates/arcgis-enterprise-base/11.0/windows/arcgis-enterprise-install.json new file mode 100644 index 0000000..087db66 --- /dev/null +++ b/templates/arcgis-enterprise-base/11.0/windows/arcgis-enterprise-install.json @@ -0,0 +1,47 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "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": { + "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.0/windows/arcgis-enterprise-patches-apply.json b/templates/arcgis-enterprise-base/11.0/windows/arcgis-enterprise-patches-apply.json new file mode 100644 index 0000000..8adcc65 --- /dev/null +++ b/templates/arcgis-enterprise-base/11.0/windows/arcgis-enterprise-patches-apply.json @@ -0,0 +1,31 @@ +{ + "arcgis": { + "version": "11.0", + "repository": { + "patches": "C:\\Software\\Archives\\Patches" + }, + "portal": { + "patches": [ + "ArcGIS-110-PFA-*.msp" + ] + }, + "server": { + "patches": [ + "ArcGIS-110-S-*.msp" + ] + }, + "data_store": { + "patches": [ + "ArcGIS-110-DS-*.msp" + ] + }, + "web_adaptor": { + "patches": [ + "ArcGIS-110-WAI-*.msp" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]" + ] +} diff --git a/templates/arcgis-enterprise-base/11.0/windows/arcgis-enterprise-patches.json b/templates/arcgis-enterprise-base/11.0/windows/arcgis-enterprise-patches.json new file mode 100644 index 0000000..9715aec --- /dev/null +++ b/templates/arcgis-enterprise-base/11.0/windows/arcgis-enterprise-patches.json @@ -0,0 +1,19 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/windows/arcgis-enterprise-primary.json b/templates/arcgis-enterprise-base/11.0/windows/arcgis-enterprise-primary.json new file mode 100644 index 0000000..b57af37 --- /dev/null +++ b/templates/arcgis-enterprise-base/11.0/windows/arcgis-enterprise-primary.json @@ -0,0 +1,95 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "iis": { + "keystore_file": "C:\\Temp\\keystore.pfx", + "keystore_password": "change.it", + "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": "siteadmin", + "admin_password": "change.it", + "authorization_file": "C:\\Software\\AuthorizationFiles\\11.0\\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", + "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": "siteadmin", + "admin_password": "change.it", + "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.0\\Portal.json", + "user_license_type_id": "", + "wa_name": "portal", + "root_cert": "", + "root_cert_alias": "hostedserver", + "system_properties": { + "privatePortalURL": "https://domain.com:7443/arcgis", + "WebContextURL": "https://domain.com/portal" + } + }, + "web_adaptor": { + "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.0/windows/arcgis-enterprise-s3files.json b/templates/arcgis-enterprise-base/11.0/windows/arcgis-enterprise-s3files.json new file mode 100644 index 0000000..c2a4ec7 --- /dev/null +++ b/templates/arcgis-enterprise-base/11.0/windows/arcgis-enterprise-s3files.json @@ -0,0 +1,34 @@ +{ + "arcgis": { + "version": "11.0", + "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_110_182874.exe": { + "subfolder": "11.0/setups" + }, + "Portal_for_ArcGIS_Windows_110_182885.exe": { + "subfolder": "11.0/setups" + }, + "Portal_for_ArcGIS_Web_Styles_Windows_110_182886.exe": { + "subfolder": "11.0/setups" + }, + "ArcGIS_DataStore_Windows_110_182887.exe": { + "subfolder": "11.0/setups" + }, + "ArcGIS_Web_Adaptor_for_Microsoft_IIS_110_182888.exe": { + "subfolder": "11.0/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-enterprise-base/11.0/windows/arcgis-enterprise-standby.json b/templates/arcgis-enterprise-base/11.0/windows/arcgis-enterprise-standby.json new file mode 100644 index 0000000..5d0d9f9 --- /dev/null +++ b/templates/arcgis-enterprise-base/11.0/windows/arcgis-enterprise-standby.json @@ -0,0 +1,61 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "iis": { + "keystore_file": "C:\\Temp\\keystore.pfx", + "keystore_password": "change.it", + "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": "siteadmin", + "admin_password": "change.it", + "authorization_file": "C:\\Software\\AuthorizationFiles\\11.0\\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": "siteadmin", + "admin_password": "change.it", + "data_dir": "C:\\arcgisportal", + "log_dir": "C:\\arcgisportal\\logs", + "wa_name": "portal" + }, + "web_adaptor": { + "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/10.9.1/README.md b/templates/arcgis-geoevent-server/10.9.1/README.md index 21edd4c..635bc79 100644 --- a/templates/arcgis-geoevent-server/10.9.1/README.md +++ b/templates/arcgis-geoevent-server/10.9.1/README.md @@ -1,10 +1,19 @@ +--- +layout: default +title: "arcgis-geoevent-server template" +category: templates +item: arcgis-geoevent-server +version: 10.9.1 +latest: false +--- + # arcgis-geoevent-server Deployment Template -Creates ArcGIS GeoEvent Server deployment. +Creates an ArcGIS GeoEvent Server deployment. ## System Requirements -Consult the ArcGIS GeoEvent Server 10.9 system requirements documentation for the required/recommended hardware specification. +Consult the ArcGIS GeoEvent Server 10.9.1 system requirements documentation for the required/recommended hardware specification. ### Recommended Chef Client versions @@ -27,9 +36,8 @@ Consult the ArcGIS GeoEvent Server 10.9 system requirements documentation for th * Red Hat Enterprise Linux Server 7 * Red Hat Enterprise Linux Server 8 * CentOS Linux 7 - * CentOS Linux 8 -For Linux deployments enable running sudo without password for the user running the Chef client. +For Linux deployments, enable running sudo without password for the user running the Chef client. ### Required ArcGIS Software Repository Content @@ -45,20 +53,20 @@ Linux * ArcGIS_GeoEvent_Server_1091_180218.tar.gz * ArcGIS_Server_Linux_1091_180182.tar.gz -> ArcGIS software repository directory is specified by 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. +> 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 arcgis.repository.setups attribute has enough space for the setups extracted from the setup archives. +> 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 recommended initial deployment workflow for the template machine roles: +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 Chef client on machines as administrator/superuser using the json files specific to the machine roles (one machine can be used in multiple roles). +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 and arcgis-geoevent cookbooks README files. +> For additional customization options, see the list of supported attributes described in the arcgis-enterprise and arcgis-geoevent cookbooks README files. ### File Server Machine @@ -74,13 +82,27 @@ chef-client -z -j geoevent-server.json ### ArcGIS Web Adaptor Machine -If ArcGIS Web Adaptor is required, use arcgis-webadaptor deployment template to install and configure it. +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. +> It's not recommended to use the templates to upgrade if the sites were not initially deployed using the templates. -To upgrade base ArcGIS GeoEvent Server deployed using arcgis-geoevent-server deployment template to 10.9.1 version you will need: +To upgrade an ArcGIS GeoEvent Server site deployed using the arcgis-geoevent-server deployment template to the 10.9.1 version, you will need: * ArcGIS Server 10.9.1 setup archive, * ArcGIS GeoEvent Server 10.9.1 setup archive, @@ -90,25 +112,25 @@ To upgrade base ArcGIS GeoEvent Server deployed using arcgis-geoevent-server dep ### General Upgrade Notes -Upgrade of ArcGIS GeoEvent Server deployment may take several hours, during that time the deployment will be unavailable to the users. +Upgrading an 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. +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 JSONs files must match the actual deployment configuration. To make upgrade JSON files, update the 10.9.1 template JSON files by copying the attribute values from the JSON files used for the initial deployment or the last upgrade. +The attributes defined in the upgrade JSON files must match the actual deployment configuration. To make upgrade JSON files, update the 10.9.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 just in the value of arcgis.version attribute. In those cases the easiest way to make the upgrade JSON files is just to change 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. +> 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 just 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. -Tool copy_attributes.rb 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 templates/tools directory in the ArcGIS cookbooks archive. To execute copy_attributes.rb use chef-apply command that comes with Chef/Cinc Client. +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 executing the tool, update the destination JSON file attributes specific to the new JSON file template and attributes specific to the new ArcGIS GeoEvent Server version, such as software authorization files. +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 Enterprise software, upgrade the configuration management subsystem components: -1. Backup the original JSON files used for the initial deployment or the last upgrade into a local directory. +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. @@ -117,13 +139,13 @@ On each deployment machine, before upgrading the ArcGIS Enterprise software, upg Upgrading ArcGIS Server deployments from 10.9 to 10.9.1 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. -> Note that in 10.9.1 ArcGIS Web Adaptor is installed using `arcgis-server-webadaptor.json` JSON file from the new arcgis-webadaptor deployment template. +> Note that in 10.9.1, ArcGIS Web Adaptor is installed using the `arcgis-server-webadaptor.json` JSON file from the new arcgis-webadaptor deployment template. -> 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 upgrade to ArcGIS GeoEvent Server 10.9.1. +> The 10.9 arcgis-geoevent-server deployment template did not support ArcGIS GeoEvent Server deployments with multiple server machines. However, it provided the ability to configure the ArcGIS Server configuration store and server directories using network shares, so new server machines could be added after upgrading to ArcGIS GeoEvent Server 10.9.1. -1. Unregister ArcGIS Web Adaptor +1. Unregister ArcGIS Web Adaptor. - Copy attributes from the original `geoevent-server-webadaptor.json` JSON file created from 10.9 arcgis-geoevent-server template to `arcgis-server-webadaptor-unregister.json` of 10.9.1 arcgis-webadaptor template. + Copy attributes from the original `geoevent-server-webadaptor.json` JSON file created from the 10.9 arcgis-geoevent-server template to the `arcgis-server-webadaptor-unregister.json` file of the 10.9.1 arcgis-webadaptor template. ```shell chef-apply ./templates/tools/copy_attributes.rb /geoevent-server-webadaptor.json /arcgis-server-webadaptor-unregister.json @@ -131,15 +153,15 @@ Upgrading ArcGIS Server deployments from 10.9 to 10.9.1 requires upgrading all A Verify attributes are correct in `arcgis-server-webadaptor-unregister.json` - On either an ArcGIS Server or an ArcGIS Web Adaptor machine Execute the following command: + 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 ArcGIS GeoEvent Server machine +2. Upgrade the ArcGIS GeoEvent Server machine. - Copy attributes from the original `geoevent-server.json` JSON file created from 10.9 arcgis-geoevent-server template to `geoevent-server.json` of 10.9.1 arcgis-geoevent-server template. + Copy attributes from the original `geoevent-server.json` JSON file created from the 10.9 arcgis-geoevent-server template to the `geoevent-server.json` file of the 10.9.1 arcgis-geoevent-server template. ```shell chef-apply ./templates/tools/copy_attributes.rb /geoevent-server.json /geoevent-server.json @@ -147,15 +169,15 @@ Upgrading ArcGIS Server deployments from 10.9 to 10.9.1 requires upgrading all A Verify attributes are correct in `geoevent-server.json` - On the ArcGIS GeoEvent Server machine execute the following command: + On the ArcGIS GeoEvent Server machine, run the following command: ```shell chef-client -z -j /geoevent-server.json ``` -3. Upgrade ArcGIS Web Adaptor +3. Upgrade ArcGIS Web Adaptor. - Copy attributes from the original `geoevent-server-webadaptor.json` JSON file created from 10.9 arcgis-geoevent-server template to `arcgis-server-webadaptor.json` of 10.9.1 arcgis-webadaptor template. + Copy attributes from the original `geoevent-server-webadaptor.json` JSON file created from the 10.9 arcgis-geoevent-server template to the `arcgis-server-webadaptor.json` file of the 10.9.1 arcgis-webadaptor template. ```shell chef-apply ./templates/tools/copy_attributes.rb /arcgis-server-webadaptor.json /arcgis-server-webadaptor.json @@ -163,7 +185,7 @@ Upgrading ArcGIS Server deployments from 10.9 to 10.9.1 requires upgrading all A Verify that attributes are correct in `arcgis-server-webadaptor.json`. - Execute the following command to upgrade ArcGIS Web Adaptor: + Rune the following command to upgrade ArcGIS Web Adaptor: ```shell chef-client -z -j /arcgis-server-webadaptor.json @@ -175,7 +197,7 @@ The JSON files included in the template provide recipes for the deployment machi ### geoevent-server-s3files -The role downloads ArcGIS GeoEvent Server setups archives from S3 bucket specified by arcgis.repository.server.s3bucket attribute to the local ArcGIS software repository. +The role downloads ArcGIS GeoEvent Server setup archives from the S3 bucket specified by the arcgis.repository.server.s3bucket attribute to the local ArcGIS software repository. The role requires AWS Tools for PowerShell to be installed on Windows machines and AWS Command Line Interface on Linux machines. @@ -186,19 +208,27 @@ The following attributes are required unless the machine is an AWS EC2 instance ### geoevent-server-fileserver -Configures file shares for ArcGIS GeoEvent Server config store and server directories. +Configures file shares for the ArcGIS GeoEvent Server configuration store and server directories. -Required attributes changes: +Required attribute changes: -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +* 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 attributes changes: +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 -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +Applies ArcGIS GeoEvent Server patches. ### geoevent-server @@ -207,19 +237,21 @@ Installs ArcGIS Server and ArcGIS GeoEvent Server, authorizes the software, and Required attributes 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.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' by the file server machine hostname or static IP address. -* arcgis.server.config_store_connection_string - Replace 'FILESERVER' by 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 installed at ArcGIS Server. +* 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) is how system administrators reset a GeoEvent Server instance to look like the product has just been installed. +> 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. diff --git a/templates/arcgis-geoevent-server/10.9.1/linux/geoevent-server-patches-apply.json b/templates/arcgis-geoevent-server/10.9.1/linux/geoevent-server-patches-apply.json new file mode 100644 index 0000000..74e0604 --- /dev/null +++ b/templates/arcgis-geoevent-server/10.9.1/linux/geoevent-server-patches-apply.json @@ -0,0 +1,29 @@ +{ + "arcgis": { + "version": "10.9.1", + "run_as_user": "arcgis", + "repository": { + "patches": "/opt/software/archives/patches" + }, + "server": { + "install_dir": "/opt", + "patches": [ + "ArcGIS-1091-S-MR-PatchB-linux.tar", + "ArcGIS-1091-S-Log4j-PatchB-linux.tar", + "ArcGIS-1091-S-UNDM1-Patch-linux.tar", + "ArcGIS-1091-S-VRPG-Patch-linux.tar", + "ArcGIS-1091-S-K1-Patch-linux.tar", + "ArcGIS-1091-S-SQ-Patch-linux.tar" + ] + }, + "geoevent": { + "patches": [ + "GeoEvent-10.9.1-Patch1.tar.gz" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]", + "recipe[arcgis-geoevent::install_patches]" + ] +} diff --git a/templates/arcgis-geoevent-server/10.9.1/linux/geoevent-server-patches.json b/templates/arcgis-geoevent-server/10.9.1/linux/geoevent-server-patches.json new file mode 100644 index 0000000..5fcc98f --- /dev/null +++ b/templates/arcgis-geoevent-server/10.9.1/linux/geoevent-server-patches.json @@ -0,0 +1,17 @@ +{ + "arcgis": { + "version": "10.9.1", + "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/10.9.1/linux/geoevent-server.json b/templates/arcgis-geoevent-server/10.9.1/linux/geoevent-server.json index 5b4302f..1c64632 100644 --- a/templates/arcgis-geoevent-server/10.9.1/linux/geoevent-server.json +++ b/templates/arcgis-geoevent-server/10.9.1/linux/geoevent-server.json @@ -18,7 +18,11 @@ "config_store_type": "FILESYSTEM", "config_store_connection_string": "/net/FILESERVER/gisdata/arcgisserver/config-store", "keystore_file" : "/opt/software/certificates/ssl_cert.pfx", - "keystore_password" : "change.it" + "keystore_password" : "change.it", + "system_properties": { + "WebSocketContextURL":"https://domain.com:6143/arcgis", + "WebContextURL":"https://domain.com:6443/arcgis" + } }, "geoevent": { "authorization_file": "/opt/software/authorization_files/10.9/geoevent_server.prvc" diff --git a/templates/arcgis-geoevent-server/10.9.1/windows/geoevent-server-patches-apply.json b/templates/arcgis-geoevent-server/10.9.1/windows/geoevent-server-patches-apply.json new file mode 100644 index 0000000..fa912d6 --- /dev/null +++ b/templates/arcgis-geoevent-server/10.9.1/windows/geoevent-server-patches-apply.json @@ -0,0 +1,29 @@ +{ + "arcgis": { + "version": "10.9.1", + "run_as_user": "arcgis", + "repository": { + "patches": "C:\\Software\\Archives\\Patches" + }, + "server": { + "patches": [ + "ArcGIS-1091-S-SP-Patch.msp", + "ArcGIS-1091-S-MR-PatchB.msp", + "ArcGIS-1091-S-Log4j-PatchB.msp", + "ArcGIS-1091-S-UNDM1-Patch.msp", + "ArcGIS-1091-S-VRPG-Patch.msp", + "ArcGIS-1091-S-K1-Patch.msp", + "ArcGIS-1091-S-SQ-Patch.msp" + ] + }, + "geoevent": { + "patches": [ + "GeoEvent_10_9_1_Patch1.msp" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]", + "recipe[arcgis-geoevent::install_patches]" + ] +} diff --git a/templates/arcgis-geoevent-server/10.9.1/windows/geoevent-server-patches.json b/templates/arcgis-geoevent-server/10.9.1/windows/geoevent-server-patches.json new file mode 100644 index 0000000..ca8a476 --- /dev/null +++ b/templates/arcgis-geoevent-server/10.9.1/windows/geoevent-server-patches.json @@ -0,0 +1,17 @@ +{ + "arcgis": { + "version": "10.9.1", + "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/10.9.1/windows/geoevent-server.json b/templates/arcgis-geoevent-server/10.9.1/windows/geoevent-server.json index cd4409a..75b510e 100644 --- a/templates/arcgis-geoevent-server/10.9.1/windows/geoevent-server.json +++ b/templates/arcgis-geoevent-server/10.9.1/windows/geoevent-server.json @@ -20,7 +20,11 @@ "config_store_type": "FILESYSTEM", "config_store_connection_string": "\\\\FILESERVER\\arcgisserver\\config-store", "keystore_file" : "C:\\Software\\Certificates\\ssl_cert.pfx", - "keystore_password" : "change.it" + "keystore_password" : "change.it", + "system_properties": { + "WebSocketContextURL":"https://domain.com:6143/arcgis", + "WebContextURL":"https://domain.com:6443/arcgis" + } }, "python": { "install_dir": "C:\\Python27" diff --git a/templates/arcgis-geoevent-server/10.9/README.md b/templates/arcgis-geoevent-server/10.9/README.md index 75da237..9fb5b29 100644 --- a/templates/arcgis-geoevent-server/10.9/README.md +++ b/templates/arcgis-geoevent-server/10.9/README.md @@ -27,7 +27,6 @@ Consult the ArcGIS GeoEvent Server 10.9 system requirements documentation for th * Red Hat Enterprise Linux Server 7 * Red Hat Enterprise Linux Server 8 * CentOS Linux 7 - * CentOS Linux 8 For Linux deployments enable running sudo without password for the user running the Chef client. @@ -138,6 +137,8 @@ Required attributes changes: * arcgis.server.config_store_connection_string - Replace 'FILESERVER' by 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 installed at 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-webadaptor diff --git a/templates/arcgis-geoevent-server/10.9/linux/geoevent-server.json b/templates/arcgis-geoevent-server/10.9/linux/geoevent-server.json index fae8096..de454e4 100644 --- a/templates/arcgis-geoevent-server/10.9/linux/geoevent-server.json +++ b/templates/arcgis-geoevent-server/10.9/linux/geoevent-server.json @@ -18,7 +18,11 @@ "config_store_type": "FILESYSTEM", "config_store_connection_string": "/net/FILESERVER/gisdata/arcgisserver/config-store", "keystore_file" : "/opt/software/certificates/ssl_cert.pfx", - "keystore_password" : "change.it" + "keystore_password" : "change.it", + "system_properties": { + "WebSocketContextURL":"https://domain.com:6143/arcgis", + "WebContextURL":"https://domain.com:6443/arcgis" + } }, "geoevent": { "authorization_file": "/opt/software/authorization_files/10.9/geoevent_server.prvc" diff --git a/templates/arcgis-geoevent-server/10.9/windows/geoevent-server.json b/templates/arcgis-geoevent-server/10.9/windows/geoevent-server.json index 0711a98..046934e 100644 --- a/templates/arcgis-geoevent-server/10.9/windows/geoevent-server.json +++ b/templates/arcgis-geoevent-server/10.9/windows/geoevent-server.json @@ -20,7 +20,11 @@ "config_store_type": "FILESYSTEM", "config_store_connection_string": "\\\\FILESERVER\\arcgisserver\\config-store", "keystore_file" : "C:\\Software\\Certificates\\ssl_cert.pfx", - "keystore_password" : "change.it" + "keystore_password" : "change.it", + "system_properties": { + "WebSocketContextURL":"https://domain.com:6143/arcgis", + "WebContextURL":"https://domain.com:6443/arcgis" + } }, "python": { "install_dir": "C:\\Python27" diff --git a/templates/arcgis-geoevent-server/11.0/README.md b/templates/arcgis-geoevent-server/11.0/README.md new file mode 100644 index 0000000..122a901 --- /dev/null +++ b/templates/arcgis-geoevent-server/11.0/README.md @@ -0,0 +1,268 @@ +--- +layout: default +title: "arcgis-geoevent-server template" +category: templates +item: arcgis-geoevent-server +version: 11.0 +latest: true +--- + +# arcgis-geoevent-server Deployment Template + +Creates an ArcGIS GeoEvent Server deployment. + +## System Requirements + +Consult the ArcGIS GeoEvent Server 11.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.0.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_110_182914.exe +* ArcGIS_Server_Windows_110_182874.exe + +Linux + +* ArcGIS_GeoEvent_Server_110_183031.tar.gz +* ArcGIS_Server_Linux_110_182973.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.0 version, you will need: + +* ArcGIS Server 11.0 setup archive, +* ArcGIS GeoEvent Server 11.0 setup archive, +* ArcGIS Web Adaptor 11.0 setup archive, if Web Adaptors were installed in the initial deployment, +* ArcGIS Server 11.0 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.0 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 or 10.9.1 + +Upgrading ArcGIS Server deployments from 10.9 or 10.9.1 to 11.0 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 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.0. + +1. Unregister 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-unregister.json` file of the 11.0 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 or 10.9.1 arcgis-geoevent-server template to the `geoevent-server.json` file of the 11.0 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.0 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 role requires AWS Tools for PowerShell to be installed on Windows machines and AWS Command Line Interface on Linux machines. + +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. diff --git a/templates/arcgis-geoevent-server/11.0/linux/geoevent-server-files.json b/templates/arcgis-geoevent-server/11.0/linux/geoevent-server-files.json new file mode 100644 index 0000000..4d1bd4b --- /dev/null +++ b/templates/arcgis-geoevent-server/11.0/linux/geoevent-server-files.json @@ -0,0 +1,24 @@ +{ + "arcgis": { + "repository": { + "local_archives": "/opt/software/archives", + "shared": false, + "server": { + "username": "changeit", + "password": "changeit" + }, + "files": { + "ArcGIS_GeoEvent_Server_110_183031.tar.gz": { + "subfolder": "software/arcgis/11.0" + }, + "ArcGIS_Server_Linux_110_182973.tar.gz": { + "subfolder": "software/arcgis/11.0" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-geoevent-server/11.0/linux/geoevent-server-fileserver.json b/templates/arcgis-geoevent-server/11.0/linux/geoevent-server-fileserver.json new file mode 100644 index 0000000..ed5b06e --- /dev/null +++ b/templates/arcgis-geoevent-server/11.0/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.0/linux/geoevent-server-install.json b/templates/arcgis-geoevent-server/11.0/linux/geoevent-server-install.json new file mode 100644 index 0000000..ef4467d --- /dev/null +++ b/templates/arcgis-geoevent-server/11.0/linux/geoevent-server-install.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "run_as_user": "arcgis", + "version": "11.0", + "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.0/linux/geoevent-server-patches-apply.json b/templates/arcgis-geoevent-server/11.0/linux/geoevent-server-patches-apply.json new file mode 100644 index 0000000..b5dcc62 --- /dev/null +++ b/templates/arcgis-geoevent-server/11.0/linux/geoevent-server-patches-apply.json @@ -0,0 +1,26 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "repository": { + "patches": "/opt/software/archives/patches" + }, + "server": { + "install_dir": "/opt", + "patches": [ + "ArcGIS-110-S-*.tar", + "ArcGIS-110-S-*.tar.gz" + ] + }, + "geoevent": { + "patches": [ + "GeoEvent-11.0-*.tar", + "GeoEvent-11.0-*.tar.gz" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]", + "recipe[arcgis-geoevent::install_patches]" + ] +} diff --git a/templates/arcgis-geoevent-server/11.0/linux/geoevent-server-patches.json b/templates/arcgis-geoevent-server/11.0/linux/geoevent-server-patches.json new file mode 100644 index 0000000..b42fc8a --- /dev/null +++ b/templates/arcgis-geoevent-server/11.0/linux/geoevent-server-patches.json @@ -0,0 +1,17 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/linux/geoevent-server-s3files.json b/templates/arcgis-geoevent-server/11.0/linux/geoevent-server-s3files.json new file mode 100644 index 0000000..bc42bd0 --- /dev/null +++ b/templates/arcgis-geoevent-server/11.0/linux/geoevent-server-s3files.json @@ -0,0 +1,25 @@ +{ + "arcgis": { + "version": "11.0", + "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_110_183031.tar.gz": { + "subfolder": "11.0/setups" + }, + "ArcGIS_Server_Linux_110_182973.tar.gz": { + "subfolder": "11.0/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-geoevent-server/11.0/linux/geoevent-server.json b/templates/arcgis-geoevent-server/11.0/linux/geoevent-server.json new file mode 100644 index 0000000..e81b367 --- /dev/null +++ b/templates/arcgis-geoevent-server/11.0/linux/geoevent-server.json @@ -0,0 +1,37 @@ +{ + "arcgis": { + "run_as_user": "arcgis", + "version": "11.0", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "install_dir": "/opt", + "install_system_requirements": true, + "admin_username": "siteadmin", + "admin_password": "change.it", + "authorization_file": "/opt/software/authorization_files/11.0/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" : "change.it", + "system_properties": { + "WebSocketContextURL":"https://domain.com:6143/arcgis", + "WebContextURL":"https://domain.com:6443/arcgis" + } + }, + "geoevent": { + "setup_options": "/userbackupconfigfiles yes", + "authorization_file": "/opt/software/authorization_files/11.0/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.0/windows/geoevent-server-files.json b/templates/arcgis-geoevent-server/11.0/windows/geoevent-server-files.json new file mode 100644 index 0000000..9e97186 --- /dev/null +++ b/templates/arcgis-geoevent-server/11.0/windows/geoevent-server-files.json @@ -0,0 +1,24 @@ +{ + "arcgis": { + "repository": { + "local_archives": "C:\\Software\\Archives", + "shared": false, + "server": { + "username": "changeit", + "password": "changeit" + }, + "files": { + "ArcGIS_Server_Windows_110_182874.exe": { + "subfolder": "software/arcgis/11.0" + }, + "ArcGIS_GeoEvent_Server_110_182914.exe": { + "subfolder": "software/arcgis/11.0" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-geoevent-server/11.0/windows/geoevent-server-fileserver.json b/templates/arcgis-geoevent-server/11.0/windows/geoevent-server-fileserver.json new file mode 100644 index 0000000..da1323f --- /dev/null +++ b/templates/arcgis-geoevent-server/11.0/windows/geoevent-server-fileserver.json @@ -0,0 +1,20 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "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.0/windows/geoevent-server-install.json b/templates/arcgis-geoevent-server/11.0/windows/geoevent-server-install.json new file mode 100644 index 0000000..7d80397 --- /dev/null +++ b/templates/arcgis-geoevent-server/11.0/windows/geoevent-server-install.json @@ -0,0 +1,24 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "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.0/windows/geoevent-server-patches-apply.json b/templates/arcgis-geoevent-server/11.0/windows/geoevent-server-patches-apply.json new file mode 100644 index 0000000..658182e --- /dev/null +++ b/templates/arcgis-geoevent-server/11.0/windows/geoevent-server-patches-apply.json @@ -0,0 +1,23 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "repository": { + "patches": "C:\\Software\\Archives\\Patches" + }, + "server": { + "patches": [ + "ArcGIS-110-S-*.msp" + ] + }, + "geoevent": { + "patches": [ + "GeoEvent_11_0_*.msp" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]", + "recipe[arcgis-geoevent::install_patches]" + ] +} diff --git a/templates/arcgis-geoevent-server/11.0/windows/geoevent-server-patches.json b/templates/arcgis-geoevent-server/11.0/windows/geoevent-server-patches.json new file mode 100644 index 0000000..3b8b1fa --- /dev/null +++ b/templates/arcgis-geoevent-server/11.0/windows/geoevent-server-patches.json @@ -0,0 +1,17 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/windows/geoevent-server-reset.json b/templates/arcgis-geoevent-server/11.0/windows/geoevent-server-reset.json new file mode 100644 index 0000000..c9c6b8d --- /dev/null +++ b/templates/arcgis-geoevent-server/11.0/windows/geoevent-server-reset.json @@ -0,0 +1,12 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/windows/geoevent-server-s3files.json b/templates/arcgis-geoevent-server/11.0/windows/geoevent-server-s3files.json new file mode 100644 index 0000000..9e7f44b --- /dev/null +++ b/templates/arcgis-geoevent-server/11.0/windows/geoevent-server-s3files.json @@ -0,0 +1,25 @@ +{ + "arcgis": { + "version": "11.0", + "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_110_182874.exe": { + "subfolder": "11.0/setups" + }, + "ArcGIS_GeoEvent_Server_110_182914.exe": { + "subfolder": "11.0/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-geoevent-server/11.0/windows/geoevent-server.json b/templates/arcgis-geoevent-server/11.0/windows/geoevent-server.json new file mode 100644 index 0000000..d67a153 --- /dev/null +++ b/templates/arcgis-geoevent-server/11.0/windows/geoevent-server.json @@ -0,0 +1,40 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "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": "siteadmin", + "admin_password": "change.it", + "authorization_file": "C:\\Software\\AuthorizationFiles\\11.0\\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" : "change.it", + "system_properties": { + "WebSocketContextURL":"https://domain.com:6143/arcgis", + "WebContextURL":"https://domain.com:6443/arcgis" + } + }, + "geoevent": { + "setup_options": "USERBACKUPCONFIGFILES=YES", + "authorization_file": "C:\\Software\\AuthorizationFiles\\11.0\\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/2021.0/README.md b/templates/arcgis-license-manager/2021.0/README.md index b6f092e..469418e 100644 --- a/templates/arcgis-license-manager/2021.0/README.md +++ b/templates/arcgis-license-manager/2021.0/README.md @@ -1,3 +1,12 @@ +--- +layout: default +title: "arcgis-license-manager template" +category: templates +item: arcgis-license-manager +version: 2021.0 +latest: false +--- + # arcgis-license-manager Deployment Template The template contains Chef Zero JSON files with sample recipes and attributes for ArcGIS License Manager machine roles. @@ -26,7 +35,7 @@ Consult the ArcGIS License Manager 2021.0 system requirements documentation for * 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. +For Linux deployments, enable running sudo without password for the user running the Chef client. ### Required ArcGIS Software Repository Content @@ -40,20 +49,20 @@ Linux * ArcGIS_License_Manager_Linux_2021.0_177950.tar.gz -> ArcGIS software repository directory is specified by 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. +> 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 arcgis.repository.setups attribute has enough space for setups extracted from the setup archives. +> 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 recommended initial deployment workflow for the template machine roles: +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 Chef client on machines as administrator/superuser using the json files specific to the machine roles (one machine can be used in multiple roles). +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. +> For additional customization options, see the list of supported attributes described in the arcgis-enterprise cookbook README file. ### License Manager Machine @@ -61,12 +70,6 @@ The recommended initial deployment workflow for the template machine roles: chef-client -z -j arcgis-license-manager-install.json ``` -## Upgrade Workflow - -> It's not recommended to use the templates for upgrades if the sites were not initially deployed using the templates. - -This is the first release of arcgis-license-manager deployment template. The recommended upgrade workflow for this template will be provided in the subsequent releases. - ## 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. @@ -75,6 +78,6 @@ The JSON files included in the template provide recipes for the deployment machi Installs ArcGIS License Manager. -Required attributes changes: +Required attribute changes: * arcgis.run_as_user - (Linux) user account used to run the setup diff --git a/templates/arcgis-license-manager/2021.1/README.md b/templates/arcgis-license-manager/2021.1/README.md index 0dcfa71..3920e7d 100644 --- a/templates/arcgis-license-manager/2021.1/README.md +++ b/templates/arcgis-license-manager/2021.1/README.md @@ -1,3 +1,12 @@ +--- +layout: default +title: "arcgis-license-manager template" +category: templates +item: arcgis-license-manager +version: 2021.1 +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. @@ -26,7 +35,7 @@ Consult the ArcGIS License Manager 2021.1 system requirements documentation for * 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. +For Linux deployments, enable running sudo without password for the user running the Chef client. ### Required ArcGIS Software Repository Content @@ -40,20 +49,20 @@ Linux * ArcGIS_License_Manager_Linux_2021_1_180145.tar.gz -> ArcGIS software repository directory is specified by 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. +> 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 arcgis.repository.setups attribute has enough space for setups extracted from the setup archives. +> 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 recommended initial deployment workflow for the template machine roles: +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 Chef client on machines as administrator/superuser using the json files specific to the machine roles (one machine can be used in multiple roles). +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. +> For additional customization options, see the list of supported attributes described in the arcgis-enterprise cookbook README file. ### License Manager Machine @@ -61,12 +70,6 @@ The recommended initial deployment workflow for the template machine roles: chef-client -z -j arcgis-license-manager-install.json ``` -## Upgrade Workflow - -> It's not recommended to use the templates for upgrades if the sites were not initially deployed using the templates. - -This is the first release of arcgis-license-manager deployment template. The recommended upgrade workflow for this template will be provided in the subsequent releases. - ## 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. @@ -75,6 +78,6 @@ The JSON files included in the template provide recipes for the deployment machi Installs ArcGIS License Manager. -Required attributes changes: +Required attribute changes: * arcgis.run_as_user - (Linux) user account used to run the setup diff --git a/templates/arcgis-license-manager/2022.0/README.md b/templates/arcgis-license-manager/2022.0/README.md new file mode 100644 index 0000000..a579d64 --- /dev/null +++ b/templates/arcgis-license-manager/2022.0/README.md @@ -0,0 +1,83 @@ +--- +layout: default +title: "arcgis-license-manager template" +category: templates +item: arcgis-license-manager +version: 2022.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.0.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_2022_0_182116.exe + +Linux + +* ArcGIS_License_Manager_Linux_2022_0_182145.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/2022.0/linux/arcgis-license-manager-install.json b/templates/arcgis-license-manager/2022.0/linux/arcgis-license-manager-install.json new file mode 100644 index 0000000..f82954f --- /dev/null +++ b/templates/arcgis-license-manager/2022.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": "2022.0", + "install_dir": "/" + } + }, + "run_list": [ + "recipe[arcgis-desktop::licensemanager]" + ] +} diff --git a/templates/arcgis-license-manager/2022.0/windows/arcgis-license-manager-install.json b/templates/arcgis-license-manager/2022.0/windows/arcgis-license-manager-install.json new file mode 100644 index 0000000..fae9376 --- /dev/null +++ b/templates/arcgis-license-manager/2022.0/windows/arcgis-license-manager-install.json @@ -0,0 +1,15 @@ +{ + "arcgis": { + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "licensemanager": { + "version": "2022.0", + "install_dir": "C:\\Program Files\\ArcGIS" + } + }, + "run_list": [ + "recipe[arcgis-desktop::licensemanager]" + ] +} diff --git a/templates/arcgis-mission-server/10.9.1/README.md b/templates/arcgis-mission-server/10.9.1/README.md index d5c8749..0013af0 100644 --- a/templates/arcgis-mission-server/10.9.1/README.md +++ b/templates/arcgis-mission-server/10.9.1/README.md @@ -1,10 +1,19 @@ +--- +layout: default +title: "arcgis-mission-server template" +category: templates +item: arcgis-mission-server +version: 10.9.1 +latest: false +--- + # 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 10.9 system requirements documentation for the required/recommended hardware specification. +Consult the ArcGIS Mission Server 10.9.1 system requirements documentation for the required/recommended hardware specification. ### Recommended Chef Client Versions @@ -27,9 +36,8 @@ Consult the ArcGIS Mission Server 10.9 system requirements documentation for the * Red Hat Enterprise Linux Server 7 * Red Hat Enterprise Linux Server 8 * CentOS Linux 7 - * CentOS Linux 8 -Enable running sudo without password for the user running the Chef client. +On Linux, enable running sudo without password for the user running the Chef client. ### Required ArcGIS Software Repository Content @@ -43,20 +51,20 @@ Linux * ArcGIS_Mission_Server_Linux_1091_180227.tar.gz -> ArcGIS software repository directory is specified by 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. +> 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 arcgis.repository.setups attribute has enough space for setups extracted from the setup archives. +> 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 recommended initial deployment workflow for the template machine roles: +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 Chef client on machines as administrator/superuser using the json files specific to the machine roles (one machine can be used in multiple roles). +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-mission cookbook README file. +> For additional customization options, see the list of supported attributes described in the arcgis-mission cookbook README file. ### File Server Machine @@ -76,7 +84,7 @@ chef-client -z -j mission-server.json chef-client -z -j mission-server-node.json ``` -After all the server machines are configured federate ArcGIS Mission Server with Portal for ArcGIS. +After all the Mission Server machines are configured, federate ArcGIS Mission Server with Portal for ArcGIS. ``` chef-client -z -j mission-server-federation.json @@ -84,13 +92,27 @@ chef-client -z -j mission-server-federation.json ### ArcGIS Web Adaptor Machine -If ArcGIS Web Adaptor is required, use arcgis-webadaptor deployment template to install and configure it. +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 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 for upgrades if the sites were not initially deployed using the templates. +> It's not recommended to use the templates to upgrade if the sites were not initially deployed using the templates. -To upgrade ArcGIS Mission Server deployed using arcgis-mission-server deployment template to 10.9.1 version you will need: +To upgrade an ArcGIS Mission Server site deployed using the arcgis-mission-server deployment template to the 10.9.1 version, you will need: * ArcGIS Mission Server 10.9.1 setup archive, * ArcGIS Web Adaptor 10.9.1 setup archive, if Web Adaptors were installed in the initial deployment, @@ -99,25 +121,25 @@ To upgrade ArcGIS Mission Server deployed using arcgis-mission-server deployment ### General Upgrade Notes -Upgrade of ArcGIS Mission Server deployment may take several hours, during that time the server will be unavailable to the users. +Upgrading an ArcGIS Mission Server deployment may take several hours. During that time, the server 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. +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 JSONs files must match the actual deployment configuration. To make upgrade JSON files, update the 10.9.1 template JSON files by copying the attribute values from the JSON files used for the initial deployment or the last upgrade. +The attributes defined in the upgrade JSON files must match the actual deployment configuration. To make upgrade JSON files, update the 10.9.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 just in the value of arcgis.version attribute. In those cases the easiest way to make the upgrade JSON files is just to change 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. +> 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. -Tool copy_attributes.rb 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 templates/tools directory in the ArcGIS cookbooks archive. To execute copy_attributes.rb use chef-apply command that comes with Chef/Cinc Client. +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 executing the tool, update the destination JSON file attributes specific to the new JSON file template and attributes specific to the new ArcGIS Mission Server version, such as software authorization files. +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 Enterprise software, upgrade the configuration management subsystem components: +On each deployment machine, before upgrading the ArcGIS software, upgrade the configuration management subsystem components: -1. Backup the original JSON files used for the initial deployment or the last upgrade into a local directory. +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. @@ -126,11 +148,11 @@ On each deployment machine, before upgrading the ArcGIS Enterprise software, upg Upgrading ArcGIS Mission Server deployments to 10.9.1 requires upgrading all ArcGIS Mission Server machines. -> Note that in 10.9.1 ArcGIS Web Adaptor is installed using new arcgis-webadaptor deployment template. +> Note that in 10.9.1, ArcGIS Web Adaptor is installed using the new arcgis-webadaptor deployment template. -1. Upgrade first ArcGIS Mission Server machine +1. Upgrade the first ArcGIS Mission Server machine. - Copy attributes from the original `mission-server-primary.json` JSON file created from 10.8/10.8.1 arcgis-mission-server template to `mission-server.json` of 10.9.1 arcgis-mission-server template. + 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 10.9.1 arcgis-mission-server template. ```shell chef-apply ./templates/tools/copy_attributes.rb /mission-server-primary.json /mission-server.json @@ -138,15 +160,15 @@ Upgrading ArcGIS Mission Server deployments to 10.9.1 requires upgrading all Arc Verify that attributes are correct in `mission-server.json`. - On the ArcGIS Mission Server machine execute the following command: + On the ArcGIS Mission Server machine, run the following command: ```shell chef-client -z -j /mission-server.json ``` -2. Upgrade ArcGIS Mission Server Web Adaptor +2. Upgrade ArcGIS Web Adaptor used with the ArcGIS Mission Server site. - Copy attributes from the original `mission-server-primary.json` JSON file created from 10.8/10.8.1 arcgis-mission-server template to `arcgis-mission-server-webadaptor.json` of 10.9.1 arcgis-webadaptor template. + 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 10.9.1 arcgis-webadaptor template. ```shell chef-apply ./templates/tools/copy_attributes.rb /mission-server-primary.json /arcgis-mission-server-webadaptor.json @@ -154,7 +176,7 @@ Upgrading ArcGIS Mission Server deployments to 10.9.1 requires upgrading all Arc Verify that attributes are correct in `arcgis-mission-server-webadaptor.json`. - Execute the following command on the ArcGIS Mission Server machine to upgrade ArcGIS Web Adaptor: + Run the following command on the ArcGIS Mission Server Web Adaptor machine to upgrade ArcGIS Web Adaptor: ```shell chef-client -z -j /arcgis-mission-server-webadaptor.json @@ -164,11 +186,11 @@ Upgrading ArcGIS Mission Server deployments to 10.9.1 requires upgrading all Arc Upgrading ArcGIS Mission Server deployments from 10.9 to 10.9.1 requires upgrading all ArcGIS Mission Server machines. The file server machine does not require any changes. -> Note that in 10.9.1 ArcGIS Web Adaptor is installed using new arcgis-webadaptor deployment template. +> Note that in 10.9.1, ArcGIS Web Adaptor is installed using the new arcgis-webadaptor deployment template. -1. Upgrade first ArcGIS Mission Server machine +1. Upgrade the first ArcGIS Mission Server machine. - Copy attributes from the original `mission-server.json` JSON file created from 10.9 arcgis-mission-server template to `mission-server.json` of 10.9.1 arcgis-mission-server template. + Copy attributes from the original `mission-server.json` JSON file created from the 10.9 arcgis-mission-server template to the `mission-server.json` file of the 10.9.1 arcgis-mission-server template. ```shell chef-apply ./templates/tools/copy_attributes.rb /mission-server.json /mission-server.json @@ -176,15 +198,15 @@ Upgrading ArcGIS Mission Server deployments from 10.9 to 10.9.1 requires upgradi Verify that attributes are correct in `mission-server.json`. - On the first ArcGIS Server machine execute the following command: + 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 +2. Upgrade additional ArcGIS Mission Server machines. - Copy attributes from the original `mission-server-node.json` JSON file created from 10.9 arcgis-mission-server template to `mission-server-node.json` of 10.9.1 arcgis-mission-server template. + Copy attributes from the original `mission-server-node.json` JSON file created from the 10.9 arcgis-mission-server template to the `mission-server-node.json` file of the 10.9.1 arcgis-mission-server template. ```shell chef-apply ./templates/tools/copy_attributes.rb /mission-server-node.json /mission-server-node.json @@ -192,15 +214,15 @@ Upgrading ArcGIS Mission Server deployments from 10.9 to 10.9.1 requires upgradi Verify that attributes are correct in `mission-server-node.json`. - On each additional ArcGIS Mission Server machine execute the following command to upgrade ArcGIS Mission Server: + 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 Mission Server Web Adaptors +3. Upgrade ArcGIS Web Adaptor used with the ArcGIS Mission Server site. - Copy attributes from the original `mission-server-webadaptor.json` JSON file created from 10.9 arcgis-mission-server template to `arcgis-mission-server-webadaptor.json` of 10.9.1 arcgis-webadaptor template. + Copy attributes from the original `mission-server-webadaptor.json` JSON file created from the 10.9 arcgis-mission-server template to the `arcgis-mission-server-webadaptor.json` file of the 10.9.1 arcgis-webadaptor template. ```shell chef-apply ./templates/tools/copy_attributes.rb /mission-server-webadaptor.json /arcgis-mission-server-webadaptor.json @@ -208,7 +230,7 @@ Upgrading ArcGIS Mission Server deployments from 10.9 to 10.9.1 requires upgradi Verify that attributes are correct in `arcgis-mission-server-webadaptor.json`. - On each ArcGIS Mission Server Web Adaptor machine execute the following command to upgrade ArcGIS Web Adaptor: + 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 @@ -220,40 +242,48 @@ The JSON files included in the template provide recipes for the deployment machi ### mission-server-fileserver -Installs NFS and configures shares for ArcGIS Mission Server config store and server directories. +Installs NFS and configures shares for the ArcGIS Mission Server configuration store and server directories. -Required attributes changes: +Required attribute changes: -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +* 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 attributes changes: +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 -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +Applies ArcGIS Mission Server patches. ### mission-server -Installs ArcGIS Mission Server, authorizes the software, and creates site. +Installs ArcGIS Mission Server, authorizes the software, and creates the site. -Required attributes changes: +Required attribute changes: -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +* 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' by the file server machine hostname or static IP address. -* arcgis.mission_server.config_store_connection_string - Replace 'FILESERVER' by the file server machine hostname or static IP address. +* 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 existing site. +Installs ArcGIS Mission Server, authorizes the software, and joins the machine to the existing site. -Required attributes changes: +Required attribute changes: -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +* 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. @@ -261,25 +291,25 @@ Required attributes changes: ### mission-server-unregister-machine -* Unregisters the machine form ArcGIS Mission Server site. +* Unregisters the machine from the ArcGIS Mission Server site. ### mission-server-federation -* Federates ArcGIS Mission Server with Portal for ArcGIS and enables MissionServer role. +* Federates ArcGIS Mission Server with Portal for ArcGIS and enables the MissionServer role. -Required attributes changes: +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 be used as the services URL during federation.. +* arcgis.mission_server.web_context_url - Specify ArcGIS Server Web Context URL that 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-s3files -The role downloads ArcGIS Mission Server setups archives from S3 bucket specified by arcgis.repository.server.s3bucket attribute to the local ArcGIS software repository. +The role downloads ArcGIS Mission Server setup archives from the S3 bucket specified by the arcgis.repository.server.s3bucket attribute to the local ArcGIS software repository. The role requires AWS Tools for PowerShell to be installed on Windows machines and AWS Command Line Interface on Linux machines. diff --git a/templates/arcgis-mission-server/10.9.1/linux/mission-server-patches-apply.json b/templates/arcgis-mission-server/10.9.1/linux/mission-server-patches-apply.json new file mode 100644 index 0000000..7c540cf --- /dev/null +++ b/templates/arcgis-mission-server/10.9.1/linux/mission-server-patches-apply.json @@ -0,0 +1,14 @@ +{ + "arcgis": { + "run_as_user": "arcgis", + "repository": { + "patches": "/opt/software/archives/patches" + }, + "mission_server": { + "patches": [] + } + }, + "run_list": [ + "recipe[arcgis-mission::install_patches]" + ] +} diff --git a/templates/arcgis-mission-server/10.9.1/linux/mission-server-patches.json b/templates/arcgis-mission-server/10.9.1/linux/mission-server-patches.json new file mode 100644 index 0000000..70b7737 --- /dev/null +++ b/templates/arcgis-mission-server/10.9.1/linux/mission-server-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "10.9.1", + "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/10.9.1/windows/mission-server-patches-apply.json b/templates/arcgis-mission-server/10.9.1/windows/mission-server-patches-apply.json new file mode 100644 index 0000000..482feaa --- /dev/null +++ b/templates/arcgis-mission-server/10.9.1/windows/mission-server-patches-apply.json @@ -0,0 +1,14 @@ +{ + "arcgis": { + "run_as_user": "arcgis", + "repository": { + "patches": "C:\\Software\\Archives\\Patches" + }, + "mission_server": { + "patches": [] + } + }, + "run_list": [ + "recipe[arcgis-mission::install_patches]" + ] +} diff --git a/templates/arcgis-mission-server/10.9.1/windows/mission-server-patches.json b/templates/arcgis-mission-server/10.9.1/windows/mission-server-patches.json new file mode 100644 index 0000000..3ee43c8 --- /dev/null +++ b/templates/arcgis-mission-server/10.9.1/windows/mission-server-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "10.9.1", + "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/10.9/README.md b/templates/arcgis-mission-server/10.9/README.md index b2475b4..f304352 100644 --- a/templates/arcgis-mission-server/10.9/README.md +++ b/templates/arcgis-mission-server/10.9/README.md @@ -26,7 +26,6 @@ Consult the ArcGIS Mission Server 10.9 system requirements documentation for the * Red Hat Enterprise Linux Server 7 * Red Hat Enterprise Linux Server 8 * CentOS Linux 7 - * CentOS Linux 8 Enable running sudo without password for the user running the Chef client. diff --git a/templates/arcgis-mission-server/11.0/README.md b/templates/arcgis-mission-server/11.0/README.md new file mode 100644 index 0000000..f425b46 --- /dev/null +++ b/templates/arcgis-mission-server/11.0/README.md @@ -0,0 +1,328 @@ +--- +layout: default +title: "arcgis-mission-server template" +category: templates +item: arcgis-mission-server +version: 11.0 +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.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.0.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_110_182935.exe + +Linux + +* ArcGIS_Mission_Server_Linux_110_183045.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.0 version, you will need: + +* ArcGIS Mission Server 11.0 setup archive, +* ArcGIS Web Adaptor 11.0 setup archive, if Web Adaptors were installed in the initial deployment, +* ArcGIS Mission Server 11.0 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.0 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.0 requires upgrading all ArcGIS Mission Server machines. + +> Note that in 11.0, 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.0 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.0 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 or 10.9.1 + +Upgrading ArcGIS Mission Server deployments from 10.9 or 10.9.1 to 11.0 requires upgrading all ArcGIS Mission Server machines. The file server machine does not require any changes. + +> Note that in 11.0, 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.json` JSON file created from the 10.9 or 10.9.1 arcgis-mission-server template to the `mission-server.json` file of the 11.0 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 or 10.9.1 arcgis-mission-server template to the `mission-server-node.json` file of the 11.0 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 or 10.9.1 arcgis-mission-server template to the `arcgis-mission-server-webadaptor.json` file of the 11.0 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 role requires AWS Tools for PowerShell to be installed on Windows machines and AWS Command Line Interface on Linux machines. + +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.0/linux/mission-server-federation.json b/templates/arcgis-mission-server/11.0/linux/mission-server-federation.json new file mode 100644 index 0000000..ab34c10 --- /dev/null +++ b/templates/arcgis-mission-server/11.0/linux/mission-server-federation.json @@ -0,0 +1,20 @@ +{ + "arcgis": { + "portal": { + "private_url": "https://portal.domain.com/portal", + "admin_username": "portaladmin", + "admin_password": "change.it", + "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": "siteadmin", + "admin_password": "change.it" + } + }, + "run_list": [ + "recipe[arcgis-mission::federation]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-mission-server/11.0/linux/mission-server-files.json b/templates/arcgis-mission-server/11.0/linux/mission-server-files.json new file mode 100644 index 0000000..4e338c0 --- /dev/null +++ b/templates/arcgis-mission-server/11.0/linux/mission-server-files.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "repository": { + "local_archives": "/opt/software/archives", + "shared": false, + "server": { + "username": "changeit", + "password": "changeit" + }, + "files": { + "ArcGIS_Mission_Server_Linux_110_183045.tar.gz": { + "subfolder": "software/arcgis/11.0" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-mission-server/11.0/linux/mission-server-fileserver.json b/templates/arcgis-mission-server/11.0/linux/mission-server-fileserver.json new file mode 100644 index 0000000..e568a1b --- /dev/null +++ b/templates/arcgis-mission-server/11.0/linux/mission-server-fileserver.json @@ -0,0 +1,19 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/linux/mission-server-install.json b/templates/arcgis-mission-server/11.0/linux/mission-server-install.json new file mode 100644 index 0000000..c47b376 --- /dev/null +++ b/templates/arcgis-mission-server/11.0/linux/mission-server-install.json @@ -0,0 +1,19 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/linux/mission-server-node.json b/templates/arcgis-mission-server/11.0/linux/mission-server-node.json new file mode 100644 index 0000000..a277c67 --- /dev/null +++ b/templates/arcgis-mission-server/11.0/linux/mission-server-node.json @@ -0,0 +1,24 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/mission_server.prvc", + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/linux/mission-server-patches-apply.json b/templates/arcgis-mission-server/11.0/linux/mission-server-patches-apply.json new file mode 100644 index 0000000..0def8cb --- /dev/null +++ b/templates/arcgis-mission-server/11.0/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-110-MS-*.tar", + "ArcGIS-110-MS-*.tar.gz" + ] + } + }, + "run_list": [ + "recipe[arcgis-mission::install_patches]" + ] +} diff --git a/templates/arcgis-mission-server/11.0/linux/mission-server-patches.json b/templates/arcgis-mission-server/11.0/linux/mission-server-patches.json new file mode 100644 index 0000000..6784818 --- /dev/null +++ b/templates/arcgis-mission-server/11.0/linux/mission-server-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/linux/mission-server-s3files.json b/templates/arcgis-mission-server/11.0/linux/mission-server-s3files.json new file mode 100644 index 0000000..aa8d469 --- /dev/null +++ b/templates/arcgis-mission-server/11.0/linux/mission-server-s3files.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "version": "11.0", + "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_110_183045.tar.gz": { + "subfolder": "11.0/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-mission-server/11.0/linux/mission-server-unregister-machine.json b/templates/arcgis-mission-server/11.0/linux/mission-server-unregister-machine.json new file mode 100644 index 0000000..3af6a91 --- /dev/null +++ b/templates/arcgis-mission-server/11.0/linux/mission-server-unregister-machine.json @@ -0,0 +1,12 @@ +{ + "arcgis": { + "version": "11.0", + "mission_server": { + "admin_username": "siteadmin", + "admin_password": "change.it" + } + }, + "run_list": [ + "recipe[arcgis-mission::unregister_machine]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-mission-server/11.0/linux/mission-server.json b/templates/arcgis-mission-server/11.0/linux/mission-server.json new file mode 100644 index 0000000..7d10b43 --- /dev/null +++ b/templates/arcgis-mission-server/11.0/linux/mission-server.json @@ -0,0 +1,30 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/mission_server.prvc", + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/windows/mission-server-federation.json b/templates/arcgis-mission-server/11.0/windows/mission-server-federation.json new file mode 100644 index 0000000..ab34c10 --- /dev/null +++ b/templates/arcgis-mission-server/11.0/windows/mission-server-federation.json @@ -0,0 +1,20 @@ +{ + "arcgis": { + "portal": { + "private_url": "https://portal.domain.com/portal", + "admin_username": "portaladmin", + "admin_password": "change.it", + "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": "siteadmin", + "admin_password": "change.it" + } + }, + "run_list": [ + "recipe[arcgis-mission::federation]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-mission-server/11.0/windows/mission-server-files.json b/templates/arcgis-mission-server/11.0/windows/mission-server-files.json new file mode 100644 index 0000000..c50ea76 --- /dev/null +++ b/templates/arcgis-mission-server/11.0/windows/mission-server-files.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "repository": { + "local_archives": "C:\\Software\\Archives", + "shared": false, + "server": { + "username": "changeit", + "password": "changeit" + }, + "files": { + "ArcGIS_Mission_Server_Windows_110_182935.exe": { + "subfolder": "software/arcgis/11.0" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-mission-server/11.0/windows/mission-server-fileserver.json b/templates/arcgis-mission-server/11.0/windows/mission-server-fileserver.json new file mode 100644 index 0000000..eeb92ca --- /dev/null +++ b/templates/arcgis-mission-server/11.0/windows/mission-server-fileserver.json @@ -0,0 +1,20 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "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.0/windows/mission-server-install.json b/templates/arcgis-mission-server/11.0/windows/mission-server-install.json new file mode 100644 index 0000000..747c120 --- /dev/null +++ b/templates/arcgis-mission-server/11.0/windows/mission-server-install.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "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.0/windows/mission-server-node.json b/templates/arcgis-mission-server/11.0/windows/mission-server-node.json new file mode 100644 index 0000000..94ceb7e --- /dev/null +++ b/templates/arcgis-mission-server/11.0/windows/mission-server-node.json @@ -0,0 +1,27 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "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.0\\MissionServer.prvc", + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/windows/mission-server-patches-apply.json b/templates/arcgis-mission-server/11.0/windows/mission-server-patches-apply.json new file mode 100644 index 0000000..89cba2e --- /dev/null +++ b/templates/arcgis-mission-server/11.0/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-110-MS-*.msp" + ] + } + }, + "run_list": [ + "recipe[arcgis-mission::install_patches]" + ] +} diff --git a/templates/arcgis-mission-server/11.0/windows/mission-server-patches.json b/templates/arcgis-mission-server/11.0/windows/mission-server-patches.json new file mode 100644 index 0000000..0752464 --- /dev/null +++ b/templates/arcgis-mission-server/11.0/windows/mission-server-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/windows/mission-server-s3files.json b/templates/arcgis-mission-server/11.0/windows/mission-server-s3files.json new file mode 100644 index 0000000..e3ded4d --- /dev/null +++ b/templates/arcgis-mission-server/11.0/windows/mission-server-s3files.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "version": "11.0", + "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_110_182935.exe": { + "subfolder": "11.0/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-mission-server/11.0/windows/mission-server-unregister-machine.json b/templates/arcgis-mission-server/11.0/windows/mission-server-unregister-machine.json new file mode 100644 index 0000000..3af6a91 --- /dev/null +++ b/templates/arcgis-mission-server/11.0/windows/mission-server-unregister-machine.json @@ -0,0 +1,12 @@ +{ + "arcgis": { + "version": "11.0", + "mission_server": { + "admin_username": "siteadmin", + "admin_password": "change.it" + } + }, + "run_list": [ + "recipe[arcgis-mission::unregister_machine]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-mission-server/11.0/windows/mission-server.json b/templates/arcgis-mission-server/11.0/windows/mission-server.json new file mode 100644 index 0000000..7a4f11f --- /dev/null +++ b/templates/arcgis-mission-server/11.0/windows/mission-server.json @@ -0,0 +1,33 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "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.0\\MissionServer.prvc", + "admin_username": "siteadmin", + "admin_password": "change.it", + "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/10.7.1/README.md b/templates/arcgis-notebook-server/10.7.1/README.md deleted file mode 100644 index 613dcb1..0000000 --- a/templates/arcgis-notebook-server/10.7.1/README.md +++ /dev/null @@ -1,75 +0,0 @@ -# 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 - -Recommended Chef Client version: 14.4.56 - -Recommended ArcGIS Chef Cookbooks versions: - -* 3.5.0 - -Supported Platforms: - -* Ubuntu 18.04 - -## Machine Roles - -* notebook-server-primary -* notebook-server-node -* notebook-server-unregister-node -* notebook-server-federation -* notebook-server-s3files - -### notebook-server-primary - -* Installs OpenJDK and Tomcat web server -* Configures iptables to forward port 80 to 8080 and port 443 to 8443. -* Installs NFS and configures shares for ArcGIS Notebook Server config store and server directories. -* Installs the latest version of Docker. -* Installs ArcGIS Notebook Server -* Configures ArcGIS Notebook Server -* Installs and configures ArcGIS Web Adaptor for ArcGIS Notebook Server - -### notebook-server-node - -* Installs the latest version of Docker -* Installs ArcGIS Notebook Server -* Joins the machine to ArcGIS Notebook Server site on the primary machine - -### notebook-server-unregister-node - -* Unregisters the machine form ArcGIS Notebook Server site. - -### notebook-server-federation - -* Federates ArcGIS Notebook Server with Portal for ArcGIS and enables NotebookServer role. - -### notebook-server-s3files - -* Downloads ArcGIS Notebook Server setups files from S3 bucket to local ArcGIS software repository. - -## Usage - -* Download ArcGIS Notebook Server setups to a local ArcGIS software repository on each machine or, - if you have an AWS account, specify the AWS access key Id and secret access key in - notebook-server-s3files.json and download the setups from a global ArcGIS software repository in S3. - - ```shell - chef-client -z -F min --force-formatter --no-color -j notebook-server-s3files.json - ``` - -* Replace values of attributes in the role JSON files. -* Run chef zero on the primary machine: - - ```shell - chef-client -z -F min --force-formatter --no-color -j notebook-server-primary.json - ``` - -* wait until chef run completes -* Run chef zero on the nodes: - - ```shell - /opt/chef/bin/chef-client -z -F min --force-formatter --no-color -j notebook-server-node.json - ``` diff --git a/templates/arcgis-notebook-server/10.7.1/ubuntu/notebook-server-node.json b/templates/arcgis-notebook-server/10.7.1/ubuntu/notebook-server-node.json deleted file mode 100644 index 406537c..0000000 --- a/templates/arcgis-notebook-server/10.7.1/ubuntu/notebook-server-node.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "arcgis": { - "version": "10.7.1", - "run_as_user": "arcgis", - "hosts": { - "primary": "10.0.0.0" - }, - "repository": { - "local_archives": "/opt/software/esri", - "server": { - "s3bucket": "arcgisstore1071-us-east-1" - }, - "files": { - "ArcGIS_Notebook_Docker_Advanced_1071_169738.tar.gz": { - "subfolder": "11595/setups" - }, - "ArcGIS_Notebook_Docker_Standard_1071_169736.tar.gz": { - "subfolder": "11595/setups" - }, - "ArcGIS_Notebook_Server_Linux_1071_169927.tar.gz": { - "subfolder": "11595/setups" - } - } - }, - "notebook_server": { - "authorization_file": "/opt/software/esri/notebookserver_107.prvc", - "license_level": "standard", - "admin_username": "siteadmin", - "admin_password": "change.it", - "primary_server_url": "https://primary:11443/arcgis/admin", - "configure_autostart": true, - "install_system_requirements": true - } - }, - "run_list": [ - "recipe[arcgis-enterprise::system]", - "recipe[arcgis-repository::s3files]", - "recipe[arcgis-notebooks::docker]", - "recipe[arcgis-notebooks::server_node]" - ] -} \ No newline at end of file diff --git a/templates/arcgis-notebook-server/10.7.1/ubuntu/notebook-server-primary.json b/templates/arcgis-notebook-server/10.7.1/ubuntu/notebook-server-primary.json deleted file mode 100644 index 47cfa3d..0000000 --- a/templates/arcgis-notebook-server/10.7.1/ubuntu/notebook-server-primary.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "java": { - "install_flavor": "openjdk", - "jdk_version": "8" - }, - "tomcat": { - "tarball_path": "/opt/software/esri/apache-tomcat-8.5.45.tar.gz", - "install_path": "/tomcat_arcgis", - "keystore_file": "/tomcat_arcgis/conf/ssl_certificate_file.pfx", - "keystore_type": "pkcs12", - "keystore_password": "change.it" - }, - "arcgis": { - "version": "10.7.1", - "run_as_user": "arcgis", - "hosts": { - "primary": "" - }, - "repository": { - "local_archives": "/opt/software/esri", - "server": { - "s3bucket": "arcgisstore1071-us-east-1" - }, - "files": { - "ArcGIS_Notebook_Docker_Advanced_1071_169738.tar.gz": { - "subfolder": "11595/setups" - }, - "ArcGIS_Notebook_Docker_Standard_1071_169736.tar.gz": { - "subfolder": "11595/setups" - }, - "ArcGIS_Notebook_Server_Linux_1071_169927.tar.gz": { - "subfolder": "11595/setups" - }, - "Web_Adaptor_Java_Linux_1071_169645.tar.gz": { - "subfolder": "11595/setups" - }, - "apache-tomcat-8.5.45.tar.gz": { - "subfolder": "depfiles" - } - } - }, - "web_server": { - "webapp_dir": "/opt/tomcat_arcgis/webapps" - }, - "notebook_server": { - "shares" : [ - "/gisdata/notebookserver/directories", - "/gisdata/notebookserver/config-store" - ], - "authorization_file": "/opt/software/esri/notebookserver_107.prvc", - "license_level": "standard", - "admin_username": "siteadmin", - "admin_password": "change.it", - "directories_root": "/net/primary/gisdata/notebookserver/directories", - "config_store_connection_string": "/net/primary/gisdata/notebookserver/config-store", - "configure_autostart": true, - "install_system_requirements": true - } - }, - "run_list": [ - "recipe[nfs::server]", - "recipe[arcgis-enterprise::system]", - "recipe[arcgis-repository::s3files]", - "recipe[arcgis-notebooks::fileserver]", - "recipe[java]", - "recipe[esri-tomcat]", - "recipe[iptables]", - "recipe[arcgis-enterprise::iptables]", - "recipe[arcgis-notebooks::docker]", - "recipe[arcgis-notebooks::server]", - "recipe[arcgis-notebooks::server_wa]" - ] -} \ No newline at end of file diff --git a/templates/arcgis-notebook-server/10.9.1/README.md b/templates/arcgis-notebook-server/10.9.1/README.md index 71dd46c..d339d2e 100644 --- a/templates/arcgis-notebook-server/10.9.1/README.md +++ b/templates/arcgis-notebook-server/10.9.1/README.md @@ -1,10 +1,19 @@ +--- +layout: default +title: "arcgis-notebook-server template" +category: templates +item: arcgis-notebook-server +version: 10.9.1 +latest: false +--- + # 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 10.9 system requirements documentation for the required/recommended hardware specification. +Consult the ArcGIS Notebook Server 10.9.1 system requirements documentation for the required/recommended hardware specification. ### Recommended Chef Client Versions @@ -19,10 +28,9 @@ Consult the ArcGIS Notebook Server 10.9 system requirements documentation for th * Ubuntu Server 18.04 LTS * Ubuntu Server 20.04 LTS -* Red Hat Enterprise Linux Server 7 -* Red Hat Enterprise Linux Server 8 +* Red Hat Enterprise Linux Server 7 (Mirantis Container Runtime must be installed before running Chef) +* Red Hat Enterprise Linux Server 8 (Mirantis Container Runtime must be installed before running Chef) * CentOS Linux 7 -* CentOS Linux 8 Enable running sudo without password for the user running the Chef client. @@ -35,20 +43,20 @@ The following ArcGIS setup archives must be available in the ArcGIS software rep * ArcGIS_Notebook_Server_Linux_1091_180226.tar.gz * ArcGIS_Notebook_Server_Samples_Data_Linux_1091_180232.tar.gz -> ArcGIS software repository directory is specified by 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. +> 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 arcgis.repository.setups attribute has enough space for setups extracted from the setup archives. +> 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 recommended initial deployment workflow for the template machine roles: +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 Chef client on machines as administrator/superuser using the json files specific to the machine roles (one machine can be used in multiple roles). +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-notebooks cookbook README file. +> For additional customization options, see the list of supported attributes described in the arcgis-notebooks cookbook README file. ### File Server Machine @@ -68,7 +76,7 @@ chef-client -z -j notebook-server.json chef-client -z -j notebook-server-node.json ``` -After all the server machines are configured federate ArcGIS Notebook Server with Portal for ArcGIS. +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 @@ -76,13 +84,27 @@ chef-client -z -j notebook-server-federation.json ### ArcGIS Web Adaptor Machine -If ArcGIS Web Adaptor is required, use arcgis-webadaptor deployment template to install and configure it. +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 for upgrades if the sites were not initially deployed using the templates. +> It's not recommended to use the templates to upgrade if the sites were not initially deployed using the templates. -To upgrade ArcGIS Notebook Server deployed using arcgis-notebook-server deployment template to 10.9.1 version you will need: +To upgrade an ArcGIS Notebook Server site deployed using the arcgis-notebook-server deployment template to the 10.9.1 version, you will need: * ArcGIS Notebook Server 10.9.1 setup archive, * ArcGIS Notebook server 10.9.1 samples data, @@ -93,25 +115,25 @@ To upgrade ArcGIS Notebook Server deployed using arcgis-notebook-server deployme ### General Upgrade Notes -Upgrade of ArcGIS Notebook Server deployment may take several hours, during that time the deployment will be unavailable to the users. +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. +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 JSONs files must match the actual deployment configuration. To make upgrade JSON files, update the 10.9.1 template JSON files by copying the attribute values from the JSON files used for the initial deployment or the last upgrade. +The attributes defined in the upgrade JSON files must match the actual deployment configuration. To make upgrade JSON files, update the 10.9.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 just in the value of arcgis.version attribute. In those cases the easiest way to make the upgrade JSON files is just to change 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. +> 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. -Tool copy_attributes.rb 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 templates/tools directory in the ArcGIS cookbooks archive. To execute copy_attributes.rb use chef-apply command that comes with Chef/Cinc Client. +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 executing the tool, update the destination JSON file attributes specific to the new JSON file template and attributes specific to the new ArcGIS Notebook Server version, such as software authorization files. +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 Enterprise software, upgrade the configuration management subsystem components: +On each deployment machine, before upgrading the ArcGIS software, upgrade the configuration management subsystem components: -1. Backup the original JSON files used for the initial deployment or the last upgrade into a local directory. +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. @@ -120,11 +142,11 @@ On each deployment machine, before upgrading the ArcGIS Enterprise software, upg Upgrading ArcGIS Notebook Server deployments to 10.9.1 requires upgrading all ArcGIS Notebook Server machines. -> Note that in 10.9.1 ArcGIS Web Adaptor is installed using new arcgis-webadaptor deployment template. +> Note that in 10.9.1, ArcGIS Web Adaptor is installed using the new arcgis-webadaptor deployment template. -1. Upgrade first ArcGIS Notebook Server machine +1. Upgrade the first ArcGIS Notebook Server machine. - Copy attributes from the original `notebook-server-primary.json` JSON file created from 10.7.1-10.8.1 arcgis-notebook-server template to `notebook-server.json` of 10.9.1 arcgis-notebook-server template. + 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 10.9.1 arcgis-notebook-server template. ```shell chef-apply ./templates/tools/copy_attributes.rb /notebook-server-primary.json /notebook-server.json @@ -132,15 +154,15 @@ Upgrading ArcGIS Notebook Server deployments to 10.9.1 requires upgrading all Ar Verify that attributes are correct in `notebook-server.json`. - On the first ArcGIS Notebook Server machine execute the following command: + On the first ArcGIS Notebook Server machine, run the following command: ```shell chef-client -z -j /notebook-server.json ``` -2. Upgrade additional ArcGIS Notebook Server machines +2. Upgrade the additional ArcGIS Notebook Server machines. - Copy attributes from the original `notebook-server-node.json` JSON file created from 10.7.1-10.8.1 arcgis-notebook-server template to `notebook-server-node.json` of 10.9.1 arcgis-notebook-server template. + 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 10.9.1 arcgis-notebook-server template. ```shell chef-apply ./templates/tools/copy_attributes.rb /notebook-server-node.json /notebook-server-node.json @@ -148,15 +170,15 @@ Upgrading ArcGIS Notebook Server deployments to 10.9.1 requires upgrading all Ar Verify that attributes are correct in `notebook-server-node.json`. - On each additional ArcGIS Notebook Server machine in the sit execute the following command to upgrade ArcGIS Notebook Server: + 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 Notebook Server Web Adaptor +3. Upgrade the ArcGIS Web Adaptor used with the ArcGIS Notebook Server site. - Copy attributes from the original `notebook-server-primary.json` JSON file created from 10.7.1-10.8.1 arcgis-notebook-server template to `arcgis-notebook-server-webadaptor.json` of 10.9.1 arcgis-webadaptor template. + 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 10.9.1 arcgis-webadaptor template. ```shell chef-apply ./templates/tools/copy_attributes.rb /notebook-server-primary.json /arcgis-notebook-server-webadaptor.json @@ -164,7 +186,7 @@ Upgrading ArcGIS Notebook Server deployments to 10.9.1 requires upgrading all Ar Verify that attributes are correct in `arcgis-notebook-server-webadaptor.json`. - Execute the following command on the first ArcGIS Notebook Server machine to upgrade ArcGIS Web Adaptor: + 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 @@ -174,11 +196,11 @@ Upgrading ArcGIS Notebook Server deployments to 10.9.1 requires upgrading all Ar Upgrading ArcGIS Notebook Server deployments from 10.9 to 10.9.1 requires upgrading all ArcGIS Notebook Server machines. The file server machine does not require any changes. -> Note that in 10.9.1 ArcGIS Web Adaptor is installed using new arcgis-webadaptor deployment template. +> Note that in 10.9.1, ArcGIS Web Adaptor is installed using the new arcgis-webadaptor deployment template. -1. Upgrade first ArcGIS Notebook Server machine +1. Upgrade the first ArcGIS Notebook Server machine. - Copy attributes from the original `notebook-server.json` JSON file created from 10.9 arcgis-notebook-server template to `notebook-server.json` of 10.9.1 arcgis-notebook-server template. + Copy attributes from the original `notebook-server.json` JSON file created from the 10.9 arcgis-notebook-server template to the `notebook-server.json` file of the 10.9.1 arcgis-notebook-server template. ```shell chef-apply ./templates/tools/copy_attributes.rb /notebook-server.json /notebook-server.json @@ -186,15 +208,15 @@ Upgrading ArcGIS Notebook Server deployments from 10.9 to 10.9.1 requires upgrad Verify that attributes are correct in `notebook-server.json`. - On the first ArcGIS Server machine execute the following command: + On the first ArcGIS Server machine, run the following command: ```shell chef-client -z -j /notebook-server.json ``` -2. Upgrade additional ArcGIS Notebook Server machines +2. Upgrade the additional ArcGIS Notebook Server machines. - Copy attributes from the original `notebook-server-node.json` JSON file created from 10.9 arcgis-notebook-server template to `notebook-server-node.json` of 10.9.1 arcgis-notebook-server template. + Copy attributes from the original `notebook-server-node.json` JSON file created from the 10.9 arcgis-notebook-server template to the `notebook-server-node.json` file of the 10.9.1 arcgis-notebook-server template. ```shell chef-apply ./templates/tools/copy_attributes.rb /notebook-server-node.json /notebook-server-node.json @@ -202,15 +224,15 @@ Upgrading ArcGIS Notebook Server deployments from 10.9 to 10.9.1 requires upgrad Verify that attributes are correct in `notebook-server-node.json`. - On each additional ArcGIS Notebook Server machine execute the following command to upgrade ArcGIS Notebook Server: + 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 +3. Upgrade ArcGIS Notebook Server Web Adaptors. - Copy attributes from the original `notebook-server-webadaptor.json` JSON file created from 10.9 arcgis-notebook-server template to `arcgis-notebook-server-webadaptor.json` of 10.9.1 arcgis-webadaptor template. + Copy attributes from the original `notebook-server-webadaptor.json` JSON file created from the 10.9 arcgis-notebook-server template to the `arcgis-notebook-server-webadaptor.json` file of the 10.9.1 arcgis-webadaptor template. ```shell chef-apply ./templates/tools/copy_attributes.rb /notebook-server-webadaptor.json /arcgis--notebook-server-webadaptor.json @@ -218,7 +240,7 @@ Upgrading ArcGIS Notebook Server deployments from 10.9 to 10.9.1 requires upgrad Verify that attributes are correct in `arcgis--notebook-server-webadaptor.json`. - On each ArcGIS Notebook Server Web Adaptor machine execute the following command to upgrade ArcGIS Web Adaptor: + 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 @@ -230,27 +252,35 @@ The JSON files included in the template provide recipes for the deployment machi ### notebook-server-fileserver -Installs NFS and configures shares for ArcGIS Notebook Server config store and server directories. +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. +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 site. +Installs Docker and ArcGIS Notebook Server, authorizes the software, and creates a site. -Required attributes changes: +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' by the file server machine hostname or static IP address. -* arcgis.notebook_server.config_store_connection_string - Replace 'FILESERVER' by the file server machine hostname or static IP address. +* 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 existing site. +Installs Docker and ArcGIS Notebook Server, authorizes the software, and joins the machine to the existing site. Required attributes changes: @@ -261,25 +291,25 @@ Required attributes changes: ### notebook-server-unregister-node -Unregisters the machine form ArcGIS Notebook Server site. +Unregisters the machine from the ArcGIS Notebook Server site. ### notebook-server-federation * Federates ArcGIS Notebook Server with Portal for ArcGIS and enables NotebookServer role. -Required attributes changes: +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 be used as the services 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-s3files -The role downloads ArcGIS Notebook Server setups archives from S3 bucket specified by arcgis.repository.server.s3bucket attribute to the local ArcGIS software repository. +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 role requires AWS Tools for PowerShell to be installed on Windows machines and AWS Command Line Interface on Linux machines. diff --git a/templates/arcgis-notebook-server/10.9.1/linux/notebook-server-patches-apply.json b/templates/arcgis-notebook-server/10.9.1/linux/notebook-server-patches-apply.json new file mode 100644 index 0000000..7b35849 --- /dev/null +++ b/templates/arcgis-notebook-server/10.9.1/linux/notebook-server-patches-apply.json @@ -0,0 +1,14 @@ +{ + "arcgis": { + "run_as_user": "arcgis", + "repository": { + "patches": "/opt/software/archives/patches" + }, + "notebook_server": { + "patches": [] + } + }, + "run_list": [ + "recipe[arcgis-notebooks::install_patches]" + ] +} diff --git a/templates/arcgis-notebook-server/10.9.1/linux/notebook-server-patches.json b/templates/arcgis-notebook-server/10.9.1/linux/notebook-server-patches.json new file mode 100644 index 0000000..979e027 --- /dev/null +++ b/templates/arcgis-notebook-server/10.9.1/linux/notebook-server-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "10.9.1", + "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/10.9/README.md b/templates/arcgis-notebook-server/10.9/README.md index 39feec1..c025c1b 100644 --- a/templates/arcgis-notebook-server/10.9/README.md +++ b/templates/arcgis-notebook-server/10.9/README.md @@ -19,10 +19,9 @@ Consult the ArcGIS Notebook Server 10.9 system requirements documentation for th * Ubuntu Server 18.04 LTS * Ubuntu Server 20.04 LTS -* Red Hat Enterprise Linux Server 7 -* Red Hat Enterprise Linux Server 8 +* Red Hat Enterprise Linux Server 7 (Mirantis Container Runtime must be installed before running Chef) +* Red Hat Enterprise Linux Server 8 (Mirantis Container Runtime must be installed before running Chef) * CentOS Linux 7 -* CentOS Linux 8 Enable running sudo without password for the user running the Chef client. diff --git a/templates/arcgis-notebook-server/11.0/README.md b/templates/arcgis-notebook-server/11.0/README.md new file mode 100644 index 0000000..f796124 --- /dev/null +++ b/templates/arcgis-notebook-server/11.0/README.md @@ -0,0 +1,328 @@ +--- +layout: default +title: "arcgis-notebook-server template" +category: templates +item: arcgis-notebook-server +version: 11.0 +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.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.0.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_110_182934.tar.gz +* ArcGIS_Notebook_Docker_Standard_110_182933.tar.gz +* ArcGIS_Notebook_Server_Linux_110_183044.tar.gz +* ArcGIS_Notebook_Server_Samples_Data_Linux_110_183049.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.0 version, you will need: + +* ArcGIS Notebook Server 11.0 setup archive, +* ArcGIS Notebook server 11.0 samples data, +* ArcGIS Notebook Server 11.0 Docker container images, +* ArcGIS Web Adaptor 11.0 setup archive, if Web Adaptors were installed in the initial deployment, +* ArcGIS Notebook Server 11.0 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.0 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.0 requires upgrading all ArcGIS Notebook Server machines. + +> Note that in 11.0, ArcGIS Web Adaptor is installed using the new 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.0 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.0 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 or 10.9.1 + +Upgrading ArcGIS Notebook Server deployments from 10.9 or 10.9.1 to 11.0 requires upgrading all ArcGIS Notebook Server machines. The file server machine does not require any changes. + +> Note that in 11.0, ArcGIS Web Adaptor is installed using the new arcgis-webadaptor deployment template. + +1. Upgrade the first ArcGIS Notebook Server machine. + + Copy attributes from the original `notebook-server.json` JSON file created from the 10.9 or 10.9.1 arcgis-notebook-server template to the `notebook-server.json` file of the 11.0 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 or 10.9.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, 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 or 10.9.1 arcgis-notebook-server template to the `arcgis-notebook-server-webadaptor.json` file of the 11.0 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 role requires AWS Tools for PowerShell to be installed on Windows machines and AWS Command Line Interface on Linux machines. + +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/10.7.1/ubuntu/notebook-server-federation.json b/templates/arcgis-notebook-server/11.0/linux/notebook-server-federation.json similarity index 69% rename from templates/arcgis-notebook-server/10.7.1/ubuntu/notebook-server-federation.json rename to templates/arcgis-notebook-server/11.0/linux/notebook-server-federation.json index 5f9ab26..cf690ce 100644 --- a/templates/arcgis-notebook-server/10.7.1/ubuntu/notebook-server-federation.json +++ b/templates/arcgis-notebook-server/11.0/linux/notebook-server-federation.json @@ -1,9 +1,11 @@ { "arcgis": { "portal": { - "wa_url": "https://portal.domain.com/portal", + "private_url": "https://portal.domain.com/portal", "admin_username": "siteadmin", - "admin_password": "change.it" + "admin_password": "change.it", + "root_cert": "", + "root_cert_alias": "notebookserver" }, "notebook_server": { "web_context_url": "https://domain.com/notebooks", diff --git a/templates/arcgis-notebook-server/11.0/linux/notebook-server-files.json b/templates/arcgis-notebook-server/11.0/linux/notebook-server-files.json new file mode 100644 index 0000000..3359474 --- /dev/null +++ b/templates/arcgis-notebook-server/11.0/linux/notebook-server-files.json @@ -0,0 +1,30 @@ +{ + "arcgis": { + "repository": { + "local_archives": "/opt/software/archives", + "shared": false, + "server": { + "username": "changeit", + "password": "changeit" + }, + "files": { + "ArcGIS_Notebook_Docker_Advanced_110_182934.tar.gz": { + "subfolder": "software/arcgis/11.0" + }, + "ArcGIS_Notebook_Docker_Standard_110_182933.tar.gz": { + "subfolder": "software/arcgis/11.0" + }, + "ArcGIS_Notebook_Server_Linux_110_183044.tar.gz": { + "subfolder": "software/arcgis/11.0" + }, + "ArcGIS_Notebook_Server_Samples_Data_Linux_110_183049.tar.gz": { + "subfolder": "software/arcgis/11.0" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-notebook-server/11.0/linux/notebook-server-fileserver.json b/templates/arcgis-notebook-server/11.0/linux/notebook-server-fileserver.json new file mode 100644 index 0000000..c6c0b28 --- /dev/null +++ b/templates/arcgis-notebook-server/11.0/linux/notebook-server-fileserver.json @@ -0,0 +1,17 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "notebook_server": { + "shares": [ + "/gisdata/notebookserver/directories", + "/gisdata/notebookserver/config-store" + ] + } + }, + "run_list": [ + "recipe[nfs::server]", + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-notebooks::fileserver]" + ] +} diff --git a/templates/arcgis-notebook-server/11.0/linux/notebook-server-install.json b/templates/arcgis-notebook-server/11.0/linux/notebook-server-install.json new file mode 100644 index 0000000..87718de --- /dev/null +++ b/templates/arcgis-notebook-server/11.0/linux/notebook-server-install.json @@ -0,0 +1,24 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/linux/notebook-server-node.json b/templates/arcgis-notebook-server/11.0/linux/notebook-server-node.json new file mode 100644 index 0000000..0696a2c --- /dev/null +++ b/templates/arcgis-notebook-server/11.0/linux/notebook-server-node.json @@ -0,0 +1,28 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/notebook_server.prvc", + "license_level": "standard", + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/linux/notebook-server-patches-apply.json b/templates/arcgis-notebook-server/11.0/linux/notebook-server-patches-apply.json new file mode 100644 index 0000000..e76c18a --- /dev/null +++ b/templates/arcgis-notebook-server/11.0/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-110-MS-*.tar", + "ArcGIS-110-MS-*.tar.gz" + ] + } + }, + "run_list": [ + "recipe[arcgis-notebooks::install_patches]" + ] +} diff --git a/templates/arcgis-notebook-server/11.0/linux/notebook-server-patches.json b/templates/arcgis-notebook-server/11.0/linux/notebook-server-patches.json new file mode 100644 index 0000000..dcf7415 --- /dev/null +++ b/templates/arcgis-notebook-server/11.0/linux/notebook-server-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/linux/notebook-server-s3files.json b/templates/arcgis-notebook-server/11.0/linux/notebook-server-s3files.json new file mode 100644 index 0000000..1e0a1cd --- /dev/null +++ b/templates/arcgis-notebook-server/11.0/linux/notebook-server-s3files.json @@ -0,0 +1,31 @@ +{ + "arcgis": { + "version": "11.0", + "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_110_182934.tar.gz": { + "subfolder": "11.0/setups" + }, + "ArcGIS_Notebook_Docker_Standard_110_182933.tar.gz": { + "subfolder": "11.0/setups" + }, + "ArcGIS_Notebook_Server_Linux_110_183044.tar.gz": { + "subfolder": "11.0/setups" + }, + "ArcGIS_Notebook_Server_Samples_Data_Linux_110_183049.tar.gz": { + "subfolder": "11.0/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-notebook-server/11.0/linux/notebook-server-unregister-node.json b/templates/arcgis-notebook-server/11.0/linux/notebook-server-unregister-node.json new file mode 100644 index 0000000..da4deaf --- /dev/null +++ b/templates/arcgis-notebook-server/11.0/linux/notebook-server-unregister-node.json @@ -0,0 +1,12 @@ +{ + "arcgis": { + "version": "11.0", + "notebook_server": { + "admin_username": "siteadmin", + "admin_password": "change.it" + } + }, + "run_list": [ + "recipe[arcgis-notebooks::unregister_machine]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-notebook-server/11.0/linux/notebook-server.json b/templates/arcgis-notebook-server/11.0/linux/notebook-server.json new file mode 100644 index 0000000..6000503 --- /dev/null +++ b/templates/arcgis-notebook-server/11.0/linux/notebook-server.json @@ -0,0 +1,34 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/notebook_server.prvc", + "license_level": "standard", + "admin_username": "siteadmin", + "admin_password": "change.it", + "directories_root": "/net/FILESERVER/gisdata/notebookserver/directories", + "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/10.9.1/README.md b/templates/arcgis-portal/10.9.1/README.md index 0818691..5c453ac 100644 --- a/templates/arcgis-portal/10.9.1/README.md +++ b/templates/arcgis-portal/10.9.1/README.md @@ -1,10 +1,19 @@ +--- +layout: default +title: "arcgis-portal template" +category: templates +item: arcgis-portal +version: 10.9.1 +latest: false +--- + # 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 10.9 system requirements documentation for the required/recommended hardware specification. +Consult the Portal for ArcGIS 10.9.1 system requirements documentation for the required/recommended hardware specification. ### Recommended Chef Client versions @@ -27,9 +36,8 @@ Consult the Portal for ArcGIS 10.9 system requirements documentation for the req * Red Hat Enterprise Linux Server 7 * Red Hat Enterprise Linux Server 8 * CentOS Linux 7 - * CentOS Linux 8 -For Linux deployments enable running sudo without password for the user running the Chef client. +For Linux deployments, enable running sudo without password for the user running the Chef client. ### Required ArcGIS Software Repository Content @@ -49,31 +57,31 @@ Linux * apache-tomcat-9.0.48.tar.gz (will be downloaded from the internet if not present in the local ArcGIS software repository) * openjdk-11_linux-x64_bin.tar.gz (will be downloaded from the internet if not present in the local ArcGIS software repository) -> ArcGIS software repository directory is specified by 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. +> 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 arcgis.repository.setups attribute has enough space for the setups extracted from the setup archives. +> 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 recommended initial deployment workflow for the template machine roles: +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 Chef client on machines as administrator/superuser using the json files specific to the machine roles (one machine can be used in multiple roles). +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. +> 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 file server and primary machine roles. +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 adding standby machine in the future, don't configure the file server and use local paths instead of shared directories for Portal for ArcGIS content directory in 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. ### Highly Available Deployment @@ -91,7 +99,7 @@ chef-client -z -j arcgis-portal-fileserver.json #### Portal for ArcGIS Primary Machine -After the Chef run on the file server machine is completed run: +After the Chef run on the file server machine completes, run the following: ```shell chef-client -z -j arcgis-portal-primary.json @@ -99,7 +107,7 @@ chef-client -z -j arcgis-portal-primary.json #### Portal for ArcGIS Standby Machine -After the Chef run on the primary machine is completed run: +After the Chef run on the primary machine completes, run the following: ```shell chef-client -z -j arcgis-portal-standby.json @@ -107,13 +115,27 @@ chef-client -z -j arcgis-portal-standby.json #### ArcGIS Web Adaptor Machines -If ArcGIS Web Adaptor is required, use arcgis-webadaptor deployment template to install and configure it. +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 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 sites were not initially deployed using the templates. +> It's not recommended to use the templates to upgrade if the portal was not initially deployed using the templates. -To upgrade base Portal for ArcGIS deployed using arcgis-portal deployment template to 10.9.1 version you will need: +To upgrade Portal for ArcGIS deployed using the arcgis-portal deployment template to the 10.9.1 version, you will need: * Portal for ArcGIS 10.9.1 setup archive, * ArcGIS Web Adaptor 10.9.1 setup archive, if Web Adaptors were installed in the initial deployment, @@ -122,38 +144,38 @@ To upgrade base Portal for ArcGIS deployed using arcgis-portal deployment templa ### General Upgrade Notes -Upgrade of Portal for ArcGIS deployment may take several hours, during that time the deployment will be unavailable to the users. +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 backup Portal for ArcGIS using 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. +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 JSONs files must match the actual deployment configuration. To make upgrade JSON files, update the 10.9.1 template JSON files by copying the attribute values from the JSON files used for the initial deployment or the last upgrade. +The attributes defined in the upgrade JSON files must match the actual deployment configuration. To make upgrade JSON files, update the 10.9.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 just in the value of arcgis.version attribute. In those cases the easiest way to make the upgrade JSON files is just to change 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. +> 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. -Tool copy_attributes.rb 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 templates/tools directory in the ArcGIS cookbooks archive. To execute copy_attributes.rb use chef-apply command that comes with Chef/Cinc Client. +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 executing the tool, update the destination JSON file attributes specific to the new JSON file template and attributes specific to the new Portal for ArcGIS version, such as software authorization files. +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 Enterprise software, upgrade the configuration management subsystem components: +On each deployment machine, before upgrading the ArcGIS software, upgrade the configuration management subsystem components: -1. Backup the original JSON files used for the initial deployment or the last upgrade into a local directory. +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 -Upgrading Portal for ArcGIS deployments from 10.9 to 10.9.1 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 prior to executing Chef run of the next step. +Upgrading Portal for ArcGIS deployments from 10.9 to 10.9.1 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. -> Note that in 10.9.1 ArcGIS Web Adaptor is installed using new arcgis-webadaptor deployment template. +> Note that in 10.9.1, ArcGIS Web Adaptor is installed using the new arcgis-webadaptor deployment template. -1. Upgrade Portal for ArcGIS standby machine +1. Upgrade the Portal for ArcGIS standby machine. - Copy attributes from the original `arcgis-portal-standby.json` JSON file created from 10.9 arcgis-portal template to `arcgis-portal-install.json` and `arcgis-portal-standby.json` of 10.9.1 arcgis-portal template. + Copy attributes from the original `arcgis-portal-standby.json` JSON file created from the 10.9 arcgis-portal template to the `arcgis-portal-install.json` and `arcgis-portal-standby.json` files of the 10.9.1 arcgis-portal template. ```shell chef-apply ./templates/tools/copy_attributes.rb /arcgis-portal-standby.json /arcgis-portal-install.json @@ -162,17 +184,17 @@ Upgrading Portal for ArcGIS deployments from 10.9 to 10.9.1 requires upgrading a Verify that attributes are correct in `arcgis-portal-install.json` and `arcgis-portal-standby.json`. - On Portal for ArcGIS standby machine execute the following command: + On the Portal for ArcGIS standby machine, run the following command: ```shell chef-client -z -j /arcgis-portal-install.json ``` - Save `arcgis-portal-standby.json` file for future upgrades from 10.9.1 or disaster recovery. + Save the `arcgis-portal-standby.json` file for future upgrades from 10.9.1 or disaster recovery. -2. Upgrade Portal for ArcGIS primary machine +2. Upgrade the Portal for ArcGIS primary machine. - Copy attributes from the original `arcgis-portal-primary.json` JSON file created from 10.9 arcgis-portal template to `arcgis-portal-primary.json` of 10.9.1 arcgis-portal template. + Copy attributes from the original `arcgis-portal-primary.json` JSON file created from the 10.9 arcgis-portal template to the `arcgis-portal-primary.json` file of the 10.9.1 arcgis-portal template. ```shell chef-apply ./templates/tools/copy_attributes.rb /arcgis-portal-primary.json /arcgis-portal-primary.json @@ -180,15 +202,15 @@ Upgrading Portal for ArcGIS deployments from 10.9 to 10.9.1 requires upgrading a Verify that attributes are correct in `arcgis-portal-primary.json`. - On Portal for ArcGIS primary machine execute the following command: + On the Portal for ArcGIS primary machine, run the following command: ```shell chef-client -z -j /arcgis-portal-primary.json ``` -3. Upgrade Portal for ArcGIS Web Adaptors +3. Upgrade ArcGIS Web Adaptor used with Portal for ArcGIS. - Copy attributes from the original `arcgis-portal-webadaptor.json` JSON file created from 10.9 arcgis-portal template to `arcgis-portal-webadaptor.json` of 10.9.1 arcgis-webadaptor template. + Copy attributes from the original `arcgis-portal-webadaptor.json` JSON file created from the 10.9 arcgis-portal template to the `arcgis-portal-webadaptor.json` file of the 10.9.1 arcgis-webadaptor template. ```shell chef-apply ./templates/tools/copy_attributes.rb /arcgis-portal-webadaptor.json /arcgis-portal-webadaptor.json @@ -196,7 +218,7 @@ Upgrading Portal for ArcGIS deployments from 10.9 to 10.9.1 requires upgrading a Verify that attributes are correct in `arcgis-portal-webadaptor.json`. - Execute the following command to upgrade ArcGIS Web Adaptor: + Run the following command to upgrade ArcGIS Web Adaptor: ```shell chef-client -z -j /arcgis-portal-webadaptor.json @@ -210,7 +232,7 @@ The JSON files included in the template provide recipes for the deployment machi ### arcgis-portal-s3files -The role downloads Portal for ArcGIS setups archives from S3 bucket specified by arcgis.repository.server.s3bucket attribute to the local ArcGIS software repository. +The role downloads Portal for ArcGIS setup archives from the S3 bucket specified by the arcgis.repository.server.s3bucket attribute to the local ArcGIS software repository. The role requires AWS Tools for PowerShell to be installed on Windows machines and AWS Command Line Interface on Linux machines. @@ -221,34 +243,42 @@ The following attributes are required unless the machine is an AWS EC2 instance ### arcgis-portal-fileserver -Configures file shares for Portal for ArcGIS content directory. +Configures file shares for the Portal for ArcGIS content directory. -Required attributes changes: +Required attribute changes: -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +* 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 attributes changes: +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 -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +Applies Portal for ArcGIS patches. ### arcgis-portal-primary -Installs and configures Portal for ArcGIS on primary machine. +Installs and configures Portal for ArcGIS on the primary machine. -Required attributes changes: +Required attribute changes: -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +* 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' by the file server machine hostname or static IP address +* 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 @@ -256,11 +286,11 @@ Required attributes changes: ### arcgis-portal-standby -Installs and configures Portal for ArcGIS on standby machine. +Installs and configures Portal for ArcGIS on the standby machine. -Required attributes changes: +Required attribute changes: -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +* 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/10.9.1/linux/arcgis-portal-patches-apply.json b/templates/arcgis-portal/10.9.1/linux/arcgis-portal-patches-apply.json new file mode 100644 index 0000000..f116dee --- /dev/null +++ b/templates/arcgis-portal/10.9.1/linux/arcgis-portal-patches-apply.json @@ -0,0 +1,18 @@ +{ + "arcgis": { + "version": "10.9.1", + "run_as_user": "arcgis", + "repository": { + "patches": "/opt/software/archives/patches" + }, + "portal": { + "install_dir": "/opt", + "patches": [ + "ArcGIS-1091-PFA-Log4j-PatchB-linux.tar" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]" + ] +} diff --git a/templates/arcgis-portal/10.9.1/linux/arcgis-portal-patches.json b/templates/arcgis-portal/10.9.1/linux/arcgis-portal-patches.json new file mode 100644 index 0000000..f4e1b63 --- /dev/null +++ b/templates/arcgis-portal/10.9.1/linux/arcgis-portal-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "10.9.1", + "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/10.9.1/windows/arcgis-portal-patches-apply.json b/templates/arcgis-portal/10.9.1/windows/arcgis-portal-patches-apply.json new file mode 100644 index 0000000..bb679b1 --- /dev/null +++ b/templates/arcgis-portal/10.9.1/windows/arcgis-portal-patches-apply.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "10.9.1", + "repository": { + "patches": "C:\\Software\\Archives\\Patches" + }, + "portal": { + "patches": [ + "ArcGIS-1091-PFA-Log4j-PatchB.msp" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]" + ] +} diff --git a/templates/arcgis-portal/10.9.1/windows/arcgis-portal-patches.json b/templates/arcgis-portal/10.9.1/windows/arcgis-portal-patches.json new file mode 100644 index 0000000..570028a --- /dev/null +++ b/templates/arcgis-portal/10.9.1/windows/arcgis-portal-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "10.9.1", + "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/10.9/README.md b/templates/arcgis-portal/10.9/README.md index 6b01d56..906c529 100644 --- a/templates/arcgis-portal/10.9/README.md +++ b/templates/arcgis-portal/10.9/README.md @@ -26,7 +26,6 @@ Consult the Portal for ArcGIS 10.9 system requirements documentation for the req * Red Hat Enterprise Linux Server 7 * Red Hat Enterprise Linux Server 8 * CentOS Linux 7 - * CentOS Linux 8 For Linux deployments enable running sudo without password for the user running the Chef client. diff --git a/templates/arcgis-portal/11.0/README.md b/templates/arcgis-portal/11.0/README.md new file mode 100644 index 0000000..34f5cb9 --- /dev/null +++ b/templates/arcgis-portal/11.0/README.md @@ -0,0 +1,301 @@ +--- +layout: default +title: "arcgis-portal template" +category: templates +item: arcgis-portal +version: 11.0 +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.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.0.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 + +* Portal_for_ArcGIS_Windows_110_182885.exe +* Portal_for_ArcGIS_Web_Styles_Windows_110_182886.exe + +Linux + +* Portal_for_ArcGIS_Linux_110_182984.tar.gz +* Portal_for_ArcGIS_Web_Styles_Linux_110_182985.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. + +### 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.0 version, you will need: + +* Portal for ArcGIS 11.0 setup archive, +* ArcGIS Web Adaptor 11.0 setup archive, if Web Adaptors were installed in the initial deployment, +* Portal for ArcGIS 11.0 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.0 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 or 10.9.1 + +Upgrading Portal for ArcGIS deployments from 10.9 or 10.9.1 to 11.0 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. + +> Note that in 11.0, ArcGIS Web Adaptor is installed using the new arcgis-webadaptor deployment template. + +1. Upgrade the Portal for ArcGIS standby machine. + + Copy attributes from the original `arcgis-portal-standby.json` JSON file created from the 10.9 or 10.9.1 arcgis-portal template to the `arcgis-portal-install.json` and `arcgis-portal-standby.json` files of the 11.0 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.0 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 or 10.9.1 arcgis-portal template to the `arcgis-portal-primary.json` file of the 11.0 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 or 10.9.1 arcgis-portal template to the `arcgis-portal-webadaptor.json` file of the 11.0 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 role requires AWS Tools for PowerShell to be installed on Windows machines and AWS Command Line Interface on Linux machines. + +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.0/linux/arcgis-portal-files.json b/templates/arcgis-portal/11.0/linux/arcgis-portal-files.json new file mode 100644 index 0000000..b76db6b --- /dev/null +++ b/templates/arcgis-portal/11.0/linux/arcgis-portal-files.json @@ -0,0 +1,25 @@ +{ + "arcgis": { + "repository": { + "local_archives": "/opt/software/archives", + "shared": false, + "server": { + "username": "changeit", + "password": "changeit" + }, + "files": { + "Portal_for_ArcGIS_Linux_110_182984.tar.gz": { + "subfolder": "software/arcgis/11.0" + }, + "Portal_for_ArcGIS_Web_Styles_Linux_110_182985.tar.gz": { + "subfolder": "software/arcgis/11.0" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] + } + diff --git a/templates/arcgis-portal/11.0/linux/arcgis-portal-fileserver.json b/templates/arcgis-portal/11.0/linux/arcgis-portal-fileserver.json new file mode 100644 index 0000000..12e522f --- /dev/null +++ b/templates/arcgis-portal/11.0/linux/arcgis-portal-fileserver.json @@ -0,0 +1,20 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/linux/arcgis-portal-install.json b/templates/arcgis-portal/11.0/linux/arcgis-portal-install.json new file mode 100644 index 0000000..a5942bf --- /dev/null +++ b/templates/arcgis-portal/11.0/linux/arcgis-portal-install.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/linux/arcgis-portal-patches-apply.json b/templates/arcgis-portal/11.0/linux/arcgis-portal-patches-apply.json new file mode 100644 index 0000000..5dd65c0 --- /dev/null +++ b/templates/arcgis-portal/11.0/linux/arcgis-portal-patches-apply.json @@ -0,0 +1,19 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "repository": { + "patches": "/opt/software/archives/patches" + }, + "portal": { + "install_dir": "/opt", + "patches": [ + "ArcGIS-110-PFA-*.tar", + "ArcGIS-110-PFA-*.tar.gz" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]" + ] +} diff --git a/templates/arcgis-portal/11.0/linux/arcgis-portal-patches.json b/templates/arcgis-portal/11.0/linux/arcgis-portal-patches.json new file mode 100644 index 0000000..cfdaf7e --- /dev/null +++ b/templates/arcgis-portal/11.0/linux/arcgis-portal-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/linux/arcgis-portal-primary.json b/templates/arcgis-portal/11.0/linux/arcgis-portal-primary.json new file mode 100644 index 0000000..33b419c --- /dev/null +++ b/templates/arcgis-portal/11.0/linux/arcgis-portal-primary.json @@ -0,0 +1,39 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "portal": { + "install_dir": "/opt", + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/portal.json", + "user_license_type_id": "", + "install_system_requirements": true, + "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.0/linux/arcgis-portal-s3files.json b/templates/arcgis-portal/11.0/linux/arcgis-portal-s3files.json new file mode 100644 index 0000000..3ea3153 --- /dev/null +++ b/templates/arcgis-portal/11.0/linux/arcgis-portal-s3files.json @@ -0,0 +1,27 @@ +{ + "arcgis": { + "version": "11.0", + "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_110_182984.tar.gz": { + "subfolder": "11.0/setups" + }, + "Portal_for_ArcGIS_Web_Styles_Linux_110_182985.tar.gz": { + "subfolder": "11.0/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] + } + diff --git a/templates/arcgis-portal/11.0/linux/arcgis-portal-standby.json b/templates/arcgis-portal/11.0/linux/arcgis-portal-standby.json new file mode 100644 index 0000000..bdf62a0 --- /dev/null +++ b/templates/arcgis-portal/11.0/linux/arcgis-portal-standby.json @@ -0,0 +1,24 @@ +{ + "arcgis": { + "version": "11.0", + "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": "siteadmin", + "admin_password": "change.it", + "log_dir": "/opt/arcgis/portal/usr/arcgisportal/logs", + "install_system_requirements": true + } + }, + "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.0/windows/arcgis-portal-files.json b/templates/arcgis-portal/11.0/windows/arcgis-portal-files.json new file mode 100644 index 0000000..f3fcfd1 --- /dev/null +++ b/templates/arcgis-portal/11.0/windows/arcgis-portal-files.json @@ -0,0 +1,24 @@ +{ + "arcgis": { + "repository": { + "local_archives": "C:\\Software\\Archives", + "shared": false, + "server": { + "username": "changeit", + "password": "changeit" + }, + "files": { + "Portal_for_ArcGIS_Windows_110_182885.exe": { + "subfolder": "software/arcgis/11.0" + }, + "Portal_for_ArcGIS_Web_Styles_Windows_110_182886.exe": { + "subfolder": "software/arcgis/11.0" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-portal/11.0/windows/arcgis-portal-fileserver.json b/templates/arcgis-portal/11.0/windows/arcgis-portal-fileserver.json new file mode 100644 index 0000000..196a46c --- /dev/null +++ b/templates/arcgis-portal/11.0/windows/arcgis-portal-fileserver.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "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.0/windows/arcgis-portal-install.json b/templates/arcgis-portal/11.0/windows/arcgis-portal-install.json new file mode 100644 index 0000000..9101c31 --- /dev/null +++ b/templates/arcgis-portal/11.0/windows/arcgis-portal-install.json @@ -0,0 +1,23 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "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.0/windows/arcgis-portal-patches-apply.json b/templates/arcgis-portal/11.0/windows/arcgis-portal-patches-apply.json new file mode 100644 index 0000000..dfa5771 --- /dev/null +++ b/templates/arcgis-portal/11.0/windows/arcgis-portal-patches-apply.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.0", + "repository": { + "patches": "C:\\Software\\Archives\\Patches" + }, + "portal": { + "patches": [ + "ArcGIS-110-PFA-*.msp" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]" + ] +} diff --git a/templates/arcgis-portal/11.0/windows/arcgis-portal-patches.json b/templates/arcgis-portal/11.0/windows/arcgis-portal-patches.json new file mode 100644 index 0000000..46c3354 --- /dev/null +++ b/templates/arcgis-portal/11.0/windows/arcgis-portal-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/windows/arcgis-portal-primary.json b/templates/arcgis-portal/11.0/windows/arcgis-portal-primary.json new file mode 100644 index 0000000..55eec2c --- /dev/null +++ b/templates/arcgis-portal/11.0/windows/arcgis-portal-primary.json @@ -0,0 +1,43 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "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": "siteadmin", + "admin_password": "change.it", + "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.0\\Portal.json", + "user_license_type_id": "", + "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]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-portal/11.0/windows/arcgis-portal-s3files.json b/templates/arcgis-portal/11.0/windows/arcgis-portal-s3files.json new file mode 100644 index 0000000..cf64e13 --- /dev/null +++ b/templates/arcgis-portal/11.0/windows/arcgis-portal-s3files.json @@ -0,0 +1,25 @@ +{ + "arcgis": { + "version": "11.0", + "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_110_182885.exe": { + "subfolder": "11.0/setups" + }, + "Portal_for_ArcGIS_Web_Styles_Windows_110_182886.exe": { + "subfolder": "11.0/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-portal/11.0/windows/arcgis-portal-standby.json b/templates/arcgis-portal/11.0/windows/arcgis-portal-standby.json new file mode 100644 index 0000000..85a74ba --- /dev/null +++ b/templates/arcgis-portal/11.0/windows/arcgis-portal-standby.json @@ -0,0 +1,28 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "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": "siteadmin", + "admin_password": "change.it", + "data_dir": "C:\\arcgisportal", + "log_dir": "C:\\arcgisportal\\logs" + } + }, + "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]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-pro/2.8/README.md b/templates/arcgis-pro/2.8/README.md index cd45d93..f5034d1 100644 --- a/templates/arcgis-pro/2.8/README.md +++ b/templates/arcgis-pro/2.8/README.md @@ -1,3 +1,12 @@ +--- +layout: default +title: "arcgis-pro template" +category: templates +item: arcgis-pro +version: 2.8 +latest: false +--- + # arcgis-pro Deployment Template Installs ArcGIS Pro 2.8. @@ -27,20 +36,20 @@ The following ArcGIS setup archives must be available in the ArcGIS software rep * ArcGISPro_28_177688.exe -> ArcGIS software repository directory is specified by 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 Chef client. +> 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 arcgis.repository.setups attribute has enough space for the setups extracted from the setup archives. +> 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 recommended initial deployment workflow for the template machine roles: +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 Chef client on machines as administrator using the json files specific to the machine roles (one machine can be used in multiple roles). +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. +> For additional customization options, see the list of supported attributes described in arcgis-pro cookbook README file. ### Concurrent Use ArcGIS Pro @@ -60,19 +69,13 @@ chef-client -z -j arcgis-pro-single-use.json chef-client -z -j arcgis-pro-named-user.json ``` -## Upgrade Workflow - -> It's not recommended to use the templates for upgrades if the sites were not initially deployed using the templates. - -This is the first release of arcgis-pro deployment template. The recommended upgrade workflow for this template will be provided in the subsequent releases. - ## 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 setups archive from S3 bucket. +Downloads ArcGIS Pro setup archive from the S3 bucket. The role requires AWS Tools for PowerShell to be installed on the machine. @@ -89,27 +92,27 @@ Installs ArcGIS Pro without authorizing it. 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. +> The concurrent-use license must be either already authorized via License Manager or needs to be done manually. -Required attributes changes: +Required attribute changes: * arcgis.pro.esri_license_host - ArcGIS License Server host name ### arcgis-pro-single-use -Installs ArcGIS Pro with single use license. +Installs ArcGIS Pro with a single-use license. -Required attributes changes: +Required attribute changes: * arcgis.pro.authorization_file - ArcGIS Pro authorization file path ### arcgis-pro-named-user -Installs ArcGIS Pro with named user license. +Installs ArcGIS Pro with a named user license. ### ms-dotnet-s3files -Downloads Microsoft .NET Framework 4.8 setups archive from S3 bucket. +Downloads Microsoft .NET Framework 4.8 setups archive from the S3 bucket. The role requires AWS Tools for PowerShell to be installed on the machine. diff --git a/templates/arcgis-pro/2.9/README.md b/templates/arcgis-pro/2.9/README.md index 7f6aede..5ba9300 100644 --- a/templates/arcgis-pro/2.9/README.md +++ b/templates/arcgis-pro/2.9/README.md @@ -1,3 +1,12 @@ +--- +layout: default +title: "arcgis-pro template" +category: templates +item: arcgis-pro +version: 2.9 +latest: true +--- + # arcgis-pro Deployment Template Installs ArcGIS Pro 2.9. @@ -27,20 +36,20 @@ The following ArcGIS setup archives must be available in the ArcGIS software rep * ArcGISPro_29_179927.exe -> ArcGIS software repository directory is specified by 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 Chef client. +> 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 arcgis.repository.setups attribute has enough space for the setups extracted from the setup archives. +> 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 recommended initial deployment workflow for the template machine roles: +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 Chef client on machines as administrator using the json files specific to the machine roles (one machine can be used in multiple roles). +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. +> For additional customization options, see the list of supported attributes described in arcgis-pro cookbook README file. ### Concurrent Use ArcGIS Pro @@ -60,19 +69,13 @@ chef-client -z -j arcgis-pro-single-use.json chef-client -z -j arcgis-pro-named-user.json ``` -## Upgrade Workflow - -> It's not recommended to use the templates for upgrades if the sites were not initially deployed using the templates. - -This is the first release of arcgis-pro deployment template. The recommended upgrade workflow for this template will be provided in the subsequent releases. - ## 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 setups archive from S3 bucket. +Downloads ArcGIS Pro setup archive from the S3 bucket. The role requires AWS Tools for PowerShell to be installed on the machine. @@ -89,27 +92,27 @@ Installs ArcGIS Pro without authorizing it. 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. +> The concurrent-use license must be either already authorized via License Manager or needs to be done manually. -Required attributes changes: +Required attribute changes: * arcgis.pro.esri_license_host - ArcGIS License Server host name ### arcgis-pro-single-use -Installs ArcGIS Pro with single use license. +Installs ArcGIS Pro with a single-use license. -Required attributes changes: +Required attribute changes: * arcgis.pro.authorization_file - ArcGIS Pro authorization file path ### arcgis-pro-named-user -Installs ArcGIS Pro with named user license. +Installs ArcGIS Pro with a named-user license. ### ms-dotnet-s3files -Downloads Microsoft .NET Framework 4.8 setups archive from S3 bucket. +Downloads Microsoft .NET Framework 4.8 setups archive from the S3 bucket. The role requires AWS Tools for PowerShell to be installed on the machine. diff --git a/templates/arcgis-pro/3.0/README.md b/templates/arcgis-pro/3.0/README.md new file mode 100644 index 0000000..4a7c685 --- /dev/null +++ b/templates/arcgis-pro/3.0/README.md @@ -0,0 +1,126 @@ +--- +layout: default +title: "arcgis-pro template" +category: templates +item: arcgis-pro +version: 3.0 +latest: true +--- + +# arcgis-pro Deployment Template + +Installs ArcGIS Pro 3.0. + +## System Requirements + +Consult the ArcGIS Pro 3.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.0.0 + +### Supported Platforms + +* Windows + * Windows 10 + * Windows 10 Pro + +### Required ArcGIS Software Repository Content + +The following ArcGIS setup archives must be available in the ArcGIS software repository directory: + +* ArcGISPro_30_182209.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 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 + +### ms-dotnet-install + +Installs Microsoft .NET 6 Desktop Runtime x64. diff --git a/templates/arcgis-pro/3.0/windows/arcgis-pro-concurrent-use.json b/templates/arcgis-pro/3.0/windows/arcgis-pro-concurrent-use.json new file mode 100644 index 0000000..7ae822e --- /dev/null +++ b/templates/arcgis-pro/3.0/windows/arcgis-pro-concurrent-use.json @@ -0,0 +1,23 @@ +{ + "arcgis": { + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "pro": { + "version": "3.0", + "allusers": 1, + "software_class": "Professional", + "authorization_type": "CONCURRENT_USE", + "esri_license_host": "lm-host.domain.com", + "authorization_file_version": "11.0", + "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.0/windows/arcgis-pro-install.json b/templates/arcgis-pro/3.0/windows/arcgis-pro-install.json new file mode 100644 index 0000000..9af9dd5 --- /dev/null +++ b/templates/arcgis-pro/3.0/windows/arcgis-pro-install.json @@ -0,0 +1,19 @@ +{ + "arcgis": { + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "pro": { + "version": "3.0", + "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.0/windows/arcgis-pro-named-user.json b/templates/arcgis-pro/3.0/windows/arcgis-pro-named-user.json new file mode 100644 index 0000000..1cf0c52 --- /dev/null +++ b/templates/arcgis-pro/3.0/windows/arcgis-pro-named-user.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "pro": { + "version": "3.0", + "allusers": 1, + "software_class": "Professional", + "authorization_type": "NAMED_USER", + "authorization_file_version": "11.0", + "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.0/windows/arcgis-pro-s3files.json b/templates/arcgis-pro/3.0/windows/arcgis-pro-s3files.json new file mode 100644 index 0000000..896af70 --- /dev/null +++ b/templates/arcgis-pro/3.0/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_30_182209.exe": { + "subfolder": "11.0/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-pro/3.0/windows/arcgis-pro-single-use.json b/templates/arcgis-pro/3.0/windows/arcgis-pro-single-use.json new file mode 100644 index 0000000..6ffe05a --- /dev/null +++ b/templates/arcgis-pro/3.0/windows/arcgis-pro-single-use.json @@ -0,0 +1,23 @@ +{ + "arcgis": { + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "pro": { + "version": "3.0", + "allusers": 1, + "software_class": "Professional", + "authorization_type": "SINGLE_USE", + "authorization_file": "C:\\esri_authorization_files\\Pro_AdvancedSU.prvc", + "authorization_file_version": "11.0", + "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.0/windows/ms-dotnet-install.json b/templates/arcgis-pro/3.0/windows/ms-dotnet-install.json new file mode 100644 index 0000000..42450be --- /dev/null +++ b/templates/arcgis-pro/3.0/windows/ms-dotnet-install.json @@ -0,0 +1,9 @@ +{ + "ms_dotnet": { + "version": "6.0.5", + "setup": "C:\\Software\\Archives\\windowsdesktop-runtime-6.0.5-win-x64.exe" + }, + "run_list": [ + "recipe[arcgis-pro::ms_dotnet]" + ] +} diff --git a/templates/arcgis-pro/3.0/windows/ms-dotnet-s3files.json b/templates/arcgis-pro/3.0/windows/ms-dotnet-s3files.json new file mode 100644 index 0000000..df24e2c --- /dev/null +++ b/templates/arcgis-pro/3.0/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.5-win-x64.exe": { + "subfolder": "11.0/thirdparty" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-server/10.9.1/README.md b/templates/arcgis-server/10.9.1/README.md index bae34f2..f1c7a59 100644 --- a/templates/arcgis-server/10.9.1/README.md +++ b/templates/arcgis-server/10.9.1/README.md @@ -1,10 +1,19 @@ +--- +layout: default +title: "arcgis-server template" +category: templates +item: arcgis-server +version: 10.9.1 +latest: false +--- + # 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, and Image Server. ## System Requirements -Consult the ArcGIS Server 10.9 system requirements documentation for the required/recommended hardware specification. +Consult the ArcGIS Server 10.9.1 system requirements documentation for the required/recommended hardware specification. ### Recommended Chef Client versions @@ -27,9 +36,8 @@ Consult the ArcGIS Server 10.9 system requirements documentation for the require * Red Hat Enterprise Linux Server 7 * Red Hat Enterprise Linux Server 8 * CentOS Linux 7 - * CentOS Linux 8 -For Linux deployments enable running sudo without password for the user running the Chef client. +For Linux deployments, enable running sudo without password for the user running the Chef client. ### Required ArcGIS Software Repository Content @@ -43,20 +51,20 @@ Linux * ArcGIS_Server_Linux_1091_180182.tar.gz -> ArcGIS software repository directory is specified by 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. +> 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 arcgis.repository.setups attribute has enough space for ArcGIS Server setups extracted from the setup archives. +> 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 recommended initial deployment workflow for the template machine roles: +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 Chef client on machines as administrator/superuser using the json files specific to the machine roles (one machine can be used in multiple roles). +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. +> For additional customization options, see the list of supported attributes described in the arcgis-enterprise cookbook README file. ### File Server Machine @@ -78,7 +86,7 @@ chef-client -z -j arcgis-server-node.json ### Additional GIS Server Federation Roles -If the ArcGIS Server needs to be federated: +If the ArcGIS Server site needs to be federated with an Enterprise portal: * In GIS Server role @@ -108,13 +116,27 @@ If the ArcGIS Server needs to be federated: ### ArcGIS Web Adaptor Machine -If ArcGIS Web Adaptor is required, use arcgis-webadaptor deployment template to install and configure it. +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 base ArcGIS Server using the deployment template if it was not initially deployed using an earlier version of the templates. +> It's not recommended to upgrade ArcGIS Server using the deployment template if it was not initially deployed using an earlier version of the templates. -To upgrade ArcGIS Server deployed using arcgis-server deployment template to 10.9.1 version you will need: +To upgrade an ArcGIS Server site deployed using the arcgis-server deployment template to the 10.9.1 version, you will need: * ArcGIS Server 10.9.1 setup archive, * ArcGIS Web Adaptor 10.9.1 setup archive, if Web Adaptors were installed in the initial deployment, @@ -123,25 +145,25 @@ To upgrade ArcGIS Server deployed using arcgis-server deployment template to 10. ### General Upgrade Notes -Upgrade of ArcGIS Server deployment may take several hours, during that time the deployment will be unavailable to the users. +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 backup 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. +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 JSONs files must match the actual deployment configuration. To make upgrade JSON files, update the 10.9.1 template JSON files by copying the attribute values from the JSON files used for the initial deployment or the last upgrade. +The attributes defined in the upgrade JSON files must match the actual deployment configuration. To make upgrade JSON files, update the 10.9.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 just in the value of arcgis.version attribute. In those cases the easiest way to make the upgrade JSON files is just to change 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. +> 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. -Tool copy_attributes.rb 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 templates/tools directory in the ArcGIS cookbooks archive. To execute copy_attributes.rb use chef-apply command that comes with Chef/Cinc Client. +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 executing the tool, update the destination JSON file attributes specific to the new JSON file template and attributes specific to the new ArcGIS Server version, such as software authorization files. +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 Enterprise software, upgrade the configuration management subsystem components: +On each deployment machine, before upgrading the ArcGIS software, upgrade the configuration management subsystem components: -1. Backup the original JSON files used for the initial deployment or the last upgrade into a local directory. +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. @@ -150,11 +172,11 @@ On each deployment machine, before upgrading the ArcGIS Enterprise software, upg Upgrading ArcGIS Server deployments from 10.9 to 10.9.1 requires upgrading all ArcGIS Server machines. The file server machine does not require any changes. -> Note that in 10.9.1 ArcGIS Web Adaptor is installed using new arcgis-webadaptor deployment template. +> Note that in 10.9.1, ArcGIS Web Adaptor is installed using the new arcgis-webadaptor deployment template. -1. Unregister ArcGIS Server Web Adaptors +1. Unregister ArcGIS Web Adaptors used with the ArcGIS Server site. - Copy attributes from the original `arcgis-server-webadaptor.json` JSON file created from 10.9 arcgis-server template to `arcgis-server-webadaptor-unregister.json` of 10.9.1 arcgis-webadaptor template. + Copy attributes from the original `arcgis-server-webadaptor.json` JSON file created from the 10.9 arcgis-server template to the `arcgis-server-webadaptor-unregister.json` file of the 10.9.1 arcgis-webadaptor template. ```shell chef-apply ./templates/tools/copy_attributes.rb /arcgis-server-webadaptor.json /arcgis-server-webadaptor-unregister.json @@ -162,15 +184,15 @@ Upgrading ArcGIS Server deployments from 10.9 to 10.9.1 requires upgrading all A Verify attributes are correct in `arcgis-server-webadaptor-unregister.json` - On the first ArcGIS Server machine execute the following command: + On the first ArcGIS Server machine, run the following command: ```shell chef-client -z -j /arcgis-server-webadaptor-unregister.json ``` -2. Upgrade first ArcGIS Server machine +2. Upgrade the first ArcGIS Server machine. - Copy attributes from the original `arcgis-server.json` JSON file created from 10.9 arcgis-server template to `arcgis-server.json` of 10.9.1 arcgis-server template. + Copy attributes from the original `arcgis-server.json` JSON file created from the 10.9 arcgis-server template to the `arcgis-server.json` file of the 10.9.1 arcgis-server template. ```shell chef-apply ./templates/tools/copy_attributes.rb /arcgis-server.json /arcgis-server.json @@ -178,15 +200,15 @@ Upgrading ArcGIS Server deployments from 10.9 to 10.9.1 requires upgrading all A Verify attributes are correct in `arcgis-server.json` - On the first ArcGIS Server machine execute the following command: + On the first ArcGIS Server machine, run the following command: ```shell chef-client -z -j /arcgis-server.json ``` -3. Upgrade additional ArcGIS Server machines +3. Upgrade the additional ArcGIS Server machines. - Copy attributes from the original `arcgis-server-node.json` JSON file created from 10.9 arcgis-server template to `arcgis-server-node.json` of 10.9.1 arcgis-server template. + Copy attributes from the original `arcgis-server-node.json` JSON file created from the 10.9 arcgis-server template to the `arcgis-server-node.json` file of the 10.9.1 arcgis-server template. ```shell chef-apply ./templates/tools/copy_attributes.rb /arcgis-server-node.json /arcgis-server-node.json @@ -194,7 +216,7 @@ Upgrading ArcGIS Server deployments from 10.9 to 10.9.1 requires upgrading all A Verify that attributes are correct in `arcgis-server-node.json`. - Execute the following command to upgrade server node: + Run the following command to upgrade the ArcGIS Server node: ```shell chef-client -z -j /arcgis-server-node.json @@ -204,7 +226,7 @@ Upgrading ArcGIS Server deployments from 10.9 to 10.9.1 requires upgrading all A 4. Upgrade ArcGIS Server Web Adaptors - Copy attributes from the original `arcgis-server-webadaptor.json` JSON file created from 10.9 arcgis-server template to `arcgis-server-webadaptor.json` of 10.9.1 arcgis-webadaptor template. + Copy attributes from the original `arcgis-server-webadaptor.json` JSON file created from the 10.9 arcgis-server template to the `arcgis-server-webadaptor.json` file of the 10.9.1 arcgis-webadaptor template. ```shell chef-apply ./templates/tools/copy_attributes.rb /arcgis-server-webadaptor.json /arcgis-server-webadaptor.json @@ -212,7 +234,7 @@ Upgrading ArcGIS Server deployments from 10.9 to 10.9.1 requires upgrading all A Verify that attributes are correct in `arcgis-server-webadaptor.json`. - Execute the following command to upgrade ArcGIS Web Adaptor: + Run the following command to upgrade ArcGIS Web Adaptor: ```shell chef-client -z -j /arcgis-server-webadaptor.json @@ -226,7 +248,7 @@ The JSON files included in the template provide recipes for the deployment machi ### arcgis-server-s3files -The role downloads ArcGIS Server setups archives from S3 bucket specified by arcgis.repository.server.s3bucket attribute to the local ArcGIS software repository. +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 role requires AWS Tools for PowerShell to be installed on Windows machines and AWS Command Line Interface on Linux machines. @@ -237,45 +259,53 @@ The following attributes are required unless the machine is an AWS EC2 instance ### arcgis-server-fileserver -Configures file shares for ArcGIS Server config store and server directories. +Configures file shares for the ArcGIS Server configuration store and server directories. -Required attributes changes: +Required attribute changes: -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +* 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 attributes changes: +Required attribute changes: -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +* 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 ArcGIS Server site. +Installs ArcGIS Server on the machine, authorizes the software, and creates an ArcGIS Server site. -Required attributes changes: +Required attribute changes: -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +* 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' by the file server machine hostname or static IP address. -* arcgis.server.config_store_connection_string - Replace 'FILESERVER' by the file server machine hostname or static IP address. +* 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 attributes changes: +Required attribute changes: -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +* 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 raster store with ArcGIS Server. @@ -288,72 +318,72 @@ Registers raster store with ArcGIS Server. Federates ArcGIS Server with Portal for ArcGIS. -Required attributes changes: +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 be used as the services 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 ArcGIS Server with Portal for ArcGIS in ImageHosting server role. +Federates ArcGIS Image Server with Portal for ArcGIS in the ImageHosting server role. -Required attributes changes: +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 be used as the services 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 ArcGIS Server with Portal for ArcGIS in GeoAnalytics server role. +Federates ArcGIS GeoAnalytics Server with Portal for ArcGIS in the GeoAnalytics server role. -Required attributes changes: +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 be used as the services 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 ArcGIS Server with Portal for ArcGIS in RasterAnalytics server role. +Federates ArcGIS Image Server with Portal for ArcGIS in the RasterAnalytics server role. -Required attributes changes: +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 be used as the services 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 server from Portal for ArcGIS. +Unfederates an ArcGIS Server site from Portal for ArcGIS. -Required attributes changes: +Required attribute changes: -* arcgis.server.web_context_url - Specify ArcGIS Server Web Context URL that be used as the services URL during unfederation.. +* 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 the server machine from the ArcGIS Server site. +Unregisters a server machine from the ArcGIS Server site. Required attributes changes: diff --git a/templates/arcgis-server/10.9.1/linux/arcgis-server-patches-apply.json b/templates/arcgis-server/10.9.1/linux/arcgis-server-patches-apply.json new file mode 100644 index 0000000..7f73128 --- /dev/null +++ b/templates/arcgis-server/10.9.1/linux/arcgis-server-patches-apply.json @@ -0,0 +1,23 @@ +{ + "arcgis": { + "version": "10.9.1", + "run_as_user": "arcgis", + "repository": { + "patches": "/opt/software/archives/patches" + }, + "server": { + "install_dir": "/opt", + "patches": [ + "ArcGIS-1091-S-MR-PatchB-linux.tar", + "ArcGIS-1091-S-Log4j-PatchB-linux.tar", + "ArcGIS-1091-S-UNDM1-Patch-linux.tar", + "ArcGIS-1091-S-VRPG-Patch-linux.tar", + "ArcGIS-1091-S-K1-Patch-linux.tar", + "ArcGIS-1091-S-SQ-Patch-linux.tar" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-server/10.9.1/linux/arcgis-server-patches.json b/templates/arcgis-server/10.9.1/linux/arcgis-server-patches.json new file mode 100644 index 0000000..1cbf70c --- /dev/null +++ b/templates/arcgis-server/10.9.1/linux/arcgis-server-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "10.9.1", + "repository": { + "local_patches": "/opt/software/archives/patches", + "patch_notification": { + "products": [ + "ArcGIS Server" + ] + } + } + }, + "run_list": [ + "recipe[arcgis-repository::patches]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-server/10.9.1/windows/arcgis-server-patches-apply.json b/templates/arcgis-server/10.9.1/windows/arcgis-server-patches-apply.json new file mode 100644 index 0000000..b70c7a9 --- /dev/null +++ b/templates/arcgis-server/10.9.1/windows/arcgis-server-patches-apply.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "version": "10.9.1", + "repository": { + "patches": "C:\\Software\\Archives\\Patches" + }, + "server": { + "patches": [ + "ArcGIS-1091-S-SP-Patch.msp", + "ArcGIS-1091-S-MR-PatchB.msp", + "ArcGIS-1091-S-Log4j-PatchB.msp", + "ArcGIS-1091-S-UNDM1-Patch.msp", + "ArcGIS-1091-S-VRPG-Patch.msp", + "ArcGIS-1091-S-K1-Patch.msp", + "ArcGIS-1091-S-SQ-Patch.msp" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]" + ] +} diff --git a/templates/arcgis-server/10.9.1/windows/arcgis-server-patches.json b/templates/arcgis-server/10.9.1/windows/arcgis-server-patches.json new file mode 100644 index 0000000..e793bc4 --- /dev/null +++ b/templates/arcgis-server/10.9.1/windows/arcgis-server-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "10.9.1", + "repository": { + "local_patches": "C:\\Software\\Archives\\Patches", + "patch_notification": { + "products": [ + "ArcGIS Server" + ] + } + } + }, + "run_list": [ + "recipe[arcgis-repository::patches]" + ] +} diff --git a/templates/arcgis-server/10.9/README.md b/templates/arcgis-server/10.9/README.md index 74b01d5..7616eee 100644 --- a/templates/arcgis-server/10.9/README.md +++ b/templates/arcgis-server/10.9/README.md @@ -26,7 +26,6 @@ Consult the ArcGIS Server 10.9 system requirements documentation for the require * Red Hat Enterprise Linux Server 7 * Red Hat Enterprise Linux Server 8 * CentOS Linux 7 - * CentOS Linux 8 For Linux deployments enable running sudo without password for the user running the Chef client. @@ -221,7 +220,7 @@ 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 be used as the services URL during federation.. +* arcgis.server.web_context_url - Specify ArcGIS Server Web Context URL that 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. @@ -235,7 +234,7 @@ 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 be used as the services URL during federation.. +* arcgis.server.web_context_url - Specify ArcGIS Server Web Context URL that 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. @@ -249,7 +248,7 @@ 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 be used as the services URL during federation.. +* arcgis.server.web_context_url - Specify ArcGIS Server Web Context URL that 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. @@ -263,7 +262,7 @@ 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 be used as the services URL during federation.. +* arcgis.server.web_context_url - Specify ArcGIS Server Web Context URL that 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-server/11.0/README.md b/templates/arcgis-server/11.0/README.md new file mode 100644 index 0000000..b6ba2f1 --- /dev/null +++ b/templates/arcgis-server/11.0/README.md @@ -0,0 +1,421 @@ +--- +layout: default +title: "arcgis-server template" +category: templates +item: arcgis-server +version: 11.0 +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.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.0.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_Server_Windows_110_182874.exe + +Linux + +* ArcGIS_Server_Linux_110_182973.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.0 version, you will need: + +* ArcGIS Server 11.0 setup archive, +* ArcGIS Web Adaptor 11.0 setup archive, if Web Adaptors were installed in the initial deployment, +* ArcGIS Server 11.0 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.0 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 or 10.9.1 + +Upgrading ArcGIS Server deployments from 10.9 or 10.9.1 to 11.0 requires upgrading all ArcGIS Server machines. The file server machine does not require any changes. + +> Note that in 11.0, ArcGIS Web Adaptor is installed using the new arcgis-webadaptor deployment template. + +1. Unregister ArcGIS Server Web Adaptors. + + Copy attributes from the original `arcgis-server-webadaptor.json` JSON file created from the 10.9 or 10.9.1 arcgis-server template to the `arcgis-server-webadaptor-unregister.json` file of the 11.0 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 or 10.9.1 arcgis-server template to the `arcgis-server.json` file of the 11.0 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 or 10.9.1 arcgis-server template to the `arcgis-server-node.json` fiile of the 11.0 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 or 10.9.1 arcgis-server template to the `arcgis-server-webadaptor.json` file of the 11.0 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 role requires AWS Tools for PowerShell to be installed on Windows machines and AWS Command Line Interface on Linux machines. + +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.0/linux/arcgis-server-files.json b/templates/arcgis-server/11.0/linux/arcgis-server-files.json new file mode 100644 index 0000000..5fe2383 --- /dev/null +++ b/templates/arcgis-server/11.0/linux/arcgis-server-files.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "repository": { + "local_archives": "/opt/software/archives", + "shared": false, + "server": { + "username": "changeit", + "password": "changeit" + }, + "files": { + "ArcGIS_Server_Linux_110_182973.tar.gz": { + "subfolder": "software/arcgis/11.0" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-server/11.0/linux/arcgis-server-fileserver.json b/templates/arcgis-server/11.0/linux/arcgis-server-fileserver.json new file mode 100644 index 0000000..c836976 --- /dev/null +++ b/templates/arcgis-server/11.0/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.0/linux/arcgis-server-install.json b/templates/arcgis-server/11.0/linux/arcgis-server-install.json new file mode 100644 index 0000000..13043c5 --- /dev/null +++ b/templates/arcgis-server/11.0/linux/arcgis-server-install.json @@ -0,0 +1,18 @@ +{ + "arcgis": { + "run_as_user": "arcgis", + "version": "11.0", + "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.0/linux/arcgis-server-node.json b/templates/arcgis-server/11.0/linux/arcgis-server-node.json new file mode 100644 index 0000000..4d6235f --- /dev/null +++ b/templates/arcgis-server/11.0/linux/arcgis-server-node.json @@ -0,0 +1,25 @@ +{ + "arcgis": { + "run_as_user": "arcgis", + "version": "11.0", + "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": "siteadmin", + "admin_password": "change.it", + "pull_license": false, + "log_dir": "/opt/arcgis/server/usr/logs", + "authorization_file": "/opt/software/authorization_files/11.0/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.0/linux/arcgis-server-patches-apply.json b/templates/arcgis-server/11.0/linux/arcgis-server-patches-apply.json new file mode 100644 index 0000000..f4f15c8 --- /dev/null +++ b/templates/arcgis-server/11.0/linux/arcgis-server-patches-apply.json @@ -0,0 +1,19 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "repository": { + "patches": "/opt/software/archives/patches" + }, + "server": { + "install_dir": "/opt", + "patches": [ + "ArcGIS-110-S-*.tar", + "ArcGIS-110-S-*.tar.gz" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]" + ] +} diff --git a/templates/arcgis-server/11.0/linux/arcgis-server-patches.json b/templates/arcgis-server/11.0/linux/arcgis-server-patches.json new file mode 100644 index 0000000..ceaa805 --- /dev/null +++ b/templates/arcgis-server/11.0/linux/arcgis-server-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/linux/arcgis-server-raster-store.json b/templates/arcgis-server/11.0/linux/arcgis-server-raster-store.json new file mode 100644 index 0000000..ba22c64 --- /dev/null +++ b/templates/arcgis-server/11.0/linux/arcgis-server-raster-store.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "server": { + "url": "https://localhost:6443/arcgis", + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/linux/arcgis-server-s3files.json b/templates/arcgis-server/11.0/linux/arcgis-server-s3files.json new file mode 100644 index 0000000..13ff605 --- /dev/null +++ b/templates/arcgis-server/11.0/linux/arcgis-server-s3files.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "version": "11.0", + "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_110_182973.tar.gz": { + "subfolder": "11.0/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-server/11.0/linux/arcgis-server.json b/templates/arcgis-server/11.0/linux/arcgis-server.json new file mode 100644 index 0000000..168f7fc --- /dev/null +++ b/templates/arcgis-server/11.0/linux/arcgis-server.json @@ -0,0 +1,31 @@ +{ + "arcgis": { + "run_as_user": "arcgis", + "version": "11.0", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "install_dir": "/opt", + "install_system_requirements": true, + "admin_username": "siteadmin", + "admin_password": "change.it", + "authorization_file": "/opt/software/authorization_files/11.0/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, + "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.0/linux/geoanalytics-federation.json b/templates/arcgis-server/11.0/linux/geoanalytics-federation.json new file mode 100644 index 0000000..4f1ca44 --- /dev/null +++ b/templates/arcgis-server/11.0/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": "siteadmin", + "admin_password": "change.it", + "is_hosting": false + }, + "portal": { + "private_url": "https://domain.com/portal", + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/linux/gis-server-federation.json b/templates/arcgis-server/11.0/linux/gis-server-federation.json new file mode 100644 index 0000000..409b233 --- /dev/null +++ b/templates/arcgis-server/11.0/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": "siteadmin", + "admin_password": "change.it", + "is_hosting": false + }, + "portal": { + "private_url": "https://domain.com/portal", + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/linux/imagehosting-federation.json b/templates/arcgis-server/11.0/linux/imagehosting-federation.json new file mode 100644 index 0000000..6a53a4f --- /dev/null +++ b/templates/arcgis-server/11.0/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": "siteadmin", + "admin_password": "change.it", + "is_hosting": false + }, + "portal": { + "private_url": "https://domain.com/portal", + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/linux/knowledgeserver-federation.json b/templates/arcgis-server/11.0/linux/knowledgeserver-federation.json new file mode 100644 index 0000000..a663b26 --- /dev/null +++ b/templates/arcgis-server/11.0/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": "siteadmin", + "admin_password": "change.it", + "is_hosting": false + }, + "portal": { + "private_url": "https://domain.com/portal", + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/linux/rasteranalytics-federation.json b/templates/arcgis-server/11.0/linux/rasteranalytics-federation.json new file mode 100644 index 0000000..ad7e669 --- /dev/null +++ b/templates/arcgis-server/11.0/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": "siteadmin", + "admin_password": "change.it", + "is_hosting": false + }, + "portal": { + "private_url": "https://domain.com/portal", + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/linux/unfederate-server.json b/templates/arcgis-server/11.0/linux/unfederate-server.json new file mode 100644 index 0000000..a70105f --- /dev/null +++ b/templates/arcgis-server/11.0/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": "siteadmin", + "admin_password": "change.it" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::unfederate_server]" + ] +} diff --git a/templates/arcgis-server/11.0/linux/unregister-machine.json b/templates/arcgis-server/11.0/linux/unregister-machine.json new file mode 100644 index 0000000..5045cf4 --- /dev/null +++ b/templates/arcgis-server/11.0/linux/unregister-machine.json @@ -0,0 +1,11 @@ +{ + "arcgis": { + "server": { + "admin_username": "siteadmin", + "admin_password": "change.it" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::unregister_machine]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-server/11.0/windows/arcgis-server-files.json b/templates/arcgis-server/11.0/windows/arcgis-server-files.json new file mode 100644 index 0000000..65aa16e --- /dev/null +++ b/templates/arcgis-server/11.0/windows/arcgis-server-files.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "repository": { + "local_archives": "C:\\Software\\Archives", + "shared": false, + "server": { + "username": "changeit", + "password": "changeit" + }, + "files": { + "ArcGIS_Server_Windows_110_182874.exe": { + "subfolder": "software/arcgis/11.0" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-server/11.0/windows/arcgis-server-fileserver.json b/templates/arcgis-server/11.0/windows/arcgis-server-fileserver.json new file mode 100644 index 0000000..2bf238b --- /dev/null +++ b/templates/arcgis-server/11.0/windows/arcgis-server-fileserver.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "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.0/windows/arcgis-server-install.json b/templates/arcgis-server/11.0/windows/arcgis-server-install.json new file mode 100644 index 0000000..e0590a1 --- /dev/null +++ b/templates/arcgis-server/11.0/windows/arcgis-server-install.json @@ -0,0 +1,20 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "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.0/windows/arcgis-server-node.json b/templates/arcgis-server/11.0/windows/arcgis-server-node.json new file mode 100644 index 0000000..50cfec1 --- /dev/null +++ b/templates/arcgis-server/11.0/windows/arcgis-server-node.json @@ -0,0 +1,28 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "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": "siteadmin", + "admin_password": "change.it", + "pull_license": false, + "log_dir": "C:\\arcgisserver\\logs", + "authorization_file": "C:\\Software\\AuthorizationFiles\\11.0\\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.0/windows/arcgis-server-patches-apply.json b/templates/arcgis-server/11.0/windows/arcgis-server-patches-apply.json new file mode 100644 index 0000000..b4917bc --- /dev/null +++ b/templates/arcgis-server/11.0/windows/arcgis-server-patches-apply.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.0", + "repository": { + "patches": "C:\\Software\\Archives\\Patches" + }, + "server": { + "patches": [ + "ArcGIS-110-S-*.msp" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]" + ] +} diff --git a/templates/arcgis-server/11.0/windows/arcgis-server-patches.json b/templates/arcgis-server/11.0/windows/arcgis-server-patches.json new file mode 100644 index 0000000..dd96c22 --- /dev/null +++ b/templates/arcgis-server/11.0/windows/arcgis-server-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/windows/arcgis-server-raster-store.json b/templates/arcgis-server/11.0/windows/arcgis-server-raster-store.json new file mode 100644 index 0000000..056b027 --- /dev/null +++ b/templates/arcgis-server/11.0/windows/arcgis-server-raster-store.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "server": { + "url": "https://localhost:6443/arcgis", + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/windows/arcgis-server-s3files.json b/templates/arcgis-server/11.0/windows/arcgis-server-s3files.json new file mode 100644 index 0000000..37d4edc --- /dev/null +++ b/templates/arcgis-server/11.0/windows/arcgis-server-s3files.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "version": "11.0", + "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_110_182874.exe": { + "subfolder": "11.0/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-server/11.0/windows/arcgis-server.json b/templates/arcgis-server/11.0/windows/arcgis-server.json new file mode 100644 index 0000000..12de8dd --- /dev/null +++ b/templates/arcgis-server/11.0/windows/arcgis-server.json @@ -0,0 +1,34 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "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": "siteadmin", + "admin_password": "change.it", + "authorization_file": "C:\\Software\\AuthorizationFiles\\11.0\\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", + "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.0/windows/geoanalytics-federation.json b/templates/arcgis-server/11.0/windows/geoanalytics-federation.json new file mode 100644 index 0000000..4f1ca44 --- /dev/null +++ b/templates/arcgis-server/11.0/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": "siteadmin", + "admin_password": "change.it", + "is_hosting": false + }, + "portal": { + "private_url": "https://domain.com/portal", + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/windows/gis-server-federation.json b/templates/arcgis-server/11.0/windows/gis-server-federation.json new file mode 100644 index 0000000..409b233 --- /dev/null +++ b/templates/arcgis-server/11.0/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": "siteadmin", + "admin_password": "change.it", + "is_hosting": false + }, + "portal": { + "private_url": "https://domain.com/portal", + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/windows/imagehosting-federation.json b/templates/arcgis-server/11.0/windows/imagehosting-federation.json new file mode 100644 index 0000000..6a53a4f --- /dev/null +++ b/templates/arcgis-server/11.0/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": "siteadmin", + "admin_password": "change.it", + "is_hosting": false + }, + "portal": { + "private_url": "https://domain.com/portal", + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/windows/knowledgeserver-federation.json b/templates/arcgis-server/11.0/windows/knowledgeserver-federation.json new file mode 100644 index 0000000..a663b26 --- /dev/null +++ b/templates/arcgis-server/11.0/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": "siteadmin", + "admin_password": "change.it", + "is_hosting": false + }, + "portal": { + "private_url": "https://domain.com/portal", + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/windows/rasteranalytics-federation.json b/templates/arcgis-server/11.0/windows/rasteranalytics-federation.json new file mode 100644 index 0000000..ad7e669 --- /dev/null +++ b/templates/arcgis-server/11.0/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": "siteadmin", + "admin_password": "change.it", + "is_hosting": false + }, + "portal": { + "private_url": "https://domain.com/portal", + "admin_username": "siteadmin", + "admin_password": "change.it", + "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.0/windows/unfederate-server.json b/templates/arcgis-server/11.0/windows/unfederate-server.json new file mode 100644 index 0000000..a70105f --- /dev/null +++ b/templates/arcgis-server/11.0/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": "siteadmin", + "admin_password": "change.it" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::unfederate_server]" + ] +} diff --git a/templates/arcgis-server/11.0/windows/unregister-machine.json b/templates/arcgis-server/11.0/windows/unregister-machine.json new file mode 100644 index 0000000..5045cf4 --- /dev/null +++ b/templates/arcgis-server/11.0/windows/unregister-machine.json @@ -0,0 +1,11 @@ +{ + "arcgis": { + "server": { + "admin_username": "siteadmin", + "admin_password": "change.it" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::unregister_machine]" + ] +} \ No newline at end of file diff --git a/templates/arcgis-webadaptor/10.9.1/README.md b/templates/arcgis-webadaptor/10.9.1/README.md index 8073775..87c8fc0 100644 --- a/templates/arcgis-webadaptor/10.9.1/README.md +++ b/templates/arcgis-webadaptor/10.9.1/README.md @@ -1,3 +1,12 @@ +--- +layout: default +title: "arcgis-webadaptor template" +category: templates +item: arcgis-webadaptor +version: 10.9.1 +latest: false +--- + # arcgis-webadaptor Deployment Template The template contains Chef Zero JSON files with sample recipes and attributes for different ArcGIS Web Adaptor machine roles. @@ -27,9 +36,8 @@ Consult the ArcGIS Web Adaptor 10.9.1 system requirements documentation for the * Red Hat Enterprise Linux Server 7 * Red Hat Enterprise Linux Server 8 * CentOS Linux 7 - * CentOS Linux 8 -Enable running sudo without password for the user running the Chef client. +For Linux deployments, enable running sudo without password for the user running the Chef client. ### Required ArcGIS Software Repository Content @@ -45,20 +53,20 @@ Linux * apache-tomcat-9.0.48.tar.gz (will be downloaded from the internet if not present in the local ArcGIS software repository) * openjdk-11_linux-x64_bin.tar.gz (will be downloaded from the internet if not present in the local ArcGIS software repository) -> ArcGIS software repository directory is specified by 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. +> 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 arcgis.repository.setups attribute has enough space for setups extracted from the setup archives. +> 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 recommended initial deployment workflow for the template machine roles: +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 Chef client on machines as administrator/superuser using the json files specific to the machine roles (one machine can be used in multiple roles). +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. +> For additional customization options, see the list of supported attributes described in the arcgis-enterprise cookbook README file. ### ArcGIS Mission Server Web Adaptor Machine @@ -85,11 +93,25 @@ chef-client -z -j arcgis-portal-webadaptor.json 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 arcgis.web_adaptor.patches attribute in arcgis-webadaptor-patches-apply.json and apply the patches: + +```shell +chef-client -z -j arcgis-webadaptor-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. +> It's not recommended to use the templates to upgrade if the web adaptor was not initially deployed using the templates. -Version 10.9.1 is the first release of arcgis-webadaptor deployment template. Before version 10.9.1 the JSON files for ArcGIS Web Adaptor machine roles were included in different deployment templates: arcgis-server template for ArcgGIS Server web Adaptor, arcgis-portal template for Portal for ArcGIS Web Adaptor, and notebook-server template for ArcGIS Notebook Server Web Adaptor. The 10.9.1 ArcGIS Web Adaptor upgrade workflows are described in README files of those templates. +Version 10.9.1 is the first release of the arcgis-webadaptor deployment template. Before version 10.9.1, the JSON files for ArcGIS Web Adaptor machine roles were included in different deployment templates: the arcgis-server template for the web adaptor used with ArcgGIS Server, the arcgis-portal template for the web adaptor used with Portal for ArcGIS, and the notebook-server template for the web adpator used with ArcGIS Notebook Server. The 10.9.1 ArcGIS Web Adaptor upgrade workflows are described in the README files of those templates. ## Machine Roles @@ -99,24 +121,24 @@ The JSON files included in the template provide recipes for the deployment machi Installs and configures Microsoft IIS web server on Windows and Apache Tomcat application server on Linux. Installs ArcGIS Web Adaptor without registering it. -Required attributes changes: +Required attribute changes: -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +* 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. +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 attributes changes: +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 HTTPS listener in IIS web server. +* 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.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 HTTPS listener in Apache Tomcat. +* 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 @@ -125,31 +147,31 @@ 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. +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 attributes changes: +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 HTTPS listener in Apache Tomcat. +* 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 ArcGIS Notebook Server Web Adaptors. +Unregisters all web adaptors from an ArcGIS Notebook Server site. -Required attributes changes: +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 ArcGIS Mission Server Web Adaptors. +Unregisters all web adaptors from an ArcGIS Mission Server site. -Required attributes changes: +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. @@ -158,62 +180,70 @@ Required attributes changes: 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 attributes changes: +Required attribute changes: -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +* 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 attributes changes: +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.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 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 HTTPS listener in Apache Tomcat +* 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. +Installs and configures Microsoft IIS web server on Windows and Apache Tomcat application server on Linux. Installs ArcGIS Web Adaptor without registering it. -Required attributes changes: +Required attribute changes: -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +* arcgis.run_as_password - (Windows only) password of 'arcgis' Windows user account ### arcgis-server-webadaptor-unregister -Unregisters all ArcGIS Web Adaptors registered with ArcGIS Server. +Unregisters all ArcGIS Web Adaptors registered with an ArcGIS Server site. -Required attributes changes: +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-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. +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 attributes changes: +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 HTTPS listener in IIS web server. +* 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.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 HTTPS listener in Apache Tomcat. +* 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-s3files -The role downloads ArcGIS Web Adaptor setups archives from S3 bucket specified by arcgis.repository.server.s3bucket attribute to the local ArcGIS software repository. +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 role requires AWS Tools for PowerShell to be installed on Windows machines and AWS Command Line Interface on Linux machines. diff --git a/templates/arcgis-webadaptor/10.9.1/linux/arcgis-webadaptor-patches-apply.json b/templates/arcgis-webadaptor/10.9.1/linux/arcgis-webadaptor-patches-apply.json new file mode 100644 index 0000000..0ebd071 --- /dev/null +++ b/templates/arcgis-webadaptor/10.9.1/linux/arcgis-webadaptor-patches-apply.json @@ -0,0 +1,15 @@ +{ + "arcgis": { + "version": "10.9.1", + "run_as_user": "arcgis", + "repository": { + "patches": "/opt/software/archives/patches" + }, + "web_adaptor": { + "patches": [] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]" + ] +} diff --git a/templates/arcgis-webadaptor/10.9.1/linux/arcgis-webadaptor-patches.json b/templates/arcgis-webadaptor/10.9.1/linux/arcgis-webadaptor-patches.json new file mode 100644 index 0000000..aa31e63 --- /dev/null +++ b/templates/arcgis-webadaptor/10.9.1/linux/arcgis-webadaptor-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "10.9.1", + "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/10.9.1/windows/arcgis-webadaptor-patches-apply.json b/templates/arcgis-webadaptor/10.9.1/windows/arcgis-webadaptor-patches-apply.json new file mode 100644 index 0000000..f1e7456 --- /dev/null +++ b/templates/arcgis-webadaptor/10.9.1/windows/arcgis-webadaptor-patches-apply.json @@ -0,0 +1,14 @@ +{ + "arcgis": { + "version": "10.9.1", + "repository": { + "patches": "C:\\Software\\Archives\\Patches" + }, + "web_adaptor": { + "patches": [] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]" + ] +} diff --git a/templates/arcgis-webadaptor/10.9.1/windows/arcgis-webadaptor-patches.json b/templates/arcgis-webadaptor/10.9.1/windows/arcgis-webadaptor-patches.json new file mode 100644 index 0000000..fc7624c --- /dev/null +++ b/templates/arcgis-webadaptor/10.9.1/windows/arcgis-webadaptor-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "10.9.1", + "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.0/README.md b/templates/arcgis-webadaptor/11.0/README.md new file mode 100644 index 0000000..f0b71bd --- /dev/null +++ b/templates/arcgis-webadaptor/11.0/README.md @@ -0,0 +1,262 @@ +--- +layout: default +title: "arcgis-webadaptor template" +category: templates +item: arcgis-webadaptor +version: 11.0 +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.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.0.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_Web_Adaptor_for_Microsoft_IIS_110_182888.exe + +Linux + +* ArcGIS_Web_Adaptor_Java_Linux_110_182987.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 role requires AWS Tools for PowerShell to be installed on Windows machines and AWS Command Line Interface on Linux machines. + +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.0/linux/arcgis-mission-server-webadaptor-install.json b/templates/arcgis-webadaptor/11.0/linux/arcgis-mission-server-webadaptor-install.json new file mode 100644 index 0000000..91ff254 --- /dev/null +++ b/templates/arcgis-webadaptor/11.0/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.0", + "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.0/linux/arcgis-mission-server-webadaptor-unregister.json b/templates/arcgis-webadaptor/11.0/linux/arcgis-mission-server-webadaptor-unregister.json new file mode 100644 index 0000000..b28c61c --- /dev/null +++ b/templates/arcgis-webadaptor/11.0/linux/arcgis-mission-server-webadaptor-unregister.json @@ -0,0 +1,12 @@ +{ + "arcgis": { + "version": "11.0", + "mission_server": { + "admin_username": "siteadmin", + "admin_password": "change.it" + } + }, + "run_list": [ + "recipe[arcgis-mission::unregister_server_wa]" + ] +} diff --git a/templates/arcgis-webadaptor/11.0/linux/arcgis-mission-server-webadaptor.json b/templates/arcgis-webadaptor/11.0/linux/arcgis-mission-server-webadaptor.json new file mode 100644 index 0000000..121c6ac --- /dev/null +++ b/templates/arcgis-webadaptor/11.0/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": "change.it" + }, + "arcgis": { + "version": "11.0", + "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": "siteadmin", + "admin_password": "change.it" + }, + "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.0/linux/arcgis-notebook-server-webadaptor-install.json b/templates/arcgis-webadaptor/11.0/linux/arcgis-notebook-server-webadaptor-install.json new file mode 100644 index 0000000..2b7e9be --- /dev/null +++ b/templates/arcgis-webadaptor/11.0/linux/arcgis-notebook-server-webadaptor-install.json @@ -0,0 +1,35 @@ +{ + "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.0", + "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.0/linux/arcgis-notebook-server-webadaptor-unregister.json b/templates/arcgis-webadaptor/11.0/linux/arcgis-notebook-server-webadaptor-unregister.json new file mode 100644 index 0000000..1e40406 --- /dev/null +++ b/templates/arcgis-webadaptor/11.0/linux/arcgis-notebook-server-webadaptor-unregister.json @@ -0,0 +1,12 @@ +{ + "arcgis": { + "version": "11.0", + "notebook_server": { + "admin_username": "siteadmin", + "admin_password": "change.it" + } + }, + "run_list": [ + "recipe[arcgis-notebooks::unregister_server_wa]" + ] +} diff --git a/templates/arcgis-webadaptor/11.0/linux/arcgis-notebook-server-webadaptor.json b/templates/arcgis-webadaptor/11.0/linux/arcgis-notebook-server-webadaptor.json new file mode 100644 index 0000000..2cf0ff1 --- /dev/null +++ b/templates/arcgis-webadaptor/11.0/linux/arcgis-notebook-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": "change.it" + }, + "arcgis": { + "version": "11.0", + "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": "siteadmin", + "admin_password": "change.it" + }, + "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.0/linux/arcgis-portal-webadaptor-install.json b/templates/arcgis-webadaptor/11.0/linux/arcgis-portal-webadaptor-install.json new file mode 100644 index 0000000..82cdb4c --- /dev/null +++ b/templates/arcgis-webadaptor/11.0/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.0", + "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.0/linux/arcgis-portal-webadaptor.json b/templates/arcgis-webadaptor/11.0/linux/arcgis-portal-webadaptor.json new file mode 100644 index 0000000..8e6229f --- /dev/null +++ b/templates/arcgis-webadaptor/11.0/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": "change.it" + }, + "arcgis": { + "version": "11.0", + "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": "siteadmin", + "admin_password": "change.it", + "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.0/linux/arcgis-server-webadaptor-install.json b/templates/arcgis-webadaptor/11.0/linux/arcgis-server-webadaptor-install.json new file mode 100644 index 0000000..ded136c --- /dev/null +++ b/templates/arcgis-webadaptor/11.0/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.0", + "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.0/linux/arcgis-server-webadaptor-unregister.json b/templates/arcgis-webadaptor/11.0/linux/arcgis-server-webadaptor-unregister.json new file mode 100644 index 0000000..fdeb463 --- /dev/null +++ b/templates/arcgis-webadaptor/11.0/linux/arcgis-server-webadaptor-unregister.json @@ -0,0 +1,12 @@ +{ + "arcgis": { + "version": "11.0", + "server": { + "admin_username": "siteadmin", + "admin_password": "change.it" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::unregister_server_wa]" + ] +} diff --git a/templates/arcgis-webadaptor/11.0/linux/arcgis-server-webadaptor.json b/templates/arcgis-webadaptor/11.0/linux/arcgis-server-webadaptor.json new file mode 100644 index 0000000..9a34c21 --- /dev/null +++ b/templates/arcgis-webadaptor/11.0/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": "change.it" + }, + "arcgis": { + "version": "11.0", + "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": "siteadmin", + "admin_password": "change.it", + "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.0/linux/arcgis-webadaptor-files.json b/templates/arcgis-webadaptor/11.0/linux/arcgis-webadaptor-files.json new file mode 100644 index 0000000..e7ae798 --- /dev/null +++ b/templates/arcgis-webadaptor/11.0/linux/arcgis-webadaptor-files.json @@ -0,0 +1,27 @@ +{ + "arcgis": { + "repository": { + "local_archives": "/opt/software/archives", + "shared": false, + "server": { + "username": "changeit", + "password": "changeit" + }, + "files": { + "ArcGIS_Web_Adaptor_Java_Linux_110_182987.tar.gz": { + "subfolder": "software/arcgis/11.0" + }, + "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-webadaptor/11.0/linux/arcgis-webadaptor-patches-apply.json b/templates/arcgis-webadaptor/11.0/linux/arcgis-webadaptor-patches-apply.json new file mode 100644 index 0000000..9fe4a1b --- /dev/null +++ b/templates/arcgis-webadaptor/11.0/linux/arcgis-webadaptor-patches-apply.json @@ -0,0 +1,18 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "repository": { + "patches": "/opt/software/archives/patches" + }, + "web_adaptor": { + "patches": [ + "ArcGIS-110-WAJ-*.tar", + "ArcGIS-110-WAJ-*.tar.gz" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]" + ] +} diff --git a/templates/arcgis-webadaptor/11.0/linux/arcgis-webadaptor-patches.json b/templates/arcgis-webadaptor/11.0/linux/arcgis-webadaptor-patches.json new file mode 100644 index 0000000..9fd91ca --- /dev/null +++ b/templates/arcgis-webadaptor/11.0/linux/arcgis-webadaptor-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/linux/arcgis-webadaptor-s3files.json b/templates/arcgis-webadaptor/11.0/linux/arcgis-webadaptor-s3files.json new file mode 100644 index 0000000..c17bfa1 --- /dev/null +++ b/templates/arcgis-webadaptor/11.0/linux/arcgis-webadaptor-s3files.json @@ -0,0 +1,28 @@ +{ + "arcgis": { + "version": "11.0", + "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_110_182987.tar.gz": { + "subfolder": "11.0/setups" + }, + "apache-tomcat-9.0.48.tar.gz": { + "subfolder": "11.0/thirdparty" + }, + "openjdk-11_linux-x64_bin.tar.gz": { + "subfolder": "11.0/thirdparty" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-webadaptor/11.0/windows/arcgis-mission-server-webadaptor-install.json b/templates/arcgis-webadaptor/11.0/windows/arcgis-mission-server-webadaptor-install.json new file mode 100644 index 0000000..3c05afc --- /dev/null +++ b/templates/arcgis-webadaptor/11.0/windows/arcgis-mission-server-webadaptor-install.json @@ -0,0 +1,20 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "mission_server": { + "wa_name": "mission" + } + }, + "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.0/windows/arcgis-mission-server-webadaptor-unregister.json b/templates/arcgis-webadaptor/11.0/windows/arcgis-mission-server-webadaptor-unregister.json new file mode 100644 index 0000000..b28c61c --- /dev/null +++ b/templates/arcgis-webadaptor/11.0/windows/arcgis-mission-server-webadaptor-unregister.json @@ -0,0 +1,12 @@ +{ + "arcgis": { + "version": "11.0", + "mission_server": { + "admin_username": "siteadmin", + "admin_password": "change.it" + } + }, + "run_list": [ + "recipe[arcgis-mission::unregister_server_wa]" + ] +} diff --git a/templates/arcgis-webadaptor/11.0/windows/arcgis-mission-server-webadaptor.json b/templates/arcgis-webadaptor/11.0/windows/arcgis-mission-server-webadaptor.json new file mode 100644 index 0000000..8fa5087 --- /dev/null +++ b/templates/arcgis-webadaptor/11.0/windows/arcgis-mission-server-webadaptor.json @@ -0,0 +1,33 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "iis": { + "keystore_file": "C:\\Temp\\keystore.pfx", + "keystore_password": "change.it", + "replace_https_binding": true + }, + "mission_server": { + "wa_name": "mission", + "url": "https://localhost:20443/arcgis", + "wa_url": "https://localhost/mission", + "admin_username": "siteadmin", + "admin_password": "change.it" + }, + "web_adaptor": { + "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.0/windows/arcgis-portal-webadaptor-install.json b/templates/arcgis-webadaptor/11.0/windows/arcgis-portal-webadaptor-install.json new file mode 100644 index 0000000..13dfcd0 --- /dev/null +++ b/templates/arcgis-webadaptor/11.0/windows/arcgis-portal-webadaptor-install.json @@ -0,0 +1,19 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "portal": { + "wa_name": "portal" + } + }, + "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.0/windows/arcgis-portal-webadaptor.json b/templates/arcgis-webadaptor/11.0/windows/arcgis-portal-webadaptor.json new file mode 100644 index 0000000..09af5bc --- /dev/null +++ b/templates/arcgis-webadaptor/11.0/windows/arcgis-portal-webadaptor.json @@ -0,0 +1,32 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "iis": { + "keystore_file": "C:\\Temp\\keystore.pfx", + "keystore_password": "change.it", + "replace_https_binding": true + }, + "portal": { + "url": "https://domain.com:7443/arcgis", + "wa_url": "https://domain.com/portal", + "admin_username": "siteadmin", + "admin_password": "change.it", + "wa_name": "portal" + }, + "web_adaptor": { + "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.0/windows/arcgis-server-webadaptor-install.json b/templates/arcgis-webadaptor/11.0/windows/arcgis-server-webadaptor-install.json new file mode 100644 index 0000000..0ee0075 --- /dev/null +++ b/templates/arcgis-webadaptor/11.0/windows/arcgis-server-webadaptor-install.json @@ -0,0 +1,19 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "server": { + "wa_name": "server" + } + }, + "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.0/windows/arcgis-server-webadaptor-unregister.json b/templates/arcgis-webadaptor/11.0/windows/arcgis-server-webadaptor-unregister.json new file mode 100644 index 0000000..fdeb463 --- /dev/null +++ b/templates/arcgis-webadaptor/11.0/windows/arcgis-server-webadaptor-unregister.json @@ -0,0 +1,12 @@ +{ + "arcgis": { + "version": "11.0", + "server": { + "admin_username": "siteadmin", + "admin_password": "change.it" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::unregister_server_wa]" + ] +} diff --git a/templates/arcgis-webadaptor/11.0/windows/arcgis-server-webadaptor.json b/templates/arcgis-webadaptor/11.0/windows/arcgis-server-webadaptor.json new file mode 100644 index 0000000..dd7be40 --- /dev/null +++ b/templates/arcgis-webadaptor/11.0/windows/arcgis-server-webadaptor.json @@ -0,0 +1,32 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "configure_windows_firewall": true, + "repository": { + "archives": "C:\\Software\\Archives", + "setups": "C:\\Software\\Setups" + }, + "iis": { + "keystore_file": "C:\\Temp\\keystore.pfx", + "keystore_password": "change.it", + "replace_https_binding": true + }, + "server": { + "url": "https://domain.com:6443/arcgis", + "wa_url": "https://domain.com/server", + "admin_username": "siteadmin", + "admin_password": "change.it", + "wa_name": "server" + }, + "web_adaptor": { + "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.0/windows/arcgis-webadaptor-files.json b/templates/arcgis-webadaptor/11.0/windows/arcgis-webadaptor-files.json new file mode 100644 index 0000000..9e9a945 --- /dev/null +++ b/templates/arcgis-webadaptor/11.0/windows/arcgis-webadaptor-files.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "repository": { + "local_archives": "C:\\Software\\Archives", + "shared": false, + "server": { + "username": "changeit", + "password": "changeit" + }, + "files": { + "ArcGIS_Web_Adaptor_for_Microsoft_IIS_110_182888.exe": { + "subfolder": "software/arcgis/11.0" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-webadaptor/11.0/windows/arcgis-webadaptor-patches-apply.json b/templates/arcgis-webadaptor/11.0/windows/arcgis-webadaptor-patches-apply.json new file mode 100644 index 0000000..5db9353 --- /dev/null +++ b/templates/arcgis-webadaptor/11.0/windows/arcgis-webadaptor-patches-apply.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.0", + "repository": { + "patches": "C:\\Software\\Archives\\Patches" + }, + "web_adaptor": { + "patches": [ + "ArcGIS-110-WAI-*.msp" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]" + ] +} diff --git a/templates/arcgis-webadaptor/11.0/windows/arcgis-webadaptor-patches.json b/templates/arcgis-webadaptor/11.0/windows/arcgis-webadaptor-patches.json new file mode 100644 index 0000000..03851fd --- /dev/null +++ b/templates/arcgis-webadaptor/11.0/windows/arcgis-webadaptor-patches.json @@ -0,0 +1,16 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/windows/arcgis-webadaptor-s3files.json b/templates/arcgis-webadaptor/11.0/windows/arcgis-webadaptor-s3files.json new file mode 100644 index 0000000..1b2aacf --- /dev/null +++ b/templates/arcgis-webadaptor/11.0/windows/arcgis-webadaptor-s3files.json @@ -0,0 +1,22 @@ +{ + "arcgis": { + "version": "11.0", + "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_110_182888.exe": { + "subfolder": "11.0/setups" + } + } + } + }, + "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 44fec69..d98a598 100644 --- a/templates/arcgis-workflow-manager/10.9.1/README.md +++ b/templates/arcgis-workflow-manager/10.9.1/README.md @@ -1,3 +1,12 @@ +--- +layout: default +title: "arcgis-workflow-manager template" +category: templates +item: arcgis-workflow-manager +version: 10.9.1 +latest: false +--- + # arcgis-workflow-manager Deployment Template The template contains Chef Zero JSON files with sample recipes and attributes for different ArcGIS Workflow Manager machine roles. @@ -27,9 +36,8 @@ Consult the ArcGIS Workflow Manager Server 10.9.1 system requirements documentat * Red Hat Enterprise Linux Server 7 * Red Hat Enterprise Linux Server 8 * CentOS Linux 7 - * CentOS Linux 8 -Enable running sudo without password for the user running the Chef client. +For Linux deployments, enable running sudo without password for the user running the Chef client. ### Required ArcGIS Software Repository Content @@ -45,20 +53,20 @@ Linux * ArcGIS_Server_Linux_1091_180182.tar.gz * ArcGIS_Workflow_Manager_Server_1091_180228.tar.gz -> ArcGIS software repository directory is specified by 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. +> 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 arcgis.repository.setups attribute has enough space for setups extracted from the setup archives. +> 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 recommended initial deployment workflow for the template machine roles: +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 Chef client on machines as administrator/superuser using the json files specific to the machine roles (one machine can be used in multiple roles). +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-mission cookbook README file. +> For additional customization options, see the list of supported attributes described in the arcgis-workflow-manager cookbook README file. ### File Server Machine @@ -72,7 +80,7 @@ chef-client -z -j workflow-manager-fileserver.json chef-client -z -j workflow-manager-server.json ``` -To federate ArcGIS Workflow Manager Server with Portal for ArcGIS and enable Workflow manager server function. +To federate ArcGIS Workflow Manager Server with Portal for ArcGIS and enable the Workflow Manager server function, run the following: ```shell chef-client -z -j workflow-manager-server-federation.json @@ -84,11 +92,20 @@ chef-client -z -j workflow-manager-server-federation.json chef-client -z -j workflow-manager-server-node.json ``` -## Upgrade Workflow +## 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 and apply the patches: -> It's not recommended to use the templates for upgrades if the sites were not initially deployed using the templates. +```shell +chef-client -z -j workflow-manager-server-patches-apply.json +``` -This is the first release of arcgis-workflow-manager deployment template. The recommended upgrade workflow for this template will be provided in the subsequent releases. ## Machine Roles @@ -96,41 +113,49 @@ The JSON files included in the template provide recipes for the deployment machi ### workflow-manager-fileserver -Configures file shares for ArcGIS Workflow Manager Server config store and server directories. +Configures file shares for the ArcGIS Workflow Manager Server configuration store and server directories. -Required attributes changes: +Required attribute changes: -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +* 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 attributes changes: +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 -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +Applies ArcGIS Workflow Manager Server patches. ### workflow-manager-server Installs and configures ArcGIS Workflow Manager Server. -Required attributes changes: +Required attribute changes: -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +* 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' by the file server machine hostname or static IP address. -* arcgis.server.config_store_connection_string - Replace 'FILESERVER' by the file server machine hostname or static IP address. +* 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. ### workflow-manager-server-node Installs ArcGIS Workflow Manager Server on the machine, authorizes the software, and joins the machine to an existing ArcGIS Server site. -Required attributes changes: +Required attribute changes: -* arcgis.run_as_password - (Windows only) password of 'arcgis' windows user account +* 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. @@ -139,21 +164,21 @@ Required attributes changes: ### workflow-manager-server-federation -Federates ArcGIS Workflows Manager Server with Portal for ArcGIS and enables Workflow Manager server function. +Federates ArcGIS Workflows Manager Server with Portal for ArcGIS and enables the Workflow Manager Server function. -Required attributes changes: +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 be used as the services 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-s3files -The role downloads ArcGIS Workflow Manager Server and Web App setups archives from S3 bucket specified by arcgis.repository.server.s3bucket attribute to the local ArcGIS software repository. +The role downloads ArcGIS Workflow Manager Server and Web App setup archives from the S3 bucket specified by the arcgis.repository.server.s3bucket attribute to the local ArcGIS software repository. The role requires AWS Tools for PowerShell to be installed on Windows machines and AWS Command Line Interface on Linux machines. diff --git a/templates/arcgis-workflow-manager/10.9.1/linux/workflow-manager-server-patches-apply.json b/templates/arcgis-workflow-manager/10.9.1/linux/workflow-manager-server-patches-apply.json new file mode 100644 index 0000000..1327f17 --- /dev/null +++ b/templates/arcgis-workflow-manager/10.9.1/linux/workflow-manager-server-patches-apply.json @@ -0,0 +1,29 @@ +{ + "arcgis": { + "version": "10.9.1", + "run_as_user": "arcgis", + "repository": { + "patches": "/opt/software/archives/patches" + }, + "server": { + "install_dir": "/opt", + "patches": [ + "ArcGIS-1091-S-MR-PatchB-linux.tar", + "ArcGIS-1091-S-Log4j-PatchB-linux.tar", + "ArcGIS-1091-S-UNDM1-Patch-linux.tar", + "ArcGIS-1091-S-VRPG-Patch-linux.tar", + "ArcGIS-1091-S-K1-Patch-linux.tar", + "ArcGIS-1091-S-SQ-Patch-linux.tar" + ] + }, + "workflow_manager_server": { + "patches": [ + "WorkflowManager-10.9.1-Patch1.tar.gz" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]", + "recipe[arcgis-workflow-manager::install_patches]" + ] +} diff --git a/templates/arcgis-workflow-manager/10.9.1/linux/workflow-manager-server-patches.json b/templates/arcgis-workflow-manager/10.9.1/linux/workflow-manager-server-patches.json new file mode 100644 index 0000000..2093686 --- /dev/null +++ b/templates/arcgis-workflow-manager/10.9.1/linux/workflow-manager-server-patches.json @@ -0,0 +1,17 @@ +{ + "arcgis": { + "version": "10.9.1", + "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/10.9.1/windows/workflow-manager-server-patches-apply.json b/templates/arcgis-workflow-manager/10.9.1/windows/workflow-manager-server-patches-apply.json new file mode 100644 index 0000000..a523959 --- /dev/null +++ b/templates/arcgis-workflow-manager/10.9.1/windows/workflow-manager-server-patches-apply.json @@ -0,0 +1,29 @@ +{ + "arcgis": { + "version": "10.9.1", + "run_as_user": "arcgis", + "repository": { + "patches": "C:\\Software\\Archives\\Patches" + }, + "server": { + "patches": [ + "ArcGIS-1091-S-SP-Patch.msp", + "ArcGIS-1091-S-MR-PatchB.msp", + "ArcGIS-1091-S-Log4j-PatchB.msp", + "ArcGIS-1091-S-UNDM1-Patch.msp", + "ArcGIS-1091-S-VRPG-Patch.msp", + "ArcGIS-1091-S-K1-Patch.msp", + "ArcGIS-1091-S-SQ-Patch.msp" + ] + }, + "workflow_manager_server": { + "patches": [ + "WorkflowManagerServer_10.9.1_Patch1.msp" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]", + "recipe[arcgis-workflow-manager::install_patches]" + ] +} diff --git a/templates/arcgis-workflow-manager/10.9.1/windows/workflow-manager-server-patches.json b/templates/arcgis-workflow-manager/10.9.1/windows/workflow-manager-server-patches.json new file mode 100644 index 0000000..c5f9e7e --- /dev/null +++ b/templates/arcgis-workflow-manager/10.9.1/windows/workflow-manager-server-patches.json @@ -0,0 +1,17 @@ +{ + "arcgis": { + "version": "10.9.1", + "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.0/README.md b/templates/arcgis-workflow-manager/11.0/README.md new file mode 100644 index 0000000..8a4f0b5 --- /dev/null +++ b/templates/arcgis-workflow-manager/11.0/README.md @@ -0,0 +1,196 @@ +--- +layout: default +title: "arcgis-workflow-manager template" +category: templates +item: arcgis-workflow-manager +version: 11.0 +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.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.0.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_110_182874.exe +* ArcGIS_Workflow_Manager_Server_110_182937.exe + +Linux + +* ArcGIS_Server_Linux_110_182973.tar.gz +* ArcGIS_Workflow_Manager_Server_110_183046.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 +``` + +## 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. + +### 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 role requires AWS Tools for PowerShell to be installed on Windows machines and AWS Command Line Interface on Linux machines. + +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.0/linux/workflow-manager-files.json b/templates/arcgis-workflow-manager/11.0/linux/workflow-manager-files.json new file mode 100644 index 0000000..cce3cb4 --- /dev/null +++ b/templates/arcgis-workflow-manager/11.0/linux/workflow-manager-files.json @@ -0,0 +1,24 @@ +{ + "arcgis": { + "repository": { + "local_archives": "/opt/software/archives", + "shared": false, + "server": { + "username": "changeit", + "password": "changeit" + }, + "files": { + "ArcGIS_Server_Linux_110_182973.tar.gz": { + "subfolder": "software/arcgis/11.0" + }, + "ArcGIS_Workflow_Manager_Server_110_183046.tar.gz": { + "subfolder": "software/arcgis/11.0" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-workflow-manager/11.0/linux/workflow-manager-fileserver.json b/templates/arcgis-workflow-manager/11.0/linux/workflow-manager-fileserver.json new file mode 100644 index 0000000..6bf0ecc --- /dev/null +++ b/templates/arcgis-workflow-manager/11.0/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.0/linux/workflow-manager-s3files.json b/templates/arcgis-workflow-manager/11.0/linux/workflow-manager-s3files.json new file mode 100644 index 0000000..e4b8cfb --- /dev/null +++ b/templates/arcgis-workflow-manager/11.0/linux/workflow-manager-s3files.json @@ -0,0 +1,25 @@ +{ + "arcgis": { + "version": "11.0", + "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_110_182973.tar.gz": { + "subfolder": "11.0/setups" + }, + "ArcGIS_Workflow_Manager_Server_110_183046.tar.gz": { + "subfolder": "11.0/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-workflow-manager/11.0/linux/workflow-manager-server-federation.json b/templates/arcgis-workflow-manager/11.0/linux/workflow-manager-server-federation.json new file mode 100644 index 0000000..3252490 --- /dev/null +++ b/templates/arcgis-workflow-manager/11.0/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": "siteadmin", + "admin_password": "change.it", + "is_hosting": false + }, + "portal": { + "private_url": "https://domain.com/portal", + "admin_username": "siteadmin", + "admin_password": "change.it", + "root_cert": "", + "root_cert_alias": "workflowmanager" + } + }, + "run_list": [ + "recipe[arcgis-workflow-manager::federation]" + ] +} diff --git a/templates/arcgis-workflow-manager/11.0/linux/workflow-manager-server-install.json b/templates/arcgis-workflow-manager/11.0/linux/workflow-manager-server-install.json new file mode 100644 index 0000000..d4bf0a9 --- /dev/null +++ b/templates/arcgis-workflow-manager/11.0/linux/workflow-manager-server-install.json @@ -0,0 +1,19 @@ +{ + "arcgis": { + "run_as_user": "arcgis", + "version": "11.0", + "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.0/linux/workflow-manager-server-node.json b/templates/arcgis-workflow-manager/11.0/linux/workflow-manager-server-node.json new file mode 100644 index 0000000..10c14d2 --- /dev/null +++ b/templates/arcgis-workflow-manager/11.0/linux/workflow-manager-server-node.json @@ -0,0 +1,27 @@ +{ + "arcgis": { + "version": "11.0", + "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": "siteadmin", + "admin_password": "change.it", + "pull_license": false, + "log_dir": "/opt/arcgis/server/usr/logs", + "authorization_file": "/opt/software/authorization_files/11.0/server.prvc" + }, + "workflow_manager_server": { + "authorization_file": "/opt/software/authorization_files/11.0/workflow_manager_server.prvc" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::server_node]", + "recipe[arcgis-workflow-manager::server]" + ] +} diff --git a/templates/arcgis-workflow-manager/11.0/linux/workflow-manager-server-patches-apply.json b/templates/arcgis-workflow-manager/11.0/linux/workflow-manager-server-patches-apply.json new file mode 100644 index 0000000..3417ce9 --- /dev/null +++ b/templates/arcgis-workflow-manager/11.0/linux/workflow-manager-server-patches-apply.json @@ -0,0 +1,26 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "repository": { + "patches": "/opt/software/archives/patches" + }, + "server": { + "install_dir": "/opt", + "patches": [ + "ArcGIS-110-S-*.tar", + "ArcGIS-110-S-*.tar.gz" + ] + }, + "workflow_manager_server": { + "patches": [ + "WorkflowManager-11.0-*.tar", + "WorkflowManager-11.0-*.tar.gz" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]", + "recipe[arcgis-workflow-manager::install_patches]" + ] +} diff --git a/templates/arcgis-workflow-manager/11.0/linux/workflow-manager-server-patches.json b/templates/arcgis-workflow-manager/11.0/linux/workflow-manager-server-patches.json new file mode 100644 index 0000000..ba9ed0f --- /dev/null +++ b/templates/arcgis-workflow-manager/11.0/linux/workflow-manager-server-patches.json @@ -0,0 +1,17 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/linux/workflow-manager-server.json b/templates/arcgis-workflow-manager/11.0/linux/workflow-manager-server.json new file mode 100644 index 0000000..dc062c0 --- /dev/null +++ b/templates/arcgis-workflow-manager/11.0/linux/workflow-manager-server.json @@ -0,0 +1,30 @@ +{ + "arcgis": { + "run_as_user": "arcgis", + "version": "11.0", + "repository": { + "archives": "/opt/software/archives", + "setups": "/opt/software/setups" + }, + "server": { + "install_dir": "/opt", + "install_system_requirements": true, + "admin_username": "siteadmin", + "admin_password": "change.it", + "authorization_file": "/opt/software/authorization_files/11.0/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" + }, + "workflow_manager_server": { + "authorization_file": "/opt/software/authorization_files/11.0/workflow_manager_server.prvc" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::server]", + "recipe[arcgis-workflow-manager::server]" + ] +} diff --git a/templates/arcgis-workflow-manager/11.0/windows/workflow-manager-files.json b/templates/arcgis-workflow-manager/11.0/windows/workflow-manager-files.json new file mode 100644 index 0000000..3021e75 --- /dev/null +++ b/templates/arcgis-workflow-manager/11.0/windows/workflow-manager-files.json @@ -0,0 +1,24 @@ +{ + "arcgis": { + "repository": { + "local_archives": "C:\\Software\\Archives", + "shared": false, + "server": { + "username": "changeit", + "password": "changeit" + }, + "files": { + "ArcGIS_Server_Windows_110_182874.exe": { + "subfolder": "software/arcgis/11.0" + }, + "ArcGIS_Workflow_Manager_Server_110_182937.exe": { + "subfolder": "software/arcgis/11.0" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::fileserver]", + "recipe[arcgis-repository::files]" + ] +} diff --git a/templates/arcgis-workflow-manager/11.0/windows/workflow-manager-fileserver.json b/templates/arcgis-workflow-manager/11.0/windows/workflow-manager-fileserver.json new file mode 100644 index 0000000..25cb6cd --- /dev/null +++ b/templates/arcgis-workflow-manager/11.0/windows/workflow-manager-fileserver.json @@ -0,0 +1,20 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "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.0/windows/workflow-manager-s3files.json b/templates/arcgis-workflow-manager/11.0/windows/workflow-manager-s3files.json new file mode 100644 index 0000000..a79d244 --- /dev/null +++ b/templates/arcgis-workflow-manager/11.0/windows/workflow-manager-s3files.json @@ -0,0 +1,25 @@ +{ + "arcgis": { + "version": "11.0", + "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_110_182874.exe": { + "subfolder": "11.0/setups" + }, + "ArcGIS_Workflow_Manager_Server_110_182937.exe": { + "subfolder": "11.0/setups" + } + } + } + }, + "run_list": [ + "recipe[arcgis-repository::s3files2]" + ] +} diff --git a/templates/arcgis-workflow-manager/11.0/windows/workflow-manager-server-federation.json b/templates/arcgis-workflow-manager/11.0/windows/workflow-manager-server-federation.json new file mode 100644 index 0000000..3252490 --- /dev/null +++ b/templates/arcgis-workflow-manager/11.0/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": "siteadmin", + "admin_password": "change.it", + "is_hosting": false + }, + "portal": { + "private_url": "https://domain.com/portal", + "admin_username": "siteadmin", + "admin_password": "change.it", + "root_cert": "", + "root_cert_alias": "workflowmanager" + } + }, + "run_list": [ + "recipe[arcgis-workflow-manager::federation]" + ] +} diff --git a/templates/arcgis-workflow-manager/11.0/windows/workflow-manager-server-install.json b/templates/arcgis-workflow-manager/11.0/windows/workflow-manager-server-install.json new file mode 100644 index 0000000..490a4e8 --- /dev/null +++ b/templates/arcgis-workflow-manager/11.0/windows/workflow-manager-server-install.json @@ -0,0 +1,21 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "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.0/windows/workflow-manager-server-node.json b/templates/arcgis-workflow-manager/11.0/windows/workflow-manager-server-node.json new file mode 100644 index 0000000..c2125f4 --- /dev/null +++ b/templates/arcgis-workflow-manager/11.0/windows/workflow-manager-server-node.json @@ -0,0 +1,31 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "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": "siteadmin", + "admin_password": "change.it", + "pull_license": false, + "log_dir": "C:\\arcgisserver\\logs", + "authorization_file": "C:\\Software\\AuthorizationFiles\\11.0\\Server.prvc" + }, + "workflow_manager_server": { + "authorization_file": "C:\\Software\\AuthorizationFiles\\11.0\\Workflow_Manager_Server.prvc" + } + }, + "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.0/windows/workflow-manager-server-patches-apply.json b/templates/arcgis-workflow-manager/11.0/windows/workflow-manager-server-patches-apply.json new file mode 100644 index 0000000..510da2c --- /dev/null +++ b/templates/arcgis-workflow-manager/11.0/windows/workflow-manager-server-patches-apply.json @@ -0,0 +1,23 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "repository": { + "patches": "C:\\Software\\Archives\\Patches" + }, + "server": { + "patches": [ + "ArcGIS-110-S-*.msp" + ] + }, + "workflow_manager_server": { + "patches": [ + "WorkflowManagerServer_11.0_*.msp" + ] + } + }, + "run_list": [ + "recipe[arcgis-enterprise::install_patches]", + "recipe[arcgis-workflow-manager::install_patches]" + ] +} diff --git a/templates/arcgis-workflow-manager/11.0/windows/workflow-manager-server-patches.json b/templates/arcgis-workflow-manager/11.0/windows/workflow-manager-server-patches.json new file mode 100644 index 0000000..1f93b20 --- /dev/null +++ b/templates/arcgis-workflow-manager/11.0/windows/workflow-manager-server-patches.json @@ -0,0 +1,17 @@ +{ + "arcgis": { + "version": "11.0", + "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.0/windows/workflow-manager-server.json b/templates/arcgis-workflow-manager/11.0/windows/workflow-manager-server.json new file mode 100644 index 0000000..56883ee --- /dev/null +++ b/templates/arcgis-workflow-manager/11.0/windows/workflow-manager-server.json @@ -0,0 +1,33 @@ +{ + "arcgis": { + "version": "11.0", + "run_as_user": "arcgis", + "run_as_password": "Pa$$w0rdPa$$w0rd", + "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": "siteadmin", + "admin_password": "change.it", + "authorization_file": "C:\\Software\\AuthorizationFiles\\11.0\\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" + }, + "workflow_manager_server": { + "authorization_file": "C:\\Software\\AuthorizationFiles\\11.0\\Workflow_Manager_Server.prvc" + } + }, + "run_list": [ + "recipe[arcgis-enterprise::system]", + "recipe[arcgis-enterprise::disable_loopback_check]", + "recipe[arcgis-enterprise::server]", + "recipe[arcgis-workflow-manager::server]" + ] +}