generated from ministryofjustice/hmpps-template-kotlin
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit a79997f
Showing
51 changed files
with
2,132 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
name: Deploy to environment | ||
|
||
on: | ||
workflow_dispatch: | ||
inputs: | ||
environment: | ||
description: Environment | ||
type: choice | ||
required: true | ||
options: | ||
- dev | ||
- preprod | ||
- prod | ||
default: 'dev' | ||
version: | ||
description: version to be deployed to the environment - must already exist. | ||
required: true | ||
default: '' | ||
type: string | ||
|
||
permissions: | ||
contents: read | ||
|
||
jobs: | ||
helm_lint: | ||
name: helm lint | ||
uses: ministryofjustice/hmpps-github-actions/.github/workflows/test_helm_lint.yml@v2 # WORKFLOW_VERSION | ||
secrets: inherit | ||
with: | ||
environment: ${{ inputs.environment }} | ||
deploy_env: | ||
name: Deploy to environment | ||
needs: | ||
- helm_lint | ||
uses: ministryofjustice/hmpps-github-actions/.github/workflows/deploy_env.yml@v2 # WORKFLOW_VERSION | ||
secrets: inherit | ||
with: | ||
environment: ${{ inputs.environment }} | ||
app_version: ${{ inputs.version }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
name: Pipeline [test -> build -> deploy] | ||
|
||
on: | ||
push: | ||
branches: | ||
- '**' | ||
workflow_dispatch: | ||
inputs: | ||
additional_docker_tag: | ||
description: Additional docker tag that can be used to specify stable or testing tags | ||
required: false | ||
default: '' | ||
type: string | ||
push: | ||
description: Push docker image to registry flag | ||
required: true | ||
default: false | ||
type: boolean | ||
|
||
permissions: | ||
contents: read | ||
packages: write | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.ref }} | ||
# This will cancel all running build/test/release pipelines that are not on the main branch | ||
# If this pipeline is on the main branch, it will wait until existing runs complete | ||
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} | ||
|
||
jobs: | ||
helm_lint: | ||
strategy: | ||
matrix: | ||
environments: ['dev', 'preprod', 'prod'] | ||
name: helm lint | ||
uses: ministryofjustice/hmpps-github-actions/.github/workflows/test_helm_lint.yml@v2 # WORKFLOW VERSION | ||
secrets: inherit | ||
with: | ||
environment: ${{ matrix.environments }} | ||
kotlin_validate: | ||
name: Validate the kotlin | ||
uses: ministryofjustice/hmpps-github-actions/.github/workflows/kotlin_validate.yml@v2 # WORKFLOW_VERSION | ||
secrets: inherit | ||
build: | ||
name: Build docker image from hmpps-github-actions | ||
if: github.ref == 'refs/heads/main' | ||
uses: ministryofjustice/hmpps-github-actions/.github/workflows/docker_build.yml@v2 # WORKFLOW_VERSION | ||
needs: | ||
- kotlin_validate | ||
with: | ||
docker_registry: 'ghcr.io' | ||
registry_org: 'ministryofjustice' | ||
additional_docker_tag: ${{ inputs.additional_docker_tag }} | ||
push: ${{ inputs.push || true }} | ||
docker_multiplatform: true | ||
deploy_dev: | ||
name: Deploy to the development environment | ||
needs: | ||
- build | ||
- helm_lint | ||
uses: ministryofjustice/hmpps-github-actions/.github/workflows/deploy_env.yml@v2 # WORKFLOW_VERSION | ||
secrets: inherit | ||
with: | ||
environment: 'dev' | ||
app_version: '${{ needs.build.outputs.app_version }}' | ||
# deploy_preprod: | ||
# name: Deploy to pre-production environment | ||
# needs: | ||
# - build | ||
# - deploy_dev | ||
# uses: ministryofjustice/hmpps-github-actions/.github/workflows/deploy_env.yml@v2 # WORKFLOW_VERSION | ||
# secrets: inherit | ||
# with: | ||
# environment: 'preprod' | ||
# app_version: '${{ needs.build.outputs.app_version }}' | ||
# deploy_prod: | ||
# name: Deploy to production environment | ||
# needs: | ||
# - build | ||
# - deploy_preprod | ||
# uses: ministryofjustice/hmpps-github-actions/.github/workflows/deploy_env.yml@v2 # WORKFLOW_VERSION | ||
# secrets: inherit | ||
# with: | ||
# environment: 'prod' | ||
# app_version: '${{ needs.build.outputs.app_version }}' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
name: Security OWASP dependency check | ||
on: | ||
workflow_dispatch: | ||
schedule: | ||
- cron: "19 6 * * MON-FRI" # Every weekday | ||
jobs: | ||
security-kotlin-owasp-check: | ||
name: Kotlin security OWASP dependency check | ||
uses: ministryofjustice/hmpps-github-actions/.github/workflows/security_owasp.yml@v2 # WORKFLOW_VERSION | ||
with: | ||
channel_id: ${{ vars.SECURITY_ALERTS_SLACK_CHANNEL_ID || 'NO_SLACK' }} | ||
secrets: inherit |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
name: Security trivy dependency check | ||
on: | ||
workflow_dispatch: | ||
schedule: | ||
- cron: "19 6 * * MON-FRI" # Every weekday | ||
jobs: | ||
security-kotlin-trivy-check: | ||
name: Project security trivy dependency check | ||
uses: ministryofjustice/hmpps-github-actions/.github/workflows/security_trivy.yml@v2 # WORKFLOW_VERSION | ||
with: | ||
channel_id: ${{ vars.SECURITY_ALERTS_SLACK_CHANNEL_ID || 'NO_SLACK' }} | ||
secrets: inherit |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
name: Security veracode pipeline scan | ||
on: | ||
workflow_dispatch: | ||
schedule: | ||
- cron: "19 6 * * MON-FRI" # Every weekday | ||
jobs: | ||
security-veracode-pipeline-scan: | ||
name: Project security veracode pipeline scan | ||
uses: ministryofjustice/hmpps-github-actions/.github/workflows/security_veracode_pipeline_scan.yml@v2 # WORKFLOW_VERSION | ||
with: | ||
channel_id: ${{ vars.SECURITY_ALERTS_SLACK_CHANNEL_ID || 'NO_SLACK' }} | ||
secrets: inherit |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
name: Security veracode policy scan | ||
on: | ||
workflow_dispatch: | ||
schedule: | ||
- cron: "34 6 * * 1" # Every Monday | ||
jobs: | ||
security-veracode-policy-check: | ||
name: Project security veracode policy scan | ||
uses: ministryofjustice/hmpps-github-actions/.github/workflows/security_veracode_policy_scan.yml@v2 # WORKFLOW_VERSION | ||
with: | ||
channel_id: ${{ vars.SECURITY_ALERTS_SLACK_CHANNEL_ID || 'NO_SLACK' }} | ||
secrets: inherit |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
# Created by .ignore support plugin (hsz.mobi) | ||
### JetBrains template | ||
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm | ||
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 | ||
|
||
.idea/ | ||
.gradle/ | ||
.kotlin/ | ||
build/ | ||
|
||
# CMake | ||
cmake-build-debug/ | ||
|
||
## File-based project format: | ||
*.iws | ||
|
||
## Plugin-specific files: | ||
|
||
# IntelliJ | ||
out/ | ||
*.iml | ||
|
||
# mpeltonen/sbt-idea plugin | ||
.idea_modules/ | ||
|
||
# JIRA plugin | ||
atlassian-ide-plugin.xml | ||
|
||
# Crashlytics plugin (for Android Studio and IntelliJ) | ||
com_crashlytics_export_strings.xml | ||
crashlytics.properties | ||
crashlytics-build.properties | ||
fabric.properties | ||
### Java template | ||
# Compiled class file | ||
*.class | ||
|
||
# Log file | ||
*.log | ||
|
||
# BlueJ files | ||
*.ctxt | ||
|
||
# Mobile Tools for Java (J2ME) | ||
.mtj.tmp/ | ||
|
||
# Package Files # | ||
*.war | ||
*.ear | ||
*.zip | ||
*.tar.gz | ||
*.rar | ||
|
||
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml | ||
hs_err_pid* | ||
|
||
Dockerrun.aws.json | ||
dist | ||
|
||
# Elastic Beanstalk Files | ||
.elasticbeanstalk/* | ||
!.elasticbeanstalk/config.yml | ||
!.elasticbeanstalk/*.cfg.yml | ||
!.elasticbeanstalk/*.global.yml | ||
|
||
# AWS DOcker build | ||
ecr.repo | ||
dps-gradle-spring-boot-suppressions.xml | ||
.editorconfig | ||
sonar-project.properties | ||
|
||
#Helm | ||
**/Chart.lock |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
# WARNING - THIS FILE WAS GENERATED BY THE dps-gradle-spring-boot GRADLE PLUGIN | ||
# AND ANY MANUAL CHANGES WILL BE OVERRIDDEN ON YOUR NEXT BUILD. | ||
# | ||
# To make general changes to the suppressions below, change the gradle plugin dps-gradle-spring-boot, | ||
# publish a new version and update to the new version in your gradle build script | ||
# | ||
# To stop the dps-gradle-spring-boot project from overwriting any project specific customisations here, remove the | ||
# warning at the top of this file. | ||
# | ||
# Suppression for h2 2.1.214 password on command line vulnerability | ||
# can be suppressed as we only run h2 locally and not on build environments | ||
CVE-2022-45868 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
FROM --platform=$BUILDPLATFORM eclipse-temurin:21-jdk-jammy AS builder | ||
|
||
ARG BUILD_NUMBER | ||
ENV BUILD_NUMBER ${BUILD_NUMBER:-1_0_0} | ||
|
||
WORKDIR /app | ||
ADD . . | ||
RUN ./gradlew --no-daemon assemble | ||
|
||
FROM eclipse-temurin:21-jre-jammy | ||
LABEL maintainer="HMPPS Digital Studio <[email protected]>" | ||
|
||
ARG BUILD_NUMBER | ||
ENV BUILD_NUMBER ${BUILD_NUMBER:-1_0_0} | ||
|
||
RUN apt-get update && \ | ||
apt-get -y upgrade && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
ENV TZ=Europe/London | ||
RUN ln -snf "/usr/share/zoneinfo/$TZ" /etc/localtime && echo "$TZ" > /etc/timezone | ||
|
||
RUN addgroup --gid 2000 --system appgroup && \ | ||
adduser --uid 2000 --system appuser --gid 2000 | ||
|
||
WORKDIR /app | ||
COPY --from=builder --chown=appuser:appgroup /app/build/libs/hmpps-template-kotlin*.jar /app/app.jar | ||
COPY --from=builder --chown=appuser:appgroup /app/build/libs/applicationinsights-agent*.jar /app/agent.jar | ||
COPY --from=builder --chown=appuser:appgroup /app/applicationinsights.json /app | ||
COPY --from=builder --chown=appuser:appgroup /app/applicationinsights.dev.json /app | ||
|
||
USER 2000 | ||
|
||
ENTRYPOINT ["java", "-XX:+AlwaysActAsServerClassMachine", "-javaagent:/app/agent.jar", "-jar", "/app/app.jar"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
MIT License | ||
|
||
Copyright (c) 2020-2024 Crown Copyright (Ministry of Justice) | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
SOFTWARE. |
Oops, something went wrong.