Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
8923 commits
Select commit Hold shift + click to select a range
c8de3f8
tests/e2e: install ginkgo from the repo under test
Aug 25, 2026
d87a111
tools/metal: give the storage module its own module path
Aug 25, 2026
06f6b09
tools/otel/traceserver: build against the local kops module
Aug 25, 2026
6535f50
tests/e2e: align the ai-conformance staging pins with the root module
Aug 25, 2026
1790e3a
Merge pull request #18751 from rifelpet/dep-pin-cleanup-phase34
Aug 26, 2026
0eb8453
capi: update cluster-api-provider-gcp to match its v1.10.0 kustomize ref
Aug 26, 2026
b4cd8b3
capi: drop deprecated master node-role key from CAPG scheduling patch
Aug 26, 2026
63ced73
capi: do not require the channel or image when building bootstrap data
Aug 26, 2026
fdbf942
nodeup: point kube-proxy at the local apiserver on apiserver nodes
Aug 26, 2026
ce8a2b7
gce: allow pod CIDR traffic to reach control plane instances
Aug 26, 2026
0a57acf
kops-controller: demote expected keypair-ids mismatch to V(2)
Aug 26, 2026
f94ff34
test(e2e): deploy cert-manager via the certmanager.io addon
Aug 26, 2026
037a7d0
test(e2e): fix leaked firewall rule names in splitkcp cleanup
Aug 26, 2026
16c04c0
Merge pull request #18753 from hakman/e2e-cert-manager-addon
Aug 26, 2026
37bf96e
tests/e2e: remove the orphaned digital-ocean scenario
Aug 26, 2026
b0f8327
discovery: suggest the cert-manager version kOps ships
Aug 26, 2026
b5c7a3a
Merge pull request #18752 from rifelpet/dep-pin-cleanup-phase5
Aug 26, 2026
162414e
aws: Generate NodePool requirements for instanceRequirements.
Aug 1, 2026
592accb
Merge pull request #18750 from rifelpet/dep-pin-cleanup-phase1
Aug 26, 2026
316e2e6
docs: refresh CLI examples and manifests for kOps 1.37
Aug 27, 2026
a3b404d
Merge pull request #18754 from rifelpet/docs-refresh-examples
Aug 27, 2026
62b3577
fix(api): reject a malformed oidcRequiredClaim instead of panicking
Aug 27, 2026
41f91d7
test(api): round trip Cluster and InstanceGroup across API versions
Aug 27, 2026
b5ac6cc
kube-router: modernize daemonset manifest
Aug 25, 2026
21a8b77
kube-router: add hostIPC to fix DSR support
Aug 25, 2026
b6b2885
kube-router: make external IP validation configurable
Aug 25, 2026
e717c0a
gce: don't leave routes and LB firewalls behind on cluster deletion
Aug 28, 2026
b28b597
Merge pull request #18757 from aauren/kube-router-daemonset-moderniza…
Aug 28, 2026
4088eb8
Merge pull request #18740 from madhoshyagnik/fix-binaries-location-18736
Aug 28, 2026
4452921
Merge pull request #18756 from rifelpet/api-roundtrip-coverage
Aug 28, 2026
d7da47e
Merge pull request #18676 from danports/karpenter-instance-requirements
Aug 28, 2026
e223b8c
Merge pull request #18760 from rifelpet/gce-teardown-leaked-routes-an…
Aug 28, 2026
e191806
validation: validate Karpenter inputs early
Aug 28, 2026
92246f1
karpenter: combine instance constraints
Aug 28, 2026
facbebb
aws: allow heterogeneous Karpenter pools
Aug 28, 2026
3993936
Merge pull request #18761 from hakman/karpenter-validation
Aug 29, 2026
389b1fb
Release 1.37.0-beta.1 (#18762)
Aug 29, 2026
b86a37f
docs: update 1.37 release notes
Aug 29, 2026
ff2e297
docs: clarify 1.37 release notes
Aug 29, 2026
af7ac40
docs: address release note review
Aug 29, 2026
f2cacd4
Merge pull request #18763 from hakman/release-notes-1.37
Aug 29, 2026
b0131cd
assets: cache file hashes instead of nodeup assets
Aug 29, 2026
9964dea
Merge pull request #18764 from hakman/file-hash-cache
Aug 29, 2026
4adc051
release: limit version updates to release goldens
Aug 29, 2026
f3733b6
test: pin integration assets to 1.37.0-beta.1
Aug 29, 2026
501f2df
nodeup: use compressed artifact directly
Aug 29, 2026
d052ee4
release: publish only compressed nodeup
Aug 29, 2026
943f726
Merge pull request #18765 from hakman/hakman-nodeup-xz-migration
Aug 29, 2026
8b1be91
tests/e2e: keep cilium externalTrafficPolicy skips through k8s 1.38
Sep 1, 2026
9451935
Merge pull request #18767 from rifelpet/skip-regex-cilium-etp-1.39
Sep 1, 2026
d95a0b0
chore(deps): bump linodego to v2.6.0
Sep 1, 2026
12bfaa5
chore(deps): make gomod
Sep 1, 2026
81b190b
tests: add minimal_gce_ipv6 integration test
Sep 1, 2026
9ee4a08
Merge pull request #18768 from moshevayner/bump-linodego-2.6.0
Sep 1, 2026
3140c22
Merge pull request #18769 from justinsb/minimal-gce-ipv6-test
Sep 1, 2026
2b82da0
Update Go to 1.26.8 and bump golang.org/x modules
Sep 2, 2026
02b8276
Update k8s.io dependencies to v0.37.0
Sep 2, 2026
96792e0
Merge pull request #18772 from hakman/bump-go-1.26.8-k8s-1.37
Sep 2, 2026
f79baf3
aws: update cloud-controller-manager to v1.37.0
Sep 2, 2026
452db8a
aws: update EBS CSI driver to v1.65.0
Sep 2, 2026
a2bc67e
aws: stop rendering the unused EBS volumemodifier Service
Sep 2, 2026
fbf8bfd
aws: update ecr-credential-provider to v1.37.0
Sep 2, 2026
903ad9a
gcp: update cloud-controller-manager to v36.2.4
Sep 2, 2026
b79da8a
gcp: update PD CSI driver to v1.26.0
Sep 2, 2026
8baa546
azure: update cloud-controller-manager to v1.36.5
Sep 2, 2026
85f22f8
azure: update azuredisk CSI driver to v1.34.5
Sep 2, 2026
421c3cf
hetzner: update cloud-controller-manager to v1.36.0
Sep 2, 2026
9ed7c76
hetzner: update CSI driver to v2.22.2
Sep 2, 2026
c3951b8
digitalocean: update cloud-controller-manager to v0.1.69
Sep 2, 2026
ffc7792
digitalocean: update CSI driver to v4.18.0
Sep 2, 2026
6c81e51
akamai: update cloud-controller-manager to v0.9.8
Sep 2, 2026
6949a71
docs: note CCM and CSI updates in 1.37 release notes
Sep 2, 2026
b2ad25f
tests: update expected output
Sep 2, 2026
f1222c4
digitalocean: keep cloud-controller-manager at v0.1.45
Sep 2, 2026
d5f834e
Merge pull request #18775 from hakman/update-ccm-csi-versions
Sep 2, 2026
babba3e
do: set providerID on DigitalOcean nodes
Sep 2, 2026
47c713b
do: update cloud-controller-manager to v0.1.69
Sep 2, 2026
3cbeafc
tests/e2e: skip Volume metrics specs on DigitalOcean
Sep 2, 2026
c7e862f
Merge pull request #18776 from hakman/do-provider-id
Sep 3, 2026
628365f
refactor: add Distribution.IsAmazonLinux()
Sep 3, 2026
5b184ae
Add experimental support for Amazon Linux 2027
Sep 4, 2026
4c8573c
Merge pull request #18777 from rifelpet/al2027-prep-is-amazon-linux
Sep 4, 2026
d3ec6a3
fix(pki): drop legacy keyset aliases
Sep 4, 2026
1f9feaf
refactor(pki): remove LegacyFormat
Sep 4, 2026
045c577
Merge pull request #18780 from hakman/codex/drop-legacy-keyset-aliases
Sep 4, 2026
c1bac0d
chore(networking): bump aws-cni to version 1.23.1
Sep 7, 2026
48f31c9
test: hack/update-expected
Sep 7, 2026
95295fb
feat(akamai): enhance Firewall with inbound and outbound policies and…
Sep 8, 2026
4735ee0
Merge pull request #18746 from moshevayner/akamai-firewall-task
Sep 8, 2026
bbed384
test(kops): compare decoded compressed user data
Sep 9, 2026
2808013
chore(deps): update Go to 1.27.1 and golang.org/x modules
Sep 9, 2026
bde8825
cert-manager: add feature gate options for webhook and cainjector
Sep 9, 2026
2baf207
Merge pull request #18788 from hakman/codex/go-1.27-x-modules
Sep 9, 2026
fb9753c
Merge pull request #18784 from moshevayner/aws-cni-1.23.1
Sep 9, 2026
8174275
fix: discover NLB IPs with Terraform
Sep 10, 2026
b0e54dc
Merge pull request #18789 from hakman/codex/fix-terraform-nlb-discovery
Sep 10, 2026
cfd0b7f
Merge pull request #18787 from KR-Ravindra/fix/cert-manager-webhook-f…
Sep 11, 2026
98efbcf
Graduate SELinuxMount to GA
Sep 4, 2026
0ef4f25
Add contanerd.seLinuxEnabled to tests/integration/update_cluster/complex
Sep 11, 2026
6778c67
Add release note about SELinuxMount feature gate
Sep 7, 2026
14e1b18
Merge pull request #18779 from jsafrane/selinux-ga
Sep 11, 2026
284b66c
tests/e2e: fix SSH skip regex after upstream provider tag rename
Sep 12, 2026
f51ef60
Merge pull request #18796 from rifelpet/fix-ssh-skip-regex-provider-tag
Sep 13, 2026
f16a4e6
build kubetest2 binaries
Sep 13, 2026
8aa3a4c
Merge pull request #18795 from upodroid/kubetest2-binaries
Sep 13, 2026
f184cf1
zones: add newer AWS regions to --zones completion
Sep 14, 2026
ab2956b
[WIP] Initial work to make split control plane work.
Jul 15, 2026
e6f2b49
Minor tweaks to fix minor issues.
Jul 21, 2026
c4f3a55
Got a working cluster with split control plane.
Jul 24, 2026
16e1cbe
Switched new kops role to be about workload not destination.
Jul 27, 2026
cd872d6
Ran hack/update-expected.sh
Jul 28, 2026
220d465
Fixing for changed function names.
Aug 3, 2026
e9c0d32
hack/update-expected.sh
Aug 3, 2026
8881b3f
Fixes to ensure nodeup runs on all control plane roles.
Aug 3, 2026
8b9714b
hack/update-expected.sh
Aug 3, 2026
e08f013
Factored in changes suggested by justinsb.
Sep 9, 2026
43394bb
hack/update-expected.sh
Sep 9, 2026
906395a
Fix inverted runsChannel.
Sep 9, 2026
e67b271
hack/update-expected.sh
Sep 10, 2026
4ea0138
Round trip binariesLocation now that v1alpha2 stores it
Sep 15, 2026
636caf1
Merge pull request #18798 from thammarongg/feature/tgj-kops-10001
Sep 17, 2026
a982bd4
Add afinity to allow cert-manager to run on split control plane.
Sep 16, 2026
d90f170
./hack/update-expected.sh
Sep 17, 2026
9707baa
Allow capg-controller-manager to run on split control plane.
Sep 17, 2026
79b2e35
Disable CAPI in splitkcp scenario (for now)
Sep 18, 2026
da1be14
Add Amazon ECR dual-stack endpoints for IPv6 support
Sep 23, 2026
2935ddb
Merge pull request #18597 from cheftako/multipleControlRoles
Sep 23, 2026
8ec680e
Merge pull request #18803 from tom1ackerman/master
Sep 23, 2026
9b02081
chore(channels): add Kubernetes 1.37 and September patch releases
Sep 24, 2026
480dfb6
aws: update pod-identity-webhook to v0.6.17
Sep 24, 2026
9460b0d
Merge pull request #18804 from hakman/bump-alpha-channels-sep-2026
Sep 24, 2026
ab568ea
Merge pull request #18805 from hakman/pod-identity-webhook-v0.6.17
Sep 25, 2026
6a031d9
containerd: default to 2.3.6 / runc 1.5.1
Sep 25, 2026
ac477df
docs: containerd 2.3.6 / runc 1.5.1 default
Sep 25, 2026
6c25c15
./hack/update-expected.sh
Sep 25, 2026
807374a
chore: remove dead verify-hashes target
Sep 25, 2026
352566a
etcd-manager: bump etcd to latest patches (3.5.34, 3.6.15, 3.7.2)
Sep 25, 2026
d567d8a
docs: update etcd patch versions in 1.37 release notes
Sep 25, 2026
3816695
./hack/update-expected.sh
Sep 25, 2026
17be859
Merge pull request #18809 from hakman/remove-verify-hashes
Sep 25, 2026
9bce540
Merge pull request #18813 from hakman/etcd-3.7.2
Sep 25, 2026
02a7816
Merge pull request #18808 from hakman/containerd-2.3.6-runc-1.5.1
Sep 25, 2026
9112ee5
fix(assetdata): skip any PGP Hash armor header in generatefileassets
Sep 25, 2026
9637c11
chore(hack): stop generating hashes for unsupported Kubernetes versions
Sep 25, 2026
3223e8d
chore(assetdata): drop bogus SHA512 entries from runc hashes
Sep 25, 2026
f09ee4c
chore(containerd): require runc 1.3.0 or newer
Sep 25, 2026
c94777b
chore(assetdata): remove hashes for versions kOps no longer uses
Sep 25, 2026
ad62ad3
docs: update runc migration note for the new defaults
Sep 25, 2026
17f0680
chore(assetdata): drop bogus SHA512 entries from runc 1.5 hashes
Sep 25, 2026
33ba80b
Merge pull request #18810 from hakman/asset-hashes-pgp-hash-header
Sep 25, 2026
97e5de8
Add a cloud provider failure reporting capability
Sep 7, 2026
0799492
Implement failure reporting for AWS and GCE
Sep 7, 2026
01ddad8
Surface cloud provider failures during cluster validation
Sep 7, 2026
ae356e7
Report cloud provider failures when the API server is unreachable
Sep 7, 2026
60dc21a
Dump cloud instance group state during toolbox dump
Sep 7, 2026
ea66315
Merge pull request #18799 from SaiPisey2/fix/roundtrip-cover-binaries…
Sep 26, 2026
9328eff
Merge pull request #18329 from rifelpet/scaling-errors
Sep 26, 2026
827d175
Update kindnet to v1.0.2
Sep 28, 2026
dd28474
Merge pull request #18817 from aojea/kindnet-v1.0.2
Sep 28, 2026
bac31fc
terraform: read shared VPC IPv6 CIDRs from associations
Sep 29, 2026
05e13a9
don't build kubetest2 when running as a periodic and switch to dl.k8s…
Sep 29, 2026
b6724a9
Merge pull request #18802 from upodroid/scalability-fix
Sep 30, 2026
80d9a60
Map v1alpha2 field paths in kops edit instancegroup --set/--unset
Jun 17, 2026
4dbb9bd
Merge pull request #18481 from carterpewpew/fix/ig-field-mapping-17622
Sep 30, 2026
33c74ec
containerd: set override_path for registry mirrors with a path
Sep 28, 2026
b9c131f
containerd: normalize mirror endpoints like containerd before checkin…
Sep 30, 2026
2b56ba7
Merge pull request #18819 from peter-svensson/fix/containerd-mirror-o…
Oct 1, 2026
9bf72ec
Move olemarkus to emeritus
Oct 1, 2026
5a560c6
feat(containerd): validate registry mirror endpoints
Oct 1, 2026
c40dbfd
./hack/update-expected.sh
Oct 1, 2026
682aa76
Move zetaab to emeritus, keep as OpenStack reviewer
Oct 1, 2026
609d2c6
Merge pull request #18826 from hakman/validate-containerd-mirror-endp…
Oct 1, 2026
0c13005
fix: reject partial Terraform updates
Oct 1, 2026
be7e743
Merge pull request #18829 from hakman/codex/reject-partial-terraform
Oct 1, 2026
3e02286
terraform: don't hide errors in the shared VPC IPv6 lookup
Oct 1, 2026
a99e808
fix(terraform): raise google provider floor to 6.8.0
Oct 2, 2026
65cb651
fix(terraform): raise scaleway provider floor to 2.54.0
Oct 2, 2026
ad7dfe3
fix(terraform): raise aws provider floor to 6.57.1
Oct 2, 2026
8ee00bc
./hack/update-expected.sh
Oct 2, 2026
d5e96c5
Merge pull request #18820 from locker95/fix/shared-vpc-ipv6-associations
Oct 2, 2026
f44da9e
Merge pull request #18831 from hakman/claude/terraform-provider-floors
Oct 2, 2026
ff92e96
gce: list instances per zone in GetCloudGroups instead of per-instanc…
Oct 3, 2026
e27d192
Merge pull request #18833 from Jefftree/gce-list-instances-validate
Oct 6, 2026
3f908da
gce: filter the per-zone instance listing by cluster label
Oct 6, 2026
0560505
Merge pull request #18835 from hakman/gce-list-instances-cluster-label
Oct 6, 2026
bd0bd78
Re-add support for the cgroupfs cgroup driver
Oct 6, 2026
05ffbdb
Merge pull request #18836 from hakman/claude/cgroupfs-cgroup-driver
Oct 7, 2026
9af4d2e
tests/e2e: add agent-sandbox benchmark scenario
Oct 8, 2026
0a3e2e2
scalability: capture kubelet heap profiles after the test
Oct 8, 2026
f0f795f
test(kubetest2): give AWS e2e bastions instance-type fallbacks
Oct 8, 2026
9896404
tests/e2e: fix gosec findings in nested modules
Oct 8, 2026
afa8f10
Test, vet, and lint nested Go modules
Oct 8, 2026
481f40d
tests/e2e: set a state store in TestEnvExportsSSHKeyAndUser
Oct 9, 2026
922729e
Merge pull request #18840 from rifelpet/nested-go-modules-ci
Oct 9, 2026
0bad4f7
Merge pull request #18839 from rifelpet/kubetest2-bastion-capacity-fa…
Oct 9, 2026
c0ef41a
Merge pull request #18841 from dims/scalability-kubelet-pprof
Oct 9, 2026
9f716d2
tests/e2e/scalability: configure watch progress notify interval for s…
Oct 9, 2026
ca8312e
scalability: default to pd-ssd for n1/n2/e2 GCE control planes
Oct 9, 2026
311ded3
Merge pull request #18842 from Jefftree/5k-etcd-progress-notify
Oct 10, 2026
0c004ef
build(deps): bump actions/upload-artifact from 7.0.1 to 7.0.2
Oct 11, 2026
6113c87
Merge pull request #18846 from kubernetes/dependabot/github_actions/a…
Oct 11, 2026
991af3a
Merge pull request #18827 from hakman/emeritus-olemarkus-zetaab
Oct 11, 2026
d024e36
Add moshevayner as reviewer
Oct 12, 2026
438a07d
Merge pull request #18849 from hakman/reviewer-moshevayner
Oct 12, 2026
594ea4e
Merge pull request #18837 from hakman/agent-sandbox-benchmark-scenario
Oct 13, 2026
96df1ce
Keep warm pool permissions when updating only the control plane
Oct 13, 2026
6f5648e
Merge pull request #18850 from hakman/fix-warm-pool-partial-update
Oct 13, 2026
959f079
Fix Azure and Hetzner API load balancers when updating some instance …
Oct 1, 2026
bc757db
Initial support for Ubuntu 26.10 (Stonking Stingray)
Oct 13, 2026
a67095e
Update Cilium to v1.18.14
Oct 13, 2026
cda43c1
./hack/update-expected.sh
Oct 13, 2026
743a26c
Keep the GCE API load balancer when updating only some instance groups
Oct 1, 2026
b3ae826
Keep the nvidia and gVisor addons when updating only some instance gr…
Oct 13, 2026
018453e
Drop CPUAccounting from kubelet unit
Oct 13, 2026
b7f3ff8
Remove leapsectz directive from chrony config
Oct 13, 2026
9655ea4
Fix security groups when updating only some instance groups
Oct 1, 2026
6da5885
Merge pull request #18853 from hakman/cilium-1.18.14
Oct 13, 2026
8f58d01
Merge pull request #18851 from hakman/fix-api-loadbalancer-partial-up…
Oct 13, 2026
04932a7
Merge pull request #18855 from hakman/fix-nvidia-gvisor-partial-update
Oct 13, 2026
77fbe86
Merge pull request #18856 from hakman/fix-gce-api-loadbalancer-partia…
Oct 13, 2026
619ced5
Merge pull request #18857 from hakman/fix-security-groups-partial-update
Oct 13, 2026
24eb1d0
Merge pull request #18852 from hakman/ubuntu-stonking
Oct 13, 2026
1b26d35
Merge pull request #18854 from hakman/drop-cpuaccounting
Oct 13, 2026
d24fb55
Merge pull request #18858 from hakman/chrony-remove-leapsectz
Oct 13, 2026
6b8b8f4
Merge pull request #18843 from Jefftree/kops-write-throughput
Oct 14, 2026
65f1baa
Keep the cluster-autoscaler node groups when updating only some insta…
Oct 2, 2026
5218a22
scalability: default GCE control-plane-zones to us-east1-b
Oct 14, 2026
c0e3032
Merge pull request #18860 from hakman/fix-cluster-autoscaler-partial-…
Oct 14, 2026
5bf010a
Merge pull request #18863 from Jefftree/gce-control-plane-zones
Oct 14, 2026
e043f5a
OpenStack: Override default images for v1.37
Oct 16, 2026
ecc12dc
Merge pull request #18868 from jauru/openstack-image-override
Oct 16, 2026
75b63fe
test(kubeconfig): cover TLS identity and SNI precedence
Oct 17, 2026
195ccc6
docs(kubeconfig): clarify API endpoint and TLS identity overrides
Oct 17, 2026
e7de81b
fix(gce): compare firewall rule collections as sets
Apr 27, 2025
250636f
kubeconfig: preserve explicit API server URLs with NLBs
Oct 17, 2026
e32a033
Merge pull request #17377 from justinsb/use_set_type_for_implicit_nor…
Oct 17, 2026
22d67e4
Merge pull request #18869 from hakman/codex/kubeconfig-tls-sni
Oct 17, 2026
ff37e8b
Merge pull request #18870 from hakman/codex/fix-nlb-api-server-override
Oct 17, 2026
b1a215d
kubeconfig: honor update and reconcile connection settings
Oct 17, 2026
0bfc0f3
Merge pull request #18871 from hakman/codex/update-reconcile-connections
Oct 17, 2026
8e6a659
Disable automatic OS updates and bump Ubuntu image in GCE scale tests
Oct 17, 2026
25154d1
Merge pull request #18872 from Jefftree/disable-unattended-upgrades-s…
Oct 17, 2026
44d69a9
chore(networking): bump aws-cni to version 1.23.2
Oct 17, 2026
ce10218
test: hack/update-expected
Oct 17, 2026
7b189d1
chore(deps): bump linodego to version 2.9.0 and update related depend…
Oct 17, 2026
a6f56be
chore(deps): make gomod
Oct 17, 2026
88cb3e2
Merge pull request #18874 from moshevayner/aws-cni-1.23.2
Oct 17, 2026
a572e46
Merge pull request #18876 from moshevayner/linodego-2.9.0
Oct 18, 2026
f3262d5
chore(channels): promote alpha to stable
Oct 18, 2026
3801ecf
Merge pull request #18877 from moshevayner/promote-18804-to-stable
Oct 18, 2026
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.
1 change: 0 additions & 1 deletion .bazelrc

This file was deleted.

1 change: 0 additions & 1 deletion .bazelversion

This file was deleted.

39 changes: 39 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
// For format details, see https://containers.dev
{
"name": "Kops environment from dev container",
// Image to pull when not building from scratch. See .devcontainer/build/devcontainer.json
// and .github/devcontainer-build-and-push.yml for the instructions on how this image is built
"image": "debian:bookworm",
// "image": "registry.k8s.io/build-image/kube-cross:v1.30.0-go1.22.0-bullseye.0",
// Setup the go environment and mount into the dev container at the expected location
"workspaceFolder": "/go/src/k8s.io/kops",
"workspaceMount": "source=${localWorkspaceFolder},target=/go/src/k8s.io/kops,type=bind,consistency=cached",
// Ensure that the host machine has enough resources to build and test Kops
"hostRequirements": {
"cpus": 4
},
// Copy over welcome message and install pyyaml
"onCreateCommand": "bash .devcontainer/setup.sh",
// for Kubernetes testing, suppress extraneous forwarding messages
"otherPortsAttributes": {
"onAutoForward": "silent"
},
"remoteUser": "root",
// Configure tool-specific properties.
// "customizations": {
// },
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],

// Features to add to the dev container. More info: https://containers.dev/features.
"features": {
"ghcr.io/devcontainers/features/docker-in-docker:2": {},
"ghcr.io/devcontainers/features/github-cli:1": {
"installDirectlyFromGitHubRelease": true,
"version": "latest"
},
"ghcr.io/devcontainers/features/go:1": {
"version": "latest"
}
}
}
25 changes: 25 additions & 0 deletions .devcontainer/setup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/usr/bin/env bash

# Copyright 2023 The Kubernetes Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

set -eux

# Copies over welcome message
mkdir -p /usr/local/etc/vscode-dev-containers/
cp .devcontainer/welcome-message.txt /usr/local/etc/vscode-dev-containers/first-run-notice.txt

git remote add upstream https://github.com/kubernetes/kops.git
# Never push to upstream master
git remote set-url --push upstream no_push
20 changes: 20 additions & 0 deletions .devcontainer/welcome-message.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
👋 Welcome to Kops contribution in a dev container!
Works in GitHub Codespaces, VS Code, or in docker using the devcontainer cli

See https://kops.sigs.k8s.io/contributing/ for guidance on contributing to Kops

This debian dev container image satisfies https://github.com/kubernetes/community/blob/master/contributors/devel/development.md and includes:
- kubernetes/kubernetes repository
- Docker
- go
- kubectl, etcd, kubetest2, and kind
For details about dev containers and the debian dev container base image see https://containers.dev and https://github.com/devcontainers/images/tree/main/src/base-debian.
The configuration for the dev container is in the .github/.devcontainer folder. (will be moved to prow)
🎵 By default in Codespaces this environment uses a 4-core machine. Some tests may require a larger machine. In Codespaces you can change the machine type.
See https://docs.github.com/en/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace

⚙️ If you are working in Codespaces on your own fork, this environment is automatically configured to support the GitHub
workflow https://www.kubernetes.dev/docs/guide/github-workflow/ (omit the clone step)
↪️ Otherwise Codespaces will automatically fork the repository for you when you make your first push

🔍 To explore VS Code to its fullest, search using the Command Palette (Cmd/Ctrl + Shift + P or F1).
1 change: 0 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
*
!.build
!protokube
5 changes: 2 additions & 3 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
**/zz_generated.*.go linguist-generated=true
BUILD.bazel linguist-generated=true

/clusterapi/config/crds/** linguist-generated=true
/docs/cli/** linguist-generated=true
/protokube/pkg/gossip/mesh/mesh.pb.go linguist-generated=true
/protokube/pkg/gossip/mesh/mesh.proto linguist-generated=true
/vendor/** linguist-generated=true
9 changes: 9 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
day: "sunday"
labels:
- "ok-to-test"
19 changes: 19 additions & 0 deletions .github/workflows/depsreview.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: 'Review Dependencies'

on:
pull_request:
paths:
- 'go.mod'

permissions:
contents: read

jobs:
dependency-review:
if: ${{ github.repository == 'kubernetes/kops' }}
runs-on: ubuntu-24.04
steps:
- name: 'Checkout Repository'
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
- name: 'Review Dependencies'
uses: actions/dependency-review-action@a1d282b36b6f3519aa1f3fc636f609c47dddb294
91 changes: 91 additions & 0 deletions .github/workflows/e2e.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
---
name: e2e

'on':
- push
- pull_request

env:
GOPROXY: https://proxy.golang.org
GOPATH: ${{ github.workspace }}/go

permissions:
contents: read

jobs:
tests-e2e-scenarios-bare-metal:
runs-on: ubuntu-24.04
timeout-minutes: 70
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
with:
path: ${{ env.GOPATH }}/src/k8s.io/kops
fetch-depth: 3

- name: Set up go
uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e
with:
go-version-file: '${{ env.GOPATH }}/src/k8s.io/kops/go.mod'

- name: dev/tasks/free-disk-space-on-github-actions-runner
working-directory: ${{ env.GOPATH }}/src/k8s.io/kops
run: |
dev/tasks/free-disk-space-on-github-actions-runner

- name: tests/e2e/scenarios/bare-metal/run-test
working-directory: ${{ env.GOPATH }}/src/k8s.io/kops
run: |
CHANGED_VERSION=$(git diff --name-only HEAD~2 | grep -E '^kops-version\.go$' || true)
if [ -z "${CHANGED_VERSION}" ]
then
timeout 60m tests/e2e/scenarios/bare-metal/run-test
else
echo "kops-version.go has been modified, skipping test"
fi
env:
ARTIFACTS: /tmp/artifacts

- name: Archive production artifacts
if: always()
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9
with:
name: tests-e2e-scenarios-bare-metal
path: /tmp/artifacts/

tests-e2e-scenarios-bare-metal-ipv6:
runs-on: ubuntu-24.04
timeout-minutes: 70
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
with:
path: ${{ env.GOPATH }}/src/k8s.io/kops
fetch-depth: 3

- name: Set up go
uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e
with:
go-version-file: '${{ env.GOPATH }}/src/k8s.io/kops/go.mod'

- name: dev/tasks/free-disk-space-on-github-actions-runner
working-directory: ${{ env.GOPATH }}/src/k8s.io/kops
run: |
dev/tasks/free-disk-space-on-github-actions-runner

- name: tests/e2e/scenarios/bare-metal/run-test
working-directory: ${{ env.GOPATH }}/src/k8s.io/kops
run: |
CHANGED_VERSION=$(git diff --name-only HEAD~2 | grep -E '^kops-version\.go$' || true)
if [ -z "${CHANGED_VERSION}" ]
then
timeout 60m tests/e2e/scenarios/bare-metal/scenario-ipv6
else
echo "kops-version.go has been modified, skipping test"
fi
env:
ARTIFACTS: /tmp/artifacts
- name: Archive production artifacts
if: always()
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9
with:
name: tests-e2e-scenarios-bare-metal-ipv6
path: /tmp/artifacts/
99 changes: 61 additions & 38 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -1,77 +1,100 @@
---
name: CI

'on':
"on":
- push
- pull_request

env:
GOPROXY: https://proxy.golang.org
GOPATH: ${{ github.workspace }}/go

permissions:
contents: read

jobs:
build-linux-amd64:
runs-on: ubuntu-20.04
build-linux:
strategy:
matrix:
os:
- name: Linux-amd64
runs-on: ubuntu-24.04
arch: amd64
- name: Linux-arm64
runs-on: ubuntu-24.04-arm
arch: arm64
name: build-linux-${{ matrix.os.arch }}
runs-on: ${{ matrix.os.runs-on }}
steps:
- name: Set up go
uses: actions/setup-go@v2
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
with:
go-version: 1.17.2
path: ${{ env.GOPATH }}/src/k8s.io/kops

- uses: actions/checkout@v2
- name: Set up go
uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e
with:
path: ${{ env.GOPATH }}/src/k8s.io/kops
go-version-file: "${{ env.GOPATH }}/src/k8s.io/kops/go.mod"

- name: make all examples test
working-directory: ${{ env.GOPATH }}/src/k8s.io/kops
run: |
make all examples test

build-macos-amd64:
runs-on: macos-10.15
runs-on: macos-latest
steps:
- name: Set up go
uses: actions/setup-go@v2
with:
go-version: 1.17.2
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
with:
path: ${{ env.GOPATH }}/src/k8s.io/kops

- uses: actions/checkout@v2
with:
path: ${{ env.GOPATH }}/src/k8s.io/kops
- name: Set up go
uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e
with:
go-version-file: "${{ env.GOPATH }}/src/k8s.io/kops/go.mod"

- name: make kops examples test
working-directory: ${{ env.GOPATH }}/src/k8s.io/kops
run: |
make kops examples test
- name: make kops examples test
working-directory: ${{ env.GOPATH }}/src/k8s.io/kops
run: |
make kops examples test

build-windows-amd64:
runs-on: windows-2019
runs-on: windows-2022
steps:
- name: Set up go
uses: actions/setup-go@v2
with:
go-version: 1.17.2
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
with:
path: ${{ env.GOPATH }}/src/k8s.io/kops

- uses: actions/checkout@v2
with:
path: ${{ env.GOPATH }}/src/k8s.io/kops
- name: Set up go
uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e
with:
go-version-file: "${{ env.GOPATH }}/src/k8s.io/kops/go.mod"

- name: make kops examples test
working-directory: ${{ env.GOPATH }}/src/k8s.io/kops
run: |
make kops examples test-windows
- name: make kops examples test
working-directory: ${{ env.GOPATH }}/src/k8s.io/kops
run: |
make kops examples test-windows

verify:
runs-on: ubuntu-20.04
strategy:
matrix:
os:
- name: Linux-amd64
runs-on: ubuntu-24.04
arch: amd64
- name: Linux-arm64
runs-on: ubuntu-24.04-arm
arch: arm64
name: verify-${{ matrix.os.arch }}
runs-on: ${{ matrix.os.runs-on }}
steps:
- name: Set up go
uses: actions/setup-go@v2
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
with:
go-version: 1.17.2
path: ${{ env.GOPATH }}/src/k8s.io/kops

- uses: actions/checkout@v2
- name: Set up go
uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e
with:
path: ${{ env.GOPATH }}/src/k8s.io/kops
go-version-file: "${{ env.GOPATH }}/src/k8s.io/kops/go.mod"

- name: make quick-ci
working-directory: ${{ env.GOPATH }}/src/k8s.io/kops
Expand Down
23 changes: 23 additions & 0 deletions .github/workflows/tag-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: 'Tag Release'

on:
push:
branches:
- master
- 'release-*'
paths:
- kops-version.go

jobs:
tag-release:
if: ${{ github.repository == 'kubernetes/kops' }}
runs-on: ubuntu-24.04

permissions:
contents: write

steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
- run: /usr/bin/git config --global user.email actions@github.com
- run: /usr/bin/git config --global user.name 'GitHub Actions Release Tagger'
- run: hack/tag-release.sh
Loading