Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat:[PAGOPA-2362] Manage schema v1 #76

Draft
wants to merge 64 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
f0d2ceb
fix uat-prf
aomegax Oct 29, 2024
365fb94
fix value chart
aomegax Oct 29, 2024
7f83a93
fix key
aomegax Oct 29, 2024
e3b5727
apim
aomegax Oct 29, 2024
f975552
added configuration
aomegax Oct 29, 2024
3d9dd5a
disabled oracle in dev env
aomegax Oct 30, 2024
a2025e3
fix values charts and modified cd pipeline
aomegax Oct 30, 2024
0194ed9
fix deploy pipeline
aomegax Oct 30, 2024
f25c6a3
test
aomegax Oct 30, 2024
e909771
test
aomegax Oct 30, 2024
787d3e0
fix deploy pipeline
aomegax Oct 30, 2024
02ca35f
disabled oracle in dev and uat
aomegax Nov 8, 2024
59488df
draft
aomegax Nov 11, 2024
07a0b51
draft
aomegax Nov 12, 2024
3c7e100
draft
aomegax Nov 12, 2024
a39ac67
improvements
aomegax Nov 16, 2024
c314251
improvements
aomegax Nov 16, 2024
b01b642
improvements about cache and id
aomegax Nov 18, 2024
4eab24e
fix excel
aomegax Nov 18, 2024
02687ff
fix excel
aomegax Nov 18, 2024
127b7b6
cache controller test
aomegax Nov 19, 2024
40da74f
stakeholder cache controller test
aomegax Nov 19, 2024
2562aec
cache not init controller test
aomegax Nov 19, 2024
3006a20
service test
aomegax Nov 19, 2024
6ff11f9
fix openapi test
aomegax Nov 19, 2024
e025ba4
draft stakeholder service test
aomegax Nov 19, 2024
39e69da
excluded util/mapper
aomegax Nov 20, 2024
6a4ea60
save on db
aomegax Nov 21, 2024
4945d09
added unit test
aomegax Nov 21, 2024
312362a
fix unit test
aomegax Nov 21, 2024
ff61e6f
fix unit test
aomegax Nov 22, 2024
731bcbc
generalizd configdata
aomegax Nov 22, 2024
3a800a4
fix code_review
aomegax Nov 22, 2024
522657b
cosmetic fix
aomegax Nov 22, 2024
81b4489
updated dockerfile
aomegax Nov 22, 2024
1e4fdb4
Bump to version 0.9.20-1-PAGOPA-2264-fix-chart [skip ci]
pagopa-github-bot Nov 22, 2024
ede071c
sync dockerfile to template
aomegax Nov 22, 2024
ff6dd0c
Merge branch 'PAGOPA-2264-fix-chart' of github.com:pagopa/pagopa-api-…
aomegax Nov 22, 2024
6f9e1a4
fix identity data
aomegax Nov 22, 2024
3ffd203
fix identity data
aomegax Nov 22, 2024
f0e5134
fix secret
aomegax Nov 25, 2024
d6af50a
Bump to version 0.9.20-2-PAGOPA-2264-fix-chart [skip ci]
pagopa-github-bot Nov 25, 2024
70918ce
Merge branch 'PAGOPA-2264-fix-chart' of github.com:pagopa/pagopa-api-…
aomegax Nov 25, 2024
73a0583
Merge branch 'PAGOPA-2264-fix-chart' into PAGOPA-2362-schema-v1
aomegax Nov 25, 2024
50127e9
fix export opeanpi
aomegax Nov 25, 2024
4c9ea98
Bump to version 0.9.20-3-PAGOPA-2362-schema-v1 [skip ci]
pagopa-github-bot Nov 25, 2024
685d3b9
fix infra
aomegax Nov 25, 2024
fc8317a
Bump to version 0.9.20-4-PAGOPA-2362-schema-v1 [skip ci]
pagopa-github-bot Nov 25, 2024
69518c9
Bump to version 0.9.20-5-PAGOPA-2362-schema-v1 [skip ci]
pagopa-github-bot Nov 25, 2024
1b2dc1c
fix save on db, updated doc
aomegax Nov 25, 2024
4ec98ac
fix perf
aomegax Nov 26, 2024
aeecb6c
Bump to version 0.9.20-6-PAGOPA-2362-schema-v1 [skip ci]
pagopa-github-bot Nov 26, 2024
719776a
code clean
aomegax Nov 26, 2024
f51fa16
Merge branch 'PAGOPA-2362-schema-v1' of github.com:pagopa/pagopa-api-…
aomegax Nov 26, 2024
422e6e3
added api export to product
aomegax Nov 26, 2024
8506596
added prf export api
aomegax Nov 27, 2024
407bfb8
wisp and optimized import
aomegax Nov 27, 2024
1dad818
Bump to version 0.9.20-7-PAGOPA-2362-schema-v1 [skip ci]
pagopa-github-bot Nov 27, 2024
6c37776
added wispv1 openapi
aomegax Nov 27, 2024
7a5af4a
fix version id
aomegax Nov 27, 2024
f82926e
Bump to version 0.9.20-8-PAGOPA-2362-schema-v1 [skip ci]
pagopa-github-bot Nov 27, 2024
590b1fb
generalized schema version
aomegax Nov 27, 2024
b299f1f
Merge branch 'PAGOPA-2362-schema-v1' of github.com:pagopa/pagopa-api-…
aomegax Nov 27, 2024
6d96fc3
Bump to version 0.9.20-9-PAGOPA-2362-schema-v1 [skip ci]
pagopa-github-bot Nov 27, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/code_review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ jobs:
github_token: ${{ secrets.GITHUB_TOKEN }}
sonar_token: ${{ secrets.SONAR_TOKEN }}
project_key: ${{env.PROJECT_KEY}}
coverage_exclusions: "**/config/*,**/*Mock*,**/model/**,**/entity/*"
cpd_exclusions: "**/model/**,**/entity/*"
coverage_exclusions: "**/config/*,**/*Mock*,**/model/**,**/entity/*,**/mapper/**"
cpd_exclusions: "**/model/**,**/entity/*,**/mapper/**"
java_version: '17'

# smoke-test:
Expand Down
99 changes: 49 additions & 50 deletions .github/workflows/deploy_with_github_runner.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,28 @@ on:
required: true
description: The environment target of the job
type: string
pagopa_release:
required: true
type: string
description: release version to deploy for PagoPA microservice
pagopa_force:
required: false
type: boolean
description: force re-deploy PagoPA microservice
default: false
nexi_release:
required: true
type: string
description: release version to deploy for Nexi microservice
nexi_force:
required: false
type: boolean
description: force re-deploy Nexi microservice
default: false
current_release:
required: true
type: string
description: release version of the current deploy

env:
APP_NAME: cache
Expand All @@ -26,26 +48,33 @@ jobs:
if: ${{ inputs.target == inputs.environment }}
outputs:
environment: ${{ steps.get_env.outputs.environment }}
pagopa_rel: ${{ steps.get_releases.outputs.pagopa_rel }}
nexi_rel: ${{ steps.get_releases.outputs.nexi_rel }}
steps:
- name: Get Environment
id: get_env
shell: bash
run: |
current_env="${{ inputs.environment }}"
echo "environment=$current_env" >> $GITHUB_OUTPUT

- name: Get Releases
id: get_releases
shell: bash
run: |
current_env="dev"
if [[ "${{ inputs.environment }}" == *"nexi"* ]]; then
if [[ "${{ inputs.environment }}" == *"dev"* ]]; then
current_env="dev"
elif [[ "${{ inputs.environment }}" == *"sit"* ]]; then
current_env="dev"
else
current_env="uat"
fi
elif [[ "${{ inputs.environment }}" == "prf" ]]; then
current_env="uat"
else
current_env="${{ inputs.environment }}"
pagopa_version=${{ inputs.current_release }}
nexi_version=${{ inputs.current_release }}

if [[ "${{ inputs.nexi_release }}" != "" ]]; then
nexi_version=${{ inputs.nexi_release }}
fi
echo "environment=$current_env" >> $GITHUB_OUTPUT

if [[ "${{ inputs.pagopa_release }}" != "" ]]; then
pagopa_version=${{ inputs.pagopa_release }}
fi

echo "pagopa_rel=$pagopa_version" >> $GITHUB_OUTPUT
echo "nexi_rel=$nexi_version" >> $GITHUB_OUTPUT

create_runner:
needs: [ setting_env ]
Expand Down Expand Up @@ -78,7 +107,7 @@ jobs:
environment: ${{ needs.setting_env.outputs.environment }}
steps:

- name: Deploy DEV for PagoPA (Oracle or Postgres)
- name: Deploy DEV
uses: pagopa/github-actions-template/aks-deploy@5db4c9108164a07d96527978da1c3febec934f22 #v1.11.1
if: ${{ inputs.environment == 'dev' }}
with:
Expand All @@ -91,9 +120,9 @@ jobs:
cluster_name: ${{ vars.CLUSTER_NAME }}
resource_group: ${{ vars.CLUSTER_RESOURCE_GROUP }}
app_name: ${{ env.APP_NAME }}
helm_upgrade_options: ' --debug --set postgresql.enabled=true --set postgresql.forceRedeploy=true --set postgresql-replica.forceRedeploy=false --set postgresql-nexi.forceRedeploy=false --set oracle.enabled=true --set oracle.forceRedeploy=true --set oracledev.enabled=true --set oracledev.forceRedeploy=false --set oracleprod.enabled=true --set oracleprod.forceRedeploy=false'
helm_upgrade_options: ' --debug --set postgresql.forceRedeploy=${{ inputs.pagopa_force }} --set postgresql.image.tag=${{ needs.setting_env.outputs.pagopa_rel }} --set postgresql-nexi.forceRedeploy=${{ inputs.nexi_force }} --set postgresql-nexi.image.tag=${{ needs.setting_env.outputs.nexi_rel }}'

- name: Deploy UAT for PagoPA (Oracle or Postgres)
- name: Deploy UAT
uses: pagopa/github-actions-template/aks-deploy@5db4c9108164a07d96527978da1c3febec934f22 #v1.11.1
if: ${{ inputs.environment == 'uat' }}
with:
Expand All @@ -106,24 +135,9 @@ jobs:
cluster_name: ${{ vars.CLUSTER_NAME }}
resource_group: ${{ vars.CLUSTER_RESOURCE_GROUP }}
app_name: ${{ env.APP_NAME }}
helm_upgrade_options: ' --debug --set postgresql.enabled=true --set oracle.enabled=true'

- name: Deploy PRF for PagoPA (Oracle or Postgres)
uses: pagopa/github-actions-template/aks-deploy@5db4c9108164a07d96527978da1c3febec934f22 #v1.11.1
if: ${{ inputs.environment == 'prf' }}
with:
branch: ${{ github.ref_name }}
client_id: ${{ secrets.CD_CLIENT_ID }}
subscription_id: ${{ secrets.SUBSCRIPTION_ID }}
tenant_id: ${{ secrets.TENANT_ID }}
env: ${{ needs.setting_env.outputs.environment }}
namespace: ${{ vars.NAMESPACE }}
cluster_name: ${{ vars.CLUSTER_NAME }}
resource_group: ${{ vars.CLUSTER_RESOURCE_GROUP }}
app_name: ${{ env.APP_NAME }}
helm_upgrade_options: ' --debug --set postgresql-replica.enabled=true --set oracledev.enabled=true '
helm_upgrade_options: ' --debug --set postgresql.forceRedeploy=${{ inputs.pagopa_force }} --set postgresql.image.tag=${{ needs.setting_env.outputs.pagopa_rel }} --set postgresql-replica.forceRedeploy=${{ inputs.pagopa_force }} --set postgresql-replica.image.tag=${{ needs.setting_env.outputs.pagopa_rel }} --set postgresql-nexi.forceRedeploy=${{ inputs.nexi_force }} --set postgresql-nexi.image.tag=${{ needs.setting_env.outputs.nexi_rel }} --set postgresql-replica-nexi.forceRedeploy=${{ inputs.nexi_force }} --set postgresql-replica-nexi.image.tag=${{ needs.setting_env.outputs.nexi_rel }}'

- name: Deploy PROD for PagoPA (Oracle or Postgres)
- name: Deploy PROD
uses: pagopa/github-actions-template/aks-deploy@5db4c9108164a07d96527978da1c3febec934f22 #v1.11.1
if: ${{ inputs.environment == 'prod' }}
with:
Expand All @@ -136,22 +150,7 @@ jobs:
cluster_name: ${{ vars.CLUSTER_NAME }}
resource_group: ${{ vars.CLUSTER_RESOURCE_GROUP }}
app_name: ${{ env.APP_NAME }}
helm_upgrade_options: ' --debug --set postgresql.enabled=true --set oracle.enabled=true --set postgresql-nexi.enabled=false'

- name: Deploy for Nexi
uses: pagopa/github-actions-template/aks-deploy@main
if: ${{ inputs.environment == 'dev_nexi' || inputs.environment == 'sit_nexi' || inputs.environment == 'uat_nexi' || inputs.environment == 'prf_nexi' }}
with:
branch: ${{ github.ref_name }}
client_id: ${{ secrets.CD_CLIENT_ID }}
subscription_id: ${{ secrets.SUBSCRIPTION_ID }}
tenant_id: ${{ secrets.TENANT_ID }}
env: ${{ needs.setting_env.outputs.environment }}
namespace: ${{ vars.NAMESPACE }}
cluster_name: ${{ vars.CLUSTER_NAME }}
resource_group: ${{ vars.CLUSTER_RESOURCE_GROUP }}
app_name: ${{ env.APP_NAME }}
helm_upgrade_options: ${{ (inputs.environment == 'dev_nexi') && ' --debug --set oracledev.enabled=true --set oracledev.forceRedeploy=true --set oracleprod.enabled=true --set oracleprod.forceRedeploy=false' || (inputs.environment == 'sit_nexi' || inputs.environment == 'uat_nexi') && ' --debug --set postgresql-nexi.enabled=true --set postgresql-nexi.forceRedeploy=true' || inputs.environment == 'prf_nexi' && ' --debug --set postgresql-replica-nexi.enabled=true --set postgresql-replica-nexi.forceRedeploy=true' }}
helm_upgrade_options: '--debug --set postgresql.forceRedeploy=${{ inputs.pagopa_force }} --set postgresql.image.tag=${{ needs.setting_env.outputs.pagopa_rel }}'

cleanup_runner:
name: Cleanup Runner
Expand Down
40 changes: 26 additions & 14 deletions .github/workflows/release_deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,7 @@ on:
options:
- dev
- uat
- prf
- prod
- dev_nexi
- sit_nexi
- uat_nexi
- prf_nexi
beta:
required: false
type: boolean
Expand All @@ -31,6 +26,26 @@ on:
type: boolean
description: skip the release. Only deploy
default: false
pagopa_release:
required: false
type: string
default: ""
description: release version to deploy for PagoPA microservice (if empty then last)
pagopa_force:
required: false
type: boolean
description: force re-deploy PagoPA microservice
default: false
nexi_release:
required: false
type: string
default: "0.9.17"
description: release version to deploy for Nexi microservice (if empty then last)
nexi_force:
required: false
type: boolean
description: force re-deploy Nexi microservice
default: false


permissions:
Expand Down Expand Up @@ -109,16 +124,8 @@ jobs:
needs: [ setup, release ]
name: Build and Push Docker Image
runs-on: ubuntu-latest
# if: ${{ inputs.semver != 'skip' }}
if: ${{ needs.setup.outputs.semver != 'skip' }}
steps:
# - name: Build and Push
# id: semver
# uses: pagopa/github-actions-template/[email protected]
# with:
# branch: ${{ github.ref_name}}
# github_token: ${{ secrets.GITHUB_TOKEN }}
# tag: ${{ needs.release.outputs.version }}
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b #v4.1.4
with:
ref: ${{ github.ref_name }}
Expand Down Expand Up @@ -158,11 +165,16 @@ jobs:
if: ${{ always() && !contains(needs.*.result, 'failure') && !contains(needs.*.result, 'cancelled') }}
strategy:
matrix:
environment: [ dev, uat, prf, prod, dev_nexi, sit_nexi, uat_nexi, prf_nexi ]
environment: [ dev, uat, prod ]
uses: ./.github/workflows/deploy_with_github_runner.yml
with:
environment: ${{ matrix.environment }}
target: ${{ needs.setup.outputs.environment }}
pagopa_release: ${{ inputs.pagopa_release }}
pagopa_force: ${{ inputs.pagopa_force }}
nexi_release: ${{ inputs.nexi_release }}
nexi_force: ${{ inputs.nexi_force }}
current_release: ${{ needs.release.outputs.version }}
secrets: inherit

notify:
Expand Down
5 changes: 2 additions & 3 deletions .identity/00_data.tf
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,8 @@ data "azurerm_key_vault_secret" "key_vault_slack_webhook_url" {
}

data "azurerm_key_vault_secret" "key_vault_read_package_token" {
# name = "github-token-read-packages-bot"
name = "gh-read-pkg-test-francesco"
key_vault_id = data.azurerm_key_vault.key_vault.id
name = "encrypted-github-token-read-packages-bot"
key_vault_id = data.azurerm_key_vault.domain_key_vault.id
}

data "azurerm_user_assigned_identity" "identity_cd" {
Expand Down
10 changes: 4 additions & 6 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,11 @@ COPY . .
RUN --mount=type=secret,id=GH_TOKEN,dst=/tmp/secret_token export GITHUB_TOKEN_READ_PACKAGES="$(cat /tmp/secret_token)" \
&& mvn clean package -Dmaven.test.skip=true

FROM amazoncorretto:17.0.10-alpine3.19@sha256:180e9c91bdbaad3599fedd2f492bf0d0335a9382835aa64669b2c2a8de7c9a22 as builder
FROM amazoncorretto:17.0.9-alpine3.18@sha256:df48bf2e183230040890460ddb4359a10aa6c7aad24bd88899482c52053c7e17 AS builder
COPY --from=buildtime /build/target/*.jar application.jar
RUN java -Djarmode=layertools -jar application.jar extract


FROM ghcr.io/pagopa/docker-base-springboot-openjdk17:v1.1.3@sha256:a4e970ef05ecf2081424a64707e7c20856bbc40ddb3e99b32a24cd74591817c4
#ADD --chown=spring:spring https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/download/v1.25.1/opentelemetry-javaagent.jar .
FROM ghcr.io/pagopa/docker-base-springboot-openjdk17:v2.2.0@sha256:b866656c31f2c6ebe6e78b9437ce930d6c94c0b4bfc8e9ecc1076a780b9dfb18

COPY --chown=spring:spring --from=builder dependencies/ ./
COPY --chown=spring:spring --from=builder snapshot-dependencies/ ./
Expand All @@ -24,5 +22,5 @@ COPY --chown=spring:spring --from=builder application/ ./

EXPOSE 8080

#ENTRYPOINT ["java","-javaagent:opentelemetry-javaagent.jar","--enable-preview","org.springframework.boot.loader.JarLauncher"]
ENTRYPOINT ["java","--enable-preview","org.springframework.boot.loader.JarLauncher"]
# this mode is required in order to inject the JAVA_OPTS from environment
#ENTRYPOINT ["java","--enable-preview","org.springframework.boot.loader.JarLauncher"]
34 changes: 34 additions & 0 deletions docs/full/scenario_01.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/'
Scenario 01:
Cache retrieval and no cache is present on Redis
'/
@startuml
participant Client
participant APIM
participant "API Config\nCache" as Cache

alt on start-up
Cache -x Redis: if <b>preload = true</b>, get <b>apicfg_p_full</b>
end alt

Client -> APIM: <b>/cache</b>
APIM -> Cache: <b>/cache</b>
Cache -> APIM: <i>404 CACHE_NOT_INITIALIZED</i>

Client -> APIM: <b>/cache/refresh</b>
APIM -> Cache: <b>/cache/refresh</b>
Cache -x Redis: Get cache data with key <b>apicfg_p_full_in_progress</b>
Cache -> Redis: Save cache data with key <b>apicfg_p_full_in_progress</b>
Cache -> Cache: Generate cache data
alt in progress
Client -> APIM: <b>/cache/refresh</b>
APIM -> Cache: <b>/cache/refresh</b>
Cache -> Redis: Get cache data with key <b>apicfg_p_full_in_progress</b>
Cache --> APIM: <i>503 SERVICE_UNAVAILABLE</i>
APIM --> Client: <i>503 SERVICE_UNAVAILABLE</i>
end alt
Cache -> Redis: Save cache data with key <b>apicfg_p_full</b>
Cache -> Redis: Remove cache with key <b>apicfg_p_full_in_progress</b>
Cache --> APIM: Return cache data
APIM --> Client: Return cache data
@enduml
19 changes: 19 additions & 0 deletions docs/full/scenario_02.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/'
Scenario 02:
Cache retrieval and it is present on Redis
'/
@startuml
participant Client
participant APIM
participant "API Config\nCache" as Cache

alt on start-up
Cache -> Redis: if <b>preload = true</b>, get <b>apicfg_p_full</b>
end alt

Client -> APIM: <b>/cache</b>
APIM -> Cache: <b>/cache</b>
Cache --> APIM: Return in-memory cache data
APIM --> Client: Return cache data
@enduml

11 changes: 11 additions & 0 deletions docs/full/scenario_03.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/'
Scenario 03:
Client retrieves last cache version id (analogue for xlsx)
'/
@startuml
Client -> APIM: <b>/cache/id</b>
APIM -> Cache: <b>/cache/id</b>
Cache -> Cache: get version from\nin-memory cache data
Cache --> APIM: Return cache Id data
APIM --> Client: Return cache Id data
@enduml
16 changes: 16 additions & 0 deletions docs/node/scenario_01.puml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ participant Node
participant APIM
participant "API Config\nCache" as Cache

/'
This version is deprecated
Node -> APIM: <b>/stakeholders/node/cache/schemas/v1</b>
APIM -> Cache: <b>/stakeholders/node/cache/schemas/v1
Cache -> Cache: No <b>refresh</b> is required
Expand All @@ -17,6 +19,20 @@ end note
Cache -> Cache: Generate cache data
Cache -> Redis: Save cache data with key <b>apicfg_*_node_v1</b>

Cache --> APIM: Return cache data
APIM --> Node: Return cache data
'/
Node -> APIM: <b>/stakeholders/node/cache/schemas/v1</b>
note over Node, Cache
<b>v1</b> is the schema version number
end note
APIM -> Cache: <b>/stakeholders/node/cache/schemas/v1
Cache -x Redis: Get cache data with key <b>apicfg_p_node_v1</b>

Cache -> Cache: Generate cache schema v1 from in-memory cache data
Cache -> Redis: Save cache data with key <b>apicfg_p_node_v1</b>
Cache -> Redis: Save cache version with key <b>apicfg_p_node_v1_id</b>

Cache --> APIM: Return cache data
APIM --> Node: Return cache data
@enduml
16 changes: 16 additions & 0 deletions docs/node/scenario_02.puml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,12 @@
Scenario 02:
Node retrieves cache, and it is present on Redis
'/

@startuml
participant Node
participant APIM
participant "API Config\nCache" as Cache
/'
Node -> APIM: /stakeholders/node/cache/schemas/v1
APIM -> Cache: /stakeholders/node/cache/schemas/v1
Cache -> Redis: Check <b>apicfg_*_node_v1</b> exists
Expand All @@ -15,4 +17,18 @@ end note
Redis --> Cache: Return cache data
Cache --> APIM: Return cache data
APIM --> Node: Return cache data
'/
Node -> APIM: <b>/stakeholders/node/cache/schemas/v1</b>
note over Node, Cache
<b>v1</b> is the schema version number
end note
APIM -> Cache: <b>/stakeholders/node/cache/schemas/v1
Cache -> Redis: Get cache data with key <b>apicfg_p_node_v1</b>
Cache -> Cache: Verify if stakeholder cache id is equal to full cache id
note right Cache
if the ids are different no cache is loaded
and it is re-generated from in-memory cache data
end note
Cache --> APIM: Return cache data
APIM --> Node: Return cache data
@enduml
Loading
Loading