Shared assets
To better enable developer agility, the FCP provide several shared assets to reduce the effort needed to deliver a microservice ecosystem within.
Teams are expected to use these shared assets.
Development guide
The development guide is a library of FCP standards and guides useful to support developers within the FCP programme.
Docker parent images
Docker parent images have been created for Node.js and .NET. These parent images prevent duplication in each microservice by abstracting common layers away from each microservice.
DockerHub
GitHub
Jenkins library
The Jenkins shared library abstracts common CI stages away from each microservice repository and ensures that all adequate assurance steps are completed. The library supports the addition of custom steps at key points in the pipeline.
GitHub
Helm chart library
The Helm chart library keeps microservice Helm charts dry by abstracting common resource definitions away from each microservice repository. The packaged chart is hosted in a GitHub repository.
GitHub
Microservice template
A GitHub template repository has been created to allow teams to quickly get started with new microservice. The template includes all common setup steps such as Docker, Helm charts and Jenkins.
GitHub
.NET SonarCloud scanning
Analysing containerised .NET microservices with SonarCloud in CI is challenging. To simplify this process a Docker image has been created to abstract this complexity away from both microservices and the Jenkins library.
DockerHub
GitHub
Secret scanning
All FCP repositories are regularly scanned for committed secrets. A utility repository has been created in support of that.
GitHub
npm publishing
Simplify publishing packages to npm, including switching between pre-release and full releases.
GitHub
DockerHub
Kafka admin client
Simplify viewing and deleting Kafka consumer groups
GitHub
Messaging npm package
npm package to simplify Azure Service Bus sending and consuming in line with FCP standards
GitHub
npm
Events npm package
npm package to simplify Azure Event Hubs sending and consuming in line with FCP standards