CommunityCodierung & Entwicklunggithub.com

Variant aus lokalen Kits erstellen

Baut ein komplettes Bottlerocket-Varianten-Image unter Verwendung lokal veröffentlichter Kits zur Entwicklungsvalidierung.

Was ist Variant aus lokalen Kits erstellen?

Diese Fähigkeit ermöglicht es Entwicklern, ein vollständiges Bottlerocket-Varianten-Image aus lokal veröffentlichten Kits zu erstellen. Es ist nützlich für End-to-End-Tests von Kit-Änderungen, bevor sie in Produktionsregistries veröffentlicht werden. Der Workflow umfasst das Konfigurieren des lokalen Registrierungszugriffs, das Auswählen von Kits mit `vendor = 'local'`, das Aktualisieren der Sperrdatei und das Ausführen des Builds. Das resultierende `.img`-File kann für lokale Tests verwendet werden. Nach Abschluss können Änderungen mit `use-upstream-deps` zurückgesetzt werden.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/cbgbt/bottlerocket-forest/tree/main/skills/build-variant-from-local-kits

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Skill: Variant aus lokalen Kits erstellen

Zweck

Ein komplettes Bottlerocket-Varianten-Image erstellen, das Kits aus der lokalen Entwicklungsregistrierung verwendet. Dies ermöglicht End-to-End-Tests von Kit-Änderungen, bevor sie in Produktionsregistries veröffentlicht werden.

Wann verwenden

  • Testen von Kit-Änderungen in einem vollständigen Varianten-Build
  • Erstellen bootfähiger Images für lokale Tests
  • End-to-End-Validierung von Kit-Modifikationen

Voraussetzungen

  • Kits wurden bereits erstellt und in der lokalen Registrierung veröffentlicht (Fähigkeit build-kit-locally verwenden)
  • Lokale Registrierung läuft
  • Bottlerocket-Varianten-Repository

Vorgehen

1. Für lokale Registrierung konfigurieren

cd ./bottlerocket
brdev twoliter use-local-deps

Dadurch wird Twoliter.override erstellt, das auf die lokale Registrierung verweist, um Kits abzurufen.

2. Auswählen, welche Kits lokal bezogen werden sollen

Twoliter.toml bearbeiten und vendor = "local" für die Kits setzen, die aus der lokalen Registrierung bezogen werden sollen:

[kit.bottlerocket-core-kit]
vendor = "local"  # Aus lokaler Registrierung beziehen
version = "2.0.0"

[kit.bottlerocket-kernel-6.1-kit]
# Kein Vendor-Override - verwendet Upstream
version = "2.0.0"

Nur Kits mit vendor = "local" werden aus der lokalen Registrierung bezogen; andere verwenden Upstream.

3. Sperrdatei aktualisieren

./tools/twoliter/twoliter update

4. Variante bauen

cargo make

Für eine bestimmte Variante:

cargo make -e BUILDSYS_VARIANT=aws-k8s-1.31

Für eine bestimmte Architektur:

cargo make -e BUILDSYS_ARCH=aarch64

5. Das erstellte Image finden

ls -lh build/images/*.img

Validierung

Der Build sollte erfolgreich abgeschlossen werden und eine .img-Datei in build/images/ erzeugen.

Bereinigung

Nach Abschluss der Tests die Upstream-Konfiguration wiederherstellen:

brdev twoliter use-upstream-deps

Dies entfernt Twoliter.override. Denken Sie daran, auch alle vendor = "local"-Änderungen in Twoliter.toml rückgängig zu machen.

Häufige Probleme

Kit nicht in Registrierung gefunden:

Error: failed to pull kit

Lösung: Überprüfen Sie, ob das Kit mit brdev registry list veröffentlicht wurde

Versionskonflikt: Lösung: Stellen Sie sicher, dass die Version in Twoliter.toml mit der veröffentlichten Kit-Version übereinstimmt

Sperrdatei nicht synchron: Lösung: Führen Sie ./tools/twoliter/twoliter update erneut aus

Individual skills in this repo

This repo contains 19 individual skills — each has its own dedicated page.

ad-hoc-implementation-plan

Transform a rough plan into implement-commit ready artifacts. Allows rigorous review while implementing.

build-kit-locally

Build a kit and publish it to a locally hosted registry for development testing

deep-research

Create educational documents that build understanding progressively with citations

edit-spec-file

Edit Bottlerocket RPM spec files following project style conventions

fact-find

Quick lookup of specific facts about Bottlerocket with citations

idea-honing

Clarify feature ideas through iterative Q&A, recording insights to guide concept development

implement-commit

Implement commits from an implementation plan using a TDD pipeline

local-registry

Start and manage a local OCI registry for Bottlerocket kit development

prepare-core-kit-release

Prepare bottlerocket-core-kit for release by bumping version and updating changelog

propose-feature-concept

Create a new feature concept document to pitch the idea and explain the problem/solution

propose-feature-design

Create or update feature technical design document with architecture and implementation guidance

propose-feature-requirements

Create or update feature requirements specification using EARS notation with examples and appendices

propose-feature-test-plan

Create a test plan mapping EARS requirements and Critical Constraints to specific tests

propose-implementation-plan

Create an implementation plan with atomic commits that build toward a complete feature

review-code

Deep code review generating PR comments via principled question-driven analysis

review-scope

Verify code changes match intended scope and requirements without exceeding boundaries

review-style

Verify code follows project style guides without providing improvement suggestions

test-local-twoliter

Build and test local changes to twoliter before releasing

update-twoliter

Update all Bottlerocket repositories to a new Twoliter version

Verwandte Skills