eindelijk weer eens een push
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
#Installatie
|
||||
kubectl apply -f deptrack.yaml
|
||||
|
||||
Opletten dat de API-URL klopt met VIMEXX DNS in stellingen: deptracka.alldcs.nl
|
||||
Opletten dat de API-URL klopt met VIMEXX DNS in stellingen: deptracka.allarddcs.nl
|
||||
Dit kun je controleren door te "pingen".
|
||||
In de yaml moet de setting staan:
|
||||
|
||||
- name: API_BASE_URL
|
||||
value: 'https://deptracka-dev.alldcs.nl'
|
||||
value: 'https://deptracka-dev.allarddcs.nl'
|
||||
|
||||
#configuratie tekton:
|
||||
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: deptrack-data-pv
|
||||
spec:
|
||||
storageClassName: ""
|
||||
capacity:
|
||||
storage: 1Gi
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
mountOptions:
|
||||
- hard
|
||||
- nfsvers=4.1
|
||||
nfs:
|
||||
server: 192.168.2.111
|
||||
path: /mnt/nfs_share/dev/deptrack/data
|
||||
readOnly: false
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: deptrack-data-pvc
|
||||
namespace: deptrack
|
||||
spec:
|
||||
storageClassName: ""
|
||||
volumeName: deptrack-data-pv
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
volumeMode: Filesystem
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: deptrack-config-pv
|
||||
spec:
|
||||
storageClassName: ""
|
||||
capacity:
|
||||
storage: 1Gi
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
mountOptions:
|
||||
- hard
|
||||
- nfsvers=4.1
|
||||
nfs:
|
||||
server: 192.168.2.111
|
||||
path: /mnt/nfs_share/dev/deptrack/config
|
||||
readOnly: false
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: deptrack-config-pvc
|
||||
namespace: deptrack
|
||||
spec:
|
||||
storageClassName: ""
|
||||
volumeName: deptrack-config-pv
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
volumeMode: Filesystem
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
|
||||
@@ -0,0 +1,179 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: deptrack-apiserver
|
||||
namespace: deptrack
|
||||
labels:
|
||||
app: deptrack-apiserver
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: deptrack-apiserver
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: deptrack-apiserver
|
||||
spec:
|
||||
containers:
|
||||
- name: deptrack-apiserver
|
||||
image: dependencytrack/apiserver
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
env:
|
||||
- name: ALPINE_DATABASE_MODE
|
||||
value: 'external'
|
||||
- name: ALPINE_DATABASE_URL
|
||||
value: 'jdbc:postgresql://postgres13.deptrack.svc.cluster.local:5432/deptrack'
|
||||
- name: ALPINE_DATABASE_DRIVER
|
||||
value: 'org.postgresql.Driver'
|
||||
- name: ALPINE_DATABASE_USERNAME
|
||||
value: 'deptrack'
|
||||
- name: ALPINE_DATABASE_PASSWORD
|
||||
value: 'deptrack'
|
||||
- name: ALPINE_DATABASE_POOL_ENABLED
|
||||
value: 'true'
|
||||
- name: ALPINE_DATABASE_POOL_MAX_SIZE
|
||||
value: '20'
|
||||
- name: ALPINE_DATABASE_POOL_MIN_IDLE
|
||||
value: '10'
|
||||
- name: ALPINE_DATABASE_POOL_IDLE_TIMEOUT
|
||||
value: '300000'
|
||||
- name: ALPINE_DATABASE_POOL_MAX_LIFETIME
|
||||
value: '600000'
|
||||
volumeMounts:
|
||||
- mountPath: /data
|
||||
name: data
|
||||
volumes:
|
||||
- name: data
|
||||
persistentVolumeClaim:
|
||||
claimName: deptrack-data-pvc
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: deptrack-apiserver
|
||||
namespace: deptrack
|
||||
labels:
|
||||
name: deptrack-apiserver
|
||||
spec:
|
||||
type: ClusterIP
|
||||
ports:
|
||||
- port: 8080
|
||||
name: deptrack-apiserver
|
||||
selector:
|
||||
app: deptrack-apiserver
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: deptrack-frontend
|
||||
namespace: deptrack
|
||||
labels:
|
||||
app: deptrack-frontend
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: deptrack-frontend
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: deptrack-frontend
|
||||
spec:
|
||||
containers:
|
||||
- name: deptrack-frontend
|
||||
image: dependencytrack/frontend
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
env:
|
||||
- name: API_BASE_URL
|
||||
value: 'https://deptracka-dev.allarddcs.nl'
|
||||
volumeMounts:
|
||||
- name: config
|
||||
mountPath: /opt/owasp/dependency-track-frontend/static/config.json
|
||||
subPath: config.json
|
||||
volumes:
|
||||
- name: config
|
||||
persistentVolumeClaim:
|
||||
claimName: deptrack-config-pvc
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: deptrack-frontend
|
||||
namespace: deptrack
|
||||
labels:
|
||||
name: deptrack-frontend
|
||||
spec:
|
||||
type: ClusterIP
|
||||
ports:
|
||||
- port: 8080
|
||||
name: deptrack-frontend
|
||||
selector:
|
||||
app: deptrack-frontend
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: deptrackf-http
|
||||
namespace: deptrack
|
||||
spec:
|
||||
entryPoints:
|
||||
- web
|
||||
routes:
|
||||
- match: Host(`deptrackf-dev.allarddcs.nl`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: deptrack-frontend
|
||||
port: 8080
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: deptracka-http
|
||||
namespace: deptrack
|
||||
spec:
|
||||
entryPoints:
|
||||
- web
|
||||
routes:
|
||||
- match: Host(`deptracka-dev.allarddcs.nl`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: deptrack-apiserver
|
||||
port: 8080
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: deptrackf-tls
|
||||
namespace: deptrack
|
||||
spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`deptrackf-dev.allarddcs.nl`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: deptrack-frontend
|
||||
port: 8080
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: deptracka-tls
|
||||
namespace: deptrack
|
||||
spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`deptracka-dev.allarddcs.nl`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: deptrack-apiserver
|
||||
port: 8080
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
|
||||
@@ -1,8 +1,3 @@
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: deptrack
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
@@ -114,7 +109,6 @@ spec:
|
||||
echo "Init container starting..."
|
||||
# Make sure temporary mount exists
|
||||
mkdir -p /mnt/config
|
||||
|
||||
# Copy config.json from image to PVC if it doesn't exist
|
||||
if [ ! -f /mnt/config/config.json ]; then
|
||||
echo "Seeding config.json from container image..."
|
||||
@@ -221,72 +215,4 @@ spec:
|
||||
port: 8080
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: deptrack-data-pv
|
||||
spec:
|
||||
storageClassName: ""
|
||||
capacity:
|
||||
storage: 1Gi
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
mountOptions:
|
||||
- hard
|
||||
- nfsvers=4.1
|
||||
nfs:
|
||||
server: 192.168.2.110
|
||||
path: /mnt/nfs_share/deptrack/data
|
||||
readOnly: false
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: deptrack-data-pvc
|
||||
namespace: deptrack
|
||||
spec:
|
||||
storageClassName: ""
|
||||
volumeName: deptrack-data-pv
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
volumeMode: Filesystem
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: deptrack-config-pv
|
||||
spec:
|
||||
storageClassName: ""
|
||||
capacity:
|
||||
storage: 1Gi
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
mountOptions:
|
||||
- hard
|
||||
- nfsvers=4.1
|
||||
nfs:
|
||||
server: 192.168.2.110
|
||||
path: /mnt/nfs_share/deptrack/config
|
||||
readOnly: false
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: deptrack-config-pvc
|
||||
namespace: deptrack
|
||||
spec:
|
||||
storageClassName: ""
|
||||
volumeName: deptrack-config-pv
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
volumeMode: Filesystem
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
|
||||
|
||||
Executable
+88
@@ -0,0 +1,88 @@
|
||||
apiVersion: apps/v1
|
||||
kind: StatefulSet
|
||||
metadata:
|
||||
name: postgres13
|
||||
namespace: deptrack
|
||||
spec:
|
||||
serviceName: postgres13
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: postgres13
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: postgres13
|
||||
spec:
|
||||
containers:
|
||||
- name: postgres13
|
||||
image: postgres:13
|
||||
# command: ["sh"]
|
||||
# args: ["-c", "while true; do echo $(date -u) >> /tmp/run.log; sleep 5; done"]
|
||||
ports:
|
||||
- containerPort: 5432
|
||||
env:
|
||||
- name: POSTGRES_DB
|
||||
value: deptrack
|
||||
- name: POSTGRES_USER
|
||||
value: deptrack
|
||||
- name: POSTGRES_PASSWORD
|
||||
value: deptrack
|
||||
volumeMounts:
|
||||
- mountPath: /var/lib/postgresql/data
|
||||
name: postgres
|
||||
volumes:
|
||||
- name: postgres
|
||||
persistentVolumeClaim:
|
||||
claimName: deptrack-postgres-pvc
|
||||
nodeSelector:
|
||||
node.kubernetes.io/microk8s-worker: microk8s-worker
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: postgres13
|
||||
namespace: deptrack
|
||||
labels:
|
||||
name: postgres13
|
||||
spec:
|
||||
type: ClusterIP
|
||||
ports:
|
||||
- port: 5432
|
||||
name: postgres
|
||||
selector:
|
||||
app: postgres13
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: deptrack-postgres-pv
|
||||
spec:
|
||||
storageClassName: ""
|
||||
capacity:
|
||||
storage: 2Gi
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
mountOptions:
|
||||
- hard
|
||||
- nfsvers=4.1
|
||||
nfs:
|
||||
server: 192.168.2.111
|
||||
path: /mnt/nfs_share/dev/deptrack/postgres
|
||||
readOnly: false
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: deptrack-postgres-pvc
|
||||
namespace: deptrack
|
||||
spec:
|
||||
storageClassName: ""
|
||||
volumeName: deptrack-postgres-pv
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
volumeMode: Filesystem
|
||||
resources:
|
||||
requests:
|
||||
storage: 2Gi
|
||||
@@ -0,0 +1,250 @@
|
||||
---
|
||||
common:
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
image:
|
||||
registry: docker.io
|
||||
pullSecrets: []
|
||||
secretKey:
|
||||
# -- Whether the chart should generate a secret key upon deployment.
|
||||
createSecret: false
|
||||
# -- Use the secret key defined in an existing secret.
|
||||
existingSecretName: ""
|
||||
serviceAccount:
|
||||
# -- Whether the chart should generate a serviceAccount
|
||||
create: true
|
||||
annotations: {}
|
||||
# -- Use the name of the name of the release by default, or specify a custom name.
|
||||
name: ""
|
||||
# -- Whether the serviceAccount should mount the token.
|
||||
automount: false
|
||||
# -- Whether service links should be added to the Pods
|
||||
enableServiceLinks: true
|
||||
|
||||
apiServer:
|
||||
# -- The type of deployment. Can be either Deployment or StatefulSet.
|
||||
deploymentType: StatefulSet
|
||||
annotations: {}
|
||||
metrics:
|
||||
# -- Enable Prometheus scraping annotations on pods
|
||||
enabled: true
|
||||
image:
|
||||
# -- Override common.image.registry for the API server.
|
||||
registry: ""
|
||||
repository: dependencytrack/apiserver
|
||||
# -- Can be a tag name such as "latest", or an image digest
|
||||
# prefixed with "sha256:". Defaults to AppVersion of the chart.
|
||||
tag: ""
|
||||
pullPolicy: IfNotPresent
|
||||
command: []
|
||||
args: []
|
||||
resources:
|
||||
requests:
|
||||
cpu: "2"
|
||||
memory: 5Gi
|
||||
limits:
|
||||
memory: 5Gi
|
||||
# -- Security context of the Pod.
|
||||
# Aids in preventing permission issues with persistent volumes.
|
||||
# For OpenShift, explicitly set this to null.
|
||||
podSecurityContext:
|
||||
fsGroup: 1000
|
||||
# -- Security context of the Container.
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop:
|
||||
- ALL
|
||||
runAsNonRoot: true
|
||||
readOnlyRootFilesystem: true
|
||||
seccompProfile:
|
||||
type: RuntimeDefault
|
||||
persistentVolume:
|
||||
enabled: false
|
||||
className: ""
|
||||
size: 5Gi
|
||||
extraEnv:
|
||||
[]
|
||||
# - name: "ALPINE_DATABASE_PASSWORD"
|
||||
# valueFrom:
|
||||
# secretKeyRef:
|
||||
# key: db-password
|
||||
# name: dependencytrack-secrets
|
||||
# - name: ALPINE_DATABASE_MODE
|
||||
# value: "external"
|
||||
extraEnvFrom: []
|
||||
# -- Additional containers to deploy. Supports templating.
|
||||
extraContainers: []
|
||||
extraPodLabels: {}
|
||||
tolerations: []
|
||||
probes:
|
||||
startup:
|
||||
path: "/health/started"
|
||||
failureThreshold: 30
|
||||
initialDelaySeconds: 10
|
||||
periodSeconds: 10
|
||||
successThreshold: 1
|
||||
timeoutSeconds: 5
|
||||
liveness:
|
||||
path: "/health/live"
|
||||
failureThreshold: 3
|
||||
initialDelaySeconds: 10
|
||||
periodSeconds: 15
|
||||
successThreshold: 1
|
||||
timeoutSeconds: 5
|
||||
readiness:
|
||||
path: "/health/ready"
|
||||
failureThreshold: 3
|
||||
initialDelaySeconds: 10
|
||||
periodSeconds: 15
|
||||
successThreshold: 1
|
||||
timeoutSeconds: 5
|
||||
additionalVolumeMounts: []
|
||||
# - name: foo
|
||||
# mountPath: /bar
|
||||
additionalVolumes:
|
||||
[]
|
||||
# - name: foo
|
||||
# emptyDir: {}
|
||||
service:
|
||||
type: ClusterIP
|
||||
nodePort: ~
|
||||
annotations: {}
|
||||
serviceMonitor:
|
||||
enabled: false
|
||||
namespace: monitoring
|
||||
scrapeInterval: 60s
|
||||
scrapeTimeout: 30s
|
||||
labels: {}
|
||||
# -- Additional init containers to deploy. Supports templating.
|
||||
initContainers: []
|
||||
# Use the following to fix permissions on the /data volume,
|
||||
# IF USING podSecurityContext IS NOT POSSIBLE (i.e. for OpenShift).
|
||||
#
|
||||
# initContainers:
|
||||
# - name: fix-permissions
|
||||
# image: docker.io/library/busybox
|
||||
# command:
|
||||
# - sh
|
||||
# - -c
|
||||
# - |
|
||||
# chown -R 1000:1000 /data
|
||||
# volumeMounts:
|
||||
# - name: data
|
||||
# mountPath: /data
|
||||
# securityContext:
|
||||
# capabilities:
|
||||
# add:
|
||||
# - CHOWN
|
||||
# runAsNonRoot: false
|
||||
# runAsUser: 0
|
||||
# seccompProfile:
|
||||
# type: RuntimeDefault
|
||||
nodeSelector: {}
|
||||
|
||||
frontend:
|
||||
replicaCount: 1
|
||||
annotations: {}
|
||||
image:
|
||||
# -- Override common.image.registry for the frontend.
|
||||
registry: ""
|
||||
repository: dependencytrack/frontend
|
||||
# -- Can be a tag name such as "latest", or an image digest
|
||||
# prefixed with "sha256:". Defaults to AppVersion of the chart.
|
||||
tag: ""
|
||||
pullPolicy: IfNotPresent
|
||||
command: []
|
||||
args: []
|
||||
resources:
|
||||
requests:
|
||||
cpu: 150m
|
||||
memory: 64Mi
|
||||
limits:
|
||||
memory: 128Mi
|
||||
# -- Security context of the Pod.
|
||||
# Aids in preventing permission issues with persistent volumes.
|
||||
# For OpenShift, explicitly set this to null.
|
||||
podSecurityContext:
|
||||
fsGroup: 1000
|
||||
# -- Security context of the Container.
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop:
|
||||
- ALL
|
||||
runAsNonRoot: true
|
||||
# RO filesystems are not supported by the frontend
|
||||
readOnlyRootFilesystem: false
|
||||
seccompProfile:
|
||||
type: RuntimeDefault
|
||||
extraEnv: []
|
||||
extraEnvFrom: []
|
||||
# -- Additional containers to deploy. Supports templating.
|
||||
extraContainers: []
|
||||
extraPodLabels: {}
|
||||
tolerations: []
|
||||
probes:
|
||||
liveness:
|
||||
failureThreshold: 3
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 15
|
||||
successThreshold: 1
|
||||
timeoutSeconds: 5
|
||||
readiness:
|
||||
failureThreshold: 3
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 15
|
||||
successThreshold: 1
|
||||
timeoutSeconds: 5
|
||||
additionalVolumeMounts:
|
||||
[]
|
||||
# - name: foo
|
||||
# mountPath: /bar
|
||||
additionalVolumes:
|
||||
[]
|
||||
# - name: foo
|
||||
# emptyDir: {}
|
||||
service:
|
||||
type: ClusterIP
|
||||
nodePort: ~
|
||||
annotations: {}
|
||||
apiBaseUrl: ""
|
||||
# -- Additional init containers to deploy. Supports templating.
|
||||
initContainers: []
|
||||
nodeSelector: {}
|
||||
|
||||
ingress:
|
||||
enabled: false
|
||||
annotations: {}
|
||||
labels: {}
|
||||
hostname: "example.com"
|
||||
ingressClassName: ""
|
||||
tls: []
|
||||
# - secretName: dt-tls
|
||||
# hosts:
|
||||
# - example.com
|
||||
|
||||
httpRoute:
|
||||
enabled: false
|
||||
annotations: {}
|
||||
labels: {}
|
||||
hostnames:
|
||||
- "example.com"
|
||||
parentRefs: []
|
||||
# - name: my-gateway
|
||||
# namespace: default
|
||||
# sectionName: https
|
||||
|
||||
# -- Create extra manifests via values.
|
||||
extraObjects:
|
||||
[]
|
||||
# - apiVersion: "kubernetes-client.io/v1"
|
||||
# kind: ExternalSecret
|
||||
# metadata:
|
||||
# name: tempo-secrets
|
||||
# spec:
|
||||
# backendType: aws
|
||||
# data:
|
||||
# - key: secret-access-key
|
||||
# name: awssm-secret
|
||||
|
||||
Reference in New Issue
Block a user