@@ -437,6 +437,25 @@ def get_latest_version_of_helm() -> Optional[str]:
437
437
return None
438
438
439
439
440
+ def query_arch_from_uname (arch : str ) -> Optional [str ]:
441
+ if arch .startswith ("armv5" ):
442
+ return "armv5"
443
+ elif arch .startswith ("armv6" ):
444
+ return "armv6"
445
+ elif arch .startswith ("armv7" ):
446
+ return "arm"
447
+ elif arch == "aarch64" :
448
+ return "arm64"
449
+ elif arch == "x86" :
450
+ return "386"
451
+ elif arch == "x86_64" :
452
+ return "amd64"
453
+ elif arch == "i686" or arch == "i386" :
454
+ return "386"
455
+ else :
456
+ return None
457
+
458
+
440
459
def write_blessed_checksum (helm_filename : str , dest_path : str ):
441
460
checksum = next (
442
461
(b ["checksum" ] for b in HELM_BLESSED_NAME_AND_CHECKSUMS if b ["name" ] == helm_filename ), None
@@ -488,21 +507,9 @@ def install_helm_rootlessly_to_venv():
488
507
)
489
508
sys .exit (1 )
490
509
491
- arch = os .uname ().machine
492
- arch_map = {
493
- "x86_64" : "amd64" , # Maps 'x86_64' to 'amd64'
494
- "i686" : "i386" , # Maps 'i686' to 'i386'
495
- "i386" : "i386" , # Maps 'i386' to 'i386'
496
- "aarch64" : "arm64" , # Maps 'aarch64' (common on newer ARM) to 'arm64'
497
- "armv7l" : "arm" , # Maps 'armv7l' to 'arm' (32-bit ARM)
498
- "armv6l" : "arm" , # Maps 'armv6l' to 'arm' (32-bit ARM)
499
- "ppc64le" : "ppc64le" , # PowerPC Little Endian
500
- "s390x" : "s390x" , # IBM s390x architecture
501
- "riscv64" : "riscv64" , # RISC-V 64-bit
502
- }
503
- if arch in arch_map :
504
- arch = arch_map [arch ]
505
- else :
510
+ uname_arch = os .uname ().machine
511
+ arch = query_arch_from_uname (uname_arch )
512
+ if not arch :
506
513
click .secho (f"No Helm binary candidate for arch: { arch } " , fg = "red" )
507
514
sys .exit (1 )
508
515
0 commit comments