├── images ├── routing_util.png ├── end_to_end_workflow.png ├── life_of_an_ad_step0.png ├── routing_util_detailed.png ├── life_of_an_ad_flow_step2.png ├── life_of_an_ad_combined_step1.png ├── life_of_an_ad_private_step1.png ├── life_of_an_ad_reporting_step5.png ├── life_of_an_ad_scoring_step3.png ├── life_of_an_ad_contextual_step1.png ├── life_of_an_ad_multiple_dsp_summary.png └── life_of_an_ad_single_dsp_summary.png ├── archive ├── diagrams │ ├── hashings.png │ ├── Overallflow.png │ ├── bucketization.png │ ├── batchingCaching.png │ ├── sequenceDiagram.png │ ├── maskedLARKDiagram.png │ ├── 2PSCBidAndAuctionCompute.png │ ├── browserBuyerEmbeddings.png │ ├── bucketization_aggregation.png │ ├── bucketization_dp_shuffling.png │ ├── bucketization_secret_share.png │ └── bucketization_system_overview.png ├── presentations │ └── 20210726 - Masked LARK presentation.pdf ├── PARAKEET-OpenDiscussion │ ├── PARAKEET-Polyfill-Test Setup.pdf │ ├── PARAKEET-Polyfill-V0-Testing.pdf │ ├── PARAKEET Browser Service REST API.pdf │ ├── PARAKEET_Client-Side_Decision_Logic.pdf │ ├── Privacy Preserving Ads - WICG MaCAW.pdf │ └── Parakeet High Level Onboarding-2021-04-07.pdf └── bucketization-equation-images │ ├── A_1'.svg │ └── A_2'.svg ├── w3c.json ├── deployment-scripts ├── azure │ ├── key-value-service │ │ ├── release-1.0 │ │ │ ├── CHANGELOG.md │ │ │ ├── services │ │ │ │ ├── app │ │ │ │ │ ├── helm │ │ │ │ │ │ ├── .helmignore │ │ │ │ │ │ ├── values.yaml │ │ │ │ │ │ ├── templates │ │ │ │ │ │ │ ├── namespace.yaml │ │ │ │ │ │ │ ├── otel-secret.yaml │ │ │ │ │ │ │ ├── pvc.yaml │ │ │ │ │ │ │ ├── secret.yaml │ │ │ │ │ │ │ ├── otel-service.yaml │ │ │ │ │ │ │ ├── service.yaml │ │ │ │ │ │ │ ├── otel-config.yaml │ │ │ │ │ │ │ ├── otel-deployment.yaml │ │ │ │ │ │ │ └── pv.yaml │ │ │ │ │ │ ├── kv_services.yaml │ │ │ │ │ │ └── Chart.yaml │ │ │ │ │ └── variables.tf │ │ │ │ ├── monitoring │ │ │ │ │ ├── outputs.tf │ │ │ │ │ ├── main.tf │ │ │ │ │ └── variables.tf │ │ │ │ ├── resource_group │ │ │ │ │ ├── outputs.tf │ │ │ │ │ ├── main.tf │ │ │ │ │ └── variables.tf │ │ │ │ ├── networking │ │ │ │ │ ├── outputs.tf │ │ │ │ │ ├── variables.tf │ │ │ │ │ └── main.tf │ │ │ │ ├── external_dns │ │ │ │ │ ├── values.yaml │ │ │ │ │ └── variables.tf │ │ │ │ ├── storage_account │ │ │ │ │ ├── outputs.tf │ │ │ │ │ ├── main.tf │ │ │ │ │ └── variables.tf │ │ │ │ ├── virtual_node │ │ │ │ │ ├── variables.tf │ │ │ │ │ └── main.tf │ │ │ │ └── aks │ │ │ │ │ ├── outputs.tf │ │ │ │ │ └── variables.tf │ │ │ ├── modules │ │ │ │ └── kv-service │ │ │ │ │ ├── outputs.tf │ │ │ │ │ └── service_vars.tf │ │ │ └── environments │ │ │ │ └── demo │ │ │ │ ├── kv-service │ │ │ │ └── terraform.tf │ │ │ │ └── README.md │ │ └── release-0.7.0 │ │ │ ├── services │ │ │ ├── app │ │ │ │ ├── helm │ │ │ │ │ ├── .helmignore │ │ │ │ │ ├── values.yaml │ │ │ │ │ ├── templates │ │ │ │ │ │ ├── secret.yaml │ │ │ │ │ │ ├── pvc.yaml │ │ │ │ │ │ ├── service.yaml │ │ │ │ │ │ └── pv.yaml │ │ │ │ │ ├── kv_services.yaml │ │ │ │ │ └── Chart.yaml │ │ │ │ └── variables.tf │ │ │ ├── resource_group │ │ │ │ ├── outputs.tf │ │ │ │ ├── main.tf │ │ │ │ └── variables.tf │ │ │ ├── networking │ │ │ │ ├── outputs.tf │ │ │ │ ├── variables.tf │ │ │ │ └── main.tf │ │ │ ├── storage_account │ │ │ │ ├── outputs.tf │ │ │ │ ├── main.tf │ │ │ │ └── variables.tf │ │ │ ├── virtual_node │ │ │ │ ├── variables.tf │ │ │ │ └── main.tf │ │ │ └── aks │ │ │ │ ├── outputs.tf │ │ │ │ └── variables.tf │ │ │ ├── modules │ │ │ └── kv-service │ │ │ │ ├── outputs.tf │ │ │ │ └── service_vars.tf │ │ │ └── environments │ │ │ └── demo │ │ │ ├── kv-service │ │ │ └── terraform.tf │ │ │ └── README.md │ └── buyer-seller-services │ │ ├── release-4.3 │ │ ├── CHANGELOG.md │ │ ├── services │ │ │ ├── app │ │ │ │ ├── helm │ │ │ │ │ ├── .helmignore │ │ │ │ │ ├── values.yaml │ │ │ │ │ ├── templates │ │ │ │ │ │ ├── otel-secret.yaml │ │ │ │ │ │ ├── pvc.yaml │ │ │ │ │ │ ├── secret.yaml │ │ │ │ │ │ ├── otel-service.yaml │ │ │ │ │ │ ├── service.yaml │ │ │ │ │ │ ├── otel-config.yaml │ │ │ │ │ │ ├── otel-deployment.yaml │ │ │ │ │ │ └── pv.yaml │ │ │ │ │ └── Chart.yaml │ │ │ │ └── variables.tf │ │ │ ├── monitoring │ │ │ │ ├── outputs.tf │ │ │ │ ├── main.tf │ │ │ │ └── variables.tf │ │ │ ├── resource_group │ │ │ │ ├── outputs.tf │ │ │ │ ├── main.tf │ │ │ │ └── variables.tf │ │ │ ├── keyvault │ │ │ │ ├── outputs.tf │ │ │ │ └── variables.tf │ │ │ ├── networking │ │ │ │ ├── outputs.tf │ │ │ │ ├── variables.tf │ │ │ │ └── main.tf │ │ │ ├── external_dns │ │ │ │ ├── values.yaml │ │ │ │ └── variables.tf │ │ │ ├── storage_account │ │ │ │ ├── outputs.tf │ │ │ │ ├── main.tf │ │ │ │ └── variables.tf │ │ │ ├── virtual_node │ │ │ │ ├── variables.tf │ │ │ │ └── main.tf │ │ │ └── aks │ │ │ │ ├── outputs.tf │ │ │ │ └── variables.tf │ │ ├── modules │ │ │ ├── buyer │ │ │ │ ├── output_vars.tf │ │ │ │ └── service_vars.tf │ │ │ └── seller │ │ │ │ ├── output_vars.tf │ │ │ │ └── service_vars.tf │ │ └── environment │ │ │ └── demo │ │ │ ├── buyer │ │ │ └── terraform.tf │ │ │ ├── seller │ │ │ └── terraform.tf │ │ │ └── README.md │ │ └── release-3.11 │ │ ├── services │ │ ├── app │ │ │ ├── helm │ │ │ │ ├── .helmignore │ │ │ │ ├── values.yaml │ │ │ │ ├── templates │ │ │ │ │ ├── service.yaml │ │ │ │ │ └── deployment.yaml │ │ │ │ └── Chart.yaml │ │ │ └── variables.tf │ │ ├── resource_group │ │ │ ├── outputs.tf │ │ │ ├── main.tf │ │ │ └── variables.tf │ │ ├── keyvault │ │ │ ├── outputs.tf │ │ │ └── variables.tf │ │ ├── networking │ │ │ ├── outputs.tf │ │ │ ├── variables.tf │ │ │ └── main.tf │ │ ├── external_dns │ │ │ ├── values.yaml │ │ │ └── variables.tf │ │ ├── aks │ │ │ ├── outputs.tf │ │ │ └── variables.tf │ │ └── virtual_node │ │ │ ├── variables.tf │ │ │ └── main.tf │ │ ├── environment │ │ └── demo │ │ │ ├── buyer │ │ │ └── terraform.tf │ │ │ ├── seller │ │ │ └── terraform.tf │ │ │ └── README.md │ │ └── modules │ │ ├── buyer │ │ └── service_vars.tf │ │ └── seller │ │ └── service_vars.tf └── README.md ├── Open Discussions └── 20240924-WICG_TPAC_Criteo_OnDeviceVsServerSide.pdf ├── LICENSE.md └── CONTRIBUTING.md /images/routing_util.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/images/routing_util.png -------------------------------------------------------------------------------- /archive/diagrams/hashings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/archive/diagrams/hashings.png -------------------------------------------------------------------------------- /images/end_to_end_workflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/images/end_to_end_workflow.png -------------------------------------------------------------------------------- /images/life_of_an_ad_step0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/images/life_of_an_ad_step0.png -------------------------------------------------------------------------------- /archive/diagrams/Overallflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/archive/diagrams/Overallflow.png -------------------------------------------------------------------------------- /images/routing_util_detailed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/images/routing_util_detailed.png -------------------------------------------------------------------------------- /w3c.json: -------------------------------------------------------------------------------- 1 | { 2 | "group": [80485] 3 | , "contacts": ["travisleithead"] 4 | , "repo-type": "cg-report" 5 | } 6 | -------------------------------------------------------------------------------- /archive/diagrams/bucketization.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/archive/diagrams/bucketization.png -------------------------------------------------------------------------------- /images/life_of_an_ad_flow_step2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/images/life_of_an_ad_flow_step2.png -------------------------------------------------------------------------------- /archive/diagrams/batchingCaching.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/archive/diagrams/batchingCaching.png -------------------------------------------------------------------------------- /archive/diagrams/sequenceDiagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/archive/diagrams/sequenceDiagram.png -------------------------------------------------------------------------------- /archive/diagrams/maskedLARKDiagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/archive/diagrams/maskedLARKDiagram.png -------------------------------------------------------------------------------- /images/life_of_an_ad_combined_step1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/images/life_of_an_ad_combined_step1.png -------------------------------------------------------------------------------- /images/life_of_an_ad_private_step1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/images/life_of_an_ad_private_step1.png -------------------------------------------------------------------------------- /images/life_of_an_ad_reporting_step5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/images/life_of_an_ad_reporting_step5.png -------------------------------------------------------------------------------- /images/life_of_an_ad_scoring_step3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/images/life_of_an_ad_scoring_step3.png -------------------------------------------------------------------------------- /images/life_of_an_ad_contextual_step1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/images/life_of_an_ad_contextual_step1.png -------------------------------------------------------------------------------- /archive/diagrams/2PSCBidAndAuctionCompute.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/archive/diagrams/2PSCBidAndAuctionCompute.png -------------------------------------------------------------------------------- /archive/diagrams/browserBuyerEmbeddings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/archive/diagrams/browserBuyerEmbeddings.png -------------------------------------------------------------------------------- /images/life_of_an_ad_multiple_dsp_summary.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/images/life_of_an_ad_multiple_dsp_summary.png -------------------------------------------------------------------------------- /images/life_of_an_ad_single_dsp_summary.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/images/life_of_an_ad_single_dsp_summary.png -------------------------------------------------------------------------------- /archive/diagrams/bucketization_aggregation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/archive/diagrams/bucketization_aggregation.png -------------------------------------------------------------------------------- /archive/diagrams/bucketization_dp_shuffling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/archive/diagrams/bucketization_dp_shuffling.png -------------------------------------------------------------------------------- /archive/diagrams/bucketization_secret_share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/archive/diagrams/bucketization_secret_share.png -------------------------------------------------------------------------------- /archive/diagrams/bucketization_system_overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/archive/diagrams/bucketization_system_overview.png -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ## 1.0.0 (2024-11-15) 4 | 5 | ### Features 6 | 7 | * Add OTEL collector to Terraform scripts -------------------------------------------------------------------------------- /archive/presentations/20210726 - Masked LARK presentation.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/archive/presentations/20210726 - Masked LARK presentation.pdf -------------------------------------------------------------------------------- /archive/PARAKEET-OpenDiscussion/PARAKEET-Polyfill-Test Setup.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/archive/PARAKEET-OpenDiscussion/PARAKEET-Polyfill-Test Setup.pdf -------------------------------------------------------------------------------- /archive/PARAKEET-OpenDiscussion/PARAKEET-Polyfill-V0-Testing.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/archive/PARAKEET-OpenDiscussion/PARAKEET-Polyfill-V0-Testing.pdf -------------------------------------------------------------------------------- /Open Discussions/20240924-WICG_TPAC_Criteo_OnDeviceVsServerSide.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/Open Discussions/20240924-WICG_TPAC_Criteo_OnDeviceVsServerSide.pdf -------------------------------------------------------------------------------- /archive/PARAKEET-OpenDiscussion/PARAKEET Browser Service REST API.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/archive/PARAKEET-OpenDiscussion/PARAKEET Browser Service REST API.pdf -------------------------------------------------------------------------------- /archive/PARAKEET-OpenDiscussion/PARAKEET_Client-Side_Decision_Logic.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/archive/PARAKEET-OpenDiscussion/PARAKEET_Client-Side_Decision_Logic.pdf -------------------------------------------------------------------------------- /archive/PARAKEET-OpenDiscussion/Privacy Preserving Ads - WICG MaCAW.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/archive/PARAKEET-OpenDiscussion/Privacy Preserving Ads - WICG MaCAW.pdf -------------------------------------------------------------------------------- /archive/PARAKEET-OpenDiscussion/Parakeet High Level Onboarding-2021-04-07.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WICG/privacy-preserving-ads/HEAD/archive/PARAKEET-OpenDiscussion/Parakeet High Level Onboarding-2021-04-07.pdf -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ## 4.3.0 (2024-11-15) 4 | 5 | ### Features 6 | 7 | * Add OTEL collector to Terraform scripts 8 | 9 | ### Bug Fixes 10 | 11 | * Fix K-anon connection 12 | * Fix request to KV from Bidding Service -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | All Reports in this Repository are licensed by Contributors 2 | under the 3 | [W3C Software and Document License](http://www.w3.org/Consortium/Legal/2015/copyright-software-and-document). 4 | 5 | Contributions to Specifications are made under the 6 | [W3C CLA](https://www.w3.org/community/about/agreements/cla/). 7 | 8 | Contributions to Test Suites are made under the 9 | [W3C 3-clause BSD License](https://www.w3.org/Consortium/Legal/2008/03-bsd-license.html) 10 | 11 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/app/helm/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *.orig 18 | *~ 19 | # Various IDEs 20 | .project 21 | .idea/ 22 | *.tmproj 23 | .vscode/ 24 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-0.7.0/services/app/helm/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *.orig 18 | *~ 19 | # Various IDEs 20 | .project 21 | .idea/ 22 | *.tmproj 23 | .vscode/ 24 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/app/helm/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *.orig 18 | *~ 19 | # Various IDEs 20 | .project 21 | .idea/ 22 | *.tmproj 23 | .vscode/ 24 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-3.11/services/app/helm/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *.orig 18 | *~ 19 | # Various IDEs 20 | .project 21 | .idea/ 22 | *.tmproj 23 | .vscode/ 24 | -------------------------------------------------------------------------------- /deployment-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Scripts to deploy services of Ad Selection API to Azure 2 | 3 | To sign up for the Ad Selection API origin trial, see [Sign up for the Ad Selection API](https://learn.microsoft.com/microsoft-edge/web-platform/ad-selection-api). 4 | 5 | To deploy services that support the Ad Selection API, see: 6 | 1. [Demo Buyer and Seller Deployment scripts for Azure](azure/buyer-seller-services/release-4.3/environment/demo/README.md) 7 | 2. [Demo Key Value Service Deployment scripts for Azure](azure/key-value-service/release-1.0/environment/demo/README.md) -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/app/helm/values.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | namespace: "default" 16 | domain: "ad_selection.microsoft" 17 | services: {} 18 | env: {} 19 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-0.7.0/services/app/helm/values.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | namespace: "default" 16 | domain: "ad_selection.microsoft" 17 | services: {} 18 | env: {} 19 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/app/helm/values.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | namespace: "default" 16 | domain: "ad_selection.microsoft" 17 | services: {} 18 | env: {} 19 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-3.11/services/app/helm/values.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | namespace: "default" 16 | domain: "ad_selection.microsoft" 17 | services: {} 18 | env: {} 19 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-0.7.0/modules/kv-service/outputs.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | output "user_assigned_principal_id" { 16 | value = module.aks.user_assigned_identity_principal_id 17 | } 18 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/modules/buyer/output_vars.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | output "user_assigned_identity_principal_id" { 16 | value = module.aks.user_assigned_identity_principal_id 17 | } 18 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/monitoring/outputs.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | output "instrumentation_key" { 16 | value = azurerm_application_insights.app_insights.instrumentation_key 17 | } 18 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/monitoring/outputs.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | output "instrumentation_key" { 16 | value = azurerm_application_insights.app_insights.instrumentation_key 17 | } 18 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/resource_group/outputs.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | output "id" { 16 | value = azurerm_resource_group.rg.id 17 | } 18 | 19 | output "name" { 20 | value = azurerm_resource_group.rg.name 21 | } 22 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-0.7.0/services/resource_group/outputs.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | output "id" { 16 | value = azurerm_resource_group.rg.id 17 | } 18 | 19 | output "name" { 20 | value = azurerm_resource_group.rg.name 21 | } 22 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/resource_group/outputs.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | output "id" { 16 | value = azurerm_resource_group.rg.id 17 | } 18 | 19 | output "name" { 20 | value = azurerm_resource_group.rg.name 21 | } 22 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-3.11/services/resource_group/outputs.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | output "id" { 16 | value = azurerm_resource_group.rg.id 17 | } 18 | 19 | output "name" { 20 | value = azurerm_resource_group.rg.name 21 | } 22 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/app/helm/templates/namespace.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | {{ if ne $.Values.namespace "default" }} 16 | apiVersion: v1 17 | kind: Namespace 18 | metadata: 19 | name: {{ $.Values.namespace }} 20 | {{ end }} 21 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/resource_group/main.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | resource "azurerm_resource_group" "rg" { 16 | name = "${var.operator}-${var.environment}-${var.region_short}-kv-service-rg" 17 | location = var.region 18 | } 19 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-0.7.0/services/resource_group/main.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | resource "azurerm_resource_group" "rg" { 16 | name = "${var.operator}-${var.environment}-${var.region_short}-kv-service-rg" 17 | location = var.region 18 | } 19 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Web Platform Incubator Community Group 2 | 3 | This repository is being used for work in the W3C Web Platform Incubator Community Group, governed by the [W3C Community License 4 | Agreement (CLA)](http://www.w3.org/community/about/agreements/cla/). To make substantive contributions, 5 | you must join the CG. 6 | 7 | If you are not the sole contributor to a contribution (pull request), please identify all 8 | contributors in the pull request comment. 9 | 10 | To add a contributor (other than yourself, that's automatic), mark them one per line as follows: 11 | 12 | ``` 13 | +@github_username 14 | ``` 15 | 16 | If you added a contributor by mistake, you can remove them in a comment with: 17 | 18 | ``` 19 | -@github_username 20 | ``` 21 | 22 | If you are making a pull request on behalf of someone else but you had no part in designing the 23 | feature, you can remove yourself with the above syntax. 24 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-3.11/services/resource_group/main.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | resource "azurerm_resource_group" "rg" { 16 | name = "${var.operator}-${var.environment}-${var.frontend_service_name}-${var.region_short}-rg" 17 | location = var.region 18 | } 19 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/resource_group/main.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | resource "azurerm_resource_group" "rg" { 16 | name = "${var.operator}-${var.environment}-${var.frontend_service_name}-${var.region_short}-rg" 17 | location = var.region 18 | } 19 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/modules/seller/output_vars.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | output "user_assigned_identity_principal_id" { 16 | value = module.aks.user_assigned_identity_principal_id 17 | } 18 | 19 | output "keyvault_id" { 20 | value = module.keyvault.id 21 | } 22 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/app/helm/templates/otel-secret.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | apiVersion: v1 15 | kind: Secret 16 | metadata: 17 | name: instrumentation-key-secret 18 | type: Opaque 19 | data: 20 | instrumentation_key: {{ $.Values.env.INSTRUMENTATION_KEY | quote }} 21 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/modules/kv-service/outputs.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | output "user_assigned_identity_principal_id" { 16 | value = module.aks.user_assigned_identity_principal_id 17 | } 18 | 19 | output "storage_share_id" { 20 | value = module.storage_account.file_share_id 21 | } 22 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-3.11/services/keyvault/outputs.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | output "id" { 15 | value = azurerm_key_vault.this.id 16 | } 17 | output "name" { 18 | value = azurerm_key_vault.this.name 19 | } 20 | 21 | output "certificate_name" { 22 | value = azurerm_key_vault_certificate.sfe_cert.name 23 | } 24 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/keyvault/outputs.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | output "id" { 15 | value = azurerm_key_vault.this.id 16 | } 17 | output "name" { 18 | value = azurerm_key_vault.this.name 19 | } 20 | 21 | output "certificate_name" { 22 | value = azurerm_key_vault_certificate.sfe_cert.name 23 | } 24 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-0.7.0/services/networking/outputs.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | output "aks_subnet_id" { 16 | value = azurerm_subnet.aks.id 17 | } 18 | 19 | output "vnet_id" { 20 | value = azurerm_virtual_network.vnet.id 21 | } 22 | 23 | output "vnet_name" { 24 | value = azurerm_virtual_network.vnet.name 25 | } 26 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/networking/outputs.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | output "aks_subnet_id" { 16 | value = azurerm_subnet.aks.id 17 | } 18 | 19 | output "vnet_id" { 20 | value = azurerm_virtual_network.vnet.id 21 | } 22 | 23 | output "vnet_name" { 24 | value = azurerm_virtual_network.vnet.name 25 | } 26 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-3.11/services/networking/outputs.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | output "aks_subnet_id" { 16 | value = azurerm_subnet.aks.id 17 | } 18 | 19 | output "vnet_id" { 20 | value = azurerm_virtual_network.vnet.id 21 | } 22 | 23 | output "vnet_name" { 24 | value = azurerm_virtual_network.vnet.name 25 | } 26 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/networking/outputs.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | output "aks_subnet_id" { 16 | value = azurerm_subnet.aks.id 17 | } 18 | 19 | output "vnet_id" { 20 | value = azurerm_virtual_network.vnet.id 21 | } 22 | 23 | output "vnet_name" { 24 | value = azurerm_virtual_network.vnet.name 25 | } 26 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/app/helm/templates/otel-secret.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | apiVersion: v1 16 | kind: Secret 17 | metadata: 18 | name: instrumentation-key-secret 19 | namespace: {{ $.Values.namespace }} 20 | type: Opaque 21 | data: 22 | instrumentation_key: {{ $.Values.env.INSTRUMENTATION_KEY | quote }} 23 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-0.7.0/services/app/helm/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | apiVersion: v1 16 | kind: Secret 17 | metadata: 18 | name: {{ .Values.storageAccount.name }}-secret 19 | data: 20 | azurestorageaccountname: {{ .Values.storageAccount.name | b64enc }} 21 | azurestorageaccountkey: {{ .Values.storageAccount.accessKey | b64enc }} 22 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/app/helm/templates/pvc.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | apiVersion: v1 16 | kind: PersistentVolumeClaim 17 | metadata: 18 | name: azurefile 19 | spec: 20 | accessModes: 21 | - ReadWriteMany 22 | storageClassName: azurefile-csi 23 | volumeName: azurefile 24 | resources: 25 | requests: 26 | storage: 5Gi 27 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/app/helm/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | apiVersion: v1 16 | kind: Secret 17 | metadata: 18 | name: {{ .Values.storageAccount.name }}-secret 19 | data: 20 | azurestorageaccountname: {{ .Values.storageAccount.name | b64enc }} 21 | azurestorageaccountkey: {{ .Values.storageAccount.accessKey | b64enc }} 22 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-0.7.0/services/app/helm/templates/pvc.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | apiVersion: v1 16 | kind: PersistentVolumeClaim 17 | metadata: 18 | name: azurefile 19 | spec: 20 | accessModes: 21 | - ReadWriteMany 22 | storageClassName: azurefile-csi 23 | volumeName: azurefile 24 | resources: 25 | requests: 26 | storage: 5Gi 27 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/monitoring/main.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | resource "azurerm_application_insights" "app_insights" { 16 | name = "${var.operator}${var.environment}${var.region_short}-app-insights" 17 | location = var.region 18 | resource_group_name = var.resource_group_name 19 | application_type = "other" 20 | } 21 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/app/helm/templates/pvc.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | apiVersion: v1 16 | kind: PersistentVolumeClaim 17 | metadata: 18 | name: kv-pvc 19 | namespace: {{ $.Values.namespace }} 20 | spec: 21 | accessModes: 22 | - ReadOnlyMany 23 | storageClassName: azurefile-csi 24 | volumeName: kv-pv 25 | resources: 26 | requests: 27 | storage: 5Gi 28 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/monitoring/main.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | resource "azurerm_application_insights" "app_insights" { 16 | name = "${var.operator}-${var.environment}-${var.frontend_service_name}-${var.region_short}-app-insights" 17 | location = var.region 18 | resource_group_name = var.resource_group_name 19 | application_type = "other" 20 | } 21 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/app/helm/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | apiVersion: v1 16 | kind: Secret 17 | metadata: 18 | name: {{ .Values.storageAccount.name }}-secret 19 | namespace: {{ $.Values.namespace }} 20 | data: 21 | azurestorageaccountname: {{ .Values.storageAccount.name | b64enc }} 22 | azurestorageaccountkey: {{ .Values.storageAccount.accessKey | b64enc }} 23 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-3.11/environment/demo/buyer/terraform.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | terraform { 16 | required_providers { 17 | azurerm = { 18 | source = "hashicorp/azurerm" 19 | version = "~> 4.0.1" 20 | } 21 | } 22 | 23 | required_version = ">= 1.1.0" 24 | } 25 | 26 | provider "azuread" { 27 | use_cli = true 28 | } 29 | 30 | provider "azurerm" { 31 | features {} 32 | } 33 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/environment/demo/buyer/terraform.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | terraform { 16 | required_providers { 17 | azurerm = { 18 | source = "hashicorp/azurerm" 19 | version = "~> 4.0.1" 20 | } 21 | } 22 | 23 | required_version = ">= 1.1.0" 24 | } 25 | 26 | provider "azuread" { 27 | use_cli = true 28 | } 29 | 30 | provider "azurerm" { 31 | features {} 32 | } 33 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-0.7.0/environments/demo/kv-service/terraform.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | terraform { 16 | required_providers { 17 | azurerm = { 18 | source = "hashicorp/azurerm" 19 | version = "~> 4.0.1" 20 | } 21 | } 22 | 23 | required_version = ">= 1.1.0" 24 | } 25 | 26 | provider "azuread" { 27 | use_cli = true 28 | } 29 | 30 | provider "azurerm" { 31 | features {} 32 | } 33 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-0.7.0/services/storage_account/outputs.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | output "name" { 16 | description = "Storage account" 17 | value = azurerm_storage_account.this.name 18 | } 19 | 20 | output "file_share" { 21 | description = "Fileshare name" 22 | value = azurerm_storage_share.this.name 23 | } 24 | 25 | output "access_key" { 26 | description = "Storage account access key" 27 | value = azurerm_storage_account.this.primary_access_key 28 | } 29 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/external_dns/values.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | provider: azure-private-dns 16 | 17 | policy: sync 18 | 19 | azure: 20 | useWorkloadIdentityExtension: true 21 | 22 | txtOwnerId: external-dns 23 | 24 | extraArgs: 25 | txt-wildcard-replacement: "wildcard" 26 | 27 | podLabels: 28 | azure.workload.identity/use: "true" 29 | 30 | resources: 31 | requests: 32 | cpu: 10m 33 | memory: 32Mi 34 | limits: 35 | cpu: 50m 36 | memory: 64Mi 37 | 38 | logLevel: debug 39 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-3.11/services/external_dns/values.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | provider: azure-private-dns 16 | 17 | policy: sync 18 | 19 | azure: 20 | useWorkloadIdentityExtension: true 21 | 22 | txtOwnerId: external-dns 23 | 24 | extraArgs: 25 | txt-wildcard-replacement: "wildcard" 26 | 27 | podLabels: 28 | azure.workload.identity/use: "true" 29 | 30 | resources: 31 | requests: 32 | cpu: 10m 33 | memory: 32Mi 34 | limits: 35 | cpu: 50m 36 | memory: 64Mi 37 | 38 | logLevel: debug 39 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/external_dns/values.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | provider: azure-private-dns 16 | 17 | policy: sync 18 | 19 | azure: 20 | useWorkloadIdentityExtension: true 21 | 22 | txtOwnerId: external-dns 23 | 24 | extraArgs: 25 | txt-wildcard-replacement: "wildcard" 26 | 27 | podLabels: 28 | azure.workload.identity/use: "true" 29 | 30 | resources: 31 | requests: 32 | cpu: 10m 33 | memory: 32Mi 34 | limits: 35 | cpu: 50m 36 | memory: 64Mi 37 | 38 | logLevel: debug 39 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-3.11/environment/demo/seller/terraform.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | terraform { 16 | required_providers { 17 | azurerm = { 18 | source = "hashicorp/azurerm" 19 | version = "~> 4.0.1" 20 | } 21 | } 22 | 23 | required_version = ">= 1.1.0" 24 | } 25 | 26 | provider "azuread" { 27 | use_cli = true 28 | } 29 | 30 | provider "azurerm" { 31 | features { 32 | key_vault { 33 | purge_soft_delete_on_destroy = true 34 | recover_soft_deleted_key_vaults = false 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/environment/demo/seller/terraform.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | terraform { 16 | required_providers { 17 | azurerm = { 18 | source = "hashicorp/azurerm" 19 | version = "~> 4.0.1" 20 | } 21 | } 22 | 23 | required_version = ">= 1.1.0" 24 | } 25 | 26 | provider "azuread" { 27 | use_cli = true 28 | } 29 | 30 | provider "azurerm" { 31 | features { 32 | key_vault { 33 | purge_soft_delete_on_destroy = true 34 | recover_soft_deleted_key_vaults = false 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/environments/demo/kv-service/terraform.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | terraform { 16 | required_providers { 17 | azurerm = { 18 | source = "hashicorp/azurerm" 19 | version = "~> 4.0.1" 20 | } 21 | } 22 | 23 | required_version = ">= 1.1.0" 24 | } 25 | 26 | provider "azuread" { 27 | use_cli = true 28 | } 29 | 30 | provider "azurerm" { 31 | features { 32 | key_vault { 33 | purge_soft_delete_on_destroy = true 34 | recover_soft_deleted_key_vaults = false 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-0.7.0/services/resource_group/variables.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | variable "operator" { 16 | description = "Operator name used to identify the resource owner." 17 | type = string 18 | } 19 | 20 | variable "environment" { 21 | description = "Assigned environment name to group related resources." 22 | type = string 23 | } 24 | 25 | variable "region" { 26 | description = "Azure region" 27 | type = string 28 | } 29 | 30 | variable "region_short" { 31 | description = "Azure region shorthand" 32 | type = string 33 | } 34 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/resource_group/variables.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | variable "operator" { 16 | description = "Operator name used to identify the resource owner." 17 | type = string 18 | } 19 | 20 | variable "environment" { 21 | description = "Assigned environment name to group related resources." 22 | type = string 23 | } 24 | 25 | variable "region" { 26 | description = "Azure region" 27 | type = string 28 | } 29 | 30 | variable "region_short" { 31 | description = "Azure region shorthand" 32 | type = string 33 | } 34 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/storage_account/outputs.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | output "name" { 16 | description = "Storage account" 17 | value = azurerm_storage_account.this.name 18 | } 19 | 20 | output "file_share" { 21 | description = "Fileshare name" 22 | value = azurerm_storage_share.this.name 23 | } 24 | 25 | output "file_share_id" { 26 | description = "Fileshare id" 27 | value = azurerm_storage_share.this.id 28 | } 29 | 30 | output "access_key" { 31 | description = "Storage account access key" 32 | value = azurerm_storage_account.this.primary_access_key 33 | } 34 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/storage_account/outputs.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | output "name" { 16 | description = "Storage account" 17 | value = azurerm_storage_account.this.name 18 | } 19 | 20 | output "file_share" { 21 | description = "Fileshare name" 22 | value = azurerm_storage_share.this.name 23 | } 24 | 25 | output "file_share_id" { 26 | description = "Fileshare id" 27 | value = azurerm_storage_share.this.id 28 | } 29 | 30 | output "access_key" { 31 | description = "Storage account access key" 32 | value = azurerm_storage_account.this.primary_access_key 33 | } 34 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-3.11/services/aks/outputs.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | output "name" { 16 | value = azurerm_kubernetes_cluster.aks.name 17 | } 18 | 19 | output "oidc_issuer_url" { 20 | value = azurerm_kubernetes_cluster.aks.oidc_issuer_url 21 | } 22 | 23 | output "user_assigned_identity_id" { 24 | value = azurerm_kubernetes_cluster.aks.kubelet_identity[0].user_assigned_identity_id 25 | } 26 | 27 | output "virtual_node_identity_id" { 28 | value = azurerm_user_assigned_identity.this.id 29 | } 30 | output "virtual_node_identity_principal_id" { 31 | value = azurerm_user_assigned_identity.this.principal_id 32 | } 33 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/resource_group/variables.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | variable "operator" { 16 | description = "Operator name used to identify the resource owner." 17 | type = string 18 | } 19 | 20 | variable "environment" { 21 | description = "Assigned environment name to group related resources." 22 | type = string 23 | } 24 | 25 | variable "frontend_service_name" { 26 | type = string 27 | } 28 | 29 | variable "region" { 30 | description = "Azure region" 31 | type = string 32 | } 33 | 34 | variable "region_short" { 35 | description = "Azure region shorthand" 36 | type = string 37 | } 38 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-3.11/services/resource_group/variables.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | variable "operator" { 16 | description = "Operator name used to identify the resource owner." 17 | type = string 18 | } 19 | 20 | variable "environment" { 21 | description = "Assigned environment name to group related resources." 22 | type = string 23 | } 24 | 25 | variable "frontend_service_name" { 26 | type = string 27 | } 28 | 29 | variable "region" { 30 | description = "Azure region" 31 | type = string 32 | } 33 | 34 | variable "region_short" { 35 | description = "Azure region shorthand" 36 | type = string 37 | } 38 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/virtual_node/variables.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | variable "aks_cluster_name" { 16 | description = "Azure Kubernetes Service cluster name" 17 | type = string 18 | } 19 | 20 | variable "kubernetes_namespace" { 21 | description = "Virtual Node namespace" 22 | type = string 23 | default = "vn2" 24 | } 25 | 26 | variable "resource_group_name" { 27 | description = "Resource group name" 28 | type = string 29 | } 30 | 31 | variable "containers" { 32 | description = "Containers to deploy" 33 | type = list(object({ 34 | name = string 35 | image = string 36 | ccepolicy = string 37 | })) 38 | } 39 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-0.7.0/services/virtual_node/variables.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | variable "aks_cluster_name" { 16 | description = "Azure Kubernetes Service cluster name" 17 | type = string 18 | } 19 | 20 | variable "kubernetes_namespace" { 21 | description = "Virtual Node namespace" 22 | type = string 23 | default = "vn2" 24 | } 25 | 26 | variable "resource_group_name" { 27 | description = "Resource group name" 28 | type = string 29 | } 30 | 31 | variable "containers" { 32 | description = "Containers to deploy" 33 | type = list(object({ 34 | name = string 35 | image = string 36 | ccepolicy = string 37 | })) 38 | } 39 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/virtual_node/variables.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | variable "aks_cluster_name" { 16 | description = "Azure Kubernetes Service cluster name" 17 | type = string 18 | } 19 | 20 | variable "kubernetes_namespace" { 21 | description = "Virtual Node namespace" 22 | type = string 23 | default = "vn2" 24 | } 25 | 26 | variable "resource_group_name" { 27 | description = "Resource group name" 28 | type = string 29 | } 30 | 31 | variable "containers" { 32 | description = "Containers to deploy" 33 | type = list(object({ 34 | name = string 35 | image = string 36 | ccepolicy = string 37 | })) 38 | } 39 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-3.11/services/virtual_node/variables.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | variable "aks_cluster_name" { 16 | description = "Azure Kubernetes Service cluster name" 17 | type = string 18 | } 19 | 20 | variable "kubernetes_namespace" { 21 | description = "Virtual Node namespace" 22 | type = string 23 | default = "vn2" 24 | } 25 | 26 | variable "resource_group_name" { 27 | description = "Resource group name" 28 | type = string 29 | } 30 | 31 | variable "containers" { 32 | description = "Containers to deploy" 33 | type = list(object({ 34 | name = string 35 | image = string 36 | ccepolicy = string 37 | })) 38 | } 39 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/app/helm/templates/otel-service.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | apiVersion: v1 15 | kind: Service 16 | metadata: 17 | name: otel-collector-service 18 | labels: 19 | app: otel-collector 20 | annotations: 21 | service.beta.kubernetes.io/azure-load-balancer-internal: "true" 22 | external-dns.alpha.kubernetes.io/hostname: otel-collector-service.{{ $.Values.domain}} 23 | external-dns.alpha.kubernetes.io/internal-hostname: otel-collector-service-clusterip.{{ $.Values.domain}} 24 | spec: 25 | selector: 26 | app: otel-collector 27 | ports: 28 | - protocol: TCP 29 | port: 4317 30 | targetPort: 4317 31 | name: grpc 32 | type: LoadBalancer 33 | --- 34 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/aks/outputs.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | output "name" { 16 | value = azurerm_kubernetes_cluster.aks.name 17 | } 18 | 19 | output "oidc_issuer_url" { 20 | value = azurerm_kubernetes_cluster.aks.oidc_issuer_url 21 | } 22 | 23 | output "user_assigned_identity_id" { 24 | value = azurerm_kubernetes_cluster.aks.kubelet_identity[0].user_assigned_identity_id 25 | } 26 | output "user_assigned_identity_principal_id" { 27 | value = azurerm_kubernetes_cluster.aks.kubelet_identity[0].object_id 28 | } 29 | 30 | output "virtual_node_identity_id" { 31 | value = azurerm_user_assigned_identity.this.id 32 | } 33 | 34 | output "virtual_node_identity_principal_id" { 35 | value = azurerm_user_assigned_identity.this.principal_id 36 | } 37 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/aks/outputs.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | output "name" { 16 | value = azurerm_kubernetes_cluster.aks.name 17 | } 18 | 19 | output "oidc_issuer_url" { 20 | value = azurerm_kubernetes_cluster.aks.oidc_issuer_url 21 | } 22 | 23 | output "user_assigned_identity_id" { 24 | value = azurerm_kubernetes_cluster.aks.kubelet_identity[0].user_assigned_identity_id 25 | } 26 | 27 | output "user_assigned_identity_principal_id" { 28 | value = azurerm_kubernetes_cluster.aks.kubelet_identity[0].object_id 29 | } 30 | 31 | output "virtual_node_identity_id" { 32 | value = azurerm_user_assigned_identity.this.id 33 | } 34 | output "virtual_node_identity_principal_id" { 35 | value = azurerm_user_assigned_identity.this.principal_id 36 | } 37 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-0.7.0/services/aks/outputs.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | output "name" { 16 | value = azurerm_kubernetes_cluster.aks.name 17 | } 18 | 19 | output "oidc_issuer_url" { 20 | value = azurerm_kubernetes_cluster.aks.oidc_issuer_url 21 | } 22 | 23 | output "user_assigned_identity_id" { 24 | value = azurerm_kubernetes_cluster.aks.kubelet_identity[0].user_assigned_identity_id 25 | } 26 | output "user_assigned_identity_principal_id" { 27 | value = azurerm_kubernetes_cluster.aks.kubelet_identity[0].object_id 28 | } 29 | 30 | output "virtual_node_identity_id" { 31 | value = azurerm_user_assigned_identity.this.id 32 | } 33 | 34 | output "virtual_node_identity_principal_id" { 35 | value = azurerm_user_assigned_identity.this.principal_id 36 | } 37 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/app/helm/templates/otel-service.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | apiVersion: v1 16 | kind: Service 17 | metadata: 18 | name: otel-collector-service 19 | namespace: {{ $.Values.namespace }} 20 | labels: 21 | app: otel-collector 22 | annotations: 23 | service.beta.kubernetes.io/azure-load-balancer-internal: "true" 24 | external-dns.alpha.kubernetes.io/hostname: otel-collector-service.{{ $.Values.domain}} 25 | external-dns.alpha.kubernetes.io/internal-hostname: otel-collector-service-clusterip.{{ $.Values.domain}} 26 | spec: 27 | selector: 28 | app: otel-collector 29 | ports: 30 | - protocol: TCP 31 | port: 4317 32 | targetPort: 4317 33 | name: grpc 34 | type: LoadBalancer 35 | --- 36 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-3.11/services/app/helm/templates/service.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | {{ range $name, $val := .Values.services }} 15 | apiVersion: v1 16 | kind: Service 17 | metadata: 18 | name: {{ $name }}-lb 19 | namespace: {{ $.Values.namespace }} 20 | annotations: 21 | {{- if $val.internalLB }} 22 | service.beta.kubernetes.io/azure-load-balancer-internal: "true" 23 | external-dns.alpha.kubernetes.io/hostname: {{ $name }}.{{ $.Values.domain}} 24 | external-dns.alpha.kubernetes.io/internal-hostname: {{ $name }}-clusterip.{{ $.Values.domain }} 25 | {{- end }} 26 | spec: 27 | type: LoadBalancer 28 | ports: 29 | {{- range $val.containerPorts }} 30 | - name: {{ .name }} 31 | port: {{ .port }} 32 | {{- end }} 33 | selector: 34 | app: {{ $name }}-app 35 | --- 36 | {{ end }} 37 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/app/helm/templates/service.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | {{ range $name, $val := .Values.services }} 15 | apiVersion: v1 16 | kind: Service 17 | metadata: 18 | name: {{ $name }}-lb 19 | namespace: {{ $.Values.namespace }} 20 | annotations: 21 | {{- if $val.internalLB }} 22 | service.beta.kubernetes.io/azure-load-balancer-internal: "true" 23 | {{- end }} 24 | external-dns.alpha.kubernetes.io/hostname: {{ $name }}.{{ $.Values.domain}} 25 | external-dns.alpha.kubernetes.io/internal-hostname: {{ $name }}-clusterip.{{ $.Values.domain }} 26 | spec: 27 | type: LoadBalancer 28 | ports: 29 | {{- range $val.containerPorts }} 30 | - name: {{ .name }} 31 | port: {{ .port }} 32 | {{- end }} 33 | selector: 34 | app: {{ $name }}-app 35 | --- 36 | {{ end }} 37 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-0.7.0/services/app/helm/templates/service.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | {{ range $name, $val := .Values.services }} 16 | apiVersion: v1 17 | kind: Service 18 | metadata: 19 | name: {{ $name }}-lb 20 | namespace: {{ $.Values.namespace }} 21 | annotations: 22 | {{- if $val.internalLB }} 23 | service.beta.kubernetes.io/azure-load-balancer-internal: "true" 24 | external-dns.alpha.kubernetes.io/hostname: {{ $name }}.{{ $.Values.domain}} 25 | external-dns.alpha.kubernetes.io/internal-hostname: {{ $name }}-clusterip.{{ $.Values.domain }} 26 | {{- end }} 27 | spec: 28 | type: LoadBalancer 29 | ports: 30 | {{- range $val.containerPorts }} 31 | - name: {{ .name }} 32 | port: {{ .port }} 33 | {{- end }} 34 | selector: 35 | app: {{ $name }}-app 36 | --- 37 | {{ end }} 38 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/app/helm/templates/service.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | {{ range $name, $val := .Values.services }} 16 | apiVersion: v1 17 | kind: Service 18 | metadata: 19 | name: {{ $name }}-lb 20 | namespace: {{ $.Values.namespace }} 21 | annotations: 22 | {{- if $val.internalLB }} 23 | service.beta.kubernetes.io/azure-load-balancer-internal: "true" 24 | external-dns.alpha.kubernetes.io/hostname: {{ $name }}.{{ $.Values.domain}} 25 | external-dns.alpha.kubernetes.io/internal-hostname: {{ $name }}-clusterip.{{ $.Values.domain }} 26 | {{- end }} 27 | spec: 28 | type: LoadBalancer 29 | ports: 30 | {{- range $val.containerPorts }} 31 | - name: {{ .name }} 32 | port: {{ .port }} 33 | {{- end }} 34 | selector: 35 | app: {{ $name }}-app 36 | --- 37 | {{ end }} 38 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/storage_account/main.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | ## Azure Storage Accounts requires a globally unique names 16 | ## https://docs.microsoft.com/en-us/azure/storage/common/storage-account-overview 17 | ## Create a File Storage Account 18 | resource "azurerm_storage_account" "this" { 19 | name = "${var.operator}${var.environment}${substr(var.frontend_service_name, 0, 3)}${var.region_short}storage" 20 | resource_group_name = var.resource_group_name 21 | location = var.region 22 | account_tier = "Standard" 23 | account_replication_type = "LRS" 24 | } 25 | 26 | resource "azurerm_storage_share" "this" { 27 | name = "data" 28 | storage_account_name = azurerm_storage_account.this.name 29 | quota = 5120 30 | } 31 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-3.11/services/keyvault/variables.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | variable "operator" { 15 | description = "Operator name used to identify the resource owner." 16 | type = string 17 | } 18 | 19 | variable "environment" { 20 | description = "Assigned environment name to group related resources." 21 | type = string 22 | } 23 | 24 | variable "frontend_service_name" { 25 | type = string 26 | } 27 | 28 | variable "region" { 29 | description = "Azure region" 30 | type = string 31 | } 32 | 33 | variable "region_short" { 34 | description = "Azure region shorthand" 35 | type = string 36 | } 37 | 38 | variable "resource_group_name" { 39 | description = "Resource group name" 40 | type = string 41 | } 42 | 43 | variable "virtual_node_identity_principal_id" { 44 | description = "Virtual Node identity principal ID" 45 | type = string 46 | } 47 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/keyvault/variables.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | variable "operator" { 15 | description = "Operator name used to identify the resource owner." 16 | type = string 17 | } 18 | 19 | variable "environment" { 20 | description = "Assigned environment name to group related resources." 21 | type = string 22 | } 23 | 24 | variable "frontend_service_name" { 25 | type = string 26 | } 27 | 28 | variable "region" { 29 | description = "Azure region" 30 | type = string 31 | } 32 | 33 | variable "region_short" { 34 | description = "Azure region shorthand" 35 | type = string 36 | } 37 | 38 | variable "resource_group_name" { 39 | description = "Resource group name" 40 | type = string 41 | } 42 | 43 | variable "virtual_node_identity_principal_id" { 44 | description = "Virtual Node identity principal ID" 45 | type = string 46 | } 47 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/monitoring/variables.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | variable "operator" { 16 | description = "Operator name used to identify the resource owner." 17 | type = string 18 | } 19 | 20 | variable "environment" { 21 | description = "Assigned environment name to group related resources." 22 | type = string 23 | } 24 | 25 | variable "region" { 26 | description = "Azure region" 27 | type = string 28 | } 29 | 30 | variable "region_short" { 31 | description = "Azure region shorthand" 32 | type = string 33 | } 34 | 35 | variable "resource_group_id" { 36 | description = "Resource group ID" 37 | type = string 38 | } 39 | 40 | variable "resource_group_name" { 41 | description = "Resource group name" 42 | type = string 43 | } 44 | 45 | variable "subscription_id" { 46 | description = "Azure subscription ID" 47 | type = string 48 | } 49 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/monitoring/variables.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | variable "operator" { 16 | description = "Operator name used to identify the resource owner." 17 | type = string 18 | } 19 | 20 | variable "environment" { 21 | description = "Assigned environment name to group related resources." 22 | type = string 23 | } 24 | 25 | variable "frontend_service_name" { 26 | type = string 27 | } 28 | 29 | variable "region" { 30 | description = "Azure region" 31 | type = string 32 | } 33 | 34 | variable "region_short" { 35 | description = "Azure region shorthand" 36 | type = string 37 | } 38 | 39 | variable "resource_group_id" { 40 | description = "Resource group ID" 41 | type = string 42 | } 43 | 44 | variable "resource_group_name" { 45 | description = "Resource group name" 46 | type = string 47 | } 48 | 49 | variable "subscription_id" { 50 | description = "Azure subscription ID" 51 | type = string 52 | } 53 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-0.7.0/services/app/helm/kv_services.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | namespace: "default" 16 | domain: "ad_selection.microsoft" 17 | services: 18 | kv: 19 | replicas: 1 20 | image: "mcr.microsoft.com/ad-selection/azure/key-value-service:prod-0.17.0.0" 21 | containerPorts: 22 | - name: grpc 23 | port: 50051 24 | healthCheck: {} 25 | resources: {} 26 | nodeSelector: {} 27 | volumeName: "data-vol" 28 | volumeMounts: 29 | - name: data-vol 30 | mountPath: /data 31 | env: 32 | PORT: "" 33 | HEALTHCHECK_PORT: "" 34 | AZURE_LOCAL_DATA_DIR: "" 35 | AZURE_LOCAL_REALTIME_DATA_DIR: "" 36 | env: 37 | PS_VERBOSITY: "" 38 | TELEMETRY_CONFIG: "" 39 | ENABLE_OTEL_BASED_LOGGING: "" 40 | AZURE_BA_PARAM_GET_TOKEN_URL: "" 41 | PUBLIC_KEY_ENDPOINT: "" 42 | PRIMARY_COORDINATOR_PRIVATE_KEY_ENDPOINT: "" 43 | AZURE_BA_PARAM_KMS_UNWRAP_URL: "" 44 | storageAccount: 45 | resourceGroup: "" 46 | name: "" 47 | fileShare: "" 48 | accessKey: "" 49 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/app/helm/kv_services.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | namespace: "default" 16 | domain: "ad_selection.microsoft" 17 | services: 18 | kv: 19 | replicas: 1 20 | image: "mcr.microsoft.com/ad-selection/azure/key-value-service:prod-1.0.0.0" 21 | containerPorts: 22 | - name: grpc 23 | port: 50051 24 | healthCheck: {} 25 | resources: {} 26 | nodeSelector: {} 27 | volumeName: "data-vol" 28 | volumeMounts: 29 | - name: data-vol 30 | mountPath: /data 31 | env: 32 | PORT: "" 33 | HEALTHCHECK_PORT: "" 34 | AZURE_LOCAL_DATA_DIR: "" 35 | AZURE_LOCAL_REALTIME_DATA_DIR: "" 36 | env: 37 | PS_VERBOSITY: "" 38 | TELEMETRY_CONFIG: "" 39 | ENABLE_OTEL_BASED_LOGGING: "" 40 | INSTRUMENTATION_KEY: "" 41 | AZURE_BA_PARAM_GET_TOKEN_URL: "" 42 | PUBLIC_KEY_ENDPOINT: "" 43 | PRIMARY_COORDINATOR_PRIVATE_KEY_ENDPOINT: "" 44 | AZURE_BA_PARAM_KMS_UNWRAP_URL: "" 45 | storageAccount: 46 | resourceGroup: "" 47 | name: "" 48 | fileShare: "" 49 | accessKey: "" 50 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/app/helm/templates/otel-config.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | apiVersion: v1 15 | kind: ConfigMap 16 | metadata: 17 | name: otel-collector-config 18 | data: 19 | otel-collector-config.yaml: | 20 | receivers: 21 | otlp: 22 | protocols: 23 | grpc: 24 | endpoint: 0.0.0.0:4317 25 | processors: 26 | batch: 27 | exporters: 28 | logging: 29 | verbosity: detailed 30 | azuremonitor: 31 | instrumentation_key: "${INSTRUMENTATION_KEY}" 32 | service: 33 | pipelines: 34 | traces: 35 | receivers: [otlp] 36 | processors: [batch] 37 | exporters: [azuremonitor] 38 | metrics: 39 | receivers: [otlp] 40 | processors: [batch] 41 | exporters: [azuremonitor] 42 | logs: 43 | receivers: [otlp] 44 | processors: [batch] 45 | exporters: [azuremonitor] 46 | telemetry: 47 | logs: 48 | level: "debug" 49 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-0.7.0/services/storage_account/main.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | ## Azure Storage Accounts requires a globally unique names 16 | ## https://docs.microsoft.com/en-us/azure/storage/common/storage-account-overview 17 | ## Create a File Storage Account 18 | resource "azurerm_storage_account" "this" { 19 | name = "${var.operator}${var.environment}${var.region_short}storage" 20 | resource_group_name = var.resource_group_name 21 | location = var.region 22 | account_tier = "Standard" 23 | account_replication_type = "LRS" 24 | } 25 | 26 | resource "azurerm_storage_share" "this" { 27 | name = "fslogix" 28 | storage_account_name = azurerm_storage_account.this.name 29 | quota = 5120 30 | } 31 | 32 | resource "azurerm_storage_share_directory" "deltas" { 33 | name = "deltas" 34 | storage_share_id = azurerm_storage_share.this.id 35 | } 36 | 37 | resource "azurerm_storage_share_directory" "realtime" { 38 | name = "realtime" 39 | storage_share_id = azurerm_storage_share.this.id 40 | } 41 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/storage_account/main.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | ## Azure Storage Accounts requires a globally unique names 16 | ## https://docs.microsoft.com/en-us/azure/storage/common/storage-account-overview 17 | ## Create a File Storage Account 18 | resource "azurerm_storage_account" "this" { 19 | name = "${var.operator}${var.environment}${var.region_short}storage" 20 | resource_group_name = var.resource_group_name 21 | location = var.region 22 | account_tier = "Standard" 23 | account_replication_type = "LRS" 24 | } 25 | 26 | resource "azurerm_storage_share" "this" { 27 | name = "fslogix" 28 | storage_account_name = azurerm_storage_account.this.name 29 | quota = 5120 30 | } 31 | 32 | resource "azurerm_storage_share_directory" "deltas" { 33 | name = "deltas" 34 | storage_share_id = azurerm_storage_share.this.id 35 | } 36 | 37 | resource "azurerm_storage_share_directory" "realtime" { 38 | name = "realtime" 39 | storage_share_id = azurerm_storage_share.this.id 40 | } 41 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/app/helm/templates/otel-config.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | apiVersion: v1 16 | kind: ConfigMap 17 | metadata: 18 | name: otel-collector-config 19 | namespace: {{ $.Values.namespace }} 20 | data: 21 | otel-collector-config.yaml: | 22 | receivers: 23 | otlp: 24 | protocols: 25 | grpc: 26 | endpoint: 0.0.0.0:4317 27 | processors: 28 | batch: 29 | exporters: 30 | logging: 31 | verbosity: detailed 32 | azuremonitor: 33 | instrumentation_key: "${INSTRUMENTATION_KEY}" 34 | service: 35 | pipelines: 36 | traces: 37 | receivers: [otlp] 38 | processors: [batch] 39 | exporters: [azuremonitor] 40 | metrics: 41 | receivers: [otlp] 42 | processors: [batch] 43 | exporters: [azuremonitor] 44 | logs: 45 | receivers: [otlp] 46 | processors: [batch] 47 | exporters: [azuremonitor] 48 | telemetry: 49 | logs: 50 | level: "debug" 51 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/app/helm/templates/otel-deployment.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | apiVersion: apps/v1 15 | kind: Deployment 16 | metadata: 17 | name: otel-collector 18 | labels: 19 | app: otel-collector 20 | spec: 21 | replicas: 1 22 | selector: 23 | matchLabels: 24 | app: otel-collector 25 | template: 26 | metadata: 27 | labels: 28 | app: otel-collector 29 | spec: 30 | containers: 31 | # OpenTelemetry Collector sidecar container 32 | - name: otel-collector 33 | image: otel/opentelemetry-collector-contrib:0.81.0 34 | env: 35 | - name: INSTRUMENTATION_KEY 36 | valueFrom: 37 | secretKeyRef: 38 | name: instrumentation-key-secret 39 | key: instrumentation_key 40 | args: ["--config=/etc/otel/otel-config.yaml"] 41 | volumeMounts: 42 | - name: otel-config-volume 43 | mountPath: /etc/otel/otel-config.yaml 44 | subPath: otel-collector-config.yaml 45 | ports: 46 | - containerPort: 4317 # gRPC 47 | volumes: 48 | - name: otel-config-volume 49 | configMap: 50 | name: otel-collector-config 51 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-0.7.0/services/networking/variables.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | variable "operator" { 16 | description = "Operator name used to identify the resource owner." 17 | type = string 18 | } 19 | 20 | variable "environment" { 21 | description = "Assigned environment name to group related resources." 22 | type = string 23 | } 24 | 25 | variable "region" { 26 | description = "Azure region" 27 | type = string 28 | } 29 | 30 | variable "region_short" { 31 | description = "Azure region shorthand" 32 | type = string 33 | } 34 | 35 | variable "vnet_address_space" { 36 | description = "VNET address space" 37 | type = string 38 | default = "10.0.0.0/14" 39 | } 40 | 41 | variable "default_subnet_cidr" { 42 | description = "Default subnet CIDR" 43 | type = string 44 | default = "10.0.0.0/24" 45 | } 46 | 47 | variable "aks_subnet_cidr" { 48 | description = "AKS subnet CIDR" 49 | type = string 50 | default = "10.1.0.0/16" 51 | } 52 | 53 | variable "cg_subnet_cidr" { 54 | description = "Container groups subnet CIDR" 55 | type = string 56 | default = "10.2.0.0/16" 57 | } 58 | 59 | variable "resource_group_name" { 60 | description = "Resource group name" 61 | type = string 62 | } 63 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/networking/variables.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | variable "operator" { 16 | description = "Operator name used to identify the resource owner." 17 | type = string 18 | } 19 | 20 | variable "environment" { 21 | description = "Assigned environment name to group related resources." 22 | type = string 23 | } 24 | 25 | variable "region" { 26 | description = "Azure region" 27 | type = string 28 | } 29 | 30 | variable "region_short" { 31 | description = "Azure region shorthand" 32 | type = string 33 | } 34 | 35 | variable "vnet_address_space" { 36 | description = "VNET address space" 37 | type = string 38 | default = "10.0.0.0/14" 39 | } 40 | 41 | variable "default_subnet_cidr" { 42 | description = "Default subnet CIDR" 43 | type = string 44 | default = "10.0.0.0/24" 45 | } 46 | 47 | variable "aks_subnet_cidr" { 48 | description = "AKS subnet CIDR" 49 | type = string 50 | default = "10.1.0.0/16" 51 | } 52 | 53 | variable "cg_subnet_cidr" { 54 | description = "Container groups subnet CIDR" 55 | type = string 56 | default = "10.2.0.0/16" 57 | } 58 | 59 | variable "resource_group_name" { 60 | description = "Resource group name" 61 | type = string 62 | } 63 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/app/helm/templates/otel-deployment.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | apiVersion: apps/v1 16 | kind: Deployment 17 | metadata: 18 | name: otel-collector 19 | namespace: {{ $.Values.namespace }} 20 | labels: 21 | app: otel-collector 22 | spec: 23 | replicas: 1 24 | selector: 25 | matchLabels: 26 | app: otel-collector 27 | template: 28 | metadata: 29 | labels: 30 | app: otel-collector 31 | spec: 32 | containers: 33 | # OpenTelemetry Collector sidecar container 34 | - name: otel-collector 35 | image: otel/opentelemetry-collector-contrib:0.81.0 36 | env: 37 | - name: INSTRUMENTATION_KEY 38 | valueFrom: 39 | secretKeyRef: 40 | name: instrumentation-key-secret 41 | key: instrumentation_key 42 | args: ["--config=/etc/otel/otel-config.yaml"] 43 | volumeMounts: 44 | - name: otel-config-volume 45 | mountPath: /etc/otel/otel-config.yaml 46 | subPath: otel-collector-config.yaml 47 | ports: 48 | - containerPort: 4317 # gRPC 49 | volumes: 50 | - name: otel-config-volume 51 | configMap: 52 | name: otel-collector-config 53 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-0.7.0/services/app/helm/templates/pv.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | apiVersion: v1 16 | kind: PersistentVolume 17 | metadata: 18 | annotations: 19 | pv.kubernetes.io/provisioned-by: file.csi.azure.com 20 | name: azurefile 21 | spec: 22 | capacity: 23 | storage: 5Gi 24 | accessModes: 25 | - ReadWriteMany 26 | persistentVolumeReclaimPolicy: Retain 27 | storageClassName: azurefile-csi 28 | csi: 29 | driver: file.csi.azure.com 30 | volumeHandle: {{ .Values.storageAccount.resourceGroup }}#{{ .Values.storageAccount.name }}#{{ .Values.storageAccount.fileShare }} # make sure this volumeid is unique for every identical share in the cluster 31 | volumeAttributes: 32 | resourceGroup: {{ .Values.storageAccount.resourceGroup }} # optional, only set this when storage account is not in the same resource group as node 33 | sharename: {{ .Values.storageAccount.fileShare }} 34 | nodeStageSecretRef: 35 | name: {{ .Values.storageAccount.name }}-secret 36 | namespace: default 37 | mountOptions: 38 | - dir_mode=0777 39 | - file_mode=0777 40 | - uid=0 41 | - gid=0 42 | - mfsymlinks 43 | - cache=strict 44 | - nosharesock 45 | - nobrl # disable sending byte range lock requests to the server and for applications which have challenges with posix locks 46 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/app/helm/templates/pv.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | apiVersion: v1 16 | kind: PersistentVolume 17 | metadata: 18 | annotations: 19 | pv.kubernetes.io/provisioned-by: file.csi.azure.com 20 | name: azurefile 21 | spec: 22 | capacity: 23 | storage: 5Gi 24 | accessModes: 25 | - ReadWriteMany 26 | persistentVolumeReclaimPolicy: Retain 27 | storageClassName: azurefile-csi 28 | csi: 29 | driver: file.csi.azure.com 30 | volumeHandle: {{ .Values.storageAccount.resourceGroup }}#{{ .Values.storageAccount.name }}#{{ .Values.storageAccount.fileShare }} # make sure this volumeid is unique for every identical share in the cluster 31 | volumeAttributes: 32 | resourceGroup: {{ .Values.storageAccount.resourceGroup }} # optional, only set this when storage account is not in the same resource group as node 33 | sharename: {{ .Values.storageAccount.fileShare }} 34 | nodeStageSecretRef: 35 | name: {{ .Values.storageAccount.name }}-secret 36 | namespace: default 37 | mountOptions: 38 | - dir_mode=0777 39 | - file_mode=0777 40 | - uid=0 41 | - gid=0 42 | - mfsymlinks 43 | - cache=strict 44 | - nosharesock 45 | - nobrl # disable sending byte range lock requests to the server and for applications which have challenges with posix locks 46 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-0.7.0/services/app/helm/Chart.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | apiVersion: v2 16 | name: kv_service 17 | description: Helm chart for deploying key value service in Kubernetes 18 | 19 | # A chart can be either an 'application' or a 'library' chart. 20 | # 21 | # Application charts are a collection of templates that can be packaged into versioned archives 22 | # to be deployed. 23 | # 24 | # Library charts provide useful utilities or functions for the chart developer. They're included as 25 | # a dependency of application charts to inject those utilities and functions into the rendering 26 | # pipeline. Library charts do not define any templates and therefore cannot be deployed. 27 | type: application 28 | 29 | # This is the chart version. This version number should be incremented each time you make changes 30 | # to the chart and its templates, including the app version. 31 | # Versions are expected to follow Semantic Versioning (https://semver.org/) 32 | version: 0.1.0 33 | 34 | # This is the version number of the application being deployed. This version number should be 35 | # incremented each time you make changes to the application. Versions are not expected to 36 | # follow Semantic Versioning. They should reflect the version the application is using. 37 | # It is recommended to use it with quotes. 38 | appVersion: "0.17.0.0" 39 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/app/helm/Chart.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | apiVersion: v2 16 | name: kv_service 17 | description: Helm chart for deploying key value service in Kubernetes 18 | 19 | # A chart can be either an 'application' or a 'library' chart. 20 | # 21 | # Application charts are a collection of templates that can be packaged into versioned archives 22 | # to be deployed. 23 | # 24 | # Library charts provide useful utilities or functions for the chart developer. They're included as 25 | # a dependency of application charts to inject those utilities and functions into the rendering 26 | # pipeline. Library charts do not define any templates and therefore cannot be deployed. 27 | type: application 28 | 29 | # This is the chart version. This version number should be incremented each time you make changes 30 | # to the chart and its templates, including the app version. 31 | # Versions are expected to follow Semantic Versioning (https://semver.org/) 32 | version: 0.1.0 33 | 34 | # This is the version number of the application being deployed. This version number should be 35 | # incremented each time you make changes to the application. Versions are not expected to 36 | # follow Semantic Versioning. They should reflect the version the application is using. 37 | # It is recommended to use it with quotes. 38 | appVersion: "0.17.0.0" 39 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-3.11/services/app/helm/Chart.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | apiVersion: v2 16 | name: ba_services 17 | description: Helm chart for deploying buyer/seller services in Kubernetes 18 | 19 | # A chart can be either an 'application' or a 'library' chart. 20 | # 21 | # Application charts are a collection of templates that can be packaged into versioned archives 22 | # to be deployed. 23 | # 24 | # Library charts provide useful utilities or functions for the chart developer. They're included as 25 | # a dependency of application charts to inject those utilities and functions into the rendering 26 | # pipeline. Library charts do not define any templates and therefore cannot be deployed. 27 | type: application 28 | 29 | # This is the chart version. This version number should be incremented each time you make changes 30 | # to the chart and its templates, including the app version. 31 | # Versions are expected to follow Semantic Versioning (https://semver.org/) 32 | version: 0.0.1 33 | 34 | # This is the version number of the application being deployed. This version number should be 35 | # incremented each time you make changes to the application. Versions are not expected to 36 | # follow Semantic Versioning. They should reflect the version the application is using. 37 | # It is recommended to use it with quotes. 38 | appVersion: "0.0.1" 39 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/app/helm/Chart.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | apiVersion: v2 16 | name: ba_services 17 | description: Helm chart for deploying buyer/seller services in Kubernetes 18 | 19 | # A chart can be either an 'application' or a 'library' chart. 20 | # 21 | # Application charts are a collection of templates that can be packaged into versioned archives 22 | # to be deployed. 23 | # 24 | # Library charts provide useful utilities or functions for the chart developer. They're included as 25 | # a dependency of application charts to inject those utilities and functions into the rendering 26 | # pipeline. Library charts do not define any templates and therefore cannot be deployed. 27 | type: application 28 | 29 | # This is the chart version. This version number should be incremented each time you make changes 30 | # to the chart and its templates, including the app version. 31 | # Versions are expected to follow Semantic Versioning (https://semver.org/) 32 | version: 0.0.1 33 | 34 | # This is the version number of the application being deployed. This version number should be 35 | # incremented each time you make changes to the application. Versions are not expected to 36 | # follow Semantic Versioning. They should reflect the version the application is using. 37 | # It is recommended to use it with quotes. 38 | appVersion: "0.0.1" 39 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/app/helm/templates/pv.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | apiVersion: v1 16 | kind: PersistentVolume 17 | metadata: 18 | annotations: 19 | pv.kubernetes.io/provisioned-by: file.csi.azure.com 20 | name: kv-pv 21 | spec: 22 | capacity: 23 | storage: 5Gi 24 | accessModes: 25 | - ReadOnlyMany 26 | persistentVolumeReclaimPolicy: Retain 27 | storageClassName: azurefile-csi 28 | csi: 29 | driver: file.csi.azure.com 30 | volumeHandle: {{ .Values.storageAccount.resourceGroup }}#{{ .Values.storageAccount.name }}#{{ .Values.storageAccount.fileShare }} # make sure this volumeid is unique for every identical share in the cluster 31 | volumeAttributes: 32 | resourceGroup: {{ .Values.storageAccount.resourceGroup }} # optional, only set this when storage account is not in the same resource group as node 33 | sharename: {{ .Values.storageAccount.fileShare }} 34 | nodeStageSecretRef: 35 | name: {{ .Values.storageAccount.name }}-secret 36 | namespace: {{ $.Values.namespace }} 37 | mountOptions: 38 | - dir_mode=0777 39 | - file_mode=0777 40 | - uid=0 41 | - gid=0 42 | - mfsymlinks 43 | - cache=strict 44 | - nosharesock 45 | - nobrl # disable sending byte range lock requests to the server and for applications which have challenges with posix locks 46 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/networking/variables.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | variable "operator" { 16 | description = "Operator name used to identify the resource owner." 17 | type = string 18 | } 19 | 20 | variable "environment" { 21 | description = "Assigned environment name to group related resources." 22 | type = string 23 | } 24 | 25 | variable "frontend_service_name" { 26 | type = string 27 | } 28 | 29 | variable "region" { 30 | description = "Azure region" 31 | type = string 32 | } 33 | 34 | variable "region_short" { 35 | description = "Azure region shorthand" 36 | type = string 37 | } 38 | 39 | variable "vnet_address_space" { 40 | description = "VNET address space" 41 | type = string 42 | default = "10.0.0.0/14" 43 | } 44 | 45 | variable "default_subnet_cidr" { 46 | description = "Default subnet CIDR" 47 | type = string 48 | default = "10.0.0.0/24" 49 | } 50 | 51 | variable "aks_subnet_cidr" { 52 | description = "AKS subnet CIDR" 53 | type = string 54 | default = "10.1.0.0/16" 55 | } 56 | 57 | variable "cg_subnet_cidr" { 58 | description = "Container groups subnet CIDR" 59 | type = string 60 | default = "10.2.0.0/16" 61 | } 62 | 63 | variable "resource_group_name" { 64 | description = "Resource group name" 65 | type = string 66 | } 67 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-3.11/services/networking/variables.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | variable "operator" { 16 | description = "Operator name used to identify the resource owner." 17 | type = string 18 | } 19 | 20 | variable "environment" { 21 | description = "Assigned environment name to group related resources." 22 | type = string 23 | } 24 | 25 | variable "frontend_service_name" { 26 | type = string 27 | } 28 | 29 | variable "region" { 30 | description = "Azure region" 31 | type = string 32 | } 33 | 34 | variable "region_short" { 35 | description = "Azure region shorthand" 36 | type = string 37 | } 38 | 39 | variable "vnet_address_space" { 40 | description = "VNET address space" 41 | type = string 42 | default = "10.0.0.0/14" 43 | } 44 | 45 | variable "default_subnet_cidr" { 46 | description = "Default subnet CIDR" 47 | type = string 48 | default = "10.0.0.0/24" 49 | } 50 | 51 | variable "aks_subnet_cidr" { 52 | description = "AKS subnet CIDR" 53 | type = string 54 | default = "10.1.0.0/16" 55 | } 56 | 57 | variable "cg_subnet_cidr" { 58 | description = "Container groups subnet CIDR" 59 | type = string 60 | default = "10.2.0.0/16" 61 | } 62 | 63 | variable "resource_group_name" { 64 | description = "Resource group name" 65 | type = string 66 | } 67 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/storage_account/variables.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | variable "operator" { 16 | description = "Operator" 17 | type = string 18 | 19 | validation { 20 | condition = can(regex("^[a-zA-Z0-9]*$", var.operator)) 21 | error_message = "The input_variable can only contain alphanumeric characters (a-z, A-Z, 0-9)." 22 | } 23 | } 24 | 25 | variable "environment" { 26 | description = "Environment" 27 | type = string 28 | 29 | validation { 30 | condition = can(regex("^[a-zA-Z0-9]*$", var.environment)) 31 | error_message = "The input_variable can only contain alphanumeric characters (a-z, A-Z, 0-9)." 32 | } 33 | } 34 | 35 | variable "region" { 36 | description = "Azure region" 37 | type = string 38 | 39 | validation { 40 | condition = can(regex("^[a-zA-Z0-9]*$", var.region)) 41 | error_message = "The input_variable can only contain alphanumeric characters (a-z, A-Z, 0-9)." 42 | } 43 | } 44 | 45 | variable "region_short" { 46 | description = "Azure region short name" 47 | type = string 48 | 49 | validation { 50 | condition = can(regex("^[a-zA-Z0-9]*$", var.region_short)) 51 | error_message = "The input_variable can only contain alphanumeric characters (a-z, A-Z, 0-9)." 52 | } 53 | } 54 | 55 | variable "resource_group_name" { 56 | description = "Resource group name" 57 | type = string 58 | } 59 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-0.7.0/services/storage_account/variables.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | variable "operator" { 16 | description = "Operator" 17 | type = string 18 | 19 | validation { 20 | condition = can(regex("^[a-zA-Z0-9]*$", var.operator)) 21 | error_message = "The input_variable can only contain alphanumeric characters (a-z, A-Z, 0-9)." 22 | } 23 | } 24 | 25 | variable "environment" { 26 | description = "Environment" 27 | type = string 28 | 29 | validation { 30 | condition = can(regex("^[a-zA-Z0-9]*$", var.environment)) 31 | error_message = "The input_variable can only contain alphanumeric characters (a-z, A-Z, 0-9)." 32 | } 33 | } 34 | 35 | variable "region" { 36 | description = "Azure region" 37 | type = string 38 | 39 | validation { 40 | condition = can(regex("^[a-zA-Z0-9]*$", var.region)) 41 | error_message = "The input_variable can only contain alphanumeric characters (a-z, A-Z, 0-9)." 42 | } 43 | } 44 | 45 | variable "region_short" { 46 | description = "Azure region short name" 47 | type = string 48 | 49 | validation { 50 | condition = can(regex("^[a-zA-Z0-9]*$", var.region_short)) 51 | error_message = "The input_variable can only contain alphanumeric characters (a-z, A-Z, 0-9)." 52 | } 53 | } 54 | 55 | variable "resource_group_name" { 56 | description = "Resource group name" 57 | type = string 58 | } 59 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-3.11/services/app/variables.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | variable "aks_cluster_name" { 16 | description = "Azure Kubernetes Service cluster name" 17 | type = string 18 | } 19 | 20 | variable "kubernetes_namespace" { 21 | description = "Virtual Node namespace" 22 | type = string 23 | default = "default" 24 | } 25 | 26 | variable "resource_group_name" { 27 | description = "Resource group name" 28 | type = string 29 | } 30 | 31 | variable "side" { 32 | description = "Whether buyer or seller" 33 | type = string 34 | } 35 | 36 | variable "key_vault_name" { 37 | description = "Key Vault" 38 | type = string 39 | } 40 | 41 | variable "sfe_certificate_name" { 42 | description = "SFE Certificate name" 43 | type = string 44 | } 45 | 46 | variable "containers" { 47 | description = "Containers to deploy" 48 | type = list(object({ 49 | name = string 50 | image = string 51 | ccepolicy = string 52 | replicas = number 53 | resources = object({ 54 | requests = map(string) 55 | limits = map(string) 56 | }) 57 | runtime_flags = map(string) 58 | })) 59 | } 60 | 61 | variable "virtual_node_identity_id" { 62 | description = "Virtual Node managed identity id" 63 | type = string 64 | } 65 | variable "global_runtime_flags" { 66 | description = "Global runtime flags" 67 | type = map(string) 68 | } 69 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/storage_account/variables.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | variable "operator" { 16 | description = "Operator" 17 | type = string 18 | 19 | validation { 20 | condition = can(regex("^[a-zA-Z0-9]*$", var.operator)) 21 | error_message = "The input_variable can only contain alphanumeric characters (a-z, A-Z, 0-9)." 22 | } 23 | } 24 | 25 | variable "environment" { 26 | description = "Environment" 27 | type = string 28 | 29 | validation { 30 | condition = can(regex("^[a-zA-Z0-9]*$", var.environment)) 31 | error_message = "The input_variable can only contain alphanumeric characters (a-z, A-Z, 0-9)." 32 | } 33 | } 34 | 35 | variable "region" { 36 | description = "Azure region" 37 | type = string 38 | 39 | validation { 40 | condition = can(regex("^[a-zA-Z0-9]*$", var.region)) 41 | error_message = "The input_variable can only contain alphanumeric characters (a-z, A-Z, 0-9)." 42 | } 43 | } 44 | 45 | variable "region_short" { 46 | description = "Azure region short name" 47 | type = string 48 | 49 | validation { 50 | condition = can(regex("^[a-zA-Z0-9]*$", var.region_short)) 51 | error_message = "The input_variable can only contain alphanumeric characters (a-z, A-Z, 0-9)." 52 | } 53 | } 54 | 55 | variable "resource_group_name" { 56 | description = "Resource group name" 57 | type = string 58 | } 59 | variable "frontend_service_name" { 60 | type = string 61 | } 62 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-0.7.0/services/app/variables.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | variable "aks_cluster_name" { 16 | description = "Azure Kubernetes Service cluster name" 17 | type = string 18 | } 19 | 20 | variable "kubernetes_namespace" { 21 | description = "Virtual Node namespace" 22 | type = string 23 | default = "default" 24 | } 25 | 26 | variable "resource_group_name" { 27 | description = "Resource group name" 28 | type = string 29 | } 30 | 31 | variable "containers" { 32 | description = "Containers to deploy" 33 | type = list(object({ 34 | name = string 35 | image = string 36 | ccepolicy = string 37 | replicas = number 38 | resources = object({ 39 | requests = map(string) 40 | limits = map(string) 41 | }) 42 | runtime_flags = map(string) 43 | })) 44 | } 45 | 46 | variable "virtual_node_identity_id" { 47 | description = "Virtual Node managed identity id" 48 | type = string 49 | } 50 | variable "global_runtime_flags" { 51 | description = "Global runtime flags" 52 | type = map(string) 53 | } 54 | 55 | variable "storage_account_name" { 56 | description = "Storage account name" 57 | type = string 58 | } 59 | 60 | variable "file_share_name" { 61 | description = "File share name" 62 | type = string 63 | } 64 | 65 | variable "storage_account_access_key" { 66 | description = "Storage account access key" 67 | type = string 68 | sensitive = true 69 | } 70 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-0.7.0/modules/kv-service/service_vars.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | # Variables related to environment configuration. 16 | variable "containers" { 17 | description = "Containers to deploy" 18 | type = list(object({ 19 | name = string 20 | image = string 21 | ccepolicy = string 22 | replicas = number 23 | resources = object({ 24 | requests = map(string) 25 | limits = map(string) 26 | }) 27 | runtime_flags = map(string) 28 | })) 29 | } 30 | variable "environment" { 31 | description = "Assigned environment name to group related resources." 32 | type = string 33 | validation { 34 | condition = length(var.environment) <= 10 35 | error_message = "Due to current naming scheme limitations, environment must not be longer than 10." 36 | } 37 | } 38 | 39 | variable "operator" { 40 | description = "Operator name used to identify the resource owner." 41 | type = string 42 | } 43 | 44 | variable "region" { 45 | description = "Azure region" 46 | type = string 47 | } 48 | 49 | variable "tenant_id" { 50 | description = "Azure tenant ID" 51 | type = string 52 | } 53 | 54 | variable "subscription_id" { 55 | description = "Azure subscription ID" 56 | type = string 57 | } 58 | 59 | variable "node_pool_settings" { 60 | description = "Node pool settings" 61 | type = object({ 62 | node_count = number 63 | vm_size = string 64 | }) 65 | } 66 | 67 | variable "global_runtime_flags" { 68 | description = "Global runtime flags" 69 | type = map(string) 70 | } 71 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-0.7.0/services/networking/main.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | resource "azurerm_virtual_network" "vnet" { 16 | name = "${var.operator}-${var.environment}-${var.region}-kv-service-vnet" 17 | address_space = [var.vnet_address_space] 18 | location = var.region 19 | resource_group_name = var.resource_group_name 20 | } 21 | 22 | resource "azurerm_subnet" "default" { 23 | name = "default" 24 | resource_group_name = var.resource_group_name 25 | virtual_network_name = azurerm_virtual_network.vnet.name 26 | address_prefixes = [var.default_subnet_cidr] 27 | 28 | depends_on = [ 29 | azurerm_virtual_network.vnet, 30 | ] 31 | } 32 | 33 | resource "azurerm_subnet" "aks" { 34 | name = "aks" 35 | resource_group_name = var.resource_group_name 36 | virtual_network_name = azurerm_virtual_network.vnet.name 37 | address_prefixes = [var.aks_subnet_cidr] 38 | 39 | depends_on = [ 40 | azurerm_virtual_network.vnet, 41 | ] 42 | } 43 | 44 | resource "azurerm_subnet" "cg" { 45 | name = "cg" 46 | resource_group_name = var.resource_group_name 47 | virtual_network_name = azurerm_virtual_network.vnet.name 48 | address_prefixes = [var.cg_subnet_cidr] 49 | 50 | delegation { 51 | name = "delegation" 52 | service_delegation { 53 | name = "Microsoft.ContainerInstance/containerGroups" 54 | actions = ["Microsoft.Network/virtualNetworks/subnets/action"] 55 | } 56 | } 57 | 58 | depends_on = [ 59 | azurerm_virtual_network.vnet, 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/networking/main.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | resource "azurerm_virtual_network" "vnet" { 16 | name = "${var.operator}-${var.environment}-${var.region_short}-kv-service-vnet" 17 | address_space = [var.vnet_address_space] 18 | location = var.region 19 | resource_group_name = var.resource_group_name 20 | } 21 | 22 | resource "azurerm_subnet" "default" { 23 | name = "default" 24 | resource_group_name = var.resource_group_name 25 | virtual_network_name = azurerm_virtual_network.vnet.name 26 | address_prefixes = [var.default_subnet_cidr] 27 | 28 | depends_on = [ 29 | azurerm_virtual_network.vnet, 30 | ] 31 | } 32 | 33 | resource "azurerm_subnet" "aks" { 34 | name = "aks" 35 | resource_group_name = var.resource_group_name 36 | virtual_network_name = azurerm_virtual_network.vnet.name 37 | address_prefixes = [var.aks_subnet_cidr] 38 | 39 | depends_on = [ 40 | azurerm_virtual_network.vnet, 41 | ] 42 | } 43 | 44 | resource "azurerm_subnet" "cg" { 45 | name = "cg" 46 | resource_group_name = var.resource_group_name 47 | virtual_network_name = azurerm_virtual_network.vnet.name 48 | address_prefixes = [var.cg_subnet_cidr] 49 | 50 | delegation { 51 | name = "delegation" 52 | service_delegation { 53 | name = "Microsoft.ContainerInstance/containerGroups" 54 | actions = ["Microsoft.Network/virtualNetworks/subnets/action"] 55 | } 56 | } 57 | 58 | depends_on = [ 59 | azurerm_virtual_network.vnet, 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-3.11/services/networking/main.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | resource "azurerm_virtual_network" "vnet" { 16 | name = "${var.operator}-${var.environment}-${var.frontend_service_name}-${var.region_short}-vnet" 17 | address_space = [var.vnet_address_space] 18 | location = var.region 19 | resource_group_name = var.resource_group_name 20 | } 21 | 22 | resource "azurerm_subnet" "default" { 23 | name = "default" 24 | resource_group_name = var.resource_group_name 25 | virtual_network_name = azurerm_virtual_network.vnet.name 26 | address_prefixes = [var.default_subnet_cidr] 27 | 28 | depends_on = [ 29 | azurerm_virtual_network.vnet, 30 | ] 31 | } 32 | 33 | resource "azurerm_subnet" "aks" { 34 | name = "aks" 35 | resource_group_name = var.resource_group_name 36 | virtual_network_name = azurerm_virtual_network.vnet.name 37 | address_prefixes = [var.aks_subnet_cidr] 38 | 39 | depends_on = [ 40 | azurerm_virtual_network.vnet, 41 | ] 42 | } 43 | 44 | resource "azurerm_subnet" "cg" { 45 | name = "cg" 46 | resource_group_name = var.resource_group_name 47 | virtual_network_name = azurerm_virtual_network.vnet.name 48 | address_prefixes = [var.cg_subnet_cidr] 49 | 50 | delegation { 51 | name = "delegation" 52 | service_delegation { 53 | name = "Microsoft.ContainerInstance/containerGroups" 54 | actions = ["Microsoft.Network/virtualNetworks/subnets/action"] 55 | } 56 | } 57 | 58 | depends_on = [ 59 | azurerm_virtual_network.vnet, 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/networking/main.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | resource "azurerm_virtual_network" "vnet" { 16 | name = "${var.operator}-${var.environment}-${var.frontend_service_name}-${var.region_short}-vnet" 17 | address_space = [var.vnet_address_space] 18 | location = var.region 19 | resource_group_name = var.resource_group_name 20 | } 21 | 22 | resource "azurerm_subnet" "default" { 23 | name = "default" 24 | resource_group_name = var.resource_group_name 25 | virtual_network_name = azurerm_virtual_network.vnet.name 26 | address_prefixes = [var.default_subnet_cidr] 27 | 28 | depends_on = [ 29 | azurerm_virtual_network.vnet, 30 | ] 31 | } 32 | 33 | resource "azurerm_subnet" "aks" { 34 | name = "aks" 35 | resource_group_name = var.resource_group_name 36 | virtual_network_name = azurerm_virtual_network.vnet.name 37 | address_prefixes = [var.aks_subnet_cidr] 38 | 39 | depends_on = [ 40 | azurerm_virtual_network.vnet, 41 | ] 42 | } 43 | 44 | resource "azurerm_subnet" "cg" { 45 | name = "cg" 46 | resource_group_name = var.resource_group_name 47 | virtual_network_name = azurerm_virtual_network.vnet.name 48 | address_prefixes = [var.cg_subnet_cidr] 49 | 50 | delegation { 51 | name = "delegation" 52 | service_delegation { 53 | name = "Microsoft.ContainerInstance/containerGroups" 54 | actions = ["Microsoft.Network/virtualNetworks/subnets/action"] 55 | } 56 | } 57 | 58 | depends_on = [ 59 | azurerm_virtual_network.vnet, 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/aks/variables.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | variable "operator" { 16 | description = "Operator name used to identify the resource owner." 17 | type = string 18 | } 19 | 20 | variable "environment" { 21 | description = "Assigned environment name to group related resources." 22 | type = string 23 | } 24 | 25 | variable "region" { 26 | description = "Azure region" 27 | type = string 28 | } 29 | 30 | variable "region_short" { 31 | description = "Azure region shorthand" 32 | type = string 33 | } 34 | 35 | variable "resource_group_id" { 36 | description = "Resource group ID" 37 | type = string 38 | } 39 | 40 | variable "resource_group_name" { 41 | description = "Resource group name" 42 | type = string 43 | } 44 | 45 | variable "kubernetes_version" { 46 | description = "Kubernetes version" 47 | type = string 48 | default = "1.28.12" 49 | } 50 | 51 | variable "service_cidr" { 52 | description = "Service CIDR" 53 | type = string 54 | default = "10.4.0.0/16" 55 | } 56 | 57 | variable "dns_service_ip" { 58 | description = "DNS service IP" 59 | type = string 60 | default = "10.4.0.10" 61 | } 62 | 63 | variable "subnet_id" { 64 | description = "Subnet ID" 65 | type = string 66 | } 67 | 68 | variable "virtual_network_id" { 69 | description = "Virtual network ID" 70 | type = string 71 | } 72 | 73 | variable "node_pool_settings" { 74 | description = "Node pool settings" 75 | type = object({ 76 | node_count = number 77 | vm_size = string 78 | }) 79 | } 80 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-0.7.0/services/aks/variables.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | variable "operator" { 16 | description = "Operator name used to identify the resource owner." 17 | type = string 18 | } 19 | 20 | variable "environment" { 21 | description = "Assigned environment name to group related resources." 22 | type = string 23 | } 24 | 25 | variable "region" { 26 | description = "Azure region" 27 | type = string 28 | } 29 | 30 | variable "region_short" { 31 | description = "Azure region shorthand" 32 | type = string 33 | } 34 | 35 | variable "resource_group_id" { 36 | description = "Resource group ID" 37 | type = string 38 | } 39 | 40 | variable "resource_group_name" { 41 | description = "Resource group name" 42 | type = string 43 | } 44 | 45 | variable "kubernetes_version" { 46 | description = "Kubernetes version" 47 | type = string 48 | default = "1.28.12" 49 | } 50 | 51 | variable "service_cidr" { 52 | description = "Service CIDR" 53 | type = string 54 | default = "10.4.0.0/16" 55 | } 56 | 57 | variable "dns_service_ip" { 58 | description = "DNS service IP" 59 | type = string 60 | default = "10.4.0.10" 61 | } 62 | 63 | variable "subnet_id" { 64 | description = "Subnet ID" 65 | type = string 66 | } 67 | 68 | variable "virtual_network_id" { 69 | description = "Virtual network ID" 70 | type = string 71 | } 72 | 73 | variable "node_pool_settings" { 74 | description = "Node pool settings" 75 | type = object({ 76 | node_count = number 77 | vm_size = string 78 | }) 79 | } 80 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/external_dns/variables.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | variable "region" { 16 | description = "Azure region" 17 | type = string 18 | } 19 | 20 | variable "private_domain_name" { 21 | description = "Azure Private DNS domain name" 22 | type = string 23 | default = "ad_selection.microsoft" 24 | } 25 | 26 | variable "resource_group_id" { 27 | description = "Resource group ID" 28 | type = string 29 | } 30 | 31 | variable "resource_group_name" { 32 | description = "Resource group name" 33 | type = string 34 | } 35 | 36 | variable "vnet_id" { 37 | description = "Virtual network ID" 38 | type = string 39 | } 40 | 41 | variable "vnet_name" { 42 | description = "Virtual network name" 43 | type = string 44 | } 45 | 46 | variable "aks_cluster_name" { 47 | description = "Azure Kubernetes Service cluster name" 48 | type = string 49 | } 50 | 51 | variable "aks_oidc_issuer_url" { 52 | description = "Azure Kubernetes Service OIDC issuer URL" 53 | type = string 54 | } 55 | 56 | variable "kubernetes_namespace" { 57 | description = "External DNS namespace" 58 | type = string 59 | default = "external-dns" 60 | } 61 | 62 | variable "kubernetes_service_account" { 63 | description = "External DNS service account name" 64 | type = string 65 | default = "external-dns" 66 | } 67 | 68 | variable "tenant_id" { 69 | description = "Azure tenant ID" 70 | type = string 71 | } 72 | 73 | variable "subscription_id" { 74 | description = "Azure subscription ID" 75 | type = string 76 | } 77 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/external_dns/variables.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | variable "region" { 16 | description = "Azure region" 17 | type = string 18 | } 19 | 20 | variable "private_domain_name" { 21 | description = "Azure Private DNS domain name" 22 | type = string 23 | default = "ad_selection.microsoft" 24 | } 25 | 26 | variable "resource_group_id" { 27 | description = "Resource group ID" 28 | type = string 29 | } 30 | 31 | variable "resource_group_name" { 32 | description = "Resource group name" 33 | type = string 34 | } 35 | 36 | variable "vnet_id" { 37 | description = "Virtual network ID" 38 | type = string 39 | } 40 | 41 | variable "vnet_name" { 42 | description = "Virtual network name" 43 | type = string 44 | } 45 | 46 | variable "aks_cluster_name" { 47 | description = "Azure Kubernetes Service cluster name" 48 | type = string 49 | } 50 | 51 | variable "aks_oidc_issuer_url" { 52 | description = "Azure Kubernetes Service OIDC issuer URL" 53 | type = string 54 | } 55 | 56 | variable "kubernetes_namespace" { 57 | description = "External DNS namespace" 58 | type = string 59 | default = "external-dns" 60 | } 61 | 62 | variable "kubernetes_service_account" { 63 | description = "External DNS service account name" 64 | type = string 65 | default = "external-dns" 66 | } 67 | 68 | variable "tenant_id" { 69 | description = "Azure tenant ID" 70 | type = string 71 | } 72 | 73 | variable "subscription_id" { 74 | description = "Azure subscription ID" 75 | type = string 76 | } 77 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-3.11/services/external_dns/variables.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | variable "region" { 16 | description = "Azure region" 17 | type = string 18 | } 19 | 20 | variable "private_domain_name" { 21 | description = "Azure Private DNS domain name" 22 | type = string 23 | default = "ad_selection.microsoft" 24 | } 25 | 26 | variable "resource_group_id" { 27 | description = "Resource group ID" 28 | type = string 29 | } 30 | 31 | variable "resource_group_name" { 32 | description = "Resource group name" 33 | type = string 34 | } 35 | 36 | variable "vnet_id" { 37 | description = "Virtual network ID" 38 | type = string 39 | } 40 | 41 | variable "vnet_name" { 42 | description = "Virtual network name" 43 | type = string 44 | } 45 | 46 | variable "aks_cluster_name" { 47 | description = "Azure Kubernetes Service cluster name" 48 | type = string 49 | } 50 | 51 | variable "aks_oidc_issuer_url" { 52 | description = "Azure Kubernetes Service OIDC issuer URL" 53 | type = string 54 | } 55 | 56 | variable "kubernetes_namespace" { 57 | description = "External DNS namespace" 58 | type = string 59 | default = "external-dns" 60 | } 61 | 62 | variable "kubernetes_service_account" { 63 | description = "External DNS service account name" 64 | type = string 65 | default = "external-dns" 66 | } 67 | 68 | variable "tenant_id" { 69 | description = "Azure tenant ID" 70 | type = string 71 | } 72 | 73 | variable "subscription_id" { 74 | description = "Azure subscription ID" 75 | type = string 76 | } 77 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-3.11/services/aks/variables.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | variable "operator" { 16 | description = "Operator name used to identify the resource owner." 17 | type = string 18 | } 19 | 20 | variable "environment" { 21 | description = "Assigned environment name to group related resources." 22 | type = string 23 | } 24 | 25 | variable "frontend_service_name" { 26 | type = string 27 | } 28 | 29 | variable "region" { 30 | description = "Azure region" 31 | type = string 32 | } 33 | 34 | variable "region_short" { 35 | description = "Azure region shorthand" 36 | type = string 37 | } 38 | 39 | variable "resource_group_id" { 40 | description = "Resource group ID" 41 | type = string 42 | } 43 | 44 | variable "resource_group_name" { 45 | description = "Resource group name" 46 | type = string 47 | } 48 | 49 | variable "kubernetes_version" { 50 | description = "Kubernetes version" 51 | type = string 52 | default = "1.28.13" 53 | } 54 | 55 | variable "service_cidr" { 56 | description = "Service CIDR" 57 | type = string 58 | default = "10.4.0.0/16" 59 | } 60 | 61 | variable "dns_service_ip" { 62 | description = "DNS service IP" 63 | type = string 64 | default = "10.4.0.10" 65 | } 66 | 67 | variable "subnet_id" { 68 | description = "Subnet ID" 69 | type = string 70 | } 71 | 72 | variable "virtual_network_id" { 73 | description = "Virtual network ID" 74 | type = string 75 | } 76 | 77 | variable "node_pool_settings" { 78 | description = "Node pool settings" 79 | type = object({ 80 | node_count = number 81 | vm_size = string 82 | }) 83 | } 84 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/aks/variables.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | variable "operator" { 16 | description = "Operator name used to identify the resource owner." 17 | type = string 18 | } 19 | 20 | variable "environment" { 21 | description = "Assigned environment name to group related resources." 22 | type = string 23 | } 24 | 25 | variable "frontend_service_name" { 26 | type = string 27 | } 28 | 29 | variable "region" { 30 | description = "Azure region" 31 | type = string 32 | } 33 | 34 | variable "region_short" { 35 | description = "Azure region shorthand" 36 | type = string 37 | } 38 | 39 | variable "resource_group_id" { 40 | description = "Resource group ID" 41 | type = string 42 | } 43 | 44 | variable "resource_group_name" { 45 | description = "Resource group name" 46 | type = string 47 | } 48 | 49 | variable "kubernetes_version" { 50 | description = "Kubernetes version" 51 | type = string 52 | default = "1.28.13" 53 | } 54 | 55 | variable "service_cidr" { 56 | description = "Service CIDR" 57 | type = string 58 | default = "10.4.0.0/16" 59 | } 60 | 61 | variable "dns_service_ip" { 62 | description = "DNS service IP" 63 | type = string 64 | default = "10.4.0.10" 65 | } 66 | 67 | variable "subnet_id" { 68 | description = "Subnet ID" 69 | type = string 70 | } 71 | 72 | variable "virtual_network_id" { 73 | description = "Virtual network ID" 74 | type = string 75 | } 76 | 77 | variable "node_pool_settings" { 78 | description = "Node pool settings" 79 | type = object({ 80 | node_count = number 81 | vm_size = string 82 | }) 83 | } 84 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/environments/demo/README.md: -------------------------------------------------------------------------------- 1 | # Demo Key Value Service Configurations for Azure 2 | 3 | ## Overview 4 | 5 | This directory contains examples of Key Value Service terraform modules. 6 | 7 | ### Server Binary Runtime Flags 8 | 9 | Numerous flags are consumed by the service binaries. The flags are specified via 10 | **kv_services.yaml** file under `/services/app/helm`. 11 | 12 | ### Azure Architecture Flags 13 | 14 | Running a stack in Azure requires a large number of parameters to be specified by the operator. 15 | These parameters are all of the variables specified outside of the `runtime_flags` fields. For 16 | descriptions, please refer to `../modules/kv-service/service_vars.tf`. 17 | 18 | ## Using the Demo Configuration 19 | 20 | ### Prerequisites 21 | 22 | - [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/) 23 | - [Helm](https://helm.sh/docs/) 24 | - [Terraform](https://www.terraform.io/) 25 | 26 | ### Step 1: Configure Prerequisites 27 | 28 | ```shell 29 | # Azure CLI 30 | az login 31 | az account set --subscription 32 | az provider register -n Microsoft.ContainerInstance # Permission to allow ContainerInstance in subscription 33 | 34 | # Terraform 35 | export ARM_SUBSCRIPTION_ID= 36 | 37 | # Kubernetes 38 | export KUBE_CONFIG_PATH=/path/to/.kube/config 39 | ``` 40 | 41 | ### Step 2: Create Azure Resources 42 | 43 | You must have **Owner** role in subscription. 44 | 45 | 1. Create a sibling directory to `demo` (the directory hosting this file). It can be called 46 | anything, although naming it after your environment may be convenient. Example: `my_env` 47 | 2. Copy either ./kv-service to your directory. Example: 48 | 49 | ```text 50 | |-- environment 51 | | |-- demo 52 | | | |-- kv-service 53 | | | 54 | | `-- my_env 55 | | `-- kv-service 56 | ``` 57 | 58 | 3. Set the copied my_env/kv-service as your new working directory. 59 | 4. Modify all of the variables in kv.tf 60 | 5. `terraform init && terraform apply` from within the kv-service directory. 61 | 62 | ### Step 3: Upload files for the Key Value Service 63 | 64 | 1. Go tp the Azure Storage account created by Terraform. 65 | 2. Upload data at the folders of the `fslogix` (`deltas` or `realtime`) file share. 66 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-0.7.0/environments/demo/README.md: -------------------------------------------------------------------------------- 1 | # Demo Key Value Service Configurations for Azure 2 | 3 | ## Overview 4 | 5 | This directory contains examples of Key Value Service terraform modules. 6 | 7 | ### Server Binary Runtime Flags 8 | 9 | Numerous flags are consumed by the service binaries. The flags are specified via 10 | **kv_services.yaml** file under `/services/app/helm`. 11 | 12 | ### Azure Architecture Flags 13 | 14 | Running a stack in Azure requires a large number of parameters to be specified by the operator. 15 | These parameters are all of the variables specified outside of the `runtime_flags` fields. For 16 | descriptions, please refer to `../modules/kv-service/service_vars.tf`. 17 | 18 | ## Using the Demo Configuration 19 | 20 | ### Prerequisites 21 | 22 | - [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/) 23 | - [Helm](https://helm.sh/docs/) 24 | - [Terraform](https://www.terraform.io/) 25 | 26 | ### Step 1: Configure Prerequisites 27 | 28 | ```shell 29 | # Azure CLI 30 | az login 31 | az account set --subscription 32 | az provider register -n Microsoft.ContainerInstance # Permission to allow ContainerInstance in subscription 33 | 34 | # Terraform 35 | export ARM_SUBSCRIPTION_ID= 36 | 37 | # Kubernetes 38 | export KUBE_CONFIG_PATH=/path/to/.kube/config 39 | ``` 40 | 41 | ### Step 2: Create Azure Resources 42 | 43 | You must have **Owner** role in subscription. 44 | 45 | 1. Create a sibling directory to `demo` (the directory hosting this file). It can be called 46 | anything, although naming it after your environment may be convenient. Example: `my_env` 47 | 2. Copy either ./kv-service to your directory. Example: 48 | 49 | ```text 50 | |-- environment 51 | | |-- demo 52 | | | |-- kv-service 53 | | | 54 | | `-- my_env 55 | | `-- kv-service 56 | ``` 57 | 58 | 3. Set the copied my_env/kv-service as your new working directory. 59 | 4. Modify all of the variables in kv.tf 60 | 5. `terraform init && terraform apply` from within the kv-service directory. 61 | 62 | 63 | ### Step 3: Upload files for the Key Value Service 64 | 1. Go tp the Azure Storage account created by Terraform. 65 | 2. Upload data at the folders of the `fslogix` (`deltas` or `realtime`) file share. 66 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/app/variables.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | variable "aks_cluster_name" { 16 | description = "Azure Kubernetes Service cluster name" 17 | type = string 18 | } 19 | 20 | variable "kubernetes_namespace" { 21 | description = "Virtual Node namespace" 22 | type = string 23 | default = "default" 24 | } 25 | 26 | variable "resource_group_name" { 27 | description = "Resource group name" 28 | type = string 29 | } 30 | 31 | variable "containers" { 32 | description = "Containers to deploy" 33 | type = list(object({ 34 | name = string 35 | image = string 36 | ccepolicy = string 37 | replicas = number 38 | resources = object({ 39 | requests = map(string) 40 | limits = map(string) 41 | }) 42 | runtime_flags = map(string) 43 | })) 44 | } 45 | 46 | variable "virtual_node_identity_id" { 47 | description = "Virtual Node managed identity id" 48 | type = string 49 | } 50 | 51 | variable "virtual_node_identity_id_override" { 52 | description = "Virtual Node managed identity id override. Replaces the virtual_node_identity_id variable." 53 | type = string 54 | nullable = true 55 | } 56 | 57 | variable "global_runtime_flags" { 58 | 59 | description = "Global runtime flags" 60 | type = map(string) 61 | } 62 | 63 | variable "instrumentation_key" { 64 | description = "Azure App Insights Instrumentation Key" 65 | type = string 66 | } 67 | 68 | variable "storage_account_name" { 69 | description = "Storage account name" 70 | type = string 71 | } 72 | 73 | variable "file_share_name" { 74 | description = "File share name" 75 | type = string 76 | } 77 | 78 | variable "storage_account_access_key" { 79 | description = "Storage account access key" 80 | type = string 81 | sensitive = true 82 | } 83 | -------------------------------------------------------------------------------- /archive/bucketization-equation-images/A_1'.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-0.7.0/services/virtual_node/main.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | # resource "null_resource" "git_clone" { 15 | # provisioner "local-exec" { 16 | # command = "git clone https://github.com/microsoft/virtualnodesOnAzureContainerInstances.git ${path.module}" 17 | # } 18 | # # source = "git::https://github.com/microsoft/virtualnodesOnAzureContainerInstances.git" 19 | # } 20 | 21 | data "azurerm_kubernetes_cluster" "credentials" { 22 | name = var.aks_cluster_name 23 | resource_group_name = var.resource_group_name 24 | 25 | depends_on = [ 26 | var.aks_cluster_name 27 | ] 28 | } 29 | 30 | provider "helm" { 31 | debug = true 32 | kubernetes { 33 | host = data.azurerm_kubernetes_cluster.credentials.kube_config.0.host 34 | client_certificate = base64decode(data.azurerm_kubernetes_cluster.credentials.kube_config.0.client_certificate) 35 | client_key = base64decode(data.azurerm_kubernetes_cluster.credentials.kube_config.0.client_key) 36 | cluster_ca_certificate = base64decode(data.azurerm_kubernetes_cluster.credentials.kube_config.0.cluster_ca_certificate) 37 | } 38 | } 39 | 40 | resource "helm_release" "virtual_node" { 41 | count = length(var.containers) 42 | 43 | name = "${var.containers[count.index].name}-vn2" 44 | repository = "https://microsoft.github.io/virtualnodesOnAzureContainerInstances" 45 | chart = "virtualnode" 46 | create_namespace = true 47 | timeout = 600 48 | atomic = count.index == 0 ? false : true 49 | 50 | values = [ 51 | "${file("${path.module}/values.yaml")}" 52 | ] 53 | 54 | set { 55 | name = "namespace" 56 | value = "${var.containers[count.index].name}-vn2" 57 | } 58 | 59 | set { 60 | name = "admissionControllerReplicaCount" 61 | value = count.index == 0 ? 1 : 0 62 | } 63 | 64 | set { 65 | name = "nodeLabels" 66 | value = "container-image=${var.containers[count.index].name}" 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/services/virtual_node/main.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | # resource "null_resource" "git_clone" { 15 | # provisioner "local-exec" { 16 | # command = "git clone https://github.com/microsoft/virtualnodesOnAzureContainerInstances.git ${path.module}" 17 | # } 18 | # # source = "git::https://github.com/microsoft/virtualnodesOnAzureContainerInstances.git" 19 | # } 20 | 21 | data "azurerm_kubernetes_cluster" "credentials" { 22 | name = var.aks_cluster_name 23 | resource_group_name = var.resource_group_name 24 | 25 | depends_on = [ 26 | var.aks_cluster_name 27 | ] 28 | } 29 | 30 | provider "helm" { 31 | debug = true 32 | kubernetes { 33 | host = data.azurerm_kubernetes_cluster.credentials.kube_config.0.host 34 | client_certificate = base64decode(data.azurerm_kubernetes_cluster.credentials.kube_config.0.client_certificate) 35 | client_key = base64decode(data.azurerm_kubernetes_cluster.credentials.kube_config.0.client_key) 36 | cluster_ca_certificate = base64decode(data.azurerm_kubernetes_cluster.credentials.kube_config.0.cluster_ca_certificate) 37 | } 38 | } 39 | 40 | resource "helm_release" "virtual_node" { 41 | count = length(var.containers) 42 | 43 | name = "${var.containers[count.index].name}-vn2" 44 | repository = "https://microsoft.github.io/virtualnodesOnAzureContainerInstances" 45 | chart = "virtualnode" 46 | create_namespace = true 47 | timeout = 600 48 | atomic = count.index == 0 ? false : true 49 | 50 | values = [ 51 | "${file("${path.module}/values.yaml")}" 52 | ] 53 | 54 | set { 55 | name = "namespace" 56 | value = "${var.containers[count.index].name}-vn2" 57 | } 58 | 59 | set { 60 | name = "admissionControllerReplicaCount" 61 | value = count.index == 0 ? 1 : 0 62 | } 63 | 64 | set { 65 | name = "nodeLabels" 66 | value = "container-image=${var.containers[count.index].name}" 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-3.11/services/virtual_node/main.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | # resource "null_resource" "git_clone" { 15 | # provisioner "local-exec" { 16 | # command = "git clone https://github.com/microsoft/virtualnodesOnAzureContainerInstances.git ${path.module}" 17 | # } 18 | # # source = "git::https://github.com/microsoft/virtualnodesOnAzureContainerInstances.git" 19 | # } 20 | 21 | data "azurerm_kubernetes_cluster" "credentials" { 22 | name = var.aks_cluster_name 23 | resource_group_name = var.resource_group_name 24 | 25 | depends_on = [ 26 | var.aks_cluster_name 27 | ] 28 | } 29 | 30 | provider "helm" { 31 | debug = true 32 | kubernetes { 33 | host = data.azurerm_kubernetes_cluster.credentials.kube_config.0.host 34 | client_certificate = base64decode(data.azurerm_kubernetes_cluster.credentials.kube_config.0.client_certificate) 35 | client_key = base64decode(data.azurerm_kubernetes_cluster.credentials.kube_config.0.client_key) 36 | cluster_ca_certificate = base64decode(data.azurerm_kubernetes_cluster.credentials.kube_config.0.cluster_ca_certificate) 37 | } 38 | } 39 | 40 | resource "helm_release" "virtual_node" { 41 | count = length(var.containers) 42 | 43 | name = "${var.containers[count.index].name}-vn2" 44 | repository = "https://microsoft.github.io/virtualnodesOnAzureContainerInstances" 45 | chart = "virtualnode" 46 | create_namespace = true 47 | timeout = 600 48 | atomic = count.index == 0 ? false : true 49 | 50 | values = [ 51 | "${file("${path.module}/values.yaml")}" 52 | ] 53 | 54 | set { 55 | name = "namespace" 56 | value = "${var.containers[count.index].name}-vn2" 57 | } 58 | 59 | set { 60 | name = "admissionControllerReplicaCount" 61 | value = count.index == 0 ? 1 : 0 62 | } 63 | 64 | set { 65 | name = "nodeLabels" 66 | value = "container-image=${var.containers[count.index].name}" 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/virtual_node/main.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | # resource "null_resource" "git_clone" { 15 | # provisioner "local-exec" { 16 | # command = "git clone https://github.com/microsoft/virtualnodesOnAzureContainerInstances.git ${path.module}" 17 | # } 18 | # # source = "git::https://github.com/microsoft/virtualnodesOnAzureContainerInstances.git" 19 | # } 20 | 21 | data "azurerm_kubernetes_cluster" "credentials" { 22 | name = var.aks_cluster_name 23 | resource_group_name = var.resource_group_name 24 | 25 | depends_on = [ 26 | var.aks_cluster_name 27 | ] 28 | } 29 | 30 | provider "helm" { 31 | debug = true 32 | kubernetes { 33 | host = data.azurerm_kubernetes_cluster.credentials.kube_config.0.host 34 | client_certificate = base64decode(data.azurerm_kubernetes_cluster.credentials.kube_config.0.client_certificate) 35 | client_key = base64decode(data.azurerm_kubernetes_cluster.credentials.kube_config.0.client_key) 36 | cluster_ca_certificate = base64decode(data.azurerm_kubernetes_cluster.credentials.kube_config.0.cluster_ca_certificate) 37 | } 38 | } 39 | 40 | resource "helm_release" "virtual_node" { 41 | count = length(var.containers) 42 | 43 | name = "${var.containers[count.index].name}-vn2" 44 | repository = "https://microsoft.github.io/virtualnodesOnAzureContainerInstances" 45 | chart = "virtualnode" 46 | create_namespace = true 47 | timeout = 600 48 | atomic = count.index == 0 ? false : true 49 | 50 | values = [ 51 | "${file("${path.module}/values.yaml")}" 52 | ] 53 | 54 | set { 55 | name = "namespace" 56 | value = "${var.containers[count.index].name}-vn2" 57 | } 58 | 59 | set { 60 | name = "admissionControllerReplicaCount" 61 | value = count.index == 0 ? 1 : 0 62 | } 63 | 64 | set { 65 | name = "nodeLabels" 66 | value = "container-image=${var.containers[count.index].name}" 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-3.11/modules/buyer/service_vars.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | # Variables related to environment configuration. 16 | variable "containers" { 17 | description = "Containers to deploy" 18 | type = list(object({ 19 | name = string 20 | image = string 21 | ccepolicy = string 22 | replicas = number 23 | resources = object({ 24 | requests = map(string) 25 | limits = map(string) 26 | }) 27 | runtime_flags = map(string) 28 | })) 29 | } 30 | variable "environment" { 31 | description = "Assigned environment name to group related resources." 32 | type = string 33 | validation { 34 | condition = length(var.environment) <= 10 35 | error_message = "Due to current naming scheme limitations, environment must not be longer than 10." 36 | } 37 | } 38 | 39 | variable "operator" { 40 | description = "Operator name used to identify the resource owner." 41 | type = string 42 | } 43 | 44 | variable "region" { 45 | description = "Azure region" 46 | type = string 47 | } 48 | 49 | variable "private_domain_name" { 50 | description = "Azure Private DNS domain name" 51 | type = string 52 | default = "ad_selection.microsoft" 53 | } 54 | 55 | variable "tenant_id" { 56 | description = "Azure tenant ID" 57 | type = string 58 | } 59 | 60 | variable "subscription_id" { 61 | description = "Azure subscription ID" 62 | type = string 63 | } 64 | 65 | variable "externaldns_kubernetes_namespace" { 66 | description = "External DNS namespace" 67 | type = string 68 | default = "external-dns" 69 | } 70 | 71 | variable "externaldns_kubernetes_service_account" { 72 | description = "External DNS service account name" 73 | type = string 74 | default = "external-dns" 75 | } 76 | 77 | variable "node_pool_settings" { 78 | description = "Node pool settings" 79 | type = object({ 80 | node_count = number 81 | vm_size = string 82 | }) 83 | } 84 | 85 | variable "global_runtime_flags" { 86 | description = "Global runtime flags" 87 | type = map(string) 88 | } 89 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-3.11/modules/seller/service_vars.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | # Variables related to environment configuration. 16 | 17 | variable "containers" { 18 | description = "Containers to deploy" 19 | type = list(object({ 20 | name = string 21 | image = string 22 | ccepolicy = string 23 | replicas = number 24 | resources = object({ 25 | requests = map(string) 26 | limits = map(string) 27 | }) 28 | runtime_flags = map(string) 29 | })) 30 | } 31 | variable "environment" { 32 | description = "Assigned environment name to group related resources." 33 | type = string 34 | validation { 35 | condition = length(var.environment) <= 10 36 | error_message = "Due to current naming scheme limitations, environment must not be longer than 10." 37 | } 38 | } 39 | 40 | variable "operator" { 41 | description = "Operator name used to identify the resource owner." 42 | type = string 43 | } 44 | 45 | variable "region" { 46 | description = "Azure region" 47 | type = string 48 | } 49 | 50 | variable "private_domain_name" { 51 | description = "Azure Private DNS domain name" 52 | type = string 53 | default = "ad_selection.microsoft" 54 | } 55 | 56 | variable "tenant_id" { 57 | description = "Azure tenant ID" 58 | type = string 59 | } 60 | 61 | variable "subscription_id" { 62 | description = "Azure subscription ID" 63 | type = string 64 | } 65 | 66 | variable "externaldns_kubernetes_namespace" { 67 | description = "External DNS namespace" 68 | type = string 69 | default = "external-dns" 70 | } 71 | 72 | variable "externaldns_kubernetes_service_account" { 73 | description = "External DNS service account name" 74 | type = string 75 | default = "external-dns" 76 | } 77 | 78 | variable "node_pool_settings" { 79 | description = "Node pool settings" 80 | type = object({ 81 | node_count = number 82 | vm_size = string 83 | }) 84 | } 85 | 86 | variable "global_runtime_flags" { 87 | description = "Global runtime flags" 88 | type = map(string) 89 | } 90 | -------------------------------------------------------------------------------- /deployment-scripts/azure/key-value-service/release-1.0/modules/kv-service/service_vars.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | # Variables related to environment configuration. 16 | 17 | variable "containers" { 18 | description = "Containers to deploy" 19 | type = list(object({ 20 | name = string 21 | image = string 22 | ccepolicy = string 23 | replicas = number 24 | resources = object({ 25 | requests = map(string) 26 | limits = map(string) 27 | }) 28 | runtime_flags = map(string) 29 | })) 30 | } 31 | variable "environment" { 32 | description = "Assigned environment name to group related resources." 33 | type = string 34 | validation { 35 | condition = length(var.environment) <= 10 36 | error_message = "Due to current naming scheme limitations, environment must not be longer than 10." 37 | } 38 | } 39 | 40 | variable "operator" { 41 | description = "Operator name used to identify the resource owner." 42 | type = string 43 | } 44 | 45 | variable "region" { 46 | description = "Azure region" 47 | type = string 48 | } 49 | 50 | variable "tenant_id" { 51 | description = "Azure tenant ID" 52 | type = string 53 | } 54 | 55 | variable "subscription_id" { 56 | description = "Azure subscription ID" 57 | type = string 58 | } 59 | 60 | variable "externaldns_kubernetes_namespace" { 61 | description = "External DNS namespace" 62 | type = string 63 | default = "external-dns" 64 | } 65 | 66 | variable "externaldns_kubernetes_service_account" { 67 | description = "External DNS service account name" 68 | type = string 69 | default = "external-dns" 70 | } 71 | 72 | variable "node_pool_settings" { 73 | description = "Node pool settings" 74 | type = object({ 75 | node_count = number 76 | vm_size = string 77 | }) 78 | } 79 | 80 | variable "global_runtime_flags" { 81 | description = "Global runtime flags" 82 | type = map(string) 83 | } 84 | 85 | variable "custom_aks_workload_identity_id" { 86 | description = "Azure Kubernetes Service workload identity id" 87 | type = string 88 | nullable = true 89 | default = null 90 | } 91 | -------------------------------------------------------------------------------- /archive/bucketization-equation-images/A_2'.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/modules/buyer/service_vars.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | # Variables related to environment configuration. 16 | variable "containers" { 17 | description = "Containers to deploy" 18 | type = list(object({ 19 | name = string 20 | image = string 21 | ccepolicy = string 22 | replicas = number 23 | resources = object({ 24 | requests = map(string) 25 | limits = map(string) 26 | }) 27 | runtime_flags = map(string) 28 | })) 29 | } 30 | variable "environment" { 31 | description = "Assigned environment name to group related resources." 32 | type = string 33 | validation { 34 | condition = length(var.environment) <= 10 35 | error_message = "Due to current naming scheme limitations, environment must not be longer than 10." 36 | } 37 | } 38 | 39 | variable "operator" { 40 | description = "Operator name used to identify the resource owner." 41 | type = string 42 | } 43 | 44 | variable "region" { 45 | description = "Azure region" 46 | type = string 47 | } 48 | 49 | variable "private_domain_name" { 50 | description = "Azure Private DNS domain name" 51 | type = string 52 | default = "ad_selection.microsoft" 53 | } 54 | 55 | variable "tenant_id" { 56 | description = "Azure tenant ID" 57 | type = string 58 | } 59 | 60 | variable "subscription_id" { 61 | description = "Azure subscription ID" 62 | type = string 63 | } 64 | 65 | variable "externaldns_kubernetes_namespace" { 66 | description = "External DNS namespace" 67 | type = string 68 | default = "external-dns" 69 | } 70 | 71 | variable "externaldns_kubernetes_service_account" { 72 | description = "External DNS service account name" 73 | type = string 74 | default = "external-dns" 75 | } 76 | 77 | variable "node_pool_settings" { 78 | description = "Node pool settings" 79 | type = object({ 80 | node_count = number 81 | vm_size = string 82 | }) 83 | } 84 | 85 | variable "global_runtime_flags" { 86 | description = "Global runtime flags" 87 | type = map(string) 88 | } 89 | 90 | variable "custom_aks_workload_identity_id" { 91 | description = "Azure Kubernetes Service workload identity id" 92 | type = string 93 | nullable = true 94 | default = null 95 | } 96 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/modules/seller/service_vars.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | # Variables related to environment configuration. 16 | 17 | variable "containers" { 18 | description = "Containers to deploy" 19 | type = list(object({ 20 | name = string 21 | image = string 22 | ccepolicy = string 23 | replicas = number 24 | resources = object({ 25 | requests = map(string) 26 | limits = map(string) 27 | }) 28 | runtime_flags = map(string) 29 | })) 30 | } 31 | variable "environment" { 32 | description = "Assigned environment name to group related resources." 33 | type = string 34 | validation { 35 | condition = length(var.environment) <= 10 36 | error_message = "Due to current naming scheme limitations, environment must not be longer than 10." 37 | } 38 | } 39 | 40 | variable "operator" { 41 | description = "Operator name used to identify the resource owner." 42 | type = string 43 | } 44 | 45 | variable "region" { 46 | description = "Azure region" 47 | type = string 48 | } 49 | 50 | variable "private_domain_name" { 51 | description = "Azure Private DNS domain name" 52 | type = string 53 | default = "ad_selection.microsoft" 54 | } 55 | 56 | variable "tenant_id" { 57 | description = "Azure tenant ID" 58 | type = string 59 | } 60 | 61 | variable "subscription_id" { 62 | description = "Azure subscription ID" 63 | type = string 64 | } 65 | 66 | variable "externaldns_kubernetes_namespace" { 67 | description = "External DNS namespace" 68 | type = string 69 | default = "external-dns" 70 | } 71 | 72 | variable "externaldns_kubernetes_service_account" { 73 | description = "External DNS service account name" 74 | type = string 75 | default = "external-dns" 76 | } 77 | 78 | variable "node_pool_settings" { 79 | description = "Node pool settings" 80 | type = object({ 81 | node_count = number 82 | vm_size = string 83 | }) 84 | } 85 | 86 | variable "global_runtime_flags" { 87 | description = "Global runtime flags" 88 | type = map(string) 89 | } 90 | 91 | variable "custom_aks_workload_identity_id" { 92 | description = "Azure Kubernetes Service workload identity id" 93 | type = string 94 | nullable = true 95 | default = null 96 | } 97 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-3.11/environment/demo/README.md: -------------------------------------------------------------------------------- 1 | # Demo Buyer and Seller Terraform Configurations for Azure 2 | 3 | ## Overview 4 | 5 | This directory contains examples of the buyer and seller terraform modules. 6 | 7 | The operator of a buyer or seller service pair (SellerFrontEnd + Auction and BuyerFrontEnd + 8 | Bidding, henceforth referred to as 'stack') will deploy the services using terraform. The 9 | configuration of the buyer and seller modules has many different fields, so this directory is aimed 10 | at serving as a guide for the operator trying to bring up a fully functioning stack. The seller 11 | stack is meant to communicate with a seller ad service and buyer front ends; the buyer stack is 12 | expected to communicate only with seller front ends. 13 | 14 | ## Configuration 15 | 16 | Each stack has two major configuration components. 17 | 18 | ### Server Binary Runtime Flags 19 | 20 | Numerous flags are consumed by the service binaries. The flags are specified via **buyer.yaml** and 21 | **seller.yaml** files under `/services/app/helm`. 22 | 23 | ### Azure Architecture Flags 24 | 25 | Running a stack in Azure requires a large number of parameters to be specified by the operator. 26 | These parameters are all of the variables specified outside of the `runtime_flags` fields. For 27 | descriptions, please refer to `../modules/buyer/service_vars.tf` and 28 | `../modules/seller/service_vars.tf`. For examples, please refer to `./buyer/buyer.tf` and 29 | `./seller/seller.tf`. 30 | 31 | ## Using the Demo Configuration 32 | 33 | ### Prerequisites 34 | 35 | - [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/) 36 | - [Helm](https://helm.sh/docs/) 37 | - [Terraform](https://www.terraform.io/) 38 | 39 | ### Step 1: Configure Prerequisites 40 | 41 | ```shell 42 | # Azure CLI 43 | az login 44 | az account set --subscription 45 | az provider register -n Microsoft.ContainerInstance # Permission to allow ContainerInstance in subscription 46 | 47 | # Terraform 48 | export ARM_SUBSCRIPTION_ID= 49 | 50 | # Kubernetes 51 | export KUBE_CONFIG_PATH=/path/to/.kube/config 52 | ``` 53 | 54 | ### Step 2: Create Azure Resources 55 | 56 | You must have **Owner** role in subscription. 57 | 58 | 1. Create a sibling directory to `demo` (the directory hosting this file). It can be called 59 | anything, although naming it after your environment may be convenient. Example: `my_env` 60 | 2. Copy either ./buyer or ./seller to your directory. Example: 61 | 62 | |-- environment 63 | | |-- demo 64 | | | |-- buyer 65 | | | `-- seller 66 | | `-- my_env 67 | | `-- seller 68 | 69 | 3. Set the copied buyer or seller directory as your new working directory. 70 | 4. Modify all of the variables in buyer.tf or seller.tf. 71 | 5. `terraform init && terraform apply` from within the buyer or seller directory. 72 | - **Buyer** deploys the **bidding** and **buyer frontend** service. 73 | - **Seller** deploys the **auction** and **seller frontend** service. 74 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/environment/demo/README.md: -------------------------------------------------------------------------------- 1 | # Demo Buyer and Seller Terraform Configurations for Azure 2 | 3 | ## Overview 4 | 5 | This directory contains examples of the buyer and seller terraform modules. 6 | 7 | The operator of a buyer or seller service pair (SellerFrontEnd + Auction and BuyerFrontEnd + 8 | Bidding, henceforth referred to as 'stack') will deploy the services using terraform. The 9 | configuration of the buyer and seller modules has many different fields, so this directory is aimed 10 | at serving as a guide for the operator trying to bring up a fully functioning stack. The seller 11 | stack is meant to communicate with a seller ad service and buyer front ends; the buyer stack is 12 | expected to communicate only with seller front ends. 13 | 14 | ## Configuration 15 | 16 | Each stack has two major configuration components. 17 | 18 | ### Server Binary Runtime Flags 19 | 20 | Numerous flags are consumed by the service binaries. The flags are specified via **buyer.yaml** and 21 | **seller.yaml** files under `/services/app/helm`. 22 | 23 | ### Azure Architecture Flags 24 | 25 | Running a stack in Azure requires a large number of parameters to be specified by the operator. 26 | These parameters are all of the variables specified outside of the `runtime_flags` fields. For 27 | descriptions, please refer to `../modules/buyer/service_vars.tf` and 28 | `../modules/seller/service_vars.tf`. For examples, please refer to `./buyer/buyer.tf` and 29 | `./seller/seller.tf`. 30 | 31 | ## Using the Demo Configuration 32 | 33 | ### Prerequisites 34 | 35 | - [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/) 36 | - [Helm](https://helm.sh/docs/) 37 | - [Terraform](https://www.terraform.io/) 38 | 39 | ### Step 1: Configure Prerequisites 40 | 41 | ```shell 42 | # Azure CLI 43 | az login 44 | az account set --subscription 45 | az provider register -n Microsoft.ContainerInstance # Permission to allow ContainerInstance in subscription 46 | 47 | # Terraform 48 | export ARM_SUBSCRIPTION_ID= 49 | 50 | # Kubernetes 51 | export KUBE_CONFIG_PATH=/path/to/.kube/config 52 | ``` 53 | 54 | ### Step 2: Create Azure Resources 55 | 56 | You must have **Owner** role in subscription. 57 | 58 | 1. Create a sibling directory to `demo` (the directory hosting this file). It can be called 59 | anything, although naming it after your environment may be convenient. Example: `my_env` 60 | 2. Copy either ./buyer or ./seller to your directory. Example: 61 | 62 | |-- environment 63 | | |-- demo 64 | | | |-- buyer 65 | | | `-- seller 66 | | `-- my_env 67 | | `-- seller 68 | 69 | 3. Set the copied buyer or seller directory as your new working directory. 70 | 4. Modify all of the variables in buyer.tf or seller.tf. 71 | 5. `terraform init && terraform apply` from within the buyer or seller directory. 72 | - **Buyer** deploys the **bidding** and **buyer frontend** service. 73 | - **Seller** deploys the **auction** and **seller frontend** service. 74 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-4.3/services/app/variables.tf: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | variable "aks_cluster_name" { 16 | description = "Azure Kubernetes Service cluster name" 17 | type = string 18 | } 19 | 20 | variable "kubernetes_namespace" { 21 | description = "Virtual Node namespace" 22 | type = string 23 | default = "default" 24 | } 25 | 26 | variable "resource_group_name" { 27 | description = "Resource group name" 28 | type = string 29 | } 30 | 31 | variable "side" { 32 | description = "Whether buyer or seller" 33 | type = string 34 | } 35 | 36 | variable "key_vault_name" { 37 | description = "Key Vault" 38 | type = string 39 | } 40 | 41 | variable "sfe_certificate_name" { 42 | description = "SFE Certificate name" 43 | type = string 44 | } 45 | 46 | variable "containers" { 47 | description = "Containers to deploy" 48 | type = list(object({ 49 | name = string 50 | image = string 51 | ccepolicy = string 52 | replicas = number 53 | resources = object({ 54 | requests = map(string) 55 | limits = map(string) 56 | }) 57 | runtime_flags = map(string) 58 | })) 59 | } 60 | 61 | variable "virtual_node_identity_id" { 62 | description = "Virtual Node managed identity id" 63 | type = string 64 | } 65 | 66 | variable "virtual_node_identity_id_override" { 67 | description = "Virtual Node managed identity id override. Replaces the virtual_node_identity_id variable." 68 | type = string 69 | nullable = true 70 | } 71 | 72 | variable "global_runtime_flags" { 73 | description = "Global runtime flags" 74 | type = map(string) 75 | } 76 | 77 | variable "instrumentation_key" { 78 | description = "Azure App Insights Instrumentation Key" 79 | type = string 80 | } 81 | 82 | variable "storage_account_name" { 83 | description = "Storage account name" 84 | type = string 85 | } 86 | 87 | variable "file_share_name" { 88 | description = "File share name" 89 | type = string 90 | } 91 | 92 | variable "storage_account_access_key" { 93 | description = "Storage account access key" 94 | type = string 95 | sensitive = true 96 | } 97 | 98 | variable "custom_values_yaml" { 99 | description = "Custom values.yaml" 100 | type = string 101 | nullable = true 102 | default = null 103 | } 104 | -------------------------------------------------------------------------------- /deployment-scripts/azure/buyer-seller-services/release-3.11/services/app/helm/templates/deployment.yaml: -------------------------------------------------------------------------------- 1 | # Portions Copyright (c) Microsoft Corporation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | {{ range $name, $val := $.Values.services }} 15 | apiVersion: apps/v1 16 | kind: Deployment 17 | metadata: 18 | name: {{ $name }}-app 19 | namespace: {{ $.Values.namespace }} 20 | spec: 21 | replicas: {{ .replicas }} 22 | selector: 23 | matchLabels: 24 | app: {{ $name }}-app 25 | template: 26 | metadata: 27 | labels: 28 | app: {{ $name }}-app 29 | annotations: 30 | microsoft.containerinstance.virtualnode.injectkubeproxy: "false" 31 | microsoft.containerinstance.virtualnode.injectdns: "false" 32 | microsoft.containerinstance.virtualnode.identity: {{ $.Values.virtualNodeIdentity | quote }} 33 | microsoft.containerinstance.virtualnode.ccepolicy: {{ $val.ccePolicy | quote }} 34 | spec: 35 | dnsPolicy: None 36 | dnsConfig: 37 | nameservers: 38 | - 168.63.129.16 39 | containers: 40 | - name: {{ $name }} 41 | image: {{ $val.image }} 42 | env: 43 | {{- range $key, $val := $val.env }} 44 | - name: {{ $key }} 45 | value: {{ $val | quote }} 46 | {{- end }} 47 | {{- range $key, $val := $.Values.env }} 48 | - name: {{ $key }} 49 | value: {{ $val | quote }} 50 | {{- end }} 51 | ports: 52 | {{- with $val.containerPorts }} 53 | {{- range . }} 54 | - containerPort: {{ .port }} 55 | {{- end }} 56 | {{- end }} 57 | {{- with $val.healthCheck }} 58 | - containerPort: {{ .port }} 59 | readinessProbe: 60 | grpc: 61 | port: {{ .port }} 62 | initiDelaySeconds: {{ .intialDelaySeconds | default 30 }} 63 | {{- end }} 64 | {{- with $val.resources }} 65 | resources: 66 | {{- with .requests }} 67 | requests: 68 | cpu: {{ .cpu | default "0.75" }} 69 | memory: {{ .memory | default "2Gi" }} 70 | {{- end }} 71 | {{- with .limits }} 72 | limits: 73 | cpu: {{ .cpu | default "2" }} 74 | memory: {{ .memory | default "8Gi" }} 75 | {{- end }} 76 | {{- end }} 77 | nodeSelector: 78 | type: virtual-kubelet 79 | {{- with .nodeSelector }} 80 | {{- range $key, $value := . }} 81 | {{ $key }}: {{ $value | quote }} 82 | {{- end }} 83 | {{- end }} 84 | tolerations: 85 | - key: "virtual-kubelet.io/provider" 86 | operator: "Exists" 87 | effect: "NoSchedule" 88 | --- 89 | {{ end }} 90 | --------------------------------------------------------------------------------