build-variant-from-local-kits

Build a Bottlerocket variant image from locally published kits.

5|12|Updated Nov 24, 2025
One-click install
npx skills add https://github.com/cbgbt/bottlerocket-forest --skill build-variant-from-local-kits
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: build-variant-from-local-kits
Source: https://github.com/cbgbt/bottlerocket-forest/tree/main/skills/build-variant-from-local-kits
Command: npx skills add https://github.com/cbgbt/bottlerocket-forest --skill build-variant-from-local-kits

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill enables end-to-end validation by building a Bottlerocket variant image from kits published to a local development registry, reducing reliance on upstream kits for testing.

Core Features & Use Cases

  • Build a complete Bottlerocket variant locally using kits published to the local registry.
  • Configure local registry overrides (Twoliter) and select which kits come from local sources.
  • Validate kit changes end-to-end by producing bootable images for local testing before upstream publication.

Quick Start

Use this skill to build a Bottlerocket variant from local kits, following these steps:

  1. cd bottlerocket
  2. brdev twoliter use-local-deps
  3. Edit Twoliter.toml and set vendor = "local" for the desired kits
  4. ./tools/twoliter/twoliter update
  5. cargo make
  6. cargo make -e BUILDSYS_VARIANT=aws-k8s-1.31
  7. cargo make -e BUILDSYS_ARCH=aarch64
  8. ls -lh build/images/*.img

Frequently Asked Questions about build-variant-from-local-kits

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build a Bottlerocket variant image from local kits?

To build a Bottlerocket variant from local kits, run brdev twoliter use-local-deps, set vendor = "local" in Twoliter.toml, update with twoliter, and then execute cargo make with the desired BUILDSYS_VARIANT and architecture.

What do I need to run before building a Bottlerocket variant locally?

Before building a Bottlerocket variant locally, you need a running local registry, a Bottlerocket variant repository, and a Twoliter setup with vendor overrides configured to use local kits.

Why use local kits instead of upstream kits for Bottlerocket builds?

Using local kits reduces reliance on upstream sources and enables end-to-end validation by producing bootable images for local testing before you publish kit changes upstream.

Can I specify a target architecture when building a Bottlerocket variant?

Yes, you can specify the target architecture by running cargo make with the BUILDSYS_ARCH environment variable, such as setting it to aarch64 to build the variant for that architecture.

Does building a Bottlerocket variant locally require Twoliter and brdev?

Yes, building locally requires both brdev and Twoliter. You use brdev to apply local dependencies and Twoliter to update your configuration before running cargo make to build the variant.

Where do I find the built Bottlerocket image after a local variant build?

After building the Bottlerocket variant locally with cargo make, the resulting bootable image file is located in the build/images directory and can be viewed using the ls -lh command.