fixup! Add packaged charts

This commit is contained in:
2025-01-10 17:57:48 +00:00
parent 78dfffba3e
commit 736a75d095
5 changed files with 284 additions and 263 deletions
+2 -2
View File
@@ -10,9 +10,9 @@ description: |
type: application
version: 0.5.3
version: 0.5.4
appVersion: "0.5.3"
appVersion: "0.5.4"
home: https://github.com/lukaszraczylo/kubernetes-images-sync-operator
@@ -4,10 +4,8 @@ metadata:
name: clusterimages.raczylo.com
annotations:
controller-gen.kubebuilder.io/version: v0.16.1
"helm.sh/hook": pre-install,pre-upgrade
"helm.sh/hook-weight": "-5"
labels:
app: kubernetes-images-sync-operator
{{- include "chart.labels" . | nindent 4 }}
spec:
group: raczylo.com
names:
@@ -17,106 +15,110 @@ spec:
singular: clusterimage
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .spec.image
name: Image
type: string
- jsonPath: .spec.storage
name: Storage
type: string
- jsonPath: .spec.exportPath
name: Path
type: string
- jsonPath: .status.versionCount
name: Versions
type: integer
- jsonPath: .status.lastUpdated
name: Last Updated
type: date
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1
schema:
openAPIV3Schema:
description: ClusterImage is the Schema for the clusterimages 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: ClusterImageSpec defines the desired state of ClusterImage
properties:
exportPath:
description: ExportPath defines the base path where images will be stored
type: string
image:
description: Image is the base name of the container image without tag/sha
type: string
imageNamespace:
description: ImageNamespace defines the namespace where the image is located
type: string
imagePullSecrets:
description: ImagePullSecrets are references to secrets to use for pulling images
items:
description: |-
LocalObjectReference contains enough information to let you locate the
referenced object inside the same namespace.
properties:
name:
default: ""
description: |-
Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
type: string
type: object
x-kubernetes-map-type: atomic
type: array
jobAnnotations:
additionalProperties:
type: string
description: JobAnnotations are optional annotations to add to export jobs
- additionalPrinterColumns:
- jsonPath: .spec.image
name: Image
type: string
- jsonPath: .spec.storage
name: Storage
type: string
- jsonPath: .spec.exportPath
name: Path
type: string
- jsonPath: .status.versionCount
name: Versions
type: integer
- jsonPath: .status.lastUpdated
name: Last Updated
type: date
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1
schema:
openAPIV3Schema:
description: ClusterImage is the Schema for the clusterimages 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: ClusterImageSpec defines the desired state of ClusterImage
properties:
exportPath:
description: ExportPath defines the base path where images will be stored
type: string
image:
description: Image is the base name of the container image without tag/sha
type: string
imageNamespace:
description: ImageNamespace defines the namespace where the image is
located
type: string
imagePullSecrets:
description: ImagePullSecrets are references to secrets to use for pulling
images
items:
description: |-
LocalObjectReference contains enough information to let you locate the
referenced object inside the same namespace.
properties:
name:
default: ""
description: |-
Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
type: string
type: object
storage:
description: Storage defines where the image should be stored
x-kubernetes-map-type: atomic
type: array
jobAnnotations:
additionalProperties:
type: string
type: object
status:
description: ClusterImageStatus defines the observed state of ClusterImage
properties:
lastUpdated:
description: LastUpdated is when the last version was added/updated
format: date-time
type: string
versionCount:
description: VersionCount is the number of versions tracked for this image
type: integer
type: object
type: object
served: true
storage: true
subresources:
status: {}
description: JobAnnotations are optional annotations to add to export
jobs
type: object
storage:
description: Storage defines where the image should be stored
type: string
type: object
status:
description: ClusterImageStatus defines the observed state of ClusterImage
properties:
lastUpdated:
description: LastUpdated is when the last version was added/updated
format: date-time
type: string
versionCount:
description: VersionCount is the number of versions tracked for this
image
type: integer
type: object
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
storedVersions: []
@@ -4,10 +4,8 @@ metadata:
name: clusterimageexports.raczylo.com
annotations:
controller-gen.kubebuilder.io/version: v0.16.1
"helm.sh/hook": pre-install,pre-upgrade
"helm.sh/hook-weight": "-5"
labels:
app: kubernetes-images-sync-operator
{{- include "chart.labels" . | nindent 4 }}
spec:
group: raczylo.com
names:
@@ -17,172 +15,173 @@ spec:
singular: clusterimageexport
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .spec.basePath
name: BasePath
type: string
- jsonPath: .spec.storage.target
name: Storage
type: string
- jsonPath: .status.progress
name: Progress
type: string
- jsonPath: .status.completedImages
name: Images
type: string
- jsonPath: .status.totalImages
name: Total
type: string
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1
schema:
openAPIV3Schema:
description: ClusterImageExport is the Schema for the clusterimageexports 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: ClusterImageExportSpec defines the desired state of ClusterImageExport
properties:
additionalImages:
items:
type: string
type: array
basePath:
description: Base path for the export - both file and S3
maxLength: 255
minLength: 1
- additionalPrinterColumns:
- jsonPath: .spec.basePath
name: BasePath
type: string
- jsonPath: .spec.storage.target
name: Storage
type: string
- jsonPath: .status.progress
name: Progress
type: string
- jsonPath: .status.completedImages
name: Images
type: string
- jsonPath: .status.totalImages
name: Total
type: string
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1
schema:
openAPIV3Schema:
description: ClusterImageExport is the Schema for the clusterimageexports 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: ClusterImageExportSpec defines the desired state of ClusterImageExport
properties:
additionalImages:
items:
type: string
createdAt:
format: date-time
type: array
basePath:
description: Base path for the export - both file and S3
maxLength: 255
minLength: 1
type: string
createdAt:
format: date-time
type: string
excludedNamespaces:
items:
type: string
excludedNamespaces:
items:
type: string
type: array
excludes:
description: Exclude images which contain these strings
items:
type: string
type: array
imagePullSecrets:
items:
description: |-
LocalObjectReference contains enough information to let you locate the
referenced object inside the same namespace.
properties:
name:
default: ""
description: |-
Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
type: string
type: object
x-kubernetes-map-type: atomic
type: array
includes:
description: Include only images which contain these strings
items:
type: string
type: array
jobAnnotations:
additionalProperties:
type: string
type: object
maxConcurrentJobs:
type: integer
name:
type: array
excludes:
description: Exclude images which contain these strings
items:
type: string
namespaces:
items:
type: string
type: array
storage:
description: ClusterImageStorageSpec defines the desired state of ClusterImageStorage
type: array
imagePullSecrets:
items:
description: |-
LocalObjectReference contains enough information to let you locate the
referenced object inside the same namespace.
properties:
s3:
properties:
accessKey:
description: S3 bucket credentials
type: string
bucket:
description: Bucket name
type: string
endpoint:
description: |-
Defines the endpoint for the S3 storage
If none specified - default AWS endpoint will be used
type: string
region:
type: string
roleARN:
description: RoleARN is the ARN of the role to be used for the deployment
type: string
secretKey:
type: string
secretName:
description: Defines the secret name for credentials
type: string
useRole:
type: boolean
required:
- bucket
- region
type: object
target:
enum:
- file
- S3
name:
default: ""
description: |-
Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
type: string
required:
- target
type: object
required:
- basePath
- maxConcurrentJobs
- name
- storage
type: object
status:
description: ClusterImageExportStatus defines the observed state of ClusterImageExport
properties:
completedImages:
description: Number of images that have completed export
type: integer
progress:
x-kubernetes-map-type: atomic
type: array
includes:
description: Include only images which contain these strings
items:
type: string
totalImages:
description: Total number of images to be exported
type: integer
type: object
type: object
served: true
storage: true
subresources:
status: {}
type: array
jobAnnotations:
additionalProperties:
type: string
type: object
maxConcurrentJobs:
type: integer
name:
type: string
namespaces:
items:
type: string
type: array
storage:
description: ClusterImageStorageSpec defines the desired state of ClusterImageStorage
properties:
s3:
properties:
accessKey:
description: S3 bucket credentials
type: string
bucket:
description: Bucket name
type: string
endpoint:
description: |-
Defines the endpoint for the S3 storage
If none specified - default AWS endpoint will be used
type: string
region:
type: string
roleARN:
description: RoleARN is the ARN of the role to be used for the
deployment
type: string
secretKey:
type: string
secretName:
description: Defines the secret name for credentials
type: string
useRole:
type: boolean
required:
- bucket
- region
type: object
target:
enum:
- file
- S3
type: string
required:
- target
type: object
required:
- basePath
- maxConcurrentJobs
- name
- storage
type: object
status:
description: ClusterImageExportStatus defines the observed state of ClusterImageExport
properties:
completedImages:
description: Number of images that have completed export
type: integer
progress:
type: string
totalImages:
description: Total number of images to be exported
type: integer
type: object
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
storedVersions: []
+1 -1
View File
@@ -12,7 +12,7 @@ sa:
- ALL
image:
repository: ghcr.io/lukaszraczylo/kubernetes-images-sync-operator
tag: 0.5.3
tag: 0.5.4
resources:
limits:
cpu: 500m
+21 -1
View File
@@ -92,6 +92,26 @@ entries:
- https://github.com/lukaszraczylo/helm-charts/releases/download/jobs-manager-0.0.24/jobs-manager-0.0.24.tgz
version: 0.0.24
kube-images-sync:
- apiVersion: v2
appVersion: 0.5.4
created: "2025-01-10T17:56:36.245164Z"
description: 'A Helm chart for Kubernetes Images Sync Operator. Kubernetes Images
Sync Operator is responsible for backing up and restoring images from a Kubernetes
cluster. It''s ultimate goal is to provide synchonization of images between
multiple environments, quite often air-gapped. It compiles the list of images
currently present in the cluster and uploads them to the specified storage.
Whenever new CRD is created - it will try to figure out which images were already
uploaded and which are new and upload only the new ones to avoid repetition. '
digest: 0ad564950077d74d136fc88452af89d5c3c27050d3daf4f6efcb96567f0f1aa0
home: https://github.com/lukaszraczylo/kubernetes-images-sync-operator
maintainers:
- email: github-enquiries@raczylo.com
name: lukaszraczylo
name: kube-images-sync
type: application
urls:
- https://github.com/lukaszraczylo/helm-charts/releases/download/kube-images-sync-0.5.4/kube-images-sync-0.5.4.tgz
version: 0.5.4
- apiVersion: v2
appVersion: 0.5.3
created: "2025-01-10T17:40:47.740886Z"
@@ -952,4 +972,4 @@ entries:
urls:
- https://github.com/lukaszraczylo/helm-charts/releases/download/kube-images-sync-0.1.5/kube-images-sync-0.1.5.tgz
version: 0.1.5
generated: "2025-01-10T17:40:47.741141Z"
generated: "2025-01-10T17:56:36.245918Z"