Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
240 commits
Select commit Hold shift + click to select a range
df15f9f
ci(e2e): add DVP-over-DVP matrix testing with parallel execution
yachmenevas Oct 15, 2025
7c7689c
ci: drop artifacts/binaries from VCS; update .gitignore
yachmenevas Oct 15, 2025
395d32e
ci(e2e): restore workflow, Taskfiles, charts, scripts and docs
yachmenevas Oct 15, 2025
09542e3
dvcr: make templates nil-safe; remove temporary root values.yaml
yachmenevas Oct 15, 2025
3e056d0
ci: format YAML to satisfy prettier; drop temporary values.yaml
yachmenevas Oct 15, 2025
8d97988
revert(templates/dvcr): drop E2E-related edits; keep tests via Module…
yachmenevas Oct 15, 2025
46d40ec
ci(e2e): remove secrets usage in if; check webhook in step script
yachmenevas Oct 15, 2025
8dc2a87
ci(e2e): write kubeconfig via printf to avoid heredoc EOF issues
yachmenevas Oct 15, 2025
873905d
ci(e2e): resolve merge with main; keep full E2E workflow
yachmenevas Oct 15, 2025
bfa9e9e
ci(e2e): fix duplicate workflow_dispatch; prettier passes
yachmenevas Oct 15, 2025
24a2a0e
ci(e2e): use env.E2E_K8S_URL in kubeconfig steps; drop report kubecon…
yachmenevas Oct 15, 2025
12a1a5c
ci(e2e): build e2e-runner wrapper via Taskfile (tests/e2e task run:ci)
yachmenevas Oct 15, 2025
739c81e
ci(e2e): run tests via tests/e2e Taskfile (run:ci) with TIMEOUT
yachmenevas Oct 15, 2025
39d19e5
ci(e2e): pass TEST_TIMEOUT and E2E_PREFIX to tests/e2e Taskfile run
yachmenevas Oct 15, 2025
bfe5d25
ci(e2e): pass TIMEOUT (not TEST_TIMEOUT) to tests/e2e Taskfile
yachmenevas Oct 15, 2025
007c90e
ci(e2e): write kubeconfig token without base64 decoding to avoid UTF-…
yachmenevas Oct 15, 2025
71d6e8c
ci(e2e): quote token in kubeconfig; set LABELS/FOCUS_JSON defaults fo…
yachmenevas Oct 15, 2025
348c7cd
ci(e2e): read JWT from secrets.K8S_CLUSTER_SECRET index 8 (kubeconfig)
yachmenevas Oct 15, 2025
1591401
ci(e2e): use azure/k8s-set-context@v4 for kubeconfig setup
yachmenevas Oct 15, 2025
bd2543e
ci(e2e): remove KUBECONFIG env var to use default ~/.kube/config
yachmenevas Oct 15, 2025
c7f3c59
ci(e2e): implement complete artifact collection and Loop reporting pi…
yachmenevas Oct 16, 2025
5a3733a
feat(ci): replace simple E2E tests with full DVP-over-DVP bootstrap
yachmenevas Oct 16, 2025
66f2bad
fix(ci): enable cancel-in-progress for concurrency
yachmenevas Oct 16, 2025
7a3aa6f
ci(e2e): restore ci/dvp-e2e/Taskfile.vm.yaml (VM helper tasks)
yachmenevas Oct 16, 2025
ca1d101
ci(e2e): use existing kubeconfig from GA; skip ingress/RBAC during en…
yachmenevas Oct 16, 2025
f4baf76
ci(e2e): simplify kubeconfig provisioning; use E2E_NESTED_SA_SECRET o…
yachmenevas Oct 16, 2025
c2a95ba
ci(e2e): tidy headings and finalize simplified flow (no validate, doc…
yachmenevas Oct 16, 2025
07460c0
ci(e2e): pass registryDockerCfg via YAML overlay and use it in nested…
yachmenevas Oct 16, 2025
02afa95
ci(e2e): ensure REGISTRY_DOCKER_CFG overlay is present and non-empty
yachmenevas Oct 16, 2025
20a104e
ci(e2e): merge REGISTRY_DOCKER_CFG into base values via yq; pass as V…
yachmenevas Oct 16, 2025
06066eb
ci(e2e): inject REGISTRY_DOCKER_CFG into generated values for InitCon…
yachmenevas Oct 16, 2025
8b5a2ae
ci(e2e): map SCs per profile (sds→linstor-thin-r2; cephrbd→ceph) for …
yachmenevas Oct 16, 2025
f282f21
ci(e2e): fix registry auth and SC mapping in matrix workflow
yachmenevas Oct 16, 2025
5de0213
ci(e2e): configure registry auth via REGISTRY_DOCKER_CFG in matrix
yachmenevas Oct 16, 2025
fca74e0
ci(e2e): wait for base VirtualImage Ready to prevent bootstrap hangs
yachmenevas Oct 16, 2025
3ee8367
ci(e2e): propagate TARGET_STORAGE_CLASS to infra; wait VirtualImage R…
yachmenevas Oct 16, 2025
ebf44aa
revert: rollback recent infra SC and bootstrap waits to previous state
yachmenevas Oct 16, 2025
f83ee78
ci(e2e): ensure default StorageClass per profile before E2E run
yachmenevas Oct 16, 2025
de7a65b
ci(e2e): set infra storageClass from TARGET_STORAGE_CLASS to avoid pa…
yachmenevas Oct 16, 2025
581f6f6
ci(e2e): remove parent default SC step; rely on explicit infra storag…
yachmenevas Oct 16, 2025
27f61a4
ci(e2e): cleanup uses privileged SA context; remove kubeconfig copy a…
yachmenevas Oct 16, 2025
2d7d250
ci(e2e): correct SDS image/snapshot SC mapping (IMG_SC=linstor-thin-r…
yachmenevas Oct 16, 2025
e95f9e2
ci(e2e): add -vv --github-output to ginkgo; use dvp-e2e- prefix for R…
yachmenevas Oct 16, 2025
89648d5
ci(e2e): fix doubled namespace issue; cleanup filters dvp-e2e-; rever…
yachmenevas Oct 16, 2025
78265c6
ci(e2e): prune debug/local tasks; keep only CI-needed targets; purge …
yachmenevas Oct 16, 2025
29ceeec
ci(e2e): add JUnit failure summary step and cleanup filter dvp-e2e-ni…
yachmenevas Oct 16, 2025
37e7038
ci(e2e): fix YAML inline python indentation for JUnit summary step
yachmenevas Oct 16, 2025
10c35e2
ci(e2e): switch JUnit summary to python -c to fix YAML parser error
yachmenevas Oct 16, 2025
18694a3
ci(e2e): switch to 'go tool ginkgo' (was go run) for test runner
yachmenevas Oct 16, 2025
18aec45
ci(e2e): avoid YAML parse issues by removing emojis from echo lines
yachmenevas Oct 16, 2025
417d85d
ci(e2e): wait for validating-webhook-handler and retry ModuleConfig a…
yachmenevas Oct 16, 2025
a1ecbb3
ci(e2e): set defaultClusterStorageClass in nested before running tests
yachmenevas Oct 16, 2025
ef22b40
ci(e2e): align SDS IMAGE_STORAGE_CLASS to linstor-thin-r2; use ginkgo…
yachmenevas Oct 16, 2025
790a2db
ci(e2e): align with reference - ModuleConfig version 1, SDS StorageCl…
yachmenevas Oct 17, 2025
071edec
ci(e2e): fix kubeconfig logic - remove SKIP_INGRESS_CHECK, simplify S…
yachmenevas Oct 17, 2025
66c3929
ci(e2e): ensure tools install on cache-hit; bump cache key to v3
yachmenevas Oct 17, 2025
1fcdf72
ci(e2e): force kubectl into ~/.local/bin, ensure d8 in PATH; add deta…
yachmenevas Oct 17, 2025
1e95914
ci(e2e): align nested API warm-up with reference (20s readyz, 10x nod…
yachmenevas Oct 17, 2025
1118285
ci(e2e): align Ceph SC to ceph-pool-r2-csi-rbd-immediate and provisio…
yachmenevas Oct 17, 2025
c159079
refactor(ci): remove unused setup-e2e-tools action and improve E2E wo…
Oct 19, 2025
b130f45
fix(ci): remove extra profiles from profiles.json
Oct 19, 2025
2eea9c4
refactor(ci): simplify cleanup and fix env variable issues
Oct 19, 2025
4ab5c67
fix(ci): improve profile config parsing to avoid env errors
Oct 19, 2025
7c76c8f
fix(ci): use correct ServiceAccount and improve cleanup error handling
Oct 19, 2025
057d72f
ci(e2e): build kubeconfig from E2E_NESTED_SA_SECRET without TOK var; …
Oct 20, 2025
7b3c1ab
ci(e2e): call correct cleanup task (cleanup:cleanup:namespaces)
Oct 20, 2025
8a8b10b
ci(e2e): drop NFS server from infra and tasks; gate NFS config by flag
Oct 20, 2025
e984693
ci(e2e): docker login dev-registry before pulling install image
Oct 20, 2025
e96aada
ci(e2e): use REGISTRY_DOCKER_CFG for registry auth; drop explicit doc…
Oct 20, 2025
854186c
ci(e2e): use deckhouse/modules-actions/setup for registry auth only
Oct 20, 2025
4782c25
ci(e2e): auth via modules-actions; add GHCR login; setup-task with token
Oct 20, 2025
90d4d4e
ci(e2e): add explicit registry pull check before bootstrap
Oct 20, 2025
54d79dc
ci(e2e): replace Taskfile with minimal GH-oriented version; drop unus…
Oct 20, 2025
c93dc39
ci(e2e): fix cleanup task; docker login to DEV_REGISTRY; setup-task i…
Oct 20, 2025
5670ca4
ci(e2e): remove GHCR login, move registry verification after docker l…
Oct 21, 2025
664ba44
ci(e2e): use direct docker login instead of docker/login-action
Oct 21, 2025
53fe4d3
ci(e2e): use CE installer image instead of dev-registry for verification
Oct 21, 2025
f9c6d01
ci(e2e): use CE installer image in dhctl-bootstrap task
Oct 21, 2025
ec69256
ci(e2e): fix cleanup namespaces array init and reorder workflow steps…
Oct 21, 2025
9fbe00a
ci(e2e): fix workflow architecture - add proper SSH key generation an…
Oct 21, 2025
9ebf9a1
ci(e2e): rely on render-infra ssh-gen dependency; remove explicit ssh…
Oct 21, 2025
80468bd
ci(e2e): run values prepare before infra; remove intermediate base va…
Oct 21, 2025
1854ba5
fix(ci): align Taskfile dependencies with backup branch logic
Oct 21, 2025
4568632
fix(ci): add sshPublicKey to cluster-config generation
Oct 21, 2025
059c944
fix(ci): ensure deckhouse.registryDockerCfg is always a string in clu…
Oct 21, 2025
3538e38
fix(ci): remove quote from registryDockerCfg in cluster-config template
Oct 21, 2025
a687aa9
fix(ci): remove registryDockerCfg field from cluster-config template
Oct 21, 2025
b5fb01e
fix(ci): restore registryDockerCfg config and fix cleanup namespaces
Oct 21, 2025
0b41113
fix(ci): use VALUES_TEMPLATE_FILE instead of explicit VALUES_FILE in …
Oct 21, 2025
a83ac96
fix(ci): use run:values:prepare to create proper values.yaml with dyn…
Oct 21, 2025
f68f775
fix(ci): use VALUES_TEMPLATE_FILE consistently and remove undeploy-fi…
Oct 21, 2025
0314920
debug(ci): add debugging info for REGISTRY_DOCKER_CFG secret
Oct 21, 2025
f0d0baf
fix(ci): properly pass REGISTRY_DOCKER_CFG secret to workflow
Oct 21, 2025
2f57b48
fix(ci): pass VALUES_FILE to dhctl-bootstrap task
Oct 21, 2025
5466145
fix(ci): use dynamic namespace consistently across all steps
Oct 21, 2025
d655d1f
cleanup: remove accidentally added submodules and docs
Oct 21, 2025
bd4c386
fix(ci): synchronize registry for CE and fix submodule error
Oct 21, 2025
1c00bcd
fix(ci): remove registryDockerCfg for CE registry
Oct 21, 2025
896ccb1
fix(ci): correct registry configuration for OSS cluster with CE dhctl
Oct 21, 2025
87080e8
fix(ci): disable upmeter module and fix virtualization tag
Oct 21, 2025
7422358
fix(ci): remove duplicate upmeter ModuleConfig
Oct 21, 2025
380542e
fix(ci): consolidate disabled modules and remove submodule
Oct 21, 2025
7b23775
fix(ci): completely remove virtualization-rnd directory
Oct 21, 2025
d4ccaa1
fix(ci): disable checkout caching in GitHub Actions
Oct 21, 2025
39dc7f3
fix(ci): skip checksum verification in Deckhouse CLI installation
Oct 21, 2025
5f49224
fix(ci): restore disabled-modules.yaml and fix duplication
Oct 21, 2025
9398651
fix(ci): restore configuration to match reference version
Oct 21, 2025
6f184bf
fix(ci): switch from CE to OSS registry with new credentials
Oct 22, 2025
d23dc1b
fix(ci): restore token creation logic for nested kubeconfig
Oct 22, 2025
d108102
feat(ci): add SDS module configuration for nested cluster
Oct 22, 2025
40bc0d5
feat(ci): add disk debugging and Ceph cluster configuration
Oct 22, 2025
dc5d511
refactor(ci): remove old Ceph bootstrap approach
Oct 22, 2025
bf39163
fix(ci): optimize Git checkout to resolve cache issues
Oct 22, 2025
16ddbef
fix(ci): install d8 via direct tarball to avoid checksum mismatch
Oct 22, 2025
57857fe
fix(ci): install d8 via installer with checksum disabled
Oct 22, 2025
1ab3a4d
feat(ci): conditionally render Ceph/SDS by storageProfile
Oct 22, 2025
018310a
refactor(ci): move storage CRs post-bootstrap and remove empty templates
Oct 22, 2025
3b86437
fix(ci): move disk debug before storage apply; add retries and --vali…
Oct 22, 2025
bf9d9fa
fix(ci): move disk debug step before storage configuration
Oct 22, 2025
b080244
fix(ci): use d8 v ssh for reliable VM disk debugging with retries
Oct 22, 2025
775e7aa
fix(ci): correct Ceph deviceFilter and add proper operator readiness …
Oct 22, 2025
9239193
fix(ci): make GA YAML valid; move operator-ceph ModuleConfig to file\…
Oct 22, 2025
42783ad
chore(ci): include Loop report scripts; add run link in profile cell\…
Oct 22, 2025
5685940
chore(ci): pass GitHub run URL to Loop matrix summary and link profil…
Oct 22, 2025
7aa9af0
fix(storage): enable SDS modules and wait for CRDs before applying re…
Oct 22, 2025
3fa0a23
fix(ci): resolve YAML syntax error in workflow SDS module config\n\n-…
Oct 22, 2025
54bfd79
fix(storage): use kubectl patch mc global for default StorageClass\n\…
Oct 22, 2025
b72888b
fix(sds): add retry logic and remove version from ModuleConfig\n\n- A…
Oct 22, 2025
7a02184
feat(ci): improve SDS CRD waiting and Ceph operator readiness checks\…
Oct 22, 2025
c2d36c0
fix(storage): correct disk devices and simplify SDS logic
Oct 23, 2025
04c9d13
fix(scripts): fix jq syntax error in get_profile_config.sh
Oct 23, 2025
012f203
fix(taskfile): fix heredoc syntax in infra:attach-worker-disks task
Oct 23, 2025
5db0383
fix(taskfile): avoid 'workers: unbound variable' by safe array build
Oct 23, 2025
57782b6
fix(taskfile): add quotes around SDS_SC_NAME in storageclass check
Oct 23, 2025
47d06b7
fix(ci): enable JUnit XML generation and reporting in E2E matrix work…
Oct 23, 2025
2ab725a
fix(taskfile): correct worker VM selector in infra:attach-worker-disks
Oct 23, 2025
9d6bacb
fix: apply critical storage and disk attachment fixes
Oct 23, 2025
ec262ad
hotfix: fix Taskfile YAML syntax and VirtualDisk API structure
Oct 23, 2025
da72af0
feat: move disk attachment before bootstrap and use base SC
Oct 23, 2025
d0730a0
fix: use VM name selector instead of node-group label for worker dete…
Oct 23, 2025
a9a4403
fix: move disk attachment after bootstrap to ensure VMs exist
Oct 23, 2025
8ed622e
fix(ci): resolve SDS and Ceph storage configuration issues
Oct 23, 2025
2fbd995
fix(ci): add SCSI bus rescan to activate hotplugged storage disks
Oct 23, 2025
9a1b99c
fix(ci): add sudo to SCSI rescan commands to fix permission denied er…
Oct 23, 2025
0e05f87
feat(ci): implement blockDeviceRefs approach for VM disk attachment
Oct 23, 2025
17a74a6
fix(ci): improve blockDeviceRefs task reliability
Oct 23, 2025
58f8e2d
fix(ci): use correct VM selector for worker nodes
Oct 23, 2025
a2fc6e8
fix(ci): add debug info and validation for blockDeviceRefs patch
Oct 23, 2025
a8cbe11
fix(ci): use inline patch instead of file-based patch for blockDevice…
Oct 23, 2025
70280b3
fix(ci): restore correct namespace naming for cleanup
Oct 24, 2025
a964de5
fix(ci): add VM startup verification after blockDeviceRefs modification
Oct 24, 2025
0290deb
revert(ci): switch back to hotplug for disk attachment
Oct 24, 2025
c3b7089
fix(ci): fix E2E test issues with bootstrap and disk attachment
Oct 24, 2025
8860294
fix(ci): remove forbidden dataDisk property from DVPClusterConfiguration
Oct 24, 2025
a8528df
fix: remove nodeGroups from DVPClusterConfiguration
Oct 24, 2025
0941430
docs: add comment to cluster-config template
Oct 24, 2025
8ce81c1
fix(ci): add push trigger to E2E Matrix Tests workflow
Oct 24, 2025
b1278d3
fix(ci): limit push trigger to feat/ci-e2e-matrix branch only
Oct 24, 2025
1cce800
refactor(ci): simplify storage configuration logic
Oct 25, 2025
eac5e61
fix(ci): update storage configuration to use Ceph as default
Oct 25, 2025
7efb344
debug(ci): improve disk attachment debugging and reduce retry time
Oct 25, 2025
39df983
debug(ci): improve PVC waiting logic and add debug environment variable
Oct 26, 2025
85b750a
debug(ci): optimize logging and add fallback for disk attachment
Oct 26, 2025
afc9d59
feat: add ModulePullOverride for Ceph and SDS modules
Oct 27, 2025
c0f6e1d
fix: improve disk attachment fallback logic and use dynamic storage c…
Oct 27, 2025
ba90db9
refactor: simplify disk attachment logic and remove debug env
Oct 27, 2025
3a7c0bb
refactor: compactify jq query formatting in disk attachment logic
Oct 27, 2025
3a24101
revert: use hardcoded ceph storage class for disk attachment
Oct 27, 2025
7da071b
improve: add Deckhouse readiness check and better error handling
Oct 27, 2025
7e0fdaa
feat(ci): add platform queue diagnostics for module deployment debugging
Oct 27, 2025
c4b7e3d
fix(ci): improve queue diagnostics error handling and output
Oct 27, 2025
20dfd70
fix(ci): replace d8 v ssh queue diagnostics with kubectl-based debugging
Oct 27, 2025
795f49f
feat(ci): execute d8 platform queue command via kubectl exec in deckh…
Oct 27, 2025
111ec95
feat(scripts): add automatic d8 CLI installation on master VM for dia…
Oct 27, 2025
9c9741a
feat(ci): install d8 CLI in deckhouse pod before queue diagnostics
Oct 27, 2025
14a7193
fix(ci): install tar and use official d8 CLI installation method
Oct 28, 2025
60eec86
fix(ci): support both Alpine and Ubuntu for d8 CLI installation
Oct 28, 2025
984475b
ci: use runner d8 for nested (e2e-matrix.yml)
Oct 28, 2025
11b98e9
ci: stabilize d8 queue + webhook wait (e2e-matrix.yml)
Oct 28, 2025
d80f451
ci: persist SSH key secret (Taskfile.yaml)
Oct 28, 2025
dc79f9d
scripts: nested diag: auto-fetch SSH key + ssh opts (nested_diag.sh)
Oct 28, 2025
5e90bf2
ci: pin d8 v0.13.2 on runner (e2e-matrix.yml)
Oct 28, 2025
c3e8cc7
scripts: nested_diag.sh: ensure queue-capable d8 inside VM
Oct 28, 2025
c308ea3
scripts: nested_diag.sh: use admin.conf for d8 queue
Oct 28, 2025
2c9b16d
scripts: nested_diag.sh: fallback to kubectl config view for kubeconfig
Oct 28, 2025
9224a3d
scripts: nested_diag.sh: robust kubeconfig for d8 (avoid 127.0.0.1:64…
Oct 28, 2025
ef6089c
ci(e2e-matrix): fix Ceph and storage setup; import GH SSH keys
Oct 28, 2025
4b15333
ci(e2e-matrix): remove accidental embedded repo from index
Oct 28, 2025
4b80b09
ci(e2e-matrix): pin TARGET_STORAGE_CLASS to Ceph immediate SC
Oct 28, 2025
1645074
ci(e2e-matrix): drop accidentally staged embedded repo
Oct 28, 2025
636a267
ci(e2e-matrix): default storage profile to ceph and guard empty matri…
Oct 28, 2025
c2a4328
ci(e2e-matrix): drop accidentally staged embedded repo
Oct 28, 2025
9ee0020
chore(ci): disable virtualization in e2e matrix
Oct 29, 2025
099833d
ci(e2e): Ceph in nested cluster via deckhouse-prod ModuleSource; enab…
Oct 30, 2025
a3c8e6d
ci(e2e): re-enable virtualization in nested cluster
Oct 30, 2025
131189e
ci(e2e): use NFS as initial default SC for nested; add in-cluster NFS…
Oct 31, 2025
7abb0d5
Revert "ci(e2e): use NFS as initial default SC for nested; add in-clu…
Oct 31, 2025
890dead
Configure Ceph to use CephStorageClass instead of direct StorageClass
Nov 1, 2025
d66f17e
Fix sds-replicated-volume configuration
Nov 1, 2025
ebb49ce
Remove redundant StorageClass check for Ceph in nested:storage:configure
Nov 1, 2025
5f6ad87
Fix heredoc syntax error in CephClusterConnection creation
Nov 1, 2025
cd66f64
Fix yamllint issues: remove trailing spaces and fix colon spacing
Nov 1, 2025
89fcdd9
Remove incorrect source: deckhouse-prod from virtualization ModuleConfig
Nov 1, 2025
45cf896
fix(ci): add retry for token creation and fix heredoc syntax in workflow
Nov 1, 2025
655e124
fix(ci): replace heredoc with echo block to fix YAML syntax error
Nov 1, 2025
fac9749
chore(ci): remove nested_diag.sh from matrix branch (unused)
Nov 5, 2025
6607894
ci: tidy e2e matrix workflow
Nov 5, 2025
45e103e
ci: stabilize heredoc in e2e matrix
Nov 5, 2025
f5bdcaf
ci: drop heredocs from e2e matrix
Nov 5, 2025
eeb8c9a
ci: generate manifests with yq in e2e matrix
Nov 6, 2025
78ef047
ci: trim redundant waits in e2e matrix
Nov 6, 2025
a4f514a
ci: wire prod registry and fix sds crd wait
Nov 6, 2025
71bd66b
ci: keep dev registry login for dhctl bootstrap
Nov 6, 2025
662025c
ci: include dev registry in dockercfg
Nov 6, 2025
3bfa399
ci: stabilize nested kubeconfig and sds setup
Nov 6, 2025
c072e51
chore(ci): add ingress publish smoke to nested e2e matrix (ingress-ng…
Nov 6, 2025
0d1b715
ci: harden module apply and nested ssh retries
Nov 6, 2025
930aa11
ci: simplify cleanup workflow
Nov 6, 2025
619b5e4
chore(ci): remove leftover comment from nested e2e matrix flow
Nov 6, 2025
767f5ac
ci: fix sds module heredoc
Nov 6, 2025
a2d40a0
chore(ci): split e2e preparation and test jobs
Nov 7, 2025
313e58c
ci(e2e): fix heredoc EOFs; route Ceph setup via Taskfile and add wait…
Nov 10, 2025
1af34ac
ci: fix YAML by reindenting heredoc EOF markers
Nov 10, 2025
ca6b4a8
ci(e2e): route storage selection via shell case; drop ingress smoke s…
Nov 10, 2025
cf63d5d
ci(e2e): fix SDS ModuleConfig apply to avoid heredoc; generate YAML v…
Nov 10, 2025
5286743
ci(e2e): fix relative paths for ceph manifests; add cwd debug; remove…
Nov 10, 2025
de4bd6d
ci(e2e): stop polling Deckhouse Module states; wait for CRDs/operator…
Nov 10, 2025
ba7f2c5
ci(e2e): deflake SA token retrieval — wait for SA + fallback to token…
Nov 10, 2025
9c65c95
ci(e2e): use parent token from GitHub secret for bootstrap; prefer ku…
Nov 10, 2025
c59e549
ci(e2e): revert kubeconfig token flow to TokenRequest to avoid breaki…
Nov 10, 2025
06d2d51
ci(e2e): ensure ModuleSource for SDS; set ModuleConfig.source=deckhou…
Nov 10, 2025
d972515
ci(sds): fix LVMVolumeGroup apiVersion to storage.deckhouse.io/v1alpha1
Nov 10, 2025
f18c600
ci: trim noisy debug in Ceph task; fix SDS LVMVolumeGroup spec to Loc…
Nov 10, 2025
84743c5
ci(sds): fix LVMVolumeGroup schema (spec.local) and use LVM pool; ci(…
Nov 10, 2025
f7710a7
ci(ceph): wait only for deploy/operator-ceph (drop rook-ceph-operator…
Nov 10, 2025
1d8243b
ci: normalize waits to 50 iterations (was 36/60) and update log counters
Nov 10, 2025
3c9b4f1
ci(sds): fix module source conflict (use Embedded) and yq env var for…
Nov 10, 2025
33a5c37
ci(sds): use deckhouse-prod (io) via REGISTRY_DOCKER_CFG; fix yq env(…
Nov 11, 2025
01ca717
ci(e2e-matrix): use profile SC; drop aliases; fix summary; stable RUN…
Nov 11, 2025
b9ca786
ci(e2e-matrix): keep Ceph SC for bootstrap and worker hotplug as base…
Nov 12, 2025
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
80 changes: 80 additions & 0 deletions .github/actions/setup-e2e-tools/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
name: Setup E2E Tools
description: Install kubectl, helm, d8, task, yq with caching
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need to create your own action to setup kubectl, helm and so on. It already exists. Find it, please


runs:
using: composite
steps:
- name: Cache binaries
uses: actions/cache@v4
id: cache
with:
path: ~/.local/bin
key: e2e-tools-${{ runner.os }}-v3

- name: Ensure tools installed (install if missing or cache empty)
shell: bash
run: |
set -euo pipefail
mkdir -p ~/.local/bin

need_install=false
for bin in helm yq task; do
if ! command -v "$bin" >/dev/null 2>&1; then
echo "missing: $bin"; need_install=true
fi
done
# Always (re)install kubectl into ~/.local/bin to shadow system kubectl
need_install=true
if [ "${need_install}" != "true" ] && [ "${{ steps.cache.outputs.cache-hit }}" = "true" ]; then
echo "All tools present from cache, skipping install."
exit 0
fi

# Install system dependencies
sudo apt-get update
sudo apt-get install -y jq apache2-utils curl bash ca-certificates

# Install kubectl (always to ~/.local/bin)
KUBECTL_VERSION=$(curl -Ls https://dl.k8s.io/release/stable.txt)
curl -fsSL -o kubectl "https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl"
chmod +x kubectl && mv kubectl ~/.local/bin/kubectl

# Install helm
curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
if [ -x /usr/local/bin/helm ]; then mv /usr/local/bin/helm ~/.local/bin/; fi

# Install d8
curl -fsSL -o d8-install.sh https://raw.githubusercontent.com/deckhouse/deckhouse-cli/main/d8-install.sh
bash d8-install.sh || true
if [ -x /usr/local/bin/d8 ]; then cp -f /usr/local/bin/d8 ~/.local/bin/d8; fi

# Install yq
curl -L -o ~/.local/bin/yq https://github.com/mikefarah/yq/releases/download/v4.44.1/yq_linux_amd64
chmod +x ~/.local/bin/yq

# Install task
sh -c "$(curl -fsSL https://taskfile.dev/install.sh)" -- -d -b ~/.local/bin

# Cleanup
rm -f d8-install.sh

- name: Add to PATH
shell: bash
run: |
echo "$HOME/.local/bin" >> $GITHUB_PATH
echo "/usr/local/bin" >> $GITHUB_PATH

- name: Verify installation
shell: bash
run: |
echo "✅ Installed tools:"
which kubectl || true
kubectl version --client=true --output=yaml || kubectl version || true
which helm || true
helm version --short || true
which d8 || true
d8 version || true
which yq || true
yq --version || true
which task || true
task --version || true
Loading
Loading