From d3635ffba79b1b866da81a1a2b9f3e056245392e Mon Sep 17 00:00:00 2001 From: Cameron Kroeker Date: Thu, 23 May 2024 13:13:28 -0700 Subject: [PATCH 1/3] Release v5.0.0 --- README.md | 13 +- cookbooks/arcgis-desktop/.kitchen.ec2.yml | 65 -- cookbooks/arcgis-desktop/.kitchen.yml | 81 --- cookbooks/arcgis-desktop/CHANGELOG.md | 78 --- cookbooks/arcgis-desktop/Gemfile | 19 - cookbooks/arcgis-desktop/README.md | 209 ------- cookbooks/arcgis-desktop/Thorfile | 14 - cookbooks/arcgis-desktop/Vagrantfile | 96 --- .../arcgis-desktop/attributes/desktop.rb | 82 --- .../attributes/licensemanager.rb | 148 ----- cookbooks/arcgis-desktop/metadata.rb | 24 - cookbooks/arcgis-desktop/providers/desktop.rb | 86 --- cookbooks/arcgis-desktop/recipes/default.rb | 53 -- cookbooks/arcgis-desktop/resources/desktop.rb | 40 -- cookbooks/arcgis-desktop/spec/spec_helper.rb | 2 - .../spec/unit/recipes/default_spec.rb | 20 - .../download-setups-s3/attributes/default.rb | 49 -- .../download-setups-s3/attributes/desktop.rb | 44 -- .../attributes/licensemanager.rb | 84 --- .../cookbooks/download-setups-s3/metadata.rb | 5 - .../download-setups-s3/recipes/auth_files.rb | 34 -- .../download-setups-s3/recipes/desktop.rb | 21 - .../recipes/licensemanager.rb | 27 - .../integration/default/serverspec/Gemfile | 5 - .../default/serverspec/default_spec.rb | 9 - .../helpers/serverspec/spec_helper.rb | 18 - cookbooks/arcgis-egdb/Berksfile | 7 - cookbooks/arcgis-egdb/CHANGELOG.md | 5 + cookbooks/arcgis-egdb/README.md | 25 +- cookbooks/arcgis-egdb/metadata.rb | 6 +- cookbooks/arcgis-enterprise/Berksfile | 5 - cookbooks/arcgis-enterprise/CHANGELOG.md | 4 + cookbooks/arcgis-enterprise/README.md | 222 ++++--- .../arcgis-enterprise/attributes/datastore.rb | 33 +- .../arcgis-enterprise/attributes/default.rb | 2 +- .../arcgis-enterprise/attributes/portal.rb | 45 +- .../arcgis-enterprise/attributes/server.rb | 59 +- .../attributes/webadaptor.rb | 174 +++--- .../arcgis-enterprise/attributes/webstyles.rb | 30 +- .../libraries/datastore_tools.rb | 22 +- .../libraries/portal_admin_client.rb | 4 +- cookbooks/arcgis-enterprise/metadata.rb | 16 +- .../arcgis-enterprise/providers/datastore.rb | 5 +- .../arcgis-enterprise/providers/patches.rb | 24 +- .../arcgis-enterprise/providers/portal.rb | 81 ++- .../arcgis-enterprise/providers/server.rb | 4 +- .../arcgis-enterprise/recipes/datastore.rb | 3 +- .../recipes/datastore_standby.rb | 3 +- .../recipes/install_patches.rb | 13 +- .../recipes/install_portal.rb | 3 +- .../recipes/install_server.rb | 3 +- cookbooks/arcgis-enterprise/recipes/portal.rb | 5 +- cookbooks/arcgis-enterprise/recipes/server.rb | 4 +- cookbooks/arcgis-enterprise/recipes/system.rb | 28 +- .../recipes/webgisdr_export.rb | 37 ++ .../recipes/webgisdr_import.rb | 37 ++ .../resources/datasources.rb | 4 +- .../arcgis-enterprise/resources/datastore.rb | 5 +- .../resources/gis_service.rb | 4 +- .../arcgis-enterprise/resources/patches.rb | 4 +- .../arcgis-enterprise/resources/portal.rb | 10 +- .../arcgis-enterprise/resources/server.rb | 5 +- .../arcgis-enterprise/resources/webadaptor.rb | 4 +- .../arcgis-enterprise/resources/webstyles.rb | 4 +- cookbooks/arcgis-geoevent/Berksfile | 4 - cookbooks/arcgis-geoevent/CHANGELOG.md | 4 + cookbooks/arcgis-geoevent/README.md | 32 +- .../arcgis-geoevent/attributes/default.rb | 34 +- cookbooks/arcgis-geoevent/metadata.rb | 8 +- .../arcgis-geoevent/resources/geoevent.rb | 4 +- .../templates/default/geoevent.service.erb | 2 +- .../default/geoeventGateway.service.erb | 2 +- cookbooks/arcgis-insights/Berksfile | 5 - cookbooks/arcgis-insights/README.md | 26 +- .../arcgis-insights/attributes/default.rb | 18 +- cookbooks/arcgis-insights/metadata.rb | 8 +- .../arcgis-insights/resources/insights.rb | 4 +- .../.gitignore | 0 .../Berksfile | 4 - cookbooks/arcgis-license-manager/CHANGELOG.md | 9 + .../CONTRIBUTING.md | 0 .../License.txt | 0 cookbooks/arcgis-license-manager/README.md | 96 +++ .../attributes/default.rb | 97 +++ .../chefignore | 0 .../libraries/esri_properties.rb | 2 +- .../libraries/utils.rb | 4 +- cookbooks/arcgis-license-manager/metadata.rb | 23 + .../providers/licensemanager.rb | 27 +- .../providers/user.rb | 12 +- .../recipes/default.rb} | 22 +- .../recipes/licensemanager.rb | 10 +- .../recipes/uninstall.rb | 13 +- .../resources/licensemanager.rb | 6 +- .../resources/user.rb | 6 +- cookbooks/arcgis-mission/CHANGELOG.md | 4 + cookbooks/arcgis-mission/README.md | 40 +- .../arcgis-mission/attributes/default.rb | 39 +- cookbooks/arcgis-mission/metadata.rb | 8 +- cookbooks/arcgis-mission/resources/server.rb | 4 +- cookbooks/arcgis-notebooks/CHANGELOG.md | 4 + cookbooks/arcgis-notebooks/README.md | 69 ++- .../arcgis-notebooks/attributes/default.rb | 68 +-- cookbooks/arcgis-notebooks/metadata.rb | 12 +- cookbooks/arcgis-notebooks/resources/data.rb | 4 +- .../arcgis-notebooks/resources/server.rb | 4 +- cookbooks/arcgis-pro/Berksfile | 3 - cookbooks/arcgis-pro/CHANGELOG.md | 4 + cookbooks/arcgis-pro/README.md | 75 ++- cookbooks/arcgis-pro/attributes/default.rb | 57 +- cookbooks/arcgis-pro/metadata.rb | 10 +- cookbooks/arcgis-pro/recipes/webview2.rb | 36 ++ cookbooks/arcgis-pro/resources/pro.rb | 4 +- cookbooks/arcgis-repository/CHANGELOG.md | 5 + cookbooks/arcgis-repository/README.md | 60 +- .../arcgis-repository/attributes/default.rb | 14 +- .../arcgis-repository/libraries/downloader.rb | 4 +- .../libraries/patches_client.rb | 4 +- cookbooks/arcgis-repository/metadata.rb | 9 +- .../arcgis-repository/recipes/aws_cli.rb | 15 +- .../arcgis-repository/recipes/s3files.rb | 41 +- .../arcgis-repository/recipes/s3files2.rb | 33 +- .../arcgis-repository/resources/files.rb | 4 +- .../arcgis-repository/resources/patches.rb | 4 +- cookbooks/arcgis-video/.gitignore | 22 + cookbooks/arcgis-video/Berksfile | 7 + cookbooks/arcgis-video/CHANGELOG.md | 7 + cookbooks/arcgis-video/License.txt | 101 ++++ cookbooks/arcgis-video/README.md | 342 +++++++++++ cookbooks/arcgis-video/attributes/default.rb | 147 +++++ cookbooks/arcgis-video/chefignore | 104 ++++ .../libraries/server_admin_client.rb | 415 +++++++++++++ cookbooks/arcgis-video/metadata.rb | 32 + cookbooks/arcgis-video/recipes/default.rb | 19 + cookbooks/arcgis-video/recipes/federation.rb | 60 ++ .../arcgis-video/recipes/install_patches.rb | 42 ++ .../arcgis-video/recipes/install_server.rb | 74 +++ .../arcgis-video/recipes/install_server_wa.rb | 63 ++ cookbooks/arcgis-video/recipes/server.rb | 130 ++++ cookbooks/arcgis-video/recipes/server_wa.rb | 33 + .../arcgis-video/recipes/uninstall_server.rb | 33 + .../recipes/uninstall_server_wa.rb | 38 ++ .../recipes/unregister_server_wa.rb} | 23 +- cookbooks/arcgis-video/resources/server.rb | 411 +++++++++++++ .../templates/default/agsvideo.service.erb | 42 ++ .../templates/default/hostname.properties.erb | 1 + .../arcgis-workflow-manager/CHANGELOG.md | 4 + cookbooks/arcgis-workflow-manager/README.md | 57 +- .../attributes/server.rb | 40 +- .../attributes/webapp.rb | 49 -- cookbooks/arcgis-workflow-manager/metadata.rb | 10 +- .../recipes/install_webapp.rb | 53 -- .../recipes/uninstall_webapp.rb | 34 -- .../resources/server.rb | 4 +- .../resources/webapp.rb | 103 ---- .../default/workflowmanager.service.erb | 2 +- cookbooks/arcgis/Berksfile | 26 +- cookbooks/arcgis/CHANGELOG.md | 19 + cookbooks/arcgis/README.md | 10 +- cookbooks/arcgis/metadata.rb | 29 +- cookbooks/esri-iis/CHANGELOG.md | 4 + cookbooks/esri-iis/README.md | 2 +- cookbooks/esri-iis/metadata.rb | 7 +- cookbooks/esri-iis/recipes/default.rb | 2 +- cookbooks/esri-iis/resources/iis.rb | 4 +- cookbooks/esri-tomcat/README.md | 19 +- cookbooks/esri-tomcat/attributes/default.rb | 33 +- cookbooks/esri-tomcat/metadata.rb | 9 +- cookbooks/esri-tomcat/recipes/default.rb | 2 +- cookbooks/esri-tomcat/recipes/install.rb | 4 +- cookbooks/esri-tomcat/recipes/openjdk.rb | 4 +- templates/arcgis-datastore/10.9/README.md | 230 ------- templates/arcgis-datastore/11.2/README.md | 2 +- templates/arcgis-datastore/11.3/README.md | 565 ++++++++++++++++++ .../11.3/linux/arcgis-datastore-files.json | 21 + .../linux/arcgis-datastore-fileserver.json | 6 +- .../linux/arcgis-datastore-graph-primary.json | 31 + .../linux/arcgis-datastore-graph-standby.json | 27 + .../11.3/linux/arcgis-datastore-install.json | 22 + .../linux/arcgis-datastore-object-node.json | 28 + .../11.3/linux/arcgis-datastore-object.json | 32 + .../linux/arcgis-datastore-patches-apply.json | 19 + .../11.3/linux/arcgis-datastore-patches.json | 16 + .../arcgis-datastore-relational-primary.json | 9 +- .../arcgis-datastore-relational-standby.json | 9 +- .../arcgis-datastore-remove-machine.json | 4 +- .../linux/arcgis-datastore-s3files.json | 6 +- .../arcgis-datastore-spatiotemporal-node.json | 10 +- .../arcgis-datastore-spatiotemporal.json | 10 +- ...cgis-datastore-tilecache-cluster-node.json | 9 +- .../arcgis-datastore-tilecache-cluster.json | 9 +- .../arcgis-datastore-tilecache-primary.json | 9 +- .../arcgis-datastore-tilecache-standby.json | 9 +- .../11.3/windows/arcgis-datastore-files.json | 21 + .../windows/arcgis-datastore-fileserver.json | 8 +- .../arcgis-datastore-graph-primary.json | 34 ++ .../arcgis-datastore-graph-standby.json | 30 + .../windows/arcgis-datastore-install.json | 24 + .../windows/arcgis-datastore-object-node.json | 31 + .../11.3/windows/arcgis-datastore-object.json | 35 ++ .../arcgis-datastore-patches-apply.json | 16 + .../windows/arcgis-datastore-patches.json | 16 + .../arcgis-datastore-relational-primary.json | 9 +- .../arcgis-datastore-relational-standby.json | 9 +- .../arcgis-datastore-remove-machine.json | 2 +- .../windows/arcgis-datastore-s3files.json | 6 +- .../arcgis-datastore-spatiotemporal-node.json | 10 +- .../arcgis-datastore-spatiotemporal.json | 10 +- ...cgis-datastore-tilecache-cluster-node.json | 9 +- .../arcgis-datastore-tilecache-cluster.json | 9 +- .../arcgis-datastore-tilecache-primary.json | 9 +- .../arcgis-datastore-tilecache-standby.json | 9 +- templates/arcgis-desktop/10.8.1/README.md | 86 --- .../arcgis-desktop-concurrent-use.json | 27 - .../windows/arcgis-desktop-single-use.json | 28 - templates/arcgis-desktop/10.8.2/README.md | 86 --- .../arcgis-desktop-concurrent-use.json | 27 - .../windows/arcgis-desktop-single-use.json | 28 - templates/arcgis-egdb/10.9/README.md | 153 ----- templates/arcgis-egdb/11.2/README.md | 2 +- templates/arcgis-egdb/11.3/README.md | 174 ++++++ .../linux/arcgis-egdb-rds-postgres-files.json | 21 + .../arcgis-egdb-rds-postgres-s3files.json | 6 +- .../linux/arcgis-egdb-rds-postgres.json | 19 +- .../arcgis-egdb-rds-postgres-files.json | 21 + .../arcgis-egdb-rds-postgres-s3files.json | 6 +- .../windows/arcgis-egdb-rds-postgres.json | 20 +- .../arcgis-egdb-rds-sqlserver-files.json | 28 + .../arcgis-egdb-rds-sqlserver-node.json | 2 +- .../arcgis-egdb-rds-sqlserver-s3files.json | 10 +- .../windows/arcgis-egdb-rds-sqlserver.json | 19 +- .../arcgis-enterprise-base/10.9/README.md | 221 ------- .../10.9/linux/arcgis-enterprise-install.json | 57 -- .../10.9/linux/arcgis-enterprise-s3files.json | 42 -- .../windows/arcgis-enterprise-s3files.json | 34 -- .../arcgis-enterprise-base/11.2/README.md | 8 +- .../arcgis-enterprise-base/11.3/README.md | 399 +++++++++++++ .../11.3/linux/arcgis-enterprise-files.json | 40 ++ .../linux/arcgis-enterprise-fileserver.json | 3 +- .../11.3/linux/arcgis-enterprise-install.json | 60 ++ .../arcgis-enterprise-patches-apply.json | 36 ++ .../11.3/linux/arcgis-enterprise-patches.json | 19 + .../linux/arcgis-enterprise-primary.json | 48 +- .../11.3/linux/arcgis-enterprise-s3files.json | 42 ++ .../linux/arcgis-enterprise-standby.json | 47 +- .../arcgis-enterprise-webgisdr-export.json | 26 + .../arcgis-enterprise-webgisdr-import.json | 26 + .../11.3/windows/arcgis-enterprise-files.json | 45 ++ .../windows/arcgis-enterprise-fileserver.json | 5 +- .../windows/arcgis-enterprise-install.json | 35 +- .../arcgis-enterprise-patches-apply.json | 31 + .../windows/arcgis-enterprise-patches.json | 19 + .../windows/arcgis-enterprise-primary.json | 29 +- .../windows/arcgis-enterprise-s3files.json | 46 ++ .../windows/arcgis-enterprise-standby.json | 30 +- .../arcgis-enterprise-webgisdr-export.json | 27 + .../arcgis-enterprise-webgisdr-import.json | 27 + .../arcgis-geoevent-server/10.9/README.md | 157 ----- .../10.9/linux/geoevent-server-s3files.json | 34 -- .../linux/geoevent-server-webadaptor.json | 41 -- .../windows/geoevent-server-webadaptor.json | 33 - .../arcgis-geoevent-server/11.2/README.md | 2 +- .../arcgis-geoevent-server/11.3/README.md | 289 +++++++++ .../linux/geoevent-server-federation.json | 21 + .../11.3/linux/geoevent-server-files.json | 24 + .../linux/geoevent-server-fileserver.json | 0 .../linux/geoevent-server-install.json | 7 +- .../linux/geoevent-server-patches-apply.json | 26 + .../11.3/linux/geoevent-server-patches.json | 17 + .../11.3/linux/geoevent-server-s3files.json | 25 + .../{10.9 => 11.3}/linux/geoevent-server.json | 17 +- .../windows/geoevent-server-federation.json | 21 + .../11.3/windows/geoevent-server-files.json | 27 + .../windows/geoevent-server-fileserver.json | 4 +- .../windows/geoevent-server-install.json | 8 +- .../geoevent-server-patches-apply.json | 23 + .../11.3/windows/geoevent-server-patches.json | 17 + .../11.3/windows/geoevent-server-reset.json | 12 + .../windows/geoevent-server-s3files.json} | 13 +- .../windows/geoevent-server.json | 18 +- .../arcgis-license-manager/2024.0/README.md | 83 +++ .../linux/arcgis-license-manager-install.json | 17 + .../arcgis-license-manager-install.json | 15 + .../arcgis-mission-server/10.8.1/README.md | 70 --- .../ubuntu/mission-server-federation.json | 18 - .../10.8.1/ubuntu/mission-server-primary.json | 65 -- .../windows/mission-server-federation.json | 18 - .../windows/mission-server-primary.json | 52 -- .../arcgis-mission-server/10.8/README.md | 70 --- .../ubuntu/mission-server-federation.json | 18 - .../10.8/ubuntu/mission-server-primary.json | 63 -- .../windows/mission-server-federation.json | 18 - .../10.8/windows/mission-server-primary.json | 47 -- .../arcgis-mission-server/10.9/README.md | 199 ------ .../mission-server-unregister-machine.json | 12 - .../10.9/linux/mission-server-webadaptor.json | 40 -- .../mission-server-unregister-machine.json | 12 - .../arcgis-mission-server/11.2/README.md | 2 +- .../arcgis-mission-server/11.3/README.md | 331 ++++++++++ .../linux/mission-server-federation.json | 10 +- .../11.3/linux/mission-server-files.json | 21 + .../linux/mission-server-fileserver.json | 2 +- .../linux/mission-server-install.json | 4 +- .../linux/mission-server-node.json | 12 +- .../linux/mission-server-patches-apply.json | 17 + .../11.3/linux/mission-server-patches.json | 16 + .../11.3/linux/mission-server-s3files.json | 22 + .../mission-server-unregister-machine.json | 12 + .../{10.9 => 11.3}/linux/mission-server.json | 12 +- .../windows/mission-server-federation.json | 10 +- .../11.3/windows/mission-server-files.json | 21 + .../windows/mission-server-fileserver.json | 4 +- .../windows/mission-server-install.json | 4 +- .../windows/mission-server-node.json | 10 +- .../windows/mission-server-patches-apply.json | 16 + .../11.3/windows/mission-server-patches.json | 16 + .../11.3/windows/mission-server-s3files.json | 22 + .../mission-server-unregister-machine.json | 12 + .../windows/mission-server.json | 10 +- .../arcgis-notebook-server/10.8.1/README.md | 75 --- .../ubuntu/notebook-server-federation.json | 18 - .../10.8.1/ubuntu/notebook-server-node.json | 45 -- .../ubuntu/notebook-server-primary.json | 80 --- .../notebook-server-unregister-node.json | 12 - .../arcgis-notebook-server/10.8/README.md | 75 --- .../ubuntu/notebook-server-federation.json | 18 - .../10.8/ubuntu/notebook-server-node.json | 42 -- .../10.8/ubuntu/notebook-server-primary.json | 77 --- .../arcgis-notebook-server/10.9/README.md | 173 ------ .../10.9/linux/notebook-server-s3files.json | 40 -- .../notebook-server-unregister-node.json | 12 - .../linux/notebook-server-webadaptor.json | 40 -- .../arcgis-notebook-server/11.2/README.md | 2 +- .../arcgis-notebook-server/11.3/README.md | 333 +++++++++++ .../linux/notebook-server-federation.json | 10 +- .../11.3/linux/notebook-server-files.json | 30 + .../linux/notebook-server-fileserver.json | 8 +- .../11.3/linux/notebook-server-install.json | 24 + .../linux/notebook-server-node.json | 13 +- .../linux/notebook-server-patches-apply.json | 17 + .../11.3/linux/notebook-server-patches.json | 16 + .../11.3/linux/notebook-server-s3files.json} | 18 +- .../notebook-server-unregister-node.json | 12 + .../{10.9 => 11.3}/linux/notebook-server.json | 15 +- templates/arcgis-portal/10.9/README.md | 196 ------ .../10.9/linux/arcgis-portal-s3files.json | 36 -- .../10.9/linux/arcgis-portal-webadaptor.json | 42 -- templates/arcgis-portal/11.2/README.md | 2 +- templates/arcgis-portal/11.3/README.md | 307 ++++++++++ .../11.3/linux/arcgis-portal-files.json | 25 + .../linux/arcgis-portal-fileserver.json | 2 +- .../linux/arcgis-portal-install.json | 6 +- .../linux/arcgis-portal-patches-apply.json | 19 + .../11.3/linux/arcgis-portal-patches.json | 16 + .../linux/arcgis-portal-primary.json | 15 +- .../11.3/linux/arcgis-portal-s3files.json | 27 + .../linux/arcgis-portal-standby.json | 15 +- .../11.3/windows/arcgis-portal-files.json | 27 + .../windows/arcgis-portal-fileserver.json | 4 +- .../windows/arcgis-portal-install.json | 7 +- .../windows/arcgis-portal-patches-apply.json | 16 + .../11.3/windows/arcgis-portal-patches.json | 16 + .../windows/arcgis-portal-primary.json | 15 +- .../windows/arcgis-portal-s3files.json | 14 +- .../windows/arcgis-portal-standby.json | 15 +- .../2.8/windows/ms-dotnet-install.json | 9 - templates/arcgis-pro/{2.8 => 3.3}/README.md | 37 +- .../windows/arcgis-pro-concurrent-use.json | 4 +- .../windows/arcgis-pro-install.json | 2 +- .../windows/arcgis-pro-named-user.json | 4 +- .../windows/arcgis-pro-s3files.json | 4 +- .../windows/arcgis-pro-single-use.json | 4 +- .../3.3/windows/ms-dotnet-install.json | 9 + .../windows/ms-dotnet-s3files.json | 4 +- .../3.3/windows/webview2-install.json | 8 + .../3.3/windows/webview2-s3files.json | 21 + templates/arcgis-server/10.9/README.md | 278 --------- .../10.9/linux/arcgis-server-webadaptor.json | 43 -- .../windows/arcgis-server-webadaptor.json | 33 - templates/arcgis-server/11.2/README.md | 2 +- templates/arcgis-server/11.3/README.md | 425 +++++++++++++ .../11.3/linux/arcgis-server-files.json | 21 + .../linux/arcgis-server-fileserver.json | 0 .../linux/arcgis-server-install.json | 4 +- .../linux/arcgis-server-node.json | 16 +- .../linux/arcgis-server-patches-apply.json | 19 + .../11.3/linux/arcgis-server-patches.json | 16 + .../linux/arcgis-server-raster-store.json | 4 +- .../11.3/linux/arcgis-server-s3files.json | 22 + .../{10.9 => 11.3}/linux/arcgis-server.json | 13 +- .../linux/geoanalytics-federation.json | 10 +- .../linux}/gis-server-federation.json | 10 +- .../linux}/imagehosting-federation.json | 10 +- .../linux/knowledgeserver-federation.json | 22 + .../linux/rasteranalytics-federation.json | 10 +- .../11.3/linux/unfederate-server.json | 15 + .../linux/unregister-machine.json | 4 +- .../11.3/windows/arcgis-server-files.json | 24 + .../windows/arcgis-server-fileserver.json | 4 +- .../windows/arcgis-server-install.json | 7 +- .../windows/arcgis-server-node.json | 14 +- .../windows/arcgis-server-patches-apply.json | 16 + .../11.3/windows/arcgis-server-patches.json | 16 + .../windows/arcgis-server-raster-store.json | 4 +- .../windows/arcgis-server-s3files.json | 10 +- .../{10.9 => 11.3}/windows/arcgis-server.json | 14 +- .../windows/geoanalytics-federation.json | 10 +- .../windows}/gis-server-federation.json | 10 +- .../windows}/imagehosting-federation.json | 10 +- .../windows/knowledgeserver-federation.json | 22 + .../windows/rasteranalytics-federation.json | 10 +- .../11.3/windows/unfederate-server.json | 15 + .../windows/unregister-machine.json | 4 +- templates/arcgis-video-server/11.3/README.md | 175 ++++++ .../11.3/linux/video-server-federation.json | 20 + .../11.3/linux/video-server-files.json | 21 + .../11.3/linux/video-server-install.json | 19 + .../linux/video-server-patches-apply.json | 17 + .../11.3/linux/video-server-patches.json | 16 + .../11.3/linux/video-server-s3files.json | 22 + .../11.3/linux/video-server.json | 27 + .../11.3/windows/video-server-federation.json | 20 + .../11.3/windows/video-server-files.json | 21 + .../11.3/windows/video-server-install.json | 21 + .../windows/video-server-patches-apply.json | 16 + .../11.3/windows/video-server-patches.json | 16 + .../11.3/windows/video-server-s3files.json | 22 + .../11.3/windows/video-server.json | 29 + templates/arcgis-webadaptor/11.2/README.md | 2 +- templates/arcgis-webadaptor/11.3/README.md | 308 ++++++++++ ...gis-mission-server-webadaptor-install.json | 35 ++ ...-mission-server-webadaptor-unregister.json | 12 + .../arcgis-mission-server-webadaptor.json | 42 ++ ...is-notebook-server-webadaptor-install.json | 36 ++ ...notebook-server-webadaptor-unregister.json | 12 + .../arcgis-notebook-server-webadaptor.json | 43 ++ .../arcgis-portal-webadaptor-install.json | 35 ++ .../11.3/linux/arcgis-portal-webadaptor.json | 43 ++ .../arcgis-server-webadaptor-install.json | 35 ++ .../arcgis-server-webadaptor-unregister.json | 12 + .../11.3/linux/arcgis-server-webadaptor.json | 43 ++ ...rcgis-video-server-webadaptor-install.json | 35 ++ ...is-video-server-webadaptor-unregister.json | 12 + .../linux/arcgis-video-server-webadaptor.json | 42 ++ .../11.3/linux/arcgis-webadaptor-files.json | 27 + .../arcgis-webadaptor-patches-apply.json | 18 + .../11.3/linux/arcgis-webadaptor-patches.json | 16 + .../linux/arcgis-webadaptor-s3files.json} | 17 +- ...gis-mission-server-webadaptor-install.json | 25 + ...-mission-server-webadaptor-unregister.json | 12 + .../arcgis-mission-server-webadaptor.json} | 13 +- .../arcgis-portal-webadaptor-install.json | 24 + .../windows/arcgis-portal-webadaptor.json | 13 +- .../arcgis-server-webadaptor-install.json | 24 + .../arcgis-server-webadaptor-unregister.json | 12 + .../windows/arcgis-server-webadaptor.json | 35 ++ ...rcgis-video-server-webadaptor-install.json | 25 + ...is-video-server-webadaptor-unregister.json | 12 + .../arcgis-video-server-webadaptor.json | 36 ++ .../11.3/windows/arcgis-webadaptor-files.json | 27 + .../arcgis-webadaptor-patches-apply.json | 16 + .../windows/arcgis-webadaptor-patches.json | 16 + .../windows/arcgis-webadaptor-s3files.json} | 14 +- .../arcgis-workflow-manager/11.2/README.md | 2 +- .../arcgis-workflow-manager/11.3/README.md | 208 +++++++ .../11.3/linux/workflow-manager-files.json | 24 + .../linux/workflow-manager-fileserver.json | 18 + .../11.3/linux/workflow-manager-s3files.json | 25 + .../workflow-manager-server-federation.json | 21 + .../workflow-manager-server-install.json | 19 + .../linux/workflow-manager-server-node.json | 28 + ...workflow-manager-server-patches-apply.json | 26 + .../workflow-manager-server-patches.json | 17 + .../11.3/linux/workflow-manager-server.json | 35 ++ .../11.3/windows/workflow-manager-files.json | 27 + .../windows/workflow-manager-fileserver.json | 20 + .../windows/workflow-manager-s3files.json | 28 + .../workflow-manager-server-federation.json | 21 + .../workflow-manager-server-install.json | 21 + .../windows/workflow-manager-server-node.json | 32 + ...workflow-manager-server-patches-apply.json | 23 + .../workflow-manager-server-patches.json | 17 + .../11.3/windows/workflow-manager-server.json | 38 ++ 483 files changed, 11043 insertions(+), 6353 deletions(-) delete mode 100644 cookbooks/arcgis-desktop/.kitchen.ec2.yml delete mode 100644 cookbooks/arcgis-desktop/.kitchen.yml delete mode 100644 cookbooks/arcgis-desktop/CHANGELOG.md delete mode 100644 cookbooks/arcgis-desktop/Gemfile delete mode 100644 cookbooks/arcgis-desktop/README.md delete mode 100644 cookbooks/arcgis-desktop/Thorfile delete mode 100644 cookbooks/arcgis-desktop/Vagrantfile delete mode 100644 cookbooks/arcgis-desktop/attributes/desktop.rb delete mode 100644 cookbooks/arcgis-desktop/attributes/licensemanager.rb delete mode 100644 cookbooks/arcgis-desktop/metadata.rb delete mode 100644 cookbooks/arcgis-desktop/providers/desktop.rb delete mode 100644 cookbooks/arcgis-desktop/recipes/default.rb delete mode 100644 cookbooks/arcgis-desktop/resources/desktop.rb delete mode 100644 cookbooks/arcgis-desktop/spec/spec_helper.rb delete mode 100644 cookbooks/arcgis-desktop/spec/unit/recipes/default_spec.rb delete mode 100644 cookbooks/arcgis-desktop/test/fixtures/cookbooks/download-setups-s3/attributes/default.rb delete mode 100644 cookbooks/arcgis-desktop/test/fixtures/cookbooks/download-setups-s3/attributes/desktop.rb delete mode 100644 cookbooks/arcgis-desktop/test/fixtures/cookbooks/download-setups-s3/attributes/licensemanager.rb delete mode 100644 cookbooks/arcgis-desktop/test/fixtures/cookbooks/download-setups-s3/metadata.rb delete mode 100644 cookbooks/arcgis-desktop/test/fixtures/cookbooks/download-setups-s3/recipes/auth_files.rb delete mode 100644 cookbooks/arcgis-desktop/test/fixtures/cookbooks/download-setups-s3/recipes/desktop.rb delete mode 100644 cookbooks/arcgis-desktop/test/fixtures/cookbooks/download-setups-s3/recipes/licensemanager.rb delete mode 100644 cookbooks/arcgis-desktop/test/integration/default/serverspec/Gemfile delete mode 100644 cookbooks/arcgis-desktop/test/integration/default/serverspec/default_spec.rb delete mode 100644 cookbooks/arcgis-desktop/test/integration/helpers/serverspec/spec_helper.rb create mode 100644 cookbooks/arcgis-enterprise/recipes/webgisdr_export.rb create mode 100644 cookbooks/arcgis-enterprise/recipes/webgisdr_import.rb rename cookbooks/{arcgis-desktop => arcgis-license-manager}/.gitignore (100%) rename cookbooks/{arcgis-desktop => arcgis-license-manager}/Berksfile (70%) create mode 100644 cookbooks/arcgis-license-manager/CHANGELOG.md rename cookbooks/{arcgis-desktop => arcgis-license-manager}/CONTRIBUTING.md (100%) rename cookbooks/{arcgis-desktop => arcgis-license-manager}/License.txt (100%) create mode 100644 cookbooks/arcgis-license-manager/README.md create mode 100644 cookbooks/arcgis-license-manager/attributes/default.rb rename cookbooks/{arcgis-desktop => arcgis-license-manager}/chefignore (100%) rename cookbooks/{arcgis-desktop => arcgis-license-manager}/libraries/esri_properties.rb (98%) rename cookbooks/{arcgis-desktop => arcgis-license-manager}/libraries/utils.rb (93%) create mode 100644 cookbooks/arcgis-license-manager/metadata.rb rename cookbooks/{arcgis-desktop => arcgis-license-manager}/providers/licensemanager.rb (82%) rename cookbooks/{arcgis-desktop => arcgis-license-manager}/providers/user.rb (87%) rename cookbooks/{arcgis-desktop/recipes/lp-install.rb => arcgis-license-manager/recipes/default.rb} (51%) rename cookbooks/{arcgis-desktop => arcgis-license-manager}/recipes/licensemanager.rb (84%) rename cookbooks/{arcgis-desktop => arcgis-license-manager}/recipes/uninstall.rb (74%) rename cookbooks/{arcgis-desktop => arcgis-license-manager}/resources/licensemanager.rb (91%) rename cookbooks/{arcgis-desktop => arcgis-license-manager}/resources/user.rb (88%) create mode 100644 cookbooks/arcgis-pro/recipes/webview2.rb create mode 100644 cookbooks/arcgis-video/.gitignore create mode 100644 cookbooks/arcgis-video/Berksfile create mode 100644 cookbooks/arcgis-video/CHANGELOG.md create mode 100644 cookbooks/arcgis-video/License.txt create mode 100644 cookbooks/arcgis-video/README.md create mode 100644 cookbooks/arcgis-video/attributes/default.rb create mode 100644 cookbooks/arcgis-video/chefignore create mode 100644 cookbooks/arcgis-video/libraries/server_admin_client.rb create mode 100644 cookbooks/arcgis-video/metadata.rb create mode 100644 cookbooks/arcgis-video/recipes/default.rb create mode 100644 cookbooks/arcgis-video/recipes/federation.rb create mode 100644 cookbooks/arcgis-video/recipes/install_patches.rb create mode 100644 cookbooks/arcgis-video/recipes/install_server.rb create mode 100644 cookbooks/arcgis-video/recipes/install_server_wa.rb create mode 100644 cookbooks/arcgis-video/recipes/server.rb create mode 100644 cookbooks/arcgis-video/recipes/server_wa.rb create mode 100644 cookbooks/arcgis-video/recipes/uninstall_server.rb create mode 100644 cookbooks/arcgis-video/recipes/uninstall_server_wa.rb rename cookbooks/{arcgis-desktop/attributes/default.rb => arcgis-video/recipes/unregister_server_wa.rb} (55%) create mode 100644 cookbooks/arcgis-video/resources/server.rb create mode 100644 cookbooks/arcgis-video/templates/default/agsvideo.service.erb create mode 100644 cookbooks/arcgis-video/templates/default/hostname.properties.erb delete mode 100644 cookbooks/arcgis-workflow-manager/attributes/webapp.rb delete mode 100644 cookbooks/arcgis-workflow-manager/recipes/install_webapp.rb delete mode 100644 cookbooks/arcgis-workflow-manager/recipes/uninstall_webapp.rb delete mode 100644 cookbooks/arcgis-workflow-manager/resources/webapp.rb delete mode 100644 templates/arcgis-datastore/10.9/README.md create mode 100644 templates/arcgis-datastore/11.3/README.md create mode 100644 templates/arcgis-datastore/11.3/linux/arcgis-datastore-files.json rename templates/arcgis-datastore/{10.9 => 11.3}/linux/arcgis-datastore-fileserver.json (74%) create mode 100644 templates/arcgis-datastore/11.3/linux/arcgis-datastore-graph-primary.json create mode 100644 templates/arcgis-datastore/11.3/linux/arcgis-datastore-graph-standby.json create mode 100644 templates/arcgis-datastore/11.3/linux/arcgis-datastore-install.json create mode 100644 templates/arcgis-datastore/11.3/linux/arcgis-datastore-object-node.json create mode 100644 templates/arcgis-datastore/11.3/linux/arcgis-datastore-object.json create mode 100644 templates/arcgis-datastore/11.3/linux/arcgis-datastore-patches-apply.json create mode 100644 templates/arcgis-datastore/11.3/linux/arcgis-datastore-patches.json rename templates/arcgis-datastore/{10.9 => 11.3}/linux/arcgis-datastore-relational-primary.json (77%) rename templates/arcgis-datastore/{10.9 => 11.3}/linux/arcgis-datastore-relational-standby.json (73%) rename templates/arcgis-datastore/{10.9 => 11.3}/linux/arcgis-datastore-remove-machine.json (84%) rename templates/arcgis-datastore/{10.9 => 11.3}/linux/arcgis-datastore-s3files.json (76%) rename templates/arcgis-datastore/{10.9 => 11.3}/linux/arcgis-datastore-spatiotemporal-node.json (70%) rename templates/arcgis-datastore/{10.9 => 11.3}/linux/arcgis-datastore-spatiotemporal.json (75%) rename templates/arcgis-datastore/{10.9 => 11.3}/linux/arcgis-datastore-tilecache-cluster-node.json (74%) rename templates/arcgis-datastore/{10.9 => 11.3}/linux/arcgis-datastore-tilecache-cluster.json (78%) rename templates/arcgis-datastore/{10.9 => 11.3}/linux/arcgis-datastore-tilecache-primary.json (78%) rename templates/arcgis-datastore/{10.9 => 11.3}/linux/arcgis-datastore-tilecache-standby.json (74%) create mode 100644 templates/arcgis-datastore/11.3/windows/arcgis-datastore-files.json rename templates/arcgis-datastore/{10.9 => 11.3}/windows/arcgis-datastore-fileserver.json (70%) create mode 100644 templates/arcgis-datastore/11.3/windows/arcgis-datastore-graph-primary.json create mode 100644 templates/arcgis-datastore/11.3/windows/arcgis-datastore-graph-standby.json create mode 100644 templates/arcgis-datastore/11.3/windows/arcgis-datastore-install.json create mode 100644 templates/arcgis-datastore/11.3/windows/arcgis-datastore-object-node.json create mode 100644 templates/arcgis-datastore/11.3/windows/arcgis-datastore-object.json create mode 100644 templates/arcgis-datastore/11.3/windows/arcgis-datastore-patches-apply.json create mode 100644 templates/arcgis-datastore/11.3/windows/arcgis-datastore-patches.json rename templates/arcgis-datastore/{10.9 => 11.3}/windows/arcgis-datastore-relational-primary.json (79%) rename templates/arcgis-datastore/{10.9 => 11.3}/windows/arcgis-datastore-relational-standby.json (76%) rename templates/arcgis-datastore/{10.9 => 11.3}/windows/arcgis-datastore-remove-machine.json (93%) rename templates/arcgis-datastore/{10.9 => 11.3}/windows/arcgis-datastore-s3files.json (77%) rename templates/arcgis-datastore/{10.9 => 11.3}/windows/arcgis-datastore-spatiotemporal-node.json (74%) rename templates/arcgis-datastore/{10.9 => 11.3}/windows/arcgis-datastore-spatiotemporal.json (77%) rename templates/arcgis-datastore/{10.9 => 11.3}/windows/arcgis-datastore-tilecache-cluster-node.json (77%) rename templates/arcgis-datastore/{10.9 => 11.3}/windows/arcgis-datastore-tilecache-cluster.json (79%) rename templates/arcgis-datastore/{10.9 => 11.3}/windows/arcgis-datastore-tilecache-primary.json (80%) rename templates/arcgis-datastore/{10.9 => 11.3}/windows/arcgis-datastore-tilecache-standby.json (77%) delete mode 100644 templates/arcgis-desktop/10.8.1/README.md delete mode 100644 templates/arcgis-desktop/10.8.1/windows/arcgis-desktop-concurrent-use.json delete mode 100644 templates/arcgis-desktop/10.8.1/windows/arcgis-desktop-single-use.json delete mode 100644 templates/arcgis-desktop/10.8.2/README.md delete mode 100644 templates/arcgis-desktop/10.8.2/windows/arcgis-desktop-concurrent-use.json delete mode 100644 templates/arcgis-desktop/10.8.2/windows/arcgis-desktop-single-use.json delete mode 100644 templates/arcgis-egdb/10.9/README.md create mode 100644 templates/arcgis-egdb/11.3/README.md create mode 100644 templates/arcgis-egdb/11.3/linux/arcgis-egdb-rds-postgres-files.json rename templates/arcgis-egdb/{10.9 => 11.3}/linux/arcgis-egdb-rds-postgres-s3files.json (77%) rename templates/arcgis-egdb/{10.9 => 11.3}/linux/arcgis-egdb-rds-postgres.json (72%) create mode 100644 templates/arcgis-egdb/11.3/windows/arcgis-egdb-rds-postgres-files.json rename templates/arcgis-egdb/{10.9 => 11.3}/windows/arcgis-egdb-rds-postgres-s3files.json (77%) rename templates/arcgis-egdb/{10.9 => 11.3}/windows/arcgis-egdb-rds-postgres.json (73%) create mode 100644 templates/arcgis-egdb/11.3/windows/arcgis-egdb-rds-sqlserver-files.json rename templates/arcgis-egdb/{10.9 => 11.3}/windows/arcgis-egdb-rds-sqlserver-node.json (94%) rename templates/arcgis-egdb/{10.9 => 11.3}/windows/arcgis-egdb-rds-sqlserver-s3files.json (74%) rename templates/arcgis-egdb/{10.9 => 11.3}/windows/arcgis-egdb-rds-sqlserver.json (68%) delete mode 100644 templates/arcgis-enterprise-base/10.9/README.md delete mode 100644 templates/arcgis-enterprise-base/10.9/linux/arcgis-enterprise-install.json delete mode 100644 templates/arcgis-enterprise-base/10.9/linux/arcgis-enterprise-s3files.json delete mode 100644 templates/arcgis-enterprise-base/10.9/windows/arcgis-enterprise-s3files.json create mode 100644 templates/arcgis-enterprise-base/11.3/README.md create mode 100644 templates/arcgis-enterprise-base/11.3/linux/arcgis-enterprise-files.json rename templates/arcgis-enterprise-base/{10.9 => 11.3}/linux/arcgis-enterprise-fileserver.json (90%) create mode 100644 templates/arcgis-enterprise-base/11.3/linux/arcgis-enterprise-install.json create mode 100644 templates/arcgis-enterprise-base/11.3/linux/arcgis-enterprise-patches-apply.json create mode 100644 templates/arcgis-enterprise-base/11.3/linux/arcgis-enterprise-patches.json rename templates/arcgis-enterprise-base/{10.9 => 11.3}/linux/arcgis-enterprise-primary.json (68%) create mode 100644 templates/arcgis-enterprise-base/11.3/linux/arcgis-enterprise-s3files.json rename templates/arcgis-enterprise-base/{10.9 => 11.3}/linux/arcgis-enterprise-standby.json (53%) create mode 100644 templates/arcgis-enterprise-base/11.3/linux/arcgis-enterprise-webgisdr-export.json create mode 100644 templates/arcgis-enterprise-base/11.3/linux/arcgis-enterprise-webgisdr-import.json create mode 100644 templates/arcgis-enterprise-base/11.3/windows/arcgis-enterprise-files.json rename templates/arcgis-enterprise-base/{10.9 => 11.3}/windows/arcgis-enterprise-fileserver.json (85%) rename templates/arcgis-enterprise-base/{10.9 => 11.3}/windows/arcgis-enterprise-install.json (57%) create mode 100644 templates/arcgis-enterprise-base/11.3/windows/arcgis-enterprise-patches-apply.json create mode 100644 templates/arcgis-enterprise-base/11.3/windows/arcgis-enterprise-patches.json rename templates/arcgis-enterprise-base/{10.9 => 11.3}/windows/arcgis-enterprise-primary.json (80%) create mode 100644 templates/arcgis-enterprise-base/11.3/windows/arcgis-enterprise-s3files.json rename templates/arcgis-enterprise-base/{10.9 => 11.3}/windows/arcgis-enterprise-standby.json (69%) create mode 100644 templates/arcgis-enterprise-base/11.3/windows/arcgis-enterprise-webgisdr-export.json create mode 100644 templates/arcgis-enterprise-base/11.3/windows/arcgis-enterprise-webgisdr-import.json delete mode 100644 templates/arcgis-geoevent-server/10.9/README.md delete mode 100644 templates/arcgis-geoevent-server/10.9/linux/geoevent-server-s3files.json delete mode 100644 templates/arcgis-geoevent-server/10.9/linux/geoevent-server-webadaptor.json delete mode 100644 templates/arcgis-geoevent-server/10.9/windows/geoevent-server-webadaptor.json create mode 100644 templates/arcgis-geoevent-server/11.3/README.md create mode 100644 templates/arcgis-geoevent-server/11.3/linux/geoevent-server-federation.json create mode 100644 templates/arcgis-geoevent-server/11.3/linux/geoevent-server-files.json rename templates/arcgis-geoevent-server/{10.9 => 11.3}/linux/geoevent-server-fileserver.json (100%) rename templates/arcgis-geoevent-server/{10.9 => 11.3}/linux/geoevent-server-install.json (73%) create mode 100644 templates/arcgis-geoevent-server/11.3/linux/geoevent-server-patches-apply.json create mode 100644 templates/arcgis-geoevent-server/11.3/linux/geoevent-server-patches.json create mode 100644 templates/arcgis-geoevent-server/11.3/linux/geoevent-server-s3files.json rename templates/arcgis-geoevent-server/{10.9 => 11.3}/linux/geoevent-server.json (73%) create mode 100644 templates/arcgis-geoevent-server/11.3/windows/geoevent-server-federation.json create mode 100644 templates/arcgis-geoevent-server/11.3/windows/geoevent-server-files.json rename templates/arcgis-geoevent-server/{10.9 => 11.3}/windows/geoevent-server-fileserver.json (84%) rename templates/arcgis-geoevent-server/{10.9 => 11.3}/windows/geoevent-server-install.json (77%) create mode 100644 templates/arcgis-geoevent-server/11.3/windows/geoevent-server-patches-apply.json create mode 100644 templates/arcgis-geoevent-server/11.3/windows/geoevent-server-patches.json create mode 100644 templates/arcgis-geoevent-server/11.3/windows/geoevent-server-reset.json rename templates/{arcgis-mission-server/10.9/windows/mission-server-s3files.json => arcgis-geoevent-server/11.3/windows/geoevent-server-s3files.json} (56%) rename templates/arcgis-geoevent-server/{10.9 => 11.3}/windows/geoevent-server.json (77%) create mode 100644 templates/arcgis-license-manager/2024.0/README.md create mode 100644 templates/arcgis-license-manager/2024.0/linux/arcgis-license-manager-install.json create mode 100644 templates/arcgis-license-manager/2024.0/windows/arcgis-license-manager-install.json delete mode 100644 templates/arcgis-mission-server/10.8.1/README.md delete mode 100644 templates/arcgis-mission-server/10.8.1/ubuntu/mission-server-federation.json delete mode 100644 templates/arcgis-mission-server/10.8.1/ubuntu/mission-server-primary.json delete mode 100644 templates/arcgis-mission-server/10.8.1/windows/mission-server-federation.json delete mode 100644 templates/arcgis-mission-server/10.8.1/windows/mission-server-primary.json delete mode 100644 templates/arcgis-mission-server/10.8/README.md delete mode 100644 templates/arcgis-mission-server/10.8/ubuntu/mission-server-federation.json delete mode 100644 templates/arcgis-mission-server/10.8/ubuntu/mission-server-primary.json delete mode 100644 templates/arcgis-mission-server/10.8/windows/mission-server-federation.json delete mode 100644 templates/arcgis-mission-server/10.8/windows/mission-server-primary.json delete mode 100644 templates/arcgis-mission-server/10.9/README.md delete mode 100644 templates/arcgis-mission-server/10.9/linux/mission-server-unregister-machine.json delete mode 100644 templates/arcgis-mission-server/10.9/linux/mission-server-webadaptor.json delete mode 100644 templates/arcgis-mission-server/10.9/windows/mission-server-unregister-machine.json create mode 100644 templates/arcgis-mission-server/11.3/README.md rename templates/arcgis-mission-server/{10.9 => 11.3}/linux/mission-server-federation.json (52%) create mode 100644 templates/arcgis-mission-server/11.3/linux/mission-server-files.json rename templates/arcgis-mission-server/{10.9 => 11.3}/linux/mission-server-fileserver.json (93%) rename templates/arcgis-mission-server/{10.9 => 11.3}/linux/mission-server-install.json (87%) rename templates/arcgis-mission-server/{10.9 => 11.3}/linux/mission-server-node.json (66%) create mode 100644 templates/arcgis-mission-server/11.3/linux/mission-server-patches-apply.json create mode 100644 templates/arcgis-mission-server/11.3/linux/mission-server-patches.json create mode 100644 templates/arcgis-mission-server/11.3/linux/mission-server-s3files.json create mode 100644 templates/arcgis-mission-server/11.3/linux/mission-server-unregister-machine.json rename templates/arcgis-mission-server/{10.9 => 11.3}/linux/mission-server.json (75%) rename templates/arcgis-mission-server/{10.9 => 11.3}/windows/mission-server-federation.json (52%) create mode 100644 templates/arcgis-mission-server/11.3/windows/mission-server-files.json rename templates/arcgis-mission-server/{10.9 => 11.3}/windows/mission-server-fileserver.json (85%) rename templates/arcgis-mission-server/{10.9 => 11.3}/windows/mission-server-install.json (88%) rename templates/arcgis-mission-server/{10.9 => 11.3}/windows/mission-server-node.json (76%) create mode 100644 templates/arcgis-mission-server/11.3/windows/mission-server-patches-apply.json create mode 100644 templates/arcgis-mission-server/11.3/windows/mission-server-patches.json create mode 100644 templates/arcgis-mission-server/11.3/windows/mission-server-s3files.json create mode 100644 templates/arcgis-mission-server/11.3/windows/mission-server-unregister-machine.json rename templates/arcgis-mission-server/{10.9 => 11.3}/windows/mission-server.json (82%) delete mode 100644 templates/arcgis-notebook-server/10.8.1/README.md delete mode 100644 templates/arcgis-notebook-server/10.8.1/ubuntu/notebook-server-federation.json delete mode 100644 templates/arcgis-notebook-server/10.8.1/ubuntu/notebook-server-node.json delete mode 100644 templates/arcgis-notebook-server/10.8.1/ubuntu/notebook-server-primary.json delete mode 100644 templates/arcgis-notebook-server/10.8.1/ubuntu/notebook-server-unregister-node.json delete mode 100644 templates/arcgis-notebook-server/10.8/README.md delete mode 100644 templates/arcgis-notebook-server/10.8/ubuntu/notebook-server-federation.json delete mode 100644 templates/arcgis-notebook-server/10.8/ubuntu/notebook-server-node.json delete mode 100644 templates/arcgis-notebook-server/10.8/ubuntu/notebook-server-primary.json delete mode 100644 templates/arcgis-notebook-server/10.9/README.md delete mode 100644 templates/arcgis-notebook-server/10.9/linux/notebook-server-s3files.json delete mode 100644 templates/arcgis-notebook-server/10.9/linux/notebook-server-unregister-node.json delete mode 100644 templates/arcgis-notebook-server/10.9/linux/notebook-server-webadaptor.json create mode 100644 templates/arcgis-notebook-server/11.3/README.md rename templates/arcgis-notebook-server/{10.9 => 11.3}/linux/notebook-server-federation.json (52%) create mode 100644 templates/arcgis-notebook-server/11.3/linux/notebook-server-files.json rename templates/arcgis-notebook-server/{10.9 => 11.3}/linux/notebook-server-fileserver.json (62%) create mode 100644 templates/arcgis-notebook-server/11.3/linux/notebook-server-install.json rename templates/arcgis-notebook-server/{10.9 => 11.3}/linux/notebook-server-node.json (66%) create mode 100644 templates/arcgis-notebook-server/11.3/linux/notebook-server-patches-apply.json create mode 100644 templates/arcgis-notebook-server/11.3/linux/notebook-server-patches.json rename templates/{arcgis-mission-server/10.9/linux/mission-server-s3files.json => arcgis-notebook-server/11.3/linux/notebook-server-s3files.json} (50%) create mode 100644 templates/arcgis-notebook-server/11.3/linux/notebook-server-unregister-node.json rename templates/arcgis-notebook-server/{10.9 => 11.3}/linux/notebook-server.json (75%) delete mode 100644 templates/arcgis-portal/10.9/README.md delete mode 100644 templates/arcgis-portal/10.9/linux/arcgis-portal-s3files.json delete mode 100644 templates/arcgis-portal/10.9/linux/arcgis-portal-webadaptor.json create mode 100644 templates/arcgis-portal/11.3/README.md create mode 100644 templates/arcgis-portal/11.3/linux/arcgis-portal-files.json rename templates/arcgis-portal/{10.9 => 11.3}/linux/arcgis-portal-fileserver.json (94%) rename templates/arcgis-portal/{10.9 => 11.3}/linux/arcgis-portal-install.json (80%) create mode 100644 templates/arcgis-portal/11.3/linux/arcgis-portal-patches-apply.json create mode 100644 templates/arcgis-portal/11.3/linux/arcgis-portal-patches.json rename templates/arcgis-portal/{10.9 => 11.3}/linux/arcgis-portal-primary.json (77%) create mode 100644 templates/arcgis-portal/11.3/linux/arcgis-portal-s3files.json rename templates/arcgis-portal/{10.9 => 11.3}/linux/arcgis-portal-standby.json (58%) create mode 100644 templates/arcgis-portal/11.3/windows/arcgis-portal-files.json rename templates/arcgis-portal/{10.9 => 11.3}/windows/arcgis-portal-fileserver.json (86%) rename templates/arcgis-portal/{10.9 => 11.3}/windows/arcgis-portal-install.json (82%) create mode 100644 templates/arcgis-portal/11.3/windows/arcgis-portal-patches-apply.json create mode 100644 templates/arcgis-portal/11.3/windows/arcgis-portal-patches.json rename templates/arcgis-portal/{10.9 => 11.3}/windows/arcgis-portal-primary.json (82%) rename templates/arcgis-portal/{10.9 => 11.3}/windows/arcgis-portal-s3files.json (55%) rename templates/arcgis-portal/{10.9 => 11.3}/windows/arcgis-portal-standby.json (71%) delete mode 100644 templates/arcgis-pro/2.8/windows/ms-dotnet-install.json rename templates/arcgis-pro/{2.8 => 3.3}/README.md (86%) rename templates/arcgis-pro/{2.8 => 3.3}/windows/arcgis-pro-concurrent-use.json (88%) rename templates/arcgis-pro/{2.8 => 3.3}/windows/arcgis-pro-install.json (94%) rename templates/arcgis-pro/{2.8 => 3.3}/windows/arcgis-pro-named-user.json (87%) rename templates/arcgis-pro/{2.8 => 3.3}/windows/arcgis-pro-s3files.json (82%) rename templates/arcgis-pro/{2.8 => 3.3}/windows/arcgis-pro-single-use.json (88%) create mode 100644 templates/arcgis-pro/3.3/windows/ms-dotnet-install.json rename templates/arcgis-pro/{2.8 => 3.3}/windows/ms-dotnet-s3files.json (80%) create mode 100644 templates/arcgis-pro/3.3/windows/webview2-install.json create mode 100644 templates/arcgis-pro/3.3/windows/webview2-s3files.json delete mode 100644 templates/arcgis-server/10.9/README.md delete mode 100644 templates/arcgis-server/10.9/linux/arcgis-server-webadaptor.json delete mode 100644 templates/arcgis-server/10.9/windows/arcgis-server-webadaptor.json create mode 100644 templates/arcgis-server/11.3/README.md create mode 100644 templates/arcgis-server/11.3/linux/arcgis-server-files.json rename templates/arcgis-server/{10.9 => 11.3}/linux/arcgis-server-fileserver.json (100%) rename templates/arcgis-server/{10.9 => 11.3}/linux/arcgis-server-install.json (86%) rename templates/arcgis-server/{10.9 => 11.3}/linux/arcgis-server-node.json (60%) create mode 100644 templates/arcgis-server/11.3/linux/arcgis-server-patches-apply.json create mode 100644 templates/arcgis-server/11.3/linux/arcgis-server-patches.json rename templates/arcgis-server/{10.9 => 11.3}/linux/arcgis-server-raster-store.json (83%) create mode 100644 templates/arcgis-server/11.3/linux/arcgis-server-s3files.json rename templates/arcgis-server/{10.9 => 11.3}/linux/arcgis-server.json (75%) rename templates/arcgis-server/{10.9 => 11.3}/linux/geoanalytics-federation.json (58%) rename templates/arcgis-server/{10.9/windows => 11.3/linux}/gis-server-federation.json (55%) rename templates/arcgis-server/{10.9/windows => 11.3/linux}/imagehosting-federation.json (58%) create mode 100644 templates/arcgis-server/11.3/linux/knowledgeserver-federation.json rename templates/arcgis-server/{10.9 => 11.3}/linux/rasteranalytics-federation.json (58%) create mode 100644 templates/arcgis-server/11.3/linux/unfederate-server.json rename templates/arcgis-server/{10.9 => 11.3}/linux/unregister-machine.json (54%) create mode 100644 templates/arcgis-server/11.3/windows/arcgis-server-files.json rename templates/arcgis-server/{10.9 => 11.3}/windows/arcgis-server-fileserver.json (86%) rename templates/arcgis-server/{10.9 => 11.3}/windows/arcgis-server-install.json (77%) rename templates/arcgis-server/{10.9 => 11.3}/windows/arcgis-server-node.json (74%) create mode 100644 templates/arcgis-server/11.3/windows/arcgis-server-patches-apply.json create mode 100644 templates/arcgis-server/11.3/windows/arcgis-server-patches.json rename templates/arcgis-server/{10.9 => 11.3}/windows/arcgis-server-raster-store.json (83%) rename templates/arcgis-server/{10.9 => 11.3}/windows/arcgis-server-s3files.json (65%) rename templates/arcgis-server/{10.9 => 11.3}/windows/arcgis-server.json (80%) rename templates/arcgis-server/{10.9 => 11.3}/windows/geoanalytics-federation.json (58%) rename templates/arcgis-server/{10.9/linux => 11.3/windows}/gis-server-federation.json (55%) rename templates/arcgis-server/{10.9/linux => 11.3/windows}/imagehosting-federation.json (58%) create mode 100644 templates/arcgis-server/11.3/windows/knowledgeserver-federation.json rename templates/arcgis-server/{10.9 => 11.3}/windows/rasteranalytics-federation.json (58%) create mode 100644 templates/arcgis-server/11.3/windows/unfederate-server.json rename templates/arcgis-server/{10.9 => 11.3}/windows/unregister-machine.json (54%) create mode 100644 templates/arcgis-video-server/11.3/README.md create mode 100644 templates/arcgis-video-server/11.3/linux/video-server-federation.json create mode 100644 templates/arcgis-video-server/11.3/linux/video-server-files.json create mode 100644 templates/arcgis-video-server/11.3/linux/video-server-install.json create mode 100644 templates/arcgis-video-server/11.3/linux/video-server-patches-apply.json create mode 100644 templates/arcgis-video-server/11.3/linux/video-server-patches.json create mode 100644 templates/arcgis-video-server/11.3/linux/video-server-s3files.json create mode 100644 templates/arcgis-video-server/11.3/linux/video-server.json create mode 100644 templates/arcgis-video-server/11.3/windows/video-server-federation.json create mode 100644 templates/arcgis-video-server/11.3/windows/video-server-files.json create mode 100644 templates/arcgis-video-server/11.3/windows/video-server-install.json create mode 100644 templates/arcgis-video-server/11.3/windows/video-server-patches-apply.json create mode 100644 templates/arcgis-video-server/11.3/windows/video-server-patches.json create mode 100644 templates/arcgis-video-server/11.3/windows/video-server-s3files.json create mode 100644 templates/arcgis-video-server/11.3/windows/video-server.json create mode 100644 templates/arcgis-webadaptor/11.3/README.md create mode 100644 templates/arcgis-webadaptor/11.3/linux/arcgis-mission-server-webadaptor-install.json create mode 100644 templates/arcgis-webadaptor/11.3/linux/arcgis-mission-server-webadaptor-unregister.json create mode 100644 templates/arcgis-webadaptor/11.3/linux/arcgis-mission-server-webadaptor.json create mode 100644 templates/arcgis-webadaptor/11.3/linux/arcgis-notebook-server-webadaptor-install.json create mode 100644 templates/arcgis-webadaptor/11.3/linux/arcgis-notebook-server-webadaptor-unregister.json create mode 100644 templates/arcgis-webadaptor/11.3/linux/arcgis-notebook-server-webadaptor.json create mode 100644 templates/arcgis-webadaptor/11.3/linux/arcgis-portal-webadaptor-install.json create mode 100644 templates/arcgis-webadaptor/11.3/linux/arcgis-portal-webadaptor.json create mode 100644 templates/arcgis-webadaptor/11.3/linux/arcgis-server-webadaptor-install.json create mode 100644 templates/arcgis-webadaptor/11.3/linux/arcgis-server-webadaptor-unregister.json create mode 100644 templates/arcgis-webadaptor/11.3/linux/arcgis-server-webadaptor.json create mode 100644 templates/arcgis-webadaptor/11.3/linux/arcgis-video-server-webadaptor-install.json create mode 100644 templates/arcgis-webadaptor/11.3/linux/arcgis-video-server-webadaptor-unregister.json create mode 100644 templates/arcgis-webadaptor/11.3/linux/arcgis-video-server-webadaptor.json create mode 100644 templates/arcgis-webadaptor/11.3/linux/arcgis-webadaptor-files.json create mode 100644 templates/arcgis-webadaptor/11.3/linux/arcgis-webadaptor-patches-apply.json create mode 100644 templates/arcgis-webadaptor/11.3/linux/arcgis-webadaptor-patches.json rename templates/{arcgis-server/10.9/linux/arcgis-server-s3files.json => arcgis-webadaptor/11.3/linux/arcgis-webadaptor-s3files.json} (51%) create mode 100644 templates/arcgis-webadaptor/11.3/windows/arcgis-mission-server-webadaptor-install.json create mode 100644 templates/arcgis-webadaptor/11.3/windows/arcgis-mission-server-webadaptor-unregister.json rename templates/{arcgis-mission-server/10.9/windows/mission-server-webadaptor.json => arcgis-webadaptor/11.3/windows/arcgis-mission-server-webadaptor.json} (60%) create mode 100644 templates/arcgis-webadaptor/11.3/windows/arcgis-portal-webadaptor-install.json rename templates/{arcgis-portal/10.9 => arcgis-webadaptor/11.3}/windows/arcgis-portal-webadaptor.json (61%) create mode 100644 templates/arcgis-webadaptor/11.3/windows/arcgis-server-webadaptor-install.json create mode 100644 templates/arcgis-webadaptor/11.3/windows/arcgis-server-webadaptor-unregister.json create mode 100644 templates/arcgis-webadaptor/11.3/windows/arcgis-server-webadaptor.json create mode 100644 templates/arcgis-webadaptor/11.3/windows/arcgis-video-server-webadaptor-install.json create mode 100644 templates/arcgis-webadaptor/11.3/windows/arcgis-video-server-webadaptor-unregister.json create mode 100644 templates/arcgis-webadaptor/11.3/windows/arcgis-video-server-webadaptor.json create mode 100644 templates/arcgis-webadaptor/11.3/windows/arcgis-webadaptor-files.json create mode 100644 templates/arcgis-webadaptor/11.3/windows/arcgis-webadaptor-patches-apply.json create mode 100644 templates/arcgis-webadaptor/11.3/windows/arcgis-webadaptor-patches.json rename templates/{arcgis-geoevent-server/10.9/windows/geoevent-server-s3files.json => arcgis-webadaptor/11.3/windows/arcgis-webadaptor-s3files.json} (58%) create mode 100644 templates/arcgis-workflow-manager/11.3/README.md create mode 100644 templates/arcgis-workflow-manager/11.3/linux/workflow-manager-files.json create mode 100644 templates/arcgis-workflow-manager/11.3/linux/workflow-manager-fileserver.json create mode 100644 templates/arcgis-workflow-manager/11.3/linux/workflow-manager-s3files.json create mode 100644 templates/arcgis-workflow-manager/11.3/linux/workflow-manager-server-federation.json create mode 100644 templates/arcgis-workflow-manager/11.3/linux/workflow-manager-server-install.json create mode 100644 templates/arcgis-workflow-manager/11.3/linux/workflow-manager-server-node.json create mode 100644 templates/arcgis-workflow-manager/11.3/linux/workflow-manager-server-patches-apply.json create mode 100644 templates/arcgis-workflow-manager/11.3/linux/workflow-manager-server-patches.json create mode 100644 templates/arcgis-workflow-manager/11.3/linux/workflow-manager-server.json create mode 100644 templates/arcgis-workflow-manager/11.3/windows/workflow-manager-files.json create mode 100644 templates/arcgis-workflow-manager/11.3/windows/workflow-manager-fileserver.json create mode 100644 templates/arcgis-workflow-manager/11.3/windows/workflow-manager-s3files.json create mode 100644 templates/arcgis-workflow-manager/11.3/windows/workflow-manager-server-federation.json create mode 100644 templates/arcgis-workflow-manager/11.3/windows/workflow-manager-server-install.json create mode 100644 templates/arcgis-workflow-manager/11.3/windows/workflow-manager-server-node.json create mode 100644 templates/arcgis-workflow-manager/11.3/windows/workflow-manager-server-patches-apply.json create mode 100644 templates/arcgis-workflow-manager/11.3/windows/workflow-manager-server-patches.json create mode 100644 templates/arcgis-workflow-manager/11.3/windows/workflow-manager-server.json diff --git a/README.md b/README.md index 075222d..713767d 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,12 @@ [![Gitter chat](https://badges.gitter.im/gitterHQ/services.png)](https://gitter.im/arcgis-cookbook/Lobby) -Chef Cookbooks for ArcGIS -========================= +# Chef Cookbooks for ArcGIS This repository contains ArcGIS Chef cookbooks used to help simplify and automate ArcGIS installation and configuration using IT automation tool [Chef](https://www.chef.io/chef/). Included cookbooks: -* [arcgis-desktop](cookbooks/arcgis-desktop) - installs and configures ArcGIS Desktop. +* [arcgis-license-manager](cookbooks/arcgis-license-manager) - installs and configures ArcGIS License Manager. * [arcgis-egdb](cookbooks/arcgis-egdb) - creates enterprise geodatabases in SQL Server or PostgreSQL DBMS and registers them with ArcGIS Server. * [arcgis-enterprise](cookbooks/arcgis-enterprise) - installs and configures ArcGIS Server, ArcGIS Data Store, Portal for ArcGIS, ArcGIS WebAdaptor. * [arcgis-geoevent](cookbooks/arcgis-geoevent) - installs and configures ArcGIS GeoEvent Server. @@ -17,13 +16,13 @@ Included cookbooks: * [arcgis-pro](cookbooks/arcgis-pro) - installs and configures ArcGIS Pro. * [arcgis-repository](cookbooks/arcgis-repository) - downloads ArcGIS software setups from remote to local repositories. * [arcgis-workflow-manager](cookbooks/arcgis-workflow-manager) - installs and configures ArcGIS Workflow Manager Server. +* [arcgis-video](cookbooks/arcgis-video) - installs and configures ArcGIS Video Server. * [esri-iis](cookbooks/esri-iis) - enables IIS features required by ArcGIS Web Adaptor (IIS) and configures HTTPS binding. * [esri-tomcat](cookbooks/esri-tomcat) - installs and configures Apache Tomcat for using with ArcGIS Web Adaptor. Included ArcGIS deployment templates: * [arcgis-datastore](templates/arcgis-datastore) - deploys different [ArcGIS Data Store types](https://enterprise.arcgis.com/en/portal/latest/administer/windows/what-is-arcgis-data-store.htm) and registers them with ArcGIS Server. -* [arcgis-desktop](templates/arcgis-desktop) - deploys [ArcGIS Desktop](https://desktop.arcgis.com/en/). * [arcgis-egdb](templates/arcgis-egdb) - creates [enterprise GeoDatabases](https://enterprise.arcgis.com/en/server/latest/manage-data/windows/enterprise-geodatabases-and-arcgis-enterprise.htm) and registers them with ArcGIS Server. * [arcgis-enterprise-base](templates/arcgis-enterprise-base) - deploys [base ArcGIS Enterprise](https://enterprise.arcgis.com/en/get-started/latest/windows/base-arcgis-enterprise-deployment.htm). * [arcgis-geoevent](templates/arcgis-geoevent-server) - deploys [ArcGIS GeoEvent Server](https://enterprise.arcgis.com/en/geoevent/). @@ -35,6 +34,7 @@ Included ArcGIS deployment templates: * [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/). +* [arcgis-video-server](templates/arcgis-video-server) - deploys [ArcGIS Video Server](https://enterprise.arcgis.com/en/video/). See [wiki](https://github.com/Esri/arcgis-cookbook/wiki) pages and cookbooks' README.md files for more information about using ArcGIS cookbooks. @@ -46,10 +46,9 @@ Find a bug or want to request a new feature? Please let us know by submitting a Esri welcomes contributions from anyone and everyone. Please see our [guidelines for contributing](https://github.com/esri/contributing). -Licensing ---------- +## Licensing -Copyright 2021 Esri +Copyright 2024 Esri Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. diff --git a/cookbooks/arcgis-desktop/.kitchen.ec2.yml b/cookbooks/arcgis-desktop/.kitchen.ec2.yml deleted file mode 100644 index 14bd2f0..0000000 --- a/cookbooks/arcgis-desktop/.kitchen.ec2.yml +++ /dev/null @@ -1,65 +0,0 @@ -driver: - name: ec2 - region: us-west-2 - instance_type: m4.large - aws_ssh_key_id: test-kitchen - subnet_id: subnet-74de082e - iam_profile_name: s3-test-kitchen - security_group_ids: ['sg-9abe55e5'] - associate_public_ip: true - interface: dns - block_device_mappings: - - device_name: /dev/sda1 - ebs: - volume_size: 100 - delete_on_termination: true - tags: - created-by: 'test-kitchen' - -transport: - ssh_key: /keys/test-kitchen.pem - -provisioner: - name: chef_zero - product_name: chef - product_version: 13.3 - -platforms: - - name: windows-2016 - - name: windows-2012r2 - - name: windows-2008r2 - - name: windows-81 - - name: windows-7 - - name: ubuntu-16.04 - - name: centos-7 - - name: centos-6 - -suites: - - name: desktop - driver: - tags: - Name: 'desktop' - run_list: - - recipe[download-setups-s3::desktop] - - recipe[arcgis-desktop] - attributes: - arcgis: - desktop: - software_class: 'Viewer' - seat_preference: 'Fixed' - desktop_config: true - excludes: - - ubuntu-16.04 - - centos-7 - - centos-6 - - - name: licensemanager - driver: - tags: - Name: 'licensemanager' - run_list: - - recipe[download-setups-s3::licensemanager] - - recipe[arcgis-desktop::licensemanager] - attributes: - arcgis: - version: '10.7.1' diff --git a/cookbooks/arcgis-desktop/.kitchen.yml b/cookbooks/arcgis-desktop/.kitchen.yml deleted file mode 100644 index 5c1f82c..0000000 --- a/cookbooks/arcgis-desktop/.kitchen.yml +++ /dev/null @@ -1,81 +0,0 @@ ---- -driver: - name: vagrant - customize: - memory: 6144 - cpuexecutioncap: 50 - gui: false - -provisioner: - name: chef_zero - require_chef_omnibus: 13.3 - -platforms: - - name: windows-2016 - - name: windows-2012r2 - - name: windows-2008r2 - - name: windows-7 - - name: windows-81 - - name: centos-6.7 - - name: centos-7.2 - - name: ubuntu-16.04 - -suites: - - name: desktop - driver: - synced_folders: - - ["/arcgis/setups/windows/ArcGIS_Desktop", "C:/temp/setups/ArcGIS_Desktop"] - - ["/arcgis/setups/authorization_files/Version10.6/ArcGIS_Desktop_Advanced_SU", "C:/temp/auth_files/ArcGIS_Desktop"] - run_list: - #- recipe[ms_dotnet::ms_dotnet4] - - recipe[arcgis-desktop] - attributes: - #ms_dotnet: - #v4: - #version: "4.5.1" - arcgis: - version: "10.6" - desktop: - setup: "C:\\temp\\setups\\ArcGIS_Desktop\\Setup.exe" - authorization_file: "C:\\temp\\auth_files\\ArcGIS_Desktop\\DTAdvanced.prvc" - software_class: "Viewer" - seat_preference: "Fixed" - desktop_config: true - excludes: - - centos-6.7 - - centos-7.2 - - ubuntu-16.04 - - - name: licensemanager - driver: - synced_folders: - - ["/arcgis/setups/windows/LicenseManager", "C:/temp/setups/LicenseManager"] - run_list: - - recipe[arcgis-desktop::licensemanager] - attributes: - arcgis: - version: "10.6" - licensemanager: - setup: "C:\\temp\\setups\\LicenseManager\\Setup.exe" - excludes: - - centos-6.7 - - centos-7.2 - - ubuntu-16.04 - - - name: licensemanager-linux - driver: - synced_folders: - - ["/arcgis/setups/linux/LicenseManager", "/tmp/licensemanager-cd"] - run_list: - - recipe[arcgis-desktop::licensemanager] - attributes: - arcgis: - version: "10.6" - licensemanager: - setup: "/tmp/licensemanager-cd/Setup" - excludes: - - windows-2016 - - windows-2012r2 - - windows-2008r2 - - windows-7 - - windows-81 diff --git a/cookbooks/arcgis-desktop/CHANGELOG.md b/cookbooks/arcgis-desktop/CHANGELOG.md deleted file mode 100644 index e9685e1..0000000 --- a/cookbooks/arcgis-desktop/CHANGELOG.md +++ /dev/null @@ -1,78 +0,0 @@ -arcgis-desktop cookbook CHANGELOG -================================= - -This file is used to list changes made in each version of the arcgis-desktop cookbook. - -4.2.0 ------ -- Added support for ArcGIS License Manager 2023.0 - -4.1.0 ------ -- Added support for ArcGIS License Manager 2022.1 - -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 - -3.7.0 ------ -- Added support for ArcGIS License Manager 2020.1 - -3.6.1 ------ -- Added support for Chef Client 15. - -3.6.0 ------ -- 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. - - -3.4.0 ------ -- Added support for ArcGIS 10.7.1. -- Updated and locked versions of depenent cookbooks. - -3.3.0 ------ -- Added support for ArcGIS 10.7. -- Added dependency on arcgis-repository cookbook to support global ArcGIS software repository in S3. - -3.2.1 ------ -- Added support for ArcGIS 10.6.1. -- Add ec2 test kitchen -- Split attributes into multiples files. -- Update default attributes of desktop and licensemanager setups. -- Remove unnecessary attributes. - -3.2.0 ------ -- Added support for ArcGIS 10.6. - -3.1.0 ------ -- Added support for ArcGIS 10.5.1. - -3.0.0 ------ -- Updated ArcGIS product names - -2.3.1 ------ -- Added support for ArcGIS 10.5. - -2.3.0 ------ -- Added support for ArcGIS 10.5 Beta. -- Split from arcgis 2.2.1 cookbook. - diff --git a/cookbooks/arcgis-desktop/Gemfile b/cookbooks/arcgis-desktop/Gemfile deleted file mode 100644 index d5cd994..0000000 --- a/cookbooks/arcgis-desktop/Gemfile +++ /dev/null @@ -1,19 +0,0 @@ -source 'https://rubygems.org' - -gem 'berkshelf' - -# Uncomment these lines if you want to live on the Edge: -# -# group :development do -# gem "berkshelf", github: "berkshelf/berkshelf" -# gem "vagrant", github: "mitchellh/vagrant", tag: "v1.6.3" -# end -# -# group :plugins do -# gem "vagrant-berkshelf", github: "berkshelf/vagrant-berkshelf" -# gem "vagrant-omnibus", github: "schisamo/vagrant-omnibus" -# end - -gem 'test-kitchen' -gem 'kitchen-vagrant' -gem 'kitchen-docker' diff --git a/cookbooks/arcgis-desktop/README.md b/cookbooks/arcgis-desktop/README.md deleted file mode 100644 index d99e251..0000000 --- a/cookbooks/arcgis-desktop/README.md +++ /dev/null @@ -1,209 +0,0 @@ ---- -layout: default -title: "arcgis-desktop cookbook" -category: cookbooks -item: arcgis-desktop -version: 4.2.0 -latest: true ---- - -# arcgis-desktop cookbook - -This cookbook installs and configures ArcGIS Desktop and ArcGIS License Manager. - -## Supported ArcGIS software - -* ArcGIS Desktop (Windows only) - * 10.4 - * 10.4.1 - * 10.5 - * 10.5.1 - * 10.6 - * 10.6.1 - * 10.7 - * 10.7.1 - * 10.8 - * 10.8.1 - * 10.8.2 - -* ArcGIS License Manager - * 2018.0 - * 2018.1 - * 2019.0 - * 2019.1 - * 2019.2 - * 2020.0 - * 2020.1 - * 2021.0 - * 2021.1 - * 2022.0 - * 2022.1 - * 2023.0 - -## Platforms - -* Windows 10 -* Windows Server 2012 (R2) -* Windows Server 2016 -* Windows Server 2019 -* Windows Server 2022 -* Ubuntu 16.04, 18.04 -* Rhel 6.5, 7.0 - -ArcGIS Desktop is supported only on Windows platforms. - -## Dependencies - -The following cookbooks are required: - -* windows -* arcgis-repository - -## 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. -* `node['arcgis']['desktop']['setup']` = The location of ArcGIS Desktop setup executable. Default location is `%USERPROFILE%\Documents\ArcGIS10.8.1\Desktop\Setup.exe`. -* `node['arcgis']['desktop']['lp-setup']` = The location of language pack for ArcGIS Desktop. Default location is `C:\ArcGIS\DesktopLP\SetupFiles\setup.msi`. -* `node['arcgis']['desktop']['install_dir']` = ArcGIS Desktop installation directory. By default, ArcGIS Desktop is installed to `%ProgramFiles(x86)%\ArcGIS`. -* `node['arcgis']['desktop']['install_features']` = Comma-separated list of ArcGIS Desktop features to install. Default value is `ALL`. -* `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 `2023.0`. -* `node['arcgis']['licensemanager']['setup_archive']` = The location of ArcGIS License Manager setup archive. Default value depends on `node['arcgis']['version']` attribute value. -* `node['arcgis']['licensemanager']['setup']` = The location of ArcGIS License Manager setup executable. Default location is `%USERPROFILE%\Documents\ArcGIS License Manager 2022.1\LicenseManager\Setup.exe` on Windows, and `/opt/arcgis/2022.1/LicenseManager_Linux/Setup` on Linux. -* `node['arcgis']['licensemanager']['lp-setup']` = The location of language pack for ArcGIS License Manager. Default location is `C:\ArcGIS\LicenseManager\SetupFiles\setup.msi`. -* `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 - -### default - -Installs and configures ArcGIS Desktop. - -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. - -Attributes used by the recipe: - -```JSON -{ - "arcgis": { - "run_as_user": "arcgis", - "repository": { - "archives": "C:\\Software\\Esri", - "setups": "C:\\Software\\Setups" - }, - "licensemanager": { - "version": "2023.0", - "setup": "C:\\Software\\Setups\\License Manager 2023.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/Thorfile b/cookbooks/arcgis-desktop/Thorfile deleted file mode 100644 index 9f74727..0000000 --- a/cookbooks/arcgis-desktop/Thorfile +++ /dev/null @@ -1,14 +0,0 @@ -# encoding: utf-8 - -require 'bundler' -require 'bundler/setup' - - -require 'berkshelf/thor' - -begin - require 'kitchen/thor_tasks' - Kitchen::ThorTasks.new -rescue LoadError - puts ">>>>> Kitchen gem not loaded, omitting tasks" unless ENV['CI'] -end diff --git a/cookbooks/arcgis-desktop/Vagrantfile b/cookbooks/arcgis-desktop/Vagrantfile deleted file mode 100644 index 6f1b90f..0000000 --- a/cookbooks/arcgis-desktop/Vagrantfile +++ /dev/null @@ -1,96 +0,0 @@ -# -*- mode: ruby -*- -# vi: set ft=ruby : - -# Vagrantfile API/syntax version. Don't touch unless you know what you're doing! -VAGRANTFILE_API_VERSION = "2" - -Vagrant.require_version ">= 1.5.0" - -Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| - # All Vagrant configuration is done here. The most common configuration - # options are documented and commented below. For a complete reference, - # please see the online documentation at vagrantup.com. - - config.vm.hostname = "arcgis-berkshelf" - - # Set the version of chef to install using the vagrant-omnibus plugin - - - config.omnibus.chef_version = :latest - - - - # Every Vagrant virtual environment requires a box to build off of. - # If this value is a shorthand to a box in Vagrant Cloud then - # config.vm.box_url doesn't need to be specified. - config.vm.box = "chef/ubuntu-14.04" - - # The url from where the 'config.vm.box' box will be fetched if it - # is not a Vagrant Cloud box and if it doesn't already exist on the - # user's system. - # config.vm.box_url = "https://vagrantcloud.com/chef/ubuntu-14.04/version/1/provider/virtualbox.box" - - # Assign this VM to a host-only network IP, allowing you to access it - # via the IP. Host-only networks can talk to the host machine as well as - # any other machines on the same network, but cannot be accessed (through this - # network interface) by any external networks. - config.vm.network :private_network, type: "dhcp" - - # Create a forwarded port mapping which allows access to a specific port - # within the machine from a port on the host machine. In the example below, - # accessing "localhost:8080" will access port 80 on the guest machine. - - - # Share an additional folder to the guest VM. The first argument is - # the path on the host to the actual folder. The second argument is - # the path on the guest to mount the folder. And the optional third - # argument is a set of non-required options. - # config.vm.synced_folder "../data", "/vagrant_data" - - # Provider-specific configuration so you can fine-tune various - # backing providers for Vagrant. These expose provider-specific options. - # Example for VirtualBox: - # - # config.vm.provider :virtualbox do |vb| - # # Don't boot with headless mode - # vb.gui = true - # - # # Use VBoxManage to customize the VM. For example to change memory: - # vb.customize ["modifyvm", :id, "--memory", "1024"] - # end - # - # View the documentation for the provider you're using for more - # information on available options. - - # The path to the Berksfile to use with Vagrant Berkshelf - # config.berkshelf.berksfile_path = "./Berksfile" - - # Enabling the Berkshelf plugin. To enable this globally, add this configuration - # option to your ~/.vagrant.d/Vagrantfile file - config.berkshelf.enabled = true - - # An array of symbols representing groups of cookbook described in the Vagrantfile - # to exclusively install and copy to Vagrant's shelf. - # config.berkshelf.only = [] - - # An array of symbols representing groups of cookbook described in the Vagrantfile - # to skip installing and copying to Vagrant's shelf. - # config.berkshelf.except = [] - - - config.vm.provision :chef_solo do |chef| - chef.json = { - mysql: { - server_root_password: 'rootpass', - server_debian_password: 'debpass', - server_repl_password: 'replpass' - } - } - - chef.run_list = [ - - "recipe[arcgis::default]" - ] - end - -end diff --git a/cookbooks/arcgis-desktop/attributes/desktop.rb b/cookbooks/arcgis-desktop/attributes/desktop.rb deleted file mode 100644 index 5726419..0000000 --- a/cookbooks/arcgis-desktop/attributes/desktop.rb +++ /dev/null @@ -1,82 +0,0 @@ -# -# Cookbook Name:: arcgis-desktop -# Attributes:: desktop -# -# Copyright 2019 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. - -default['arcgis']['desktop'].tap do |desktop| - - case node['platform'] - when 'windows' - desktop['setup_archive'] = '' - desktop['setup'] = ::File.join(node['arcgis']['repository']['setups'], - 'ArcGIS ' + node['arcgis']['version'], - 'Desktop', 'Setup.exe') - desktop['lp-setup'] = 'C:\\ArcGIS\\DesktopLP\\SetupFiles\\setup.msi' - desktop['install_dir'] = ENV['ProgramFiles(x86)'] + '\\ArcGIS' - desktop['install_features'] = 'ALL' - desktop['authorization_tool'] = ENV['ProgramFiles(x86)'] + '\\Common Files\\ArcGIS\\bin\\SoftwareAuthorization.exe' - desktop['esri_license_host'] = ENV['COMPUTERNAME'] - desktop['software_class'] = 'Viewer' - desktop['seat_preference'] = 'Fixed' - desktop['desktop_config'] = true - desktop['modifyflexdacl'] = false - - desktop['authorization_file'] = '' - desktop['authorization_file_version'] = node['arcgis']['version'].to_f.to_s - - case node['arcgis']['version'] - when '10.8.2' - desktop['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Desktop_1082_180378.exe').gsub('/', '\\') - desktop['product_code'] = '{791AB03F-1AF2-43FE-8F5D-8FDC9509D7CF}' - when '10.8.1' - desktop['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Desktop_1081_175110.exe').gsub('/', '\\') - desktop['product_code'] = '{7C4FF945-CE6A-415E-8EB9-2B61B0B35DCD}' - when '10.8' - desktop['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Desktop_108_172737.exe').gsub('/', '\\') - desktop['product_code'] = '{3DB5C522-636F-4FC2-9C38-298DBEBFD0BC}' - when '10.7.1' - desktop['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Desktop_1071_169506.exe').gsub('/', '\\') - desktop['product_code'] = '{69262D87-3697-492B-ABED-765DDC15118B}' - when '10.7' - desktop['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Desktop_107_167519.exe').gsub('/', '\\') - desktop['product_code'] = '{BFB4F32E-38DF-4E8F-8180-C99FC9A14BBE}' - when '10.6.1' - desktop['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Desktop_1061_163864.exe').gsub('/', '\\') - desktop['product_code'] = '{FA2E2CBC-0697-4C71-913E-8C65B5A611E8}' - when '10.6' - desktop['product_code'] = '{F8206086-367E-44E4-9E24-92E9E057A63D}' - when '10.5.1' - desktop['product_code'] = '{4740FC57-60FE-45BB-B513-3309F6B73183}' - when '10.5' - desktop['product_code'] = '{76B58799-3448-4DE4-BA71-0FDFAA2A2E9A}' - when '10.4.1' - desktop['product_code'] = '{CB0C9578-75CB-45E5-BD81-A600BA33B0C3}' - when '10.4' - desktop['product_code'] = '{72E7DF0D-FFEE-43CE-A5FA-43DFC25DC087}' - else - Chef::Log.warn 'Unsupported ArcGIS Desktop version' - end - else # node['platform'] == 'linux' - Chef::Log.warn "ArcGIS Desktop is not supported on #{node['platform']} platform." - end - -end diff --git a/cookbooks/arcgis-desktop/attributes/licensemanager.rb b/cookbooks/arcgis-desktop/attributes/licensemanager.rb deleted file mode 100644 index 37fe1a5..0000000 --- a/cookbooks/arcgis-desktop/attributes/licensemanager.rb +++ /dev/null @@ -1,148 +0,0 @@ -# -# Cookbook Name:: arcgis-desktop -# Attributes:: licensemanager -# -# Copyright 2023 Esri -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# 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. - -default['arcgis']['licensemanager'].tap do |licensemanager| - licensemanager['version'] = '2023.0' - - case node['platform'] - when 'windows' - licensemanager['setup'] = ::File.join(node['arcgis']['repository']['setups'], - 'ArcGIS License Manager ' + node['arcgis']['licensemanager']['version'], - 'LicenseManager', 'Setup.exe') - licensemanager['lp-setup'] = 'C:\\ArcGIS\\LicenseManager\\SetupFiles\\setup.msi' - licensemanager['install_dir'] = ENV['ProgramFiles(x86)'] + '\\ArcGIS' - - case node['arcgis']['licensemanager']['version'] - when '2023.0' - licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_License_Manager_Windows_2023_0_187870.exe').gsub('/', '\\') - licensemanager['product_code'] = 'C5E546F7-5E07-4AAB-A367-15FF52D0C683' - when '2022.1' - licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_License_Manager_Windows_2022_1_184717.exe').gsub('/', '\\') - licensemanager['product_code'] = '{96804860-2C2F-4448-AE47-76CB160AD043}' - 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('/', '\\') - licensemanager['product_code'] = '{DA36A877-1BF2-4E28-9CE3-D3A07FB645A3}' - when '2021.0' - licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_License_Manager_Windows_2021_0_177928.exe').gsub('/', '\\') - licensemanager['product_code'] = '{9DDD72DA-75D2-4FB0-BC19-25F8B53254FF}' - when '2020.1' - licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_License_Manager_Windows_2020_1_176572.exe').gsub('/', '\\') - licensemanager['product_code'] = '{3C9B5AFE-057B-47B3-83A6-D348ABAC3E14}' - when '2020.0' - licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_License_Manager_Windows_2020_0_175435.exe').gsub('/', '\\') - licensemanager['product_code'] = '{F89EA66A-6AC2-401C-B8A0-E3ABDB5EDC10}' - when '2019.2' - licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_License_Manager_Windows_2019_2_173083.exe').gsub('/', '\\') - licensemanager['product_code'] = '{77F1D4EB-0225-4626-BB9E-7FCB4B0309E5}' - licensemanager['setup'] = ::File.join(node['arcgis']['repository']['setups'], - 'License Manager ' + node['arcgis']['licensemanager']['version'], - 'LicenseManager', 'Setup.exe') - when '2019.1' - licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_License_Manager_Windows_2019_1_172308.exe').gsub('/', '\\') - licensemanager['product_code'] = '{BA3C546E-6FAC-405C-B2C9-30BC6E26A7A9}' - licensemanager['setup'] = ::File.join(node['arcgis']['repository']['setups'], - 'License Manager ' + node['arcgis']['licensemanager']['version'], - 'LicenseManager', 'Setup.exe') - when '2019.0' - licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_License_Manager_Windows_2019_0_169344.exe').gsub('/', '\\') - licensemanager['product_code'] = '{CB1E78B5-9914-45C6-8227-D55F4CD5EA6F}' - licensemanager['setup'] = ::File.join(node['arcgis']['repository']['setups'], - 'License Manager ' + node['arcgis']['licensemanager']['version'], - 'LicenseManager', 'Setup.exe') - when '2018.1' - licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_License_Manager_Windows_2018_1_167080.exe').gsub('/', '\\') - licensemanager['product_code'] = '{E1C26E47-C6AB-4120-A3DE-2FA0F723C876}' - licensemanager['setup'] = ::File.join(node['arcgis']['repository']['setups'], - 'License Manager ' + node['arcgis']['licensemanager']['version'], - 'LicenseManager', 'Setup.exe') - when '2018.0' - licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_License_Manager_Windows_2018_0_163304.exe').gsub('/', '\\') - licensemanager['product_code'] = '{CFF43ACB-9B0C-4725-B489-7F969F5B90AB}' - licensemanager['setup'] = ::File.join(node['arcgis']['repository']['setups'], - 'License Manager ' + node['arcgis']['licensemanager']['version'], - 'LicenseManager', 'Setup.exe') - else - Chef::Log.warn 'Unsupported ArcGIS License Manager version' - end - else # node['platform'] == 'linux' - licensemanager['setup'] = ::File.join(node['arcgis']['repository']['setups'], - node['arcgis']['licensemanager']['version'], - 'LicenseManager_Linux', 'Setup') - licensemanager['install_dir'] = '/' - licensemanager['install_subdir'] = 'arcgis/license' + node['arcgis']['licensemanager']['version'] - - case node['arcgis']['licensemanager']['version'] - when '2023.0' - licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_License_Manager_Linux_2023_0_187909.tar.gz') - licensemanager['setup'] = ::File.join(node['arcgis']['repository']['setups'], - node['arcgis']['licensemanager']['version'], - 'Setup') - when '2022.1' - licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_License_Manager_Linux_2022_1_184756.tar.gz') - 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') - when '2021.0' - licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_License_Manager_Linux_2021.0_177950.tar.gz') - when '2020.1' - licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_License_Manager_Linux_2020_1_176584.tar.gz') - when '2020.0' - licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_License_Manager_Linux_2020_0_174031.tar.gz') - when '2019.2' - licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_License_Manager_Linux_2019_2_173095.tar.gz') - when '2019.1' - licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_License_Manager_Linux_2019_1_172320.tar.gz') - when '2019.0' - licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_License_Manager_Linux_2019_0_169356.tar.gz') - when '2018.1' - licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_License_Manager_Linux_2018_1_167092.tar.gz') - when '2018.0' - licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_License_Manager_Linux_2018_0_163516.tar.gz') - else - Chef::Log.warn 'Unsupported ArcGIS License Manager version' - end - end -end diff --git a/cookbooks/arcgis-desktop/metadata.rb b/cookbooks/arcgis-desktop/metadata.rb deleted file mode 100644 index 3138af2..0000000 --- a/cookbooks/arcgis-desktop/metadata.rb +++ /dev/null @@ -1,24 +0,0 @@ -name 'arcgis-desktop' -maintainer 'Esri' -maintainer_email 'contracts@esri.com' -license 'Apache 2.0' -description 'Installs and configures ArcGIS Desktop and ArcGIS License Manager' -long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version '4.2.0' -chef_version '>= 14.0' if defined? chef_version - -depends 'arcgis-repository', '~> 4.2' -depends 'windows', '~> 5.3' -depends 'limits', '~> 1.0' -depends 'java_properties', '~> 0.1' - -supports 'windows' -supports 'ubuntu' - -recipe 'arcgis-desktop::default', 'Installs ArcGIS Desktop' -recipe 'arcgis-desktop::licensemanager', 'Installs ArcGIS License Manager' -recipe 'arcgis-desktop::lp-install', 'Installs language packs for ArcGIS Desktop and ArcGIS License Manager.' -recipe 'arcgis-desktop::uninstall', 'Uninstalls ArcGIS Desktop and ArcGIS License Manager.' - -issues_url 'https://github.com/Esri/arcgis-cookbook/issues' if respond_to?(:issues_url) -source_url 'https://github.com/Esri/arcgis-cookbook' if respond_to?(:source_url) diff --git a/cookbooks/arcgis-desktop/providers/desktop.rb b/cookbooks/arcgis-desktop/providers/desktop.rb deleted file mode 100644 index b42de4c..0000000 --- a/cookbooks/arcgis-desktop/providers/desktop.rb +++ /dev/null @@ -1,86 +0,0 @@ -# -# Cookbook Name:: arcgis-desktop -# Provider:: desktop -# -# Copyright 2015 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. - -use_inline_resources if defined?(use_inline_resources) - -action :system do - if node['platform'] == 'windows' - # TODO: Ensure Desktop system requirements - end - - new_resource.updated_by_last_action(true) -end - -action :unpack do - cmd = @new_resource.setup_archive - args = "/s /d \"#{@new_resource.setups_repo}\"" - cmd = Mixlib::ShellOut.new("\"#{cmd}\" #{args}", { :timeout => 3600 }) - cmd.run_command - cmd.error! - - new_resource.updated_by_last_action(true) -end - -action :install do - unless ::File.exists?(@new_resource.setup) - raise "File '#{@new_resource.setup}' not found." - end - - cmd = @new_resource.setup - if @new_resource.seat_preference == 'Fixed' - args = "/qn ACCEPTEULA=Yes ADDLOCAL=\"#{@new_resource.install_features}\" INSTALLDIR=\"#{@new_resource.install_dir}\" INSTALLDIR1=\"#{@new_resource.python_dir}\" DESKTOP_CONFIG=\"#{@new_resource.desktop_config}\" MODIFYFLEXDACL=\"#{@new_resource.modifyflexdacl}\"" - else - args = "/qn ACCEPTEULA=Yes ADDLOCAL=\"#{@new_resource.install_features}\" INSTALLDIR=\"#{@new_resource.install_dir}\" INSTALLDIR1=\"#{@new_resource.python_dir}\" ESRI_LICENSE_HOST=\"#{@new_resource.esri_license_host}\" SOFTWARE_CLASS=\"#{@new_resource.software_class}\" SEAT_PREFERENCE=\"#{@new_resource.seat_preference}\" DESKTOP_CONFIG=\"#{@new_resource.desktop_config}\" MODIFYFLEXDACL=\"#{@new_resource.modifyflexdacl}\"" - end - - cmd = Mixlib::ShellOut.new("\"#{cmd}\" #{args}", { :timeout => 3600 }) - cmd.run_command - cmd.error! - - 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 => 3600 }) - cmd.run_command - cmd.error! - - new_resource.updated_by_last_action(true) - end -end - -action :authorize do - if @new_resource.seat_preference == 'Fixed' - unless ::File.exists?(@new_resource.authorization_file) - raise "File '#{@new_resource.authorization_file}' not found." - end - - cmd = node['arcgis']['desktop']['authorization_tool'] - args = "/S /VER \"#{@new_resource.authorization_file_version}\" /LIF \"#{@new_resource.authorization_file}\"" - - cmd = Mixlib::ShellOut.new("\"#{cmd}\" #{args}", { :timeout => 600 }) - cmd.run_command - cmd.error! - - new_resource.updated_by_last_action(true) - end -end diff --git a/cookbooks/arcgis-desktop/recipes/default.rb b/cookbooks/arcgis-desktop/recipes/default.rb deleted file mode 100644 index 6583422..0000000 --- a/cookbooks/arcgis-desktop/recipes/default.rb +++ /dev/null @@ -1,53 +0,0 @@ -# -# Cookbook Name:: arcgis-desktop -# Recipe:: desktop -# -# Copyright 2015 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_desktop_desktop 'Verify ArcGIS Desktop system requirements' do - action :system -end - -arcgis_desktop_desktop 'Unpack ArcGIS Desktop Setup' do - setup_archive node['arcgis']['desktop']['setup_archive'] - setups_repo node['arcgis']['repository']['setups'] - only_if { ::File.exist?(node['arcgis']['desktop']['setup_archive']) && - !::File.exist?(node['arcgis']['desktop']['setup']) } - not_if { Utils.product_installed?(node['arcgis']['desktop']['product_code']) } - action :unpack -end - -arcgis_desktop_desktop 'Install ArcGIS Desktop' do - setup node['arcgis']['desktop']['setup'] - product_code node['arcgis']['desktop']['product_code'] - install_dir node['arcgis']['desktop']['install_dir'] - python_dir node['arcgis']['python']['install_dir'] - install_features node['arcgis']['desktop']['install_features'] - esri_license_host node['arcgis']['desktop']['esri_license_host'] - software_class node['arcgis']['desktop']['software_class'] - seat_preference node['arcgis']['desktop']['seat_preference'] - desktop_config node['arcgis']['desktop']['desktop_config'] - modifyflexdacl node['arcgis']['desktop']['modifyflexdacl'] - not_if { Utils.product_installed?(node['arcgis']['desktop']['product_code']) } - action :install -end - -arcgis_desktop_desktop 'Authorize ArcGIS Desktop' do - authorization_file node['arcgis']['desktop']['authorization_file'] - authorization_file_version node['arcgis']['desktop']['authorization_file_version'] - seat_preference node['arcgis']['desktop']['seat_preference'] - action :authorize -end diff --git a/cookbooks/arcgis-desktop/resources/desktop.rb b/cookbooks/arcgis-desktop/resources/desktop.rb deleted file mode 100644 index 588d09c..0000000 --- a/cookbooks/arcgis-desktop/resources/desktop.rb +++ /dev/null @@ -1,40 +0,0 @@ -# -# Cookbook Name:: arcgis-desktop -# Resource:: desktop -# -# Copyright 2015 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 :system, :unpack, :install, :uninstall, :authorize - -attribute :setup_archive, :kind_of => String -attribute :setups_repo, :kind_of => String -attribute :setup, :kind_of => String -attribute :product_code, :kind_of => String -attribute :install_dir, :kind_of => String -attribute :python_dir, :kind_of => String -attribute :install_features, :kind_of => String -attribute :authorization_file, :kind_of => String -attribute :authorization_file_version, :kind_of => String -attribute :esri_license_host, :kind_of => String -attribute :software_class, :kind_of => String -attribute :seat_preference, :kind_of => String -attribute :desktop_config, :kind_of => [TrueClass, FalseClass], :default => false -attribute :modifyflexdacl, :kind_of => [TrueClass, FalseClass], :default => false - -def initialize(*args) - super - @action = :install -end diff --git a/cookbooks/arcgis-desktop/spec/spec_helper.rb b/cookbooks/arcgis-desktop/spec/spec_helper.rb deleted file mode 100644 index 1dd5126..0000000 --- a/cookbooks/arcgis-desktop/spec/spec_helper.rb +++ /dev/null @@ -1,2 +0,0 @@ -require 'chefspec' -require 'chefspec/berkshelf' diff --git a/cookbooks/arcgis-desktop/spec/unit/recipes/default_spec.rb b/cookbooks/arcgis-desktop/spec/unit/recipes/default_spec.rb deleted file mode 100644 index 35d2e5c..0000000 --- a/cookbooks/arcgis-desktop/spec/unit/recipes/default_spec.rb +++ /dev/null @@ -1,20 +0,0 @@ -# -# Cookbook Name:: arcgis-desktop -# Spec:: default -# -# Copyright (c) 2015 The Authors, All Rights Reserved. - -require 'spec_helper' - -describe 'arcgis-desktop::default' do - context 'When all attributes are default, on an unspecified platform' do - let(:chef_run) do - runner = ChefSpec::ServerRunner.new - runner.converge(described_recipe) - end - - it 'converges successfully' do - expect { chef_run }.to_not raise_error - end - end -end diff --git a/cookbooks/arcgis-desktop/test/fixtures/cookbooks/download-setups-s3/attributes/default.rb b/cookbooks/arcgis-desktop/test/fixtures/cookbooks/download-setups-s3/attributes/default.rb deleted file mode 100644 index aa7bbf7..0000000 --- a/cookbooks/arcgis-desktop/test/fixtures/cookbooks/download-setups-s3/attributes/default.rb +++ /dev/null @@ -1,49 +0,0 @@ -default['download_setups_s3'].tap do |s3| - # - # The bucket name of where the ArcGIS setups are stored. - # - s3['bucket'] = 'test-kitchen' - - # - # The region of the bucket. - # - s3['region'] = 'us-west-1' - - # - # The base path of where the ArcGIS setups will be downloaded to. This - # attribute is based on the arcgis-desktop [#{product}][setup] attribute. - # - case node['platform'] - when 'windows' - s3['base']['src_path'] = ::File.join( - node['arcgis']['repository']['setups'], - 'ArcGIS ' + node['arcgis']['version'] - ) - else - s3['base']['src_path'] = ::File.join( - node['arcgis']['repository']['setups'], node['arcgis']['version'] - ) - end - - # - # The remote path of the authorization files. Combiled attribute of - # +arcgis+version+ and default name of packaged authorication files. This can - # be overridden to specify full path. - # - s3['auth_files']['remote_path'] = ::File.join( - node['arcgis']['version'], 'auth_files.tar' - ) - - # - # The path of the authorization files to be extracted to. - # - s3['auth_files']['local_path'] = '/auth_files' - - # - # Compiled attribute of +auth_files+local_path+ and a default name of packaged - # auth_files. This can be overriden to specify full path. - # - s3['auth_files']['src_path'] = ::File.join( - node['download_setups_s3']['auth_files']['local_path'], 'auth_files.tar' - ) -end diff --git a/cookbooks/arcgis-desktop/test/fixtures/cookbooks/download-setups-s3/attributes/desktop.rb b/cookbooks/arcgis-desktop/test/fixtures/cookbooks/download-setups-s3/attributes/desktop.rb deleted file mode 100644 index 85785ee..0000000 --- a/cookbooks/arcgis-desktop/test/fixtures/cookbooks/download-setups-s3/attributes/desktop.rb +++ /dev/null @@ -1,44 +0,0 @@ -default['download_setups_s3'].tap do |s3| - case node['platform'] - when 'windows' - # - # The name of the ArcGIS Desktop s3 setup file. This will change based on - # current vs past releases due to differences in packaging. - # - s3['desktop']['remote_filename'] = 'arcgis_desktop.tar' - - # - # Full remote path to ArcGIS Desktop s3 setup file. This is a compiled - # attribute of specific bucket structure and +desktop+remote_filename+ - # attribute, but you can override and specify full path. - # - s3['desktop']['remote_path'] = ::File.join( - node['arcgis']['version'], - node['download_setups_s3']['desktop']['remote_filename'] - ) - - # - # The name of the ArcGIS Desktop setup file. This can differ based on - # packaging. Setting this to the name of the 'exe' will skip the resource for - # extracting the setup if it is packaged as an 'exe'. - # - s3['desktop']['src_filename'] = 'arcgis_desktop.tar' - - # - # The local path to the ArcGIS Desktop setup. This attribute is used for - # creating the path to and extraction of the setup. - # - s3['desktop']['local_path'] = ::File.join( - node['download_setups_s3']['base']['src_path'], 'ArcGISDesktop', - ) - - # - # Compiled attribute of +desktop+local_path+ and - # +desktop+src_filename+. This attribute can be overriden to specify - # the full path to the local setup. - s3['desktop']['src_path'] = ::File.join( - node['download_setups_s3']['desktop']['local_path'], - node['download_setups_s3']['desktop']['src_filename'] - ) - end -end diff --git a/cookbooks/arcgis-desktop/test/fixtures/cookbooks/download-setups-s3/attributes/licensemanager.rb b/cookbooks/arcgis-desktop/test/fixtures/cookbooks/download-setups-s3/attributes/licensemanager.rb deleted file mode 100644 index 4d757e2..0000000 --- a/cookbooks/arcgis-desktop/test/fixtures/cookbooks/download-setups-s3/attributes/licensemanager.rb +++ /dev/null @@ -1,84 +0,0 @@ -default['download_setups_s3'].tap do |s3| - case node['platform'] - when 'windows' - # - # The name of the ArcGIS LicenseManager s3 setup file. This will change based on - # current vs past releases due to differences in packaging. - # - s3['licensemanager']['remote_filename'] = 'licensemanager.tar' - - # - # Full remote path to ArcGIS LicenseManager s3 setup file. This is a compiled - # attribute of specific bucket structure and +licensemanager+remote_filename+ - # attribute, but you can override and specify full path. - # - s3['licensemanager']['remote_path'] = ::File.join( - node['arcgis']['version'], - node['download_setups_s3']['licensemanager']['remote_filename'] - ) - - # - # The name of the ArcGIS LicenseManager setup file. This can differ based on - # packaging. Setting this to the name of the 'exe' will skip the resource for - # extracting the setup if it is packaged as an 'exe'. - # - s3['licensemanager']['src_filename'] = 'licensemanager.tar' - - # - # The local path to the ArcGIS LicenseManager setup. This attribute is used for - # creating the path to and extraction of the setup. - # - s3['licensemanager']['local_path'] = ::File.join( - node['download_setups_s3']['base']['src_path'], 'LicenseManager', - ) - - # - # Compiled attribute of +licensemanager+local_path+ and - # +licensemanager+src_filename+. This attribute can be overriden to specify - # the full path to the local setup. - s3['licensemanager']['src_path'] = ::File.join( - node['download_setups_s3']['licensemanager']['local_path'], - node['download_setups_s3']['licensemanager']['src_filename'] - ) - else - # - # The name of the ArcGIS LicenseManager s3 setup file. This will change based on - # current vs past releases due to differences in packaging. - # - s3['licensemanager']['remote_filename'] = 'licensemanager.tar.gz' - - # - # Full remote path to ArcGIS LicenseManager s3 setup file. This is a compiled - # attribute of specific bucket structure and +licensemanager+remote_filename+ - # attribute, but you can override and specify full path. - # - s3['licensemanager']['remote_path'] = ::File.join( - node['arcgis']['version'], - node['download_setups_s3']['licensemanager']['remote_filename'] - ) - - # - # The name of the ArcGIS LicenseManager setup file. This can differ based on - # packaging. Setting this to the name of the 'exe' will skip the resource for - # extracting the setup if it is packaged as an 'exe'. - # - s3['licensemanager']['src_filename'] = 'licensemanager.tar.gz' - - # - # The local path to the ArcGIS LicenseManager setup. This attribute is used for - # creating the path to and extraction of the setup. - # - s3['licensemanager']['local_path'] = ::File.join( - node['download_setups_s3']['base']['src_path'], 'licensemanager', - ) - - # - # Compiled attribute of +licensemanager+local_path+ and - # +licensemanager+src_filename+. This attribute can be overriden to specify - # the full path to the local setup. - s3['licensemanager']['src_path'] = ::File.join( - node['download_setups_s3']['licensemanager']['local_path'], - node['download_setups_s3']['licensemanager']['src_filename'] - ) - end -end diff --git a/cookbooks/arcgis-desktop/test/fixtures/cookbooks/download-setups-s3/metadata.rb b/cookbooks/arcgis-desktop/test/fixtures/cookbooks/download-setups-s3/metadata.rb deleted file mode 100644 index d7794b4..0000000 --- a/cookbooks/arcgis-desktop/test/fixtures/cookbooks/download-setups-s3/metadata.rb +++ /dev/null @@ -1,5 +0,0 @@ -name 'download-setups-s3' -depends 'arcgis-desktop' -depends 'aws' -depends 'seven_zip' -depends 'tar' diff --git a/cookbooks/arcgis-desktop/test/fixtures/cookbooks/download-setups-s3/recipes/auth_files.rb b/cookbooks/arcgis-desktop/test/fixtures/cookbooks/download-setups-s3/recipes/auth_files.rb deleted file mode 100644 index f5fc495..0000000 --- a/cookbooks/arcgis-desktop/test/fixtures/cookbooks/download-setups-s3/recipes/auth_files.rb +++ /dev/null @@ -1,34 +0,0 @@ -include_recipe 'seven_zip' if node['platform'] == 'windows' - -directory node['download_setups_s3']['auth_files']['local_path'] do - recursive true - action :create -end - -aws_s3_file node['download_setups_s3']['auth_files']['src_path'] do - bucket node['download_setups_s3']['bucket'] - region node['download_setups_s3']['region'] - remote_path node['download_setups_s3']['auth_files']['remote_path'] - if node['platform'] == 'windows' - notifies :extract, - 'seven_zip_archive[extract authorization files]', - :immediately - else - notifies :extract_local, - "tar_extract[#{node['download_setups_s3']['auth_files']['src_path']}]", - :immediately - end -end - -seven_zip_archive 'extract authorization files' do - path node['download_setups_s3']['auth_files']['local_path'] - source node['download_setups_s3']['auth_files']['src_path'] - action :nothing -end - -tar_extract node['download_setups_s3']['auth_files']['src_path'] do - target_dir node['download_setups_s3']['auth_files']['local_path'] - compress_char '' - action :nothing - only_if { true } # bug in tar cookbook where action :nothing is triggered. -end diff --git a/cookbooks/arcgis-desktop/test/fixtures/cookbooks/download-setups-s3/recipes/desktop.rb b/cookbooks/arcgis-desktop/test/fixtures/cookbooks/download-setups-s3/recipes/desktop.rb deleted file mode 100644 index b5a4531..0000000 --- a/cookbooks/arcgis-desktop/test/fixtures/cookbooks/download-setups-s3/recipes/desktop.rb +++ /dev/null @@ -1,21 +0,0 @@ -include_recipe 'download-setups-s3::auth_files' - -directory node['download_setups_s3']['desktop']['local_path'] do - recursive true - action :create -end - -aws_s3_file node['download_setups_s3']['desktop']['src_path'] do - bucket node['download_setups_s3']['bucket'] - region node['download_setups_s3']['region'] - remote_path node['download_setups_s3']['desktop']['remote_path'] -end - -if node['platform'] == 'windows' - seven_zip_archive 'extract desktop setup' do - path node['download_setups_s3']['desktop']['local_path'] - source node['download_setups_s3']['desktop']['src_path'] - action :extract - not_if { ::File.exist?(node['arcgis']['desktop']['setup']) } - end -end diff --git a/cookbooks/arcgis-desktop/test/fixtures/cookbooks/download-setups-s3/recipes/licensemanager.rb b/cookbooks/arcgis-desktop/test/fixtures/cookbooks/download-setups-s3/recipes/licensemanager.rb deleted file mode 100644 index 7829c7c..0000000 --- a/cookbooks/arcgis-desktop/test/fixtures/cookbooks/download-setups-s3/recipes/licensemanager.rb +++ /dev/null @@ -1,27 +0,0 @@ -include_recipe 'download-setups-s3::auth_files' - -directory node['download_setups_s3']['licensemanager']['local_path'] do - recursive true - action :create -end - -aws_s3_file node['download_setups_s3']['licensemanager']['src_path'] do - bucket node['download_setups_s3']['bucket'] - region node['download_setups_s3']['region'] - remote_path node['download_setups_s3']['licensemanager']['remote_path'] -end - -if node['platform'] == 'windows' - seven_zip_archive 'extract licensemanager setup' do - path node['download_setups_s3']['licensemanager']['local_path'] - source node['download_setups_s3']['licensemanager']['src_path'] - action :extract - not_if { ::File.exist?(node['arcgis']['licensemanager']['setup']) } - end -else - tar_extract node['download_setups_s3']['licensemanager']['src_path'] do - target_dir node['download_setups_s3']['licensemanager']['local_path'] - action :extract_local - not_if { ::File.exist?(node['arcgis']['licensemanager']['setup']) } - end -end diff --git a/cookbooks/arcgis-desktop/test/integration/default/serverspec/Gemfile b/cookbooks/arcgis-desktop/test/integration/default/serverspec/Gemfile deleted file mode 100644 index d3bf6d8..0000000 --- a/cookbooks/arcgis-desktop/test/integration/default/serverspec/Gemfile +++ /dev/null @@ -1,5 +0,0 @@ -source 'https://rubygems.org' - -if (/cygwin|mswin|mingw|bccwin|wince|emx/ =~ RUBY_PLATFORM) - gem 'winrm' -end diff --git a/cookbooks/arcgis-desktop/test/integration/default/serverspec/default_spec.rb b/cookbooks/arcgis-desktop/test/integration/default/serverspec/default_spec.rb deleted file mode 100644 index aa75c09..0000000 --- a/cookbooks/arcgis-desktop/test/integration/default/serverspec/default_spec.rb +++ /dev/null @@ -1,9 +0,0 @@ -require 'spec_helper' - -describe 'arcgis-desktop::default' do - # Serverspec examples can be found at - # http://serverspec.org/resource_types.html - it 'does something' do - skip 'Replace this with meaningful tests' - end -end diff --git a/cookbooks/arcgis-desktop/test/integration/helpers/serverspec/spec_helper.rb b/cookbooks/arcgis-desktop/test/integration/helpers/serverspec/spec_helper.rb deleted file mode 100644 index bc986d2..0000000 --- a/cookbooks/arcgis-desktop/test/integration/helpers/serverspec/spec_helper.rb +++ /dev/null @@ -1,18 +0,0 @@ -require 'serverspec' - -if (/cygwin|mswin|mingw|bccwin|wince|emx/ =~ RUBY_PLATFORM).nil? - set :backend, :exec -else - require 'winrm' - - set :backend, :winrm - set :os, family: 'windows' - - user = 'vagrant' - pass = 'vagrant' - endpoint = "http://127.0.0.1:5985/wsman" - - winrm = ::WinRM::WinRMWebService.new(endpoint, :ssl, :user => user, :pass => pass, :basic_auth_only => true) - winrm.set_timeout 300 # 5 minutes max timeout for any operation - Specinfra.configuration.winrm = winrm -end diff --git a/cookbooks/arcgis-egdb/Berksfile b/cookbooks/arcgis-egdb/Berksfile index 203d7ff..aeade4e 100644 --- a/cookbooks/arcgis-egdb/Berksfile +++ b/cookbooks/arcgis-egdb/Berksfile @@ -9,11 +9,4 @@ metadata group :integration do cookbook 'arcgis-repository', path: '../arcgis-repository' cookbook 'arcgis-enterprise', path: '../arcgis-enterprise' - cookbook 'apt' - cookbook 'aws' - cookbook 'postgresql' - cookbook 'seven_zip' - cookbook 'tar' - fixture 'download-setups-s3' - fixture 'postgresql-test' end diff --git a/cookbooks/arcgis-egdb/CHANGELOG.md b/cookbooks/arcgis-egdb/CHANGELOG.md index c2c4dc8..4a36ed2 100644 --- a/cookbooks/arcgis-egdb/CHANGELOG.md +++ b/cookbooks/arcgis-egdb/CHANGELOG.md @@ -3,6 +3,11 @@ arcgis-egdb cookbook CHANGELOG This file is used to list changes made in each version of the arcgis-egdb cookbook. +2.0.0 +----- + +- TODO + 1.1.1 ----- diff --git a/cookbooks/arcgis-egdb/README.md b/cookbooks/arcgis-egdb/README.md index 5b9a25b..644800f 100644 --- a/cookbooks/arcgis-egdb/README.md +++ b/cookbooks/arcgis-egdb/README.md @@ -3,7 +3,7 @@ layout: default title: "arcgis-egdb cookbook" category: cookbooks item: arcgis-egdb -version: 1.1.1 +version: 2.0.0 latest: true --- @@ -19,11 +19,17 @@ The arcgis-egdb cookbook creates enterprise geodatabases in SQL Server or Postgr * Windows Server 2016 * Windows Server 2019 * Windows Server 2022 -* Ubuntu Server 18.04 and 20.04 LTS +* Ubuntu Server 20.04 LTS +* Ubuntu Server 22.04 LTS * Red Hat Enterprise Linux Server 8 +* Red Hat Enterprise Linux Server 9 * SUSE Linux Enterprise Server 15 * Oracle Linux 8 - +* Oracle Linux 9 +* Rocky Linux 8 +* Rocky Linux 9 +* AlmaLinux 9 + ## Database Servers The cookbook was tested with: @@ -77,7 +83,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.0", + "version": "11.3", "server": { "install_dir": "C:\\Program Files\\ArcGIS\\Server", "private_url": "https://domain.com:6443/arcgis", @@ -90,7 +96,7 @@ Attributes used by the recipe: "egdb": { "engine": "postgres", "endpoint": "xxx.cluster-yyy.us-east-2.rds.amazonaws.com", - "keycodes": "C:\\Program Files\\ESRI\\License11.0\\sysgen\\keycodes", + "keycodes": "C:\\Program Files\\ESRI\\License11.3\\sysgen\\keycodes", "postgresbin" : "C:\\Program Files\\ArcGIS\\DataStore\\framework\\runtime\\pgsql\\bin", "master_username": "EsriRDSAdmin", "master_password": "changeit", @@ -120,7 +126,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.0", + "version": "11.3", "run_as_user": "arcgis", "server": { "install_dir": "C:\\Program Files\\ArcGIS\\Server" @@ -131,7 +137,7 @@ Attributes used by the recipe: "egdb": { "engine": "postgres", "endpoint": "xxx.cluster-yyy.us-east-2.rds.amazonaws.com", - "keycodes": "C:\\Program Files\\ESRI\\License11.0\\sysgen\\keycodes", + "keycodes": "C:\\Program Files\\ESRI\\License11.3\\sysgen\\keycodes", "postgresbin" : "C:\\Program Files\\ArcGIS\\DataStore\\framework\\runtime\\pgsql\\bin", "master_username": "EsriRDSAdmin", "master_password": "changeit", @@ -162,7 +168,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.0", + "version": "11.3", "server": { "install_dir": "C:\\Program Files\\ArcGIS\\Server" }, @@ -171,7 +177,7 @@ Attributes used by the recipe: }, "egdb": { "endpoint": "xxx.cluster-yyy.us-east-2.rds.amazonaws.com", - "keycodes": "C:\\Program Files\\ESRI\\License11.0\\sysgen\\keycodes", + "keycodes": "C:\\Program Files\\ESRI\\License11.3\\sysgen\\keycodes", "master_username": "EsriRDSAdmin", "master_password": "changeit", "db_password": "changeit", @@ -253,4 +259,3 @@ Attributes used by the recipe: ] } ``` - diff --git a/cookbooks/arcgis-egdb/metadata.rb b/cookbooks/arcgis-egdb/metadata.rb index a0d923d..77041e1 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.1.1' -chef_version '>= 14.0' if defined? chef_version +version '2.0.0' +chef_version '>= 15.3' if defined? chef_version -depends 'arcgis-enterprise', '~> 4.2' +depends 'arcgis-enterprise', '~> 5.0' supports 'windows' supports 'ubuntu' diff --git a/cookbooks/arcgis-enterprise/Berksfile b/cookbooks/arcgis-enterprise/Berksfile index 65433da..7d2ec72 100644 --- a/cookbooks/arcgis-enterprise/Berksfile +++ b/cookbooks/arcgis-enterprise/Berksfile @@ -8,11 +8,6 @@ metadata group :integration do cookbook 'arcgis-repository', path: '../arcgis-repository' - cookbook 'apt' - cookbook 'aws' cookbook 'esri-iis' cookbook 'esri-tomcat' - cookbook 'seven_zip' - cookbook 'tar' - fixture 'download-setups-s3' end diff --git a/cookbooks/arcgis-enterprise/CHANGELOG.md b/cookbooks/arcgis-enterprise/CHANGELOG.md index 8662ba8..d788f34 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. +5.0.0 +----- +- Added support for ArcGIS Enterprise 11.3 + 4.2.0 ----- - Added support for ArcGIS Enterprise 11.2 diff --git a/cookbooks/arcgis-enterprise/README.md b/cookbooks/arcgis-enterprise/README.md index dd9ab96..47f5fcb 100644 --- a/cookbooks/arcgis-enterprise/README.md +++ b/cookbooks/arcgis-enterprise/README.md @@ -3,7 +3,7 @@ layout: default title: "arcgis-enterprise cookbook" category: cookbooks item: arcgis-enterprise -version: 4.2.0 +version: 5.0.0 latest: true --- @@ -13,13 +13,11 @@ This cookbook installs and configures ArcGIS Enterprise components. ## Supported ArcGIS versions -* 10.8 -* 10.8.1 -* 10.9 * 10.9.1 * 11.0 * 11.1 * 11.2 +* 11.3 ## Supported ArcGIS Software @@ -38,11 +36,15 @@ This cookbook installs and configures ArcGIS Enterprise components. * Windows Server 2016 * Windows Server 2019 * Windows Server 2022 -* Ubuntu Server 18.04 and 20.04 LTS +* Ubuntu Server 20.04 LTS +* Ubuntu Server 22.04 LTS * Red Hat Enterprise Linux Server 8 +* Red Hat Enterprise Linux Server 9 * SUSE Linux Enterprise Server 15 * Oracle Linux 8 +* Oracle Linux 9 * Rocky Linux 8 +* Rocky Linux 9 * AlmaLinux 9 > Check the system requirements of the specific ArcGIS software version to make sure that the platform is supported in that version. @@ -64,7 +66,7 @@ The following cookbooks are required: ### General -* `node['arcgis']['version']` = ArcGIS version. Default value is `11.2`. +* `node['arcgis']['version']` = ArcGIS version. Default value is `11.3`. * `node['arcgis']['run_as_user']` = User account used to run ArcGIS Server, Portal for ArcGIS, and ArcGIS Data Store. Default account name is `arcgis`. * `node['arcgis']['run_as_uid']` = Numeric identifier of user account used to run ArcGIS Server, Portal for ArcGIS, and ArcGIS Data Store. Default user identifier is `1100`. * `node['arcgis']['run_as_gid']` = Numeric identifier of user group used to run ArcGIS Server, Portal for ArcGIS, and ArcGIS Data Store. Default group identifier is `1100`. @@ -146,6 +148,7 @@ Portal for ArcGIS, and ArcGIS Data Store. Default value is `nil`. * `node['arcgis']['server']['pull_license]` = If set to `true`, the server_node recipe pulls the ArcGIS Server license from other server machines in the site. The default value is `false`. * `node['arcgis']['server']['patches]` = File names of ArcGIS Server patches to install. Default value is `[]`. * `node['arcgis']['server']['services_dir_enabled']` = If set to `true` enables ArcGIS Server services directory. Default value is `true`. +* `node['arcgis']['server']['unpack_options']` = ArcGIS Server windows self-extracting archive command line options. Default value is `/x` for ArcGIS Server 11.3 and `''` for older versions. ### Web Adaptor @@ -158,7 +161,7 @@ Portal for ArcGIS, and ArcGIS Data Store. Default value is `nil`. * `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 `[]`. * `node['arcgis']['web_adaptor']['install_system_requirements']` = If set to true, the required third-party packages are installed on the machine before running the ArcGIS Web Adaptor setup. Default value is `true`. -* `node['arcgis']['web_adaptor']['dotnet_setup_path']` = Path to ASP.NET Core Runtime Hosting Bundle setup. Default path is `\dotnet-hosting-6.0.9-win.exe`. +* `node['arcgis']['web_adaptor']['dotnet_setup_path']` = Path to ASP.NET Core Runtime Hosting Bundle setup. Default path is `\dotnet-hosting-8.0.0-win.exe`. * `node['arcgis']['web_adaptor']['web_deploy_setup_path']` = Path to Web Deploy setup. Default path is `\WebDeploy_amd64_en-US.msi`. ### Portal @@ -186,7 +189,7 @@ Portal for ArcGIS, and ArcGIS Data Store. Default value is `nil`. * `node['arcgis']['portal']['data_dir']` = Data directory path used by the Portal for ArcGIS setup. The path must be a local directory, not a shared network directory. Default path on Windows is `C:\arcgisportal`; on Linux, it is `/arcgis/portal/usr/arcgisportal/`. * `node['arcgis']['portal']['content_dir']` = Portal for ArcGIS content directory. Default directory is `C:\arcgisportal\content` on Windows and `/arcgis/portal/usr/arcgisportal/content` on Linux. * `node['arcgis']['portal']['authorization_file']` = Portal for ArcGIS authorization file path. Default location and file name is `''`. -* `node['arcgis']['portal']['authorization_file_version']` = Portal for ArcGIS authorization file version. Default value is `11.2`. +* `node['arcgis']['portal']['authorization_file_version']` = Portal for ArcGIS authorization file version. Default value is `11.3`. * `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`. @@ -209,8 +212,12 @@ Portal for ArcGIS, and ArcGIS Data Store. Default value is `nil`. * `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,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,7820,7830,7840`. * `node['arcgis']['portal']['patches]` = File names of Portal for ArcGIS patches to install. Default value is `[]`. +* `node['arcgis']['portal']['webgisdr_properties']` = webgisdr tool properties. Default value is `{}`. +* `node['arcgis']['portal']['webgisdr_timeout']` = webgisdr tool execution timeout in seconds. Default timeout is `36000`. +* `node['arcgis']['portal']['unpack_options']` = Portal for ArcGIS windows self-extracting archive command line options. Default value is `/x` for Portal for ArcGIS 11.3 and `''` for older versions. +* `node['arcgis']['portal']['enable_debug']` = Specifies the log level when creating and upgrading Portal for ArcGIS site. If `true`, the log level is set to DEBUG, otherwise the log level is set to VERBOSE. The default value is `false`. ### Web Styles @@ -231,8 +238,9 @@ Portal for ArcGIS, and ArcGIS Data Store. Default value is `nil`. * `node['arcgis']['data_store']['configure_autostart']` = If set to true, on Linux ArcGIS Data Store is configured to start with the operating system. Default value is `true`. * `node['arcgis']['data_store']['hostidentifier']` = Host name or IP address of ArcGIS Data Store machine. Default value is `''`. * `node['arcgis']['data_store']['preferredidentifier']` = ArcGIS Data Store preferred identifier method ``. Default method used is `hostname`. -* `node['arcgis']['data_store']['types']` = Comma-separated list of ArcGIS Data Store types to be created, ``. By default, `tileCache,relational` is used. +* `node['arcgis']['data_store']['types']` = Comma-separated list of ArcGIS Data Store types to be created, ``. The default value is `tileCache,relational`. * `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']['roles']` = Comma-separated list of Spatiotemporal ArcGIS Data Store roles, `[coord][,][data]`. Supported from ArcGIS Data Store 11.3. The default value is `''`. * `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. @@ -240,7 +248,7 @@ Portal for ArcGIS, and ArcGIS Data Store. Default value is `nil`. * `node['arcgis']['data_store']['object']['backup_type']` = Type of location to use for object data store backups ``. The default value is `fs` for file system. * `node['arcgis']['data_store']['object']['backup_location']` = Object data store backup location. The default location is `node['arcgis']['data_store']['backup_dir']/object`. * `node['arcgis']['data_store']['force_remove_machine']` = Specify true only if the ArcGIS Server site is unavailable when ArcGIS Data Store machine is removed. Default value is `false`. -* `node['arcgis']['data_store']['ports']` = Ports opened in Windows firewall for ArcGIS Data Store. Default ports are `2443,4369,9220,9320,9820,9829,9830,9840,9876,9900,25672,44369,45671,45672,29079-29090`. +* `node['arcgis']['data_store']['ports']` = Ports opened in Windows firewall for ArcGIS Data Store. Default ports are `2443,4369,9220,9320,9820,9829,9830,9831,9840,9876,9900,25672,44369,45671,45672,29079-29090`. * `node['arcgis']['data_store']['patches]` = File names of ArcGIS Data Store patches to install. Default value is `[]`. ### Linux Web Server @@ -258,7 +266,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "clean_install_dirs": false, "server": { "install_dir": "C:\\Program Files\\ArcGIS\\Server", @@ -368,7 +376,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "run_as_user": "arcgis", "run_as_password": "", "configure_windows_firewall": false, @@ -378,7 +386,7 @@ Attributes used by the recipe: "admin_password": "" }, "data_store": { - "setup": "C:\\ArcGIS\\11.2\\Setups\\DataStore\\Setup.exe", + "setup": "C:\\ArcGIS\\11.3\\Setups\\DataStore\\Setup.exe", "install_system_requirements": true, "configure_autostart": true, "install_dir": "C:\\Program Files\\ArcGIS\\DataStore", @@ -458,7 +466,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "server": { "private_url": "https://domain.com:6443/arcgis", "web_context_url": "https://domain.com/server", @@ -489,7 +497,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "server": { "private_url": "https://domain.com:6443/arcgis", "web_context_url": "https://domain.com/server", @@ -520,7 +528,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "server": { "private_url": "https://domain.com:6443/arcgis", "web_context_url": "https://domain.com/server", @@ -549,25 +557,25 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "run_as_user": "arcgis", "run_as_password": "", "server": { - "setup": "C:\\ArcGIS\\11.2\\Setups\\Server\\Setup.exe", + "setup": "C:\\ArcGIS\\11.3\\Setups\\Server\\Setup.exe", "install_dir": "C:\\Program Files\\ArcGIS\\Server", "wa_name": "server" }, "portal": { - "setup": "C:\\ArcGIS\\11.2\\Setups\\Portal\\Setup.exe", + "setup": "C:\\ArcGIS\\11.3\\Setups\\Portal\\Setup.exe", "install_dir": "C:\\Program Files\\ArcGIS\\Portal", "wa_name": "portal" }, "data_store": { - "setup": "C:\\ArcGIS\\11.2\\Setups\\DataStore\\Setup.exe", + "setup": "C:\\ArcGIS\\11.3\\Setups\\DataStore\\Setup.exe", "install_dir": "C:\\Program Files\\ArcGIS\\DataStore" }, "web_adaptor": { - "setup": "C:\\ArcGIS\\11.2\\Setups\\WebAdaptorIIS\\Setup.exe", + "setup": "C:\\ArcGIS\\11.3\\Setups\\WebAdaptorIIS\\Setup.exe", "install_dir": "" }, "python": { @@ -589,7 +597,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "server": { "install_dir": "C:\\Program Files\\ArcGIS\\Server", "wa_name": "server" @@ -621,18 +629,18 @@ Attributes used by the recipe: { "arcgis": { "server": { - "setup": "C:\\ArcGIS\\11.2\\Setups\\Server\\Setup.exe", - "authorization_file": "C:\\ArcGIS\\11.2\\Authorization_Files\\Server.prvc" + "setup": "C:\\ArcGIS\\11.3\\Setups\\Server\\Setup.exe", + "authorization_file": "C:\\ArcGIS\\11.3\\Authorization_Files\\Server.prvc" }, "portal": { - "setup": "C:\\ArcGIS\\11.2\\Setups\\Portal\\Setup.exe", - "authorization_file": "C:\\ArcGIS\\11.2\\Authorization_Files\\Portal.json" + "setup": "C:\\ArcGIS\\11.3\\Setups\\Portal\\Setup.exe", + "authorization_file": "C:\\ArcGIS\\11.3\\Authorization_Files\\Portal.json" }, "data_store": { - "setup": "C:\\ArcGIS\\11.2\\Setups\\DataStore\\SetupFile\\Setup.exe" + "setup": "C:\\ArcGIS\\11.3\\Setups\\DataStore\\SetupFile\\Setup.exe" }, "web_adaptor": { - "setup": "C:\\ArcGIS\\11.2\\Setups\\WebAdaptorIIS\\Setup.exe" + "setup": "C:\\ArcGIS\\11.3\\Setups\\WebAdaptorIIS\\Setup.exe" } }, "run_list": [ @@ -681,7 +689,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "run_as_user": "arcgis", "run_as_password": "", "fileserver": { @@ -741,11 +749,11 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "run_as_user": "arcgis", "run_as_password": "", "data_store": { - "setup": "C:\\Users\\Administrator\\Documents\\ArcGIS 11.2\\ArcGISDataStore\\Setup.exe", + "setup": "C:\\Users\\Administrator\\Documents\\ArcGIS 11.3\\ArcGISDataStore\\Setup.exe", "install_dir": "C:\\Program Files\\ArcGIS\\DataStore", "data_dir": "C:\\arcgisdatastore", "backup_dir": "C:\\arcgisdatastore\\backup", @@ -768,11 +776,11 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "run_as_user": "arcgis", "run_as_password": "", "portal": { - "setup": "C:\\Users\\Administrator\\Documents\\ArcGIS 11.2\\PortalForArcGIS\\Setup.exe", + "setup": "C:\\Users\\Administrator\\Documents\\ArcGIS 11.3\\PortalForArcGIS\\Setup.exe", "install_dir": "C:\\Program Files\\ArcGIS\\Portal", "install_system_requirements": true, "configure_autostart": true, @@ -794,9 +802,9 @@ Attributes used by the recipe on Windows: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "web_adaptor": { - "setup": "C:\\Users\\Administrator\\Documents\\ArcGIS 11.2\\WebAdaptorIIS\\Setup.exe", + "setup": "C:\\Users\\Administrator\\Documents\\ArcGIS 11.3\\WebAdaptorIIS\\Setup.exe", "install_dir": "", "install_system_requirements": true }, @@ -819,11 +827,11 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "run_as_user": "arcgis", "run_as_password": "", "server": { - "setup": "C:\\Users\\Administrator\\Documents\\ArcGIS 11.2\\ArcGISServer\\Setup.exe", + "setup": "C:\\Users\\Administrator\\Documents\\ArcGIS 11.3\\ArcGISServer\\Setup.exe", "install_dir": "C:\\Program Files\\ArcGIS\\Server", "install_system_requirements": true, "configure_autostart": true @@ -847,9 +855,9 @@ Attributes used by the recipe on Windows: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "web_adaptor": { - "setup": "C:\\Users\\Administrator\\Documents\\ArcGIS 11.2\\WebAdaptorIIS\\Setup.exe", + "setup": "C:\\Users\\Administrator\\Documents\\ArcGIS 11.3\\WebAdaptorIIS\\Setup.exe", "install_dir": "" }, "server": { @@ -871,18 +879,18 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "server": { - "lp-setup": "C:\\ArcGIS\\11.2\\Setups\\Server\\Japanese\\setup.msi" + "lp-setup": "C:\\ArcGIS\\11.3\\Setups\\Server\\Japanese\\setup.msi" }, "portal": { - "lp-setup": "C:\\ArcGIS\\11.2\\Setups\\Portal\\Japanese\\setup.msi" + "lp-setup": "C:\\ArcGIS\\11.3\\Setups\\Portal\\Japanese\\setup.msi" }, "data_store": { - "lp-setup": "C:\\ArcGIS\\11.2\\Setups\\DataStore\\Japanese\\setup.msi" + "lp-setup": "C:\\ArcGIS\\11.3\\Setups\\DataStore\\Japanese\\setup.msi" }, "web_adaptor": { - "lp-setup": "C:\\ArcGIS\\11.2\\Setups\\WebAdaptorIIS\\Japanese\\setup.msi" + "lp-setup": "C:\\ArcGIS\\11.3\\Setups\\WebAdaptorIIS\\Japanese\\setup.msi" } }, "run_list": [ @@ -897,6 +905,8 @@ Installs hot fixes and patches for ArcGIS Enterprise software. 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-". +Before installing patches, the recipe runs Portal for ArcGIS Validation and Repair tool on 11.1 and 10.9.1 windows machines with Portal for ArcGIS installed. + Attributes used by the recipe: ```JSON @@ -933,18 +943,18 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "run_as_user": "arcgis", "run_as_password": "", "cache_authorization_files": false, "configure_windows_firewall": false, "portal": { "domain_name": "portal.domain.com", - "setup": "C:\\ArcGIS\\11.2\\Setups\\Portal\\Setup.exe", + "setup": "C:\\ArcGIS\\11.3\\Setups\\Portal\\Setup.exe", "install_dir": "C:\\Program Files\\ArcGIS\\Portal", - "authorization_file": "C:\\ArcGIS\\11.2\\Authorization_Files\\portal.json", + "authorization_file": "C:\\ArcGIS\\11.3\\Authorization_Files\\portal.json", "user_license_type_id" : "creatorUT", - "authorization_file_version": "11.2", + "authorization_file_version": "11.3", "install_system_requirements": true, "configure_autostart": true, "data_dir": "C:\\arcgisportal", @@ -1024,16 +1034,16 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "run_as_user": "arcgis", "run_as_password": "", "cache_authorization_files": false, "configure_windows_firewall": false, "portal": { - "setup": "C:\\ArcGIS\\11.2\\Setups\\Portal\\Setup.exe", + "setup": "C:\\ArcGIS\\11.3\\Setups\\Portal\\Setup.exe", "install_dir": "C:\\Program Files\\ArcGIS\\Portal", - "authorization_file": "C:\\ArcGIS\\11.2\\Authorization_Files\\Portal.prvc", - "authorization_file_version": "11.2", + "authorization_file": "C:\\ArcGIS\\11.3\\Authorization_Files\\Portal.prvc", + "authorization_file_version": "11.3", "install_system_requirements": true, "configure_autostart": true, "data_dir": "C:\\arcgisportal", @@ -1061,9 +1071,9 @@ Attributes used by the recipe on Windows: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "web_adaptor": { - "setup": "C:\\ArcGIS\\11.2\\Setups\\WebAdaptorIIS\\Setup.exe", + "setup": "C:\\ArcGIS\\11.3\\Setups\\WebAdaptorIIS\\Setup.exe", "install_dir": "", "install_system_requirements": true }, @@ -1086,12 +1096,12 @@ Attributes used by the recipe on Linux: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "web_server": { "webapp_dir": "/opt/tomcat_arcgis/webapps" }, "web_adaptor":{ - "setup": "/arcgis/11.2/WebAdaptor/CD_Linux/Setup", + "setup": "/arcgis/11.3/WebAdaptor/CD_Linux/Setup", "install_dir": "/", "install_system_requirements": true }, @@ -1130,7 +1140,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "run_as_user": "arcgis", "run_as_password": "", "cache_authorization_files": false, @@ -1138,8 +1148,8 @@ Attributes used by the recipe: "server": { "setup": "C:\\ArcGIS\\10.5\\Setups\\Server\\Setup.exe", "install_dir": "C:\\Program Files\\ArcGIS\\Server", - "authorization_file": "C:\\ArcGIS\\11.2\\Authorization_Files\\Server.prvc", - "authorization_file_version": "11.2", + "authorization_file": "C:\\ArcGIS\\11.3\\Authorization_Files\\Server.prvc", + "authorization_file_version": "11.3", "install_system_requirements": true, "configure_autostart": true, "directories_root": "C:\\arcgisserver", @@ -1209,16 +1219,16 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "run_as_user": "arcgis", "run_as_password": "", "cache_authorization_files": false, "configure_windows_firewall": false, "server": { - "setup": "C:\\ArcGIS\\11.2\\Setups\\Server\\Setup.exe", + "setup": "C:\\ArcGIS\\11.3\\Setups\\Server\\Setup.exe", "install_dir": "C:\\Program Files\\ArcGIS\\Server", - "authorization_file": "C:\\ArcGIS\\11.2\\Authorization_Files\\Server.prvc", - "authorization_file_version": "11.2", + "authorization_file": "C:\\ArcGIS\\11.3\\Authorization_Files\\Server.prvc", + "authorization_file_version": "11.3", "install_system_requirements": true, "configure_autostart": true, "directories_root": "C:\\arcgisserver", @@ -1288,9 +1298,9 @@ Attributes used by the recipe on Windows: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "web_adaptor": { - "setup": "C:\\ArcGIS\\11.2\\Setups\\WebAdaptorIIS\\Setup.exe", + "setup": "C:\\ArcGIS\\11.3\\Setups\\WebAdaptorIIS\\Setup.exe", "install_dir": "", "install_system_requirements": true, "admin_access": true @@ -1314,12 +1324,12 @@ Attributes used by the recipe on Linux: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "web_server": { "webapp_dir": "/opt/tomcat_arcgis/webapps" }, "web_adaptor":{ - "setup": "/arcgis/11.2/WebAdaptor/CD_Linux/Setup", + "setup": "/arcgis/11.3/WebAdaptor/CD_Linux/Setup", "install_dir": "/", "install_system_requirements": true, "admin_access": true @@ -1635,6 +1645,78 @@ Attributes used by the recipe: } ``` +### webgisdr_export + +Creates ArcGIS Enterprise backup using WebGISDR utility. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "run_as_user": "acrgis", + "run_as_password": "", + "portal": { + "install_dir": "C:\\Program Files\\ArcGIS\\Portal", + "webgisdr_timeout": 36000, + "webgisdr_properties": { + "PORTAL_ADMIN_URL": "https://domain.com:7443/arcgis", + "PORTAL_ADMIN_USERNAME": "sitedmin", + "PORTAL_ADMIN_PASSWORD": "", + "PORTAL_ADMIN_PASSWORD_ENCRYPTED": false, + "BACKUP_RESTORE_MODE": "backup", + "SHARED_LOCATION": "\\\\\\\\FILESERVER\\\\arcgisbackup\\\\webgisdr", + "INCLUDE_SCENE_TILE_CACHES": false, + "BACKUP_STORE_PROVIDER": "AmazonS3", + "S3_ENCRYPTED": false, + "S3_BUCKET": "", + "S3_CREDENTIALTYPE": "IAMRole", + "S3_REGION": "us-east-1" + } + } + }, + "run_list": [ + "recipe[arcgis-enterprise::webgisdr_export]" + ] +} +``` + +### webgisdr_import + +Restores ArcGIS Enterprise from backup using WebGISDR utility. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "run_as_user": "acrgis", + "run_as_password": "", + "portal": { + "install_dir": "C:\\Program Files\\ArcGIS\\Portal", + "webgisdr_timeout": 36000, + "webgisdr_properties": { + "PORTAL_ADMIN_URL": "https://domain.com:7443/arcgis", + "PORTAL_ADMIN_USERNAME": "sitedmin", + "PORTAL_ADMIN_PASSWORD": "", + "PORTAL_ADMIN_PASSWORD_ENCRYPTED": false, + "BACKUP_RESTORE_MODE": "backup", + "SHARED_LOCATION": "\\\\\\\\FILESERVER\\\\arcgisbackup\\\\webgisdr", + "INCLUDE_SCENE_TILE_CACHES": false, + "BACKUP_STORE_PROVIDER": "AmazonS3", + "S3_ENCRYPTED": false, + "S3_BUCKET": "", + "S3_CREDENTIALTYPE": "IAMRole", + "S3_REGION": "us-east-1" + } + } + }, + "run_list": [ + "recipe[arcgis-enterprise::webgisdr_import]" + ] +} +``` + ### webstyles Installs ArcGIS WebStyles. @@ -1644,9 +1726,9 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version":"11.2", + "version":"11.3", "webstyles": { - "setup":"C:\\ArcGIS\\11.2\\Setups\\ArcGIS 11.2\\ArcGISWebStyles\\Setup.exe" + "setup":"C:\\ArcGIS\\11.3\\Setups\\ArcGIS 11.3\\ArcGISWebStyles\\Setup.exe" } }, "run_list": [ diff --git a/cookbooks/arcgis-enterprise/attributes/datastore.rb b/cookbooks/arcgis-enterprise/attributes/datastore.rb index 3337501..3c767c2 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 2023 Esri +# Copyright 2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -28,12 +28,13 @@ data_store['types'] = 'tileCache,relational' data_store['mode'] = '' + data_store['roles'] = '' data_store['configure_autostart'] = true data_store['install_system_requirements'] = true data_store['force_remove_machine'] = false data_store['setup_archive'] = '' data_store['product_code'] = '' - data_store['ports'] = '2443,4369,9220,9320,9820,9829,9830,9840,9876,9900,25672,44369,45671,45672,29079-29090' + data_store['ports'] = '2443,4369,9220,9320,9820,9829,9830,9831,9840,9876,9900,25672,44369,45671,45672,29079-29090' data_store['patches'] = [] @@ -50,6 +51,10 @@ data_store['patch_registry'] ='SOFTWARE\\ESRI\\ArcGIS Data Store\\Updates' case node['arcgis']['version'] + when '11.3' + data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_DataStore_Windows_113_190233.exe').gsub('/', '\\') + data_store['product_code'] = '{E4FC0BED-0F94-49D4-9AF5-BBA64AED3787}' when '11.2' data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_DataStore_Windows_112_188252.exe').gsub('/', '\\') @@ -66,18 +71,6 @@ data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_DataStore_Windows_1091_180054.exe').gsub('/', '\\') data_store['product_code'] = '{30BB3697-7815-406B-8F0C-EAAFB723AA97}' - when '10.9' - data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_DataStore_Windows_109_177788.exe').gsub('/', '\\') - data_store['product_code'] = '{7A7D3A39-DBC0-48E8-B2C2-3466A84FE89E}' - when '10.8.1' - data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_DataStore_Windows_1081_175216.exe').gsub('/', '\\') - data_store['product_code'] = '{45E1C306-B1AB-4AE5-8435-818F0F9F8821}' - when '10.8' - 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}' else Chef::Log.warn 'Unsupported ArcGIS Data Store version' end @@ -88,6 +81,9 @@ data_store['lp-setup'] = node['arcgis']['data_store']['setup'] case node['arcgis']['version'] + when '11.3' + data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_DataStore_Linux_113_190318.tar.gz') when '11.2' data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_DataStore_Linux_112_188340.tar.gz') @@ -100,15 +96,6 @@ when '10.9.1' data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_DataStore_Linux_1091_180204.tar.gz') - when '10.9' - data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_DataStore_Linux_109_177887.tar.gz') - when '10.8.1' - data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_DataStore_Linux_1081_175312.tar.gz') - when '10.8' - data_store['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_DataStore_Linux_108_172991.tar.gz') else Chef::Log.warn 'Unsupported ArcGIS Data Store version' end diff --git a/cookbooks/arcgis-enterprise/attributes/default.rb b/cookbooks/arcgis-enterprise/attributes/default.rb index af575e9..202b7bd 100644 --- a/cookbooks/arcgis-enterprise/attributes/default.rb +++ b/cookbooks/arcgis-enterprise/attributes/default.rb @@ -31,7 +31,7 @@ default['arcgis']['run_as_msa'] = false default['arcgis']['run_as_user_auth_keys'] = nil -default['arcgis']['version'] = '11.2' +default['arcgis']['version'] = '11.3' 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 0146a96..24b8fb8 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 2022 Esri +# Copyright 2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -84,14 +84,22 @@ portal['log_level'] = 'WARNING' portal['max_log_file_age'] = 90 + + portal['enable_debug'] = false + portal['setup_archive'] = '' portal['product_code'] = '' + portal['unpack_options'] = '' + portal['system_properties'] = {} - portal['ports'] = '5701,5702,5703,7080,7443,7005,7099,7120,7220,7654' + portal['ports'] = '5701,5702,5703,7080,7443,7005,7099,7120,7220,7654,7820,7830,7840' portal['living_atlas']['group_ids'] = ['81f4ed89c3c74086a99d168925ce609e', '6646cd89ff1849afa1b95ed670a298b8'] portal['patches'] = [] + + portal['webgisdr_properties'] = {} + portal['webgisdr_timeout'] = 36000 # 10 hours case node['platform'] when 'windows' @@ -106,6 +114,11 @@ portal['patch_registry'] ='SOFTWARE\\ESRI\\Portal for ArcGIS\\Updates' case node['arcgis']['version'] + when '11.3' + portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'Portal_for_ArcGIS_Windows_113_189790.exe').gsub('/', '\\') + portal['product_code'] = '{6B72E29F-B27F-452E-8FCF-C2CFB9417891}' + portal['unpack_options'] = '/x' when '11.2' portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'Portal_for_ArcGIS_Windows_112_188250.exe').gsub('/', '\\') @@ -113,6 +126,8 @@ when '11.1' portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'Portal_for_ArcGIS_Windows_111_185219.exe').gsub('/', '\\') + portal['repair_tool'] = ::File.join(node['arcgis']['repository']['patches'], + 'ArcGIS-PFA-111-ValidationRepair.exe').gsub('/', '\\') portal['product_code'] = '{BED48866-C615-4790-AD87-01F114C1A999}' when '11.0' portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], @@ -121,19 +136,9 @@ when '10.9.1' portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'Portal_for_ArcGIS_Windows_1091_180052.exe').gsub('/', '\\') + portal['repair_tool'] = ::File.join(node['arcgis']['repository']['patches'], + 'ArcGIS-PFA-1091-ValidationRepair-B.exe').gsub('/', '\\') portal['product_code'] = '{B5C5195E-2446-45F9-B49E-CC0E1C358E7C}' - when '10.9' - portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Portal_for_ArcGIS_Windows_109_177786.exe').gsub('/', '\\') - portal['product_code'] = '{46FDB40E-6489-42CE-88D6-D35DFC5CABAF}' - when '10.8.1' - portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Portal_for_ArcGIS_Windows_1081_175214.exe').gsub('/', '\\') - portal['product_code'] = '{0803DE56-BAE9-49F5-A120-BA249BD924E2}' - when '10.8' - 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}' else Chef::Log.warn 'Unsupported Portal for ArcGIS version' end @@ -173,6 +178,9 @@ portal['lp-setup'] = node['arcgis']['server']['setup'] case node['arcgis']['version'] + when '11.3' + portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'Portal_for_ArcGIS_Linux_113_190316.tar.gz') when '11.2' portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'Portal_for_ArcGIS_Linux_112_188338.tar.gz') @@ -185,15 +193,6 @@ when '10.9.1' portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'Portal_for_ArcGIS_Linux_1091_180199.tar.gz') - when '10.9' - portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Portal_for_ArcGIS_Linux_109_177885.tar.gz') - when '10.8.1' - portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Portal_for_ArcGIS_Linux_1081_175300.tar.gz') - when '10.8' - portal['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Portal_for_ArcGIS_Linux_108_172989.tar.gz') 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 46b2685..c2babc8 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 2023 Esri +# Copyright 2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -107,6 +107,7 @@ server['security']['privileges'] = {'PUBLISH' => [], 'ADMINISTER' => []} server['setup_archive'] = '' server['product_code'] = '' + server['unpack_options'] = '' # disable nodeagent plugins on aws ec2 server['disable_nodeagent_plugins'] = true @@ -143,6 +144,15 @@ 'ServerConfigurationUtility.exe').gsub('/', '\\') case node['arcgis']['version'] + when '11.3' + server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Server_Windows_113_190188.exe').gsub('/', '\\') + server['product_code'] = '{BFADF38F-B9D3-40E6-AFD5-7DA1DA5BD349}' + default['arcgis']['python']['runtime_environment'] = File.join( + server_install_dir, + 'framework\\runtime\\ArcGIS\\bin\\Python\\envs\\arcgispro-py3').gsub('/', '\\') + server['patch_registry'] ='SOFTWARE\\ESRI\\Server11.3\\Updates' + server['unpack_options'] = '/x' when '11.2' server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Server_Windows_112_188239.exe').gsub('/', '\\') @@ -185,41 +195,6 @@ 'Common Files\\ArcGIS\\bin\\SoftwareAuthorization.exe').gsub('/', '\\') server['configuration_utility'] = ::File.join(server_install_dir, 'bin', 'ServerConfigurationUtility.exe').gsub('/', '\\') - when '10.9' - server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Server_Windows_109_177775.exe').gsub('/', '\\') - server['product_code'] = '{32A62D8E-BE72-4B28-AA0E-FE546D827240}' - default['arcgis']['python']['runtime_environment'] = File.join(node['arcgis']['python']['install_dir'], - "ArcGISx6410.9").gsub('/', '\\') - server['patch_registry'] = 'SOFTWARE\\ESRI\\Server10.9\\Updates' - server['authorization_tool'] = ::File.join(ENV['ProgramW6432'], - 'Common Files\\ArcGIS\\bin\\SoftwareAuthorization.exe').gsub('/', '\\') - server['configuration_utility'] = ::File.join(server_install_dir, - 'bin', 'ServerConfigurationUtility.exe').gsub('/', '\\') - when '10.8.1' - server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Server_Windows_1081_175203.exe').gsub('/', '\\') - server['product_code'] = '{E9B85E31-4C31-4528-996B-F06E213F8BB3}' - default['arcgis']['python']['runtime_environment'] = File.join(node['arcgis']['python']['install_dir'], - "ArcGISx6410.8").gsub('/', '\\') - server['patch_registry'] = 'SOFTWARE\\ESRI\\Server10.8\\Updates' - server['geoanalytics_ports'] = '2181,2182,2190,7077,56540-56545' - server['authorization_tool'] = ::File.join(ENV['ProgramW6432'], - 'Common Files\\ArcGIS\\bin\\SoftwareAuthorization.exe').gsub('/', '\\') - server['configuration_utility'] = ::File.join(server_install_dir, - 'bin', 'ServerConfigurationUtility.exe').gsub('/', '\\') - when '10.8' - server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Server_Windows_108_172859.exe').gsub('/', '\\') - server['product_code'] = '{458BF5FF-2DF8-426B-AEBC-BE4C47DB6B54}' - default['arcgis']['python']['runtime_environment'] = File.join(node['arcgis']['python']['install_dir'], - "ArcGISx6410.8").gsub('/', '\\') - server['patch_registry'] = 'SOFTWARE\\ESRI\\Server10.8\\Updates' - server['geoanalytics_ports'] = '2181,2182,2190,7077,56540-56545' - server['authorization_tool'] = ::File.join(ENV['ProgramW6432'], - 'Common Files\\ArcGIS\\bin\\SoftwareAuthorization.exe').gsub('/', '\\') - server['configuration_utility'] = ::File.join(server_install_dir, - 'bin', 'ServerConfigurationUtility.exe').gsub('/', '\\') else Chef::Log.warn "Unsupported ArcGIS Server version '#{node['arcgis']['version']}'." end @@ -269,6 +244,9 @@ server['lp-setup'] = node['arcgis']['server']['setup'] case node['arcgis']['version'] + when '11.3' + server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Server_Linux_113_190305.tar.gz') when '11.2' server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Server_Linux_112_188327.tar.gz') @@ -281,15 +259,6 @@ when '10.9.1' server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Server_Linux_1091_180182.tar.gz') - when '10.9' - server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Server_Linux_109_177864.tar.gz') - when '10.8.1' - server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Server_Linux_1081_175289.tar.gz') - when '10.8' - server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Server_Linux_108_172977.tar.gz') 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 fd8b47a..b096e50 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 2023 Esri +# Copyright 2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -37,6 +37,54 @@ 'Tools\\ConfigureWebAdaptor.exe').gsub('/', '\\') case node['arcgis']['version'] + when '11.3' + web_adaptor['setup'] = ::File.join(node['arcgis']['repository']['setups'], + "ArcGIS #{node['arcgis']['version']}", + 'WebAdaptorIIS', 'Setup.exe').gsub('/', '\\') + web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Web_Adaptor_for_Microsoft_IIS_113_190234.exe').gsub('/', '\\') + web_adaptor['product_codes'] = [ + '{6D1FDF29-5DAB-4816-9CDE-15CF663E3BDD}', '{9DA66832-790E-4A08-90D8-3305D2C4F2A2}', + '{E3DF9FCC-2078-4816-B195-EE30D1C74086}', '{87C9FEB8-73A7-436A-861E-74C3A3D7805B}', + '{3D881639-2227-4E9E-9380-C55991C92D3F}', '{7FB27776-2537-456E-BF4D-6E90B1050E16}', + '{013D126B-0E28-4070-B57D-1C7128511E09}', '{F2D44D27-A3EB-4892-A260-7FF8D90AE3ED}', + '{AC6ECF31-E1D9-4A08-B7E2-9BF4EA138BFD}', '{D2B275D6-F12D-4AB1-B0E3-7E72E42309F6}', + '{8AC70A2E-6E62-47C1-8DAE-63481CF7E570}', '{1C94E9C9-8FE0-4647-B679-1C99721D8E5A}', + '{36E80F76-A84A-4C2E-9087-F6B6FC60B8F0}', '{442DAF3B-289D-45AC-855D-CD1AF79AD046}', + '{2F5AE3DF-9918-4BB3-ADAC-D6A02681E8C5}', '{B2775E94-5176-42F2-9161-C52EFD7BFFD5}', + '{614151D0-B8AE-4D85-83B3-70AFA3961E1A}', '{C9DD2778-546E-4E27-AEC1-C51BCA198172}', + '{BF09767E-0CB7-4DAF-9ABE-400EE03CB9D6}', '{72587C29-AB2F-42F4-AB8B-A54325CA7A71}', + '{1FA8B39E-07B5-4EAE-BABD-1B121131FEB2}', '{CFE37EEE-9148-4A1D-904C-05EBD63345DA}', + '{2C774E47-A888-4F31-8425-781628500874}', '{2F923C43-6CF5-44B7-A21F-AFDE607C417D}', + '{112A5C83-2207-4B94-9829-7433E8B82A7E}', '{2EE1C0D5-4631-47B3-B77E-CA5062732BA4}', + '{0D125A07-D3FE-4388-870A-0CAC77280683}', '{0155E162-901D-41DF-A260-AA8E6C833D9A}', + '{20F7ABC9-CC0F-47DD-B3FB-AA3D70140F1D}', '{407A2E2C-F8D7-4900-9F68-442774F9DD9E}', + '{E86311FF-9990-48CD-A04C-B3404FA5B395}', '{2CF5D03B-AD63-4BB4-A3C6-7FD1D595F810}', + '{8F2FCF64-7190-45B8-8DC4-4DAB5ED83425}', '{8673E73F-83A3-4C29-8BAB-516394436BC0}', + '{6B41E749-D67F-4975-A858-7EEB32532C12}', '{E953DD69-8BA7-4653-AFEE-622E42B77AE1}', + '{457B6C44-9A92-4F31-A071-359E8F000A70}', '{44FE2519-ABD7-4557-BD59-A1717928C539}', + '{0B7987AB-85E2-480C-B245-D4BECE95E8EB}', '{D5985070-E78C-4B9A-8075-929EE77AC4B0}', + '{F5D192C7-104E-4524-9DE0-36B34216B999}', '{65B4454A-4C0E-4DF0-BC32-18552466B306}', + '{8AE7199B-D50C-48AD-BB82-1C289443C4C1}', '{0FDDEF60-6FA8-4DA7-9E05-A8CC4A1C1C9B}', + '{033430AD-8978-459F-8CDA-2FD49B67752B}', '{85BD45E5-25CB-4FED-BBAE-2AA34286E556}', + '{E46DBEB4-628D-4DC6-BC13-32F42B6EF5F6}', '{D976C4CB-B3B6-43C9-87E9-F27E2BE826AE}', + '{91869554-E02E-4AB1-956F-AC1B54AF2158}', '{A88F3595-7DC9-455C-813D-66C6C687A9D1}', + '{44CAC131-3CA6-44A1-AFBD-3E083365D5F0}' + ] + + web_adaptor['config_web_adaptor_exe'] = ::File.join(ENV['CommonProgramFiles'], + 'ArcGIS\\WebAdaptor\\IIS', + node['arcgis']['version'], + 'Tools\\ConfigureWebAdaptor.exe').gsub('/', '\\') + + web_adaptor['patch_registry'] ='SOFTWARE\\ESRI\\ArcGIS Web Adaptor (IIS) 11.3\\Updates' + + # ASP.NET Core Runtime 8 Hosting Bundle and Web Deploy 3.6 are required by ArcGIS Web Adaptor IIS 6. + web_adaptor['dotnet_setup_url'] = 'https://download.visualstudio.microsoft.com/download/pr/2a7ae819-fbc4-4611-a1ba-f3b072d4ea25/32f3b931550f7b315d9827d564202eeb/dotnet-hosting-8.0.0-win.exe' + web_adaptor['dotnet_setup_path'] = ::File.join(node['arcgis']['repository']['setups'], 'dotnet-hosting-8.0.0-win.exe').gsub('/', '\\') + + web_adaptor['web_deploy_setup_url'] = 'https://download.microsoft.com/download/0/1/D/01DC28EA-638C-4A22-A57B-4CEF97755C6C/WebDeploy_amd64_en-US.msi' + web_adaptor['web_deploy_setup_path'] = ::File.join(node['arcgis']['repository']['setups'], 'WebDeploy_amd64_en-US.msi').gsub('/', '\\') when '11.2' web_adaptor['setup'] = ::File.join(node['arcgis']['repository']['setups'], "ArcGIS #{node['arcgis']['version']}", @@ -139,57 +187,6 @@ '{4A3B27C6-7CB1-4DE8-BCB1-221B9A23E2E1}' ] 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('/', '\\') - web_adaptor['product_codes'] = [ - '{1FD4759C-6858-42AD-A1DC-6DA0C3B1D28C}', '{E3CBD7DB-60AE-45F3-B281-F9556781E602}', - '{D712233D-C35F-4A04-A7E8-6D3F00A40544}', '{D5EBAE28-7A5C-41E7-A04F-A1AAFF75C8AC}', - '{2F798220-41AF-4D8D-B425-98095F3DC287}', '{06B94095-F4F9-4434-8358-2E84965B6301}', - '{F2C06411-06A3-4617-8577-7975BD6CC32E}', '{10C21BB5-7E8C-47F6-AB6E-AC62300EA034}', - '{B0D3E289-039D-470C-A9DC-1EB9713B2458}', '{35838A3A-D572-4B2B-8C83-4F8A99324F92}', - '{CEEC063C-D280-490E-B795-373E7DE6266A}', '{4CB4458D-C08A-4DE8-9D0B-45C4E0B849F9}', - '{83605278-1596-4C33-8484-CF2BD4C07587}', '{A2AE04B5-879C-4E0A-B237-D642D8BBE3C7}', - '{38E1E357-BA81-4135-A11A-51FBC9C858DC}', '{947676E2-B5A6-49CB-A5AA-DFEB54D8F064}', - '{8E838EF7-0B7D-4E2A-AF21-4639AC6E5492}', '{37913C5B-A6BA-4F1D-B12F-AD505B91D05A}', - '{1C9C9C3C-CE4D-4F42-8A3B-78ECA6C57B8E}', '{0C000BEA-E770-4138-A707-CCB02E64469A}', - '{D5CEFB24-D0FD-4C73-8685-205222E08C12}' - ] - web_adaptor['patch_registry'] ='SOFTWARE\\WOW6432Node\\ESRI\\ArcGIS Web Adaptor (IIS) 10.9\\Updates' - when '10.8.1' - web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Web_Adaptor_for_Microsoft_IIS_1081_175217.exe').gsub('/', '\\') - web_adaptor['product_codes'] = [ - '{9695EF78-A2A8-4383-AFBF-627C55FE31DC}', '{56F26E70-2C61-45BC-A624-E100175086F7}', - '{996B7BC1-3AF4-4633-AF5F-F7BE67448F51}', '{0FB565D2-7C0E-4723-B086-C67443ADE5FD}', - '{246A7BFA-BE78-4031-A36D-F7BB95FFC5E2}', '{7D3E447C-3DB7-488D-AB11-C84A02476FF5}', - '{1B5B7A25-F639-44F8-987B-6CD8F88967BE}', '{4242D730-262E-45E0-8E1F-9060F03452C3}', - '{7CF4D730-F1D6-4D01-B750-D1BA7E55C3CC}', '{179DB6A6-DFE4-4AF1-92D5-2FDDD831A783}', - '{0F67B656-1ED6-4C87-9DB3-DA51ABEE40C0}', '{86F8D877-87EA-4296-9D48-64D7AE94330B}', - '{80FEB406-8086-42FE-B14B-C45A96B36894}', '{5990ACD0-4A80-4115-BFAE-F8DEB498A7C0}', - '{12E78447-5AD7-41DB-82E5-BEDAAE7242C0}', '{25A1ECD8-4FAA-4271-9586-6FD94549365D}', - '{221CCAE0-DA79-4C5E-ABCA-396E827334B1}', '{508FBAA8-FD44-4998-B797-1666BD41D804}', - '{23EB5093-17EE-45A0-AE9F-C96B6456C15F}', '{BEB8559D-6843-4EED-A2ED-7BA9325EF482}', - '{A12D63AE-3DE9-45A0-8799-F2BFF29A1665}' - ] - web_adaptor['patch_registry'] ='SOFTWARE\\WOW6432Node\\ESRI\\ArcGIS Web Adaptor (IIS) 10.8.1\\Updates' - when '10.8' - web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Web_Adaptor_for_Microsoft_IIS_108_172749.exe').gsub('/', '\\') - web_adaptor['product_codes'] = [ - '{D6059C27-7199-4A94-806B-6C40EFD02828}', '{E77ED9CA-7DC8-45FC-A8BB-57AD2096EF8A}', - '{068CA630-558A-4C4A-983F-ECF5F8183FC9}', '{F168EBD1-CEDA-469B-89E4-E79C85253CB6}', - '{96229607-EC9D-4805-AF94-E1AC47676586}', '{D89375FD-6CAC-4204-8761-22F51B39E6A1}', - '{BABA485F-681E-4B5D-95EF-54CC738F4A0C}', '{AEFE7DEE-1EEE-4F99-BCA7-2193B86C7058}', - '{FC4B3333-7AEB-46C6-AD90-E071A18D653F}', '{119C0DB0-02B8-442C-B3F5-999D99C9D42F}', - '{89946E15-3E27-4F13-946F-30205F18D34B}', '{5B21D9CD-DDC8-4768-88F6-3C0633E7B97E}', - '{C0752042-FAAC-4A94-B5A4-918BE46B7595}', '{751ED05E-63BF-407C-9039-C72F33CC73D4}', - '{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}' - ] - web_adaptor['patch_registry'] ='SOFTWARE\\WOW6432Node\\ESRI\\ArcGIS Web Adaptor (IIS) 10.8\\Updates' else Chef::Log.warn 'Unsupported ArcGIS Web Adaptor version' end @@ -197,6 +194,32 @@ # 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'] = [ + '{6D1FDF29-5DAB-4816-9CDE-15CF663E3BDD}', '{9DA66832-790E-4A08-90D8-3305D2C4F2A2}', # 11.3 + '{E3DF9FCC-2078-4816-B195-EE30D1C74086}', '{87C9FEB8-73A7-436A-861E-74C3A3D7805B}', + '{3D881639-2227-4E9E-9380-C55991C92D3F}', '{7FB27776-2537-456E-BF4D-6E90B1050E16}', + '{013D126B-0E28-4070-B57D-1C7128511E09}', '{F2D44D27-A3EB-4892-A260-7FF8D90AE3ED}', + '{AC6ECF31-E1D9-4A08-B7E2-9BF4EA138BFD}', '{D2B275D6-F12D-4AB1-B0E3-7E72E42309F6}', + '{8AC70A2E-6E62-47C1-8DAE-63481CF7E570}', '{1C94E9C9-8FE0-4647-B679-1C99721D8E5A}', + '{36E80F76-A84A-4C2E-9087-F6B6FC60B8F0}', '{442DAF3B-289D-45AC-855D-CD1AF79AD046}', + '{2F5AE3DF-9918-4BB3-ADAC-D6A02681E8C5}', '{B2775E94-5176-42F2-9161-C52EFD7BFFD5}', + '{614151D0-B8AE-4D85-83B3-70AFA3961E1A}', '{C9DD2778-546E-4E27-AEC1-C51BCA198172}', + '{BF09767E-0CB7-4DAF-9ABE-400EE03CB9D6}', '{72587C29-AB2F-42F4-AB8B-A54325CA7A71}', + '{1FA8B39E-07B5-4EAE-BABD-1B121131FEB2}', '{CFE37EEE-9148-4A1D-904C-05EBD63345DA}', + '{2C774E47-A888-4F31-8425-781628500874}', '{2F923C43-6CF5-44B7-A21F-AFDE607C417D}', + '{112A5C83-2207-4B94-9829-7433E8B82A7E}', '{2EE1C0D5-4631-47B3-B77E-CA5062732BA4}', + '{0D125A07-D3FE-4388-870A-0CAC77280683}', '{0155E162-901D-41DF-A260-AA8E6C833D9A}', + '{20F7ABC9-CC0F-47DD-B3FB-AA3D70140F1D}', '{407A2E2C-F8D7-4900-9F68-442774F9DD9E}', + '{E86311FF-9990-48CD-A04C-B3404FA5B395}', '{2CF5D03B-AD63-4BB4-A3C6-7FD1D595F810}', + '{8F2FCF64-7190-45B8-8DC4-4DAB5ED83425}', '{8673E73F-83A3-4C29-8BAB-516394436BC0}', + '{6B41E749-D67F-4975-A858-7EEB32532C12}', '{E953DD69-8BA7-4653-AFEE-622E42B77AE1}', + '{457B6C44-9A92-4F31-A071-359E8F000A70}', '{44FE2519-ABD7-4557-BD59-A1717928C539}', + '{0B7987AB-85E2-480C-B245-D4BECE95E8EB}', '{D5985070-E78C-4B9A-8075-929EE77AC4B0}', + '{F5D192C7-104E-4524-9DE0-36B34216B999}', '{65B4454A-4C0E-4DF0-BC32-18552466B306}', + '{8AE7199B-D50C-48AD-BB82-1C289443C4C1}', '{0FDDEF60-6FA8-4DA7-9E05-A8CC4A1C1C9B}', + '{033430AD-8978-459F-8CDA-2FD49B67752B}', '{85BD45E5-25CB-4FED-BBAE-2AA34286E556}', + '{E46DBEB4-628D-4DC6-BC13-32F42B6EF5F6}', '{D976C4CB-B3B6-43C9-87E9-F27E2BE826AE}', + '{91869554-E02E-4AB1-956F-AC1B54AF2158}', '{A88F3595-7DC9-455C-813D-66C6C687A9D1}', + '{44CAC131-3CA6-44A1-AFBD-3E083365D5F0}', '{3F2DF3A0-0EB7-4DED-BA7F-A33B7B106252}', '{CAB137C6-98F0-4569-9484-719632E81CF6}', # 11.2 '{899B1E0C-4675-4E52-BFBC-4FFF69DBAF8E}', '{4DE50EC3-6CB8-4EE5-B634-1AE53499F6D4}', '{A0ABE60F-0E01-4D84-A08B-EE34EFF96584}', '{066DEFEE-E71D-42F5-859E-225825268720}', @@ -240,40 +263,7 @@ '{CA174887-E7C6-4DE9-8797-72CBD7FC4B1C}', '{B658575F-82ED-49BE-980C-D4A5089FCA7A}', '{CBEE526A-29B6-46FE-B7F8-B930A785CFF8}', '{76618450-9F2C-4FCC-9CDA-01A61F9E1953}', '{17591EF3-221C-4DD1-B773-6C9617925B5F}', '{566920BF-1EF3-4E62-B2BF-029475E35AAB}', - '{4A3B27C6-7CB1-4DE8-BCB1-221B9A23E2E1}', - '{1FD4759C-6858-42AD-A1DC-6DA0C3B1D28C}', '{E3CBD7DB-60AE-45F3-B281-F9556781E602}', # 10.9 - '{D712233D-C35F-4A04-A7E8-6D3F00A40544}', '{D5EBAE28-7A5C-41E7-A04F-A1AAFF75C8AC}', - '{2F798220-41AF-4D8D-B425-98095F3DC287}', '{06B94095-F4F9-4434-8358-2E84965B6301}', - '{F2C06411-06A3-4617-8577-7975BD6CC32E}', '{10C21BB5-7E8C-47F6-AB6E-AC62300EA034}', - '{B0D3E289-039D-470C-A9DC-1EB9713B2458}', '{35838A3A-D572-4B2B-8C83-4F8A99324F92}', - '{CEEC063C-D280-490E-B795-373E7DE6266A}', '{4CB4458D-C08A-4DE8-9D0B-45C4E0B849F9}', - '{83605278-1596-4C33-8484-CF2BD4C07587}', '{A2AE04B5-879C-4E0A-B237-D642D8BBE3C7}', - '{38E1E357-BA81-4135-A11A-51FBC9C858DC}', '{947676E2-B5A6-49CB-A5AA-DFEB54D8F064}', - '{8E838EF7-0B7D-4E2A-AF21-4639AC6E5492}', '{37913C5B-A6BA-4F1D-B12F-AD505B91D05A}', - '{1C9C9C3C-CE4D-4F42-8A3B-78ECA6C57B8E}', '{0C000BEA-E770-4138-A707-CCB02E64469A}', - '{D5CEFB24-D0FD-4C73-8685-205222E08C12}', - '{9695EF78-A2A8-4383-AFBF-627C55FE31DC}', '{56F26E70-2C61-45BC-A624-E100175086F7}', # 10.8.1 - '{996B7BC1-3AF4-4633-AF5F-F7BE67448F51}', '{0FB565D2-7C0E-4723-B086-C67443ADE5FD}', - '{246A7BFA-BE78-4031-A36D-F7BB95FFC5E2}', '{7D3E447C-3DB7-488D-AB11-C84A02476FF5}', - '{1B5B7A25-F639-44F8-987B-6CD8F88967BE}', '{4242D730-262E-45E0-8E1F-9060F03452C3}', - '{7CF4D730-F1D6-4D01-B750-D1BA7E55C3CC}', '{179DB6A6-DFE4-4AF1-92D5-2FDDD831A783}', - '{0F67B656-1ED6-4C87-9DB3-DA51ABEE40C0}', '{86F8D877-87EA-4296-9D48-64D7AE94330B}', - '{80FEB406-8086-42FE-B14B-C45A96B36894}', '{5990ACD0-4A80-4115-BFAE-F8DEB498A7C0}', - '{12E78447-5AD7-41DB-82E5-BEDAAE7242C0}', '{25A1ECD8-4FAA-4271-9586-6FD94549365D}', - '{221CCAE0-DA79-4C5E-ABCA-396E827334B1}', '{508FBAA8-FD44-4998-B797-1666BD41D804}', - '{23EB5093-17EE-45A0-AE9F-C96B6456C15F}', '{BEB8559D-6843-4EED-A2ED-7BA9325EF482}', - '{A12D63AE-3DE9-45A0-8799-F2BFF29A1665}', - '{D6059C27-7199-4A94-806B-6C40EFD02828}', '{E77ED9CA-7DC8-45FC-A8BB-57AD2096EF8A}', # 10.8 - '{068CA630-558A-4C4A-983F-ECF5F8183FC9}', '{F168EBD1-CEDA-469B-89E4-E79C85253CB6}', - '{96229607-EC9D-4805-AF94-E1AC47676586}', '{D89375FD-6CAC-4204-8761-22F51B39E6A1}', - '{BABA485F-681E-4B5D-95EF-54CC738F4A0C}', '{AEFE7DEE-1EEE-4F99-BCA7-2193B86C7058}', - '{FC4B3333-7AEB-46C6-AD90-E071A18D653F}', '{119C0DB0-02B8-442C-B3F5-999D99C9D42F}', - '{89946E15-3E27-4F13-946F-30205F18D34B}', '{5B21D9CD-DDC8-4768-88F6-3C0633E7B97E}', - '{C0752042-FAAC-4A94-B5A4-918BE46B7595}', '{751ED05E-63BF-407C-9039-C72F33CC73D4}', - '{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}' + '{4A3B27C6-7CB1-4DE8-BCB1-221B9A23E2E1}' ] else # node['platform'] == 'linux' web_adaptor['setup'] = ::File.join(node['arcgis']['repository']['setups'], @@ -282,6 +272,9 @@ web_adaptor['lp-setup'] = node['arcgis']['web_adaptor']['setup'] case node['arcgis']['version'] + when '11.3' + web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Web_Adaptor_Java_Linux_113_190319.tar.gz') when '11.2' web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Web_Adaptor_Java_Linux_112_188341.tar.gz') @@ -294,15 +287,6 @@ when '10.9.1' web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Web_Adaptor_Java_Linux_1091_180206.tar.gz') - when '10.9' - web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Web_Adaptor_Java_Linux_109_177888.tar.gz') - when '10.8.1' - web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Web_Adaptor_Java_Linux_1081_175313.tar.gz') - when '10.8' - web_adaptor['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Web_Adaptor_Java_Linux_108_172992.tar.gz') else Chef::Log.warn 'Unsupported ArcGIS Web Adaptor version' end diff --git a/cookbooks/arcgis-enterprise/attributes/webstyles.rb b/cookbooks/arcgis-enterprise/attributes/webstyles.rb index 9ff5c43..0685440 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 2023 Esri +# Copyright 2024 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.3' + webstyles['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'Portal_for_ArcGIS_Web_Styles_Windows_113_190232.exe').tr('/', '\\') + webstyles['product_code'] = '{A477F9A0-A5E5-4BBF-8042-8503DE8AAEC5}' when '11.2' webstyles['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'Portal_for_ArcGIS_Web_Styles_Windows_112_188251.exe').tr('/', '\\') @@ -40,18 +44,6 @@ webstyles['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'Portal_for_ArcGIS_Web_Styles_Windows_1091_180053.exe').tr('/', '\\') webstyles['product_code'] = '{2E63599E-08C2-4401-8FD7-95AAA64EA087}' - when '10.9' - webstyles['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Portal_for_ArcGIS_Web_Styles_Windows_109_177787.exe').tr('/', '\\') - webstyles['product_code'] = '{7748EA55-04FF-45E2-98EC-C78095AC25AA}' - when '10.8.1' - webstyles['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Portal_for_ArcGIS_Web_Styles_Windows_1081_175215.exe').tr('/', '\\') - webstyles['product_code'] = '{7748EA55-04FF-45E2-98EC-C78095AC25AA}' - when '10.8' - 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}' else Chef::Log.warn 'Unsupported ArcGIS Web Styles version' end @@ -61,6 +53,9 @@ 'WebStyles', 'WebStyles-Setup.sh') case node['arcgis']['version'] + when '11.3' + webstyles['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'Portal_for_ArcGIS_Web_Styles_Linux_113_190317.tar.gz') when '11.2' webstyles['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'Portal_for_ArcGIS_Web_Styles_Linux_112_188339.tar.gz') @@ -73,15 +68,6 @@ 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') - when '10.8.1' - webstyles['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Portal_for_ArcGIS_Web_Styles_Linux_1081_175311.tar.gz') - when '10.8' - webstyles['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'Portal_for_ArcGIS_Web_Styles_Linux_108_172990.tar.gz') else Chef::Log.warn 'Unsupported ArcGIS Web Styles version' end diff --git a/cookbooks/arcgis-enterprise/libraries/datastore_tools.rb b/cookbooks/arcgis-enterprise/libraries/datastore_tools.rb index f61d405..b4c2182 100644 --- a/cookbooks/arcgis-enterprise/libraries/datastore_tools.rb +++ b/cookbooks/arcgis-enterprise/libraries/datastore_tools.rb @@ -1,5 +1,5 @@ # -# Copyright 2022 Esri +# Copyright 2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -81,21 +81,27 @@ def last_known_status(data_dir) nil end - def configure_datastore(stores, server_url, username, password, data_dir, mode = nil) + def configure_datastore(stores, server_url, username, password, data_dir, mode, roles) args = "\"#{server_url}\" \"#{username}\" \"#{password}\" \"#{data_dir}\" --stores #{stores}" - # Add --mode parameter for post 10.8.1 tilecache and object data stores + # Add --mode parameter for tilecache and object data stores # if the last known status is not 'Upgrading'. if !mode.nil? && !mode.empty? && - Gem::Version.new(@version) >= Gem::Version.new('10.8.1') && stores.downcase.include?('tilecache') && last_known_status(data_dir) != 'Upgrading' args += " --mode #{mode}" elsif !mode.nil? && !mode.empty? && - stores.downcase.include?('object') && - mode.downcase == 'cluster' && - last_known_status(data_dir) != 'Upgrading' - args += " --mode cluster" + stores.downcase.include?('object') && + mode.downcase == 'cluster' && + last_known_status(data_dir) != 'Upgrading' + args += " --mode cluster" + end + + ## Add --roles parameter for post 11.3 spatiotemporal data store + if !roles.nil? && !roles.empty? && + Gem::Version.new(@version) >= Gem::Version.new('11.3') && + stores.downcase.include?('spatiotemporal') + args += " --roles #{roles}" end if @platform == 'windows' diff --git a/cookbooks/arcgis-enterprise/libraries/portal_admin_client.rb b/cookbooks/arcgis-enterprise/libraries/portal_admin_client.rb index 61b0973..07abbc3 100644 --- a/cookbooks/arcgis-enterprise/libraries/portal_admin_client.rb +++ b/cookbooks/arcgis-enterprise/libraries/portal_admin_client.rb @@ -266,7 +266,8 @@ def create_site(admin_email, security_question_answer, content_store, user_license_type_id, - license_file) + license_file, + enable_debug = false) create_site_uri = URI.parse(@portal_url + '/portaladmin/createNewSite') request = Net::HTTP::Post::Multipart.new( @@ -283,6 +284,7 @@ def create_site(admin_email, 'file' => UploadIO.new(File.new(license_file), 'application/json', File.basename(license_file)), + 'enableDebug' => enable_debug ? 'true' : 'false', 'f' => 'json') response = send_request(request, true) diff --git a/cookbooks/arcgis-enterprise/metadata.rb b/cookbooks/arcgis-enterprise/metadata.rb index bf0c13a..834fefb 100644 --- a/cookbooks/arcgis-enterprise/metadata.rb +++ b/cookbooks/arcgis-enterprise/metadata.rb @@ -4,16 +4,14 @@ license 'Apache 2.0' description 'Installs and configures ArcGIS Enterprise' long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version '4.2.0' -chef_version '>= 14.0' if defined? chef_version +version '5.0.0' +chef_version '>= 15.3' if defined? chef_version -depends 'arcgis-repository', '~> 4.2' +depends 'arcgis-repository', '~> 5.0' depends 'hostsfile', '~> 3.0' -depends 'limits', '~> 1.0' -depends 'windows', '~> 5.3' -depends 'windows_firewall', '~> 5.0' -depends 'ms_dotnet', '~> 4.2' -depends 'nfs', '~> 2.6' +depends 'limits', '~> 2.3' +depends 'ms_dotnet', '~> 6.0' +depends 'nfs', '~> 5.1' depends 'java_properties', '~> 0.1' supports 'windows' @@ -75,6 +73,8 @@ recipe 'arcgis-enterprise::unregister_machines', 'Unregisters from the ArcGIS Server site all the server machines except for the local machine' recipe 'arcgis-enterprise::unregister_stopped_machines', 'Unregisters all unavailable server machines in \'default\' cluster from the ArcGIS Server site' recipe 'arcgis-enterprise::unregister_server_wa', 'Unregisters all ArcGIS Server Web Adaptors' +recipe 'arcgis-enterprise::webgisdr_export', 'Creates ArcGIS Enterprise backup using WebGISDR utility' +recipe 'arcgis-enterprise::webgisdr_import', 'Restores ArcGIS Enterprise from backup using WebGISDR utility' recipe 'arcgis-enterprise::webstyles', 'Installs Portal for ArcGIS Web Styles' issues_url 'https://github.com/Esri/arcgis-cookbook/issues' if respond_to?(:issues_url) diff --git a/cookbooks/arcgis-enterprise/providers/datastore.rb b/cookbooks/arcgis-enterprise/providers/datastore.rb index bc651e4..4f3d73c 100644 --- a/cookbooks/arcgis-enterprise/providers/datastore.rb +++ b/cookbooks/arcgis-enterprise/providers/datastore.rb @@ -388,7 +388,8 @@ @new_resource.username, @new_resource.password, @new_resource.data_dir, - @new_resource.mode) + @new_resource.mode, + @new_resource.roles) new_resource.updated_by_last_action(true) end @@ -404,7 +405,7 @@ # At 10.8 tilecache backup location is no longer registered by default # therefore --operation register needs to be used. - if %w[tilecache spatiotemporal graph].include?(@new_resource.store) && Gem::Version.new(node['arcgis']['version']) >= Gem::Version.new('10.8') + if %w[tilecache spatiotemporal graph].include?(@new_resource.store) operation = 'register' end diff --git a/cookbooks/arcgis-enterprise/providers/patches.rb b/cookbooks/arcgis-enterprise/providers/patches.rb index 083ce88..44f760d 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 2022 Esri +# Copyright 2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -19,13 +19,19 @@ use_inline_resources if defined?(use_inline_resources) action :install do - # Dir.glob() doesn't support backslashes within a path, so they will be replaces on Windows + # 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 + # Log a warning if the patch file does not exist or is not a file. + if (!patch_file.include?('*') && !patch_file.include?('?')) && + (!::File.exist?(patch_file) || !::File.file?(patch_file)) + Chef::Log.warn("Patch file '#{patch_file}' does not exist.") + end + if node['platform'] == 'windows' # Get all windows patches within the specified file names and install them. - # The file name may include wildcards like '*.msp' + # The file name may include wildcards like '*.msp'. Dir.glob(patch_file).each do |patch| windows_package patch do source patch @@ -35,8 +41,6 @@ not_if { Utils.windows_patch_installed?(patch, patch_registry) } action :install end - - new_resource.updated_by_last_action(true) end else # Get all linux patches within the specified folder and install them. @@ -47,7 +51,7 @@ Chef::Log.info("Installing '#{patch}' patch...") Dir.mktmpdir do |repo| - # Extract patch from the archive + # Extract patch from the archive. if patch.end_with?('.gz') args = "xzvf \"#{patch}\" -C \"#{repo}\"" else @@ -62,7 +66,7 @@ FileUtils.chown_R(run_as_user, nil, repo) - # Run 'applypatch' script if it exists + # Run 'applypatch' script if it exists. Dir.glob("#{repo}/*/applypatch").each do |applypatch| args = "-s" args += " -#{@new_resource.product}" unless @new_resource.product.nil? @@ -86,7 +90,7 @@ end end - # Run 'Patch.sh' script if it exists + # Run 'Patch.sh' script if it exists. Dir.glob("#{repo}/*/Patch.sh").each do |patch_sh| Chef::Log.debug("\"#{patch_sh}\"") @@ -107,9 +111,9 @@ end end end - end - new_resource.updated_by_last_action(true) + new_resource.updated_by_last_action(true) + end end end end diff --git a/cookbooks/arcgis-enterprise/providers/portal.rb b/cookbooks/arcgis-enterprise/providers/portal.rb index edf897e..c077dc6 100644 --- a/cookbooks/arcgis-enterprise/providers/portal.rb +++ b/cookbooks/arcgis-enterprise/providers/portal.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Provider:: portal # -# Copyright 2015-2022 Esri +# Copyright 2015-2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,6 +17,7 @@ # limitations under the License. require 'fileutils' require 'pathname' +require 'java-properties' require 'json' if RUBY_PLATFORM =~ /mswin|mingw32|windows/ @@ -43,7 +44,7 @@ action :unpack do if node['platform'] == 'windows' cmd = @new_resource.setup_archive - args = "/s /d \"#{@new_resource.setups_repo}\"" + args = "/s /d \"#{@new_resource.setups_repo}\" #{@new_resource.unpack_options}" cmd = Mixlib::ShellOut.new("\"#{cmd}\" #{args}", { :timeout => 3600 }) cmd.run_command cmd.error! @@ -286,7 +287,8 @@ # Complete portal upgrade if the upgrade API is available (starting from ArcGIS Enterprise 10.6) if portal_admin_client.complete_upgrade(@new_resource.upgrade_backup, @new_resource.upgrade_rollback, - @new_resource.authorization_file) + @new_resource.authorization_file, + @new_resource.enable_debug) Chef::Log.info('Wait until portal restarted after upgrade.') 1800.times do @@ -339,7 +341,8 @@ @new_resource.security_question_answer, content_store.to_json, @new_resource.user_license_type_id, - @new_resource.authorization_file) + @new_resource.authorization_file, + @new_resource.enable_debug) sleep(120.0) @@ -726,3 +729,73 @@ :preferredidentifier => node['arcgis']['portal']['preferredidentifier']} ) end end + +action :webgisdr_export do + if node['platform'] == 'windows' + webgisdr_tool_dir = ::File.join(@new_resource.install_dir, 'tools', 'webgisdr') + webgisdr_poperties_path = ::File.join(webgisdr_tool_dir, 'webgisdr-export.properties') + command = "webgisdr --export --file \"#{webgisdr_poperties_path}\"" + else + webgisdr_tool_dir = ::File.join(@new_resource.install_dir, + node['arcgis']['portal']['install_subdir'], + 'tools', 'webgisdr') + webgisdr_poperties_path = ::File.join(webgisdr_tool_dir, 'webgisdr-export.properties') + command = "./webgisdr.sh --export --file \"#{webgisdr_poperties_path}\"" + end + + properties = ::JavaProperties.generate(@new_resource.webgisdr_properties) + + ::File.open(webgisdr_poperties_path, "w") {|f| f.write(properties)} + + FileUtils.chown(@new_resource.run_as_user, nil, webgisdr_poperties_path) + + cmd = Mixlib::ShellOut.new(command, + :cwd => webgisdr_tool_dir, + :timeout => @new_resource.webgisdr_timeout, + :user => @new_resource.run_as_user, + :password => @new_resource.run_as_password) + cmd.run_command + + Chef::Log.info(cmd.stdout) + + FileUtils.rm(webgisdr_poperties_path) + + cmd.error! + + new_resource.updated_by_last_action(true) +end + +action :webgisdr_import do + if node['platform'] == 'windows' + webgisdr_tool_dir = ::File.join(@new_resource.install_dir, 'tools', 'webgisdr') + webgisdr_poperties_path = ::File.join(webgisdr_tool_dir, 'webgisdr-import.properties') + command = "webgisdr --import --file \"#{webgisdr_poperties_path}\"" + else + webgisdr_tool_dir = ::File.join(@new_resource.install_dir, + node['arcgis']['portal']['install_subdir'], + 'tools', 'webgisdr') + webgisdr_poperties_path = ::File.join(webgisdr_tool_dir, 'webgisdr-import.properties') + command = "./webgisdr.sh --import --file \"#{webgisdr_poperties_path}\"" + end + + properties = ::JavaProperties.generate(@new_resource.webgisdr_properties) + + ::File.open(webgisdr_poperties_path, "w") {|f| f.write(properties)} + + FileUtils.chown(@new_resource.run_as_user, nil, webgisdr_poperties_path) + + cmd = Mixlib::ShellOut.new(command, + :cwd => webgisdr_tool_dir, + :timeout => @new_resource.webgisdr_timeout, + :user => @new_resource.run_as_user, + :password => @new_resource.run_as_password) + cmd.run_command + + Chef::Log.info(cmd.stdout) + + FileUtils.rm(webgisdr_poperties_path) + + cmd.error! + + new_resource.updated_by_last_action(true) +end diff --git a/cookbooks/arcgis-enterprise/providers/server.rb b/cookbooks/arcgis-enterprise/providers/server.rb index babd21d..949c1a8 100644 --- a/cookbooks/arcgis-enterprise/providers/server.rb +++ b/cookbooks/arcgis-enterprise/providers/server.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Provider:: server # -# Copyright 2015 Esri +# Copyright 2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -59,7 +59,7 @@ action :unpack do if node['platform'] == 'windows' cmd = @new_resource.setup_archive - args = "/s /d \"#{@new_resource.setups_repo}\"" + args = "/s /d \"#{@new_resource.setups_repo}\" #{@new_resource.unpack_options}" cmd = Mixlib::ShellOut.new("\"#{cmd}\" #{args}", { :timeout => 3600 }) cmd.run_command cmd.error! diff --git a/cookbooks/arcgis-enterprise/recipes/datastore.rb b/cookbooks/arcgis-enterprise/recipes/datastore.rb index 0f43dd2..6906e86 100644 --- a/cookbooks/arcgis-enterprise/recipes/datastore.rb +++ b/cookbooks/arcgis-enterprise/recipes/datastore.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Recipe:: datastore # -# Copyright 2018 Esri +# Copyright 2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -28,6 +28,7 @@ data_dir node['arcgis']['data_store']['data_dir'] types node['arcgis']['data_store']['types'] mode node['arcgis']['data_store']['mode'] + roles node['arcgis']['data_store']['roles'] run_as_user node['arcgis']['run_as_user'] server_url node['arcgis']['server']['url'] username node['arcgis']['server']['admin_username'] diff --git a/cookbooks/arcgis-enterprise/recipes/datastore_standby.rb b/cookbooks/arcgis-enterprise/recipes/datastore_standby.rb index be877e1..4f0ea12 100644 --- a/cookbooks/arcgis-enterprise/recipes/datastore_standby.rb +++ b/cookbooks/arcgis-enterprise/recipes/datastore_standby.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Recipe:: datastore_standby # -# Copyright 2018 Esri +# Copyright 2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -41,6 +41,7 @@ data_dir node['arcgis']['data_store']['data_dir'] types node['arcgis']['data_store']['types'] mode node['arcgis']['data_store']['mode'] + roles node['arcgis']['data_store']['roles'] run_as_user node['arcgis']['run_as_user'] server_url node['arcgis']['server']['url'] username node['arcgis']['server']['admin_username'] diff --git a/cookbooks/arcgis-enterprise/recipes/install_patches.rb b/cookbooks/arcgis-enterprise/recipes/install_patches.rb index df54640..98912a8 100644 --- a/cookbooks/arcgis-enterprise/recipes/install_patches.rb +++ b/cookbooks/arcgis-enterprise/recipes/install_patches.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Recipe:: install_patches # -# Copyright 2022 Esri +# Copyright 2024 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,17 @@ action :stop end +# The Portal for ArcGIS Validation and Repair tool must be run on all +# 11.1, 10.9.1 and 10.8.1 machines with Portal for ArcGIS installed. +# This tool is not available on Linux. +execute "Run Portal for ArcGIS Validation and Repair tool" do + command "\"#{node['arcgis']['portal']['repair_tool']}\" /silent /repair" + timeout 14400 + only_if { node['platform'] == 'windows' && + !node['arcgis']['portal']['repair_tool'].nil? && + Utils.product_installed?(node['arcgis']['portal']['product_code']) } +end + node['arcgis']['portal']['patches'].each do |patch| arcgis_enterprise_patches "Install patch #{patch}" do product 'portal' diff --git a/cookbooks/arcgis-enterprise/recipes/install_portal.rb b/cookbooks/arcgis-enterprise/recipes/install_portal.rb index bd05f30..592ad53 100644 --- a/cookbooks/arcgis-enterprise/recipes/install_portal.rb +++ b/cookbooks/arcgis-enterprise/recipes/install_portal.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Recipe:: install_portal # -# Copyright 2018-2021 Esri +# Copyright 2018-2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -35,6 +35,7 @@ arcgis_enterprise_portal 'Unpack Portal for ArcGIS' do setup_archive node['arcgis']['portal']['setup_archive'] + unpack_options node['arcgis']['portal']['unpack_options'] setups_repo node['arcgis']['repository']['setups'] run_as_user node['arcgis']['run_as_user'] only_if { ::File.exist?(node['arcgis']['portal']['setup_archive']) && diff --git a/cookbooks/arcgis-enterprise/recipes/install_server.rb b/cookbooks/arcgis-enterprise/recipes/install_server.rb index 9fe07af..20ffd2d 100644 --- a/cookbooks/arcgis-enterprise/recipes/install_server.rb +++ b/cookbooks/arcgis-enterprise/recipes/install_server.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Recipe:: install_server # -# Copyright 2018-2022 Esri +# Copyright 2018-2024 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,7 @@ arcgis_enterprise_server 'Unpack ArcGIS Server Setup' do setup_archive node['arcgis']['server']['setup_archive'] + unpack_options node['arcgis']['server']['unpack_options'] setups_repo node['arcgis']['repository']['setups'] run_as_user node['arcgis']['run_as_user'] only_if { ::File.exist?(node['arcgis']['server']['setup_archive']) && diff --git a/cookbooks/arcgis-enterprise/recipes/portal.rb b/cookbooks/arcgis-enterprise/recipes/portal.rb index 7b0793a..d169aca 100644 --- a/cookbooks/arcgis-enterprise/recipes/portal.rb +++ b/cookbooks/arcgis-enterprise/recipes/portal.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Recipe:: portal # -# Copyright 2018 Esri +# Copyright 2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -76,8 +76,7 @@ object_store node['arcgis']['portal']['object_store'] upgrade_backup node['arcgis']['portal']['upgrade_backup'] upgrade_rollback node['arcgis']['portal']['upgrade_rollback'] - retries 5 - retry_delay 600 + enable_debug node['arcgis']['portal']['enable_debug'] action :create_site end diff --git a/cookbooks/arcgis-enterprise/recipes/server.rb b/cookbooks/arcgis-enterprise/recipes/server.rb index 7a758f3..5bf30fe 100644 --- a/cookbooks/arcgis-enterprise/recipes/server.rb +++ b/cookbooks/arcgis-enterprise/recipes/server.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Recipe:: server # -# Copyright 2023 Esri +# Copyright 2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -135,8 +135,6 @@ config_store_connection_string node['arcgis']['server']['config_store_connection_string'] config_store_connection_secret node['arcgis']['server']['config_store_connection_secret'] config_store_type node['arcgis']['server']['config_store_type'] - retries 5 - retry_delay 30 action :create_site end diff --git a/cookbooks/arcgis-enterprise/recipes/system.rb b/cookbooks/arcgis-enterprise/recipes/system.rb index 11a6e9a..7cd7953 100644 --- a/cookbooks/arcgis-enterprise/recipes/system.rb +++ b/cookbooks/arcgis-enterprise/recipes/system.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Recipe:: system # -# Copyright 2023 Esri +# Copyright 2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -55,32 +55,44 @@ action :create end + # limit 'example-1' do + # domain '*' + # type 'hard' + # item 'nofile' + # value 512 + # end + ['hard', 'soft'].each do |t| - set_limit node['arcgis']['run_as_user'] do + limit "#{node['arcgis']['run_as_user']}-nofile-#{t}" do + domain node['arcgis']['run_as_user'] type t item 'nofile' value 65536 end - set_limit node['arcgis']['run_as_user'] do + limit "#{node['arcgis']['run_as_user']}-nproc-#{t}" do + domain node['arcgis']['run_as_user'] type t item 'nproc' value 25059 end - set_limit node['arcgis']['run_as_user'] do + limit "#{node['arcgis']['run_as_user']}-memlock-#{t}" do + domain node['arcgis']['run_as_user'] type t item 'memlock' value 'unlimited' end - set_limit node['arcgis']['run_as_user'] do + limit "#{node['arcgis']['run_as_user']}-fsize-#{t}" do + domain node['arcgis']['run_as_user'] type t item 'fsize' value 'unlimited' end - set_limit node['arcgis']['run_as_user'] do + limit "#{node['arcgis']['run_as_user']}-as-#{t}" do + domain node['arcgis']['run_as_user'] type t item 'as' value 'unlimited' @@ -108,7 +120,7 @@ # Remove comment from #/net in /etc/auto.master file "/etc/auto.master" do - content lazy { IO.read("/etc/auto.master").gsub("#/net", "/net") } + content lazy { File.read("/etc/auto.master").gsub("#/net", "/net") } only_if { node['arcgis']['configure_autofs'] } end @@ -121,7 +133,7 @@ end file '/home/' + node['arcgis']['run_as_user'] + '/.ssh/authorized_keys' do - content lazy { IO.read(node['arcgis']['run_as_user_auth_keys']) } + content lazy { File.read(node['arcgis']['run_as_user_auth_keys']) } mode '0660' owner node['arcgis']['run_as_user'] group node['arcgis']['run_as_user'] diff --git a/cookbooks/arcgis-enterprise/recipes/webgisdr_export.rb b/cookbooks/arcgis-enterprise/recipes/webgisdr_export.rb new file mode 100644 index 0000000..6320b01 --- /dev/null +++ b/cookbooks/arcgis-enterprise/recipes/webgisdr_export.rb @@ -0,0 +1,37 @@ +# +# Cookbook Name:: arcgis-enterprise +# Recipe:: webgisdr_export +# +# Copyright 2024 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. +# + +# Mixlib::ShellOut requies SeBatchLogonRight privilege to execute batch files +# under ArcGIS user account. +windows_user_privilege 'Grant ArcGIS user SeBatchLogonRight privilege' do + privilege 'SeBatchLogonRight' + principal node['arcgis']['run_as_user'] + only_if { node['platform'] == 'windows' } + action :add +end + +arcgis_enterprise_portal 'Create ArcGIS Enterprise backup' do + install_dir node['arcgis']['portal']['install_dir'] + run_as_user node['arcgis']['run_as_user'] + run_as_password node['arcgis']['run_as_password'] + webgisdr_properties node['arcgis']['portal']['webgisdr_properties'] + webgisdr_timeout node['arcgis']['portal']['webgisdr_timeout'] + action :webgisdr_export +end + \ No newline at end of file diff --git a/cookbooks/arcgis-enterprise/recipes/webgisdr_import.rb b/cookbooks/arcgis-enterprise/recipes/webgisdr_import.rb new file mode 100644 index 0000000..21bc908 --- /dev/null +++ b/cookbooks/arcgis-enterprise/recipes/webgisdr_import.rb @@ -0,0 +1,37 @@ +# +# Cookbook Name:: arcgis-enterprise +# Recipe:: webgisdr_import +# +# Copyright 2024 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. +# + +# Mixlib::ShellOut requies SeBatchLogonRight privilege to execute batch files +# under ArcGIS user account. +windows_user_privilege 'Grant ArcGIS user SeBatchLogonRight privilege' do + privilege 'SeBatchLogonRight' + principal node['arcgis']['run_as_user'] + only_if { node['platform'] == 'windows' } + action :add +end + +arcgis_enterprise_portal 'Restore ArcGIS Enterprise' do + install_dir node['arcgis']['portal']['install_dir'] + run_as_user node['arcgis']['run_as_user'] + run_as_password node['arcgis']['run_as_password'] + webgisdr_properties node['arcgis']['portal']['webgisdr_properties'] + webgisdr_timeout node['arcgis']['portal']['webgisdr_timeout'] + action :webgisdr_import +end + \ No newline at end of file diff --git a/cookbooks/arcgis-enterprise/resources/datasources.rb b/cookbooks/arcgis-enterprise/resources/datasources.rb index d8c1b7a..e39a576 100644 --- a/cookbooks/arcgis-enterprise/resources/datasources.rb +++ b/cookbooks/arcgis-enterprise/resources/datasources.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Resource:: datasources # -# Copyright 2022 Esri +# Copyright 2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,6 +17,8 @@ # limitations under the License. # +unified_mode true + actions :create_ags_connection_file, :delete_ags_connection_file, :create_folder, :share_folder, :register_folder, :register_sde_files, :register_sde_files_from_folder diff --git a/cookbooks/arcgis-enterprise/resources/datastore.rb b/cookbooks/arcgis-enterprise/resources/datastore.rb index 6b990c8..457b03e 100644 --- a/cookbooks/arcgis-enterprise/resources/datastore.rb +++ b/cookbooks/arcgis-enterprise/resources/datastore.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Resource:: datastore # -# Copyright 2022 Esri +# Copyright 2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,6 +17,8 @@ # limitations under the License. # +unified_mode true + actions :system, :unpack, :install, :uninstall, :update_account, :configure_autostart, :stop, :start, :configure, :configure_backup_location, :prepare_upgrade, :configure_hostidentifiers_properties, :remove_machine @@ -30,6 +32,7 @@ attribute :backup_dir, :kind_of => String attribute :types, :kind_of => String, :default => 'tileCache,relational' attribute :mode, :kind_of => String +attribute :roles, :kind_of => String attribute :run_as_user, :kind_of => String attribute :run_as_password, :kind_of => String, :sensitive => true attribute :run_as_msa, :kind_of => [TrueClass, FalseClass], :default => false diff --git a/cookbooks/arcgis-enterprise/resources/gis_service.rb b/cookbooks/arcgis-enterprise/resources/gis_service.rb index 34f0040..8b5074f 100644 --- a/cookbooks/arcgis-enterprise/resources/gis_service.rb +++ b/cookbooks/arcgis-enterprise/resources/gis_service.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Resource:: gis_service # -# Copyright 2022 Esri +# Copyright 2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,6 +17,8 @@ # limitations under the License. # +unified_mode true + actions :publish, :start, :stop, :delete, :add_permission, :clean_permissions, :upload_item attribute :server_url, :kind_of => String diff --git a/cookbooks/arcgis-enterprise/resources/patches.rb b/cookbooks/arcgis-enterprise/resources/patches.rb index 36eb740..6d53ca8 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 2022 Esri +# Copyright 2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,6 +17,8 @@ # limitations under the License. # +unified_mode true + actions :install attribute :patch_folder, :kind_of => String diff --git a/cookbooks/arcgis-enterprise/resources/portal.rb b/cookbooks/arcgis-enterprise/resources/portal.rb index ded3273..4cd2cdb 100644 --- a/cookbooks/arcgis-enterprise/resources/portal.rb +++ b/cookbooks/arcgis-enterprise/resources/portal.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Resource:: portal # -# Copyright 2022 Esri +# Copyright 2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,13 +17,15 @@ # limitations under the License. # +unified_mode true + actions :system, :unpack, :install, :uninstall, :stop, :start, :update_account, :configure_autostart, :authorize, :create_site, :join_site, :set_system_properties, :configure_https, :unregister_standby, :register_server, :federate_server, :unfederate_server, :enable_server_function, :set_allssl, :set_identity_store, :configure_hostidentifiers_properties, - :import_root_cert + :import_root_cert, :webgisdr_export, :webgisdr_import attribute :setup_archive, :kind_of => String attribute :setups_repo, :kind_of => String @@ -76,6 +78,10 @@ attribute :user_license_type_id, :kind_of => String attribute :setup_options, :kind_of => String, :default => '' attribute :system_properties, :kind_of => Hash, :default => {} +attribute :webgisdr_properties, :kind_of => Hash, :default => {} +attribute :webgisdr_timeout, :kind_of => Integer, :default => 36000 +attribute :unpack_options, :kind_of => String, :default => '' +attribute :enable_debug, :kind_of => [TrueClass, FalseClass], :default => false def initialize(*args) super diff --git a/cookbooks/arcgis-enterprise/resources/server.rb b/cookbooks/arcgis-enterprise/resources/server.rb index 44d4ec7..cc469c8 100644 --- a/cookbooks/arcgis-enterprise/resources/server.rb +++ b/cookbooks/arcgis-enterprise/resources/server.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Resource:: server # -# Copyright 2022 Esri +# Copyright 2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,6 +17,8 @@ # limitations under the License. # +unified_mode true + actions :system, :unpack, :install, :uninstall, :update_account, :stop, :start, :configure_autostart, :authorize, :create_site, :join_site, :join_cluster, :configure_https, :register_data_item, :register_database, @@ -84,6 +86,7 @@ attribute :cipher_suites, :kind_of => String, :default => '' attribute :setup_options, :kind_of => String, :default => '' attribute :authorization_options, :kind_of => String, :default => '' +attribute :unpack_options, :kind_of => String, :default => '' def initialize(*args) super diff --git a/cookbooks/arcgis-enterprise/resources/webadaptor.rb b/cookbooks/arcgis-enterprise/resources/webadaptor.rb index eb9d342..d9e4013 100644 --- a/cookbooks/arcgis-enterprise/resources/webadaptor.rb +++ b/cookbooks/arcgis-enterprise/resources/webadaptor.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-enterprise # Resource:: webadaptor # -# Copyright 2022 Esri +# Copyright 2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,6 +17,8 @@ # limitations under the License. # +unified_mode true + actions :system, :unpack, :install, :uninstall, :deploy, :configure_with_server, :configure_with_portal diff --git a/cookbooks/arcgis-enterprise/resources/webstyles.rb b/cookbooks/arcgis-enterprise/resources/webstyles.rb index 3892572..2b3a221 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 2022 Esri +# Copyright 2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,6 +17,8 @@ # limitations under the License. # +unified_mode true + actions :unpack, :install, :uninstall attribute :setup_archive, :kind_of => String diff --git a/cookbooks/arcgis-geoevent/Berksfile b/cookbooks/arcgis-geoevent/Berksfile index 0fc5c59..446d907 100644 --- a/cookbooks/arcgis-geoevent/Berksfile +++ b/cookbooks/arcgis-geoevent/Berksfile @@ -8,10 +8,6 @@ metadata group :integration do cookbook 'apt' - cookbook 'aws' cookbook 'arcgis-enterprise', path: '../arcgis-enterprise' cookbook 'arcgis-repository', path: '../arcgis-repository' - cookbook 'seven_zip' - cookbook 'tar' - fixture 'download-setups-s3' end diff --git a/cookbooks/arcgis-geoevent/CHANGELOG.md b/cookbooks/arcgis-geoevent/CHANGELOG.md index fe63761..228baa1 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. +5.0.0 +----- +- Added support for ArcGIS GeoEvent Server 11.3. + 4.2.0 ----- - Added support for ArcGIS GeoEvent Server 11.2. diff --git a/cookbooks/arcgis-geoevent/README.md b/cookbooks/arcgis-geoevent/README.md index 14e3e59..cf0224b 100644 --- a/cookbooks/arcgis-geoevent/README.md +++ b/cookbooks/arcgis-geoevent/README.md @@ -3,7 +3,7 @@ layout: default title: "arcgis-geoevent cookbook" category: cookbooks item: arcgis-geoevent -version: 4.2.0 +version: 5.0.0 latest: true --- @@ -13,13 +13,11 @@ This cookbook installs and configures ArcGIS GeoEvent Server. ## Supported ArcGIS versions -* 10.8 -* 10.8.1 -* 10.9 * 10.9.1 * 11.0 * 11.1 * 11.2 +* 11.3 ## Supported ArcGIS software @@ -33,10 +31,16 @@ This cookbook installs and configures ArcGIS GeoEvent Server. * Windows Server 2016 * Windows Server 2019 * Windows Server 2022 -* Ubuntu Server 18.04 and 20.04 LTS +* Ubuntu Server 20.04 LTS +* Ubuntu Server 22.04 LTS * Red Hat Enterprise Linux Server 8 +* Red Hat Enterprise Linux Server 9 * SUSE Linux Enterprise Server 15 * Oracle Linux 8 +* Oracle Linux 9 +* Rocky Linux 8 +* Rocky Linux 9 +* AlmaLinux 9 ## Dependencies @@ -50,7 +54,7 @@ The following cookbooks are required: * `node['arcgis']['geoevent']['authorization_file']` = ArcGIS GeoEvent Server authorization file path. * `node['arcgis']['geoevent']['authorization_file_version']` = ArcGIS GeoEvent Server authorization file version. Default value is `node['arcgis']['server']['authorization_file_version']`. * `node['arcgis']['geoevent']['setup_archive']` = Path to the ArcGIS GeoEvent Server setup archive. Default value depends on `node['arcgis']['version']` attribute value. -* `node['arcgis']['geoevent']['setup']` = The location of the ArcGIS GeoEvent Server setup executable. Default location is `%USERPROFILE%\Documents\ArcGIS11.2\ArcGISGeoEventServer\Setup.exe` on Windows and `/opt/arcgis/11.2/geoevent/Setup.sh` on Linux. +* `node['arcgis']['geoevent']['setup']` = The location of the ArcGIS GeoEvent Server setup executable. Default location is `%USERPROFILE%\Documents\ArcGIS11.3\ArcGISGeoEventServer\Setup.exe` on Windows and `/opt/arcgis/11.3/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']`. @@ -71,7 +75,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "run_as_user": "arcgis", "server": { "install_dir": "C:\\Program Files\\ArcGIS\\Server" @@ -92,16 +96,16 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "run_as_user": "arcgis", "run_as_password": "", "server": { "install_dir": "C:\\Program Files\\ArcGIS", }, "geoevent": { - "setup": "C:\\ArcGIS\\11.2\\GeoEvent\\Setup.exe", - "authorization_file": "C:\\ArcGIS\\11.2\\Authorization_Files\\GeoEvent.prvc", - "authorization_file_version": "11.2" + "setup": "C:\\ArcGIS\\11.3\\GeoEvent\\Setup.exe", + "authorization_file": "C:\\ArcGIS\\11.3\\Authorization_Files\\GeoEvent.prvc", + "authorization_file_version": "11.3" } }, "run_list": [ @@ -141,9 +145,9 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "geoevent": { - "lp-setup": "C:\\ArcGIS\\11.2\\GeoEvent\\Japanese\\Setup.exe" + "lp-setup": "C:\\ArcGIS\\11.3\\GeoEvent\\Japanese\\Setup.exe" } }, "run_list":[ @@ -161,7 +165,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "run_as_user": "arcgis", "server": { "install_dir": "C:\\Program Files\\ArcGIS" diff --git a/cookbooks/arcgis-geoevent/attributes/default.rb b/cookbooks/arcgis-geoevent/attributes/default.rb index cb26b65..abde68c 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 2022 Esri +# Copyright 2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -43,6 +43,11 @@ geoevent['lp-setup'] = 'C:\\ArcGIS\\GeoEvent\\SetupFiles\\setup.msi' case node['arcgis']['version'] + when '11.3' + geoevent['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_GeoEvent_Server_113_190259.exe').gsub('/', '\\') + geoevent['product_code'] = '{3F9DC5C6-E832-46A9-AC27-26F48C02DBDC}' + geoevent['patch_registry'] ='SOFTWARE\ESRI\GeoEvent11.3\Server\Updates' when '11.2' geoevent['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_GeoEvent_Server_112_188278.exe').gsub('/', '\\') @@ -63,21 +68,6 @@ '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}' - geoevent['patch_registry'] ='SOFTWARE\ESRI\GeoEvent10.8\Server\Updates' else Chef::Log.warn 'Unsupported ArcGIS GeoEvent Server version' end @@ -88,6 +78,9 @@ geoevent['lp-setup'] = '/arcgis/geo-event-cdLP/Language-Pack-Setup.sh' case node['arcgis']['version'] + when '11.3' + geoevent['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_GeoEvent_Server_113_190331.tar.gz') when '11.2' geoevent['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_GeoEvent_Server_112_188353.tar.gz') @@ -100,15 +93,6 @@ when '10.9.1' geoevent['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_GeoEvent_Server_1091_180218.tar.gz') - when '10.9' - geoevent['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_GeoEvent_Server_109_177900.tar.gz') - when '10.8.1' - geoevent['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_GeoEvent_Server_1081_175325.tar.gz') - when '10.8' - geoevent['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_GeoEvent_Server_108_173004.tar.gz') else Chef::Log.warn 'Unsupported ArcGIS GeoEvent Server version' end diff --git a/cookbooks/arcgis-geoevent/metadata.rb b/cookbooks/arcgis-geoevent/metadata.rb index c287e3f..e340d61 100644 --- a/cookbooks/arcgis-geoevent/metadata.rb +++ b/cookbooks/arcgis-geoevent/metadata.rb @@ -4,11 +4,11 @@ license 'Apache 2.0' description 'Installs and configures ArcGIS GeoEvent Server' long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version '4.2.0' -chef_version '>= 14.0' if defined? chef_version +version '5.0.0' +chef_version '>= 15.3' if defined? chef_version -depends 'arcgis-enterprise', '~> 4.2' -depends 'arcgis-repository', '~> 4.2' +depends 'arcgis-enterprise', '~> 5.0' +depends 'arcgis-repository', '~> 5.0' supports 'windows' supports 'ubuntu' diff --git a/cookbooks/arcgis-geoevent/resources/geoevent.rb b/cookbooks/arcgis-geoevent/resources/geoevent.rb index e805249..b8acaeb 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 2022 Esri +# Copyright 2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,6 +17,8 @@ # limitations under the License. # +unified_mode true + actions :system, :unpack, :install, :uninstall, :update_account, :stop, :start, :configure_autostart, :authorize diff --git a/cookbooks/arcgis-geoevent/templates/default/geoevent.service.erb b/cookbooks/arcgis-geoevent/templates/default/geoevent.service.erb index 59fae74..4efd150 100644 --- a/cookbooks/arcgis-geoevent/templates/default/geoevent.service.erb +++ b/cookbooks/arcgis-geoevent/templates/default/geoevent.service.erb @@ -39,5 +39,5 @@ ExecReload=<%=@agshome%>/GeoEvent/bin/ArcGISGeoEvent-service restart ExecStop=<%=@agshome%>/GeoEvent/bin/ArcGISGeoEvent-service stop [Install] -Alias=ArcGISGeoEvent +Alias=ArcGISGeoEvent.service WantedBy=multi-user.target diff --git a/cookbooks/arcgis-geoevent/templates/default/geoeventGateway.service.erb b/cookbooks/arcgis-geoevent/templates/default/geoeventGateway.service.erb index e45ede2..2d08ac1 100644 --- a/cookbooks/arcgis-geoevent/templates/default/geoeventGateway.service.erb +++ b/cookbooks/arcgis-geoevent/templates/default/geoeventGateway.service.erb @@ -38,5 +38,5 @@ ExecReload=<%=@agshome%>/GeoEvent/gateway/bin/ArcGISGeoEventGateway-service rest ExecStop=<%=@agshome%>/GeoEvent/gateway/bin/ArcGISGeoEventGateway-service stop [Install] -Alias=ArcGISGeoEventGateway +Alias=ArcGISGeoEventGateway.service WantedBy=multi-user.target diff --git a/cookbooks/arcgis-insights/Berksfile b/cookbooks/arcgis-insights/Berksfile index f718611..ad6efb2 100644 --- a/cookbooks/arcgis-insights/Berksfile +++ b/cookbooks/arcgis-insights/Berksfile @@ -7,12 +7,7 @@ source 'https://supermarket.chef.io' metadata group :integration do - cookbook 'apt' - cookbook 'aws' cookbook 'arcgis-enterprise', path: '../arcgis-enterprise' cookbook 'arcgis-repository', path: '../arcgis-repository' - cookbook 'seven_zip' - cookbook 'tar' - fixture 'download-setups-s3' end diff --git a/cookbooks/arcgis-insights/README.md b/cookbooks/arcgis-insights/README.md index ca07bc6..fcece17 100644 --- a/cookbooks/arcgis-insights/README.md +++ b/cookbooks/arcgis-insights/README.md @@ -3,7 +3,7 @@ layout: default title: "arcgis-insights cookbook" category: cookbooks item: arcgis-insights -version: 4.2.0 +version: 5.0.0 latest: true --- @@ -27,6 +27,8 @@ This cookbook installs and configures ArcGIS Insights. * 2022.2 * 2022.3 * 2023.1 +* 2023.2 +* 2023.3 ## Platforms @@ -35,10 +37,16 @@ This cookbook installs and configures ArcGIS Insights. * Windows Server 2016 * Windows Server 2019 * Windows Server 2022 -* Ubuntu Server 18.04 and 20.04 LTS +* Ubuntu Server 20.04 LTS +* Ubuntu Server 22.04 LTS * Red Hat Enterprise Linux Server 8 +* Red Hat Enterprise Linux Server 9 * SUSE Linux Enterprise Server 15 * Oracle Linux 8 +* Oracle Linux 9 +* Rocky Linux 8 +* Rocky Linux 9 +* AlmaLinux 9 ## Dependencies @@ -49,9 +57,9 @@ The following cookbooks are required: ## Attributes -* `node['arcgis']['insights']['version']` = ArcGIS Insights version. Default version is `2023.1` +* `node['arcgis']['insights']['version']` = ArcGIS Insights version. Default version is `2023.3` * `node['arcgis']['insights']['setup_archive']` = Path to the ArcGIS Insights setup archive. Default value depends on `node['arcgis']['insights']['version']` attribute value. -* `node['arcgis']['insights']['setup']` = The location of the ArcGIS Insights setup executable. Default location is `%USERPROFILE%\\Documents\\ArcGIS Insights 2022.3\\Insights\Setup.exe` on Windows and `/opt/arcgis/Insights/Insights-Setup.sh` on Linux. +* `node['arcgis']['insights']['setup']` = The location of the ArcGIS Insights setup executable. Default location is `%USERPROFILE%\\Documents\\ArcGIS Insights 2023.3\\Insights\Setup.exe` on Windows and `/opt/arcgis/Insights/Insights-Setup.sh` on Linux. * `node['arcgis']['insights']['patches]` = File names of ArcGIS Insights patches to install. Default value is `[]`. ## Recipes @@ -65,15 +73,15 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.0", + "version": "11.2", "run_as_user": "arcgis", "run_as_password": "", "server": { "install_dir": "C:\\Program Files\\ArcGIS", }, "insights": { - "version": "2022.3", - "setup": "%USERPROFILE%\\Documents\\ArcGIS Insights 2022.3\\Insights\\Setup.exe" + "version": "2023.3", + "setup": "%USERPROFILE%\\Documents\\ArcGIS Insights 2023.3\\Insights\\Setup.exe" } }, "run_list": [ @@ -115,13 +123,13 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.0", + "version": "11.2", "run_as_user": "arcgis", "server": { "install_dir": "C:\\Program Files (x86)\\ArcGIS" }, "insights": { - "version": "2022.3" + "version": "2023.3" } }, "run_list":[ diff --git a/cookbooks/arcgis-insights/attributes/default.rb b/cookbooks/arcgis-insights/attributes/default.rb index 5648a86..fd903db 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 2023 Esri +# Copyright 2024 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,7 @@ include_attribute 'arcgis-enterprise' default['arcgis']['insights'].tap do |insights| - insights['version'] = '2023.1' + insights['version'] = '2023.3' insights['patches'] = [] @@ -30,6 +30,14 @@ node['arcgis']['insights']['version'] + '\\Insights\\Setup.exe' case node['arcgis']['insights']['version'] + when '2023.3' + insights['product_code'] = '{8041A388-0EDD-4475-8C92-A032058A5EA4}' + insights['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Insights_Windows_2023_3_188686.exe') + when '2023.2' + insights['product_code'] = '{59F56DCC-E25E-45A5-8146-FD8C841E127E}' + insights['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Insights_Windows_2023_2_186056.exe') when '2023.1' insights['product_code'] = '{DEC86F7E-FD14-4920-933D-B18266696663}' insights['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], @@ -97,6 +105,12 @@ 'Insights/Insights-Setup.sh') case node['arcgis']['insights']['version'] + when '2023.3' + insights['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Insights_Linux_2023_3_188687.tar.gz') + when '2023.2' + insights['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Insights_Linux_2023_2_186057.tar.gz') when '2023.1' insights['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Insights_Linux_2023_1_185918.tar.gz') diff --git a/cookbooks/arcgis-insights/metadata.rb b/cookbooks/arcgis-insights/metadata.rb index bcf3152..3b1f93e 100644 --- a/cookbooks/arcgis-insights/metadata.rb +++ b/cookbooks/arcgis-insights/metadata.rb @@ -4,11 +4,11 @@ license 'Apache 2.0' description 'Installs and configures ArcGIS Insights' long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version '4.2.0' -chef_version '>= 14.0' if defined? chef_version +version '5.0.0' +chef_version '>= 15.3' if defined? chef_version -depends 'arcgis-enterprise', '~> 4.2' -depends 'arcgis-repository', '~> 4.2' +depends 'arcgis-enterprise', '~> 5.0' +depends 'arcgis-repository', '~> 5.0' supports 'windows' supports 'ubuntu' diff --git a/cookbooks/arcgis-insights/resources/insights.rb b/cookbooks/arcgis-insights/resources/insights.rb index 3222962..c2d0e61 100644 --- a/cookbooks/arcgis-insights/resources/insights.rb +++ b/cookbooks/arcgis-insights/resources/insights.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-insights # Resource:: insights # -# Copyright 2017 Esri +# Copyright 2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,6 +17,8 @@ # limitations under the License. # +unified_mode true + actions :unpack, :install, :uninstall attribute :setups_repo, :kind_of => String diff --git a/cookbooks/arcgis-desktop/.gitignore b/cookbooks/arcgis-license-manager/.gitignore similarity index 100% rename from cookbooks/arcgis-desktop/.gitignore rename to cookbooks/arcgis-license-manager/.gitignore diff --git a/cookbooks/arcgis-desktop/Berksfile b/cookbooks/arcgis-license-manager/Berksfile similarity index 70% rename from cookbooks/arcgis-desktop/Berksfile rename to cookbooks/arcgis-license-manager/Berksfile index f4ae5af..a982c17 100644 --- a/cookbooks/arcgis-desktop/Berksfile +++ b/cookbooks/arcgis-license-manager/Berksfile @@ -8,8 +8,4 @@ metadata group :integration do cookbook 'arcgis-repository', path: '../arcgis-repository' - cookbook 'aws' - cookbook 'seven_zip' - cookbook 'tar' - fixture 'download-setups-s3' end diff --git a/cookbooks/arcgis-license-manager/CHANGELOG.md b/cookbooks/arcgis-license-manager/CHANGELOG.md new file mode 100644 index 0000000..f6941eb --- /dev/null +++ b/cookbooks/arcgis-license-manager/CHANGELOG.md @@ -0,0 +1,9 @@ +arcgis-license-manager cookbook CHANGELOG +================================= + +This file is used to list changes made in each version of the arcgis-license-manager cookbook. + +5.0.0 +----- + +- Initial release of arcgis-license-manager cookbook diff --git a/cookbooks/arcgis-desktop/CONTRIBUTING.md b/cookbooks/arcgis-license-manager/CONTRIBUTING.md similarity index 100% rename from cookbooks/arcgis-desktop/CONTRIBUTING.md rename to cookbooks/arcgis-license-manager/CONTRIBUTING.md diff --git a/cookbooks/arcgis-desktop/License.txt b/cookbooks/arcgis-license-manager/License.txt similarity index 100% rename from cookbooks/arcgis-desktop/License.txt rename to cookbooks/arcgis-license-manager/License.txt diff --git a/cookbooks/arcgis-license-manager/README.md b/cookbooks/arcgis-license-manager/README.md new file mode 100644 index 0000000..cd0b752 --- /dev/null +++ b/cookbooks/arcgis-license-manager/README.md @@ -0,0 +1,96 @@ +--- +layout: default +title: "arcgis-license-manager cookbook" +category: cookbooks +item: arcgis-license-manager +version: 5.0.0 +latest: true +--- + +# arcgis-license-manager cookbook + +This cookbook installs and configures ArcGIS License Manager. + +## Supported Versions + +* 2021.1 +* 2022.0 +* 2022.1 +* 2023.0 +* 2024.0 + +## Supported Platforms + +* Windows Server 2022 Standard and Datacenter +* Windows Server 2019 Standard and Datacenter +* Windows Server 2016 Standard and Datacenter +* Windows 11 Pro and Enterprise (64 bit) +* Windows 10 Pro and Enterprise (64 bit) +* Red Hat Enterprise Linux (RHEL) Server 9 +* Red Hat Enterprise Linux (RHEL) Server 8 +* SUSE Linux Enterprise Server (SLES) 15 + +## Dependencies + +The following cookbooks are required: + +* arcgis-repository + +## Attributes + +* `node['arcgis']['run_as_user']` = User account used to run ArcGIS License Manager on Linux. Default account name is `arcgis`. +* `node['arcgis']['licensemanager']['version']` = ArcGIS License Manager version. Default value is `2024.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 2024.0\LicenseManager\Setup.exe` on Windows, and `/opt/arcgis/2020.0/LicenseManager_Linux/Setup` on Linux. +* `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. +* `node['arcgis']['licensemanager']['packages']` = Linux system packages to install before installing ArcGIS License Manager. Default value is `[]`. + +## Recipes + +### default + +Calls arcgis-license-manager::licensemanager recipe. + +### licensemanager + +Installs and configures ArcGIS License Manager. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "repository": { + "archives": "C:\\Software\\Esri", + "setups": "C:\\Software\\Setups" + }, + "licensemanager": { + "version": "2024.0", + "setup": "C:\\Software\\Setups\\License Manager 2024.0\\LicenseManager\\Setup.exe", + "install_dir": "C:\\Program Files (x86)\\ArcGIS" + } + }, + "run_list":[ + "recipe[arcgis-license-manager::licensemanager]" + ] +} +``` + +## uninstall + +Uninstalls ArcGIS License Manager. + +Attributes used by the recipe: + +```JSON +{ + "arcgis": { + "licensemanager": { + "install_dir": "C:\\Program Files (x86)\\ArcGIS" + } + }, + "run_list":[ + "recipe[arcgis-license-manager::uninstall]" + ] +} +``` diff --git a/cookbooks/arcgis-license-manager/attributes/default.rb b/cookbooks/arcgis-license-manager/attributes/default.rb new file mode 100644 index 0000000..aabdc31 --- /dev/null +++ b/cookbooks/arcgis-license-manager/attributes/default.rb @@ -0,0 +1,97 @@ +# +# Cookbook Name:: arcgis-license-manager +# Attributes:: default +# +# Copyright 2024 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_attribute 'arcgis-repository' + +default['arcgis']['run_as_user'] = 'arcgis' +default['arcgis']['run_as_password'] = nil + +default['arcgis']['licensemanager'].tap do |licensemanager| + licensemanager['version'] = '2024.0' + licensemanager['packages'] = [] + + case node['platform'] + when 'windows' + licensemanager['setup'] = ::File.join(node['arcgis']['repository']['setups'], + 'ArcGIS License Manager ' + node['arcgis']['licensemanager']['version'], + 'LicenseManager', 'Setup.exe') + licensemanager['lp-setup'] = 'C:\\ArcGIS\\LicenseManager\\SetupFiles\\setup.msi' + licensemanager['install_dir'] = ENV['ProgramFiles(x86)'] + '\\ArcGIS' + + case node['arcgis']['licensemanager']['version'] + when '2024.0' + licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_License_Manager_Windows_2024_0_190004.exe').gsub('/', '\\') + licensemanager['product_code'] = '{D9D91CDE-048A-47B5-AFE7-FB397DAF87D9}' + when '2023.0' + licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_License_Manager_Windows_2023_0_187870.exe').gsub('/', '\\') + licensemanager['product_code'] = '{C5E546F7-5E07-4AAB-A367-15FF52D0C683}' + when '2022.1' + licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_License_Manager_Windows_2022_1_184717.exe').gsub('/', '\\') + licensemanager['product_code'] = '{96804860-2C2F-4448-AE47-76CB160AD043}' + 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('/', '\\') + licensemanager['product_code'] = '{DA36A877-1BF2-4E28-9CE3-D3A07FB645A3}' + else + Chef::Log.warn 'Unsupported ArcGIS License Manager version' + end + else # node['platform'] == 'linux' + licensemanager['setup'] = ::File.join(node['arcgis']['repository']['setups'], + node['arcgis']['licensemanager']['version'], + 'Setup') + + licensemanager['install_dir'] = '/' + licensemanager['install_subdir'] = 'arcgis/license' + node['arcgis']['licensemanager']['version'] + + case node['arcgis']['licensemanager']['version'] + when '2024.0' + licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_License_Manager_Linux_2024_0_190033.tar.gz') + when '2023.0' + licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_License_Manager_Linux_2023_0_187909.tar.gz') + when '2022.1' + licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_License_Manager_Linux_2022_1_184756.tar.gz') + licensemanager['setup'] = ::File.join(node['arcgis']['repository']['setups'], + node['arcgis']['licensemanager']['version'], + 'LicenseManager_Linux', 'Setup') + when '2022.0' + licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_License_Manager_Linux_2022_0_182145.tar.gz') + licensemanager['setup'] = ::File.join(node['arcgis']['repository']['setups'], + node['arcgis']['licensemanager']['version'], + 'LicenseManager_Linux', 'Setup') + when '2021.1' + licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_License_Manager_Linux_2021_1_180145.tar.gz') + licensemanager['setup'] = ::File.join(node['arcgis']['repository']['setups'], + node['arcgis']['licensemanager']['version'], + 'LicenseManager_Linux', 'Setup') + else + Chef::Log.warn 'Unsupported ArcGIS License Manager version' + end + end +end diff --git a/cookbooks/arcgis-desktop/chefignore b/cookbooks/arcgis-license-manager/chefignore similarity index 100% rename from cookbooks/arcgis-desktop/chefignore rename to cookbooks/arcgis-license-manager/chefignore diff --git a/cookbooks/arcgis-desktop/libraries/esri_properties.rb b/cookbooks/arcgis-license-manager/libraries/esri_properties.rb similarity index 98% rename from cookbooks/arcgis-desktop/libraries/esri_properties.rb rename to cookbooks/arcgis-license-manager/libraries/esri_properties.rb index df634e5..d99a0df 100644 --- a/cookbooks/arcgis-desktop/libraries/esri_properties.rb +++ b/cookbooks/arcgis-license-manager/libraries/esri_properties.rb @@ -1,5 +1,5 @@ # -# Copyright 2018 Esri +# Copyright 2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/cookbooks/arcgis-desktop/libraries/utils.rb b/cookbooks/arcgis-license-manager/libraries/utils.rb similarity index 93% rename from cookbooks/arcgis-desktop/libraries/utils.rb rename to cookbooks/arcgis-license-manager/libraries/utils.rb index 28c1fc6..82e1805 100644 --- a/cookbooks/arcgis-desktop/libraries/utils.rb +++ b/cookbooks/arcgis-license-manager/libraries/utils.rb @@ -1,5 +1,5 @@ # -# Copyright 2015 Esri +# Copyright 2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -18,7 +18,7 @@ end # -# Utilities used by arcgis-desktop cookbook resources. +# Utilities used by arcgis-license-manager cookbook resources. # module Utils diff --git a/cookbooks/arcgis-license-manager/metadata.rb b/cookbooks/arcgis-license-manager/metadata.rb new file mode 100644 index 0000000..a0b8b6b --- /dev/null +++ b/cookbooks/arcgis-license-manager/metadata.rb @@ -0,0 +1,23 @@ +name 'arcgis-license-manager' +maintainer 'Esri' +maintainer_email 'contracts@esri.com' +license 'Apache 2.0' +description 'Installs and configures ArcGIS License Manager' +long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) +version '5.0.0' +chef_version '>= 15.3' if defined? chef_version + +depends 'arcgis-repository', '~> 5.0' +depends 'limits', '~> 2.3' +depends 'java_properties', '~> 0.1' + +supports 'windows' +supports 'redhat' +supports 'suse' + +recipe 'arcgis-license-manager::default', 'Installs ArcGIS License Manager' +recipe 'arcgis-license-manager::licensemanager', 'Installs ArcGIS License Manager' +recipe 'arcgis-license-manager::uninstall', 'Uninstalls ArcGIS License Manager.' + +issues_url 'https://github.com/Esri/arcgis-cookbook/issues' if respond_to?(:issues_url) +source_url 'https://github.com/Esri/arcgis-cookbook' if respond_to?(:source_url) diff --git a/cookbooks/arcgis-desktop/providers/licensemanager.rb b/cookbooks/arcgis-license-manager/providers/licensemanager.rb similarity index 82% rename from cookbooks/arcgis-desktop/providers/licensemanager.rb rename to cookbooks/arcgis-license-manager/providers/licensemanager.rb index 8d17540..3e9b12a 100644 --- a/cookbooks/arcgis-desktop/providers/licensemanager.rb +++ b/cookbooks/arcgis-license-manager/providers/licensemanager.rb @@ -1,8 +1,8 @@ # -# Cookbook Name:: arcgis-desktop +# Cookbook Name:: arcgis-license-manager # Provider:: licensemanager # -# Copyright 2015 Esri +# Copyright 2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -22,22 +22,13 @@ if node['platform'] == 'windows' # TODO: Ensure License Manager system requirements on Windows else - arcgis_desktop_user @new_resource.recipe_name + ':create-licensemanager-account' - - # TODO: Ensure License Manager system requirements on redhat,centos - case node['platform'] - when 'redhat', 'centos' - ['glibc.i686'].each do |pckg| - yum_package @new_resource.recipe_name + ':licensemanager:' + pckg do - options '--enablerepo=*-optional' - package_name pckg - action :install - end + arcgis_license_manager_user @new_resource.recipe_name + ':create-licensemanager-account' + + node['arcgis']['licensemanager']['packages'].each do |pckg| + package pckg do + retries 5 + retry_delay 60 end - when 'suse' - # TODO: Ensure License Manager system requirements on suse - else - # NOTE: ArcGIS products are not officially supported on debian linux family end end @@ -111,7 +102,7 @@ action :uninstall do if node['platform'] == 'windows' cmd = 'msiexec' - args = "/qn /x #{product_code}" + args = "/qn /x #{@new_resource.product_code}" cmd = Mixlib::ShellOut.new("\"#{cmd}\" #{args}") cmd.run_command diff --git a/cookbooks/arcgis-desktop/providers/user.rb b/cookbooks/arcgis-license-manager/providers/user.rb similarity index 87% rename from cookbooks/arcgis-desktop/providers/user.rb rename to cookbooks/arcgis-license-manager/providers/user.rb index 3e528f8..434e157 100644 --- a/cookbooks/arcgis-desktop/providers/user.rb +++ b/cookbooks/arcgis-license-manager/providers/user.rb @@ -1,8 +1,8 @@ # -# Cookbook Name:: arcgis-desktop +# Cookbook Name:: arcgis-license-manager # Provider:: user # -# Copyright 2015 Esri +# Copyright 2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -38,18 +38,18 @@ end ['hard', 'soft'].each do |t| - set_limit node['arcgis']['run_as_user'] do + limit "system-nofile-#{t}" do + domain '*' type t item 'nofile' value 65535 - use_system true end - set_limit node['arcgis']['run_as_user'] do + limit "system-nproc-#{t}" do + domain '*' type t item 'nproc' value 25059 - use_system true end end end diff --git a/cookbooks/arcgis-desktop/recipes/lp-install.rb b/cookbooks/arcgis-license-manager/recipes/default.rb similarity index 51% rename from cookbooks/arcgis-desktop/recipes/lp-install.rb rename to cookbooks/arcgis-license-manager/recipes/default.rb index a0d28a7..85d7c1d 100644 --- a/cookbooks/arcgis-desktop/recipes/lp-install.rb +++ b/cookbooks/arcgis-license-manager/recipes/default.rb @@ -1,8 +1,8 @@ # -# Cookbook Name:: arcgis-desktop -# Recipe:: lp-install +# Cookbook Name:: arcgis-license-manager +# Recipe:: default # -# Copyright 2015 Esri +# Copyright 2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,18 +17,4 @@ # limitations under the License. # -if node['platform'] == 'windows' - - windows_package 'Install DesktopLP' do - source node['arcgis']['desktop']['lp-setup'] - action :install - only_if Utils.product_installed?(node['arcgis']['desktop']['product_code']) - end - - windows_package 'Install LicenseManagerLP' do - source node['arcgis']['licensemanager']['lp-setup'] - action :install - only_if Utils.product_installed?(node['arcgis']['licensemanager']['product_code']) - end - -end +include_recipe 'arcgis-license-manager::licensemanager' \ No newline at end of file diff --git a/cookbooks/arcgis-desktop/recipes/licensemanager.rb b/cookbooks/arcgis-license-manager/recipes/licensemanager.rb similarity index 84% rename from cookbooks/arcgis-desktop/recipes/licensemanager.rb rename to cookbooks/arcgis-license-manager/recipes/licensemanager.rb index 53aac84..34c935e 100644 --- a/cookbooks/arcgis-desktop/recipes/licensemanager.rb +++ b/cookbooks/arcgis-license-manager/recipes/licensemanager.rb @@ -1,8 +1,8 @@ # -# Cookbook Name:: arcgis-desktop +# Cookbook Name:: arcgis-license-manager # Recipe:: licensemanager # -# Copyright 2023 Esri +# Copyright 2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,11 +17,11 @@ # limitations under the License. # -arcgis_desktop_licensemanager 'Verify ArcGIS License Manager system requirements' do +arcgis_license_manager_licensemanager 'Verify ArcGIS License Manager system requirements' do action :system end -arcgis_desktop_licensemanager 'Unpack ArcGIS License Manager Setup' do +arcgis_license_manager_licensemanager 'Unpack ArcGIS License Manager Setup' do setup_archive node['arcgis']['licensemanager']['setup_archive'] setups_repo node['arcgis']['repository']['setups'] only_if { ::File.exist?(node['arcgis']['licensemanager']['setup_archive']) && @@ -32,7 +32,7 @@ action :unpack end -arcgis_desktop_licensemanager 'Install ArcGIS License Manager' do +arcgis_license_manager_licensemanager 'Install ArcGIS License Manager' do setup node['arcgis']['licensemanager']['setup'] product_code node['arcgis']['licensemanager']['product_code'] install_dir node['arcgis']['licensemanager']['install_dir'] diff --git a/cookbooks/arcgis-desktop/recipes/uninstall.rb b/cookbooks/arcgis-license-manager/recipes/uninstall.rb similarity index 74% rename from cookbooks/arcgis-desktop/recipes/uninstall.rb rename to cookbooks/arcgis-license-manager/recipes/uninstall.rb index 0c3471e..5940b71 100644 --- a/cookbooks/arcgis-desktop/recipes/uninstall.rb +++ b/cookbooks/arcgis-license-manager/recipes/uninstall.rb @@ -1,8 +1,8 @@ # -# Cookbook Name:: arcgis-desktop +# Cookbook Name:: arcgis-license-manager # Recipe:: uninstall # -# Copyright 2015 Esri +# Copyright 2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,14 +17,7 @@ # limitations under the License. # -arcgis_desktop_desktop 'Uninstall ArcGIS Desktop' do - product_code node['arcgis']['desktop']['product_code'] - install_dir node['arcgis']['desktop']['install_dir'] - only_if { Utils.product_installed?(node['arcgis']['desktop']['product_code']) } - action :uninstall -end - -arcgis_desktop_licensemanager 'Uninstall ArcGIS License Manager' do +arcgis_license_manager_licensemanager 'Uninstall ArcGIS License Manager' do product_code node['arcgis']['licensemanager']['product_code'] install_dir node['arcgis']['licensemanager']['install_dir'] run_as_user node['arcgis']['run_as_user'] diff --git a/cookbooks/arcgis-desktop/resources/licensemanager.rb b/cookbooks/arcgis-license-manager/resources/licensemanager.rb similarity index 91% rename from cookbooks/arcgis-desktop/resources/licensemanager.rb rename to cookbooks/arcgis-license-manager/resources/licensemanager.rb index a17f9ba..c7bab55 100644 --- a/cookbooks/arcgis-desktop/resources/licensemanager.rb +++ b/cookbooks/arcgis-license-manager/resources/licensemanager.rb @@ -1,8 +1,8 @@ # -# Cookbook Name:: arcgis-desktop +# Cookbook Name:: arcgis-license-manager # Resource:: lecensemanager # -# Copyright 2015 Esri +# Copyright 2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,6 +17,8 @@ # limitations under the License. # +unified_mode true + actions :system, :unpack, :install, :uninstall attribute :setup_archive, :kind_of => String diff --git a/cookbooks/arcgis-desktop/resources/user.rb b/cookbooks/arcgis-license-manager/resources/user.rb similarity index 88% rename from cookbooks/arcgis-desktop/resources/user.rb rename to cookbooks/arcgis-license-manager/resources/user.rb index 7bfa101..3999700 100644 --- a/cookbooks/arcgis-desktop/resources/user.rb +++ b/cookbooks/arcgis-license-manager/resources/user.rb @@ -1,8 +1,8 @@ # -# Cookbook Name:: arcgis-desktop +# Cookbook Name:: arcgis-license-manager # Resource:: user # -# Copyright 2015 Esri +# Copyright 2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,6 +17,8 @@ # limitations under the License. # +unified_mode true + actions :create def initialize(*args) diff --git a/cookbooks/arcgis-mission/CHANGELOG.md b/cookbooks/arcgis-mission/CHANGELOG.md index 9b635b9..977a379 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. +# 5.0.0 + +- Added support for ArcGIS Mission Server 11.3. + # 4.2.0 - Added support for ArcGIS Mission Server 11.2. diff --git a/cookbooks/arcgis-mission/README.md b/cookbooks/arcgis-mission/README.md index a25183d..644f58c 100644 --- a/cookbooks/arcgis-mission/README.md +++ b/cookbooks/arcgis-mission/README.md @@ -3,7 +3,7 @@ layout: default title: "arcgis-mission cookbook" category: cookbooks item: arcgis-mission -version: 4.2.0 +version: 5.0.0 latest: true --- @@ -13,13 +13,11 @@ This cookbook installs and configures ArcGIS Mission Server. ## Supported ArcGIS Mission Server versions -* 10.8 -* 10.8.1 -* 10.9 * 10.9.1 * 11.0 * 11.1 * 11.2 +* 11.3 ## Supported ArcGIS software @@ -31,10 +29,16 @@ This cookbook installs and configures ArcGIS Mission Server. * Microsoft Windows Server 2016 Standard and Datacenter * Microsoft Windows Server 2019 Standard and Datacenter * Microsoft Windows Server 2022 Standard and Datacenter -* Ubuntu Server 18.04 and 20.04 LTS +* Ubuntu Server 20.04 LTS +* Ubuntu Server 22.04 LTS * Red Hat Enterprise Linux Server 8 +* Red Hat Enterprise Linux Server 9 * SUSE Linux Enterprise Server 15 * Oracle Linux 8 +* Oracle Linux 9 +* Rocky Linux 8 +* Rocky Linux 9 +* AlmaLinux 9 ## Dependencies @@ -62,7 +66,7 @@ The following cookbooks are required: * `node['arcgis']['mission_server']['log_dir']` = ArcGIS Mission Server log directory. Default value is `C:\arcgismissionserver\logs` on Windows and `//usr/logs` on Linux. * `node['arcgis']['mission_server']['max_log_file_age']` = ArcGIS Mission Server maximum log file age. Default value is `90`. * `node['arcgis']['mission_server']['setup_archive']` = Path to the ArcGIS Mission Server setup archive. Default value depends on `node['arcgis']['version']` attribute value. -* `node['arcgis']['mission_server']['setup']` = The location of the ArcGIS Mission Server setup executable. Default location is `%USERPROFILE%\Documents\ArcGIS11.2\MissionServer\Setup.exe` on Windows and `/opt/arcgis/11.2/MissionServer/Setup` on Linux. +* `node['arcgis']['mission_server']['setup']` = The location of the ArcGIS Mission Server setup executable. Default location is `%USERPROFILE%\Documents\ArcGIS11.3\MissionServer\Setup.exe` on Windows and `/opt/arcgis/11.3/MissionServer/Setup` on Linux. * `node['arcgis']['mission_server']['configure_autostart']` = If set to true, on Linux the Mission Server is configured to start with the operating system. Default value is `true`. * `node['arcgis']['mission_server']['admin_username']` = Primary ArcGIS Mission Server administrator user name. Default user name is `siteadmin`. * `node['arcgis']['mission_server']['admin_password']` = Primary ArcGIS Mission Server administrator password. Default value is `nil`. @@ -117,10 +121,10 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "run_as_user": "arcgis", "mission_server": { - "setup_archive": "/opt/software/esri/ArcGIS_Mission_Server_Linux_110_183045.tar.gz", + "setup_archive": "/opt/software/esri/ArcGIS_Mission_Server_Linux_113_190339.tar.gz", "authorization_file": "/opt/software/esri/missionserver.prvc", "install_dir": "/home/arcgis", "server_directories_root": "/home/arcgis/mission/usr/directories", @@ -144,14 +148,14 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "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" + "setup_archive": "/opt/software/esri/ArcGIS_Web_Adaptor_Java_Linux_113_%%BUILDNUM.tar.gz" }, "mission_server": { "wa_name": "mission" @@ -194,10 +198,10 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "run_as_user": "arcgis", "mission_server": { - "setup_archive": "/opt/software/esri/ArcGIS_Mission_Server_Linux_110_183045.tar.gz", + "setup_archive": "/opt/software/esri/ArcGIS_Mission_Server_Linux_113_190339.tar.gz", "authorization_file": "/opt/software/esri/missionserver.prvc", "admin_username": "siteadmin", "admin_password": "", @@ -228,10 +232,10 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "run_as_user": "arcgis", "mission_server": { - "setup_archive": "/opt/software/esri/ArcGIS_Mission_Server_Linux_110_183045.tar.gz", + "setup_archive": "/opt/software/esri/ArcGIS_Mission_Server_Linux_113_190339.tar.gz", "authorization_file": "/opt/software/esri/missionserver.prvc", "admin_username": "siteadmin", "admin_password": "", @@ -257,14 +261,14 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "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" + "setup_archive": "/opt/software/esri/ArcGIS_Web_Adaptor_Java_Linux_113_190319.tar.gz" }, "mission_server": { "url": "https://hostname:20443", @@ -289,7 +293,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "run_as_user": "arcgis", "mission_server": { "install_dir": "/home/arcgis" @@ -310,7 +314,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "run_as_user": "arcgis", "web_server": { "webapp_dir": "/opt/tomcat_arcgis/webapps" diff --git a/cookbooks/arcgis-mission/attributes/default.rb b/cookbooks/arcgis-mission/attributes/default.rb index 7cef958..b134d85 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 2023 Esri +# Copyright 2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -93,6 +93,10 @@ mission_server['log_dir'] = 'C:\\arcgismissionserver\\logs' case node['arcgis']['version'] + when '11.3' + mission_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Mission_Server_Windows_113_190267.exe').gsub('/', '\\') + mission_server['product_code'] = '{6A92CAEF-653B-47F0-885D-A82CA38B4C58}' when '11.2' mission_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Mission_Server_Windows_112_188286.exe').gsub('/', '\\') @@ -115,27 +119,6 @@ mission_server['product_code'] = '{2BE7F20D-572A-4D3E-B989-DC9BDFFB75AA}' mission_server['authorization_tool'] = ::File.join(mission_server_install_dir, 'bin\\SoftwareAuthorization.exe').gsub('/', '\\') - when '10.9' - mission_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Mission_Server_Windows_109_177824.exe').gsub('/', '\\') - mission_server['product_code'] = '{94280A6F-6501-42CE-A627-FCE20B01A9D7}' - mission_server['ports'] = '20443,20300,20301,20302,20158,20159,20160' - mission_server['authorization_tool'] = ::File.join(mission_server_install_dir, - 'bin\\SoftwareAuthorization.exe').gsub('/', '\\') - when '10.8.1' - mission_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Mission_Server_Windows_1081_175253.exe').gsub('/', '\\') - mission_server['product_code'] = '{26F574C6-C9F8-487C-977A-A906AAA60136}' - mission_server['ports'] = '20443,20300,20301,20302,20158,20159,20160' - mission_server['authorization_tool'] = ::File.join(mission_server_install_dir, - 'bin\\SoftwareAuthorization.exe').gsub('/', '\\') - when '10.8' - mission_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Mission_Server_Windows_108_172945.exe').gsub('/', '\\') - mission_server['product_code'] = '{A1A58B32-2ADF-4EAD-AC84-BE97318CA569}' - mission_server['ports'] = '20443,20300,20301,20302,20158,20159,20160' - mission_server['authorization_tool'] = ::File.join(mission_server_install_dir, - 'bin\\SoftwareAuthorization.exe').gsub('/', '\\') else Chef::Log.warn 'Unsupported ArcGIS Mission Server version' end @@ -176,6 +159,9 @@ 'usr', 'logs') case node['arcgis']['version'] + when '11.3' + mission_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Mission_Server_Linux_113_190339.tar.gz') when '11.2' mission_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Mission_Server_Linux_112_188361.tar.gz') @@ -188,15 +174,6 @@ when '10.9.1' mission_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Mission_Server_Linux_1091_180227.tar.gz') - when '10.9' - mission_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Mission_Server_Linux_109_177909.tar.gz') - when '10.8.1' - mission_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Mission_Server_Linux_1081_175334.tar.gz') - when '10.8' - mission_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Mission_Server_Linux_108_173013.tar.gz') else Chef::Log.warn 'Unsupported ArcGIS Mission Server version' end diff --git a/cookbooks/arcgis-mission/metadata.rb b/cookbooks/arcgis-mission/metadata.rb index fad2f2b..dc77aa9 100644 --- a/cookbooks/arcgis-mission/metadata.rb +++ b/cookbooks/arcgis-mission/metadata.rb @@ -4,11 +4,11 @@ license 'Apache-2.0' description 'Installs/Configures ArcGIS Mission Server' long_description 'Installs/Configures ArcGIS Mission Server' -version '4.2.0' -chef_version '>= 14.0' if defined? chef_version +version '5.0.0' +chef_version '>= 15.3' if defined? chef_version -depends 'arcgis-enterprise', '~> 4.2' -depends 'arcgis-repository', '~> 4.2' +depends 'arcgis-enterprise', '~> 5.0' +depends 'arcgis-repository', '~> 5.0' supports 'ubuntu' supports 'redhat' diff --git a/cookbooks/arcgis-mission/resources/server.rb b/cookbooks/arcgis-mission/resources/server.rb index afdf6b0..3256561 100644 --- a/cookbooks/arcgis-mission/resources/server.rb +++ b/cookbooks/arcgis-mission/resources/server.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-mission # Resource:: server # -# Copyright 2022 Esri +# Copyright 2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,6 +17,8 @@ # limitations under the License. # +unified_mode true + actions :system, :unpack, :install, :uninstall, :update_account, :stop, :start, :configure_autostart, :authorize, :create_site, :join_site, :unregister_machine, :unregister_web_adaptors, :set_system_properties diff --git a/cookbooks/arcgis-notebooks/CHANGELOG.md b/cookbooks/arcgis-notebooks/CHANGELOG.md index 13e78e9..b8b42ca 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. +# 5.0.0 + +- Added support for ArcGIS Notebook Server 11.3. + # 4.2.0 - Added support for ArcGIS Notebook Server 11.2. diff --git a/cookbooks/arcgis-notebooks/README.md b/cookbooks/arcgis-notebooks/README.md index ad7c2e7..73cea91 100644 --- a/cookbooks/arcgis-notebooks/README.md +++ b/cookbooks/arcgis-notebooks/README.md @@ -3,7 +3,7 @@ layout: default title: "arcgis-notebooks cookbook" category: cookbooks item: arcgis-notebooks -version: 4.2.0 +version: 5.0.0 latest: true --- @@ -13,13 +13,11 @@ This cookbook installs and configures ArcGIS Notebook Server. ## Supported ArcGIS Notebook Server versions -* 10.8 -* 10.8.1 -* 10.9 * 10.9.1 * 11.0 * 11.1 * 11.2 +* 11.3 ## Supported ArcGIS software @@ -27,9 +25,18 @@ This cookbook installs and configures ArcGIS Notebook Server. ## Platforms -* Ubuntu Server 18.04 and 20.04 LTS -* Red Hat Enterprise Linux Server 8 (Mirantis Container Runtime must be installed before running Chef) +* Ubuntu Server 20.04 LTS +* Ubuntu Server 22.04 LTS +* Red Hat Enterprise Linux Server 8 +* Red Hat Enterprise Linux Server 9 +* SUSE Linux Enterprise Server 15 * Oracle Linux 8 +* Oracle Linux 9 +* Rocky Linux 8 +* Rocky Linux 9 +* AlmaLinux 9 + +> On Red Hat Enterprise Linux Server platforms Mirantis Container Runtime must be installed before running Chef. ## Dependencies @@ -61,7 +68,7 @@ The following cookbooks are required: * `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 `/gisdata/notebookserver/directories/arcgisworkspace` on Linux. * `node['arcgis']['notebook_server']['setup_archive']` = Path to the ArcGIS Notebook Server setup archive. Default value depends on `node['arcgis']['version']` attribute value. -* `node['arcgis']['notebook_server']['setup']` = The location of the ArcGIS Notebook Server setup executable. Default location is `%USERPROFILE%\Documents\ArcGIS11.2\NotebookServer\Setup.exe` on Windows and `/opt/arcgis/11.2/NotebookServer_Linux/Setup` on Linux. +* `node['arcgis']['notebook_server']['setup']` = The location of the ArcGIS Notebook Server setup executable. Default location is `%USERPROFILE%\Documents\ArcGIS11.3\NotebookServer\Setup.exe` on Windows and `/opt/arcgis/11.3/NotebookServer_Linux/Setup` on Linux. * `node['arcgis']['notebook_server']['standard_images']` = Standard Docker container images for notebooks. Default value depends on `node['arcgis']['version']` attribute value. * `node['arcgis']['notebook_server']['advanced_images']` = Advanced Docker container images for notebooks. Default value depends on `node['arcgis']['version']` attribute value. * `node['arcgis']['notebook_server']['configure_autostart']` = If set to true, on Linux ArcGIS Notebook Server is configured to start with the operating system. Default value is `true`. @@ -74,7 +81,7 @@ The following cookbooks are required: * `node['arcgis']['notebook_server']['ports']` = Ports to open for Notebook Servier in the Windows firewall. Default is `11443`. * `node['arcgis']['notebook_server']['hostname']` = Host name or IP address of ArcGIS Notebook Server machine. Default value is `''`. * `node['arcgis']['notebook_server']['system_properties']` = ArcGIS Notebook Server system properties. Default value is `{}`. -* `node['arcgis']['notebook_server']['data_setup']` = The location of the ArcGIS Notebook Server Samples Data setup. Default location is `%USERPROFILE%\Documents\ArcGIS11.2\NotebookServerData\Setup.exe` on Windows and `/opt/arcgis/11.2/NotebookServerData_Linux/ArcGISNotebookServerSamplesData-Setup.sh` on Linux. +* `node['arcgis']['notebook_server']['data_setup']` = The location of the ArcGIS Notebook Server Samples Data setup. Default location is `%USERPROFILE%\Documents\ArcGIS11.3\NotebookServerData\Setup.exe` on Windows and `/opt/arcgis/11.3/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 `[]`. @@ -136,13 +143,13 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "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", + "setup_archive": "/opt/software/esri/ArcGIS_Notebook_Server_Linux_113_190340.tar.gz", + "standard_images": "/opt/software/esri/ArcGIS_Notebook_Docker_Standard_113_190269.tar.gz", + "advanced_images": "/opt/software/esri/ArcGIS_Notebook_Docker_Advanced_113_190270.tar.gz", + "authorization_file": "/opt/software/esri/notebooksadvsvr_113.prvc", "license_level": "advanced", "install_dir": "/home/arcgis", "server_directories_root": "/home/arcgis/notebookserver/usr/directories", @@ -168,14 +175,14 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "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" + "setup_archive": "/opt/software/esri/ArcGIS_Web_Adaptor_Java_Linux_113_190319.tar.gz" }, "notebook_server": { "wa_name": "notebooks" @@ -232,10 +239,10 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "run_as_user": "arcgis", "notebook_server": { - "data_setup_archive": "/opt/software/esri/ArcGIS_Notebook_Server_Samples_Data_Linux_110_183049.tar.gz", + "data_setup_archive": "/opt/software/esri/ArcGIS_Notebook_Server_Samples_Data_Linux_113_190346.tar.gz", "install_dir": "/home/arcgis" } }, @@ -254,13 +261,13 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "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", + "setup_archive": "/opt/software/esri/ArcGIS_Notebook_Server_Linux_113_190340.tar.gz", + "standard_images": "/opt/software/esri/ArcGIS_Notebook_Docker_Standard_113_190269.tar.gz", + "advanced_images": "/opt/software/esri/ArcGIS_Notebook_Docker_Advanced_113_190270.tar.gz", + "authorization_file": "/opt/software/esri/notebooksadvsvr_113.prvc", "license_level": "advanced", "admin_username": "siteadmin", "admin_password": "", @@ -293,13 +300,13 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "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", + "setup_archive": "/opt/software/esri/ArcGIS_Notebook_Server_Linux_113_190340.tar.gz", + "standard_images": "/opt/software/esri/ArcGIS_Notebook_Docker_Standard_113_190269.tar.gz", + "advanced_images": "/opt/software/esri/ArcGIS_Notebook_Docker_Advanced_113_190270.tar.gz", + "authorization_file": "/opt/software/esri/notebooksadvsvr_113.prvc", "license_level": "advanced", "admin_username": "siteadmin", "admin_password": "", @@ -326,14 +333,14 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "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" + "setup_archive": "/opt/software/esri/ArcGIS_Web_Adaptor_Java_Linux_113_190319.tar.gz" }, "notebook_server": { "url": "https://hostname:11443", @@ -358,7 +365,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "run_as_user": "arcgis", "notebook_server": { "install_dir": "/home/arcgis" @@ -379,7 +386,7 @@ Attributes used by the recipe: ```JSON { "arcgis": { - "version": "11.2", + "version": "11.3", "run_as_user": "arcgis", "web_server": { "webapp_dir": "/opt/tomcat_arcgis/webapps" diff --git a/cookbooks/arcgis-notebooks/attributes/default.rb b/cookbooks/arcgis-notebooks/attributes/default.rb index 975573b..d6e7466 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 2023 Esri +# Copyright 2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -102,33 +102,6 @@ notebook_server['data_setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Notebook_Server_Samples_Data_Windows_1091_180107.exe').gsub('/', '\\') notebook_server['data_product_code'] = '{02AB631F-4427-4426-B515-8895F9315D22}' - when '10.9' - notebook_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Notebook_Server_Windows_109_177821.exe').gsub('/', '\\') - notebook_server['standard_images'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Notebook_Docker_Standard_109_177822.tar.gz').gsub('/', '\\') - notebook_server['advanced_images'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Notebook_Docker_Advanced_109_177823.tar.gz').gsub('/', '\\') - notebook_server['product_code'] = '{9D0291C2-D01E-4411-A2D8-BB42740C9ECC}' - notebook_server['data_setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Notebook_Server_Samples_Data_Windows_109_177842.exe').gsub('/', '\\') - notebook_server['data_product_code'] = '{C2ECEE9C-961A-4EAF-9BD4-9FB0EBCFA535}' - when '10.8.1' - notebook_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Notebook_Server_1081_175250.exe').gsub('/', '\\') - notebook_server['standard_images'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Notebook_Docker_Standard_1081_175251.tar.gz').gsub('/', '\\') - notebook_server['advanced_images'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Notebook_Docker_Advanced_1081_175252.tar.gz').gsub('/', '\\') - notebook_server['product_code'] = '{55DE1B3D-DDFB-4906-81F2-B573BAC25018}' - when '10.8' - notebook_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Notebook_Server_108_172941.exe').gsub('/', '\\') - notebook_server['standard_images'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Notebook_Docker_Standard_108_172942.tar.gz').gsub('/', '\\') - 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}' else Chef::Log.warn 'Unsupported ArcGIS Notebook Server version' end @@ -174,6 +147,15 @@ notebook_server['patches'] = [] case node['arcgis']['version'] + when '11.3' + notebook_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Notebook_Server_Linux_113_190340.tar.gz') + notebook_server['standard_images'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Notebook_Docker_Standard_113_190269.tar.gz') + notebook_server['advanced_images'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Notebook_Docker_Advanced_113_190270.tar.gz') + notebook_server['data_setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGIS_Notebook_Server_Samples_Data_Linux_113_190346.tar.gz') when '11.2' notebook_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Notebook_Server_Linux_112_188362.tar.gz') @@ -210,36 +192,6 @@ 'ArcGIS_Notebook_Docker_Advanced_1091_180091.tar.gz') notebook_server['data_setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGIS_Notebook_Server_Samples_Data_Linux_1091_180232.tar.gz') - when '10.9' - notebook_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Notebook_Server_Linux_109_177908.tar.gz') - notebook_server['standard_images'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Notebook_Docker_Standard_109_177822.tar.gz') - notebook_server['advanced_images'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Notebook_Docker_Advanced_109_177823.tar.gz') - notebook_server['data_setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Notebook_Server_Samples_Data_Linux_109_177914.tar.gz') - when '10.8.1' - notebook_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Notebook_Server_Linux_1081_175333.tar.gz') - notebook_server['standard_images'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Notebook_Docker_Standard_1081_175251.tar.gz') - notebook_server['advanced_images'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Notebook_Docker_Advanced_1081_175252.tar.gz') - when '10.8' - notebook_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Notebook_Server_Linux_108_173012.tar.gz') - notebook_server['standard_images'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Notebook_Docker_Standard_108_172942.tar.gz') - notebook_server['advanced_images'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Notebook_Docker_Advanced_108_172943.tar.gz') - when '10.7.1' - notebook_server['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Notebook_Server_Linux_1071_169927.tar.gz') - notebook_server['standard_images'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Notebook_Docker_Standard_1071_169736.tar.gz') - notebook_server['advanced_images'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGIS_Notebook_Docker_Advanced_1071_169738.tar.gz') else Chef::Log.warn 'Unsupported ArcGIS Notebook Server version' end diff --git a/cookbooks/arcgis-notebooks/metadata.rb b/cookbooks/arcgis-notebooks/metadata.rb index cbcfcca..9202700 100644 --- a/cookbooks/arcgis-notebooks/metadata.rb +++ b/cookbooks/arcgis-notebooks/metadata.rb @@ -4,13 +4,13 @@ license 'Apache-2.0' description 'Installs/Configures ArcGIS Notebook Server' long_description 'Installs/Configures ArcGIS Notebook Server' -version '4.2.0' -chef_version '>= 14.0' if defined? chef_version +version '5.0.0' +chef_version '>= 15.3' if defined? chef_version -depends 'arcgis-enterprise', '~> 4.2' -depends 'arcgis-repository', '~> 4.2' -depends 'docker', '~> 4.9' -depends 'iptables', '~> 7.1' +depends 'arcgis-enterprise', '~> 5.0' +depends 'arcgis-repository', '~> 5.0' +depends 'docker', '~> 11.3' +depends 'iptables', '~> 8.0' supports 'ubuntu' supports 'redhat' diff --git a/cookbooks/arcgis-notebooks/resources/data.rb b/cookbooks/arcgis-notebooks/resources/data.rb index 339715a..7706f53 100644 --- a/cookbooks/arcgis-notebooks/resources/data.rb +++ b/cookbooks/arcgis-notebooks/resources/data.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-notebooks # Resource:: data # -# Copyright 2021 Esri +# Copyright 2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,6 +17,8 @@ # limitations under the License. # +unified_mode true + actions :unpack, :install, :post_install attribute :setup_archive, kind_of: String diff --git a/cookbooks/arcgis-notebooks/resources/server.rb b/cookbooks/arcgis-notebooks/resources/server.rb index e9bc2de..4f40a20 100644 --- a/cookbooks/arcgis-notebooks/resources/server.rb +++ b/cookbooks/arcgis-notebooks/resources/server.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-notebooks # Resource:: server # -# Copyright 2019 Esri +# Copyright 2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,6 +17,8 @@ # limitations under the License. # +unified_mode true + actions :system, :unpack, :install, :uninstall, :update_account, :stop, :start, :configure_autostart, :authorize, :post_install, :create_site, :join_site, :unregister_machine, :unregister_web_adaptors, :set_system_properties diff --git a/cookbooks/arcgis-pro/Berksfile b/cookbooks/arcgis-pro/Berksfile index 8dd6224..a982c17 100644 --- a/cookbooks/arcgis-pro/Berksfile +++ b/cookbooks/arcgis-pro/Berksfile @@ -8,7 +8,4 @@ metadata group :integration do cookbook 'arcgis-repository', path: '../arcgis-repository' - cookbook 'aws' - cookbook 'seven_zip' - fixture 'download-setups-s3' end diff --git a/cookbooks/arcgis-pro/CHANGELOG.md b/cookbooks/arcgis-pro/CHANGELOG.md index 918e624..8193e1a 100644 --- a/cookbooks/arcgis-pro/CHANGELOG.md +++ b/cookbooks/arcgis-pro/CHANGELOG.md @@ -3,6 +3,10 @@ arcgis-pro cookbook CHANGELOG This file is used to list changes made in each version of the arcgis-pro cookbook. +5.0.0 +----- +- Added support for ArcGIS Pro 3.3. + 4.2.0 ----- - Added support for ArcGIS Pro 3.2. diff --git a/cookbooks/arcgis-pro/README.md b/cookbooks/arcgis-pro/README.md index ae94930..39bc7d1 100644 --- a/cookbooks/arcgis-pro/README.md +++ b/cookbooks/arcgis-pro/README.md @@ -3,7 +3,7 @@ layout: default title: "arcgis-pro cookbook" category: cookbooks item: arcgis-pro -version: 4.2.0 +version: 5.0.0 latest: true --- @@ -13,20 +13,12 @@ This cookbook installs and configures ArcGIS Pro. ## Supported ArcGIS Pro versions -* 2.0 -* 2.1 -* 2.2 -* 2.3 -* 2.4 -* 2.5 -* 2.6 -* 2.7 -* 2.8 * 2.9 * 3.0 * 3.0.3 * 3.1 * 3.2 +* 3.3 ## Platforms @@ -46,7 +38,7 @@ The following cookbooks are required: ## Attributes -* `node['arcgis']['pro']['version']` = ArcGIS Pro version. Default version is `3.2` +* `node['arcgis']['pro']['version']` = ArcGIS Pro version. Default version is `3.3` * `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`. @@ -57,14 +49,16 @@ The following cookbooks are required: * `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']['authorization_file_version']` = ArcGIS Pro authorization file version. Default version is `11.0`. +* `node['arcgis']['pro']['authorization_file_version']` = ArcGIS Pro authorization file version. Default version is `11.3`. * `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.23`. -* `node['ms_dotnet']['setup']` = Microsoft .NET Framework setup path. The default path is `%USERPROFILE%\Software\Esri\windowsdesktop-runtime-6.0.23-win-x64.exe`. -* `node['ms_dotnet']['url']` = Microsoft .NET Framework setup URL. The default URL is `https://download.visualstudio.microsoft.com/download/pr/83d32568-c5a2-4117-9591-437051785f41/e75171da01b1fa5c796660dc4b96beed/windowsdesktop-runtime-6.0.23-win-x64.exe`. +* `node['ms_dotnet']['version']` = Microsoft .NET Framework version. The default version is `8.0.3`. +* `node['ms_dotnet']['setup']` = Microsoft .NET Framework setup path. The default path is `%USERPROFILE%\Software\Esri\windowsdesktop-runtime-8.0.3-win-x64.exe`. +* `node['ms_dotnet']['url']` = Microsoft .NET Framework setup URL. The default URL is `https://download.visualstudio.microsoft.com/download/pr/51bc18ac-0594-412d-bd63-18ece4c91ac4/90b47b97c3bfe40a833791b166697e67/windowsdesktop-runtime-8.0.3-win-x64.exe`. +* `node['webview2']['setup']` = Microsoft Edge WebView2 setup path. The default path is `%USERPROFILE%\Software\Esri\MicrosoftEdgeWebview2Setup.exe`. +* `node['webview2']['url']` = Microsoft Edge WebView2 setup URL. The default URL is `https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/4af8eb86-208b-4fb7-952b-af2a783d5c14/MicrosoftEdgeWebview2Setup.exe`. ## Recipes @@ -78,14 +72,14 @@ Attributes used by the recipe: { "arcgis": { "pro": { - "version": "3.2", - "authorization_file_version": "11.2", - "setup": "C:\\ArcGIS\\ArcGIS Pro 3.2\\ArcGISPro\\ArcGISPro.msi", + "version": "3.3", + "authorization_file_version": "11.3", + "setup": "C:\\ArcGIS\\ArcGIS Pro 3.3\\ArcGISPro\\ArcGISPro.msi", "allusers": 1, "authorization_type": "SINGLE_USE", "software_class": "Professional", "portal_list": "https://domain.com/portal", - "authorization_file": "C:\\ArcGIS\\11.2\\Authorization_Files\\Pro.prvc" + "authorization_file": "C:\\ArcGIS\\11.3\\Authorization_Files\\Pro.prvc" } }, "run_list": [ @@ -104,8 +98,8 @@ Attributes used by the recipe: { "arcgis": { "pro": { - "version": "3.2", - "setup": "C:\\ArcGIS\\ArcGIS Pro 3.2\\ArcGISPro\\ArcGISPro.msi", + "version": "3.3", + "setup": "C:\\ArcGIS\\ArcGIS Pro 3.3\\ArcGISPro\\ArcGISPro.msi", "allusers": 1 } }, @@ -124,8 +118,8 @@ Attributes used by the recipe: ```JSON { "ms_dotnet": { - "version": "6.0.23", - "setup": "C:\\Software\\Archives\\windowsdesktop-runtime-6.0.23-win-x64.exe" + "version": "8.0.3", + "setup": "C:\\Software\\Archives\\windowsdesktop-runtime-8.0.3-win-x64.exe" }, "run_list": [ "recipe[arcgis-pro::ms_dotnet]" @@ -133,6 +127,23 @@ Attributes used by the recipe: } ``` +### patches + +Installs ArcGIS Pro patches. + +```JSON +{ + "arcgis":{ + "patches" : { + "local_patch_folder" : "C:\\ArcGIS\\Patches" + } + }, + "run_list":[ + "recipe[arcgis-pro::patches]" + ] +} +``` + ### uninstall Uninstalls ArcGIS Pro of the specified version. @@ -143,7 +154,7 @@ Attributes used by the recipe: { "arcgis": { "pro": { - "version": "3.2" + "version": "3.3" } }, "run_list":[ @@ -152,19 +163,19 @@ Attributes used by the recipe: } ``` -### patches +## webview2 -Installs ArcGIS Pro patches. +Installs Microsoft Edge WebView2. + +Attributes used by the recipe: ```JSON { - "arcgis":{ - "patches" : { - "local_patch_folder" : "C:\\ArcGIS\\Patches" - } + "webview2": { + "setup": "C:\\Software\\Archives\\MicrosoftEdgeWebview2Setup.exe" }, - "run_list":[ - "recipe[arcgis-pro::patches]" + "run_list": [ + "recipe[arcgis-pro::webview2]" ] } ``` diff --git a/cookbooks/arcgis-pro/attributes/default.rb b/cookbooks/arcgis-pro/attributes/default.rb index 59ef17a..f859ac9 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-2023 Esri +# Copyright 2015-2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -21,7 +21,7 @@ default['arcgis']['pro'].tap do |pro| case node['platform'] when 'windows' - pro['version'] = '3.2' + pro['version'] = '3.3' pro['setup'] = ::File.join(node['arcgis']['repository']['setups'], 'ArcGIS Pro ' + node['arcgis']['pro']['version'], @@ -43,9 +43,13 @@ ENV['ProgramW6432'] + '\\ArcGIS\\Pro' end - default['ms_dotnet']['version'] = '6.0.23' + default['ms_dotnet']['version'] = '8.0.3' case node['arcgis']['pro']['version'] + when '3.3' + pro['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], + 'ArcGISPro_33_190016.exe').gsub('/', '\\') + pro['product_code'] = '{B43BC6C2-05D2-460B-AEE4-D15A9CA7B55E}' when '3.2' pro['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGISPro_32_188049.exe').gsub('/', '\\') @@ -66,49 +70,17 @@ pro['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], 'ArcGISPro_29_179927.exe').gsub('/', '\\') pro['product_code'] = '{AD53732E-507C-4A7F-B451-BE7EA01D0832}' - when '2.8' - pro['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGISPro_28_177688.exe').gsub('/', '\\') - pro['product_code'] = '{26C745E6-B3C1-467B-9523-727D1803EE07}' - when '2.7' - pro['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGISPro_27_176624.exe').gsub('/', '\\') - pro['product_code'] = '{FBBB144A-B4BE-49A0-95C4-1007E3A42FA5}' - when '2.6' - pro['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGISPro_26_175036.exe').gsub('/', '\\') - pro['product_code'] = '{9D510CBA-7DB1-4E3D-8938-5E193DF406C9}' - when '2.5' - pro['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGISPro_25_172639.exe').gsub('/', '\\') - pro['product_code'] = '{0D695F82-EB12-4430-A241-20226042FD40}' - when '2.4' - pro['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGISPro_24_169232.exe').gsub('/', '\\') - pro['product_code'] = '{E3B1CE52-A1E6-4386-95C4-5AB450EF57BD}' - when '2.3' - pro['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGISPro_23_14527.exe').gsub('/', '\\') - pro['product_code'] = '{9CB8A8C5-202D-4580-AF55-E09803BA1959}' - when '2.2' - pro['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGISPro_22_163783.exe').gsub('/', '\\') - pro['product_code'] = '{A23CF244-D194-4471-97B4-37D448D2DE76}' - when '2.1' - pro['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGISPro_21_161559.exe').gsub('/', '\\') - pro['product_code'] = '{0368352A-8996-4E80-B9A1-B1BA43FAE6E6}' - when '2.0' - pro['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'], - 'ArcGISPro_20_156181.exe').gsub('/', '\\') - pro['product_code'] = '{28A4967F-DE0D-4076-B62D-A1A9EA62FF0A}' else Chef::Log.warn 'Unsupported ArcGIS Pro version' end - pro['authorization_file_version'] = '11.2' + pro['authorization_file_version'] = '11.3' case node['ms_dotnet']['version'] + when '8.0.3' + default['ms_dotnet']['url'] = 'https://download.visualstudio.microsoft.com/download/pr/51bc18ac-0594-412d-bd63-18ece4c91ac4/90b47b97c3bfe40a833791b166697e67/windowsdesktop-runtime-8.0.3-win-x64.exe' + default['ms_dotnet']['setup'] = ::File.join(node['arcgis']['repository']['archives'], + 'windowsdesktop-runtime-8.0.3-win-x64.exe').gsub('/', '\\') when '6.0.23' default['ms_dotnet']['url'] = 'https://download.visualstudio.microsoft.com/download/pr/83d32568-c5a2-4117-9591-437051785f41/e75171da01b1fa5c796660dc4b96beed/windowsdesktop-runtime-6.0.23-win-x64.exe' default['ms_dotnet']['setup'] = ::File.join(node['arcgis']['repository']['archives'], @@ -124,6 +96,11 @@ else Chef::Log.warn 'Unsupported Microsoft .NET version' end + + # Microsoft Edge WebView2 setup location + default['webview2']['url'] = 'https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/4af8eb86-208b-4fb7-952b-af2a783d5c14/MicrosoftEdgeWebview2Setup.exe' + default['webview2']['setup'] = ::File.join(node['arcgis']['repository']['archives'], + 'MicrosoftEdgeWebview2Setup.exe').gsub('/', '\\') else Chef::Log.warn "ArcGIS Pro is not supported on #{node['platform']} platform." end diff --git a/cookbooks/arcgis-pro/metadata.rb b/cookbooks/arcgis-pro/metadata.rb index fbc638d..03ac0e2 100644 --- a/cookbooks/arcgis-pro/metadata.rb +++ b/cookbooks/arcgis-pro/metadata.rb @@ -4,19 +4,19 @@ license 'Apache 2.0' description 'Installs and configures ArcGIS Pro' long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version '4.2.0' -chef_version '>= 14.0' if defined? chef_version +version '5.0.0' +chef_version '>= 15.3' if defined? chef_version -depends 'arcgis-repository', '~> 4.2' -depends 'windows', '~> 5.3' +depends 'arcgis-repository', '~> 5.0' supports 'windows' recipe 'arcgis-pro::default', 'Installs and authorizes ArcGIS Pro' recipe 'arcgis-pro::install_pro', 'Installs ArcGIS Pro' recipe 'arcgis-pro::ms_dotnet', 'Installs Microsoft .NET Framework' -recipe 'arcgis-pro::uninstall', 'Uninstalls ArcGIS Pro' recipe 'arcgis-pro::patches', 'Installs ArcGIS Pro Patches' +recipe 'arcgis-pro::uninstall', 'Uninstalls ArcGIS Pro' +recipe 'arcgis-pro::webview2', 'Installs Microsoft Edge WebView2' issues_url 'https://github.com/Esri/arcgis-cookbook/issues' if respond_to?(:issues_url) source_url 'https://github.com/Esri/arcgis-cookbook' if respond_to?(:source_url) diff --git a/cookbooks/arcgis-pro/recipes/webview2.rb b/cookbooks/arcgis-pro/recipes/webview2.rb new file mode 100644 index 0000000..8ffbda3 --- /dev/null +++ b/cookbooks/arcgis-pro/recipes/webview2.rb @@ -0,0 +1,36 @@ +# +# Cookbook Name:: arcgis-pro +# Recipe:: webview2 +# +# Copyright 2024 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. + +directory ::File.expand_path("..", node['webview2']['setup']) do + recursive true + not_if { ::File.exist?(node['webview2']['setup']) } + action :create +end + +remote_file 'Download Microsoft Edge WebView2' do + path node['webview2']['setup'] + source node['webview2']['url'] + not_if { ::File.exist?(node['webview2']['setup']) } +end + +windows_package 'Install Microsoft Edge WebView2' do + source node['webview2']['setup'] + installer_type :custom + options '/silent /install' + returns [0, 3010] +end diff --git a/cookbooks/arcgis-pro/resources/pro.rb b/cookbooks/arcgis-pro/resources/pro.rb index 095fe23..1290e6b 100644 --- a/cookbooks/arcgis-pro/resources/pro.rb +++ b/cookbooks/arcgis-pro/resources/pro.rb @@ -2,7 +2,7 @@ # Cookbook Name:: arcgis-pro # Resource:: pro # -# Copyright 2015 Esri +# Copyright 2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,6 +17,8 @@ # limitations under the License. # +unified_mode true + actions :system, :unpack, :install, :uninstall, :patches, :authorize attribute :setup_archive, kind_of: String diff --git a/cookbooks/arcgis-repository/CHANGELOG.md b/cookbooks/arcgis-repository/CHANGELOG.md index d19ab8e..d048a4b 100644 --- a/cookbooks/arcgis-repository/CHANGELOG.md +++ b/cookbooks/arcgis-repository/CHANGELOG.md @@ -3,6 +3,11 @@ arcgis-repository cookbook CHANGELOG This file is used to list changes made in each version of the arcgis-repository cookbook. +5.0.0 +----- + +- Added support for ArcGIS Enterprise 11.3. + 4.2.0 ----- diff --git a/cookbooks/arcgis-repository/README.md b/cookbooks/arcgis-repository/README.md index f6a6708..53a3710 100644 --- a/cookbooks/arcgis-repository/README.md +++ b/cookbooks/arcgis-repository/README.md @@ -3,7 +3,7 @@ layout: default title: "arcgis-repository cookbook" category: cookbooks item: arcgis-repository -version: 4.2.0 +version: 5.0.0 latest: true --- @@ -13,12 +13,11 @@ arcgis-repository cookbook downloads ArcGIS software setup archives from remote ## Supported ArcGIS versions -* 10.8 -* 10.8.1 -* 10.9 * 10.9.1 * 11.0 * 11.1 +* 11.2 +* 11.3 ## Platforms @@ -28,11 +27,15 @@ arcgis-repository cookbook downloads ArcGIS software setup archives from remote * Windows Server 2016 * Windows Server 2019 * Windows Server 2022 -* Ubuntu Server 18.04 and 20.04 LTS +* Ubuntu Server 20.04 LTS +* Ubuntu Server 22.04 LTS * Red Hat Enterprise Linux Server 8 +* Red Hat Enterprise Linux Server 9 * SUSE Linux Enterprise Server 15 * Oracle Linux 8 +* Oracle Linux 9 * Rocky Linux 8 +* Rocky Linux 9 * AlmaLinux 9 ## Dependencies @@ -58,6 +61,12 @@ The following cookbooks are required: * `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']]`. +* `node['arcgis']['repository']['patch_notification']['subfolder']` = S3 bucket subfolder with patches. The default value is `nil`. +* `node['arcgis']['repository']['patch_notification']['patches']` = An array of file name patterns used to filter downloaded patches. The default value is `[]`. +* `node['arcgis']['repository']['aws_cli']['msi_url']` = AWS CLI MSI setup URL. The default URL is `https://awscli.amazonaws.com/AWSCLIV2.msi`. +* `node['arcgis']['repository']['aws_cli']['zip_url']` = AWS CLI ZIP setup URL. The default URL is `https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip`. +* `node['arcgis']['repository']['aws_cli']['bin_dir']` = The main `aws` program in the install directory is symbolically linked to the file `aws` in the specified path. The default directory is `/usr/local/bin`. +* `node['arcgis']['repository']['aws_cli']['install_dir']` = AWS CLI installation directory. The default directory is `/usr/local/aws-cli` ## Recipes @@ -65,8 +74,20 @@ The following cookbooks are required: Downloads and installs AWS CLI on the machine. -``` +Attributes used by the recipe: + +```json { + "arcgis": { + "repository": { + "aws_cli": { + "msi_url": "https://awscli.amazonaws.com/AWSCLIV2.msi", + "zip_url": "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip", + "bin_dir": "/usr/local/bin", + "install_dir": "/usr/local/aws-cli" + } + } + }, "run_list": [ "recipe[arcgis-repository::aws_cli]" ] @@ -184,6 +205,8 @@ Attributes used by the recipe: Downloads files from the ArcGIS software repository in S3 to the local repository specified by the node['arcgis']['repository']['local_archives'] attribute. +Downloads patches form S3 subfolder specified by node['arcgis']['repository']['patch_notification']['subfolder'] attribute to the local patches repository specified by node['arcgis]['repository']['local_patches'] attribute. + The s3files2 recipe invokes arcgis-repository::aws_cli recipe to install AWS CLI on the machine. Attributes used by the recipe: @@ -192,16 +215,23 @@ Attributes used by the recipe: { "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": { + "local_archives":"C:\\Software\\Archives", + "local_patches":"C:\\Software\\Archives\\Patches", + "server":{ + "region": "us-east-1", + "s3bucket":"arcgisstore-us-east-1", + "aws_access_key":"", + "aws_secret_access_key":"" + }, + "patch_notification": { + "subfolder": "", + "patches": [ + "*.msp" + ] + }, + "files": { "": { - "subfolder": "" + "subfolder": "" } } } diff --git a/cookbooks/arcgis-repository/attributes/default.rb b/cookbooks/arcgis-repository/attributes/default.rb index ef50f55..330c482 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 2023 Esri +# Copyright 2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -30,6 +30,7 @@ repository['archives'] = repository['local_archives'] repository['local_patches'] = ::File.join(node['arcgis']['repository']['local_archives'], 'patches') repository['patches'] = repository['local_patches'] + repository['files'] = {} repository['shared'] = false @@ -45,12 +46,17 @@ # AWS access keys are required to download files form ArcGIS software repository S3 buckets repository['server']['aws_access_key'] = nil repository['server']['aws_secret_access_key'] = nil - # AWS CLI v2 URLs - repository['server']['aws_cli_msi_url'] = 'https://awscli.amazonaws.com/AWSCLIV2.msi' - repository['server']['aws_cli_zip_url'] = 'https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip' + + # AWS CLI v2 URLs and installation directory + repository['aws_cli']['msi_url'] = 'https://awscli.amazonaws.com/AWSCLIV2.msi' + repository['aws_cli']['zip_url'] = 'https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip' + repository['aws_cli']['bin_dir'] = '/usr/local/bin' + repository['aws_cli']['install_dir'] = '/usr/local/aws-cli' repository['patch_notification']['url'] = 'https://downloads.esri.com/patch_notification/patches.json' repository['patch_notification']['versions'] = [node['arcgis']['version']] repository['patch_notification']['products'] = [] + repository['patch_notification']['patches'] = [] + repository['patch_notification']['subfolder'] = nil end diff --git a/cookbooks/arcgis-repository/libraries/downloader.rb b/cookbooks/arcgis-repository/libraries/downloader.rb index 5ccf5a7..315b5fa 100644 --- a/cookbooks/arcgis-repository/libraries/downloader.rb +++ b/cookbooks/arcgis-repository/libraries/downloader.rb @@ -1,5 +1,5 @@ # -# Copyright 2021 Esri +# Copyright 2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -19,7 +19,7 @@ module Downloader # Downloads file from the specified URL to a local path. def self.download(url, path) - URI.open(url) { |download| + URI.parse(url).open { |download| IO.copy_stream(download, path) } end diff --git a/cookbooks/arcgis-repository/libraries/patches_client.rb b/cookbooks/arcgis-repository/libraries/patches_client.rb index 0001cf4..755e0d2 100644 --- a/cookbooks/arcgis-repository/libraries/patches_client.rb +++ b/cookbooks/arcgis-repository/libraries/patches_client.rb @@ -61,7 +61,7 @@ def get_patches(products, versions) 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'] + accepted_formats = (platform == 'windows') ? ['.msp', '.exe'] : ['.tar', '.gz'] get_patches(products, versions).each do |patch| patch['PatchFiles'].each do |file_url| @@ -74,7 +74,7 @@ def download_patches(platform, products, versions, patches_dir) begin Downloader.download(file_url, local_file_path) rescue Exception => e - Chef::Log.marn "Failed to download patch from '#{file_url}'. #{e.message}" + Chef::Log.warn "Failed to download patch from '#{file_url}'. #{e.message}" end end end diff --git a/cookbooks/arcgis-repository/metadata.rb b/cookbooks/arcgis-repository/metadata.rb index fab3f82..9cbfe7e 100644 --- a/cookbooks/arcgis-repository/metadata.rb +++ b/cookbooks/arcgis-repository/metadata.rb @@ -4,11 +4,10 @@ license 'Apache-2.0' description 'Downloads ArcGIS software setups from remote to local repositories' long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version '4.2.0' -chef_version '>= 14.0' if defined? chef_version +version '5.0.0' +chef_version '>= 15.3' if defined? chef_version -depends 's3_file', '~> 2.8' -depends 'nfs', '~> 2.6' +depends 'nfs', '~> 5.1' supports 'windows' supports 'ubuntu' @@ -25,7 +24,7 @@ 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.' +recipe 'arcgis-repository::s3files2', 'Downloads files from ArcGIS software repository in S3 to local repository using AWS CLI Tools.' issues_url 'https://github.com/esri/arcgis-cookbook/issues' source_url 'https://github.com/esri/arcgis-cookbook' diff --git a/cookbooks/arcgis-repository/recipes/aws_cli.rb b/cookbooks/arcgis-repository/recipes/aws_cli.rb index 0ae119a..68feddc 100644 --- a/cookbooks/arcgis-repository/recipes/aws_cli.rb +++ b/cookbooks/arcgis-repository/recipes/aws_cli.rb @@ -2,7 +2,7 @@ # Cookbook:: arcgis-repository # Recipe:: aws_cli # -# Copyright 2023 Esri +# Copyright 2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -19,10 +19,11 @@ if node['platform'] == 'windows' windows_package 'Install AWS CLI' do - source node['arcgis']['repository']['server']['aws_cli_msi_url'] + source node['arcgis']['repository']['aws_cli']['msi_url'] options '/qn' installer_type :msi returns [0, 3010, 1638] + not_if 'aws --version' action :install end @@ -33,14 +34,16 @@ remote_file 'Download AWS CLI Linux ZIP' do path "#{Chef::Config['file_cache_path']}/awscliv2.zip" - source node['arcgis']['repository']['server']['aws_cli_zip_url'] - not_if 'which aws' + source node['arcgis']['repository']['aws_cli']['zip_url'] + not_if { ::File.exist?(::File.join(node['arcgis']['repository']['aws_cli']['bin_dir'], 'aws')) } action :create end execute 'Install AWS CLI' do - command 'unzip awscliv2.zip && sudo ./aws/install' + command "unzip awscliv2.zip && sudo ./aws/install"\ + " --install-dir #{node['arcgis']['repository']['aws_cli']['install_dir']}"\ + " --bin-dir #{node['arcgis']['repository']['aws_cli']['bin_dir']}" cwd Chef::Config['file_cache_path'] - not_if 'which aws' + not_if { ::File.exist?(::File.join(node['arcgis']['repository']['aws_cli']['bin_dir'], 'aws')) } end end diff --git a/cookbooks/arcgis-repository/recipes/s3files.rb b/cookbooks/arcgis-repository/recipes/s3files.rb index c199c29..a83d40d 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 2021 Esri +# Copyright 2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,41 +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 - -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 s3_bucket - unless node['arcgis']['repository']['server']['region'].empty? - 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'] - aws_secret_access_key node['arcgis']['repository']['server']['aws_secret_access_key'] - end - retries 5 - retry_delay 30 - not_if { ::File.exist?(::File.join(node['arcgis']['repository']['local_archives'], filename)) } - action :create - end -end +include_recipe 'arcgis-enterprise::s3files2' \ No newline at end of file diff --git a/cookbooks/arcgis-repository/recipes/s3files2.rb b/cookbooks/arcgis-repository/recipes/s3files2.rb index cc03c73..e2027be 100644 --- a/cookbooks/arcgis-repository/recipes/s3files2.rb +++ b/cookbooks/arcgis-repository/recipes/s3files2.rb @@ -2,7 +2,7 @@ # Cookbook:: arcgis-repository # Recipe:: s3files2 # -# Copyright 2023 Esri +# Copyright 2024 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -46,14 +46,43 @@ 'AWS_SECRET_ACCESS_KEY' => node['arcgis']['repository']['server']['aws_secret_access_key']} end +aws = node['platform'] == 'windows' ? 'aws' : ::File.join(node['arcgis']['repository']['aws_cli']['bin_dir'], 'aws') + 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) execute "Download #{filename}" do - command "aws s3 cp s3://#{s3_bucket}/#{s3_key} #{path} --region #{s3_region} --no-progress" + command "#{aws} s3 cp s3://#{s3_bucket}/#{s3_key} #{path} --region #{s3_region} --no-progress" environment env not_if { ::File.exist?(::File.join(node['arcgis']['repository']['local_archives'], filename)) } end end + +# Download patches + +patch_notification = node['arcgis']['repository']['patch_notification'] +src = "s3://#{s3_bucket}/#{patch_notification['subfolder']}" +dst = node['arcgis']['repository']['local_patches'] + +filters = '--exclude "*"' + +patch_notification['patches'].each do |patch| + filters += " --include \"#{patch}\"" +end + +# Create patches directory +directory dst do + mode '0755' if node['platform'] != 'windows' + recursive true + not_if { patch_notification['subfolder'].nil? } + action :create +end + +execute "Download ArcGIS patches from S3 repository" do + command "#{aws} s3 cp #{src} #{dst} #{filters} --recursive --region #{s3_region} --no-progress" + environment env + live_stream true + not_if { patch_notification['subfolder'].nil? } +end diff --git a/cookbooks/arcgis-repository/resources/files.rb b/cookbooks/arcgis-repository/resources/files.rb index 87ba66d..dbae4ce 100644 --- a/cookbooks/arcgis-repository/resources/files.rb +++ b/cookbooks/arcgis-repository/resources/files.rb @@ -2,7 +2,7 @@ # Cookbook:: arcgis-repository # Resource:: files # -# Copyright 2022 Esri +# Copyright 2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,6 +17,8 @@ # limitations under the License. # +unified_mode true + actions :download attribute :server, kind_of: Hash, default: {} diff --git a/cookbooks/arcgis-repository/resources/patches.rb b/cookbooks/arcgis-repository/resources/patches.rb index 58686ed..41dcaee 100644 --- a/cookbooks/arcgis-repository/resources/patches.rb +++ b/cookbooks/arcgis-repository/resources/patches.rb @@ -2,7 +2,7 @@ # Cookbook:: arcgis-repository # Resource:: patches # -# Copyright 2022 Esri +# Copyright 2023 Esri # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,6 +17,8 @@ # limitations under the License. # +unified_mode true + actions :download attribute :patches_url, kind_of: String diff --git a/cookbooks/arcgis-video/.gitignore b/cookbooks/arcgis-video/.gitignore new file mode 100644 index 0000000..13e41c4 --- /dev/null +++ b/cookbooks/arcgis-video/.gitignore @@ -0,0 +1,22 @@ +.vagrant +*~ +*# +.#* +\#*# +.*.sw[a-z] +*.un~ + +# Bundler +Gemfile.lock +gems.locked +bin/* +.bundle/* + +# test kitchen +.kitchen/ +.kitchen.local.yml + +# Chef +Berksfile.lock +.zero-knife.rb +Policyfile.lock.json diff --git a/cookbooks/arcgis-video/Berksfile b/cookbooks/arcgis-video/Berksfile new file mode 100644 index 0000000..6c8e4f2 --- /dev/null +++ b/cookbooks/arcgis-video/Berksfile @@ -0,0 +1,7 @@ +source 'https://supermarket.chef.io' + +metadata + +group :integration do + cookbook 'arcgis-repository', path: '../arcgis-repository' +end diff --git a/cookbooks/arcgis-video/CHANGELOG.md b/cookbooks/arcgis-video/CHANGELOG.md new file mode 100644 index 0000000..78927a9 --- /dev/null +++ b/cookbooks/arcgis-video/CHANGELOG.md @@ -0,0 +1,7 @@ +# arcgis-video CHANGELOG + +This file is used to list changes made in each version of the arcgis-video cookbook. + +# 5.0.0 + +- Initial release of the cookbook. diff --git a/cookbooks/arcgis-video/License.txt b/cookbooks/arcgis-video/License.txt new file mode 100644 index 0000000..863d150 --- /dev/null +++ b/cookbooks/arcgis-video/License.txt @@ -0,0 +1,101 @@ +Apache License - 2.0 + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control +with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management +of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial +ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, +and configuration files. + +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to +compiled object code, generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice +that is included in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the +editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes +of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, +the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work +or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual +or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of +electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on +electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing +by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and +subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, +publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, +non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, +sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are +necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was +submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work +or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You +under this License for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, +and in Source or Object form, provided that You meet the following conditions: + + 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and + + 2. You must cause any modified files to carry prominent notices stating that You changed the files; and + + 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices + from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and + + 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a + readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the + Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the + Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever + such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. + You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, + provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to + Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your + modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You +to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, +nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except +as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides +its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, +any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for +determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under +this License. + +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required +by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, +including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the +use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a +fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting +such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree +to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS \ No newline at end of file diff --git a/cookbooks/arcgis-video/README.md b/cookbooks/arcgis-video/README.md new file mode 100644 index 0000000..ce44d72 --- /dev/null +++ b/cookbooks/arcgis-video/README.md @@ -0,0 +1,342 @@ +--- +layout: default +title: "arcgis-video cookbook" +category: cookbooks +item: arcgis-video +version: 5.0.0 +latest: true +--- + +# arcgis-video cookbook + +This cookbook installs and configures ArcGIS Video Server. + +## Supported ArcGIS Video Server versions + +* 11.3 + +## Supported ArcGIS software + +* ArcGIS Video Server + +## Platforms + +* Microsoft Windows Server 2016 Standard and Datacenter +* Microsoft Windows Server 2019 Standard and Datacenter +* Microsoft Windows Server 2022 Standard and Datacenter +* Ubuntu Server 20.04 LTS +* Red Hat Enterprise Linux Server 8 +* SUSE Linux Enterprise Server 15 +* Oracle Linux 8 + +## Dependencies + +The following cookbooks are required: + +* arcgis-enterprise +* arcgis-repository + +## Attributes + +* `node['arcgis']['video_server']['url']` = The ArcGIS Video Server URL. Default URL is `https://:21443`. +* `node['arcgis']['video_server']['wa_name']` = Name of the ArcGIS Web Adaptor used for the ArcGIS Video Server site. Default name is `video`. +* `node['arcgis']['video_server']['wa_url']` = The URL of the Web Adaptor used for the ArcGIS Video Server site. Default URL is `https:///