Demo of the Red Hat API Management solution
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

396 lines
11 KiB

apiVersion: v1
kind: Service
metadata:
annotations:
argocd.argoproj.io/sync-wave: "10"
annotations:
prometheus.io/path: /system/metrics
prometheus.io/scrape: "true"
labels:
app.kubernetes.io/name: apicurio
app.kubernetes.io/version: latest
app.kubernetes.io/component: apicurio-studio-api
app.kubernetes.io/instance: apicurio-studio-api
name: apicurio-studio-api
namespace: {{ .Values.projectName | quote }}
spec:
ports:
- port: 8080
protocol: TCP
targetPort: 8080
selector:
app: apicurio-studio-api
sessionAffinity: None
type: ClusterIP
---
apiVersion: v1
kind: Service
metadata:
annotations:
argocd.argoproj.io/sync-wave: "10"
annotations:
prometheus.io/path: /metrics
prometheus.io/scrape: "true"
labels:
app.kubernetes.io/name: apicurio
app.kubernetes.io/version: latest
app.kubernetes.io/component: apicurio-studio-ws
app.kubernetes.io/instance: apicurio-studio-ws
name: apicurio-studio-ws
namespace: {{ .Values.projectName | quote }}
spec:
ports:
- port: 8080
protocol: TCP
targetPort: 8080
selector:
app: apicurio-studio-ws
sessionAffinity: None
type: ClusterIP
---
apiVersion: v1
kind: Service
metadata:
annotations:
argocd.argoproj.io/sync-wave: "10"
labels:
app.kubernetes.io/name: apicurio
app.kubernetes.io/version: latest
app.kubernetes.io/component: apicurio-studio-ui
app.kubernetes.io/instance: apicurio-studio-ui
name: apicurio-studio-ui
namespace: {{ .Values.projectName | quote }}
spec:
ports:
- port: 8080
protocol: TCP
targetPort: 8080
selector:
app: apicurio-studio-ui
sessionAffinity: None
type: ClusterIP
---
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
argocd.argoproj.io/sync-wave: "10"
labels:
app.kubernetes.io/name: apicurio
app.kubernetes.io/version: latest
app.kubernetes.io/component: apicurio-studio-api
app.kubernetes.io/instance: apicurio-studio-api
name: apicurio-studio-api
namespace: {{ .Values.projectName | quote }}
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: apicurio
app.kubernetes.io/component: apicurio-studio-api
app.kubernetes.io/instance: apicurio-studio-api
template:
metadata:
labels:
app.kubernetes.io/name: apicurio
app.kubernetes.io/component: apicurio-studio-api
app.kubernetes.io/instance: apicurio-studio-api
spec:
containers:
- env:
- name: APICURIO_KC_AUTH_URL
value: {{ (printf "https://%s/auth" .Values.sso.hostname) | quote }}
- name: APICURIO_KC_REALM
value: apicurio
- name: APICURIO_DB_DRIVER_NAME
value: postgresql
- name: APICURIO_DB_CONNECTION_URL
value: jdbc:postgresql://postgresql-server:5432/apicurio
- name: APICURIO_DB_TYPE
value: postgresql9
- name: APICURIO_DB_USER_NAME
value: apicurio
- name: APICURIO_DB_PASSWORD
valueFrom:
secretKeyRef:
key: apicurio-database-password
name: demo-seed
- name: APICURIO_MIN_HEAP
value: 512m
- name: APICURIO_MAX_HEAP
value: 1400m
- name: APICURIO_MICROCKS_API_URL
value: {{ (printf "https://%s/api" .Values.microcks.hostname) | quote }}
- name: APICURIO_MICROCKS_CLIENT_ID
value: microcks-serviceaccount
- name: APICURIO_MICROCKS_CLIENT_SECRET
valueFrom:
secretKeyRef:
key: microcks-client-secret
name: demo-seed
image: apicurio/apicurio-studio-api:latest-release
imagePullPolicy: Always
livenessProbe:
failureThreshold: 3
httpGet:
path: /system/ready
port: 8080
scheme: HTTP
initialDelaySeconds: 30
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 5
name: apicurio-studio-api
ports:
- containerPort: 8080
protocol: TCP
readinessProbe:
failureThreshold: 3
httpGet:
path: /system/ready
port: 8080
scheme: HTTP
initialDelaySeconds: 15
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 5
resources:
limits:
cpu: "1"
memory: 1700Mi
requests:
cpu: 100m
memory: 800Mi
terminationMessagePath: /dev/termination-log
terminationGracePeriodSeconds: 30
---
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
argocd.argoproj.io/sync-wave: "10"
labels:
app.kubernetes.io/name: apicurio
app.kubernetes.io/version: latest
app.kubernetes.io/component: apicurio-studio-ws
app.kubernetes.io/instance: apicurio-studio-ws
name: apicurio-studio-ws
namespace: {{ .Values.projectName | quote }}
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: apicurio
app.kubernetes.io/component: apicurio-studio-ws
app.kubernetes.io/instance: apicurio-studio-ws
template:
metadata:
labels:
app.kubernetes.io/name: apicurio
app.kubernetes.io/component: apicurio-studio-ws
app.kubernetes.io/instance: apicurio-studio-ws
spec:
containers:
- env:
- name: APICURIO_DB_DRIVER_NAME
value: postgresql
- name: APICURIO_DB_CONNECTION_URL
value: jdbc:postgresql://postgresql-server:5432/apicurio
- name: APICURIO_DB_TYPE
value: postgresql9
- name: APICURIO_DB_USER_NAME
value: apicurio
- name: APICURIO_DB_PASSWORD
valueFrom:
secretKeyRef:
key: apicurio-database-password
name: demo-seed
- name: APICURIO_MIN_HEAP
value: 512m
- name: APICURIO_MAX_HEAP
value: 1400m
image: apicurio/apicurio-studio-ws:latest-release
imagePullPolicy: Always
livenessProbe:
failureThreshold: 3
httpGet:
path: /metrics
port: 8080
scheme: HTTP
initialDelaySeconds: 30
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 5
name: apicurio-studio-ws
ports:
- containerPort: 8080
protocol: TCP
readinessProbe:
failureThreshold: 3
httpGet:
path: /metrics
port: 8080
scheme: HTTP
initialDelaySeconds: 15
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 5
resources:
limits:
cpu: "1"
memory: 1800Mi
requests:
cpu: 100m
memory: 900Mi
terminationMessagePath: /dev/termination-log
terminationGracePeriodSeconds: 30
---
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
argocd.argoproj.io/sync-wave: "10"
labels:
app.kubernetes.io/name: apicurio
app.kubernetes.io/version: latest
app.kubernetes.io/component: apicurio-studio-ui
app.kubernetes.io/instance: apicurio-studio-ui
name: apicurio-studio-ui
namespace: {{ .Values.projectName | quote }}
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: apicurio
app.kubernetes.io/component: apicurio-studio-ui
app.kubernetes.io/instance: apicurio-studio-ui
template:
metadata:
labels:
app.kubernetes.io/name: apicurio
app.kubernetes.io/component: apicurio-studio-ui
app.kubernetes.io/instance: apicurio-studio-ui
spec:
containers:
- env:
- name: APICURIO_KC_AUTH_URL
value: {{ (printf "https://%s/auth" .Values.sso.hostname) | quote }}
- name: APICURIO_KC_REALM
value: apicurio
- name: APICURIO_UI_HUB_API_URL
value: {{ (printf "https://%s" .Values.apicurio.apiHostname) | quote }}
- name: APICURIO_UI_EDITING_URL
value: {{ (printf "wss://%s" .Values.apicurio.wsHostname) | quote }}
- name: APICURIO_UI_LOGOUT_REDIRECT_URI
value: /
- name: APICURIO_MIN_HEAP
value: 512m
- name: APICURIO_MAX_HEAP
value: 1200m
- name: APICURIO_UI_FEATURE_MICROCKS
value: "true"
image: apicurio/apicurio-studio-ui:latest-release
imagePullPolicy: Always
livenessProbe:
failureThreshold: 3
httpGet:
path: /ready
port: 8080
scheme: HTTP
initialDelaySeconds: 30
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 5
name: apicurio-studio-ui
ports:
- containerPort: 8080
protocol: TCP
readinessProbe:
failureThreshold: 3
httpGet:
path: /ready
port: 8080
scheme: HTTP
initialDelaySeconds: 15
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 5
resources:
limits:
cpu: "1"
memory: 1500Mi
requests:
cpu: 100m
memory: 700Mi
terminationMessagePath: /dev/termination-log
terminationGracePeriodSeconds: 30
---
apiVersion: route.openshift.io/v1
kind: Route
metadata:
annotations:
argocd.argoproj.io/sync-wave: "10"
labels:
app.kubernetes.io/name: apicurio
app.kubernetes.io/version: latest
app.kubernetes.io/component: apicurio-studio-api
app.kubernetes.io/instance: apicurio-studio-api
name: apicurio-studio-api
namespace: {{ .Values.projectName | quote }}
spec:
host: {{ .Values.apicurio.apiHostname | quote }}
tls:
insecureEdgeTerminationPolicy: Redirect
termination: edge
to:
kind: Service
name: apicurio-studio-api
weight: 100
wildcardPolicy: None
---
apiVersion: route.openshift.io/v1
kind: Route
metadata:
annotations:
argocd.argoproj.io/sync-wave: "10"
labels:
labels:
app.kubernetes.io/name: apicurio
app.kubernetes.io/version: latest
app.kubernetes.io/component: apicurio-studio-ws
app.kubernetes.io/instance: apicurio-studio-ws
name: apicurio-studio-ws
namespace: {{ .Values.projectName | quote }}
spec:
host: {{ .Values.apicurio.wsHostname | quote }}
tls:
insecureEdgeTerminationPolicy: Redirect
termination: edge
to:
kind: Service
name: apicurio-studio-ws
weight: 100
wildcardPolicy: None
---
apiVersion: route.openshift.io/v1
kind: Route
metadata:
annotations:
argocd.argoproj.io/sync-wave: "10"
labels:
app.kubernetes.io/name: apicurio
app.kubernetes.io/version: latest
app.kubernetes.io/component: apicurio-studio-ui
app.kubernetes.io/instance: apicurio-studio-ui
name: apicurio-studio-ui
namespace: {{ .Values.projectName | quote }}
spec:
host: {{ .Values.apicurio.uiHostname | quote }}
tls:
insecureEdgeTerminationPolicy: Redirect
termination: edge
to:
kind: Service
name: apicurio-studio-ui
weight: 100
wildcardPolicy: None