Add sample files.

This commit is contained in:
Michael Lipp 2023-08-09 22:56:00 +02:00
parent 5d5b0c07c5
commit 3b72cb7969
7 changed files with 150 additions and 0 deletions

13
deploy/kustomization.yaml Normal file
View file

@ -0,0 +1,13 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: qemu-vms
resources:
- crds/vms-crd.yaml
- vmop-cluster-role.yaml
- vmop-service-account.yaml
- vmop-role-binding.yaml
- vmop-image-repository-pvc.yaml
- vmop-config-map.yaml
- vmop-deployment.yaml

View file

@ -0,0 +1,33 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: vm-operator
labels:
app.kubernetes.io/name: vm-operator
rules:
- apiGroups:
- vmoperator.jdrupes.org
resources:
- vms
verbs:
- '*'
- apiGroups:
- apps
resources:
- statefulsets
verbs:
- '*'
- apiGroups:
- ""
resources:
- configmaps
- secrets
verbs:
- '*'
- apiGroups:
- ""
resources:
- pods
verbs:
- list
- delete

View file

@ -0,0 +1,22 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: vm-operator
labels:
app.kubernetes.io/name: vm-operator
data:
config.yaml: |
"/Manager": {}
logging.properties: |
handlers=java.util.logging.ConsoleHandler
org.jgrapes.level=FINE
org.jgrapes.core.handlerTracking.level=FINER
org.jdrupes.vmoperator.manager.level=FINE
java.util.logging.ConsoleHandler.level=ALL
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
java.util.logging.SimpleFormatter.format=%1$tb %1$td %1$tT %4$s %5$s%6$s%n

View file

@ -0,0 +1,50 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: vm-operator
labels:
app.kubernetes.io/name: vm-operator
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: vm-operator
app.kubernetes.io/component: manager
template:
metadata:
name: vm-operator
namespace: qemu-vms
labels:
app.kubernetes.io/name: vm-operator
app.kubernetes.io/component: manager
spec:
containers:
- name: vm-operator
image: >-
docker-registry.lan.mnl.de/vmoperator/org.jdrupes.vmoperator.manager:latest
volumeMounts:
- name: config
mountPath: /etc/opt/vmoperator
- name: vmop-image-repository
mountPath: /var/local/vmop-image-repository
imagePullPolicy: Always
securityContext:
capabilities:
drop:
- ALL
readOnlyRootFilesystem: true
allowPrivilegeEscalation: false
volumes:
- name: config
configMap:
name: vm-operator
- name: vmop-image-repository
persistentVolumeClaim:
claimName: vmop-image-repository
nodeSelector:
kubernetes.io/os: linux
serviceAccountName: vm-operator
serviceAccount: vm-operator
securityContext:
runAsUser: 65534
runAsNonRoot: true

View file

@ -0,0 +1,13 @@
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: vmop-image-repository
labels:
app.kubernetes.io/name: vm-operator
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Gi
volumeMode: Filesystem

View file

@ -0,0 +1,13 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: vm-operator
labels:
app.kubernetes.io/name: vm-operator
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: vm-operator
subjects:
- kind: ServiceAccount
name: vm-operator

View file

@ -0,0 +1,6 @@
kind: ServiceAccount
apiVersion: v1
metadata:
name: vm-operator
labels:
app.kubernetes.io/name: vm-operator