Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

In-Place Node Updates #89

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .github/workflows/publish-docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ on:
push:
branches:
- main
- feat/in-place-node-updates
tags:
- v*
paths-ignore:
Expand Down Expand Up @@ -69,7 +70,7 @@ jobs:
version: latest
endpoint: builders # self-hosted
- name: Login to GHCR
if: github.event_name != 'pull_request'
# if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
Expand All @@ -81,7 +82,7 @@ jobs:
with:
context: .
platforms: linux/amd64,linux/arm64
push: ${{ github.event_name != 'pull_request' }}
# push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
target: ${{ matrix.image.target }}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.4
controller-gen.kubebuilder.io/version: v0.16.5
name: etcdcopybackupstasks.druid.gardener.cloud
spec:
group: druid.gardener.cloud
Expand Down Expand Up @@ -159,7 +159,7 @@ spec:
format: date-time
type: string
message:
description: A human readable message indicating details about
description: A human-readable message indicating details about
the transition.
type: string
reason:
Expand Down
89 changes: 81 additions & 8 deletions example/20-crd-druid.gardener.cloud_etcds.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.4
controller-gen.kubebuilder.io/version: v0.16.5
name: etcds.druid.gardener.cloud
spec:
group: druid.gardener.cloud
Expand Down Expand Up @@ -208,6 +208,12 @@ spec:
leadership status of corresponding etcd is checked.
type: string
type: object
maxBackupsLimitBasedGC:
description: |-
MaxBackupsLimitBasedGC defines the maximum number of Full snapshots to retain in Limit Based GarbageCollectionPolicy
All full snapshots beyond this limit will be garbage collected.
format: int32
type: integer
port:
description: Port define the port on which etcd-backup-restore
server will be exposed.
Expand Down Expand Up @@ -361,7 +367,8 @@ spec:
type: object
type: object
etcd:
description: EtcdConfig defines parameters associated etcd deployed
description: EtcdConfig defines the configuration for the etcd cluster
to be deployed.
properties:
authSecretRef:
description: |-
Expand Down Expand Up @@ -602,6 +609,12 @@ spec:
serverPort:
format: int32
type: integer
snapshotCount:
description: |-
SnapshotCount defines the number of applied Raft entries to hold in-memory before compaction.
More info: https://etcd.io/docs/v3.4/op-guide/maintenance/#raft-log-retention
format: int64
type: integer
type: object
labels:
additionalProperties:
Expand Down Expand Up @@ -1783,15 +1796,15 @@ spec:
properties:
autoCompactionMode:
description: AutoCompactionMode defines the auto-compaction-mode:'periodic'
mode or 'revision' mode for etcd and embedded-Etcd of backup-restore
mode or 'revision' mode for etcd and embedded-etcd of backup-restore
sidecar.
enum:
- periodic
- revision
type: string
autoCompactionRetention:
description: AutoCompactionRetention defines the auto-compaction-retention
length for etcd as well as for embedded-Etcd of backup-restore
length for etcd as well as for embedded-etcd of backup-restore
sidecar.
type: string
type: object
Expand Down Expand Up @@ -1844,7 +1857,7 @@ spec:
format: date-time
type: string
message:
description: A human readable message indicating details about
description: A human-readable message indicating details about
the transition.
type: string
reason:
Expand Down Expand Up @@ -1937,12 +1950,72 @@ spec:
type: object
x-kubernetes-map-type: atomic
lastError:
description: LastError represents the last occurred error.
description: |-
LastError represents the last occurred error.
Deprecated: Use LastErrors instead.
type: string
lastErrors:
description: LastErrors captures errors that occurred during the last
operation.
items:
description: LastError stores details of the most recent error encountered
for a resource.
properties:
code:
description: Code is an error code that uniquely identifies
an error.
type: string
description:
description: Description is a human-readable message indicating
details of the error.
type: string
observedAt:
description: ObservedAt is the time the error was observed.
format: date-time
type: string
required:
- code
- description
- observedAt
type: object
type: array
lastOperation:
description: LastOperation indicates the last operation performed
on this resource.
properties:
description:
description: Description describes the last operation.
type: string
lastUpdateTime:
description: LastUpdateTime is the time at which the operation
was last updated.
format: date-time
type: string
runID:
description: |-
RunID correlates an operation with a reconciliation run.
Every time an Etcd resource is reconciled (barring status reconciliation which is periodic), a unique ID is
generated which can be used to correlate all actions done as part of a single reconcile run. Capturing this
as part of LastOperation aids in establishing this correlation. This further helps in also easily filtering
reconcile logs as all structured logs in a reconciliation run should have the `runID` referenced.
type: string
state:
description: State is the state of the last operation.
type: string
type:
description: Type is the type of last operation.
type: string
required:
- description
- lastUpdateTime
- runID
- state
- type
type: object
members:
description: Members represents the members of the etcd cluster
items:
description: EtcdMemberStatus holds information about a etcd cluster
description: EtcdMemberStatus holds information about etcd cluster
membership.
properties:
id:
Expand Down Expand Up @@ -1992,7 +2065,7 @@ spec:
format: int32
type: integer
replicas:
description: Replicas is the replica count of the etcd resource.
description: Replicas is the replica count of the etcd cluster.
format: int32
type: integer
serviceName:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.4
controller-gen.kubebuilder.io/version: v0.16.5
name: backupbuckets.extensions.gardener.cloud
spec:
group: extensions.gardener.cloud
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.4
controller-gen.kubebuilder.io/version: v0.16.5
name: backupentries.extensions.gardener.cloud
spec:
group: extensions.gardener.cloud
Expand Down
2 changes: 1 addition & 1 deletion example/20-crd-extensions.gardener.cloud_bastions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.4
controller-gen.kubebuilder.io/version: v0.16.5
name: bastions.extensions.gardener.cloud
spec:
group: extensions.gardener.cloud
Expand Down
2 changes: 1 addition & 1 deletion example/20-crd-extensions.gardener.cloud_clusters.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.4
controller-gen.kubebuilder.io/version: v0.16.5
name: clusters.extensions.gardener.cloud
spec:
group: extensions.gardener.cloud
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.4
controller-gen.kubebuilder.io/version: v0.16.5
name: containerruntimes.extensions.gardener.cloud
spec:
group: extensions.gardener.cloud
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.4
controller-gen.kubebuilder.io/version: v0.16.5
name: controlplanes.extensions.gardener.cloud
spec:
group: extensions.gardener.cloud
Expand Down
2 changes: 1 addition & 1 deletion example/20-crd-extensions.gardener.cloud_dnsrecords.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.4
controller-gen.kubebuilder.io/version: v0.16.5
name: dnsrecords.extensions.gardener.cloud
spec:
group: extensions.gardener.cloud
Expand Down
2 changes: 1 addition & 1 deletion example/20-crd-extensions.gardener.cloud_extensions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.4
controller-gen.kubebuilder.io/version: v0.16.5
name: extensions.extensions.gardener.cloud
spec:
group: extensions.gardener.cloud
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.4
controller-gen.kubebuilder.io/version: v0.16.5
name: infrastructures.extensions.gardener.cloud
spec:
group: extensions.gardener.cloud
Expand Down
2 changes: 1 addition & 1 deletion example/20-crd-extensions.gardener.cloud_networks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.4
controller-gen.kubebuilder.io/version: v0.16.5
name: networks.extensions.gardener.cloud
spec:
group: extensions.gardener.cloud
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.4
controller-gen.kubebuilder.io/version: v0.16.5
name: operatingsystemconfigs.extensions.gardener.cloud
spec:
group: extensions.gardener.cloud
Expand Down Expand Up @@ -68,6 +68,19 @@ spec:
x-kubernetes-validations:
- message: Value is immutable
rule: self == oldSelf
credentialsRotation:
description: CredentialsRotation is a structure containing information
about the last initiation time of the CA and ServiceAccountKey rotation.
properties:
caRotationLastInitiationTime:
description: CARotationLastInitiationTime is the time when the
last CA rotation was initiated.
type: string
serviceAccountKeyRotationLastInitiationTime:
description: ServiceAccountKeyRotationLastInitiationTime is the
time when the last ServiceAccountKey rotation was initiated.
type: string
type: object
criConfig:
description: CRI config is a structure contains configurations of
the CRI library
Expand Down Expand Up @@ -262,6 +275,16 @@ spec:
- path
type: object
type: array
kubeletConfigHash:
description: KubeletConfigHash is the hash calculated on fields relevant
for in-place update of the Kubelet configuration.
type: string
kubeletVersion:
description: KubeletVersion is the version of the Kubelet.
type: string
osVersion:
description: OSVersion is the version of the OperatingSystem.
type: string
providerConfig:
description: ProviderConfig is the provider specific configuration.
type: object
Expand Down Expand Up @@ -524,6 +547,21 @@ spec:
- name
type: object
type: array
inPlaceUpdateConfig:
description: InPlaceUpdateConfig contains the configuration for in-place
updates.
properties:
updateScriptArgs:
description: UpdateScriptArgs is the arguments to be passed to
the update script for in-place updates.
items:
type: string
type: array
updateScriptPath:
description: UpdateScriptPath is the path of the update script
to be triggered in case of in-place updates.
type: string
type: object
lastError:
description: LastError holds information about the last occurred error
during an operation.
Expand Down
Loading
Loading