Skip to content

Commit

Permalink
feat: New module avm/res/cache/redis-enterprise - Redis Enterprise …
Browse files Browse the repository at this point in the history
…and Azure Managed Redis (Preview) (#4114)

## Description

Initial implementation of Bicep AVM for Redis Enterprise and Azure
Managed Redis (Preview) caches (`Microsoft.Cache/redisEnterprise`).

There is a related module,
[`avm/res/cache/redis`](https://github.com/Azure/bicep-registry-modules/tree/main/avm/res/cache/redis),
that covers `Microsoft.Cache/redis`:

| Module Name | Resource Type | SKUs |

|----------------------------|--------------------------------|--------------------------------------------------------------------------------------------|
|
[`avm/res/cache/redis`](https://github.com/Azure/bicep-registry-modules/tree/main/avm/res/cache/redis)
| Microsoft.Cache/redis | **OSS Redis:** Basic, Standard, Premium |
| `avm/res/cache/redis-enterprise` (this PR) |
Microsoft.Cache/redisEnterprise | **Redis Enterprise:** Enterprise,
Enterprise Flash<br>**Azure Managed Redis (Preview):** Balanced, Compute
Optimized, Flash Optimized, Memory Optimized |


![image](https://github.com/user-attachments/assets/7128fcea-0708-4ae5-b2ed-8e1e1b9dd6ff)

Closes Azure/Azure-Verified-Modules#1731.

## Pipeline Reference

I'm facing issues setting up CI on my fork using my Azure subscription
and Service Principal in the Microsoft tenant, but was able to validate
all the E2E tests passed using
[`Test-ModuleLocally.ps1`](https://github.com/Azure/bicep-registry-modules/blob/main/utilities/tools/Test-ModuleLocally.ps1).


![image](https://github.com/user-attachments/assets/9a8de7d8-598e-41b0-8ebc-3ae68ceb697b)

<!-- Insert your Pipeline Status Badge below -->

| Pipeline |
| -------- |
|          |

## Type of Change

<!-- Use the checkboxes [x] on the options that are relevant. -->

- [ ] Update to CI Environment or utilities (Non-module affecting
changes)
- [x] Azure Verified Module updates:
- [ ] Bugfix containing backwards-compatible bug fixes, and I have NOT
bumped the MAJOR or MINOR version in `version.json`:
- [ ] Someone has opened a bug report issue, and I have included "Closes
#{bug_report_issue_number}" in the PR description.
- [ ] The bug was found by the module author, and no one has opened an
issue to report it yet.
- [ ] Feature update backwards compatible feature updates, and I have
bumped the MINOR version in `version.json`.
- [ ] Breaking changes and I have bumped the MAJOR version in
`version.json`.
  - [x] Update to documentation

## Checklist

- [x] I'm sure there are no other open Pull Requests for the same
update/change
- [x] I have run `Set-AVMModule` locally to generate the supporting
module files.
- [ ] My corresponding pipelines / checks run clean and green without
any errors or warnings

<!-- Please keep up to date with the contribution guide at
https://aka.ms/avm/contribute/bicep -->
  • Loading branch information
JeffreyCA authored Feb 19, 2025
1 parent 8cc798e commit d91e5e5
Show file tree
Hide file tree
Showing 28 changed files with 9,590 additions and 0 deletions.
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
/avm/res/azure-stack-hci/cluster/ @Azure/avm-res-azurestackhci-cluster-module-owners-bicep @Azure/avm-module-reviewers-bicep
/avm/res/batch/batch-account/ @Azure/avm-res-batch-batchaccount-module-owners-bicep @Azure/avm-module-reviewers-bicep
/avm/res/cache/redis/ @Azure/avm-res-cache-redis-module-owners-bicep @Azure/avm-module-reviewers-bicep
/avm/res/cache/redis-enterprise/ @Azure/avm-res-cache-redisenterprise-module-owners-bicep @Azure/avm-module-reviewers-bicep
/avm/res/cdn/profile/ @Azure/avm-res-cdn-profile-module-owners-bicep @Azure/avm-module-reviewers-bicep
/avm/res/cognitive-services/account/ @Azure/avm-res-cognitiveservices-account-module-owners-bicep @Azure/avm-module-reviewers-bicep
/avm/res/communication/communication-service/ @Azure/avm-res-communication-communicationservice-module-owners-bicep @Azure/avm-module-reviewers-bicep
Expand Down
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/avm_module_issue.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ body:
- "avm/res/azure-stack-hci/cluster"
- "avm/res/batch/batch-account"
- "avm/res/cache/redis"
- "avm/res/cache/redis-enterprise"
- "avm/res/cdn/profile"
- "avm/res/cognitive-services/account"
- "avm/res/communication/communication-service"
Expand Down
88 changes: 88 additions & 0 deletions .github/workflows/avm.res.cache.redis-enterprise.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
name: "avm.res.cache.redis-enterprise"

on:
workflow_dispatch:
inputs:
staticValidation:
type: boolean
description: "Execute static validation"
required: false
default: true
deploymentValidation:
type: boolean
description: "Execute deployment validation"
required: false
default: true
removeDeployment:
type: boolean
description: "Remove deployed module"
required: false
default: true
customLocation:
type: string
description: "Default location overwrite (e.g., eastus)"
required: false
push:
branches:
- main
paths:
- ".github/actions/templates/avm-**"
- ".github/workflows/avm.template.module.yml"
- ".github/workflows/avm.res.cache.redis-enterprise.yml"
- "avm/res/cache/redis-enterprise/**"
- "utilities/pipelines/**"
- "!utilities/pipelines/platform/**"
- "!*/**/README.md"

env:
modulePath: "avm/res/cache/redis-enterprise"
workflowPath: ".github/workflows/avm.res.cache.redis-enterprise.yml"

concurrency:
group: ${{ github.workflow }}

jobs:
###########################
# Initialize pipeline #
###########################
job_initialize_pipeline:
runs-on: ubuntu-latest
name: "Initialize pipeline"
steps:
- name: "Checkout"
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: "Set input parameters to output variables"
id: get-workflow-param
uses: ./.github/actions/templates/avm-getWorkflowInput
with:
workflowPath: "${{ env.workflowPath}}"
- name: "Get module test file paths"
id: get-module-test-file-paths
uses: ./.github/actions/templates/avm-getModuleTestFiles
with:
modulePath: "${{ env.modulePath }}"
outputs:
workflowInput: ${{ steps.get-workflow-param.outputs.workflowInput }}
moduleTestFilePaths: ${{ steps.get-module-test-file-paths.outputs.moduleTestFilePaths }}
psRuleModuleTestFilePaths: ${{ steps.get-module-test-file-paths.outputs.psRuleModuleTestFilePaths }}
modulePath: "${{ env.modulePath }}"

##############################
# Call reusable workflow #
##############################
call-workflow-passing-data:
name: "Run"
permissions:
id-token: write # For OIDC
contents: write # For release tags
needs:
- job_initialize_pipeline
uses: ./.github/workflows/avm.template.module.yml
with:
workflowInput: "${{ needs.job_initialize_pipeline.outputs.workflowInput }}"
moduleTestFilePaths: "${{ needs.job_initialize_pipeline.outputs.moduleTestFilePaths }}"
psRuleModuleTestFilePaths: "${{ needs.job_initialize_pipeline.outputs.psRuleModuleTestFilePaths }}"
modulePath: "${{ needs.job_initialize_pipeline.outputs.modulePath}}"
secrets: inherit
Loading

0 comments on commit d91e5e5

Please sign in to comment.