
cottage v0.7.0
Un moderno gestor de secretos cifrados con age basado en git para equipos.
cottage es una herramienta GitOps para que los equipos gestionen secretos cifrados con age en repositorios git.
Proporciona un flujo de trabajo sencillo para cifrar/descifrar secretos, gestionar destinatarios y mantener los secretos fuera del repositorio, a la vez que permite compartirlos fácilmente a través de VCS. cottage también genera vistas previas censuradas de los secretos cifrados para una mejor visibilidad y admite flujos de trabajo de descifrado tanto persistentes como temporales, garantizando que los secretos nunca se confirmen en texto plano.

- Características
- Instalación
- Integraciones con editores
- Integraciones con agentes de IA
- Inicio rápido
- GitOps
- Git Hooks
- Control de acceso
- Cualquier proveedor como upstream
- Sincronización con cualquier dispositivo
- Más información
- Solución de problemas
- Comparación
Características
- A prueba de exposiciones: Utiliza el sistema de tipos de Rust para asegurar que los errores nunca puedan exponer secretos accidentalmente.
- Amigable para equipos: Comparte claves públicas (destinatarios) en el repositorio, mantén las claves privadas (identidades) en local.
- Control de acceso: Reglas sencillas de permitir/denegar para controlar qué secretos se cifran para qué destinatarios.
- Gestiona .gitignore: Actualiza automáticamente
.gitignorepara mantener los secretos sin cifrar fuera del repositorio. - Vistas previas: Genera vistas previas censuradas con marca de tiempo de los secretos cifrados para una mejor visibilidad.
- Diffs enriquecidos: Mantiene el git diff limpio y revisable, mientras que
ctg diffmuestra el diff de los secretos modificados localmente con sus contrapartes cifradas rastreadas. - Verificación de checksum: Evita manipulaciones verificando que los secretos cifrados y las listas de destinatarios coincidan con los metadatos.
- Git hooks: Configura fácilmente git hooks para comprobar/cifrar secretos automáticamente antes del commit y descifrarlos después del checkout.
- Flujo de trabajo de secretos persistentes:
ctg decrypt/syncmantiene los secretos descifrados en disco. - Ciclo de vida de limpieza inteligente:
ctg run(atajoctgx) yctg editdescifran los secretos antes de la operación, manteniéndolos en disco si ya estaban presentes de antemano o limpiándolos automáticamente después si no lo estaban. - Limpieza al finalizar:
ctg encrypt --clean,ctg run --cleanyctg edit --cleangarantizan que los archivos descifrados se limpien del disco incluso si ya estaban presentes antes. - Flujo de trabajo de inyección de entorno:
ctg envinyecta los secretos descifrados como variables de entorno para ejecutar un comando, sin escribirlos en disco en absoluto. - Tubería segura de secretos:
ctg cat PATHdescifra en memoria e imprime a stdout para canalizar directamente a stdin de otras herramientas. - Limpieza:
ctg cleanelimina todos los secretos descifrados del repositorio local para que puedas ejecutar tus agentes de IA con un poco menos de preocupación. - Compatible con jj y directorios no-git:
ctg initconvierte cualquier directorio en un almacén de secretos. - Sincronización con cualquier proveedor: Te permite configurar cualquier proveedor con una API como upstream, y empezar a usar
ctg pull/diff/pushcomogit pull/diff/push. - Sincronización con cualquier dispositivo: Los secretos cifrados con cottage y gestionados en un repositorio git se pueden sincronizar entre dispositivos con Cottage Sync.
Instalación
# rust: cargo-binstall/cargo
cargo binstall --locked cottage
cargo install --locked cottage
# python: pip/uv/uvx
pip install cottage
uv pip install cottage
uvx --from cottage ctg --version
# node: yarn/pnpm/npx
yarn global add @sayanarijit/cottage
pnpm add -g @sayanarijit/cottage
npx -p @sayanarijit/cottage ctg --version
También disponible como imágenes docker:
# Docker
docker run --rm -v $PWD:/app sayanarijit/cottage --version
# Podman
podman run --rm -v $PWD:/app quay.io/sayanarijit/cottage --version
O descarga la última versión desde GitHub.
Integraciones con editores
Extensión de VS Code
Usa la extensión Cottage para VS Code para instalar ctg, añadir hooks de seguridad de Copilot, cifrar archivos desde el Explorador y abrir archivos .cott.age a través del flujo de trabajo del editor.
Instálala desde el Visual Studio Marketplace, o constrúyela e instálala localmente desde vscode-plugin-cottage.
Extensión de Cursor y Eclipse
Descarga el archivo VSX e instálalo en tu Cursor o Eclipse IDE. Funciona de forma similar a la extensión de VS Code.
Plugin de Vim
Usa el plugin cottage.vim para cifrar/descifrar secretos desde Vim o Neovim.
