171 lines
3.4 KiB
YAML
171 lines
3.4 KiB
YAML
apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
name: portage
|
|
namespace: jenkins-jobs
|
|
labels:
|
|
app.kubernetes.io/name: portage
|
|
app.kubernetes.io/component: gentoo
|
|
spec:
|
|
accessModes:
|
|
- ReadWriteMany
|
|
resources:
|
|
requests:
|
|
storage: 4Gi
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
name: binpkgs
|
|
namespace: jenkins-jobs
|
|
labels:
|
|
app.kubernetes.io/name: binpkgs
|
|
app.kubernetes.io/component: gentoo
|
|
spec:
|
|
accessModes:
|
|
- ReadWriteMany
|
|
resources:
|
|
requests:
|
|
storage: 10Gi
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: gentoo-dist
|
|
namespace: jenkins-jobs
|
|
labels:
|
|
app.kubernetes.io/name: gentoo-dist
|
|
app.kubernetes.io/component: gentoo
|
|
data:
|
|
rsyncd.conf: |+
|
|
[gentoo-portage]
|
|
path = /var/db/repos/gentoo
|
|
|
|
[binpkgs]
|
|
path = /var/cache/binpkgs
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: gentoo-dist
|
|
namespace: jenkins-jobs
|
|
spec:
|
|
selector:
|
|
app.kubernetes.io/name: gentoo-dist
|
|
app.kubernetes.io/component: gentoo
|
|
ports:
|
|
- name: rsync
|
|
port: 873
|
|
targetPort: rsync
|
|
type: NodePort
|
|
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: gentoo-dist
|
|
namespace: jenkins-jobs
|
|
labels: &labels
|
|
app.kubernetes.io/name: gentoo-dist
|
|
app.kubernetes.io/component: gentoo
|
|
spec:
|
|
selector:
|
|
matchLabels: *labels
|
|
template:
|
|
metadata:
|
|
labels: *labels
|
|
spec:
|
|
containers:
|
|
- name: rsync
|
|
image: docker.io/gentoo/stage3
|
|
command:
|
|
- /usr/bin/rsync
|
|
- --daemon
|
|
- --no-detach
|
|
- --port=8873
|
|
- --log-file=/dev/stderr
|
|
ports:
|
|
- name: rsync
|
|
containerPort: 8873
|
|
securityContext:
|
|
readOnlyRootFilesystem: true
|
|
runAsUser: 250
|
|
runAsGroup: 250
|
|
volumeMounts:
|
|
- mountPath: /etc/rsyncd.conf
|
|
name: config
|
|
subPath: rsyncd.conf
|
|
- mountPath: /var/db/repos/gentoo
|
|
name: portage
|
|
- mountPath: /var/cache/binpkgs
|
|
name: binpkgs
|
|
volumes:
|
|
- name: binpkgs
|
|
persistentVolumeClaim:
|
|
claimName: binpkgs
|
|
- name: config
|
|
configMap:
|
|
name: gentoo-dist
|
|
- name: portage
|
|
persistentVolumeClaim:
|
|
claimName: portage
|
|
|
|
---
|
|
apiVersion: batch/v1
|
|
kind: Job
|
|
metadata:
|
|
name: emerge-webrsync
|
|
namespace: jenkins-jobs
|
|
labels:
|
|
app.kubernetes.io/name: emerge-webrsync
|
|
app.kubernetes.io/component: gentoo
|
|
spec:
|
|
template:
|
|
spec:
|
|
containers:
|
|
- name: sync
|
|
image: docker.io/gentoo/stage3
|
|
command:
|
|
- emerge-webrsync
|
|
volumeMounts:
|
|
- mountPath: /var/db/repos/gentoo
|
|
name: portage
|
|
restartPolicy: OnFailure
|
|
volumes:
|
|
- name: portage
|
|
persistentVolumeClaim:
|
|
claimName: portage
|
|
|
|
---
|
|
apiVersion: batch/v1
|
|
kind: CronJob
|
|
metadata:
|
|
name: sync-portage
|
|
namespace: jenkins-jobs
|
|
labels:
|
|
app.kubernetes.io/name: sync-portage
|
|
app.kubernetes.io/component: gentoo
|
|
spec:
|
|
schedule: 4 19 * * *
|
|
jobTemplate:
|
|
spec:
|
|
template:
|
|
spec:
|
|
containers:
|
|
- name: sync
|
|
image: docker.io/gentoo/stage3
|
|
command:
|
|
- emaint
|
|
- sync
|
|
volumeMounts:
|
|
- mountPath: /var/db/repos/gentoo
|
|
name: portage
|
|
restartPolicy: OnFailure
|
|
volumes:
|
|
- name: portage
|
|
persistentVolumeClaim:
|
|
claimName: portage
|