jobqueue: Introduce jobqueue backed by a postgres database
Co-authored-by: sanne <sanne.raymaekers@gmail.com>
This commit is contained in:
parent
871c6e9cbb
commit
9c2c92f729
419 changed files with 98376 additions and 956 deletions
|
|
@ -3,6 +3,9 @@ COPY . .
|
|||
ENV GOFLAGS=-mod=vendor
|
||||
RUN go install ./cmd/osbuild-composer/
|
||||
|
||||
FROM registry.access.redhat.com/ubi8/go-toolset:latest AS builder2
|
||||
RUN go get -u github.com/jackc/tern
|
||||
|
||||
FROM registry.access.redhat.com/ubi8/ubi-minimal:latest
|
||||
RUN microdnf install python3 python3-dnf
|
||||
RUN mkdir -p "/usr/libexec/osbuild-composer"
|
||||
|
|
@ -10,9 +13,13 @@ RUN mkdir -p "/etc/osbuild-composer/"
|
|||
RUN mkdir -p "/run/osbuild-composer/"
|
||||
RUN mkdir -p "/var/cache/osbuild-composer/"
|
||||
RUN mkdir -p "/var/lib/osbuild-composer/"
|
||||
RUN mkdir -p "/opt/migrate/"
|
||||
COPY --from=builder /opt/app-root/src/go/bin/osbuild-composer /usr/libexec/osbuild-composer/
|
||||
COPY ./containers/osbuild-composer/entrypoint.py /opt/entrypoint.py
|
||||
COPY ./dnf-json /usr/libexec/osbuild-composer/
|
||||
|
||||
COPY ./internal/jobqueue/dbjobqueue/schemas /opt/migrate/schemas
|
||||
COPY --from=builder2 /opt/app-root/src/go/bin/tern /opt/migrate/
|
||||
|
||||
EXPOSE 9196 8700
|
||||
ENTRYPOINT ["python3", "/opt/entrypoint.py", "--remote-worker-api", "--composer-api", "--composer-api-port", "9196"]
|
||||
|
|
|
|||
|
|
@ -36,6 +36,34 @@ objects:
|
|||
containers:
|
||||
- image: "${IMAGE_NAME}:${IMAGE_TAG}"
|
||||
name: osbuild-composer
|
||||
env:
|
||||
- name: PGHOST
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: osbuild-composer-db
|
||||
key: db.host
|
||||
- name: PGPORT
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: osbuild-composer-db
|
||||
key: db.port
|
||||
- name: PGDATABASE
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: osbuild-composer-db
|
||||
key: db.name
|
||||
- name: PGUSER
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: osbuild-composer-db
|
||||
key: db.user
|
||||
- name: PGPASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: osbuild-composer-db
|
||||
key: db.password
|
||||
- name: PGSSLMODE
|
||||
value: "${PGSSLMODE}"
|
||||
ports:
|
||||
- name: api
|
||||
containerPort: 9196
|
||||
|
|
@ -54,11 +82,46 @@ objects:
|
|||
- name: composer-config
|
||||
configMap:
|
||||
name: composer-config
|
||||
- name: db-secrets
|
||||
secret:
|
||||
secretName: db
|
||||
- name: state-directory
|
||||
persistentVolumeClaim:
|
||||
claimName: osbuild-composer-state-dir
|
||||
- name: cache-directory
|
||||
emptyDir: {}
|
||||
initContainers:
|
||||
- name: osbuild-composer-migrate
|
||||
image: "${IMAGE_NAME}:${IMAGE_TAG}"
|
||||
command: [ "/opt/migrate/tern", "migrate", "-m", "/opt/migrate/schemas" ]
|
||||
env:
|
||||
- name: PGHOST
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: osbuild-composer-db
|
||||
key: db.host
|
||||
- name: PGPORT
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: osbuild-composer-db
|
||||
key: db.port
|
||||
- name: PGDATABASE
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: osbuild-composer-db
|
||||
key: db.name
|
||||
- name: PGUSER
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: osbuild-composer-db
|
||||
key: db.user
|
||||
- name: PGPASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: osbuild-composer-db
|
||||
key: db.password
|
||||
- name: PGSSLMODE
|
||||
value: "${PGSSLMODE}"
|
||||
|
||||
- apiVersion: v1
|
||||
kind: Service
|
||||
|
|
@ -119,7 +182,7 @@ parameters:
|
|||
name: IMAGE_NAME
|
||||
value: quay.io/cloudservices/osbuild-composer
|
||||
required: true
|
||||
- description: image-builder image tag
|
||||
- description: osbuild-composer image tag
|
||||
name: IMAGE_TAG
|
||||
required: true
|
||||
- description: api listener port
|
||||
|
|
@ -134,3 +197,9 @@ parameters:
|
|||
- description: Identity filter for the composer api
|
||||
name: WORKER_API_IDENTITY_FILTER
|
||||
value: ""
|
||||
- description: db-secrets directory
|
||||
name: DB_SECRETS_DIR
|
||||
value: "/etc/osbuild-composer/db-secrets"
|
||||
- description: postgres sslmode to use when connecting to the db
|
||||
name: PGSSLMODE
|
||||
value: "require"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue