Merge pull request #6 from kairos-io/515-central-server

Add permanent nginx server and consume newer osbuilder
This commit is contained in:
Dimitris Karakasilis 2022-12-19 12:08:44 +02:00 committed by GitHub
commit 42cb48739b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 130 additions and 8 deletions

View File

@ -8,5 +8,5 @@ maintainers:
- name: Ettore Di Giacinto - name: Ettore Di Giacinto
email: mudler@kairos.io email: mudler@kairos.io
version: 0.5.0 version: 0.5.1
appVersion: "v0.5.0" appVersion: "v0.5.1"

View File

@ -50,6 +50,10 @@ spec:
- --leader-elect - --leader-elect
- --tool-image={{ .Values.image.repository | default "quay.io/kairos/osbuilder-tools" }}:{{ .Values.image.tag | default .Chart.AppVersion }} - --tool-image={{ .Values.image.repository | default "quay.io/kairos/osbuilder-tools" }}:{{ .Values.image.tag | default .Chart.AppVersion }}
- --serve-image={{ .Values.image.serving | default "nginx" }} - --serve-image={{ .Values.image.serving | default "nginx" }}
- --copy-to-namespace={{ .Release.Namespace }}
- --copy-role=osartifactbuilder-operator-artifactCopier
- --copy-to-pod-label=app.kubernetes.io/name=osbuilder-nginx
- --copy-to-path="/usr/share/nginx/html"
command: command:
- /manager - /manager
image: '{{ .Values.image.repository | default "quay.io/kairos/osbuilder" }}:{{ .Values.image.tag | default .Chart.AppVersion }}' image: '{{ .Values.image.repository | default "quay.io/kairos/osbuilder" }}:{{ .Values.image.tag | default .Chart.AppVersion }}'
@ -88,3 +92,35 @@ spec:
tolerations: tolerations:
{{- toYaml . | nindent 14 }} {{- toYaml . | nindent 14 }}
{{- end }} {{- end }}
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app.kubernetes.io/name: osbuilder-nginx
name: '{{ include "helm-chart.fullname" . }}'
namespace: '{{.Release.Namespace}}'
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: osbuilder-nginx
template:
metadata:
labels:
app.kubernetes.io/name: osbuilder-nginx
spec:
containers:
- image: nginx
name: nginx
ports:
- containerPort: 80
volumeMounts:
- mountPath: /usr/share/nginx/html
name: nginx-public
serviceAccountName: '{{ include "helm-chart.serviceAccountName" . }}'
terminationGracePeriodSeconds: 10
volumes:
- name: nginx-public
persistentVolumeClaim:
claimName: osartifactbuilder-operator-nginx-public

View File

@ -0,0 +1,12 @@
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: osartifactbuilder-operator-nginx-public
namespace: '{{.Release.Namespace}}'
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: {{ .Values.nginx.pvc-size }}

View File

@ -1,5 +1,25 @@
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: Role kind: Role
metadata:
name: osartifactbuilder-operator-artifactCopier
namespace: '{{.Release.Namespace}}'
rules:
- apiGroups:
- ""
resources:
- pods
verbs:
- list
- get
- apiGroups:
- ""
resources:
- pods/exec
verbs:
- create
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata: metadata:
name: osartifactbuilder-operator-leader-election-role name: osartifactbuilder-operator-leader-election-role
namespace: '{{.Release.Namespace}}' namespace: '{{.Release.Namespace}}'
@ -41,6 +61,31 @@ kind: ClusterRole
metadata: metadata:
name: osartifactbuilder-operator-manager-role name: osartifactbuilder-operator-manager-role
rules: rules:
- apiGroups:
- ""
resources:
- serviceaccounts
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- rbac.authorization.k8s.io
resources:
- roles
- rolebindings
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups: - apiGroups:
- build.kairos.io - build.kairos.io
resources: resources:
@ -76,20 +121,32 @@ rules:
- apiGroups: - apiGroups:
- "" - ""
resources: resources:
- services
- configmaps - configmaps
verbs: verbs:
- get - get
- create - create
- update - update
- apiGroups: - apiGroups:
- apps - batch
resources: resources:
- deployments - jobs
verbs: verbs:
- get - get
- create - create
- update - update
- apiGroups:
- ""
resources:
- pods
verbs:
- list
- get
- apiGroups:
- ""
resources:
- pods/exec
verbs:
- create
--- ---
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole kind: ClusterRole

View File

@ -13,3 +13,17 @@ spec:
targetPort: https targetPort: https
selector: selector:
{{- include "helm-chart.selectorLabels" . | nindent 6 }} {{- include "helm-chart.selectorLabels" . | nindent 6 }}
---
apiVersion: v1
kind: Service
metadata:
name: osartifactbuilder-operator-osbuilder-nginx
namespace: '{{.Release.Namespace}}'
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
app.kubernetes.io/name: osbuilder-nginx
type: NodePort

View File

@ -33,6 +33,9 @@ tls:
# "cert-manager"-only options: # "cert-manager"-only options:
certManagerIssuerName: "" certManagerIssuerName: ""
nginx:
pvc-size: 3Gi
## Resource limits & requests ## Resource limits & requests
## Ref: https://kubernetes.io/docs/user-guide/compute-resources/ ## Ref: https://kubernetes.io/docs/user-guide/compute-resources/
resources: resources: