108 lines
2.5 KiB
YAML
108 lines
2.5 KiB
YAML
apiVersion: v1
|
|
kind: Template
|
|
labels:
|
|
app: dnf-json
|
|
template: dnf-json
|
|
metadata:
|
|
annotations:
|
|
description: |
|
|
Internal depsolving service meant as a supporting service for image-builder in crc
|
|
name: dnf-json
|
|
objects:
|
|
|
|
- apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
labels:
|
|
service: dnf-json
|
|
name: dnf-json
|
|
spec:
|
|
replicas: 9
|
|
selector:
|
|
matchLabels:
|
|
name: dnf-json
|
|
template:
|
|
metadata:
|
|
labels:
|
|
name: dnf-json
|
|
spec:
|
|
serviceAccountName: dnf-json
|
|
affinity:
|
|
podAntiAffinity:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
- weight: 100
|
|
podAffinityTerm:
|
|
labelSelector:
|
|
matchLabels:
|
|
name: dnf-json
|
|
topologyKey: kubernetes.io/hostname
|
|
containers:
|
|
- image: "${IMAGE_NAME}:${IMAGE_TAG}"
|
|
name: dnf-json
|
|
command: [ "python3", "/opt/entrypoint.py", "--dnf-json", "--dnf-json-port", "8080" ]
|
|
env:
|
|
- name: OVERWRITE_CACHE_DIR
|
|
value: "${CACHE_DIR}"
|
|
resources:
|
|
requests:
|
|
cpu: "${CPU_REQUEST}"
|
|
memory: "${MEMORY_REQUEST}"
|
|
limits:
|
|
cpu: "${CPU_LIMIT}"
|
|
memory: "${MEMORY_LIMIT}"
|
|
ports:
|
|
- name: api
|
|
containerPort: 8080
|
|
protocol: TCP
|
|
volumeMounts:
|
|
- name: cache
|
|
mountPath: "${CACHE_DIR}"
|
|
volumes:
|
|
- name: cache
|
|
emptyDir: {}
|
|
|
|
- apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: dnf-json
|
|
imagePullSecrets:
|
|
- name: quay-cloudservices-pull
|
|
|
|
- apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
labels:
|
|
service: dnf-json
|
|
name: dnf-json
|
|
spec:
|
|
ports:
|
|
- name: dnf-json
|
|
protocol: TCP
|
|
port: 8080
|
|
targetPort: 8080
|
|
selector:
|
|
name: dnf-json
|
|
|
|
parameters:
|
|
- description: composer image name
|
|
name: IMAGE_NAME
|
|
value: quay.io/app-sre/composer
|
|
required: true
|
|
- description: composer image tag
|
|
name: IMAGE_TAG
|
|
required: true
|
|
# dnf-json can handle 1 depsolve at a time, therefore it benefits from multiple small containers
|
|
- name: CPU_REQUEST
|
|
description: CPU request per container
|
|
value: "125m"
|
|
- name: CPU_LIMIT
|
|
description: CPU limit per container
|
|
value: "125m"
|
|
- name: MEMORY_REQUEST
|
|
description: Memory request per container
|
|
value: "128Mi"
|
|
- name: MEMORY_LIMIT
|
|
description: Memory limit per container
|
|
value: "256Mi"
|
|
- name: CACHE_DIR
|
|
value: "/var/cache/dnf-json"
|