Skip to content

feat(images): add 1p-vm-base-gen1-fips image - #18469

Closed
binujp wants to merge 1 commit into
4.0from
bphilip/add-marketplace-gen1-fips
Closed

feat(images): add 1p-vm-base-gen1-fips image#18469
binujp wants to merge 1 commit into
4.0from
bphilip/add-marketplace-gen1-fips

Conversation

@binujp

@binujp binujp commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add the Azure Linux 4.0 1P VM Base Gen1 FIPS BIOS image
  • enable FIPS through the kernel command line and dracut-fips
  • use package-provided cloud-init, chrony/PTP, and Hyper-V configuration
  • remove all KIWI file injections and their loose configuration files
  • use systemd-networkd without netplan or post-install config.sh customization

Testing

  • built with azldev image build 1p-vm-base-gen1-fips --arch x86_64
  • passed azldev image test 1p-vm-base-gen1-fips (9 passed, 7 skipped)

AB#22819

@binujp
binujp requested a review from a team as a code owner August 17, 2026 15:53
Copilot AI balanced review requested due to automatic review settings August 17, 2026 15:53
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

issue(blocking): I have the same concerns here as in the other PR: #18468 (review)

Add the Azure Linux 4.0 1P VM Base Gen1 FIPS (BIOS) image. It matches the Gen1 base image with FIPS enabled through `fips=1` on the kernel command line and the dracut-fips module.

Legacy BIOS boot uses a GPT hybrid (eficsm) disk. The image relies on package-provided cloud-init, chrony/PTP, and Hyper-V configuration, with no KIWI file injection or config.sh post-install customization.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 727c4c35-afde-4eb0-82bf-b307f6550d58
@binujp
binujp force-pushed the bphilip/add-marketplace-gen1-fips branch from 0a27e35 to b92b628 Compare August 17, 2026 20:23
Copilot AI review requested due to automatic review settings August 17, 2026 20:23
@binujp binujp closed this Aug 17, 2026
@binujp
binujp deleted the bphilip/add-marketplace-gen1-fips branch August 17, 2026 20:23
@binujp binujp changed the title feat(images): add marketplace-gen1-fips image feat(images): add 1p-vm-base-gen1-fips image Aug 17, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

Suppressed comments (4)

base/images/1p-vm-base-gen1-fips/1p-vm-base-gen1-fips.kiwi:41

  • Local image builds should use the azl4-dev blob, while the installed azurelinux-repos package controls the runtime PMC-beta source. Every existing KIWI definition follows this split (for example, base/images/vm-base/vm-base.kiwi:83-92), and base/images/images.toml:21-23 documents that Koji overrides the build repository. Pointing the build directly at PMC beta makes local validation consume stale published packages rather than current distro inputs.
        <source path="https://packages.microsoft.com/azurelinux/4.0/beta/base/$basearch" />

base/images/images.toml:100

  • This package-managed image is missing the required canonical/-dev pair documented at base/images/images.toml:5-27; all existing non-distroless images use profiles to select azurelinux-repos versus azurelinux-repos-dev. Add a 1p-vm-base-gen1-fips-dev registry entry and matching KIWI profiles/package sections so development builds do not boot with production repository configuration.
[images.1p-vm-base-gen1-fips]
description = "1P VM Base Gen1 FIPS Image (BIOS)"
definition = { type = "kiwi", path = "1p-vm-base-gen1-fips/1p-vm-base-gen1-fips.kiwi" }

base/images/1p-vm-base-gen1-fips/1p-vm-base-gen1-fips.kiwi:130

  • Remove the unmatched closing parenthesis in this comment.
        <!-- Hyper-V via kernel-modules + hyperv-daemons) -->

base/images/images.toml:103

  • Only offline filesystem checks are registered, so the reported image test cannot verify the two defining runtime behaviors: booting as an Azure Gen1 VM and entering FIPS mode. The comparable vm-base entry registers LISA boot suites (base/images/images.toml:35-42). Add an appropriate boot/runtime suite and a FIPS assertion (for example, checking /proc/sys/crypto/fips_enabled) before relying on this image.
tests.test-suites = [
  { name = "static-image-checks" },
]

filesystem="ext4"
fscreateoptions="-m 1"
kernelcmdline="console=ttyS0 fips=1"
firmware="uefi"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants