Removed docker swarm config

Added K8S config
With big refactor
This commit is contained in:
PB
2025-10-20 13:51:45 +02:00
parent fa62c0b817
commit 0938338b99
40 changed files with 1147 additions and 1675 deletions

72
deploy/k8s/api-cache.yml Normal file
View File

@@ -0,0 +1,72 @@
apiVersion: v1
kind: Service
metadata:
name: api-cache
namespace: egommerce
labels:
app: api-cache
spec:
type: NodePort
selector:
app: api-cache
ports:
- port: 6379
nodePort: 31300
# ---
# apiVersion: v1
# kind: Service
# metadata:
# name: api-cache-metrics
# namespace: egommerce
# labels:
# app: api-cache
# spec:
# type: NodePort
# selector:
# app: api-cache
# ports:
# - port: 9121
# nodePort: 31301
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: api-cache
namespace: egommerce
spec:
replicas: 1
selector:
matchLabels:
app: api-cache
template:
metadata:
labels:
app: api-cache
spec:
containers:
- name: api-cache
image: git.ego.freeddns.org/egommerce/api-cache:dev
imagePullPolicy: Always
command: [
"redis-server"
]
args: [
"/etc/redis.conf"
]
env:
- name: APP_NAME
value: api-cache
- name: REDIS_PASSWORD
value: "12345678"
resources:
limits:
cpu: "1"
memory: 512M
ports:
- containerPort: 6379
- name: api-cache-metrics
image: oliver006/redis_exporter:latest
args:
- --redis.addr=redis://api-cache:6379
ports:
- containerPort: 9121

View File

@@ -0,0 +1,66 @@
apiVersion: v1
kind: Service
metadata:
name: api-eventbus
namespace: egommerce
labels:
app: api-eventbus
spec:
type: NodePort
selector:
app: api-eventbus
ports:
- name: api-eventbus-mngmnt
protocol: TCP
port: 15672
nodePort: 31200
# - name: api-eventbus-metrics
# protocol: TCP
# port: 15692
# nodePort: 31201
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: api-eventbus
namespace: egommerce
spec:
replicas: 1
selector:
matchLabels:
app: api-eventbus
template:
metadata:
labels:
app: api-eventbus
spec:
containers:
- name: api-eventbus
image: git.ego.freeddns.org/egommerce/api-eventbus:dev
imagePullPolicy: Always
command: [
"rabbitmq-server"
]
env:
- name: APP_NAME
value: api-eventbus
- name: RABBITMQ_ERLANG_COOKIE
value: rabbitmq
volumeMounts:
- name: eventbus-data
mountPath: /var/lib/rabbitmq
- name: eventbus-logs
mountPath: /var/log/rabbitmq
resources:
limits:
cpu: "1"
memory: 1G
ports:
- containerPort: 5672
- containerPort: 15672
- containerPort: 15692
volumes:
- name: eventbus-data
emptyDir:
- name: eventbus-logs
emptyDir:

130
deploy/k8s/api-gateway.yml Normal file
View File

@@ -0,0 +1,130 @@
apiVersion: v1
kind: Service
metadata:
name: api-gateway
namespace: egommerce
spec:
type: NodePort
ports:
- name: https
port: 8443
nodePort: 31800
selector:
app: api-gateway
---
kind: IngressClass
apiVersion: networking.k8s.io/v1
metadata:
name: haproxy
namespace: egommerce
spec:
controller: haproxy.org/ingress-controller/haproxy
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: api-gateway
namespace: egommerce
annotations:
haproxy.org/server-ssl: "true"
haproxy.org/server-ca: "egommerce/ca-root"
haproxy.org/path-rewrite: |
/api/identity/(.*) /\1
/api/catalog/(.*) /\1
spec:
ingressClassName: haproxy
tls:
- secretName: api-gateway-cert
hosts:
- "egommerce.io" # FIXME use domain name here eg. egommerce.io
rules:
- host: egommerce.io
http:
paths:
- path: /api/identity
pathType: Prefix
backend:
service:
name: identity-svc
port:
number: 443
# - path: /api/catalog
# pathType: Prefix
# backend:
# service:
# name: catalog-svc
# port:
# number: 443
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: api-gateway
namespace: egommerce
spec:
replicas: 1
selector:
matchLabels:
app: api-gateway
template:
metadata:
labels:
app: api-gateway
spec:
restartPolicy: Always
containers:
- name: api-gateway
image: git.ego.freeddns.org/egommerce/api-gateway:dev
imagePullPolicy: Always
resources:
limits:
cpu: 100m
memory: 512Mi
requests:
cpu: 50m
memory: 256Mi
ports:
- containerPort: 8443
args:
- --configmap=egommerce/api-gateway
- --publish-service=egommerce/api-gateway
- --ingress.class=haproxy
# - --http-bind-port=8080
- --https-bind-port=8443
env:
- name: POD_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.name
- name: POD_NAMESPACE
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.namespace
- name: POD_IP
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: status.podIP
securityContext:
capabilities:
add:
- NET_BIND_SERVICE
drop:
- ALL
# runAsUser: 1000
# runAsGroup: 1000
# runAsNonRoot: true
# allowPrivilegeEscalation: false
# seccompProfile:
# type: RuntimeDefault
volumeMounts:
- name: root-ca
mountPath: /etc/certs/root-ca.pem
readOnly: true
volumes:
- name: root-ca
hostPath:
path: /egommerce/stack/deploy/certs/ca-root/ca-root.pem
type: File

432
deploy/k8s/api-logger.yml Normal file
View File

@@ -0,0 +1,432 @@
apiVersion: v1
kind: Service
metadata:
name: api-logger-loki
namespace: egommerce
labels:
app: api-logger-loki
spec:
type: NodePort
selector:
app: api-logger-loki
ports:
- protocol: TCP
port: 3100
nodePort: 31401
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: api-logger-loki
namespace: egommerce
labels:
app: api-logger-loki
spec:
replicas: 1
selector:
matchLabels:
app: api-logger-loki
template:
metadata:
labels:
app: api-logger-loki
spec:
containers:
- name: api-logger-loki
image: git.ego.freeddns.org/egommerce/api-logger-loki:dev
imagePullPolicy: Always
args:
- "-config.file=/etc/loki/loki.yaml"
ports:
- containerPort: 3100
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: api-logger-promtail-ac
namespace: egommerce
labels:
app: api-logger-promtail-ac
annotations: {}
---
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: api-logger-promtail
namespace: egommerce
labels:
app: api-logger-promtail
spec:
revisionHistoryLimit: 1
selector:
matchLabels:
app: api-logger-promtail
# updateStrategy:
# type: RollingUpdate
template:
metadata:
labels:
app: api-logger-promtail
annotations:
prometheus.io/port: http-metrics
prometheus.io/scrape: "true"
spec:
serviceAccountName: api-logger-promtail-ac
automountServiceAccountToken: true
containers:
- name: api-logger-promtail
image: git.ego.freeddns.org/egommerce/api-logger-promtail:dev
imagePullPolicy: Always
env:
- name: HOSTNAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: GOMAXPROCS
valueFrom:
resourceFieldRef:
divisor: '1'
resource: limits.cpu
- name: GOMEMLIMIT
valueFrom:
resourceFieldRef:
divisor: '1'
resource: limits.memory
ports:
- name: promtail-http
containerPort: 3101
resources:
limits:
cpu: 100m
memory: 512Mi
requests:
cpu: 50m
memory: 128Mi
livenessProbe:
httpGet:
path: /ready
port: promtail-http
initialDelaySeconds: 45
readinessProbe:
httpGet:
path: /ready
port: promtail-http
initialDelaySeconds: 45
volumeMounts:
# - name: api-logger-promtail-config
# mountPath: /etc/promtail
- name: api-logger-promtail-run
mountPath: /run/promtail
- name: api-logger-promtail-varlog
mountPath: /var/log
readOnly: true
- name: api-logger-promtail-docker
mountPath: /var/lib/docker/containers
readOnly: true
- name: api-logger-promtail-tmp
mountPath: /tmp
subPath: tmp
readOnly: false
securityContext:
privileged: true
readOnlyRootFilesystem: true
runAsUser: 0
seccompProfile:
type: RuntimeDefault
capabilities:
drop:
- ALL
terminationGracePeriodSeconds: 60
volumes:
- name: api-logger-promtail-run
hostPath:
path: /run/promtail
- name: api-logger-promtail-varlog
hostPath:
path: /var/log
- name: api-logger-promtail-docker
hostPath:
path: /var/lib/docker/containers
- name: api-logger-promtail-tmp
emptyDir:
sizeLimit: 1Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: api-logger-prometheus-pv
namespace: egommerce
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
storageClassName: api-logger-prometheus-pv
hostPath:
path: "/home/keedosn/.egommerce/prometheus" # Ensure this path exists on the node
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: api-logger-prometheus-pvc
namespace: egommerce
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
storageClassName: api-logger-prometheus-pv
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: api-logger-prometheus
namespace: egommerce
labels:
name: api-logger-prometheus
annotations: {}
---
apiVersion: v1
kind: Service
metadata:
name: api-logger-prometheus
namespace: egommerce
labels:
app: api-logger-prometheus
spec:
type: NodePort
selector:
app: api-logger-prometheus
ports:
- name: api-logger-prometheus
protocol: TCP
port: 9090
nodePort: 31402
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: api-logger-prometheus
namespace: egommerce
labels:
app: api-logger-prometheus
spec:
# revisionHistoryLimit: 1
# replicas: 1
selector:
matchLabels:
app: api-logger-prometheus
template:
metadata:
labels:
app: api-logger-prometheus
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: prometheus-http
spec:
serviceAccountName: api-logger-prometheus
automountServiceAccountToken: true
securityContext:
runAsGroup: 10001
runAsUser: 10001
runAsNonRoot: true
containers:
- name: api-logger-prometheus
image: git.ego.freeddns.org/egommerce/api-logger-prometheus:dev
imagePullPolicy: Always
env:
- name: GOMAXPROCS
valueFrom:
resourceFieldRef:
divisor: '1'
resource: limits.cpu
- name: GOMEMLIMIT
valueFrom:
resourceFieldRef:
divisor: '1'
resource: limits.memory
args:
# - '--storage.tsdb.retention.time=15d'
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus/data/'
# - '--web.console.libraries=/etc/prometheus/console_libraries'
# - '--web.console.templates=/etc/prometheus/consoles'
# - '--enable-feature=concurrent-rule-eval,promql-experimental-functions,exemplar-storage,promql-per-step-stats,native-histograms'
# - '--web.enable-remote-write-receiver'
# - '--web.enable-otlp-receiver'
# - '--web.enable-lifecycle'
- '--log.level=info'
# - '--log.format=json'
ports:
- name: prometheus-http
containerPort: 9090
# livenessProbe:
# httpGet:
# path: /-/healthy
# port: prometheus-http
# readinessProbe:
# httpGet:
# path: /-/ready
# port: prometheus-http
resources:
limits:
cpu: 150m
memory: 894Mi
requests:
cpu: 100m
memory: 512Mi
volumeMounts:
# - name: config-volume
# mountPath: /etc/prometheus
# - name: config-volume
# mountPath: /etc/config/alerting_rules.yml
# subPath: alerting_rules.yml
- name: api-logger-prometheus-storage
mountPath: /prometheus/data
securityContext:
allowPrivilegeEscalation: false
privileged: false
readOnlyRootFilesystem: false #true DEFAULT !!!
seccompProfile:
type: RuntimeDefault
capabilities:
drop:
- ALL
volumes:
- name: api-logger-prometheus-storage
persistentVolumeClaim:
claimName: api-logger-prometheus-pvc
---
apiVersion: v1
kind: Service
metadata:
name: api-logger-grafana
namespace: egommerce
labels:
app: api-logger-grafana
spec:
type: NodePort
selector:
app: api-logger-grafana
ports:
- name: api-logger-grafana-api
protocol: TCP
port: 3000
nodePort: 31400
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: api-logger-grafana-pv
namespace: egommerce
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
storageClassName: api-logger-grafana-pv
hostPath:
path: "/home/keedosn/.egommerce/grafana" # Ensure this path exists on the node
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: api-logger-grafana-pvc
namespace: egommerce
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
storageClassName: api-logger-grafana-pv
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: api-logger-grafana
namespace: egommerce
labels:
app: api-logger-grafana
spec:
revisionHistoryLimit: 1
replicas: 1
selector:
matchLabels:
app: api-logger-grafana
template:
metadata:
labels:
app: api-logger-grafana
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "3000"
filter.by.port.name: "true"
spec:
automountServiceAccountToken: false
securityContext:
runAsNonRoot: true
runAsGroup: 65534
runAsUser: 65534
initContainers:
- name: curl
image: curlimages/curl:latest
imagePullPolicy: IfNotPresent
command:
- /bin/sh
args:
- -c
- |
which curl
volumeMounts:
- name: api-logger-grafana-storage
mountPath: /var/lib/grafana
subPath: grafana
containers:
- name: api-logger-grafana
image: git.ego.freeddns.org/egommerce/api-logger-grafana:dev
imagePullPolicy: Always
env:
- name: GOMAXPROCS
valueFrom:
resourceFieldRef:
divisor: '1'
resource: limits.cpu
- name: GOMEMLIMIT
valueFrom:
resourceFieldRef:
divisor: '1'
resource: limits.memory
ports:
- containerPort: 3000
resources:
limits:
cpu: 100m
memory: 768Mi
requests:
cpu: 50m
memory: 512Mi
volumeMounts:
- name: api-logger-grafana-storage
mountPath: /var/lib/grafana
subPath: grafana
- name: api-logger-grafana-storage
mountPath: /var/lib/grafana/dashboards
subPath: dashboards
- name: api-logger-grafana-storage
mountPath: /tmp
subPath: tmp
securityContext:
allowPrivilegeEscalation: false
privileged: false
readOnlyRootFilesystem: true
seccompProfile:
type: RuntimeDefault
capabilities:
drop:
- ALL
volumes:
- name: api-logger-grafana-storage
persistentVolumeClaim:
claimName: api-logger-grafana-pvc

View File

@@ -0,0 +1,91 @@
apiVersion: v1
kind: Service
metadata:
name: catalog-svc
namespace: egommerce
labels:
app: catalog-svc
spec:
type: NodePort
selector:
app: catalog-svc
ports:
- name: catalog-svc
protocol: TCP
port: 443
nodePort: 31830
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: catalog-svc
namespace: egommerce
spec:
replicas: 1
selector:
matchLabels:
app: catalog-svc
template:
metadata:
labels:
app: catalog-svc
spec:
containers:
- name: catalog-svc
image: git.ego.freeddns.org/egommerce/catalog-svc:dev
imagePullPolicy: Always
command: [
"sh"
]
args: [
"-c",
"/app"
]
env:
- name: APP_NAME
value: catalog-svc
- name: APP_DOMAIN
value: catalog-svc.egommerce.local
- name: APP_PATH_PREFIX
value: /catalog
- name: API_EVENTBUS_URL
value: amqp://guest:guest@api-eventbus:5672
# - name: API_MONGODB_URL
# value: mongodb://mongodb:12345678@mongo-db:27017
readinessProbe:
httpGet:
scheme: HTTPS
port: 443
path: /health
initialDelaySeconds: 5
periodSeconds: 5
failureThreshold: 5
livenessProbe:
httpGet:
scheme: HTTPS
port: 443
path: /health
initialDelaySeconds: 5
periodSeconds: 5
failureThreshold: 1
volumeMounts:
- name: catalog-cert
mountPath: /certs/catalog-svc.crt
readOnly: true
- name: catalog-key
mountPath: /certs/catalog-svc.key
resources:
limits:
cpu: "1"
memory: 512M
ports:
- containerPort: 443
volumes:
- name: catalog-cert
hostPath:
path: /egommerce/stack/deploy/certs/catalog-svc/catalog-svc.crt
type: File
- name: catalog-key
hostPath:
path: /egommerce/stack/deploy/certs/catalog-svc/catalog-svc.key
type: File

119
deploy/k8s/db-postgres.yml Normal file
View File

@@ -0,0 +1,119 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: db-postgres-pv
namespace: egommerce
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
storageClassName: db-postgres-pv
hostPath:
path: "/home/keedosn/.egommerce/postgres" # Ensure this path exists on the node
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: db-postgres-pvc
namespace: egommerce
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
storageClassName: db-postgres-pv
---
apiVersion: v1
kind: Service
metadata:
name: db-postgres
namespace: egommerce
labels:
app: db-postgres
spec:
type: NodePort
selector:
app: db-postgres
ports:
- name: db-postgres
protocol: TCP
port: 5432
nodePort: 31500
# ---
# apiVersion: v1
# kind: Service
# metadata:
# name: db-postgres-metrics
# namespace: egommerce
# labels:
# app: db-postgres
# spec:
# type: NodePort
# selector:
# app: db-postgres
# ports:
# - name: db-postgres
# protocol: TCP
# port: 9187
# nodePort: 31501
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: db-postgres
namespace: egommerce
spec:
replicas: 1
selector:
matchLabels:
app: db-postgres
template:
metadata:
labels:
app: db-postgres
spec:
securityContext:
runAsUser: 70 # postgres user
fsGroup: 70 # postgres user
# remember to change perms and owner of ~/.egommerce/postgres directory
containers:
- name: db-postgres
image: git.ego.freeddns.org/egommerce/db-postgres:dev
imagePullPolicy: Always
env:
- name: APP_NAME
value: db-postgres
- name: APP_DOMAIN
value: db-postgres.egommerce.local
- name: POSTGRES_USER
value: postgres
- name: POSTGRES_DB
value: egommerce
- name: POSTGRES_PASSWORD
# value: H5Gd7^37*Hka*a72
value: "12345678"
- name: PGDATA
value: /var/lib/postgresql/data
resources:
limits:
cpu: "1"
memory: 512M
ports:
- containerPort: 5432
volumeMounts:
- name: db-postgres-storage
mountPath: /var/lib/postgresql/data
# subPath: data
- name: db-postgres-metrics
image: prometheuscommunity/postgres-exporter:latest
ports:
- containerPort: 9187
env:
- name: DATA_SOURCE_NAME
value: "postgresql://postgres:12345678@db-postgres:5432/egommerce" #?sslmode=disable
volumes:
- name: db-postgres-storage
persistentVolumeClaim:
claimName: db-postgres-pvc

115
deploy/k8s/identity-svc.yml Normal file
View File

@@ -0,0 +1,115 @@
apiVersion: v1
kind: Service
metadata:
name: identity-svc
namespace: egommerce
labels:
app: identity-svc
spec:
type: NodePort
selector:
app: identity-svc
ports:
- name: identity-svc
port: 443
nodePort: 31810
# - name: identity-svc-metrics
# port: 9090
# nodePort: 31811
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: identity-svc
namespace: egommerce
spec:
replicas: 1
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1 # Number of extra pods that can be created during update
maxUnavailable: 1 # Max number of pods that can be unavailable during update
selector:
matchLabels:
app: identity-svc
template:
metadata:
labels:
app: identity-svc
spec:
# initContainers:
# - name: identity-svc-init
# image: busybox:1.28
# command: [
# 'sh',
# '-c',
# '/bin/migrate'
# ]
containers:
- name: identity-svc
image: git.ego.freeddns.org/egommerce/identity-svc:dev
imagePullPolicy: Always
env:
- name: APP_NAME
value: identity-svc
- name: APP_DOMAIN
value: identity-svc.egommerce.local
- name: APP_PATH_PREFIX
value: /identity
- name: API_EVENTBUS_URL
value: amqp://guest:guest@api-eventbus:5672
- name: API_MONGODB_URL
value: mongodb://mongodb:12345678@mongo-db:27017
readinessProbe:
httpGet:
scheme: HTTPS
port: identity-svc
path: /health
initialDelaySeconds: 5
periodSeconds: 5
failureThreshold: 1
livenessProbe:
httpGet:
scheme: HTTPS
port: identity-svc
path: /health
initialDelaySeconds: 5
periodSeconds: 5
failureThreshold: 1
volumeMounts:
- name: identity-cert
mountPath: /certs/identity-svc.crt
readOnly: true
- name: identity-key
mountPath: /certs/identity-svc.key
readOnly: true
- name: identity-migrations
mountPath: /migrations
readOnly: true
resources:
limits:
cpu: "1"
memory: 512M
ports:
- name: identity-svc
containerPort: 443
# - name: identity-svc-metrics
# image: prom/prometheus-exporter:latest
# ports:
# - containerPort: 9090
# args:
# - --web.listen-address=:9090
# - --web.telemetry-path=/metrics
volumes:
- name: identity-cert
hostPath:
path: /egommerce/stack/deploy/certs/identity-svc/identity-svc.crt
type: File
- name: identity-key
hostPath:
path: /egommerce/stack/deploy/certs/identity-svc/identity-svc.key
type: File
- name: identity-migrations
hostPath:
path: /egommerce/stack/deploy/db_migrations/identity-svc
type: Directory

6
deploy/k8s/namespace.yml Normal file
View File

@@ -0,0 +1,6 @@
kind: Namespace
apiVersion: v1
metadata:
name: egommerce
labels:
name: egommerce

8
deploy/k8s/secret.yml Normal file
View File

@@ -0,0 +1,8 @@
apiVersion: v1
kind: Secret
metadata:
name: regcred
namespace: egommerce
data:
.dockerconfigjson: ewoJImF1dGhzIjogewoJCSJnaXQuZWdvLmNsb3VkbnMuYmUiOiB7CgkJCSJhdXRoIjogImEyVmxaRzl6YmpwWGIyeHVaVFZQY0hKdlozSmhiVzkzWVc1cFpVQT0iCgkJfSwKCQkiaHR0cHM6Ly9pbmRleC5kb2NrZXIuaW8vdjEvIjogewoJCQkiYXV0aCI6ICJhMlZsWkc5emJqcGtiMk5yWlhKdmQyVTFiMkp5WVhwNSIKCQl9Cgl9Cn0=
type: kubernetes.io/dockerconfigjson

View File

@@ -1,48 +0,0 @@
apiVersion: v1
kind: Pod
metadata:
name: api-registry
labels:
app.kubernetes.io/name: api-registry
spec:
containers:
- name: api-registry
image: git.ego.cloudns.be/egommerce/api-registry:dev
resources:
limits:
cpu: "1"
memory: 512M
ports:
- containerPort: 8501
name: api-registry-ui
---
apiVersion: v1
kind: Service
metadata:
name: api-registry
spec:
selector:
app.kubernetes.io/name: api-registry
ports:
- name: api-registry-ui
protocol: TCP
port: 8501
targetPort: api-registry-ui
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: api-registry
spec:
replicas: 1
selector:
matchLabels:
app: api-registry
template:
metadata:
labels:
app: api-registry
spec:
containers:
- name: api-registry
image: git.ego.cloudns.be/egommerce/api-registry:dev

View File

@@ -1,28 +0,0 @@
apiVersion: v1
kind: Pod
metadata:
name: api-registry
labels:
app.kubernetes.io/name: api-registry
spec:
containers:
- name: api-registry
image: git.ego.cloudns.be/egommerce/api-registry:prod
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: api-registry
spec:
replicas: 1
selector:
matchLabels:
app: api-registry
template:
metadata:
labels:
app: api-registry
spec:
containers:
- name: api-registry
image: git.ego.cloudns.be/egommerce/api-registry:prod

View File

@@ -1,78 +0,0 @@
# kind: Namespace
# apiVersion: v1
# metadata:
# name: egommerce
# labels:
# name: egommerce
# ---
apiVersion: v1
kind: Secret
metadata:
name: docker-credentials
data:
.dockerconfigjson: ewoJImF1dGhzIjogewoJCSJnaXQucGJpZXJuYXQuaW8iOiB7CgkJCSJhdXRoIjogImEyVmxaRzl6YmpwWGIyeHVaVFZQY0hKdlozSmhiVzkzWVc1cFpVQT0iCgkJfSwKCQkiaHR0cHM6Ly9pbmRleC5kb2NrZXIuaW8vdjEvIjogewoJCQkiYXV0aCI6ICJhMlZsWkc5emJqcGtiMk5yWlhKdmQyVTFiMkp5WVhwNSIKCQl9Cgl9Cn0=
type: kubernetes.io/dockerconfigjson
---
# apiVersion: v1
# kind: Pod
# metadata:
# name: api-registry
# labels:
# app.kubernetes.io/name: api-registry
# spec:
# hostNetwork: true
# containers:
# - name: api-registry
# image: git.pbiernat.dev/egommerce/api-registry:dev
# resources:
# limits:
# cpu: "1"
# memory: 512M
# ports:
# - containerPort: 8501
# name: api-registry-ui
# ---
apiVersion: v1
kind: Service
metadata:
name: api-registry
spec:
selector:
app.kubernetes.io/name: api-registry
ports:
- name: api-registry-ui
protocol: TCP
port: 8501
targetPort: api-registry-ui
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: api-registry
spec:
replicas: 1
selector:
matchLabels:
app: api-registry
template:
metadata:
labels:
app: api-registry
spec:
hostNetwork: true
hostAliases:
- ip: "127.0.0.1"
hostnames:
- "git.pbiernat.io"
dnsPolicy: ClusterFirstWithHostNet
restartPolicy: Always
containers:
- name: api-registry
image: git.pbiernat.dev/egommerce/api-registry:dev
resources:
limits:
cpu: "1"
memory: 512M
ports:
- containerPort: 53
- containerPort: 8501