Skip to content
Apothem
Recetas prácticas

Variables de entorno del instalador

Controla el instalador por script (destino, origen, entorno, perfil, verificación) con variables de entorno.

Objetivo: controlar install.sh / install.ps1 sin editar el script, estableciendo variables de entorno antes de ejecutarlo.

Requisitos previos

  • Una shell POSIX (bash) o PowerShell 5.1+. Los ejemplos de PowerShell de más abajo ejecutan pwsh (PowerShell 7+). En Windows PowerShell 5.1, ejecuta en su lugar powershell -NoProfile -ExecutionPolicy Bypass -File install.ps1.
  • Las variables se leen una sola vez al principio del instalador, así que establécelas en el mismo comando (o expórtalas antes) y después ejecuta el instalador.

Las variables del instalador

VariableControlaPredeterminado
APOTHEM_HOMEDestino de instalación del árbol de código fuente clonado$HOME/.apothem
APOTHEM_REPORemoto de git que se clonahttps://github.com/ahmed-g-gad/apothem
APOTHEM_REFRef de git de la que se hace checkout; sin definir, resuelve la etiqueta vMAJOR.MINOR.PATCH firmada más reciente, un valor de etiqueta la fija y main selecciona la rama móvil. Una ref que no es una etiqueta, como main, aborta a menos que se defina APOTHEM_ALLOW_UNVERIFIED=1.sin definir (etiqueta firmada más reciente)
APOTHEM_ALLOW_UNVERIFIEDCon el valor 1, degrada un fallo de verificación de la firma de la etiqueta de aborto fatal a advertencia0 (verifica; fail-closed)
APOTHEM_VERIFYsignature verifica la firma GPG de la etiqueta de lanzamiento; checksum instala el archivo comprimido de la plataforma del lanzamiento después de comprobar su SHA-256 con el SHA256SUMS del lanzamiento (integridad, no prueba de quién lo publicó)signature
APOTHEM_RELEASE_BASEBase de descarga para el modo de suma de comprobación<APOTHEM_REPO>/releases/download
APOTHEM_SOURCEÁrbol de código fuente local explícito que se usa en lugar de clonarsin definir (se clona)
APOTHEM_HARNESSEntorno de ámbito de usuario que se instala (antigravity, claude-code, codex, hermes, open-claw, opencode, qwen-code). El instalador no pasa --project, así que un entorno de ámbito de proyecto falla con project.required; instálalos después con apothem install --harness NAME --project PATH.claude-code
APOTHEM_PROFILERuta al YAML del perfil compartido$HOME/.config/apothem/profile.yaml
APOTHEM_SKIP_VERIFYCon el valor 1, omite el paso de verificación posterior a la instalación0 (la verificación se ejecuta)
APOTHEM_AUTO_INSTALL_DEPSCon el valor 1, instala automáticamente y sin preguntar los requisitos previos click / rich que falten0 (pregunta, o rechaza en una tubería no interactiva)
APOTHEM_BIN_DIRDirectorio del shim del comando apothem que se coloca$HOME/.local/bin (POSIX); %LOCALAPPDATA%\Microsoft\WindowsApps (Windows)
NO_COLORCon cualquier valor, desactiva la salida en color (no-color.org); el color también se desactiva siempre que la salida no sea una terminal (una tubería, un archivo, un registro de CI)sin definir (color solo en una terminal interactiva)

APOTHEM_SOURCE tiene prioridad sobre un clon: cuando apunta a un checkout que contiene src/apothem, el instalador lo usa directamente, nunca toca APOTHEM_REPO / APOTHEM_REF y omite la resolución de la etiqueta y la verificación de la firma (no se descarga nada que haya que verificar).

Cuando APOTHEM_HOME apunta a un directorio existente que no es un clon de git, el instalador se niega a eliminarlo: apártalo, apunta APOTHEM_HOME a otro lugar o pasa --yes (-Yes en Windows) para autorizar el reemplazo. Un directorio vacío obsoleto se reemplaza sin la opción.

Modelo de confianza

Sin APOTHEM_REF definido, el instalador resuelve la etiqueta de lanzamiento firmada más reciente y verifica su firma con git verify-tag antes de materializar cualquier configuración; una etiqueta sin firmar o manipulada aborta la instalación. Una etiqueta firmada cuya clave pública del mantenedor falta en el llavero local aborta, en cambio, con indicaciones para importar la clave: importa la clave y comprueba su huella digital con el valor publicado en SECURITY.md. Fija un lanzamiento conocido con APOTHEM_REF=<tag>, tomando la etiqueta de la página de lanzamientos; una etiqueta fijada se verifica del mismo modo. Selecciona la rama móvil con APOTHEM_REF=main más APOTHEM_ALLOW_UNVERIFIED=1; esa instalación no está verificada, y main por sí sola aborta porque una rama no es una etiqueta firmada. Establece APOTHEM_ALLOW_UNVERIFIED=1 por sí sola para continuar pese a un fallo de verificación con una advertencia (uso aislado de la red, local o anterior a los lanzamientos firmados).

Pinned, verified install
APOTHEM_REF=vMAJOR.MINOR.PATCH bash install.sh
Check the archive digest when the signing key is not imported
APOTHEM_VERIFY=checksum bash install.sh
Proceed without verification (interim / air-gapped)
APOTHEM_ALLOW_UNVERIFIED=1 bash install.sh

Pasos (bash POSIX)

  1. Instala un entorno de ámbito de usuario distinto del predeterminado:

    APOTHEM_HARNESS=codex bash install.sh
  2. Fija el destino de instalación y selecciona la rama móvil main. Una rama no es una etiqueta firmada, así que el instalador también necesita APOTHEM_ALLOW_UNVERIFIED=1:

    APOTHEM_REF=main APOTHEM_ALLOW_UNVERIFIED=1 APOTHEM_HOME=/opt/apothem bash install.sh
  3. Usa un checkout local y un perfil personalizado, omitiendo la verificación:

    APOTHEM_SOURCE=/work/apothem \
    APOTHEM_PROFILE=/work/profile.yaml \
    APOTHEM_SKIP_VERIFY=1 \
    bash install.sh

Pasos (PowerShell)

Establece cada variable en $env: antes de ejecutar el instalador:

$env:APOTHEM_HARNESS = 'codex'
pwsh -NoProfile -File install.ps1
$env:APOTHEM_ALLOW_UNVERIFIED = '1'
$env:APOTHEM_REF = 'main'
$env:APOTHEM_HOME = 'C:\opt\apothem'
pwsh -NoProfile -File install.ps1
$env:APOTHEM_SOURCE = 'C:\work\apothem'
$env:APOTHEM_PROFILE = 'C:\work\profile.yaml'
$env:APOTHEM_SKIP_VERIFY = '1'
pwsh -NoProfile -File install.ps1

Verificar

El instalador imprime ✓ Harness <name> installed y después (a menos que APOTHEM_SKIP_VERIFY=1) ✓ verify passed. Confírmalo de forma independiente:

apothem verify --harness codex

Para un entorno de ámbito de proyecto como Cursor, ejecuta tú mismo la instalación y la verificación después del instalador, con --project:

apothem install --harness cursor --project /path/to/project
apothem verify --harness cursor --project /path/to/project

Cuando el perfil todavía no existía, el instalador crea uno a partir del ejemplo y continúa hasta instalar y verificar en la misma ejecución. Los campos de identidad del ejemplo son marcadores de posición, por lo que la instalación imprime un aviso; edita $APOTHEM_PROFILE y después ejecuta apothem update --harness <name> para aplicar tu identidad. Un --dry-run sin perfil hace la vista previa con el ejemplo en su sitio y no escribe nada.

Relacionado

  • Instalación cubre la instalación por red de un solo paso.
  • Añadir un entorno cubre cómo añadir entornos mediante la CLI después de la primera instalación.

On this page