Skip to content

Commit

Permalink
Add Hook ISO image to eksa bundles
Browse files Browse the repository at this point in the history
Signed-off-by: Rahul Ganesh <[email protected]>
  • Loading branch information
Rahul Ganesh authored and eks-distro-pr-bot committed Jan 28, 2025
1 parent 0ac372d commit 9739a0c
Show file tree
Hide file tree
Showing 11 changed files with 350 additions and 5 deletions.
89 changes: 88 additions & 1 deletion config/crd/bases/anywhere.eks.amazonaws.com_bundles.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2582,6 +2582,92 @@ spec:
- amd
- arm
type: object
iso:
description: HookArch defines the Tinkerbell hook
architecture-specific artifacts.
properties:
amd:
description: Archive represents an archive asset
(e.g. tarball) along with its OS/architecture
metadata, and checksums for file integrity.
properties:
arch:
description: Architectures of the asset
items:
type: string
type: array
description:
type: string
name:
description: The asset name
type: string
os:
description: Operating system of the asset
enum:
- linux
- darwin
- windows
type: string
osName:
description: Name of the OS like ubuntu,
bottlerocket
type: string
sha256:
description: The sha256 of the asset, only
applies for 'file' store
type: string
sha512:
description: The sha512 of the asset, only
applies for 'file' store
type: string
uri:
description: The URI where the asset is
located
type: string
type: object
arm:
description: Archive represents an archive asset
(e.g. tarball) along with its OS/architecture
metadata, and checksums for file integrity.
properties:
arch:
description: Architectures of the asset
items:
type: string
type: array
description:
type: string
name:
description: The asset name
type: string
os:
description: Operating system of the asset
enum:
- linux
- darwin
- windows
type: string
osName:
description: Name of the OS like ubuntu,
bottlerocket
type: string
sha256:
description: The sha256 of the asset, only
applies for 'file' store
type: string
sha512:
description: The sha512 of the asset, only
applies for 'file' store
type: string
uri:
description: The URI where the asset is
located
type: string
type: object
required:
- amd
- arm
type: object
kernel:
properties:
arch:
Expand Down Expand Up @@ -2695,6 +2781,7 @@ spec:
- bootkit
- docker
- initramfs
- iso
- kernel
- vmlinuz
type: object
Expand Down Expand Up @@ -3314,4 +3401,4 @@ status:
kind: ""
plural: ""
conditions: []
storedVersions: []
storedVersions: []
81 changes: 80 additions & 1 deletion config/manifest/eksa-components.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2751,6 +2751,84 @@ spec:
- amd
- arm
type: object
iso:
properties:
amd:
properties:
arch:
description: Architectures of the asset
items:
type: string
type: array
description:
type: string
name:
description: The asset name
type: string
os:
description: Operating system of the asset
enum:
- linux
- darwin
- windows
type: string
osName:
description: Name of the OS like ubuntu,
bottlerocket
type: string
sha256:
description: The sha256 of the asset, only
applies for 'file' store
type: string
sha512:
description: The sha512 of the asset, only
applies for 'file' store
type: string
uri:
description: The URI where the asset is
located
type: string
type: object
arm:
properties:
arch:
description: Architectures of the asset
items:
type: string
type: array
description:
type: string
name:
description: The asset name
type: string
os:
description: Operating system of the asset
enum:
- linux
- darwin
- windows
type: string
osName:
description: Name of the OS like ubuntu,
bottlerocket
type: string
sha256:
description: The sha256 of the asset, only
applies for 'file' store
type: string
sha512:
description: The sha512 of the asset, only
applies for 'file' store
type: string
uri:
description: The URI where the asset is
located
type: string
type: object
required:
- amd
- arm
type: object
kernel:
properties:
arch:
Expand Down Expand Up @@ -2864,6 +2942,7 @@ spec:
- bootkit
- docker
- initramfs
- iso
- kernel
- vmlinuz
type: object
Expand Down Expand Up @@ -8900,4 +8979,4 @@ webhooks:
- UPDATE
resources:
- vspheremachineconfigs
sideEffects: None
sideEffects: None
5 changes: 5 additions & 0 deletions pkg/providers/tinkerbell/stack/stack_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,11 @@ func getTinkBundle() releasev1alpha1.TinkerbellBundle {
URI: "https://anywhere-assests.eks.amazonaws.com/tinkerbell/hook/initramfs-x86-64",
},
},
ISO: releasev1alpha1.HookArch{
Amd: releasev1alpha1.Archive{
URI: "https://anywhere-assests.eks.amazonaws.com/tinkerbell/hook/hook-x86_64-efi-initrd.iso",
},
},
},
Rufio: releasev1alpha1.Image{
URI: "public.ecr.aws/eks-anywhere/rufio:latest",
Expand Down
1 change: 1 addition & 0 deletions release/api/v1alpha1/bundle_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -342,6 +342,7 @@ type HookBundle struct {
Kernel Image `json:"kernel"`
Initramfs HookArch `json:"initramfs"`
Vmlinuz HookArch `json:"vmlinuz"`
ISO HookArch `json:"iso"`
}

// HookArch defines the Tinkerbell hook architecture-specific artifacts.
Expand Down
1 change: 1 addition & 0 deletions release/api/v1alpha1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 11 additions & 0 deletions release/cli/pkg/assets/config/bundle_release.go
Original file line number Diff line number Diff line change
Expand Up @@ -564,6 +564,17 @@ var bundleReleaseAssetsConfigMap = []assettypes.AssetConfig{
Format: "kernel",
ArchiveS3PathGetter: archives.KernelArtifactPathGetter,
},
{
Name: "hook-aarch64-efi-initrd.iso",
Format: "iso",
ArchitectureOverride: "arm64",
ArchiveS3PathGetter: archives.KernelArtifactPathGetter,
},
{
Name: "hook-x86_64-efi-initrd.iso",
Format: "iso",
ArchiveS3PathGetter: archives.KernelArtifactPathGetter,
},
{
Name: "vmlinuz-aarch64",
Format: "kernel",
Expand Down
4 changes: 4 additions & 0 deletions release/cli/pkg/bundles/tinkerbell.go
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,10 @@ func GetTinkerbellBundle(r *releasetypes.ReleaseConfig, imageDigests releasetype
Arm: bundleArchiveArtifacts["initramfs-aarch64"],
Amd: bundleArchiveArtifacts["initramfs-x86_64"],
},
ISO: anywherev1alpha1.HookArch{
Arm: bundleArchiveArtifacts["hook-aarch64-efi-initrd.iso"],
Amd: bundleArchiveArtifacts["hook-x86_64-efi-initrd.iso"],
},
Vmlinuz: anywherev1alpha1.HookArch{
Arm: bundleArchiveArtifacts["vmlinuz-aarch64"],
Amd: bundleArchiveArtifacts["vmlinuz-x86_64"],
Expand Down
Loading

0 comments on commit 9739a0c

Please sign in to comment.