1
0
forked from suse-edge/Factory

unpack obscpio files

This commit is contained in:
2024-10-22 10:51:51 +03:00
parent beab68c274
commit 21086b77bb
182 changed files with 15763 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
apiVersion: v2
appVersion: 0.1.0
description: A Helm chart containing SUSE Lifecycle CRDs
name: lifecycle-crds
type: application
version: 0.1.0

View File

@@ -0,0 +1,135 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: releasemanifests.lifecycle.suse.com
spec:
group: lifecycle.suse.com
names:
kind: ReleaseManifest
listKind: ReleaseManifestList
plural: releasemanifests
singular: releasemanifest
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: ReleaseManifest is the Schema for the releasemanifests API
properties:
apiVersion:
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
spec:
description: ReleaseManifestSpec defines the desired state of ReleaseManifest
properties:
components:
properties:
kubernetes:
properties:
k3s:
properties:
version:
type: string
required:
- version
type: object
rke2:
properties:
version:
type: string
required:
- version
type: object
required:
- k3s
- rke2
type: object
operatingSystem:
properties:
cpeScheme:
type: string
prettyName:
type: string
supportedArchs:
items:
enum:
- x86_64
- aarch64
type: string
minItems: 1
type: array
version:
type: string
zypperID:
type: string
required:
- cpeScheme
- prettyName
- supportedArchs
- version
- zypperID
type: object
workloads:
properties:
helm:
items:
properties:
addonCharts:
x-kubernetes-preserve-unknown-fields: true
chart:
type: string
dependencyCharts:
x-kubernetes-preserve-unknown-fields: true
prettyName:
type: string
releaseName:
type: string
repository:
type: string
values:
x-kubernetes-preserve-unknown-fields: true
version:
type: string
required:
- chart
- prettyName
- releaseName
- version
type: object
type: array
required:
- helm
type: object
required:
- kubernetes
- operatingSystem
- workloads
type: object
releaseVersion:
type: string
required:
- releaseVersion
type: object
status:
description: ReleaseManifestStatus defines the observed state of ReleaseManifest
type: object
type: object
served: true
storage: true
subresources:
status: {}

View File

@@ -0,0 +1,83 @@
{{/*
Expand the name of the chart.
*/}}
{{- define "upgrade-controller.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "upgrade-controller.fullname" -}}
{{- if .Values.fullnameOverride }}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- $name := default .Chart.Name .Values.nameOverride }}
{{- if contains $name .Release.Name }}
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
{{- end }}
{{- end }}
{{- end }}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "upgrade-controller.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Common labels
*/}}
{{- define "upgrade-controller.labels" -}}
helm.sh/chart: {{ include "upgrade-controller.chart" . }}
{{ include "upgrade-controller.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}
{{/*
Selector labels
*/}}
{{- define "upgrade-controller.selectorLabels" -}}
app.kubernetes.io/name: {{ include "upgrade-controller.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}
{{/*
Create the name of the service account to use
*/}}
{{- define "upgrade-controller.serviceAccountName" -}}
{{- if .Values.serviceAccount.create }}
{{- default (include "upgrade-controller.fullname" .) .Values.serviceAccount.name }}
{{- else }}
{{- default "default" .Values.serviceAccount.name }}
{{- end }}
{{- end }}
{{/*
Webhook service name
*/}}
{{- define "upgrade-controller.webhookServiceName" -}}
{{ .Release.Name }}-webhook
{{- end }}
{{/*
Certificate issuer name
*/}}
{{- define "upgrade-controller.certificateIssuer" -}}
{{ .Release.Name }}-self-signed-issuer
{{- end }}
{{/*
Certificate name
*/}}
{{- define "upgrade-controller.certificate" -}}
{{ .Release.Name }}-serving-cert
{{- end }}

View File

@@ -0,0 +1,28 @@
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
labels:
{{- include "upgrade-controller.labels" . | nindent 4 }}
name: {{ include "upgrade-controller.certificateIssuer" . }}
namespace: {{ .Release.Namespace }}
spec:
selfSigned: {}
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
labels:
{{- include "upgrade-controller.labels" . | nindent 4 }}
app.kubernetes.io/component: certificate
name: {{ include "upgrade-controller.certificate" . }}
namespace: {{ .Release.Namespace }}
spec:
dnsNames:
- {{ include "upgrade-controller.webhookServiceName" . }}.{{ .Release.Namespace }}.svc
- {{ include "upgrade-controller.webhookServiceName" . }}.{{ .Release.Namespace }}.svc.cluster.local
issuerRef:
kind: Issuer
name: {{ include "upgrade-controller.certificateIssuer" . }}
{{- with first .Values.volumes }}
secretName: {{ .secret.secretName }}
{{- end }}

View File

@@ -0,0 +1,114 @@
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ include "upgrade-controller.fullname" . }}
labels:
{{- include "upgrade-controller.labels" . | nindent 4 }}
rules:
- apiGroups:
- ""
resources:
- nodes
verbs:
- list
- watch
- apiGroups:
- ""
resources:
- secrets
verbs:
- create
- delete
- get
- list
- watch
- apiGroups:
- apiextensions.k8s.io
resources:
- customresourcedefinitions
verbs:
- get
- apiGroups:
- batch
resources:
- jobs
verbs:
- create
- get
- list
- watch
- apiGroups:
- batch
resources:
- jobs/status
verbs:
- get
- apiGroups:
- ""
resources:
- events
verbs:
- create
- patch
- apiGroups:
- helm.cattle.io
resources:
- helmcharts
verbs:
- create
- get
- list
- update
- watch
- apiGroups:
- helm.cattle.io
resources:
- helmcharts/status
verbs:
- get
- apiGroups:
- lifecycle.suse.com
resources:
- releasemanifests
verbs:
- create
- get
- list
- watch
- apiGroups:
- lifecycle.suse.com
resources:
- upgradeplans
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- lifecycle.suse.com
resources:
- upgradeplans/finalizers
verbs:
- update
- apiGroups:
- lifecycle.suse.com
resources:
- upgradeplans/status
verbs:
- get
- patch
- update
- apiGroups:
- upgrade.cattle.io
resources:
- plans
verbs:
- create
- delete
- get
- list
- watch

View File

@@ -0,0 +1,14 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: {{ include "upgrade-controller.fullname" . }}
labels:
{{- include "upgrade-controller.labels" . | nindent 4 }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: {{ include "upgrade-controller.fullname" . }}
subjects:
- kind: ServiceAccount
name: {{ include "upgrade-controller.serviceAccountName" . }}
namespace: {{ .Release.Namespace }}

View File

@@ -0,0 +1,85 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "upgrade-controller.fullname" . }}
namespace: {{ .Release.Namespace }}
labels:
{{- include "upgrade-controller.labels" . | nindent 4 }}
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
{{- include "upgrade-controller.selectorLabels" . | nindent 6 }}
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "upgrade-controller.labels" . | nindent 8 }}
{{- with .Values.podLabels }}
{{- toYaml . | nindent 8 }}
{{- end }}
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
serviceAccountName: {{ include "upgrade-controller.serviceAccountName" . }}
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
containers:
- name: {{ .Chart.Name }}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
args:
- --leader-elect
- --health-probe-bind-address=:8081
env:
- name: WATCH_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: RELEASE_MANIFEST_IMAGE
value: {{ .Values.env.releaseManifest.image }}
- name: KUBECTL_IMAGE
value: {{ .Values.env.kubectl.image }}
- name: KUBECTL_VERSION
value: {{ .Values.env.kubectl.version }}
- name: SERVICE_ACCOUNT_NAME
valueFrom:
fieldRef:
fieldPath: spec.serviceAccountName
ports:
- name: {{ .Values.webhookService.name }}
containerPort: {{ .Values.webhookService.targetPort }}
protocol: TCP
livenessProbe:
{{- toYaml .Values.livenessProbe | nindent 12 }}
readinessProbe:
{{- toYaml .Values.readinessProbe | nindent 12 }}
resources:
{{- toYaml .Values.resources | nindent 12 }}
{{- with .Values.volumeMounts }}
volumeMounts:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.volumes }}
volumes:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}

View File

@@ -0,0 +1,40 @@
# permissions to do leader election.
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: {{ include "upgrade-controller.fullname" . }}-leader-election
namespace: {{ .Release.Namespace }}
labels:
{{- include "upgrade-controller.labels" . | nindent 4 }}
rules:
- apiGroups:
- ""
resources:
- configmaps
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- coordination.k8s.io
resources:
- leases
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- ""
resources:
- events
verbs:
- create
- patch

View File

@@ -0,0 +1,15 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: {{ include "upgrade-controller.fullname" . }}-leader-election
namespace: {{ .Release.Namespace }}
labels:
{{- include "upgrade-controller.labels" . | nindent 4 }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: {{ include "upgrade-controller.fullname" . }}-leader-election
subjects:
- kind: ServiceAccount
name: {{ include "upgrade-controller.serviceAccountName" . }}
namespace: {{ .Release.Namespace }}

View File

@@ -0,0 +1,14 @@
{{- if .Values.serviceAccount.create -}}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ include "upgrade-controller.serviceAccountName" . }}
namespace: {{ .Release.Namespace }}
labels:
{{- include "upgrade-controller.labels" . | nindent 4 }}
{{- with .Values.serviceAccount.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
automountServiceAccountToken: {{ .Values.serviceAccount.automount }}
{{- end }}

View File

@@ -0,0 +1,29 @@
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
name: {{ include "upgrade-controller.fullname" . }}-validating-webhook-configuration
labels:
{{- include "upgrade-controller.labels" . | nindent 4 }}
annotations:
cert-manager.io/inject-ca-from: {{ .Release.Namespace }}/{{ include "upgrade-controller.certificate" . }}
webhooks:
- admissionReviewVersions:
- v1
clientConfig:
service:
name: {{ include "upgrade-controller.webhookServiceName" . }}
namespace: {{ .Release.Namespace }}
path: /validate-lifecycle-suse-com-v1alpha1-upgradeplan
failurePolicy: Fail
name: upgrade-plan-policy.suse.com
rules:
- apiGroups:
- lifecycle.suse.com
apiVersions:
- v1alpha1
operations:
- CREATE
- UPDATE
resources:
- upgradeplans
sideEffects: None

View File

@@ -0,0 +1,15 @@
apiVersion: v1
kind: Service
metadata:
name: {{ include "upgrade-controller.webhookServiceName" . }}
namespace: {{ .Release.Namespace }}
labels:
{{- include "upgrade-controller.labels" . | nindent 4 }}
spec:
type: {{ .Values.webhookService.type }}
ports:
- port: {{ .Values.webhookService.port }}
targetPort: {{ .Values.webhookService.targetPort }}
protocol: TCP
selector:
{{- include "upgrade-controller.selectorLabels" . | nindent 4 }}