Skip to content
Snippets Groups Projects
Commit 3d94be46 authored by Martin Weise's avatar Martin Weise
Browse files

Merge branch 'master' into release-latest

parents 4b423bc6 fc893770
No related branches found
No related tags found
No related merge requests found
Showing
with 477 additions and 236 deletions
......@@ -4,14 +4,14 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: data-service
namespace: {{ $.Values.namespace }}
namespace: {{ .Values.namespace }}
labels:
app: data-service
service: data-service
spec:
replicas: {{ .Values.metadataService.replicaCount }}
replicas: {{ .Values.dataService.replicaCount }}
strategy:
type: {{ $.Values.strategyType }}
type: {{ .Values.strategyType }}
selector:
matchLabels:
app: data-service
......@@ -28,7 +28,7 @@ spec:
runAsGroup: 1000
containers:
- name: data-service
image: {{ printf "%s/%s:%s" .Values.dataService.image.registry .Values.dataService.image.repository .Values.dataService.image.tag }}
image: {{ .Values.dataService.image.name }}
imagePullPolicy: {{ .Values.dataService.image.pullPolicy | default "IfNotPresent" }}
ports:
- containerPort: 9093
......
{{ $pidBase := printf "https://%s/pid/" .Values.hostname }}
{{ $jwtIssuer := printf "https://%s/api/auth/realms/dbrepo" .Values.hostname }}
---
apiVersion: v1
......
{{- if .Values.ingress.enabled }}
{{- range .Values.ingress.data }}
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: dbrepo-{{ .name }}
{{- with .annotations }}
annotations:
{{- toYaml . | nindent 4 }}
name: dbrepo-ingress-basic
annotations: {{ toYaml .Values.ingress.annotations.basic | nindent 4 }}
namespace: {{ .Values.namespace }}
spec:
ingressClassName: {{ .Values.ingress.className }}
{{- if .Values.ingress.tls.enabled }}
tls:
- hosts:
- {{ .Values.hostname }}
secretName: {{ .Values.ingress.tls.secretName }}
{{- end }}
namespace: {{ $.Values.namespace }}
rules:
- host: {{ .Values.hostname }}
http:
paths:
- path: /api/analyse
pathType: Prefix
backend:
service:
name: analyse-service
port:
number: 80
- path: /api/search
pathType: Prefix
backend:
service:
name: search-service
port:
number: 80
- path: /api
pathType: Prefix
backend:
service:
name: metadata-service
port:
number: 80
- path: /
pathType: Prefix
backend:
service:
name: ui
port:
number: 80
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: dbrepo-ingress-upload
annotations: {{ toYaml .Values.ingress.annotations.upload | nindent 4 }}
namespace: {{ .Values.namespace }}
spec:
ingressClassName: nginx
{{- if .tls }}
ingressClassName: {{ .Values.ingress.className }}
{{- if .Values.ingress.tls.enabled }}
tls:
{{- range .tls }}
- hosts:
- "{{ $.Values.hostname }}"
secretName: {{ .secretName }}
- {{ .Values.hostname }}
secretName: {{ .Values.ingress.tls.secretName }}
{{- end }}
rules:
- host: {{ .Values.hostname }}
http:
paths:
- path: /api/upload
pathType: Prefix
backend:
service:
name: upload-service
port:
number: 80
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: dbrepo-ingress-dashboard
annotations: {{ toYaml .Values.ingress.annotations.secure | nindent 4 }}
namespace: {{ .Values.namespace }}
spec:
ingressClassName: {{ .Values.ingress.className }}
{{- if .Values.ingress.tls.enabled }}
tls:
- hosts:
- {{ .Values.hostname }}
secretName: {{ .Values.ingress.tls.secretName }}
{{- end }}
rules:
{{- range .hosts }}
- host: "{{ $.Values.hostname }}"
- host: {{ .Values.hostname }}
http:
paths:
{{- range .paths }}
- path: {{ .path }}
pathType: {{ .pathType }}
- path: /admin/dashboard
pathType: Prefix
backend:
service:
name: {{ .serviceName }}
name: search-db-dashboard
port:
number: {{ .portNumber }}
number: 5601
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: dbrepo-ingress-rewrite-api
annotations: {{ toYaml .Values.ingress.annotations.rewriteApi | nindent 4 }}
namespace: {{ .Values.namespace }}
spec:
ingressClassName: {{ .Values.ingress.className }}
{{- if .Values.ingress.tls.enabled }}
tls:
- hosts:
- {{ .Values.hostname }}
secretName: {{ .Values.ingress.tls.secretName }}
{{- end }}
rules:
- host: {{ .Values.hostname }}
http:
paths:
- path: /api/broker/(.*)
pathType: ImplementationSpecific
backend:
service:
name: broker-service
port:
number: 15672
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: dbrepo-ingress-rewrite-root
annotations: {{ toYaml .Values.ingress.annotations.rewriteRoot | nindent 4 }}
namespace: {{ .Values.namespace }}
spec:
ingressClassName: {{ .Values.ingress.className }}
{{- if .Values.ingress.tls.enabled }}
tls:
- hosts:
- {{ .Values.hostname }}
secretName: {{ .Values.ingress.tls.secretName }}
{{- end }}
rules:
- host: {{ .Values.hostname }}
http:
paths:
- path: /admin/broker/(.*)
pathType: ImplementationSpecific
backend:
service:
name: broker-service
port:
number: 15672
- path: /admin/storage
pathType: ImplementationSpecific
backend:
service:
name: storageservice-s3
port:
number: 9000
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: dbrepo-ingress-rewrite-root-secure
annotations: {{ toYaml .Values.ingress.annotations.rewriteRoot | nindent 4 }}
namespace: {{ .Values.namespace }}
spec:
ingressClassName: {{ .Values.ingress.className }}
{{- if .Values.ingress.tls.enabled }}
tls:
- hosts:
- {{ .Values.hostname }}
secretName: {{ .Values.ingress.tls.secretName }}
{{- end }}
rules:
- host: {{ .Values.hostname }}
http:
paths:
- path: /api/auth/(.*)
pathType: ImplementationSpecific
backend:
service:
name: auth-service
port:
number: 443
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: dbrepo-ingress-pid
annotations: {{ toYaml .Values.ingress.annotations.rewritePid | nindent 4 }}
namespace: {{ .Values.namespace }}
spec:
ingressClassName: {{ .Values.ingress.className }}
{{- if .Values.ingress.tls.enabled }}
tls:
- hosts:
- {{ .Values.hostname }}
secretName: {{ .Values.ingress.tls.secretName }}
{{- end }}
rules:
- host: {{ .Values.hostname }}
http:
paths:
- path: /pid/(.*)
pathType: ImplementationSpecific
backend:
service:
name: metadata-service
port:
number: 80
\ No newline at end of file
......@@ -4,14 +4,14 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: metadata-service
namespace: {{ $.Values.namespace }}
namespace: {{ .Values.namespace }}
labels:
app: metadata-service
service: metadata-service
spec:
replicas: {{ .Values.metadataService.replicaCount }}
strategy:
type: {{ $.Values.strategyType }}
type: {{ .Values.strategyType }}
selector:
matchLabels:
app: metadata-service
......@@ -29,7 +29,7 @@ spec:
runAsGroup: 1000
containers:
- name: metadata-service
image: {{ printf "%s/%s:%s" .Values.metadataService.image.registry .Values.metadataService.image.repository .Values.metadataService.image.tag }}
image: {{ .Values.metadataService.image.name }}
imagePullPolicy: {{ .Values.metadataService.image.pullPolicy | default "IfNotPresent" }}
securityContext:
runAsUser: 1000
......
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: search-db
namespace: {{ .Values.namespace }}
spec:
isCA: false
duration: 2160h # 90d
renewBefore: 360h # 15d
commonName: search-db
secretName: search-db-cert
privateKey:
algorithm: RSA
encoding: PKCS8
size: 2048
usages:
- server auth
- client auth
issuerRef:
name: selfsigned-cluster-issuer
kind: ClusterIssuer
group: cert-manager.io
\ No newline at end of file
---
apiVersion: v1
kind: Secret
type: kubernetes.io/tls
metadata:
name: search-db-cert
namespace: {{ .Values.namespace }}
data:
tls.crt: |
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM0akNDQWNxZ0F3SUJBZ0lSQVAvcFJoaFQ5
SFVWaUFzYitybmJjdkV3RFFZSktvWklodmNOQVFFTEJRQXcKRkRFU01CQUdBMVVFQXhNSmMyVmhj
bU5vTFdSaU1CNFhEVEkwTURRd056RTRORFEwT0ZvWERUSTBNRGN3TmpFNApORFEwT0Zvd0ZERVNN
QkFHQTFVRUF4TUpjMlZoY21Ob0xXUmlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DCkFROEFN
SUlCQ2dLQ0FRRUFzb3lTWTduV3J0MTRVQjNST0kwOWRtMVNSU2lDZ2hQYVhwRlJTMjhjalpNSUFz
TUoKR2ZwREZ5VktOQ3pTV0VZN0J2M1JpOHlrRnlZNkpFb2p0S3oxdk9GNnNyQ2JYZnhsY1NiZDk3
UVYwdU9IYTZKRApsWGN2aUJEKzN2ZTB0K0MzRGFPSFVMY1liVWkzS2xOS3FwTDU1Q2ZNeTYzdU4z
a21zekRwTjVycWhOYnBlVTAxCnd2NFZNaldNZ3RlU1VpWDNqeU1EcUFOa1B3UXFiYnZHN0hBUm54
Q0QvMHJFeEVvRjNqRCtGV01XbEVjdXR1VGkKbFJ5QnN3L1FLTWd0aVJVSFJXYUJGK2ZES0wxSUoz
YVhmcDR5bmNhL2tCR3pxVGpqb3dJb2R0MEdOZjBFa1QyQgpTWG9hZGtwdVptT2JiVDF2UmN1T1BH
UEZjWVd5Qm1ucS9adEorUUlEQVFBQm95OHdMVEFkQmdOVkhTVUVGakFVCkJnZ3JCZ0VGQlFjREFR
WUlLd1lCQlFVSEF3SXdEQVlEVlIwVEFRSC9CQUl3QURBTkJna3Foa2lHOXcwQkFRc0YKQUFPQ0FR
RUFlUU4vaUsvRzhHbGt5R0w1NjlrZnBiWEE2bE8vRHFObGlXRkgrY2ZIZ0NzYWxKMWVSSjliY1RZ
dgo0S3Y0MDlWUWpCbVg0WTRqMUt6R1ZnYkZaZkh1Ry9Nb0dzWVVnQ1VjTm94ZThtM0ZUcjRwYnZT
MXNUV0V4cGFNCkpSMURQQmNMV0o3MndTQzBkRFpISC9hVVNSMUs4UGpnMWtaMVRINTdvZDJoNWpJ
RUFhZkd1ZGhzejVpWlZQcVkKR1lrakZhRklVeXpjWkxUbjFBNXRwSlpTRmhxZHZGQmFndURUYkp4
NmROVWZVc0sxZXFuaThSQVN6L3dPbHQwcQpSckExbVdCTEI1NW9XRzh4ZXZicmtNNUNuSWVvL2hS
SG83cE1pUFQxWE5uT2cvNjhmZEc4T0lXMFFhNjdMVEZnCnU2dTkxQ1BmVk5KVHQ5bmlZWHJ4N1hl
SEJ2dW1iUT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
ca.crt: |
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM0akNDQWNxZ0F3SUJBZ0lSQVAvcFJoaFQ5
SFVWaUFzYitybmJjdkV3RFFZSktvWklodmNOQVFFTEJRQXcKRkRFU01CQUdBMVVFQXhNSmMyVmhj
bU5vTFdSaU1CNFhEVEkwTURRd056RTRORFEwT0ZvWERUSTBNRGN3TmpFNApORFEwT0Zvd0ZERVNN
QkFHQTFVRUF4TUpjMlZoY21Ob0xXUmlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DCkFROEFN
SUlCQ2dLQ0FRRUFzb3lTWTduV3J0MTRVQjNST0kwOWRtMVNSU2lDZ2hQYVhwRlJTMjhjalpNSUFz
TUoKR2ZwREZ5VktOQ3pTV0VZN0J2M1JpOHlrRnlZNkpFb2p0S3oxdk9GNnNyQ2JYZnhsY1NiZDk3
UVYwdU9IYTZKRApsWGN2aUJEKzN2ZTB0K0MzRGFPSFVMY1liVWkzS2xOS3FwTDU1Q2ZNeTYzdU4z
a21zekRwTjVycWhOYnBlVTAxCnd2NFZNaldNZ3RlU1VpWDNqeU1EcUFOa1B3UXFiYnZHN0hBUm54
Q0QvMHJFeEVvRjNqRCtGV01XbEVjdXR1VGkKbFJ5QnN3L1FLTWd0aVJVSFJXYUJGK2ZES0wxSUoz
YVhmcDR5bmNhL2tCR3pxVGpqb3dJb2R0MEdOZjBFa1QyQgpTWG9hZGtwdVptT2JiVDF2UmN1T1BH
UEZjWVd5Qm1ucS9adEorUUlEQVFBQm95OHdMVEFkQmdOVkhTVUVGakFVCkJnZ3JCZ0VGQlFjREFR
WUlLd1lCQlFVSEF3SXdEQVlEVlIwVEFRSC9CQUl3QURBTkJna3Foa2lHOXcwQkFRc0YKQUFPQ0FR
RUFlUU4vaUsvRzhHbGt5R0w1NjlrZnBiWEE2bE8vRHFObGlXRkgrY2ZIZ0NzYWxKMWVSSjliY1RZ
dgo0S3Y0MDlWUWpCbVg0WTRqMUt6R1ZnYkZaZkh1Ry9Nb0dzWVVnQ1VjTm94ZThtM0ZUcjRwYnZT
MXNUV0V4cGFNCkpSMURQQmNMV0o3MndTQzBkRFpISC9hVVNSMUs4UGpnMWtaMVRINTdvZDJoNWpJ
RUFhZkd1ZGhzejVpWlZQcVkKR1lrakZhRklVeXpjWkxUbjFBNXRwSlpTRmhxZHZGQmFndURUYkp4
NmROVWZVc0sxZXFuaThSQVN6L3dPbHQwcQpSckExbVdCTEI1NW9XRzh4ZXZicmtNNUNuSWVvL2hS
SG83cE1pUFQxWE5uT2cvNjhmZEc4T0lXMFFhNjdMVEZnCnU2dTkxQ1BmVk5KVHQ5bmlZWHJ4N1hl
SEJ2dW1iUT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
tls.key: |
LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2UUlCQURBTkJna3Foa2lHOXcwQkFRRUZB
QVNDQktjd2dnU2pBZ0VBQW9JQkFRQ3lqSkpqdWRhdTNYaFEKSGRFNGpUMTJiVkpGS0lLQ0U5cGVr
VkZMYnh5Tmt3Z0N3d2taK2tNWEpVbzBMTkpZUmpzRy9kR0x6S1FYSmpvawpTaU8wclBXODRYcXlz
SnRkL0dWeEp0MzN0QlhTNDRkcm9rT1ZkeStJRVA3ZTk3UzM0TGNObzRkUXR4aHRTTGNxClUwcXFr
dm5rSjh6THJlNDNlU2F6TU9rM211cUUxdWw1VFRYQy9oVXlOWXlDMTVKU0pmZVBJd09vQTJRL0JD
cHQKdThic2NCR2ZFSVAvU3NURVNnWGVNUDRWWXhhVVJ5NjI1T0tWSElHekQ5QW95QzJKRlFkRlpv
RVg1OE1vdlVnbgpkcGQrbmpLZHhyK1FFYk9wT09PakFpaDIzUVkxL1FTUlBZRkplaHAyU201bVk1
dHRQVzlGeTQ0OFk4VnhoYklHCmFlcjltMG41QWdNQkFBRUNnZ0VCQUtPZ3A5ZTB5OFhkT1JGVEFo
WXRlaEk2QlpkVGxLYll3dHEvbWh6amF1dGoKdjRlb2JZTGRFdmIzT1pXdkxlV3dGeEJGTS9CR1Rt
cllvWmY0U2RpZVdXWUx6WUpNejFYR3BNQ1p1Zm56azd4OAp2L0luOW4vWGhqdlFONExteHp0c09O
WEs4NHRKQUozR2NmWGI5eVZ6SklldTRjUVhWYVNJNXFwNVBJRzArdzlZCnk2NTFWZkZJQUd3SmRI
QlpId1lmQUdxbU5oVlo3MDc4TVUxQWU2Y2VkZjJ0RnlWYW5ScXBLUFZ1Z0tGQy9kRG8KVXJIMHRJ
ajFkU3RKRGxucHJ3YVYrMDRkUDBvZnlBc09ablp3VXRzZE8vM1ZMMWR4bCtIT1dGeUpvSjI1dkF2
eAp5ZW5qc0dzd1pJRW1oUzM0NVRVTlFNbTJzYnJtYklMS1dpWEp5SmlEeWdFQ2dZRUF4QUNEbWxG
ZmsxZDlkSmJTCi90NDRGTzFiUVQ2b1Z2VWJ2NGMwcnRLVVhwTnFlajNmbXl4bUJINm82SkhoYjNO
eXdWa3U0QW9YTXBFTkhISDAKNlN2TzBYM2U1MU8xOXppQ25hMGdoZExSS3JIS3ZqbzRNdmdiV3Ey
Z3NJNmpJQkxTcU0zNXNxTjhGRXRVZko4TQpKRUZIMThJTThTRjEyQ2hWYjVWaThTTDgvY2tDZ1lF
QTZUUmhVQi9nQVM1RmN5V1NHNGR4UWtHWG03R1lSamFrCjJVWUlOUUIyV2d2Qk9vN2tvV21nR1M0
eE9YanJsZ2NrMmhsTEhZSXAycnRoSWdNMUdBQUdqa2lYeXJPVE9kaGQKeUJ0RjBMS0kvVjlBZUxK
eExkRDBYalB0WThIYXdTcW8weGdxUml2RzlJUFBlSGZ6SmlraXV6enNOT3pjVlk1aApkZktqZy9J
eVFyRUNnWUJ1c0dlaDk4Q0ZBa3pNVWZ6NGlHQ2RtT29ITDY1NzVWSjFXSkx0QStsY2U5NFBDUEJG
CnZzNGlUYkZ3SGlwMCtYcmVMRkpubmVzNTJHYlNJSjBTTFhaUUlzaUdWV1VYSjZmRUNpaXF5c0xy
WEpyRjBUVTUKdTVvZkhKejUrS094RWxBN21vOGdUbWxkUUttRzgzODAzbFVIU1FSc0ROeHpaVnZT
ZDBmNExDMDUyUUtCZ0h0YQpzNmJZVlhzS2FMNFJ2NGxFU1lxTWU0OWxqM0NFY3dwaTJ2QitRQnc5
WDRhRUV6ZTJVWE5BVmRWYXV2THU4SFZWCkw4QjZHMzJSNUQxRGlSQWE0MXpiMVQ3cFloVVU5L1pq
UnJpdjEzcCtxZkd1SWVQa1JYNlc1UmtCYjU4QjI2OWQKZHU4TE5RQWR3TjZ1UkRXSlNNL1YxL1Bl
M21WN0hONXc3RUZkR1d6aEFvR0FiN29HOWhoTGxTL212bEhHVE11egp6SXhtSTBaTisyZGFqNEYy
MDZHRGJYaUkwYUtFTHlteVJkcEZYcStzaWpaTzFqdXU4WDhMS0FCOUVaeEtXRzRICjNnQWoxWGFF
QXFjNjFkaFkveHRHUDR2OXN3UElmVjR3NGtTUHBWYlFFd3ZIcko4K1V2NjhuOTZTU3dkK1BBNisK
OFFwUEVYSXlscXB4UlFyMnN5amhoOTQ9Ci0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0K
\ No newline at end of file
......@@ -4,14 +4,14 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: search-service
namespace: {{ $.Values.namespace }}
namespace: {{ .Values.namespace }}
labels:
app: search-service
service: search-service
spec:
replicas: {{ .Values.metadataService.replicaCount }}
replicas: {{ .Values.searchService.replicaCount }}
strategy:
type: {{ $.Values.strategyType }}
type: {{ .Values.strategyType }}
selector:
matchLabels:
app: search-service
......@@ -29,7 +29,7 @@ spec:
runAsGroup: 1000
containers:
- name: search-service
image: {{ printf "%s/%s:%s" .Values.searchService.image.registry .Values.searchService.image.repository .Values.searchService.image.tag }}
image: {{ .Values.searchService.image.name }}
imagePullPolicy: {{ .Values.searchService.image.pullPolicy | default "IfNotPresent" }}
ports:
- containerPort: 4000
......
---
apiVersion: v1
kind: Secret
type: kubernetes.io/tls
metadata:
name: ingress-cert
namespace: {{ .Values.namespace }}
stringData:
tls.crt: |
-----BEGIN CERTIFICATE-----
MIIDaTCCAlGgAwIBAgIUYxgRGsKNKfiSV85hfTqO7Fe2EJIwDQYJKoZIhvcNAQEL
BQAwOTELMAkGA1UEBhMCQVQxEzARBgNVBAoMCkFjbWUsIEluYy4xFTATBgNVBAMM
DEFjbWUgUm9vdCBDQTAeFw0yNDA0MDgwODA5MDRaFw0yNTA0MDgwODA5MDRaMDUx
CzAJBgNVBAYTAkFUMQ8wDQYDVQQKDAZEQlJlcG8xFTATBgNVBAMMDGRicmVwby5s
b2NhbDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJheX3oMZ9VnAj0u
ta4mAQmoEDVu//N5jDZi3F2L1gItBXTZP46d37iaCNgAkKO6ct8KIO7zAm/Hdhtz
1DB/5UJqJSvikGQKBidjw0lenqE7aqt2qbWk45yXxIEQbmpMkdUrsyJVLLaKLAaA
Nx9m3bdb4Kaxtu6QKtrrifz8+dpUcJPmvzzDB+39kKHchj7HjtSNhIy+nG3EiLRM
nG6qpWMlVEnK2SU1YT1p2s3WaA9sl8djVy3L6MKg+I0lchXjV9udnGs8GzPmHKrz
KpTMpmkkNQZaULXyes9lZ0jPMvVrrGQzsZDjGtdpCBUhdeIoZ+EkdbZPtXtGM6oO
PFWHWvECAwEAAaNtMGswKQYDVR0RBCIwIIIMZGJyZXBvLmxvY2FsghB3d3cuZGJy
ZXBvLmxvY2FsMB0GA1UdDgQWBBR3+I9W+gtANK3PM7ex24aD2fKb9TAfBgNVHSME
GDAWgBR1+iIlDzeK4jVdxyDwzkY02tdXQDANBgkqhkiG9w0BAQsFAAOCAQEAGeI2
RaUqMuorjl6xeo5iB5jrr0w6ixPYYH7L7rbcJaUfYLo2oeUxU3hxOKxRktxKRtpa
Inv81K7HwtruGYH1w9u0d3Le73WdesrLrq0yJgagkkEyuX+o7NH25rMjZdcrhSOl
Rx3rbAARN4mt4CSPZY2+6HPi7YnTKO14QK/fnJazWJz1Y5ECYEabdhj/HTyZg2ea
ZsZFq2DkBbmm8yGUWPfISABvrkwb9ustY9ei7aCy3edgExyRNmDo0bVQYz+LM0CD
j2+OSsWAzsjPMIhp4cl4kFiPntVOUPo1nQmxhyGm2O24cuddUKQhMo1EWgye2+ag
TyOmunmGfT3NQbF5JQ==
-----END CERTIFICATE-----
ca.crt: |
-----BEGIN CERTIFICATE-----
MIIDUzCCAjugAwIBAgIUU7IwC5g71hQaIaYa7DoE0lMfCqcwDQYJKoZIhvcNAQEL
BQAwOTELMAkGA1UEBhMCQVQxEzARBgNVBAoMCkFjbWUsIEluYy4xFTATBgNVBAMM
DEFjbWUgUm9vdCBDQTAeFw0yNDA0MDgwODA5MDRaFw0yNTA0MDgwODA5MDRaMDkx
CzAJBgNVBAYTAkFUMRMwEQYDVQQKDApBY21lLCBJbmMuMRUwEwYDVQQDDAxBY21l
IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDP39vc/O3l
DS37eTLGqEDROrJPC3ajNc3u/y/4XKsTwbTGC7pctkJ4juwmEMVKLDBIYgeEj+LU
FFAC/sz9SmocPLm+vgIFtimKquqDQQaXbxcU5R86nS+sWsATwU+W8pOGdHLlE1ff
e9yetOFrTX1bJvtAb6cF3wa56uvolTgXX2ivPu4Nen15740SqHy7Nt/ZEE6lKrwD
umAf5i8+aTAYidVjtg14ON1SLCy+WCp8z32q+rij5MCtRft6XFN222x3vZnrSSdL
JZ92l6+a8Lorz+ZHV59Rcbe8rQcjp5U50B8VMZzQwDp+M57TvdxIoeIzBzOE8h2G
LbiDYk8bHch1AgMBAAGjUzBRMB0GA1UdDgQWBBR1+iIlDzeK4jVdxyDwzkY02tdX
QDAfBgNVHSMEGDAWgBR1+iIlDzeK4jVdxyDwzkY02tdXQDAPBgNVHRMBAf8EBTAD
AQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBvFMB9MKO8TNJ7zHuCupuYF7hgGXs/P/9x
PlfmDI+4r1GugRgW1lSpMCtoMJwQ7inVOv9qqxSQXwerfJxadkf3tMcZdD3DiYSP
kk+7TNvfmZB8GBGcvYkga8lGOqSAQyeZ+NVOeemjP4cHgnWvo+UqwQoyEZmlR7B5
M1J7JSftE/JAu9O0ECEDhP/xHqF4GEB81U+Lpsb/uqUscUYsFwU0O8hf3ZTEtoUF
FMf89u+xw2tPOjGZ2MTJmsPzMDfq0RNqLdVOZ/Gua+xZkkmG0B68YcD9XUM4Be+J
OJy2Rz6yROMLh+Lvj4pz3rRbmZdK16fCtvZymr+vDACSrfGnSFLW
-----END CERTIFICATE-----
tls.key: |
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCYXl96DGfVZwI9
LrWuJgEJqBA1bv/zeYw2Ytxdi9YCLQV02T+Ond+4mgjYAJCjunLfCiDu8wJvx3Yb
c9Qwf+VCaiUr4pBkCgYnY8NJXp6hO2qrdqm1pOOcl8SBEG5qTJHVK7MiVSy2iiwG
gDcfZt23W+CmsbbukCra64n8/PnaVHCT5r88wwft/ZCh3IY+x47UjYSMvpxtxIi0
TJxuqqVjJVRJytklNWE9adrN1mgPbJfHY1cty+jCoPiNJXIV41fbnZxrPBsz5hyq
8yqUzKZpJDUGWlC18nrPZWdIzzL1a6xkM7GQ4xrXaQgVIXXiKGfhJHW2T7V7RjOq
DjxVh1rxAgMBAAECggEAQuMO07OVc1NkYrpaDAhn5TbPYr2HA3lkqU1Nwo0L1emw
nwJtiaxZVR7dagEZfZ5wJeQ639pyw+ISQWvgBqhmWnjhN3oee6QA3pLHXDJ6vXmp
UnrldjVbq9bd7vBpICXb0PH9kcFFPx65w+LOD+1mwELHhDW4gdJs1ayXZyUgg4xn
c6H6tfzba/cFqiJKBqE6Gy+xrVFb/2StMzYKLwxirb5iKs5GsEys1/msASxQ+E6z
Wcvsh+xtpWbfQUh2e1a+/tDTw/NtLeCsoH56162OJE/QjB84R4yrCFqQndOekQXr
aMixrS3Gh4/hl5Ht4mGqsekjPTINM87twPV5PcM2bwKBgQDH0vZEaqHiNPlo7/CX
qJqPuXc/jEIOAf50HaAC3MUWoI6yLE8ornyv17i2OOSUIek+w5qTtH/XFn5UhDGD
2rd0v+dHPJZ93LyfXNmQvCRQN6YcQxW8oOrR6ygbTkDpwCB7qrbukMAXZolVgTL4
4vWpyd5176GJ25H1cQ3UePTg+wKBgQDDNB2D+Rg22V75evB5IAtBpxFwYGobeYv6
YlB9bHuu+tD4rR/qp1IgErcOVmC0ONTRurRTX83Il5I3HkVyF7EcFWaEw3J/Qcxs
Bwqk9FdT+7hvcRk2oTJUszIN1Xl0uoKuSW4TTfLQWkprCS4VvPMnjrZn3ZdGpRKy
tiLzncyoAwKBgQC0FzyeMqBNl8LEwaLLfEg4ikWf/0+1AjUK/3wruD7kgrW4fNim
6IM1k61EhYf0vY9SYsXYow+okPwwPafGlwNKdH4DpOZY7u0Mj4kBuZ7csRrDU+6u
PzUDFfXijidQxDhCXHxcDBcjv+S8LCH9T8dqS6Z0EhE7hqlIVKjLOmwwqwKBgQCk
hxqRj7RvFovMb2icTvvt3CkAtOL6QVpQMelxrawZ8eGMmC8ckubPjbao6PkdLgGC
vIEc/NTvy4E739HctkdbSlZcdHfe9tCcBNtd6WxppvLvSz5bI0bOyTLZIiL61fEr
gUy8DKkqH9A1o0kqnVW887aemNDWhG/cHVQcTdafjQKBgFlrd+bDq1e+QVkkq6Lm
IbNQvs4Oab/gFduj4+YNEsh2h6tBOHOuLP5+V0RRci9u2leBMVNXjcx/r7q/HUQJ
DEDLIkO1m9mOf73e2sbWijQPr1yRi2JWwqTBOrsR1wrzXpNieCkhtTxI86WYOln/
vIZCvz34aOw/2/fApGuBVid1
-----END PRIVATE KEY-----
......@@ -11,7 +11,7 @@ metadata:
spec:
replicas: {{ .Values.ui.replicaCount }}
strategy:
type: {{ $.Values.strategyType }}
type: {{ .Values.strategyType }}
selector:
matchLabels:
app: ui
......@@ -29,7 +29,7 @@ spec:
runAsGroup: 1000
containers:
- name: ui
image: {{ printf "%s/%s:%s" .Values.ui.image.registry .Values.ui.image.repository .Values.ui.image.tag }}
image: {{ .Values.ui.image.name }}
imagePullPolicy: {{ .Values.ui.image.pullPolicy | default "IfNotPresent" }}
ports:
- containerPort: 3000
......
{{ $api := printf "https://%s" .Values.hostname }}
---
apiVersion: v1
kind: Secret
......@@ -5,8 +6,8 @@ metadata:
name: ui-secret
namespace: {{ .Values.namespace }}
stringData:
public-api-client: "{{ .Values.ui.public.api.client }}"
public-api-server: "{{ .Values.ui.public.api.server }}"
public-api-client: "{{ .Values.ui.public.api.client | default $api }}"
public-api-server: "{{ .Values.ui.public.api.server | default $api }}"
public-title: "{{ .Values.ui.public.title }}"
public-logo: "{{ .Values.ui.public.logo }}"
public-icon: "{{ .Values.ui.public.icon }}"
......
......@@ -10,7 +10,7 @@ metadata:
spec:
type: ClusterIP
ports:
- name: "nuxt"
- name: ""
port: 80
targetPort: 3000
protocol: TCP
......
#!/bin/bash
NAMESPACE=dbrepo
echo "Waiting for containers to start ..."
SUCCESS=0
for i in 0 1 2 3 4 5 6 7 8 9; do
RES=$(kubectl -n ${NAMESPACE} get pods | awk 'NR>1 {print $3}' | grep -qF "[^Running|^Completed]")
if [ "$?" -ne 0 ]; then
if [ $SUCCESS -eq 0 ]; then
echo "INFO: all pods started or completed: wait another iteration ..."
sleep 30
SUCCESS=1
continue
fi
echo "INFO: all pods started or completed"
exit 0
fi
echo "Waiting ..."
sleep 30
done
echo "ERROR: some pods did not successfully complete or are still running"
exit 1
\ No newline at end of file
namespace: ""
namespace: dbrepo
hostname: ""
hostname: dbrepo.local
strategyType: RollingUpdate
......@@ -30,10 +30,8 @@ metadataDb:
loadBalancerIP: ""
loadBalancerSourceRanges: [ ]
persistence:
enabled: false
size: 10Gi
storageClass: default
replicaCount: 3 # uneven 3,5,7
enabled: true
replicaCount: 1 # uneven 3,5,7
authService:
fullnameOverride: auth-service
......@@ -47,7 +45,7 @@ authService:
extraStartupArgs: "--import-realm"
tls:
enabled: true
existingSecret: dbrepo-ingress-tls-cert
existingSecret: ingress-cert
usePem: true
metrics:
enabled: true
......@@ -69,7 +67,7 @@ authService:
extraVolumeMounts:
- name: config-map
mountPath: /opt/bitnami/keycloak/data/import
replicaCount: 2
replicaCount: 1
authDb:
fullnameOverride: auth-db
......@@ -81,6 +79,7 @@ authDb:
password: metrics # implicit requirement for metrics container
repmgrPassword: repmgr # implicit requirement for rolling updates
database: keycloak
replicaCount: 1
pgpool:
adminUsername: admin
adminPassword: admin
......@@ -92,9 +91,8 @@ authDb:
loadBalancerIP: ""
loadBalancerSourceRanges: [ ]
persistence:
enabled: false
enabled: true
size: 10Gi
storageClass: default
dataDb:
fullnameOverride: data-db
......@@ -112,8 +110,8 @@ dataDb:
password: mariabackup
sidecars:
- name: sidecar
image: s210.dl.hpc.tuwien.ac.at/dbrepo/data-db-sidecar:1.4.1
imagePullPolicy: Always
image: dbrepo-data-db-sidecar:latest
imagePullPolicy: Never
securityContext:
runAsUser: 1001
runAsGroup: 1001
......@@ -150,11 +148,9 @@ dataDb:
persistentVolumeClaim:
claimName: data-db-shared
persistence:
enabled: false
enabled: true
size: 10Gi
storageClass: default
sharedStorageClass: default
replicaCount: 3 # uneven
replicaCount: 1 # uneven
searchdb:
fullnameOverride: search-db
......@@ -165,12 +161,13 @@ searchdb:
password: admin
clusterName: search-db
masterService: search-db
replicas: 1
image:
debug: false
sysctlInit:
enabled: true
persistence:
enabled: false
enabled: true
size: 10Gi
service:
type: ClusterIP
......@@ -237,8 +234,8 @@ searchDbDashboard:
opensearchHosts: http://search-db:9200
extraInitContainers:
- name: init
image: s210.dl.hpc.tuwien.ac.at/dbrepo/search-db-init:1.4.1
imagePullPolicy: Always
image: dbrepo-search-db-init:latest
imagePullPolicy: Never
env:
- name: OPENSEARCH_HOST
value: http://search-db:9200
......@@ -253,11 +250,11 @@ searchDbDashboard:
extraVolumes:
- name: tls
secret:
secretName: dbrepo-ingress-tls-cert
secretName: ingress-cert
- name: config
secret:
secretName: search-db-dashboard-secret
replicaCount: 2
replicaCount: 1
uploadService:
enabled: true
......@@ -265,7 +262,7 @@ uploadService:
registry: docker.io
repository: tusproject/tusd
tag: v1.12
replicaCount: 2
replicaCount: 1
brokerService:
fullnameOverride: broker-service
......@@ -284,7 +281,7 @@ brokerService:
enabled: false
sslOptionsVerify: true
failIfNoPeerCert: true
existingSecret: dbrepo-ingress-tls-cert
existingSecret: ingress-cert
username: broker
password: broker
extraConfiguration: |-
......@@ -330,29 +327,24 @@ brokerService:
persistence:
enabled: false
size: 5Gi
storageClass: default
service:
type: ClusterIP
# loadBalancerIP:
replicaCount: 3
replicaCount: 1
analyseService:
enabled: true
image:
registry: s210.dl.hpc.tuwien.ac.at
repository: dbrepo/analyse-service
tag: "1.4.1"
pullPolicy: Always
name: dbrepo-analyse-service:latest
pullPolicy: Never
debug: false
replicaCount: 2
replicaCount: 1
metadataService:
enabled: true
image:
registry: s210.dl.hpc.tuwien.ac.at
repository: dbrepo/metadata-service
tag: "1.4.1"
pullPolicy: Always
name: dbrepo-metadata-service:latest
pullPolicy: Never
debug: false
adminEmail: noreply@example.com
authService:
......@@ -370,39 +362,35 @@ metadataService:
mirror: 60
obtainMetadata: 60
deleteStaleQueries: 60
replicaCount: 2
replicaCount: 1
dataService:
enabled: true
image:
registry: s210.dl.hpc.tuwien.ac.at
repository: dbrepo/data-service
tag: "1.4.1"
pullPolicy: Always
name: dbrepo-data-service:latest
pullPolicy: Never
debug: false
jwt:
pubkey: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqqnHQ2BWWW9vDNLRCcxD++xZg/16oqMo/c1l+lcFEjjAIJjJp/HqrPYU/U9GvquGE6PbVFtTzW1KcKawOW+FJNOA3CGo8Q1TFEfz43B8rZpKsFbJKvQGVv1Z4HaKPvLUm7iMm8Hv91cLduuoWx6Q3DPe2vg13GKKEZe7UFghF+0T9u8EKzA/XqQ0OiICmsmYPbwvf9N3bCKsB/Y10EYmZRb8IhCoV9mmO5TxgWgiuNeCTtNCv2ePYqL/U0WvyGFW0reasIK8eg3KrAUj8DpyOgPOVBn3lBGf+3KFSYi+0bwZbJZWqbC/Xlk20Go1YfeJPRIt7ImxD27R/lNjgDO/MwIDAQAB"
consumerConcurrentMin: 1
consumerConcurrentMax: 5
requeueRejected: false
replicaCount: 2
replicaCount: 1
searchService:
enabled: true
image:
registry: s210.dl.hpc.tuwien.ac.at
repository: dbrepo/search-service
tag: "1.4.1"
pullPolicy: Always
name: dbrepo-search-service:latest
pullPolicy: Never
debug: false
replicaCount: 2
replicaCount: 1
storageservice:
master:
enabled: true
filer:
enabled: true
replicas: 2
replicas: 1
enablePVC: false
storage: 25Gi
s3:
......@@ -414,7 +402,7 @@ storageservice:
existingConfigSecret: seaweedfs-s3-secret
volume:
enabled: true
replicas: 2
replicas: 1
s3:
enabled: true
replicas: 2
......@@ -463,14 +451,13 @@ logservice:
ui:
enabled: true
image:
registry: s210.dl.hpc.tuwien.ac.at
repository: dbrepo/ui
tag: "1.4.1"
pullPolicy: Always
name: dbrepo-ui:latest
pullPolicy: Never
debug: false
public:
api:
client: http://example.com
server: http://example.com
client: {}
server: {}
title: "Database Repository"
logo: "/logo.svg"
icon: "/favicon.ico"
......@@ -489,7 +476,7 @@ ui:
doi:
enabled: false
endpoint: https://doi.org
replicaCount: 2
replicaCount: 1
extraVolumes: [ ]
# - name: images-map
# configMap:
......@@ -500,115 +487,32 @@ ui:
# subPath: logo.svg
ingress:
enabled: false
data:
- name: ingress
annotations:
cert-manager.io/cluster-issuer: letsencrypt-cluster-issuer
hosts:
- paths:
- path: /api/analyse
pathType: Prefix
serviceName: analyse-service
portNumber: 80
- path: /api/search
pathType: Prefix
serviceName: search-service
portNumber: 80
- path: /api
pathType: Prefix
serviceName: metadata-service
portNumber: 80
- path: /
pathType: Prefix
serviceName: ui
portNumber: 80
tls:
- secretName: dbrepo-ingress-tls-cert
- name: ingress-upload
annotations:
cert-manager.io/cluster-issuer: letsencrypt-cluster-issuer
nginx.ingress.kubernetes.io/proxy-body-size: 2G
hosts:
- paths:
- path: /api/upload
pathType: Prefix
serviceName: upload-service
portNumber: 80
enabled: true
className: nginx
tls:
- secretName: dbrepo-ingress-tls-cert
- name: ingress-secure
enabled: true
secretName: ingress-cert
annotations:
cert-manager.io/cluster-issuer: letsencrypt-cluster-issuer
basic: {}
# cert-manager.io/cluster-issuer: letsencrypt-cluster-issuer
secure:
# cert-manager.io/cluster-issuer: letsencrypt-cluster-issuer
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
hosts:
- paths:
- path: /admin/dashboard
pathType: Prefix
serviceName: search-db-dashboard
portNumber: 5601
tls:
- secretName: dbrepo-ingress-tls-cert
- name: ingress-api
annotations:
cert-manager.io/cluster-issuer: letsencrypt-cluster-issuer
upload:
# cert-manager.io/cluster-issuer: letsencrypt-cluster-issuer
nginx.ingress.kubernetes.io/proxy-body-size: 2G
rewriteApi:
# cert-manager.io/cluster-issuer: letsencrypt-cluster-issuer
nginx.ingress.kubernetes.io/use-regex: "true"
nginx.ingress.kubernetes.io/rewrite-target: /api/$1
hosts:
- paths:
- path: /api/broker/(.*)
pathType: ImplementationSpecific
serviceName: broker-service
portNumber: 15672
tls:
- secretName: dbrepo-ingress-tls-cert
- name: ingress-root
annotations:
cert-manager.io/cluster-issuer: letsencrypt-cluster-issuer
nginx.ingress.kubernetes.io/use-regex: "true"
nginx.ingress.kubernetes.io/rewrite-target: /$1
hosts:
- paths:
- path: /admin/broker/(.*)
pathType: ImplementationSpecific
serviceName: broker-service
portNumber: 15672
- path: /admin/storage
pathType: ImplementationSpecific
serviceName: storageservice-s3
portNumber: 9000
tls:
- secretName: dbrepo-ingress-tls-cert
- name: ingress-root-secure
annotations:
cert-manager.io/cluster-issuer: letsencrypt-cluster-issuer
rewriteRoot:
# cert-manager.io/cluster-issuer: letsencrypt-cluster-issuer
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
nginx.ingress.kubernetes.io/use-regex: "true"
nginx.ingress.kubernetes.io/rewrite-target: /$1
hosts:
- paths:
- path: /api/auth/(.*)
pathType: ImplementationSpecific
serviceName: auth-service
portNumber: 443
- path: /retrieve/(.*)
pathType: ImplementationSpecific
serviceName: search-db
portNumber: 9200
tls:
- secretName: dbrepo-ingress-tls-cert
- name: ingress-pid
annotations:
cert-manager.io/cluster-issuer: letsencrypt-cluster-issuer
rewritePid:
# cert-manager.io/cluster-issuer: letsencrypt-cluster-issuer
nginx.ingress.kubernetes.io/use-regex: "true"
nginx.ingress.kubernetes.io/rewrite-target: /api/pid/$1
hosts:
- paths:
- path: /pid/(.*)
pathType: ImplementationSpecific
serviceName: metadata-service
portNumber: 80
tls:
- secretName: dbrepo-ingress-tls-cert
[project]
name = "dbrepo"
version = "__APPVERSION__"
version = "1.4.2rc5"
description = "DBRepo Python Library"
keywords = [
"DBRepo",
......
......@@ -2,7 +2,7 @@
from distutils.core import setup
setup(name="dbrepo",
version="__APPVERSION__",
version="1.4.2rc5",
description="A library for communicating with DBRepo",
url="https://www.ifs.tuwien.ac.at/infrastructures/dbrepo//",
author="Martin Weise",
......
......@@ -36,6 +36,10 @@ nav:
- Authentication Service: usage-authentication.md
- Storage Service: usage-storage.md
- Upload Service: usage-upload.md
- Development:
- Overview: dev-overview.md
- Application Guide: dev-guide-app.md
- Infrastructure Guide: dev-guide-infra.md
- publications.md
- contact.md
extra_css:
......@@ -86,6 +90,8 @@ markdown_extensions:
- admonition
- pymdownx.details
- pymdownx.superfences
- pymdownx.tasklist:
custom_checkbox: true
- pymdownx.tabbed:
alternate_style: true
- toc:
......
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC/X32mLb7EfwTKbpJmW2BN6ouGLYUZnzL+PY/9RpDZn60UMZ3awRzHQOIQj92KvH0vegkgfZvxCcDQN1vOQP4NbfN0hQFTHOBElGQMrl/Lwicw896js+OUOqPjKUMP35jlZSKvheLd6MPbmXyJpW4gXrEC7NOtswLTBjDDPV6ypyFngjA78vlVE4ZPjKN09eoBbhuvQunJSPaTBxnBexFF5LRfvPC8cITMzjjO/tBHsRUFJ7vy+TCPBTM5YsF257aZTMaG3RvDplmYKwJ8WLWr3eVbyO/LUelXaUjDfJ3z7B06m0dVbEXX/oHq3hZNXmJdovKefeOygZX8Rf62M9h2oCE2LxfyvA+R9rDu5oLqrzTLolWVGTM6AmEj5HtSbqO0WDhpy8a67z6qPR0HoCXVsIYtKrzNAqB/u7OWAsy285wfDpquouLGbEETUFUJmMOba9cTSYMbEmWksa/KckbCPnx4qRstL2lDENylT3WHuhbIx0zv4TVo4/gHJGuOYuE= mweise@medusa
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment