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 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 home: https://github.com/lukaszraczylo/kubernetes-images-sync-operator
@@ -4,10 +4,8 @@ metadata:
name: clusterimages.raczylo.com name: clusterimages.raczylo.com
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.16.1 controller-gen.kubebuilder.io/version: v0.16.1
"helm.sh/hook": pre-install,pre-upgrade
"helm.sh/hook-weight": "-5"
labels: labels:
app: kubernetes-images-sync-operator {{- include "chart.labels" . | nindent 4 }}
spec: spec:
group: raczylo.com group: raczylo.com
names: names:
@@ -17,106 +15,110 @@ spec:
singular: clusterimage singular: clusterimage
scope: Namespaced scope: Namespaced
versions: versions:
- additionalPrinterColumns: - additionalPrinterColumns:
- jsonPath: .spec.image - jsonPath: .spec.image
name: Image name: Image
type: string type: string
- jsonPath: .spec.storage - jsonPath: .spec.storage
name: Storage name: Storage
type: string type: string
- jsonPath: .spec.exportPath - jsonPath: .spec.exportPath
name: Path name: Path
type: string type: string
- jsonPath: .status.versionCount - jsonPath: .status.versionCount
name: Versions name: Versions
type: integer type: integer
- jsonPath: .status.lastUpdated - jsonPath: .status.lastUpdated
name: Last Updated name: Last Updated
type: date type: date
- jsonPath: .metadata.creationTimestamp - jsonPath: .metadata.creationTimestamp
name: Age name: Age
type: date type: date
name: v1 name: v1
schema: schema:
openAPIV3Schema: openAPIV3Schema:
description: ClusterImage is the Schema for the clusterimages API description: ClusterImage is the Schema for the clusterimages API
properties: properties:
apiVersion: apiVersion:
description: |- description: |-
APIVersion defines the versioned schema of this representation of an object. APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values. may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string type: string
kind: kind:
description: |- description: |-
Kind is a string value representing the REST resource this object represents. Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to. Servers may infer this from the endpoint the client submits requests to.
Cannot be updated. Cannot be updated.
In CamelCase. In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string type: string
metadata: metadata:
type: object type: object
spec: spec:
description: ClusterImageSpec defines the desired state of ClusterImage description: ClusterImageSpec defines the desired state of ClusterImage
properties: properties:
exportPath: exportPath:
description: ExportPath defines the base path where images will be stored description: ExportPath defines the base path where images will be stored
type: string type: string
image: image:
description: Image is the base name of the container image without tag/sha description: Image is the base name of the container image without tag/sha
type: string type: string
imageNamespace: imageNamespace:
description: ImageNamespace defines the namespace where the image is located description: ImageNamespace defines the namespace where the image is
type: string located
imagePullSecrets: type: string
description: ImagePullSecrets are references to secrets to use for pulling images imagePullSecrets:
items: description: ImagePullSecrets are references to secrets to use for pulling
description: |- images
LocalObjectReference contains enough information to let you locate the items:
referenced object inside the same namespace. description: |-
properties: LocalObjectReference contains enough information to let you locate the
name: referenced object inside the same namespace.
default: "" properties:
description: |- name:
Name of the referent. default: ""
This field is effectively required, but due to backwards compatibility is description: |-
allowed to be empty. Instances of this type with an empty value here are Name of the referent.
almost certainly wrong. This field is effectively required, but due to backwards compatibility is
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names allowed to be empty. Instances of this type with an empty value here are
type: string almost certainly wrong.
type: object More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
x-kubernetes-map-type: atomic type: string
type: array
jobAnnotations:
additionalProperties:
type: string
description: JobAnnotations are optional annotations to add to export jobs
type: object type: object
storage: x-kubernetes-map-type: atomic
description: Storage defines where the image should be stored type: array
jobAnnotations:
additionalProperties:
type: string type: string
type: object description: JobAnnotations are optional annotations to add to export
status: jobs
description: ClusterImageStatus defines the observed state of ClusterImage type: object
properties: storage:
lastUpdated: description: Storage defines where the image should be stored
description: LastUpdated is when the last version was added/updated type: string
format: date-time type: object
type: string status:
versionCount: description: ClusterImageStatus defines the observed state of ClusterImage
description: VersionCount is the number of versions tracked for this image properties:
type: integer lastUpdated:
type: object description: LastUpdated is when the last version was added/updated
type: object format: date-time
served: true type: string
storage: true versionCount:
subresources: description: VersionCount is the number of versions tracked for this
status: {} image
type: integer
type: object
type: object
served: true
storage: true
subresources:
status: {}
status: status:
acceptedNames: acceptedNames:
kind: "" kind: ""
plural: "" plural: ""
conditions: [] conditions: []
storedVersions: [] storedVersions: []
@@ -4,10 +4,8 @@ metadata:
name: clusterimageexports.raczylo.com name: clusterimageexports.raczylo.com
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.16.1 controller-gen.kubebuilder.io/version: v0.16.1
"helm.sh/hook": pre-install,pre-upgrade
"helm.sh/hook-weight": "-5"
labels: labels:
app: kubernetes-images-sync-operator {{- include "chart.labels" . | nindent 4 }}
spec: spec:
group: raczylo.com group: raczylo.com
names: names:
@@ -17,172 +15,173 @@ spec:
singular: clusterimageexport singular: clusterimageexport
scope: Namespaced scope: Namespaced
versions: versions:
- additionalPrinterColumns: - additionalPrinterColumns:
- jsonPath: .spec.basePath - jsonPath: .spec.basePath
name: BasePath name: BasePath
type: string type: string
- jsonPath: .spec.storage.target - jsonPath: .spec.storage.target
name: Storage name: Storage
type: string type: string
- jsonPath: .status.progress - jsonPath: .status.progress
name: Progress name: Progress
type: string type: string
- jsonPath: .status.completedImages - jsonPath: .status.completedImages
name: Images name: Images
type: string type: string
- jsonPath: .status.totalImages - jsonPath: .status.totalImages
name: Total name: Total
type: string type: string
- jsonPath: .metadata.creationTimestamp - jsonPath: .metadata.creationTimestamp
name: Age name: Age
type: date type: date
name: v1 name: v1
schema: schema:
openAPIV3Schema: openAPIV3Schema:
description: ClusterImageExport is the Schema for the clusterimageexports API description: ClusterImageExport is the Schema for the clusterimageexports API
properties: properties:
apiVersion: apiVersion:
description: |- description: |-
APIVersion defines the versioned schema of this representation of an object. APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values. may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string type: string
kind: kind:
description: |- description: |-
Kind is a string value representing the REST resource this object represents. Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to. Servers may infer this from the endpoint the client submits requests to.
Cannot be updated. Cannot be updated.
In CamelCase. In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string type: string
metadata: metadata:
type: object type: object
spec: spec:
description: ClusterImageExportSpec defines the desired state of ClusterImageExport description: ClusterImageExportSpec defines the desired state of ClusterImageExport
properties: properties:
additionalImages: additionalImages:
items: items:
type: string
type: array
basePath:
description: Base path for the export - both file and S3
maxLength: 255
minLength: 1
type: string type: string
createdAt: type: array
format: date-time 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 type: string
excludedNamespaces: type: array
items: excludes:
type: string description: Exclude images which contain these strings
type: array items:
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: string type: string
namespaces: type: array
items: imagePullSecrets:
type: string items:
type: array description: |-
storage: LocalObjectReference contains enough information to let you locate the
description: ClusterImageStorageSpec defines the desired state of ClusterImageStorage referenced object inside the same namespace.
properties: properties:
s3: name:
properties: default: ""
accessKey: description: |-
description: S3 bucket credentials Name of the referent.
type: string This field is effectively required, but due to backwards compatibility is
bucket: allowed to be empty. Instances of this type with an empty value here are
description: Bucket name almost certainly wrong.
type: string More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
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 type: string
required:
- target
type: object type: object
required: x-kubernetes-map-type: atomic
- basePath type: array
- maxConcurrentJobs includes:
- name description: Include only images which contain these strings
- storage items:
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 type: string
totalImages: type: array
description: Total number of images to be exported jobAnnotations:
type: integer additionalProperties:
type: object type: string
type: object type: object
served: true maxConcurrentJobs:
storage: true type: integer
subresources: name:
status: {} 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: status:
acceptedNames: acceptedNames:
kind: "" kind: ""
plural: "" plural: ""
conditions: [] conditions: []
storedVersions: [] storedVersions: []
+1 -1
View File
@@ -12,7 +12,7 @@ sa:
- ALL - ALL
image: image:
repository: ghcr.io/lukaszraczylo/kubernetes-images-sync-operator repository: ghcr.io/lukaszraczylo/kubernetes-images-sync-operator
tag: 0.5.3 tag: 0.5.4
resources: resources:
limits: limits:
cpu: 500m 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 - https://github.com/lukaszraczylo/helm-charts/releases/download/jobs-manager-0.0.24/jobs-manager-0.0.24.tgz
version: 0.0.24 version: 0.0.24
kube-images-sync: 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 - apiVersion: v2
appVersion: 0.5.3 appVersion: 0.5.3
created: "2025-01-10T17:40:47.740886Z" created: "2025-01-10T17:40:47.740886Z"
@@ -952,4 +972,4 @@ entries:
urls: urls:
- https://github.com/lukaszraczylo/helm-charts/releases/download/kube-images-sync-0.1.5/kube-images-sync-0.1.5.tgz - 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 version: 0.1.5
generated: "2025-01-10T17:40:47.741141Z" generated: "2025-01-10T17:56:36.245918Z"