new year update (#4)

* Bring operator to the brand new world of build and deployments.

* Clean up the code and basic improvements.

* More fixes, moving from python to golang worker.

* fixup! More fixes, moving from python to golang worker.

* fixup! fixup! More fixes, moving from python to golang worker.

* fixup! fixup! fixup! More fixes, moving from python to golang worker.

* fixup! fixup! fixup! fixup! More fixes, moving from python to golang worker.

* fixup! fixup! fixup! fixup! fixup! More fixes, moving from python to golang worker.

* fixup! fixup! fixup! fixup! fixup! fixup! More fixes, moving from python to golang worker.
This commit is contained in:
2025-12-18 14:41:24 +00:00
committed by GitHub
parent 067a51c9c7
commit 3880af56a7
56 changed files with 5829 additions and 1118 deletions
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.1
controller-gen.kubebuilder.io/version: v0.17.1
name: clusterimageexports.raczylo.com
spec:
group: raczylo.com
@@ -108,6 +108,9 @@ spec:
type: string
type: object
maxConcurrentJobs:
default: 5
maximum: 100
minimum: 1
type: integer
name:
type: string
@@ -115,6 +118,25 @@ spec:
items:
type: string
type: array
retention:
description: |-
Retention specifies how many completed exports to keep per base path.
Oldest exports beyond this limit will be deleted (including their backed up images).
WARNING: Deletion removes both the CRD and the actual backed up images from storage.
properties:
maxFailed:
default: 1
description: Maximum number of failed exports to keep
format: int32
minimum: 0
type: integer
maxSuccessful:
default: 3
description: Maximum number of successful exports to keep
format: int32
minimum: 0
type: integer
type: object
storage:
description: ClusterImageStorageSpec defines the desired state of
ClusterImageStorage
@@ -151,12 +173,20 @@ spec:
type: object
target:
enum:
- file
- FILE
- S3
type: string
required:
- target
type: object
ttlDaysAfterFinished:
description: |-
TTLDaysAfterFinished specifies how many days to keep completed exports.
If set, the export (and its backed up images) will be deleted after this many days.
WARNING: Deletion removes both the CRD and the actual backed up images from storage.
format: int32
minimum: 1
type: integer
required:
- basePath
- maxConcurrentJobs
@@ -166,6 +196,11 @@ spec:
status:
description: ClusterImageExportStatus defines the observed state of ClusterImageExport
properties:
completedAt:
description: CompletedAt is the timestamp when the export completed
(SUCCESS or FAILED)
format: date-time
type: string
completedImages:
description: Number of images that have completed export
type: integer
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.1
controller-gen.kubebuilder.io/version: v0.17.1
name: clusterimages.raczylo.com
spec:
group: raczylo.com
+4 -1
View File
@@ -1,4 +1,7 @@
# This patch adds the args to allow exposing the metrics endpoint using HTTPS
# This patch adds the args to allow exposing the metrics endpoint securely using HTTPS
- op: add
path: /spec/template/spec/containers/0/args/0
value: --metrics-bind-address=:8443
- op: add
path: /spec/template/spec/containers/0/args/1
value: --metrics-secure
+67 -68
View File
@@ -4,71 +4,70 @@ kind: ClusterRole
metadata:
name: impex-mgr
rules:
- apiGroups:
- ""
resources:
- pods
verbs:
- create
- delete
- deletecollection
- get
- list
- patch
- update
- watch
- apiGroups:
- apps
resources:
- daemonsets
- deployments
verbs:
- get
- list
- watch
- apiGroups:
- batch
resources:
- cronjobs
verbs:
- get
- list
- watch
- apiGroups:
- batch
resources:
- jobs
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- raczylo.com
resources:
- "*"
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- raczylo.com
resources:
- "*/finalizers"
verbs:
- update
- apiGroups:
- raczylo.com
resources:
- "*/status"
verbs:
- get
- patch
- update
- apiGroups:
- ""
resources:
- pods
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- apps
resources:
- daemonsets
- deployments
verbs:
- get
- list
- watch
- apiGroups:
- batch
resources:
- cronjobs
verbs:
- get
- list
- watch
- apiGroups:
- batch
resources:
- jobs
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- raczylo.com
resources:
- '*'
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- raczylo.com
resources:
- '*/finalizers'
verbs:
- update
- apiGroups:
- raczylo.com
resources:
- '*/status'
verbs:
- get
- patch
- update