build-variant-from-local-kits

Construir uma variante usando kits publicados localmente para validação de desenvolvimento

O que é build-variant-from-local-kits?

Este skill permite construir uma imagem completa da variante Bottlerocket a partir de kits publicados em um registro de desenvolvimento local, facilitando testes completos antes da publicação em registros de produção. Ele é útil para desenvolvedores que precisam validar alterações em kits de forma integrada, gerando imagens inicializáveis para testes locais. Suporta plataformas como Bottlerocket e ferramentas como Twoliter e Cargo Make, funcionando ao configurar o Twoliter para buscar kits do registro local, atualizar o arquivo de bloqueio e compilar a variante desejada. O processo inclui etapas de configuração, seleção de kits, construção e validação, além de limpeza para restaurar a configuração original.

Funciona com~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 Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Skill: Construir Variante a partir de Kits Locais

Propósito

Construir uma imagem completa de variante Bottlerocket usando kits publicados no registro de desenvolvimento local. Isso permite testes completos de alterações nos kits antes de publicá-los em registros de produção.

Quando Usar

  • Testar alterações em kits em uma construção completa de variante
  • Criar imagens inicializáveis para testes locais
  • Validação completa de modificações nos kits

Pré-requisitos

  • Kits já construídos e publicados no registro local (use o skill build-kit-locally)
  • Registro local em execução
  • Repositório da variante Bottlerocket

Procedimento

1. Configurar para registro local

cd ./bottlerocket
brdev twoliter use-local-deps

Isso cria Twoliter.override apontando para o registro local para buscar os kits.

2. Selecionar quais kits buscar localmente

Edite Twoliter.toml e defina vendor = "local" para os kits que deseja do registro local:

[kit.bottlerocket-core-kit]
vendor = "local"  # Buscar do registro local
version = "2.0.0"

[kit.bottlerocket-kernel-6.1-kit]
# Sem sobrescrita de vendor - usa upstream
version = "2.0.0"

Apenas os kits com vendor = "local" serão buscados do registro local; os demais usam upstream.

3. Atualizar arquivo de bloqueio

./tools/twoliter/twoliter update

4. Construir a variante

cargo make

Para uma variante específica:

cargo make -e BUILDSYS_VARIANT=aws-k8s-1.31

Para uma arquitetura específica:

cargo make -e BUILDSYS_ARCH=aarch64

5. Localizar a imagem construída

ls -lh build/images/*.img

Validação

A construção deve ser concluída com sucesso e produzir um arquivo .img em build/images/.

Limpeza

Ao terminar os testes, restaure a configuração upstream:

brdev twoliter use-upstream-deps

Isso remove Twoliter.override. Lembre-se também de reverter quaisquer alterações de vendor = "local" em Twoliter.toml.

Problemas Comuns

Kit não encontrado no registro:

Error: failed to pull kit

Solução: Verifique se o kit está publicado com brdev registry list

Incompatibilidade de versão: Solução: Certifique-se de que a versão em Twoliter.toml corresponde à versão publicada do kit

Arquivo de bloqueio dessincronizado: Solução: Execute ./tools/twoliter/twoliter update novamente

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

Habilidades Relacionadas