Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
986 commits
Select commit Hold shift + click to select a range
5abc016
Remove the YEAR from the license boilerplate (#669)
ialidzhikov Jan 6, 2022
1dd6e9b
Retry with Backoff for machineset finalizer update (#668)
himanshu-kun Jan 6, 2022
7dc327a
Trigger orphan collection on OutOfRange machine status (#667)
himanshu-kun Jan 11, 2022
abc0257
Release v0.43.0
gardener-robot-ci-1 Jan 12, 2022
0c295bc
Prepare next Dev Cycle v0.44.0-dev
gardener-robot-ci-2 Jan 12, 2022
2102f9b
Fixed broken links (#672)
n-boshnakov Jan 18, 2022
c9b6d13
Log Node conditions when Machine is considered as unhealthy (#676)
ialidzhikov Jan 24, 2022
3c7579b
nodeName as a colmn (#677)
himanshu-kun Jan 25, 2022
2b0b1a1
removed preserveUnknown field (#670)
himanshu-kun Jan 25, 2022
de8204f
Improve documentation (#673)
Jan 27, 2022
efa6cdc
CreateMachine logs improved (#678)
himanshu-kun Feb 7, 2022
ab941b9
Fixed broken links - 02.2022 (#682)
n-boshnakov Feb 23, 2022
4e38b4e
typo corrected
himanshu-kun Mar 3, 2022
5098dd4
Merge pull request #685 from himanshu-kun/scale-down-disable-during-r…
unmarshall Mar 3, 2022
f46e517
Fix a typo (#690)
ialidzhikov Mar 17, 2022
6befd6d
Limit #machines marked failed at a time due to being Unhealthy (#683)
himanshu-kun Mar 22, 2022
e93745f
Release v0.44.0
Mar 22, 2022
bbca0ca
Prepare next Dev Cycle v0.45.0-dev
gardener-robot-ci-1 Mar 22, 2022
42e0b5d
FAQ updated related to garbage collection (#695)
himanshu-kun Apr 1, 2022
887392d
Adds permit testing testcases (#691)
Mkmittal Apr 6, 2022
6187c4a
refactor annotations
kon-angelo Apr 6, 2022
81c4de8
stale permit testcase time increased
himanshu-kun Apr 8, 2022
3388f23
Fix typos
ialidzhikov Apr 8, 2022
f94d214
update stale node check to check if node names are equal
kon-angelo Apr 21, 2022
09ae007
add/remove annotations logic added
Mkmittal Apr 20, 2022
140105c
Automating local setup
Mkmittal Apr 25, 2022
a88bf92
Update manifest.yaml (#689)
Kostov6 Apr 28, 2022
c0bdee4
Update local_setup.sh to take provider name as flag (#712)
Mkmittal May 6, 2022
e47b3e8
alpine and golang image updated (#713)
himanshu-kun May 6, 2022
c51f5ef
Update Kubernetes dependency versions to v1.21.12 (#719)
Mkmittal May 12, 2022
e034b4b
Updated content structure (#710)
n-boshnakov May 16, 2022
cded2ac
Fixed broken links (#723)
n-boshnakov May 17, 2022
5a29082
Upgrade k8s dependencies to v1.22.9(the latest patch) (#721)
Mkmittal May 27, 2022
bb2e872
Added docs/todo/outline.md (#700)
Mkmittal May 30, 2022
c9052cb
Release v0.45.0
gardener-robot-ci-2 Jun 3, 2022
6c81798
Prepare next Dev Cycle v0.46.0-dev
Jun 3, 2022
eba56f4
Removed overrides from manifest file (#726)
n-boshnakov Jun 23, 2022
98162f1
Added more unit Tests for deployment controller(#725)
Mkmittal Jun 24, 2022
c388a3f
Build Multi-Arch Images 📦 (#732)
timuthy Jul 11, 2022
899792e
Update revendor rule to be more descriptive
himanshu-kun Jul 11, 2022
5d767a4
Mark machine failed during rollout also (#733)
himanshu-kun Jul 20, 2022
d43efc7
Fixed broken links (#735)
n-boshnakov Jul 21, 2022
e7c6587
removed test case (#736)
himanshu-kun Jul 21, 2022
e238109
Change base image from alpine to distroless (#734)
dimityrmirchev Jul 21, 2022
97cb3f6
migrate from endpointleases to leases (#711)
acumino Jul 22, 2022
49936bb
Release v0.46.0
gardener-robot-ci-2 Jul 23, 2022
9705225
Prepare next Dev Cycle v0.47.0-dev
gardener-robot-ci-1 Jul 23, 2022
b6410cd
update clusterroles and clusterrolebindings to v1 (#738)
rishabh-11 Aug 5, 2022
a57a447
Handle `PodDisruptionBudget` `policy/v1` (#744)
shafeeqes Sep 6, 2022
32419f9
Support URL encoded bootstrap token replacement (#743)
Gerrit91 Sep 6, 2022
4dac119
Release v0.47.0
Sep 6, 2022
e0d23b5
Prepare next Dev Cycle v0.48.0-dev
Sep 6, 2022
f14be02
Add nodeName and providerID column while listing machines(s) (#746)
rishabh-11 Sep 29, 2022
26ed4ab
Added short names for MCM related resources (#747)
rishabh-11 Oct 10, 2022
33bff4a
Change short name `machcls` to `machclass` (#748)
rishabh-11 Oct 11, 2022
0a3e0e9
Update short names for MCM crds (#749)
rishabh-11 Oct 13, 2022
9fc3329
Updated go version to 1.19 (#753)
rishabh-11 Oct 18, 2022
d4b42e1
Print errors properly (#759)
himanshu-kun Nov 15, 2022
176c339
Update progressConditions even when no progressDeadlineSeconds config…
himanshu-kun Dec 15, 2022
8700c1c
Removes node field from machine status (#745)
rishabh-11 Jan 9, 2023
45f8538
Upgrade to go1.19.4 (#766)
himanshu-kun Jan 9, 2023
6dbd2c1
proposal added for update-tags
himanshu-kun Dec 2, 2022
9b92dbf
proposal enhanced after discussion with @unmarshall
himanshu-kun Jan 10, 2023
d7ea7fc
Apply suggestions from code review
himanshu-kun Jan 10, 2023
dca8674
addressed review comments
himanshu-kun Jan 10, 2023
007b1f3
Scale-up only new machineSet while scale-down all active mSs proporti…
himanshu-kun Jan 23, 2023
ee999d1
Release v0.48.0
gardener-robot-ci-2 Jan 23, 2023
f850c64
Prepare next Dev Cycle v0.49.0-dev
gardener-robot-ci-2 Jan 23, 2023
b61d3e1
Removes Deprecated In-tree Code(#769)
elankath Jan 27, 2023
9609e4e
Fix machine creation bootstrap tokens expiration (#773)
schrodit Jan 31, 2023
2d5e71d
Updated code-owners, contributing file (#771)
himanshu-kun Feb 1, 2023
b3d2ecc
Remove secrets queue and secretSynced MCM usage (#780)
elankath Feb 14, 2023
05e5351
Consider critical-components-not-ready taint when turning machine to …
SimonKienzler Feb 17, 2023
9ee2c9c
Add cve categorization for mcm (#791)
dkistner Feb 28, 2023
f7b92b7
Fixed broken links
n-boshnakov Mar 9, 2023
ec8c136
Merge pull request #797 from n-boshnakov/fix-broken-links-03.2023
elankath Mar 9, 2023
5ef1a6a
Fix the API docs generation (#800)
ialidzhikov Mar 14, 2023
548f912
Fix linting issues in controller package (#794)
afritzler Mar 16, 2023
5ebd4fc
Bump `k8s.io/* ` and other dependencies (#792)
afritzler Mar 16, 2023
40fac67
Fix linting issues in api package (#793)
afritzler Mar 16, 2023
1fdd453
Fix linting issues in `test`, `handlers` and `features` packages (#795)
afritzler Mar 20, 2023
dbba606
updated the proposal doc
unmarshall Mar 28, 2023
30a0cce
updated docs post discussion
unmarshall Mar 28, 2023
0f626a2
Edge cases corrected where all machineSets were scaling down to zero …
himanshu-kun Mar 29, 2023
1257d59
updated toc
elankath Mar 31, 2023
a21007c
added draft overview diagram
elankath Mar 31, 2023
db004fd
correction draft overview diagram
elankath Mar 31, 2023
8ec9899
removed the diagram as it was not complete. description(text) is good…
unmarshall Apr 3, 2023
53fb553
Merge pull request #761 from himanshu-kun/update-tags-proposal
unmarshall Apr 4, 2023
3a3490d
Turn `CrashloopBackoff` machines to `Running` quicker (#806)
rishabh-11 Apr 17, 2023
151612a
fix - add release note (#769)
himanshu-kun Apr 18, 2023
7fd6b59
fix - add release note (#778)
himanshu-kun Apr 18, 2023
9f22a0e
Release v0.49.0
gardener-robot-ci-2 Apr 18, 2023
0028fad
Prepare next Dev Cycle v0.50.0-dev
gardener-robot-ci-2 Apr 18, 2023
43345e4
Fix nil pointer panic (#814)
acumino May 23, 2023
555e2af
Fix broken links - 2023.05 (#813)
n-boshnakov May 23, 2023
08fb0d7
Keep `DesiredReplicas` annotation up-to-date even if no scaling happe…
rishabh-11 Jun 5, 2023
9d6a0b8
Refactor metrics code (#823)
himanshu-kun Jun 5, 2023
63a9602
Updated/added entries to FAQ (#819)
himanshu-kun Jun 6, 2023
72c4f74
Add metric to track Unhealthy Stale machine removal count (#808)
jguipi Jun 6, 2023
26b7067
Bump k8s.io/* deps to v0.27.2 (#820)
afritzler Jun 7, 2023
29b7b82
upgrade golang version to v1.20.5 (#827)
rishabh-11 Jun 7, 2023
ef7a6a7
Updated manifest & added index files
n-boshnakov Jun 14, 2023
314abed
Fixed broken links
n-boshnakov Jun 15, 2023
b720250
Merge pull request #830 from n-boshnakov/update-structure
ashwani2k Jun 16, 2023
bb678b2
include unavailable replicas in mcd status update check (#833)
rishabh-11 Jun 21, 2023
4b379e0
Introduce persona-based docs (#836)
vlerenc Jul 4, 2023
17f45cb
Nit: Fix the format verb (#831)
ialidzhikov Jul 19, 2023
8125c4b
Minor updates to integration tests doc (#843)
aaronfern Aug 29, 2023
9e8c00e
Introduce new metrics to track API call duration and Update status.St…
unmarshall Sep 5, 2023
58a27f8
Corrected local_setup.sh, added local_restore.sh, added .env file, ad…
unmarshall Sep 11, 2023
8abb2c8
Introduced `errorCode` field in `LastOperation` struct (#851)
rishabh-11 Sep 18, 2023
56c2915
Fast drain + delete volume attachment for specific unhealthy nodes (#…
elankath Sep 22, 2023
7419135
Updates to local setup scripts and introduce new local setup scripts …
unmarshall Sep 22, 2023
eeb80f1
Release v0.50.0
Sep 22, 2023
b76746f
Prepare next Dev Cycle v0.51.0-dev
gardener-robot-ci-2 Sep 22, 2023
5482fd0
Removed .env file (#859)
piyuagr Oct 25, 2023
d471257
Updated Integration tests doc. (#861)
piyuagr Oct 26, 2023
d39ea68
fix: Concourse build badge URL (#862)
zkdev Oct 30, 2023
39cf115
Bump k8s.io/* deps to v0.28.2 (#858)
afritzler Oct 30, 2023
c4b931c
Fix Rotation of log files in IT (#864)
piyuagr Nov 6, 2023
0fafd0a
Enhanced rate-limited removal logs (#867)
himanshu-kun Nov 8, 2023
d7b7d17
Remove NotManagedByMCM when not applicable (#866)
elankath Nov 8, 2023
3662e7d
Remove Kubeconfig dependency for verification of control cluster in I…
piyuagr Nov 20, 2023
d346022
Updated to ginkgo v2 in mcm (#870)
piyuagr Nov 20, 2023
14f46ff
Removed old IT code from mcm. (#873)
piyuagr Nov 28, 2023
9c299a3
update go to 1.21.4 (#876)
rishabh-11 Nov 30, 2023
4eb15ca
Switch GCR -> Artifact-Registry (#878)
ccwienk Dec 6, 2023
65b2a8b
preliminary changes
himanshu-kun Nov 22, 2023
2ff1f92
reconcile machineClass only on addition/deletion
himanshu-kun Nov 22, 2023
e44a30c
removed double check in secret reconciler
himanshu-kun Nov 22, 2023
0853a4e
small refactoring
himanshu-kun Nov 22, 2023
2642c64
introduced machine conditions diff logging
himanshu-kun Nov 22, 2023
11e9078
removed old in-tree related code
himanshu-kun Nov 23, 2023
c269302
adapted unit tests ot new const
himanshu-kun Nov 23, 2023
dede733
added new retry period ConflictRetry
himanshu-kun Dec 1, 2023
db1c4fe
updated log level for better readability
himanshu-kun Dec 1, 2023
199ca02
some more updated log levels
himanshu-kun Dec 1, 2023
91796fe
adapted test cases
himanshu-kun Dec 1, 2023
ec791f9
no machine reconcile on status update
himanshu-kun Dec 1, 2023
5eea1ee
updated log messages and used ConflictRetry
himanshu-kun Dec 1, 2023
1935a23
make generate && make check
himanshu-kun Dec 1, 2023
e6b2575
reconcile on removal of critical component taint
himanshu-kun Dec 8, 2023
3ce48db
reconcile machine on specific node taint updates
himanshu-kun Dec 8, 2023
160ec3b
Proposal: Post Create Initialization (#868)
elankath Dec 12, 2023
44fdb3d
Fixed MCM restart during cleanup (#879)
sssash18 Dec 12, 2023
d58363a
adapted unit tests for create errors
himanshu-kun Dec 12, 2023
d9c5474
Made the gen-crd-api-reference-docs binary platform independent
sssash18 Dec 13, 2023
4f82103
fixed some failing tests
himanshu-kun Dec 13, 2023
87b7bc5
Quick fix
sssash18 Dec 14, 2023
136c49d
Support GKE version schema
lookuptable Dec 14, 2023
a113e16
Apply suggestions from code review
himanshu-kun Dec 15, 2023
0313703
addresed Rishab's suggestion part 1
himanshu-kun Dec 15, 2023
e1ddb6c
addressed Rishab's review comments part 2
himanshu-kun Dec 15, 2023
396ba93
renamed updateRetryRequired to updateRetryPeriod
himanshu-kun Dec 15, 2023
a82cbe8
Merge pull request #881 from sssash18/gen-crd-fix
aaronfern Dec 15, 2023
9e4bbf6
Merge pull request #877 from himanshu-kun/remove-status-update-reconc…
aaronfern Dec 15, 2023
91580b1
Merge pull request #882 from lookuptable/gke-versions
sssash18 Dec 19, 2023
13507b3
Env var for IT tests (#884)
sssash18 Dec 26, 2023
5cf35f7
Check, update node label on machine obj prior to drain,termination (#…
elankath Dec 27, 2023
42070b5
Some updates to FAQ (#886)
himanshu-kun Dec 29, 2023
7107329
Introduce the use of central manifest (#847)
Kostov6 Jan 4, 2024
894aff1
Release v0.51.0
gardener-robot-ci-1 Jan 5, 2024
9df61d2
Prepare next Dev Cycle v0.52.0-dev
gardener-robot-ci-1 Jan 5, 2024
61bc234
nil fix in MC.updateNodeToMachine (#893)
elankath Jan 9, 2024
d2ea15b
Added `Architecture` in NodeTemplate (#894)
sssash18 Jan 23, 2024
a468ee3
security fix: removal of go-git (#896)
elankath Jan 24, 2024
5af24b2
Release v0.52.0
gardener-robot-ci-1 Jan 24, 2024
ce89255
Prepare next Dev Cycle v0.53.0-dev
gardener-robot-ci-2 Jan 24, 2024
9448d99
Make repo compliant (#900)
RaphaelVogel Mar 19, 2024
360423f
VM Instance Initialization: Driver.InitializeMachine (#898)
elankath Apr 3, 2024
3420cb7
Remove `vendor` directory (#903)
rishabh-11 Apr 17, 2024
afd3c4f
Diagnostics Logs for MCM (#906)
elankath Apr 19, 2024
c26d509
Upgrade k8s dependencies to `v0.29.3`, Fix yaml parsing issues (#907)
rishabh-11 Apr 19, 2024
2574b78
Enhanced local IT setup (#899)
sssash18 Apr 19, 2024
f9b4f28
Release v0.53.0
Apr 19, 2024
2443261
Prepare next Development Cycle v0.54.0-dev
gardener-robot-ci-1 Apr 19, 2024
515c523
chore: Update Concourse URL (#916)
zkdev Jun 17, 2024
b05b9ec
Update semver package to v3 (#917)
maboehm Jun 17, 2024
4083f63
fixes docker image
sssash18 Jun 27, 2024
7a7862d
fixes docker image
sssash18 Jun 27, 2024
0e6eaef
fixes docker image
sssash18 Jun 27, 2024
d398eac
fixes docker image
sssash18 Jun 27, 2024
0425685
Update Makefile
sssash18 Jun 28, 2024
523111f
Merge pull request #922 from sssash18/fix_docker_image
aaronfern Jun 28, 2024
26c41c9
Remove orphaned CRD (#923)
RAPSNX Jul 2, 2024
fdfee65
Improved context with timeout for DrainNode (#920)
sssash18 Jul 10, 2024
b17a9a5
fix api doc (#927)
rishabh-11 Jul 10, 2024
36dbd00
Allow deletion to proceed in case of VM initialization error (#928)
rishabh-11 Jul 15, 2024
33ddc7c
Add namespace to dummy machine object so that driver can rely on the …
ScheererJ Jul 24, 2024
96f84f8
Update golang to 1.22.5 (#929)
aaronfern Jul 24, 2024
157d1cc
Introduce a feature to propagate the machine name to user data and as…
oliver-goetz Aug 12, 2024
6695b00
Fix gardener_local_setup script to use correct control cluster namesp…
thiyyakat Aug 20, 2024
5097c03
Upgrade k8s.io/* to v0.31 (#938)
ary1992 Sep 6, 2024
0b1c317
Modify Machine Creation flow to make sure node label is updated befor…
thiyyakat Sep 13, 2024
8448cf8
Release v0.54.0
Sep 13, 2024
229b804
Prepare next Development Cycle v0.55.0-dev
gardener-robot-ci-1 Sep 13, 2024
45f8f41
fix something (#942)
acumino Oct 1, 2024
c825fad
Don't track reattachment of provider-unrelated PVs (#937)
timebertt Oct 18, 2024
80c8327
fix ctx declaration for vol detachment and reattachment
Oct 21, 2024
35b0243
remove support for v1beta1 PDBs
Oct 21, 2024
c1a1f67
Fixed broken links - 2024.10 (#946)
n-boshnakov Oct 21, 2024
9d63a2c
Merge pull request #947 from rishabh-11/remove-shadow
unmarshall Oct 21, 2024
7748352
Reduce load on etcd/kube-apiserver on pod eviction (#949)
thiyyakat Oct 28, 2024
0491fc7
Export magic userdata strings (#953)
oliver-goetz Nov 14, 2024
4fa4d7e
Introduce `gosec` for Static Application Security Testing (SAST) (#954)
thiyyakat Nov 15, 2024
70abcd6
Fix edge-case where scale-from-zero of MCD is mistaken for a rolling …
thiyyakat Nov 22, 2024
d997fde
Release v0.55.0
gardener-robot-ci-1 Nov 22, 2024
2e8df60
Prepare next Development Cycle v0.56.0-dev
gardener-robot-ci-1 Nov 22, 2024
dc48bd8
Fix installation of `gosec` and `addlicense` (#957)
thiyyakat Dec 2, 2024
53bebc1
Adapt pipeline_definitions to include SAST linting logs in OCM descri…
thiyyakat Jan 17, 2025
8e7ef68
Change integration test to add gardener-node-agent secret name to mac…
aaronfern Feb 3, 2025
c41d5cc
Fix Race conditions in Targeted Deletion of machines by CA (#965)
elankath Feb 3, 2025
38b8f10
Release v0.56.0
gardener-robot-ci-1 Feb 3, 2025
850b0f5
Prepare next Development Cycle v0.57.0-dev
gardener-robot-ci-1 Feb 3, 2025
bc518b3
Add a nil check before trying to adding mc annotation (#966)
aaronfern Feb 17, 2025
e85d11d
[GEP 31] Introduce API changes for supporting InPlaceUpdate (#962)
acumino Feb 24, 2025
70df22a
[GEP-31] Introduce label constants and `MachineConfiguration` options…
acumino Mar 6, 2025
bc4367c
Release v0.57.0
gardener-robot-ci-1 Mar 7, 2025
bb8b1ab
Prepare next Development Cycle v0.58.0-dev
gardener-robot-ci-1 Mar 7, 2025
2070f7e
Transfer Frontmatter - 2025.02 (#969)
n-boshnakov Mar 11, 2025
3e53de8
Ensure cleanup of IT resources and processes (#968)
takoverflow Mar 13, 2025
4f9f100
Introduce machine termination queue to handle deletions (#964)
takoverflow Mar 17, 2025
abfd9ad
Trigger removal of CA tainted machine without waiting for replica cha…
elankath Mar 21, 2025
060fb6f
Update golangci-lint version (#978)
takoverflow Apr 3, 2025
501be8e
[GEP-31] Introduce Constants needed for Conditons and Status for InPl…
ary1992 Apr 11, 2025
18eac63
[GEP-31] Controller changes to Support `Auto` `InPlaceUpdate` strate…
acumino Apr 23, 2025
1c8449e
[GEP-31] Controller changes to Support Manual InPlaceUpdate strategy …
ary1992 Apr 28, 2025
3b23864
Minor fixes (#981)
takoverflow Apr 29, 2025
f674a82
Fix version logging at binary startup. (#985)
renormalize Apr 29, 2025
20c60e5
Release v0.58.0
gardener-robot-ci-1 Apr 29, 2025
e25d1d8
Prepare next Development Cycle v0.59.0-dev
gardener-robot-ci-1 Apr 29, 2025
deff055
Upgrade base image to debian12 (#991)
aaronfern May 12, 2025
bc5f745
added VirtualCapacity to NodeTemplate
elankath May 27, 2025
67637f9
fetch pod from cache before eviction is attempted (#979)
aaronfern May 27, 2025
37185ec
Don't update machine status to terminating on deletion failure (#995)
takoverflow May 27, 2025
3ab0aa2
fix: use `strconv.ParseBool` for `force-deletion` label (#999)
Kumm-Kai Jun 6, 2025
c3bf83d
Add node_name label to the mcm_machine_info metric (#1000)
aaronfern Jun 10, 2025
511bebf
Simplify local development (#1003)
timebertt Jun 16, 2025
556cd1d
Merge branch 'master' into virtcap
elankath Jun 17, 2025
9a4eaf7
Add validation for flags passed to machine controller (#1006)
takoverflow Jun 24, 2025
50cf7b9
Add validations for data passed via flags (#1005)
aaronfern Jun 24, 2025
3467db4
[GEP-28] Support managing machines without target cluster for `garden…
timebertt Jun 27, 2025
b8c0153
Merge branch 'master' into virtcap
elankath Jul 1, 2025
1b68c81
regenerated apis
elankath Jul 1, 2025
5675965
regenerated apis
elankath Jul 1, 2025
5b65aa0
added sync for virtual capacity
elankath Jul 1, 2025
765aa53
added sync for virtual capacity
elankath Jul 1, 2025
5f3b8bb
Update pkg/util/provider/machinecontroller/machine_util.go
elankath Aug 5, 2025
faf4383
initializedNodeAnnotation check added
elankath Aug 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
49 changes: 49 additions & 0 deletions .ci/build
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
#!/usr/bin/env bash

# SPDX-FileCopyrightText: 2024 SAP SE or an SAP affiliate company and Gardener contributors
#
# SPDX-License-Identifier: Apache-2.0

set -e

# For the build step concourse will set the following environment variables:
# SOURCE_PATH - path to component repository root directory.
# BINARY_PATH - path to an existing (empty) directory to place build results into.

if [[ $(uname) == 'Darwin' ]]; then
READLINK_BIN="greadlink"
else
READLINK_BIN="readlink"
fi

if [[ -z "${SOURCE_PATH}" ]]; then
export SOURCE_PATH="$(${READLINK_BIN} -f $(dirname ${0})/..)"
else
export SOURCE_PATH="$(${READLINK_BIN} -f "${SOURCE_PATH}")"
fi

if [[ -z "${BINARY_PATH}" ]]; then
export BINARY_PATH="${SOURCE_PATH}/bin"
else
export BINARY_PATH="$(${READLINK_BIN} -f "${BINARY_PATH}")/bin"
fi

VCS="github.com"
ORGANIZATION="gardener"
PROJECT="machine-controller-manager"
REPOSITORY=${VCS}/${ORGANIZATION}/${PROJECT}
GIT_SHA="${GIT_SHA:-$(git rev-parse --short HEAD || echo "GitNotFound")}"

cd "${SOURCE_PATH}"

###############################################################################

VERSION_FILE="$(${READLINK_BIN} -f "${SOURCE_PATH}/VERSION")"
VERSION="${VERSION:-"$(cat "${VERSION_FILE}")"}"
GIT_SHA="${GIT_SHA:-$(git rev-parse --short HEAD || echo "GitNotFound")}"

CGO_ENABLED=0 GO111MODULE=on go build \
-v \
-o "${BINARY_PATH}/machine-controller-manager" \
-ldflags "-w -X ${REPOSITORY}/pkg/version.Version=${VERSION} -X ${REPOSITORY}/pkg/version.GitSHA=${GIT_SHA}" \
cmd/machine-controller-manager/controller_manager.go
53 changes: 53 additions & 0 deletions .ci/check
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#!/usr/bin/env bash

# SPDX-FileCopyrightText: 2024 SAP SE or an SAP affiliate company and Gardener contributors
#
# SPDX-License-Identifier: Apache-2.0

set -e

export GO111MODULE=on

# For the check step concourse will set the following environment variables:
# SOURCE_PATH - path to component repository root directory.

if [[ $(uname) == 'Darwin' ]]; then
READLINK_BIN="greadlink"
else
READLINK_BIN="readlink"
fi

if [[ -z "${SOURCE_PATH}" ]]; then
export SOURCE_PATH="$(${READLINK_BIN} -f $(dirname ${0})/..)"
else
export SOURCE_PATH="$(${READLINK_BIN} -f "${SOURCE_PATH}")"
fi

cd "${SOURCE_PATH}"

# Install golangci-lint (linting tool).
if [[ -z "${GOLANGCI_LINT_VERSION}" ]]; then
export GOLANGCI_LINT_VERSION=v1.64.8
fi
go install github.com/golangci/golangci-lint/cmd/golangci-lint@"${GOLANGCI_LINT_VERSION}"

###############################################################################

PACKAGES="$(go list -e ./... | grep -vE '/pkg/client|/pkg/apis|/pkg/openapi')"
PACKAGES_DIRS="$(echo ${PACKAGES} | sed "s|github.com/gardener/machine-controller-manager|.|g")"

# Execute static code checks.
echo "Running go vet..."
go vet ${PACKAGES}

# Execute automatic code formatting directive.
echo "Running gofmt..."
gofmt -s -l -w ${PACKAGES_DIRS}

## Execute lint checks.
echo "Running golangci-lint..."
# golangci-lint can't be run from outside the directory
(cd ${SOURCE_PATH} && golangci-lint run -c .golangci.yaml --timeout 10m)

# Run Static Application Security Testing (SAST) using gosec
make sast-report
84 changes: 84 additions & 0 deletions .ci/pipeline_definitions
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
machine-controller-manager:
base_definition:
repo:
source_labels:
- name: cloud.gardener.cnudie/dso/scanning-hints/source_analysis/v1
value:
policy: skip
comment: |
we use gosec for sast scanning. See attached log.
traits:
version:
preprocess:
'inject-commit-hash'
inject_effective_version: true
component_descriptor:
ocm_repository: europe-docker.pkg.dev/gardener-project/snapshots
publish:
oci-builder: docker-buildx
platforms:
- linux/amd64
- linux/arm64
dockerimages:
machine-controller-manager:
inputs:
repos:
source: ~ # default
steps:
build: ~
image: europe-docker.pkg.dev/gardener-project/snapshots/gardener/machine-controller-manager
resource_labels:
- name: 'gardener.cloud/cve-categorisation'
value:
network_exposure: 'protected'
authentication_enforced: false
user_interaction: 'gardener-operator'
confidentiality_requirement: 'high'
integrity_requirement: 'high'
availability_requirement: 'low'
steps:
check:
image: 'golang:1.23.3'
test:
image: europe-docker.pkg.dev/gardener-project/releases/testmachinery/base-step:stable
build:
image: 'golang:1.23.3'
output_dir: 'binary'
jobs:
head-update:
traits:
component_descriptor:
ocm_repository_mappings:
- repository: europe-docker.pkg.dev/gardener-project/releases
draft_release: ~
pull-request:
traits:
pull-request: ~
release:
traits:
version:
preprocess: 'finalize'
component_descriptor:
ocm_repository: europe-docker.pkg.dev/gardener-project/releases
release:
nextversion: 'bump_minor'
assets:
- type: build-step-log
step_name: check
purposes:
- lint
- sast
- gosec
comment: |
we use gosec (linter) for SAST scans
see: https://github.com/securego/gosec
publish:
dockerimages:
machine-controller-manager:
image: europe-docker.pkg.dev/gardener-project/releases/gardener/machine-controller-manager
slack:
default_channel: 'internal_scp_workspace'
channel_cfgs:
internal_scp_workspace:
channel_name: 'C0170QTBJUW' # gardener-mcm
slack_cfg_name: 'scp_workspace'
13 changes: 13 additions & 0 deletions .ci/sample-objects/aws/machine.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Sample machine object

apiVersion: machine.sapcloud.io/v1alpha1
kind: Machine
metadata:
name: test-machine # Name of the machine to be created
namespace: aws
labels:
test-label: test-label # Label used by machine-set to match (optional)
spec:
class:
kind: AWSMachineClass # Machine class template used to create machine, could be AWS/GCP/Azure/Other-cloud-providers
name: mc-v1 # Name of the machine class
27 changes: 27 additions & 0 deletions .ci/sample-objects/aws/md-scale-down.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Sample machine-deploy object

apiVersion: machine.sapcloud.io/v1alpha1
kind: MachineDeployment
metadata:
name: test-md # Name of the machine deploy
namespace: aws
spec:
replicas: 2 # Number of healthy replicas that should always be healthy
minReadySeconds: 500 # Minimum time to wait for machine to be ready
progressDeadlineSeconds: 1200
strategy:
type: RollingUpdate # Strategy for update RollingUpdate/Recreate
rollingUpdate:
maxSurge: 0 # Maximum addition machines that spawned over the desired replicas during update
maxUnavailable: 1 # Maximum unavailable machines that the cluster can tolerate
selector:
matchLabels:
test-label: test-label # Label to match the template (XXXXX)
template:
metadata:
labels:
test-label: test-label # Label to match with selector (XXXXX)
spec:
class:
kind: AWSMachineClass # Machine class template used to create machine, could be AWS/GCP/Azure/Other-cloud-providers
name: mc-v1 # Name of the machine class
27 changes: 27 additions & 0 deletions .ci/sample-objects/aws/md-scale-up.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Sample machine-deploy object

apiVersion: machine.sapcloud.io/v1alpha1
kind: MachineDeployment
metadata:
name: test-md # Name of the machine deploy
namespace: aws
spec:
replicas: 6 # Number of healthy replicas that should always be healthy
minReadySeconds: 500 # Minimum time to wait for machine to be ready
progressDeadlineSeconds: 1200
strategy:
type: RollingUpdate # Strategy for update RollingUpdate/Recreate
rollingUpdate:
maxSurge: 0 # Maximum addition machines that spawned over the desired replicas during update
maxUnavailable: 1 # Maximum unavailable machines that the cluster can tolerate
selector:
matchLabels:
test-label: test-label # Label to match the template (XXXXX)
template:
metadata:
labels:
test-label: test-label # Label to match with selector (XXXXX)
spec:
class:
kind: AWSMachineClass # Machine class template used to create machine, could be AWS/GCP/Azure/Other-cloud-providers
name: mc-v1 # Name of the machine class
27 changes: 27 additions & 0 deletions .ci/sample-objects/aws/md-update.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Sample machine-deploy object

apiVersion: machine.sapcloud.io/v1alpha1
kind: MachineDeployment
metadata:
name: test-md # Name of the machine deploy
namespace: aws
spec:
replicas: 4 # Number of healthy replicas that should always be healthy
minReadySeconds: 500 # Minimum time to wait for machine to be ready
progressDeadlineSeconds: 1200
strategy:
type: RollingUpdate # Strategy for update RollingUpdate/Recreate
rollingUpdate:
maxSurge: 0 # Maximum addition machines that spawned over the desired replicas during update
maxUnavailable: 2 # Maximum unavailable machines that the cluster can tolerate
selector:
matchLabels:
test-label: test-label # Label to match the template (XXXXX)
template:
metadata:
labels:
test-label: test-label # Label to match with selector (XXXXX)
spec:
class:
kind: AWSMachineClass # Machine class template used to create machine, could be AWS/GCP/Azure/Other-cloud-providers
name: mc-v2 # Name of the machine class
27 changes: 27 additions & 0 deletions .ci/sample-objects/aws/md.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Sample machine-deploy object

apiVersion: machine.sapcloud.io/v1alpha1
kind: MachineDeployment
metadata:
name: test-md # Name of the machine deploy
namespace: aws
spec:
replicas: 3 # Number of healthy replicas that should always be healthy
minReadySeconds: 500 # Minimum time to wait for machine to be ready
progressDeadlineSeconds: 1200
strategy:
type: RollingUpdate # Strategy for update RollingUpdate/Recreate
rollingUpdate:
maxSurge: 0 # Maximum addition machines that spawned over the desired replicas during update
maxUnavailable: 1 # Maximum unavailable machines that the cluster can tolerate
selector:
matchLabels:
test-label: test-label # Label to match the template (XXXXX)
template:
metadata:
labels:
test-label: test-label # Label to match with selector (XXXXX)
spec:
class:
kind: AWSMachineClass # Machine class template used to create machine, could be AWS/GCP/Azure/Other-cloud-providers
name: mc-v1 # Name of the machine class
13 changes: 13 additions & 0 deletions .ci/sample-objects/az/machine.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Sample machine object

apiVersion: machine.sapcloud.io/v1alpha1
kind: Machine
metadata:
name: test-machine # Name of the machine to be created
namespace: az
labels:
test-label: test-label # Label used by machine-set to match (optional)
spec:
class:
kind: AzureMachineClass # Machine class template used to create machine, could be AWS/GCP/Azure/Other-cloud-providers
name: mc-v1 # Name of the machine class
27 changes: 27 additions & 0 deletions .ci/sample-objects/az/md-scale-down.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Sample machine-deploy object

apiVersion: machine.sapcloud.io/v1alpha1
kind: MachineDeployment
metadata:
name: test-md # Name of the machine deploy
namespace: az
spec:
replicas: 2 # Number of healthy replicas that should always be healthy
minReadySeconds: 500 # Minimum time to wait for machine to be ready
progressDeadlineSeconds: 1200
strategy:
type: RollingUpdate # Strategy for update RollingUpdate/Recreate
rollingUpdate:
maxSurge: 0 # Maximum addition machines that spawned over the desired replicas during update
maxUnavailable: 1 # Maximum unavailable machines that the cluster can tolerate
selector:
matchLabels:
test-label: test-label # Label to match the template (XXXXX)
template:
metadata:
labels:
test-label: test-label # Label to match with selector (XXXXX)
spec:
class:
kind: AzureMachineClass # Machine class template used to create machine, could be AWS/GCP/Azure/Other-cloud-providers
name: mc-v1 # Name of the machine class
27 changes: 27 additions & 0 deletions .ci/sample-objects/az/md-scale-up.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Sample machine-deploy object

apiVersion: machine.sapcloud.io/v1alpha1
kind: MachineDeployment
metadata:
name: test-md # Name of the machine deploy
namespace: az
spec:
replicas: 6 # Number of healthy replicas that should always be healthy
minReadySeconds: 500 # Minimum time to wait for machine to be ready
progressDeadlineSeconds: 1200
strategy:
type: RollingUpdate # Strategy for update RollingUpdate/Recreate
rollingUpdate:
maxSurge: 0 # Maximum addition machines that spawned over the desired replicas during update
maxUnavailable: 1 # Maximum unavailable machines that the cluster can tolerate
selector:
matchLabels:
test-label: test-label # Label to match the template (XXXXX)
template:
metadata:
labels:
test-label: test-label # Label to match with selector (XXXXX)
spec:
class:
kind: AzureMachineClass # Machine class template used to create machine, could be AWS/GCP/Azure/Other-cloud-providers
name: mc-v1 # Name of the machine class
Loading