{"id":20726972,"url":"https://github.com/hmcts/cnp-module-redis","last_synced_at":"2026-03-10T19:31:46.255Z","repository":{"id":43467731,"uuid":"100478872","full_name":"hmcts/cnp-module-redis","owner":"hmcts","description":"Module that provision a redis paas inside a subnet","archived":false,"fork":false,"pushed_at":"2026-02-11T20:04:06.000Z","size":81,"stargazers_count":2,"open_issues_count":5,"forks_count":1,"subscribers_count":167,"default_branch":"master","last_synced_at":"2026-02-12T04:25:45.166Z","etag":null,"topics":["jenkins-cft","jenkins-cft-a-c","team-platform"],"latest_commit_sha":null,"homepage":null,"language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hmcts.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-08-16T10:46:12.000Z","updated_at":"2025-07-30T12:38:58.000Z","dependencies_parsed_at":"2026-01-22T00:02:45.636Z","dependency_job_id":null,"html_url":"https://github.com/hmcts/cnp-module-redis","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/hmcts/cnp-module-redis","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hmcts%2Fcnp-module-redis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hmcts%2Fcnp-module-redis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hmcts%2Fcnp-module-redis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hmcts%2Fcnp-module-redis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hmcts","download_url":"https://codeload.github.com/hmcts/cnp-module-redis/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hmcts%2Fcnp-module-redis/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30350053,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T15:55:29.454Z","status":"ssl_error","status_checked_at":"2026-03-10T15:54:58.440Z","response_time":106,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jenkins-cft","jenkins-cft-a-c","team-platform"],"created_at":"2024-11-17T04:28:39.043Z","updated_at":"2026-03-10T19:31:46.234Z","avatar_url":"https://github.com/hmcts.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cnp-module-redis\n\nThis repository contains the module that enables you to create a Redis PaaS instance.\n\n## Usage\n\n### Recommended example for cost optimisation\n\nPremium redis PaaS instance are very expensive, care **must** be taken when using them and only used in required environments.\nThis should only be production unless you **really** need it in a different environment.\n\nvariables.tf\n\n```terraform\nvariable \"family\" {\n  default     = \"C\"\n  description = \"The SKU family/pricing group to use. Valid values are `C` (for Basic/Standard SKU family) and `P` (for Premium). Use P for higher availability, but beware it costs a lot more.\"\n}\n\nvariable \"sku_name\" {\n  default     = \"Basic\"\n  description = \"The SKU of Redis to use. Possible values are `Basic`, `Standard` and `Premium`.\"\n}\n\nvariable \"capacity\" {\n  default     = \"1\"\n  description = \"The size of the Redis cache to deploy. Valid values are 1, 2, 3, 4, 5\"\n}\n```\n\nThe following values are recommended for use in the production environment:\n\nprod.tfvars\n```tfvars\nsku_name = \"Premium\"\nfamily   = \"P\"\ncapacity = \"1\"\n```\n\nredis.tf\n```terraform\nmodule \"redis\" {\n  source                   = \"git@github.com:hmcts/cnp-module-redis?ref=master\"\n  product                  = var.product\n  location                 = var.location\n  env                      = var.env\n  common_tags              = var.common_tags\n  redis_version            = \"6\"\n  business_area            = \"cft\" # cft or sds\n  sku_name                 = var.sku_name\n  family                   = var.family\n  capacity                 = var.capacity\n\n  private_endpoint_enabled      = true\n  public_network_access_enabled = false\n}\n\nresource \"azurerm_key_vault_secret\" \"redis_access_key\" {\n  name         = \"redis-access-key\"\n  value        = module.redis-activity-service.access_key\n  key_vault_id = data.azurerm_key_vault.vault.id\n}\n```\n\nIf you need to increase cache size take a look at the [pricing page](https://azure.microsoft.com/en-gb/pricing/details/cache/) for available options and cost impact.\n\n### Configuration\n\n\u003c!-- BEGIN_TF_DOCS --\u003e\n\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_azurerm\"\u003e\u003c/a\u003e [azurerm](#provider\\_azurerm) | n/a |\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [azurerm_private_endpoint.this](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/private_endpoint) | resource |\n| [azurerm_redis_cache.redis](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/redis_cache) | resource |\n| [azurerm_resource_group.cache-resourcegroup](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/resource_group) | resource |\n| [azurerm_subnet.private_endpoint_subnet](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/subnet) | data source |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_availability_zones\"\u003e\u003c/a\u003e [availability\\_zones](#input\\_availability\\_zones) | Specifies a list of Availability Zones in which this Redis Cache should be located. Changing this forces a new Redis Cache to be created. | `list(any)` | `null` | no |\n| \u003ca name=\"input_business_area\"\u003e\u003c/a\u003e [business\\_area](#input\\_business\\_area) | business\\_area name - sds or cft | `string` | `\"cft\"` | no |\n| \u003ca name=\"input_capacity\"\u003e\u003c/a\u003e [capacity](#input\\_capacity) | The size of the Redis cache to deploy. Valid values are 1, 2, 3, 4, 5 | `string` | `\"1\"` | no |\n| \u003ca name=\"input_common_tags\"\u003e\u003c/a\u003e [common\\_tags](#input\\_common\\_tags) | Map of tags to tag all resources with | `map(string)` | n/a | yes |\n| \u003ca name=\"input_env\"\u003e\u003c/a\u003e [env](#input\\_env) | Environment to deploy to | `string` | n/a | yes |\n| \u003ca name=\"input_family\"\u003e\u003c/a\u003e [family](#input\\_family) | The SKU family/pricing group to use. Valid values are `C` (for Basic/Standard SKU family) and `P` (for Premium). Use P for higher availability, but beware it costs a lot more. | `string` | `\"P\"` | no |\n| \u003ca name=\"input_location\"\u003e\u003c/a\u003e [location](#input\\_location) | Azure datacenter location | `string` | n/a | yes |\n| \u003ca name=\"input_maxfragmentationmemory_reserved\"\u003e\u003c/a\u003e [maxfragmentationmemory\\_reserved](#input\\_maxfragmentationmemory\\_reserved) | Value in megabytes reserved to accommodate for memory fragmentation | `string` | `\"642\"` | no |\n| \u003ca name=\"input_maxmemory_delta\"\u003e\u003c/a\u003e [maxmemory\\_delta](#input\\_maxmemory\\_delta) | The max-memory delta for this Redis instance. | `string` | `\"642\"` | no |\n| \u003ca name=\"input_maxmemory_policy\"\u003e\u003c/a\u003e [maxmemory\\_policy](#input\\_maxmemory\\_policy) | How Redis will select what to remove when maxmemory is reached | `string` | `\"volatile-lru\"` | no |\n| \u003ca name=\"input_maxmemory_reserved\"\u003e\u003c/a\u003e [maxmemory\\_reserved](#input\\_maxmemory\\_reserved) | Value in megabytes reserved for non-cache usage e.g. failover | `string` | `\"642\"` | no |\n| \u003ca name=\"input_minimum_tls_version\"\u003e\u003c/a\u003e [minimum\\_tls\\_version](#input\\_minimum\\_tls\\_version) | The minimum TLS version | `string` | `\"1.2\"` | no |\n| \u003ca name=\"input_name\"\u003e\u003c/a\u003e [name](#input\\_name) | Override the default name of `$product-$env`, useful when upgrading versions | `string` | `null` | no |\n| \u003ca name=\"input_private_endpoint_enabled\"\u003e\u003c/a\u003e [private\\_endpoint\\_enabled](#input\\_private\\_endpoint\\_enabled) | Deploy using a private endpoint rather than vnet integration (recommended) | `bool` | `false` | no |\n| \u003ca name=\"input_private_endpoint_subnet\"\u003e\u003c/a\u003e [private\\_endpoint\\_subnet](#input\\_private\\_endpoint\\_subnet) | Specify your own subnet for private link integration, if you don't specify one then it will be calculated for you. | `string` | `\"\"` | no |\n| \u003ca name=\"input_product\"\u003e\u003c/a\u003e [product](#input\\_product) | https://hmcts.github.io/glossary/#platform | `string` | n/a | yes |\n| \u003ca name=\"input_public_network_access_enabled\"\u003e\u003c/a\u003e [public\\_network\\_access\\_enabled](#input\\_public\\_network\\_access\\_enabled) | Whether or not public network access is allowed for this Redis Cache. `true` means this resource could be accessed by both public and private endpoint. `false` means only private endpoint access is allowed. Defaults to `true`. | `bool` | `true` | no |\n| \u003ca name=\"input_redis_version\"\u003e\u003c/a\u003e [redis\\_version](#input\\_redis\\_version) | Redis version to be deployed 4 or 6 (4 is deprecated) | `string` | `\"4\"` | no |\n| \u003ca name=\"input_resource_group_name\"\u003e\u003c/a\u003e [resource\\_group\\_name](#input\\_resource\\_group\\_name) | Name of existing resource group to deploy resources into | `string` | `null` | no |\n| \u003ca name=\"input_sku_name\"\u003e\u003c/a\u003e [sku\\_name](#input\\_sku\\_name) | The SKU of Redis to use. Possible values are `Basic`, `Standard` and `Premium`. | `string` | `\"Premium\"` | no |\n| \u003ca name=\"input_subnetid\"\u003e\u003c/a\u003e [subnetid](#input\\_subnetid) | Subnet to deploy the Redis instance to | `string` | `\"\"` | no |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_access_key\"\u003e\u003c/a\u003e [access\\_key](#output\\_access\\_key) | Primary access key to connect to redis with |\n| \u003ca name=\"output_host_name\"\u003e\u003c/a\u003e [host\\_name](#output\\_host\\_name) | Host name of the Redis cache |\n| \u003ca name=\"output_redis_port\"\u003e\u003c/a\u003e [redis\\_port](#output\\_redis\\_port) | SSL port to connect to redis with |\n\u003c!-- END_TF_DOCS --\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhmcts%2Fcnp-module-redis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhmcts%2Fcnp-module-redis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhmcts%2Fcnp-module-redis/lists"}