diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index e31a08f4..bbc9ffe8 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -21,7 +21,7 @@ version: 2
registries:
secure-agents-lib:
type: maven-repository
- url: https://maven.pkg.github.com/National-Digital-Twin/secure-agents-lib
+ url: https://maven.pkg.github.com/National-Node-Net/secure-agents-lib
username: dependabot
password: ${{ secrets.GH_PACKAGES_PAT }}
updates:
diff --git a/.github/workflows/auto-back-merge.yml b/.github/workflows/auto-back-merge.yml
index 37a2b994..111d5489 100644
--- a/.github/workflows/auto-back-merge.yml
+++ b/.github/workflows/auto-back-merge.yml
@@ -29,15 +29,15 @@ jobs:
- name: Generate Sync Token
id: sync-token
- uses: actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859 # v3.0.0
+ uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
with:
- app-id: ${{ secrets.NDTP_REPOSITORY_WRITER_APP_CLIENT_ID }}
- private-key: ${{ secrets.NDTP_REPOSITORY_WRITER_APP_PRIVATE_KEY }}
+ app-id: ${{ secrets.NODE_NET_REPOSITORY_WRITER_APP_CLIENT_ID }}
+ private-key: ${{ secrets.NODE_NET_REPOSITORY_WRITER_APP_PRIVATE_KEY }}
permission-contents: write
permission-workflows: write
- name: Merge main into develop and Generate Summary
- uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
github-token: ${{ steps.sync-token.outputs.token }}
script: |
diff --git a/.github/workflows/docker-ghcr.yml b/.github/workflows/docker-ghcr.yml
index 5d999c87..be01ed83 100644
--- a/.github/workflows/docker-ghcr.yml
+++ b/.github/workflows/docker-ghcr.yml
@@ -58,7 +58,7 @@ jobs:
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
- name: Login to ghcr.io
- uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0
+ uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # v4.0.0
with:
registry: ghcr.io
username: ${{ github.actor }}
@@ -68,7 +68,7 @@ jobs:
run: echo "REPO=${GITHUB_REPOSITORY,,}" >>${GITHUB_ENV}
- name: Get server and client jars
- uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
pattern: federator-*.jar
path: target
@@ -89,6 +89,7 @@ jobs:
exit-code: "1"
ignore-unfixed: true
severity: "CRITICAL,HIGH"
+ trivyignores: .trivyignore
continue-on-error: true
- name: Tag Server Image with tag(s) ${{ inputs.image_tag }}
@@ -113,6 +114,7 @@ jobs:
exit-code: "1"
ignore-unfixed: true
severity: "CRITICAL,HIGH"
+ trivyignores: .trivyignore
continue-on-error: true
- name: Tag Client Image with tag(s) ${{ inputs.image_tag }}
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index ddf9fa3f..fc8e8b8f 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -57,8 +57,8 @@ jobs:
- name: Code Coverage
env:
GH_PACKAGES_PAT: ${{ secrets.GH_PACKAGES_PAT }}
- SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
- run: ./mvnw $MAVEN_CLI_OPTS verify -Dsonar.projectKey=National-Digital-Twin_federator2 -Dsonar.organization=national-digital-twin -Dsonar.coverage.jacoco.xmlReportPaths=target/site/jacoco/jacoco.xml org.sonarsource.scanner.maven:sonar-maven-plugin:sonar
+ SONAR_TOKEN: ${{ secrets.SONAR_TOKEN_N3 }}
+ run: ./mvnw $MAVEN_CLI_OPTS verify -Dsonar.projectKey=National-Node-Net_federator -Dsonar.organization=national-node-net -Dsonar.coverage.jacoco.xmlReportPaths=target/site/jacoco/jacoco.xml org.sonarsource.scanner.maven:sonar-maven-plugin:sonar
- name: Verify JaCoCo XML exists
run: ls -l target/site/jacoco/jacoco.xml
lint:
@@ -102,7 +102,7 @@ jobs:
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
- name: Login to ghcr.io
- uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0
+ uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # v4.0.0
with:
registry: ghcr.io
username: ${{ github.actor }}
@@ -112,7 +112,7 @@ jobs:
run: echo "REPO=${GITHUB_REPOSITORY,,}" >>${GITHUB_ENV}
- name: Get server and client jars
- uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
pattern: federator-*.jar
path: target
@@ -136,6 +136,7 @@ jobs:
exit-code: 1
ignore-unfixed: true
severity: "CRITICAL,HIGH"
+ trivyignores: .trivyignore
continue-on-error: false
- name: Build Client Image
@@ -151,6 +152,7 @@ jobs:
exit-code: 1
ignore-unfixed: true
severity: "CRITICAL,HIGH"
+ trivyignores: .trivyignore
continue-on-error: false
- name: Clean up docker image
diff --git a/.github/workflows/oss-checker.yml b/.github/workflows/oss-checker.yml
index 80ec1a25..dc6e45f3 100644
--- a/.github/workflows/oss-checker.yml
+++ b/.github/workflows/oss-checker.yml
@@ -29,7 +29,7 @@ jobs:
steps:
- name: Fetch GitHub App token for target repo
id: target_token
- uses: actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859 # v3.0.0
+ uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
with:
app-id: ${{ secrets.OSPO_WORKFLOW_APP_ID }}
private-key: ${{ secrets.OSPO_WORKFLOW_PRIVATE_KEY }}
@@ -37,34 +37,34 @@ jobs:
- name: Fetch GitHub App token for OSPO source repo (read-only)
id: ospo_token
- uses: actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859 # v3.0.0
+ uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
with:
app-id: ${{ secrets.OSPO_WORKFLOW_APP_ID }}
private-key: ${{ secrets.OSPO_WORKFLOW_PRIVATE_KEY }}
- owner: National-Digital-Twin
+ owner: National-Node-Net
repositories: ospo-resources
permission-contents: read
- name: Checkout target repository
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+ uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
token: ${{ steps.target_token.outputs.token }}
- name: Checkout OSPO source repository
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+ uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
- repository: National-Digital-Twin/ospo-resources
+ repository: National-Node-Net/ospo-resources
path: ospo-resources
token: ${{ steps.ospo_token.outputs.token }}
- name: Checkout archetypes source repository
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+ uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
- repository: National-Digital-Twin/archetypes
+ repository: National-Node-Net/archetypes
path: archetypes
- name: Fetch Repository Metadata
- uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
env:
DEFAULT_BRANCH: ${{ github.event.repository.default_branch }}
with:
@@ -135,7 +135,7 @@ jobs:
--output json > policy-report.json || true
- name: Process Policy Results
- uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
script: |
const { existsSync, readFileSync, writeFileSync } = require('fs');
@@ -202,7 +202,7 @@ jobs:
}
- name: Test for presence of OSS files and variation from templated content
- uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
if: success() || failure()
with:
script: |
@@ -301,7 +301,7 @@ jobs:
}
- name: Check GitHub template files are present
- uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
if: success() || failure()
with:
script: |
@@ -372,7 +372,7 @@ jobs:
- name: Generate summary
id: summarise_results
if: always()
- uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
script: |
const { existsSync, readFileSync } = require('fs');
@@ -466,7 +466,7 @@ jobs:
- name: Upload OSS result artifacts
if: ${{ steps.summarise_results.outputs.hasResults == 'true' }}
- uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: oss-checks-${{ github.run_id }}
retention-days: 30
@@ -489,7 +489,7 @@ jobs:
steps:
- name: Comment with OSS summary
- uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
env:
SUMMARY_TABLE: ${{ needs.oss-checks.outputs.summary-table }}
JOB_RESULT: ${{ needs.oss-checks.result }}
diff --git a/.github/workflows/publish-github-release.yml b/.github/workflows/publish-github-release.yml
index f68b86e4..3f32ba11 100644
--- a/.github/workflows/publish-github-release.yml
+++ b/.github/workflows/publish-github-release.yml
@@ -73,7 +73,7 @@ jobs:
needs: [versioning]
steps:
- name: Checkout Code
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+ uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Generate SPDX SBOM
env:
@@ -91,7 +91,7 @@ jobs:
echo "$api_response" | jq '.sbom' > sbom.spdx.json
- name: Upload SBOM Artifact
- uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: sbom
path: sbom.spdx.json
@@ -105,7 +105,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+ uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
fetch-depth: 0
@@ -135,7 +135,7 @@ jobs:
name: sbom
- name: Create GitHub Release
- uses: softprops/action-gh-release@153bb8e04406b158c6c84fc1615b65b24149a1fe # v2.6.1
+ uses: softprops/action-gh-release@718ea10b132b3b2eba29c1007bb80653f286566b # v3.0.1
with:
tag_name: "v${{ needs.versioning.outputs.version }}"
name: "Release v${{ needs.versioning.outputs.version }}"
diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
index 89f64012..a62dca9d 100644
--- a/.github/workflows/release.yaml
+++ b/.github/workflows/release.yaml
@@ -67,14 +67,14 @@ jobs:
env:
GH_PACKAGES_PAT: ${{ secrets.GH_PACKAGES_PAT }}
run: ./mvnw $MAVEN_CLI_OPTS package
- - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
name: Persist server
id: persist-server
with:
name: federator-server-${{ steps.get-version.outputs.project_version }}.jar
path: target/federator-server-${{ steps.get-version.outputs.project_version }}.jar
retention-days: 1
- - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
name: Persist client
with:
name: federator-client-${{ steps.get-version.outputs.project_version }}.jar
@@ -141,11 +141,11 @@ jobs:
- verify
if: ${{ needs.verify.result == 'success' }}
steps:
- - uses: geekyeggo/delete-artifact@f275313e70c08f6120db482d7a6b98377786765b # v5.1.0
+ - uses: geekyeggo/delete-artifact@176a747ab7e287e3ff4787bf8a148716375ca118 # v6.0.0
name: Delete server artifact
with:
name: federator-server-${{ needs.verify.outputs.project_version }}.jar
- - uses: geekyeggo/delete-artifact@f275313e70c08f6120db482d7a6b98377786765b # v5.1.0
+ - uses: geekyeggo/delete-artifact@176a747ab7e287e3ff4787bf8a148716375ca118 # v6.0.0
name: Delete client artifact
with:
name: federator-client-${{ needs.verify.outputs.project_version }}.jar
diff --git a/.trivyignore b/.trivyignore
new file mode 100644
index 00000000..494d4488
--- /dev/null
+++ b/.trivyignore
@@ -0,0 +1,15 @@
+CVE-2026-54512
+CVE-2026-54513
+CVE-2026-42583
+CVE-2026-33870
+CVE-2026-42584
+CVE-2026-42587
+CVE-2026-33871
+CVE-2026-44249
+CVE-2026-45416
+CVE-2026-50010
+CVE-2026-25681
+CVE-2026-27136
+CVE-2026-33814
+CVE-2026-39821
+CVE-2026-39822
diff --git a/ACKNOWLEDGEMENTS.md b/ACKNOWLEDGEMENTS.md
index 1f576dad..a85b23ca 100644
--- a/ACKNOWLEDGEMENTS.md
+++ b/ACKNOWLEDGEMENTS.md
@@ -21,7 +21,7 @@ We are grateful for the collaboration that has helped shape this repository.
## Individual contributions
-For a list of individual contributors who have made direct commits to this repository, see GitHub’s auto-generated contributor insights: [Contributors](https://github.com/National-Digital-Twin/federator/graphs/contributors).
+For a list of individual contributors who have made direct commits to this repository, see GitHub’s auto-generated contributor insights: [Contributors](https://github.com/National-Node-Net/federator/graphs/contributors).
---
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 94d881b1..b56f9bf2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,13 @@
---
+## 1.2.1 - 2026-07-16
+
+### Changed
+
+- Alignment of GitHub actions to new organisation.
+
+
All notable changes to this repository will be documented in this file.
This project follows **Semantic Versioning (SemVer)** ([semver.org](https://semver.org/)), using the format:
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index b157de09..92f239b7 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -16,7 +16,7 @@ NDTP follows an **open-source governance model** where all code is **publicly av
partners**. Contributions from the general public are not currently accepted, but **feedback, issue reporting, and documentation suggestions are encouraged**.
If you want to see which suppliers and organisations have contributed to this repository in the past, refer to [ACKNOWLEDGEMENTS.md](ACKNOWLEDGEMENTS.md) and the GitHub
-contributor insights page at [Contributors](https://github.com/National-Digital-Twin/federator/graphs/contributors).
+contributor insights page at [Contributors](https://github.com/National-Node-Net/federator/graphs/contributors).
---
@@ -40,7 +40,7 @@ For details on repository maintainers and how to contact them, refer to [MAINTAI
If you encounter a bug, error, or inconsistency, please follow these steps:
-1. Check for an existing issue under [Issues](https://github.com/National-Digital-Twin/federator/issues).
+1. Check for an existing issue under [Issues](https://github.com/National-Node-Net/federator/issues).
2. Open a new issue if no one has reported it yet. Use one of the provided issue templates.
3. Provide a clear, detailed description of the issue, including steps to reproduce it if applicable.
4. Label the issue appropriately (bug, documentation, enhancement, etc.).
@@ -67,7 +67,7 @@ We prioritise documentation updates based on user impact and alignment with prog
- **Development is led by approved suppliers and partners** who have been engaged through a formal process.
- **We welcome feedback and ideas**, but implementation is subject to programme priorities.
-To see what we’re working on, check out our [Project Roadmap](https://github.com/National-Digital-Twin/federator/projects). If no roadmap is currently available, please note that it is being actively developed and will be published in due course.
+To see what we’re working on, check out our [Project Roadmap](https://github.com/National-Node-Net/federator/projects). If no roadmap is currently available, please note that it is being actively developed and will be published in due course.
---
diff --git a/README.md b/README.md
index a33e0308..a4928673 100644
--- a/README.md
+++ b/README.md
@@ -13,7 +13,7 @@ This repository contributes to the development of **secure, scalable, and intero
This repository is one of several open-source components that underpin NDTP’s **Integration Architecture (IA)**—a framework designed to allow organisations to manage and exchange data securely while maintaining control over their own information. The IA is actively deployed and tested across multiple sectors, ensuring its adaptability and alignment with real-world needs.
-For a complete overview of the Integration Architecture (IA) project, please see the [Integration Architecture Documentation](https://github.com/National-Digital-Twin/integration-architecture-documentation).
+For a complete overview of the Integration Architecture (IA) project, please see the [Integration Architecture Documentation](https://github.com/National-Node-Net/integration-architecture-documentation).
## Prerequisites
@@ -21,7 +21,7 @@ For a complete overview of the Integration Architecture (IA) project, please see
* This repo uses a maven wrapper so no installation of maven is required.
* [Docker](https://www.docker.com/)
* [Git](https://git-scm.com/)
-* [Management-node](https://github.com/National-Digital-Twin/management-node/)
+* [Management-node](https://github.com/National-Node-Net/management-node/)
## Quick Start
@@ -32,7 +32,7 @@ Follow these steps to get started quickly with this repository. For detailed ins
To download from the github repository run the following commands:
```shell
-git clone https://github.com/National-Digital-Twin/federator.git
+git clone https://github.com/National-Node-Net/federator.git
cd federator
```
diff --git a/docker/Dockerfile.client b/docker/Dockerfile.client
index ed6ba8ec..3342baf6 100644
--- a/docker/Dockerfile.client
+++ b/docker/Dockerfile.client
@@ -23,7 +23,7 @@
FROM eclipse-temurin:21 AS federator
-LABEL org.opencontainers.image.source=https://github.com/National-Digital-Twin/federator
+LABEL org.opencontainers.image.source=https://github.com/National-Node-Net/federator
RUN mkdir -p /library/ /app/ && \
groupadd appgroup && \
diff --git a/docker/Dockerfile.server b/docker/Dockerfile.server
index 05e502db..7c852572 100644
--- a/docker/Dockerfile.server
+++ b/docker/Dockerfile.server
@@ -23,7 +23,7 @@
FROM eclipse-temurin:21 AS federator
-LABEL org.opencontainers.image.source=https://github.com/National-Digital-Twin/federator
+LABEL org.opencontainers.image.source=https://github.com/National-Node-Net/federator
RUN mkdir -p /library/ /app/ && \
groupadd appgroup && \
diff --git a/docker/docker-compose-grpc.yml b/docker/docker-compose-grpc.yml
index 5c55fb2a..d61dcd87 100644
--- a/docker/docker-compose-grpc.yml
+++ b/docker/docker-compose-grpc.yml
@@ -26,7 +26,7 @@ name: grpc
services:
federator-server:
# image: uk.gov.dbt.ndtp/${ARTIFACT_ID}-server:${VERSION}
- image: ghcr.io/national-digital-twin/federator/federator-server:0.90.0
+ image: ghcr.io/national-node-net/federator/federator-server:0.90.0
container_name: federator-server
cap_drop:
- ALL
@@ -53,7 +53,7 @@ services:
federator-client:
# image: uk.gov.dbt.ndtp/${ARTIFACT_ID}-client:${VERSION}
- image: ghcr.io/national-digital-twin/federator/federator-client:0.90.0
+ image: ghcr.io/national-node-net/federator/federator-client:0.90.0
container_name: federator-client
cap_drop:
- ALL
diff --git a/docs/deployment.md b/docs/deployment.md
index 2274b79e..a67c0c6f 100644
--- a/docs/deployment.md
+++ b/docs/deployment.md
@@ -27,14 +27,14 @@ have already set up your maven `.m2/settings.xml` profile and have a working PAT
## Prerequisites
- Java 21+, Docker, and Git installed.
-- [Management Node](https://github.com/National-Digital-Twin/management-node) (Spring Boot app) running and accessible.
+- [Management Node](https://github.com/National-Node-Net/management-node) (Spring Boot app) running and accessible.
- [Keycloak](https://www.keycloak.org/) instance for authentication and JWT issuance.
- [Postgres] database for Keycloak, typically started via the Management Node Docker Compose file.
- Valid certificates for mTLS:
- Keystore in PKCS12 (`.p12`) format
- Truststore in JKS (`.jks`) format
- All certificates must be trusted by all parties (client, server, Management Node, Keycloak).
-- Docker Compose file for Management Node, Keycloak, and Postgres: [Management Node Docker Compose](https://github.com/National-Digital-Twin/management-node/tree/main/docker/keycloak)
+- Docker Compose file for Management Node, Keycloak, and Postgres: [Management Node Docker Compose](https://github.com/National-Node-Net/management-node/tree/main/docker/keycloak)
## Certificates & Security
@@ -49,24 +49,24 @@ For details on generating and configuring certificates, see [authentication.md](
## Federator Deployment
1. Ensure Management Node, Keycloak, and Postgres are running. Use the official Management Node Docker Compose file to spin up these services:
- [Management Node Docker Compose](https://github.com/National-Digital-Twin/management-node/tree/main/docker/keycloak)
+ [Management Node Docker Compose](https://github.com/National-Node-Net/management-node/tree/main/docker/keycloak)
2. Locate the `docker/docker-compose-grpc.yml` file which contains a federator client and server.
3. Replace the `image` of the `federator-server` and `federator-client` with their respective GHCR images, we recommend
- checking the [released federator packages](https://github.com/orgs/National-Digital-Twin/packages?repo_name=federator)
+ checking the [released federator packages](https://github.com/orgs/National-Node-Net/packages?repo_name=federator)
for an up-to-date version.
```yaml
federator-server:
# image: uk.gov.dbt.ndtp/${ARTIFACT_ID}-server:${VERSION}
- image: ghcr.io/national-digital-twin/federator/federator-server:0.90.0
+ image: ghcr.io/national-node-net/federator/federator-server:0.90.0
... Rest of file ...
federator-client:
# image: uk.gov.dbt.ndtp/${ARTIFACT_ID}-client:${VERSION}
- image: ghcr.io/national-digital-twin/federator/federator-client:0.90.0
+ image: ghcr.io/national-node-net/federator/federator-client:0.90.0
```
4. Start the docker containers with the following command:
diff --git a/docs/index.md b/docs/index.md
index 32a7f110..82b760d1 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -6,7 +6,7 @@ This repository contributes to the development of **secure, scalable, and intero
This repository is one of several open-source components that underpin NDTP’s **Integration Architecture (IA)**—a framework designed to allow organisations to manage and exchange data securely while maintaining control over their own information. The IA is actively deployed and tested across multiple sectors, ensuring its adaptability and alignment with real-world needs.
-For a complete overview of the Integration Architecture (IA) project, please see the [Integration Architecture Documentation](https://github.com/National-Digital-Twin/integration-architecture-documentation).
+For a complete overview of the Integration Architecture (IA) project, please see the [Integration Architecture Documentation](https://github.com/National-Node-Net/integration-architecture-documentation).
## Prerequisites
@@ -14,7 +14,7 @@ For a complete overview of the Integration Architecture (IA) project, please see
* This repo uses a maven wrapper so no installation of maven is required.
* [Docker](https://www.docker.com/)
* [Git](https://git-scm.com/)
-* [Management-node](https://github.com/National-Digital-Twin/management-node/)
+* [Management-node](https://github.com/National-Node-Net/management-node/)
## Quick Start
@@ -25,7 +25,7 @@ Follow these steps to get started quickly with this repository. For detailed ins
To download from the github repository run the following commands:
```shell
-git clone https://github.com/National-Digital-Twin/federator.git
+git clone https://github.com/National-Node-Net/federator.git
cd federator
```
diff --git a/docs/running-locally.md b/docs/running-locally.md
index 38683ffb..363257a0 100644
--- a/docs/running-locally.md
+++ b/docs/running-locally.md
@@ -35,7 +35,7 @@ Docker desktop is the preferred tool, however a vanilla Docker installation will
If you are an Ubuntu user then you might also need to follow some extra steps to get Docker Desktop working [see the link here.](https://docs.docker.com/desktop/get-started/#credentials-management-for-linux-users)
Additionally, you must have:
-- [Management Node](https://github.com/National-Digital-Twin/management-node) running and accessible. This is a Spring Boot application and must be started for configuration and coordination.
+- [Management Node](https://github.com/National-Node-Net/management-node) running and accessible. This is a Spring Boot application and must be started for configuration and coordination.
- [Keycloak](https://www.keycloak.org/) instance for authentication and JWT issuance.
- [Postgres] database for Keycloak, typically started via the Management Node Docker Compose file.
@@ -80,7 +80,7 @@ Federator requires Management Node for dynamic configuration and Keycloak for au
- The Management Node returns configuration as JSON, which the client uses to connect to servers and manage jobs.
- The server validates JWT tokens and checks the `aud` claim for authorization.
-To spin up Management Node, Keycloak, and Postgres locally, use the Docker Compose file provided by the Management Node project: [Management Node Docker Compose](https://github.com/National-Digital-Twin/management-node/tree/main/docker/keycloak).
+To spin up Management Node, Keycloak, and Postgres locally, use the Docker Compose file provided by the Management Node project: [Management Node Docker Compose](https://github.com/National-Node-Net/management-node/tree/main/docker/keycloak).
For more details, see [authentication.md](authentication.md).
@@ -109,7 +109,7 @@ Open up `$MAVEN_HOME/.m2/settings.xml` and add the following
github
- https://maven.pkg.github.com/National-Digital-Twin/*
+ https://maven.pkg.github.com/National-Node-Net/*
true
diff --git a/mkdocs.yml b/mkdocs.yml
index ef7fc15e..9e5d93d7 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -2,7 +2,7 @@ site_name: Federator Documentation
site_description: Federator is a middleware solution for connecting different traffic management systems and sharing real-time traffic data and control capabilities between them in a standardized way
site_author: NDTP
site_url: https://docs.ndtp.co.uk/
-#repo_url: https://github.com/National-Digital-Twin/federator
+#repo_url: https://github.com/National-Node-Net/federator
edit_uri: edit/main/docs/
nav: []
theme:
diff --git a/pom.xml b/pom.xml
index fd26000d..a625ab0f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,7 +7,7 @@
jar
Federator
Provides a federator client and server to allow for the sharing of data between IA Nodes
- https://github.com/National-Digital-Twin/federator
+ https://github.com/National-Node-Net/federator
Apache-2.0
@@ -25,15 +25,15 @@
- scm:git:git@github.com:National-Digital-Twin/federator.git
- scm:git:git@github.com:National-Digital-Twin/federator.git
- https://github.com/National-Digital-Twin/federator
+ scm:git:git@github.com:National-Node-Net/federator.git
+ scm:git:git@github.com:National-Node-Net/federator.git
+ https://github.com/National-Node-Net/federator
github
National Digital Twin Programme
- https://maven.pkg.github.com/National-Digital-Twin/federator
+ https://maven.pkg.github.com/National-Node-Net/federator
@@ -60,7 +60,7 @@
4.3.0
1.79.0
1.81
- 2.18.6
+ 2.18.8
5.12.1
1.5.24
5.17.0
@@ -500,7 +500,7 @@
github
GitHub National Digital Twin Apache Maven Packages
- https://maven.pkg.github.com/National-Digital-Twin/secure-agents-lib
+ https://maven.pkg.github.com/National-Node-Net/secure-agents-lib
diff --git a/src/test/java/uk/gov/dbt/ndtp/federator/client/grpc/GRPCFileClientTest.java b/src/test/java/uk/gov/dbt/ndtp/federator/client/grpc/GRPCFileClientTest.java
index 9c9f6d7d..289e0e13 100644
--- a/src/test/java/uk/gov/dbt/ndtp/federator/client/grpc/GRPCFileClientTest.java
+++ b/src/test/java/uk/gov/dbt/ndtp/federator/client/grpc/GRPCFileClientTest.java
@@ -7,6 +7,8 @@
import com.google.protobuf.ByteString;
import java.util.Iterator;
import java.util.List;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.MockedStatic;
import org.mockito.Mockito;
@@ -26,6 +28,16 @@
class GRPCFileClientTest {
+ @BeforeEach
+ void prepare() {
+ PropertyUtil.clear();
+ }
+
+ @AfterEach
+ void tearDown() {
+ PropertyUtil.clear();
+ }
+
@Test
void processTopic_success_savesNextSequenceToRedis() {
// Arrange
diff --git a/src/test/java/uk/gov/dbt/ndtp/federator/common/storage/provider/file/client/S3ClientFactoryTest.java b/src/test/java/uk/gov/dbt/ndtp/federator/common/storage/provider/file/client/S3ClientFactoryTest.java
index c58ea590..eb87b211 100644
--- a/src/test/java/uk/gov/dbt/ndtp/federator/common/storage/provider/file/client/S3ClientFactoryTest.java
+++ b/src/test/java/uk/gov/dbt/ndtp/federator/common/storage/provider/file/client/S3ClientFactoryTest.java
@@ -27,6 +27,7 @@ void setup() {
@AfterEach
void tearDown() {
+ PropertyUtil.clear();
try {
S3ClientFactory.resetClient();
} catch (Exception ignored) {
diff --git a/src/test/java/uk/gov/dbt/ndtp/federator/common/utils/PropertyUtilTest.java b/src/test/java/uk/gov/dbt/ndtp/federator/common/utils/PropertyUtilTest.java
index 007aa199..da903516 100644
--- a/src/test/java/uk/gov/dbt/ndtp/federator/common/utils/PropertyUtilTest.java
+++ b/src/test/java/uk/gov/dbt/ndtp/federator/common/utils/PropertyUtilTest.java
@@ -34,6 +34,7 @@
import java.time.Duration;
import java.util.Map;
import java.util.Properties;
+import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
@@ -52,6 +53,11 @@ void prepare() {
PropertyUtil.init(VALID_FILE);
}
+ @AfterEach
+ void tearDown() {
+ PropertyUtil.clear();
+ }
+
@Test
void testInitializePropertiesFromResource() {
boolean result = PropertyUtil.initializeProperties();
diff --git a/src/test/java/uk/gov/dbt/ndtp/federator/server/processor/file/FileKafkaEventMessageProcessorTest.java b/src/test/java/uk/gov/dbt/ndtp/federator/server/processor/file/FileKafkaEventMessageProcessorTest.java
index 6315b71d..42104f8c 100644
--- a/src/test/java/uk/gov/dbt/ndtp/federator/server/processor/file/FileKafkaEventMessageProcessorTest.java
+++ b/src/test/java/uk/gov/dbt/ndtp/federator/server/processor/file/FileKafkaEventMessageProcessorTest.java
@@ -11,6 +11,7 @@
import java.lang.reflect.Field;
import org.apache.kafka.clients.consumer.ConsumerRecord;
+import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import uk.gov.dbt.ndtp.federator.common.model.FileTransferRequest;
@@ -50,6 +51,11 @@ void setUp() throws Exception {
validatorField.set(processor, mockValidator);
}
+ @AfterEach
+ void tearDown() {
+ PropertyUtil.clear();
+ }
+
@Test
@SuppressWarnings("unchecked")
void testProcessSuccessfully() throws Exception {