{"id":20727065,"url":"https://github.com/hmcts/chart-ccd","last_synced_at":"2025-04-23T18:50:15.942Z","repository":{"id":34832150,"uuid":"159511994","full_name":"hmcts/chart-ccd","owner":"hmcts","description":"CCD product chart","archived":false,"fork":false,"pushed_at":"2025-03-26T12:03:50.000Z","size":1306,"stargazers_count":2,"open_issues_count":15,"forks_count":3,"subscribers_count":153,"default_branch":"master","last_synced_at":"2025-03-26T13:22:30.133Z","etag":null,"topics":["ccd","helm","helm-chart","helm-charts","k8s","kubernetes"],"latest_commit_sha":null,"homepage":null,"language":"Makefile","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":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-28T14:08:40.000Z","updated_at":"2025-03-26T12:03:23.000Z","dependencies_parsed_at":"2023-09-29T06:51:52.896Z","dependency_job_id":"6b7c116c-0681-44c3-9843-d06f6680bac9","html_url":"https://github.com/hmcts/chart-ccd","commit_stats":null,"previous_names":[],"tags_count":167,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hmcts%2Fchart-ccd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hmcts%2Fchart-ccd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hmcts%2Fchart-ccd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hmcts%2Fchart-ccd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hmcts","download_url":"https://codeload.github.com/hmcts/chart-ccd/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250496217,"owners_count":21440227,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["ccd","helm","helm-chart","helm-charts","k8s","kubernetes"],"created_at":"2024-11-17T04:29:03.974Z","updated_at":"2025-04-23T18:50:15.912Z","avatar_url":"https://github.com/hmcts.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# chart-ccd\n\n[![Build Status](https://dev.azure.com/hmcts/CNP/_apis/build/status/Helm%20Charts/chart-ccd)](https://dev.azure.com/hmcts/CNP/_build/latest?definitionId=75)\n\n## Table of Contents\n  * [Table of Contents](#table-of-contents)\n  * [Introduction](#introduction)\n  * [Configurable Variables](#configurable-variables)\n  * [Configuration](#configuration)\n    + [Demo - secrets](#demo---secrets)\n    + [Demo - default services](#demo---default-services)\n    + [Demo - default services and frontend](#demo---default-services-and-frontend)\n    + [Demo - default services, frontend and dependent services](#demo---default-services--frontend-and-dependent-services)\n      - [Enabling upload history on Admin Web](#enabling-upload-history-on-admin-web)\n  * [Setup user profiles and ccd definitions](#setup-user-profiles-and-ccd-definitions)\n    + [Importers](#importers)\n    + [Admin Web](#admin-web)\n      - [Admin Web Definition file import](#admin-web-definition-file-import)\n      - [Admin Web Create User Profile](#admin-web-create-user-profile)\n  * [Ready for take-off 🛫](#ready-for-take-off---)\n\n\n## Introduction\n\nHelm product chart for Core Case Data (CCD)\n\nThis chart installs CCD as a self contained product. By default only one\ndatabase is installed which will be shared between CCD services and\ndependent services.\n\nFeatures:\n \n* back-ends only deployment (default)\n* back-ends and front-ends deployment\n* back-ends, front-ends and dependent services deployment\n* can be used standalone or included in other charts\n* supports deploy on multiple environment e.g. Demo, Preview \n* supports deploy of multiple instances of CCD under the same namespace\n  or different namespaces \n* out of the box user profiles and definition setup\n\n\nDefault Services:\n* data store* - https://github.com/hmcts/ccd-data-store-api\n* definition store* - https://github.com/hmcts/ccd-definition-store-api\n* user profile* - https://github.com/hmcts/ccd-user-profile-api\n* admin web* - https://github.com/hmcts/ccd-admin-web\n* role assignment service - https://github.com/hmcts/am-role-assignment-service\n* s2s - https://github.com/hmcts/service-auth-provider-app\n* postgresql - https://github.com/helm/charts/tree/master/stable/postgresql\n* definition importer - https://github.com/hmcts/ccd-docker-definition-importer\n* user profile importer - https://github.com/hmcts/ccd-docker-user-profile-importer\n\nOptional Services:\n* api gateway* - https://github.com/hmcts/ccd-api-gateway\n* print service* - https://github.com/hmcts/ccd-case-print-service\n* activity service* - https://github.com/hmcts/ccd-case-activity-api\n* dm store - https://github.com/hmcts/document-management-store-app\n* draft store - https://github.com/hmcts/draft-store\n* message publisher - https://github.com/hmcts/ccd-message-publisher\n \n(*) services owned by CCD  \n(**) currently disabled due to chart inconsistencies \n\n## Configurable Variables\n\n| Parameter                    | Description                     | Mandatory                       | Global     |\n| --------------------------   | --------------------------------| ----------                      | ---------- |\n| `idamWebUrl`                 | url of Idam Web                 | true                            | true       |\n| `idamApiUrl`                 | url of Idam Api                 | true                            | true       |\n| `ccdAdminWebIngress`         | url of CCD Admin Web            | true                            | true       |\n| `ccdApiGatewayIngress`       | url of CCD API Gateway          | true when frontend enabled      | true       |\n| `devMode`                    | CCD backend apps require APPINSIGHTS_INSTRUMENTATIONKEY configuration property. Setting devMode to true provides this transparently.| true | true       |\n\n\n## Configuration\n\n### Demo - secrets\n\nWhen deploying on a vault-less environment like Demo, secrets must be\nprovided in the form of sealed secrets in the flux config. For\nreference, the sealed secrets required by this chart can be found at:  \nhttps://github.com/hmcts/cnp-flux-config/tree/master/k8s/demo/common/ccd/sealed-secrets\n\nTo use this chart on a certain namespace, all the required sealed\nsecrets must be separately provided. It's currently not possible to just\ncopy the CCD ones because the namespace we used to generate them is part\nof the encryption (that might change in the future).\n\nCCD sealed secrets can be generated by using the following script:  \nhttps://github.com/hmcts/cnp-flux-config/blob/master/k8s/demo/common/ccd/bin/vault-to-sealedsecret.sh\n\n\n### Demo - default services\n\n```\n    global:\n      idamApiUrl: https://idam-api.demo.platform.hmcts.net\n      idamWebUrl: https://idam-web-public.demo.platform.hmcts.net\n      ccdAdminWebIngress: ccd-admin-{{ .Release.Name }}.demo.platform.hmcts.net\n      devMode: true\n\n    ccd-admin-web:\n      nodejs:\n        ingressClass: traefik-no-proxy\n        ingressHost: ccd-admin-{{ .Release.Name }}.demo.platform.hmcts.net\n        secrets:\n          IDAM_OAUTH2_AW_CLIENT_SECRET:\n            disabled: false\n\n    #importers are enabled by default. Make sure you properly configure them or else explicitly disable them           \n    ccd-user-profile-importer:\n      users:\n       - auto.test.cnp@gmail.com|AUTOTEST1|AAT|TODO\n    \n    ccd-definition-importer:\n      definitions:\n       - https://github.com/hmcts/ccd-definition-store-api/raw/master/aat/src/resource/CCD_CNP_27.xlsx\n      userRoles:\n       - caseworker-autotest1 \n``` \n\n \n### Demo - default services and frontend \n\n```\n    ccd:  \n      apiGatewayWeb:\n        enabled: true\n\n    global:\n      idamApiUrl: https://idam-api.demo.platform.hmcts.net\n      idamWebUrl: https://idam-web-public.demo.platform.hmcts.net\n      ccdAdminWebIngress: ccd-admin-{{ .Release.Name }}.demo.platform.hmcts.net\n      ccdApiGatewayIngress: gateway-{{ .Release.Name }}.demo.platform.hmcts.net\n      devMode: true\n      \n    ccd-admin-web:\n      nodejs:\n        ingressClass: traefik-no-proxy\n        ingressHost: ccd-admin-{{ .Release.Name }}.demo.platform.hmcts.net\n        secrets:\n          IDAM_OAUTH2_AW_CLIENT_SECRET:\n            disabled: false\n    \n    ccd-api-gateway-web:\n      nodejs:\n        ingressClass: traefik-no-proxy\n        ingressHost: gateway-{{ .Release.Name }}.demo.platform.hmcts.net\n        secrets:\n          IDAM_OAUTH2_CLIENT_SECRET:\n            disabled: false\n\n    #importers are enabled by default. Make sure you properly configure them or else explicitly disable them           \n    ccd-user-profile-importer:\n      users:\n       - auto.test.cnp@gmail.com|AUTOTEST1|AAT|TODO\n    \n    ccd-definition-importer:\n      definitions:\n       - https://github.com/hmcts/ccd-definition-store-api/raw/master/aat/src/resource/CCD_CNP_27.xlsx\n      userRoles:\n       - caseworker-autotest1\n``` \n\n\n### Demo - default services, frontend and dependent services \n\nNote: Payment API and some other services are currently disabled\n\n```\n    ccd:  \n      apiGatewayWeb:\n        enabled: true\n      emAnnotation:\n        enabled: true\n      draftStore:\n        enabled: true\n      dmStore:\n        enabled: true\n      activityApi:\n        enabled: true\n      blobstorage:\n        enabled: true\n      printService:\n        enabled: true\n\n    global:\n      idamApiUrl: https://idam-api.demo.platform.hmcts.net\n      idamWebUrl: https://idam-web-public.demo.platform.hmcts.net\n      ccdAdminWebIngress: ccd-admin-{{ .Release.Name }}.demo.platform.hmcts.net\n      ccdApiGatewayIngress: gateway-{{ .Release.Name }}.demo.platform.hmcts.net\n      devMode: true\n      \n    ccd-admin-web:\n      nodejs:\n        ingressClass: traefik-no-proxy\n        ingressHost: ccd-admin-{{ .Release.Name }}.demo.platform.hmcts.net\n        secrets:\n          IDAM_OAUTH2_AW_CLIENT_SECRET:\n            disabled: false\n    \n    ccd-api-gateway-web:\n      nodejs:\n        ingressClass: traefik-no-proxy\n        ingressHost: gateway-{{ .Release.Name }}.demo.platform.hmcts.net\n        secrets:\n          IDAM_OAUTH2_CLIENT_SECRET:\n            disabled: false\n            \n    #importers are enabled by default. Make sure you properly configure them or else explicitly disable them           \n    ccd-user-profile-importer:\n      users:\n       - auto.test.cnp@gmail.com|AUTOTEST1|AAT|TODO\n       \n    ccd-definition-importer:\n      definitions:\n       - https://github.com/hmcts/ccd-definition-store-api/raw/master/aat/src/resource/CCD_CNP_27.xlsx\n      userRoles:\n       - caseworker-autotest1     \n          \n``` \n\n#### Enabling upload history on Admin Web\n\nIn the configurations above the history of definition uploads in CCD\nAdmin Web, [shown here](#Admin-Web-Definition-file-import), is disabled.\nTo enable it, use the following configuration:\n\n```\n    blobstorage:\n        enabled: true\n        \n    ccd-definition-store-api:\n      java:\n        secrets:\n          STORAGE_ACCOUNT_NAME:\n            disabled: false\n          STORAGE_ACCOUNT_KEY:\n            disabled: false\n        environment:\n          AZURE_STORAGE_DEFINITION_UPLOAD_ENABLED: true\n```\n\nNote: blobstorage is used also for other purposes so it might already be\nenabled on some configs\n\n## Migrating to latest version of *logstash* Helm chart \n\nIn the old version Image and tag are referenced as \n\n```\nlogstash:\n  image:\n    repository: hmctspublic.azurecr.io/ccd/logstash\n    tag: latest\n    pullPolicy: IfNotPresent\n\n```\n\nIn latest version they are referenced as \n\n```\n  logstash:\n    image: hmctspublic.azurecr.io/imported/logstash/logstash\n    imageTag: 8.5.1\n    imagePullPolicy: \"IfNotPresent\"\n    logstashJavaOpts: -Xmx1g -Xms512M\n```\n\nNote: For a full list of values that can be used, refer to [logstash](https://github.com/elastic/helm-charts/tree/main/logstash) documentation.  \n\n\n## Setup user profiles and ccd definitions\n\nThis chart provides two ways of setting up user profiles and importing\ndefinitions into CCD\n\n* CCD Admin Web [see steps](#Admin-Web-Definition-file-import)\n\n* Importers \n\nWhile the importers are useful to create some initial desired setup at\ndeploy time, the Admin Web allows to import additional definitions later\non\n\n### Importers\n\nBy default the chart will deploy some helper pods called importers.\nThese are used to setup specified definitions and user profiles at\ndeploy time. Make sure you properly configure them or else disable them.\n\n* user profile importer setup example:\n    ```\n    ccd-user-profile-importer:\n        users:\n          - \u003cUSER_ID\u003e|\u003cJURISDICTION\u003e|\u003cCASE_TYPE\u003e|\u003cCASE_STATE\u003e\n    ```\n\n* ccd definition importer setup example:\n    ```\n    ccd-definition-importer:\n        definitions:\n          - \u003cDEFINITIION_FILE_URL\u003e\n        userRoles:\n          - \u003cUSER_ROLES\u003e\n    ```\n  \nFor more advanced configuration refer to the importers documentation:\n- https://github.com/hmcts/ccd-docker-definition-importer\n- https://github.com/hmcts/ccd-docker-user-profile-importer\n  \nThe configuration examples in this guide will import a simple test\ndefinition and setup a test user 'auto.test.cnp@gmail.com':\n\n```\nccd-user-profile-importer:\n    users:\n      - auto.test.cnp@gmail.com|AUTOTEST1|AAT|TODO\n```\n\n```\nccd-definition-importer:\n    definitions:\n      - https://github.com/hmcts/ccd-definition-store-api/raw/master/aat/src/resource/CCD_CNP_27.xlsx\n    userRoles:\n      - caseworker-autotest1\n```\n\n### Admin Web\n\n#### Admin Web Definition file import\n\n* Open the Admin Web in a web browser, and login with the test\n  credential (ask CCD team). You can log in to Admin Web at the\n  following url:   \n  \n  ``` \n  https://ccd-admin-{{ .Release.Name }}.demo.platform.hmcts.net\n  ```\n\n* Click on `Import Case Definition` to navigate to the importer section.\n\n![Admin web import](/images/import_home.png)\n\n* Click on the `Choose file` button and select a definition file from the file menu.\n\n![File menu](/images/file_menu.png)\n\n![File chosen](/images/file_chosen.png)\n\n* Press the `Submit` button.\n* The message `Case Definition data successfully imported` is displayed if the definition file is successfully imported.\n* A record is added to the import audit table.\n\n![Import successful](/images/file_imported.png)\n\n#### Admin Web Create User Profile\n\n* In admin web, click on the `Manage User Profiles` link.\n\n![Profile home](/images/admin_web_home.png)\n\n* Select a jurisdiction.\n* Click on the `Submit` button.\n\n![Profile home](/images/select_jurisdiction.png)\n\n* Click the `Create User` button \n\n![Profile home](/images/create_user_button.png)\n\n* Enter the `User idam ID`. Select the default jurisdiction, case type and case state.\n* Click the `Create` button\n* Verify that the user profile has been created.\n\n![Profile home](/images/create_user_profile.png)\n\n## Ready for take-off 🛫\n\nYou can log in to CCD UI at the following url:\n\n    https://www-{{ .Release.Name }}.demo.platform.hmcts.net\n    \nAsk CCD team for the default test user credentials if you want to do a\nquick sanity check that the installation is successful. You can use the\ntest case type installed by the importers specified in the example\nconfigurations\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhmcts%2Fchart-ccd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhmcts%2Fchart-ccd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhmcts%2Fchart-ccd/lists"}