60 lines
1.6 KiB
YAML
60 lines
1.6 KiB
YAML
|
|
apiVersion: batch/v1
|
||
|
|
kind: Job
|
||
|
|
metadata:
|
||
|
|
name: mpd-build
|
||
|
|
namespace: media
|
||
|
|
spec:
|
||
|
|
ttlSecondsAfterFinished: 3600
|
||
|
|
template:
|
||
|
|
spec:
|
||
|
|
restartPolicy: Never
|
||
|
|
initContainers:
|
||
|
|
- name: prepare-context
|
||
|
|
image: alpine/git:latest
|
||
|
|
command:
|
||
|
|
- sh
|
||
|
|
- -c
|
||
|
|
- |
|
||
|
|
mkdir -p /workspace/mpd
|
||
|
|
# We'll copy the files directly since they're in the ConfigMap
|
||
|
|
echo "Build context prepared"
|
||
|
|
volumeMounts:
|
||
|
|
- name: workspace
|
||
|
|
mountPath: /workspace
|
||
|
|
containers:
|
||
|
|
- name: kaniko
|
||
|
|
image: gcr.io/kaniko-project/executor:latest
|
||
|
|
args:
|
||
|
|
- "--dockerfile=/workspace/mpd/Dockerfile"
|
||
|
|
- "--context=/workspace/mpd"
|
||
|
|
- "--destination=images.caffeinetux.com/apps/mpd:latest"
|
||
|
|
- "--destination=images.caffeinetux.com/apps/mpd:alpine-3.21"
|
||
|
|
- "--cache=true"
|
||
|
|
- "--cache-repo=images.caffeinetux.com/apps/mpd/cache"
|
||
|
|
volumeMounts:
|
||
|
|
- name: workspace
|
||
|
|
mountPath: /workspace
|
||
|
|
- name: docker-config
|
||
|
|
mountPath: /kaniko/.docker
|
||
|
|
- name: dockerfile
|
||
|
|
mountPath: /workspace/mpd/Dockerfile
|
||
|
|
subPath: Dockerfile
|
||
|
|
- name: mpd-config
|
||
|
|
mountPath: /workspace/mpd/mpd.conf
|
||
|
|
subPath: mpd.conf
|
||
|
|
volumes:
|
||
|
|
- name: workspace
|
||
|
|
emptyDir: {}
|
||
|
|
- name: docker-config
|
||
|
|
secret:
|
||
|
|
secretName: harbor-registry
|
||
|
|
items:
|
||
|
|
- key: .dockerconfigjson
|
||
|
|
path: config.json
|
||
|
|
- name: dockerfile
|
||
|
|
configMap:
|
||
|
|
name: mpd-build-files
|
||
|
|
- name: mpd-config
|
||
|
|
configMap:
|
||
|
|
name: mpd-build-files
|