apim-landing-zone-accelerator/.devcontainer
nidhirw be0f44b8f1
Feat(Terraform): Baseline and Genai Scenarios (#133)
* Placeholders created for terraform version

* Vnet added

* Terraform baseline networking added

* Activated subscription

* feat: Add outputs for private DNS zone, event hub, virtual network, and private endpoint modules

* chore: Update default values for location and storage account in Terraform variables

* chore: Remove commented out code and unused variables in eventhub module

* Fixed apim policies

* Update

* Fixed policies

* fix(fragments): update the name of the named value

* chore: Update Terraform backend configuration for apim-baseline

* Added managed identity

* Added managed identity to scenario 3

* feat: add OPENAI_PUBLIC_NETWORK_ACCESS_ENABLED variable and enhance deploy-apim-baseline script

- Added `OPENAI_PUBLIC_NETWORK_ACCESS_ENABLED` variable to `sample.tf.env` with default value `false`.
- Enhanced `deploy-apim-baseline.sh` script to retrieve subscription keys and display test command.
- Updated `main.tf` in `workload-genai` to use `identifier` for `resourceSuffix` and removed `random_string`.
- Commented out `public_network_access_enabled` variable usage in `openai` modules within `workload-genai`.
- Added `identifier` variable in `workload-genai/variables.tf` and cleaned up redundant variables.
- Commented out the `azurerm` backend configuration in `provider.tf` for local testing flexibility.

* chore: Remove dev.tfvars.example file

* chore: Update .gitignore to ignore backend-*.hcl file

* rename files

* Remove unnecessary files after terraform deployment

* chore: Update Terraform backend configuration for workload-genai

* feat(scenarios): update terraform scripts for APIM baseline and GenAI deployment

- Commented out the checks for TF_BACKEND_KEY environment variable in deploy-apim-baseline.sh and deploy-workload-genai.sh scripts.
- Updated terraform backend configuration keys for APIM baseline and GenAI deployments to use ENVIRONMENT_TAG-based naming.
- Adjusted spacing and indentation in terraform variable assignments for improved readability.
- Fixed inconsistent use of `azurerm_user_assigned_identity` data source name in genai main.tf.
- Standardized the naming convention for resources and data sources in APIM policies and OpenAI modules.

These changes improve the modularity and readability of the terraform scripts and ensure better handling of environment-specific configurations.

* feat(scenarios): update GenAI deployment script with correct API endpoint

The GenAI deployment script has been updated to use the correct API endpoint for chat completions. This ensures that the AI assistant functions properly and provides accurate information to users.

```

* feat(scenarios): update GenAI deployment script with correct API endpoint

* feat: Add tags to resource groups in APIM baseline deployment

* feat: Add tags to resource groups in APIM baseline deployment

* feat: update devcontainer, bicep, and terraform scripts

- Removed commented out `updateContentCommand` from devcontainer.json
- Updated README.md in apim-baseline to include link to Terraform-based deployment guide
- Corrected file name in bicep/README.md for copying `.env`
- Updated deployment script path in bicep/README.md
- Fixed formatting issues in bicep/main.bicep for better readability
- Enhanced deploy-apim-baseline.sh script with additional echo statements and local state file deletion command
- Corrected deployment script path in workload-functions/bicep/README.md
- Added link to Terraform-based deployment guide in workload-genai README.md
- Updated deployment script path in workload-genai/bicep/README.md
- Fixed formatting issues in workload-genai/bicep/main.bicep for better readability
- Un-commented `text-embedding-ada-002` model in workload-genai/terraform/variables.tf

* General cleanup

* feat: Update Terraform backend configuration for APIM baseline deployment

* fix(terraform): correct backend configuration patterns and key vault references

- Updated `.gitignore` to ignore backend files with correct pattern.
- Fixed incorrect references to `keyVaultName` in Terraform modules.
- Removed redundant validation and resource creation for Terraform backend in scripts.
- Adjusted deployment instructions to ensure correct file handling for environment-specific backend configurations.

* feat: Add azurerm_resource_group resource for openaiResourceGroupName

* feat: Add private DNS zone module for APIM baseline and GenAI deployment

* feat: Update Terraform modules for APIM baseline deployment

- Add dependency on networking module in shared module
- Comment out unused code in shared module
- Remove unnecessary local variables in shared module
- Update key vault resource in shared module to match Bicep configuration
- Update private DNS zone module in APIM policies module
- Remove sensitive output for primary access key in OpenAI module

* feat: Update Terraform modules for APIM baseline deployment

* chore: Remove unnecessary local variables and tags in Terraform main.tf

* certificate working

* feat: Add azapi-vscode extension for Azure API Management development

* feat: Update APIM policies module for LB pool and backends

This commit adds new files and modifies existing files in the APIM policies module to implement load balancing with a circuit breaker policy. It introduces the `lb_pool` and `backends` directories, which contain the necessary Terraform code for configuring the LB pool and backends. The `providers.tf` files in both directories define the required provider for the Azure API Management service. The `apimanagement.tf` file is updated to use the new `lb_pool` module and pass the necessary parameters. The `lb-pool.tf` file, which was previously located in the `load-balancing` directory, is deleted as it is no longer needed.

Co-authored-by: Prasanna Nagarajan <prasanna.nagarajan@microsoft.com>

* feat: Implement load balancing with circuit breaker policy

This commit modifies the APIM policies module to implement load balancing with a circuit breaker policy. It introduces the `lb_pool` and `backends` directories in the Terraform module, which contain the necessary code for configuring the LB pool and backends. The `apimanagement.tf` file is updated to use the new `lb_pool` module and pass the required parameters. The `lb-pool.tf` file, previously located in the `load-balancing` directory, is deleted as it is no longer needed.

* Minor changes to terraform README files as per PR comments

* Updated terraform following update of apim policies from main branch

* Add outbound security rule for Azure Monitor in networking.tf

---------

Co-authored-by: RussSmi <russell_smith@hotmail.com>
Co-authored-by: jsburckhardt <jsburckhardt@gmail.com>
Co-authored-by: Prasanna Nagarajan <prasanna.nagarajan@microsoft.com>
2024-09-13 09:50:52 -04:00
..
devcontainer.json Feat(Terraform): Baseline and Genai Scenarios (#133) 2024-09-13 09:50:52 -04:00