Skip to content

Commit

Permalink
chore: deploy files for prod&demo
Browse files Browse the repository at this point in the history
  • Loading branch information
NilsOveTen committed Oct 10, 2024
1 parent 97734c8 commit b4e2287
Show file tree
Hide file tree
Showing 8 changed files with 260 additions and 0 deletions.
22 changes: 22 additions & 0 deletions .github/workflows/codeql.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Code scanning (CodeQL)

on:
pull_request:
types: [ready_for_review, opened, reopened, synchronize]
branches:
- main
push:
branches:
- main
schedule:
- cron: '0 2 * * *'

jobs:
codeql:
name: Run codeql scan
if: github.event.pull_request.draft == false
uses: Informasjonsforvaltning/workflows/.github/workflows/codeql.yaml@main
with:
language: java
secrets:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
46 changes: 46 additions & 0 deletions .github/workflows/deploy-prod&demo.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Deploy to production and demo

on:
push:
branches:
- main
workflow_dispatch:

jobs:
build-fdk-statistics-service:
name: Build on merge to main branch
uses: Informasjonsforvaltning/workflows/.github/workflows/build-push.yaml@main
with:
app_name: fdk-statistics-service
environment: prod
java_version: '21'
coverage_file_path: ./target/site/jacoco/jacoco.xml
secrets:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GCP_SA_DIGDIR_FDK_GCR_KEY: ${{ secrets.GCP_SA_DIGDIR_FDK_GCR_KEY }}

deploy-prod:
name: Deploy to prod environment
needs: [ build-fdk-statistics-service ]
uses: Informasjonsforvaltning/workflows/.github/workflows/kustomize-deploy.yaml@main
with:
app_name: fdk-statistics-service
environment: prod
cluster: digdir-fdk-prod
secrets:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DIGDIR_FDK_AUTODEPLOY: ${{ secrets.DIGDIR_FDK_PROD_AUTODEPLOY }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}

deploy-demo:
name: Deploy to prod environment
needs: [ deploy-prod ]
uses: Informasjonsforvaltning/workflows/.github/workflows/kustomize-deploy.yaml@main
with:
app_name: fdk-statistics-service
environment: demo
cluster: digdir-fdk-dev
secrets:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DIGDIR_FDK_AUTODEPLOY: ${{ secrets.DIGDIR_FDK_DEV_AUTODEPLOY }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
58 changes: 58 additions & 0 deletions deploy/demo/env.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: fdk-statistics-service
labels:
app: fdk-statistics-service
spec:
template:
spec:
containers:
- name: fdk-statistics-service
env:
- name: POSTGRES_HOST
valueFrom:
secretKeyRef:
name: postgres-demo
key: HOST
- name: POSTGRES_PORT
valueFrom:
secretKeyRef:
name: postgres-demo
key: PORT
- name: POSTGRES_DB
valueFrom:
secretKeyRef:
name: fdk-statistics-service
key: POSTGRESQL_DB
- name: POSTGRES_USERNAME
valueFrom:
secretKeyRef:
name: fdk-statistics-service
key: POSTGRESQL_USER
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: fdk-statistics-service
key: POSTGRESQL_PASSWORD
- name: KAFKA_SCHEMA_REGISTRY
valueFrom:
secretKeyRef:
name: fdk-metadata-quality-demo
key: SCHEMA_REGISTRY
- name: KAFKA_BOOTSTRAP_SERVERS
valueFrom:
secretKeyRef:
name: fdk-metadata-quality-demo
key: BROKERS
- name: SSO_HOST
valueFrom:
secretKeyRef:
name: commonurl-demo
key: SSO_BASE_URI
- name: CORS_ORIGIN_PATTERNS
valueFrom:
secretKeyRef:
name: fdk-statistics-service
key: CORS_ORIGIN_PATTERNS
28 changes: 28 additions & 0 deletions deploy/demo/ingress.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: fdk-statistics-service
annotations:
nginx.ingress.kubernetes.io/limit-rps: '4'
nginx.ingress.kubernetes.io/limit-burst-multiplier: '2'
nginx.ingress.kubernetes.io/limit-whitelist: '10.0.0.0/8,162.244.5.0/24'
nginx.ingress.kubernetes.io/server-snippet: |
server_tokens off;
location ~ ^/(ping|ready|prometheus) {
deny all;
return 404;
}
spec:
ingressClassName: nginx
rules:
- host: statistics.api.demo.fellesdatakatalog.digdir.no
http:
paths:
- backend:
service:
name: fdk-statistics-service
port:
number: 8080
path: /
pathType: Prefix
10 changes: 10 additions & 0 deletions deploy/demo/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: demo
resources:
- ../base
- ingress.yaml

patchesStrategicMerge:
- env.yaml
58 changes: 58 additions & 0 deletions deploy/prod/env.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: fdk-statistics-service
labels:
app: fdk-statistics-service
spec:
template:
spec:
containers:
- name: fdk-statistics-service
env:
- name: POSTGRES_HOST
valueFrom:
secretKeyRef:
name: postgres-prod
key: HOST
- name: POSTGRES_PORT
valueFrom:
secretKeyRef:
name: postgres-prod
key: PORT
- name: POSTGRES_DB
valueFrom:
secretKeyRef:
name: fdk-statistics-service
key: POSTGRESQL_DB
- name: POSTGRES_USERNAME
valueFrom:
secretKeyRef:
name: fdk-statistics-service
key: POSTGRESQL_USER
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: fdk-statistics-service
key: POSTGRESQL_PASSWORD
- name: KAFKA_SCHEMA_REGISTRY
valueFrom:
secretKeyRef:
name: fdk-metadata-quality-prod
key: SCHEMA_REGISTRY
- name: KAFKA_BOOTSTRAP_SERVERS
valueFrom:
secretKeyRef:
name: fdk-metadata-quality-prod
key: BROKERS
- name: SSO_HOST
valueFrom:
secretKeyRef:
name: commonurl-prod
key: SSO_BASE_URI
- name: CORS_ORIGIN_PATTERNS
valueFrom:
secretKeyRef:
name: fdk-statistics-service
key: CORS_ORIGIN_PATTERNS
28 changes: 28 additions & 0 deletions deploy/prod/ingress.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: fdk-statistics-service
annotations:
nginx.ingress.kubernetes.io/limit-rps: '4'
nginx.ingress.kubernetes.io/limit-burst-multiplier: '2'
nginx.ingress.kubernetes.io/limit-whitelist: '10.0.0.0/8,162.244.5.0/24'
nginx.ingress.kubernetes.io/server-snippet: |
server_tokens off;
location ~ ^/(ping|ready|prometheus) {
deny all;
return 404;
}
spec:
ingressClassName: nginx
rules:
- host: statistics.api.fellesdatakatalog.digdir.no
http:
paths:
- backend:
service:
name: fdk-statistics-service
port:
number: 8080
path: /
pathType: Prefix
10 changes: 10 additions & 0 deletions deploy/prod/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: prod
resources:
- ../base
- ingress.yaml

patchesStrategicMerge:
- env.yaml

0 comments on commit b4e2287

Please sign in to comment.