nobalmako-cli
v1.0.2
Published
Nobalmako is a full-stack MVP designed to help developers and teams securely store, manage, and share secrets. It features end-to-end encryption for sensitive values and robust role-based access control.
Readme
Nobalmako - Secure Environment Variable Manager
Nobalmako is a full-stack MVP designed to help developers and teams securely store, manage, and share secrets. It features end-to-end encryption for sensitive values and robust role-based access control.
Features
- End-to-End Security: All environment variable values are encrypted using AES-256-CBC before storage.
- Projects & Environments: Organize secrets by project and categorize them into
development,staging, orproduction. - Role-Based Access Control (RBAC):
Owner: Full control over the project and members.Admin: Manage members and secrets.Developer: View and manage secrets.Viewer: Read-only access to secrets.
- Audit Logs: Track every action performed on your secrets for compliance and security.
- API Keys: Secure programmatic access for CI/CD and CLI integrations.
- Variable History: View and compare previous versions of any secret.
Nobalmako CLI
Manage your secrets directly from your terminal or CI/CD pipeline.
Installation
Install the CLI globally from NPM:
npm install -g nobalmako-cliAlternatively, run without installing using npx:
npx nobalmako-cli --helpUsage
Local Authentication: Authenticate your CLI once and it will remember your session: `bash nobalmako login --email [email protected] --password "your_password" `
Alternatively, use an API Token for CI/CD: `bash export NOBALMAKO_TOKEN="nm_your_api_key_here" `
Pull Secrets: `bash nobalmako pull -p "Project Name" -e "production" -f ".env" `
Push Secrets: `bash nobalmako push -p "Project Name" -e "staging" -f ".env" `
Tech Stack
- Frontend: Next.js 15, React, Tailwind CSS, Lucide Icons, Radix UI.
- Backend: Node.js, Express (custom server), Next.js API Routes.
- Database: PostgreSQL (using Drizzle ORM).
- Authentication: JWT (JSON Web Tokens).
Setup Instructions
1. Prerequisites
- Node.js 18+
- PostgreSQL database (or a Neon/Supabase project)
2. Environment Variables
Copy .env.example to .env and fill in the values:
`bash
cp .env.example .env
`
3. Installation
`bash npm install `
4. Database Setup
`bash
Push schema to database
npx drizzle-kit push `
5. Running the Application
`bash
Development mode
npm run dev
Build and Start
npm run build npm start `
Security Model
- At-Rest: Secrets are encrypted using AES-256-CBC. Even if the database is compromised, the values remain unreadable without the
ENCRYPTION_KEY. - In-Transit: All requests are handled via HTTPS (recommended for production).
- Application Level: RBAC is enforced on every API request. A
Viewercannot performPOST/PUT/DELETEoperations on secrets.
License
MIT
