Installation Guide
This guide covers detailed installation instructions for v-secure CLI, SDKs, and various integration options.
CLI Installation
Node.js/npm (Recommended)
npm install -g @lanonasis/v-secure-cli
Yarn
yarn global add @lanonasis/v-secure-cli
pnpm
pnpm add -g @lanonasis/v-secure-cli
Verify Installation
vsecure --version
# Output: v-secure-cli version 1.0.0
vsecure --help
# Shows available commands
SDK Installation
TypeScript/Node.js
npm install @lanonasis/v-secure-sdk
TypeScript Example:
import { VSecureClient } from '@lanonasis/v-secure-sdk';
const client = new VSecureClient({
apiKey: process.env.VSECURE_API_KEY
});
Python
pip install lanonasis-vsecure
Python Example:
from lanonasis_vsecure import VSecureClient
client = VSecureClient(
api_key=os.environ['VSECURE_API_KEY']
)
Go
go get github.com/lanonasis/vsecure-go
Go Example:
import "github.com/lanonasis/vsecure-go"
client := vsecure.NewClient(
vsecure.WithAPIKey(os.Getenv("VSECURE_API_KEY")),
)
Java
<!-- Maven -->
<dependency>
<groupId>com.lanonasis</groupId>
<artifactId>vsecure-java</artifactId>
<version>1.0.0</version>
</dependency>
// Gradle
implementation 'com.lanonasis:vsecure-java:1.0.0'
Ruby
gem install lanonasis-vsecure
Ruby Example:
require 'lanonasis/vsecure'
client = Lanonasis::VSecure::Client.new(
api_key: ENV['VSECURE_API_KEY']
)
Docker Installation
Using Official Docker Image
docker pull lanonasis/vsecure-cli:latest
# Run commands
docker run --rm \
-e VSECURE_API_KEY=$VSECURE_API_KEY \
lanonasis/vsecure-cli:latest \
secrets:list
Docker Compose
version: '3.8'
services:
app:
image: your-app:latest
environment:
- VSECURE_API_KEY=${VSECURE_API_KEY}
volumes:
- ./vsecure-config:/root/.vsecure
vsecure-sidecar:
image: lanonasis/vsecure-agent:latest
environment:
- VSECURE_API_KEY=${VSECURE_API_KEY}
volumes:
- secrets:/secrets
command: agent --watch
volumes:
secrets:
Kubernetes Installation
Using Helm
# Add the LanOnasis Helm repository
helm repo add lanonasis https://charts.lanonasis.com
helm repo update
# Install v-secure operator
helm install v-secure lanonasis/v-secure \
--set apiKey=$VSECURE_API_KEY \
--set operator.enabled=true
Kubernetes Secret Store CSI Driver
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
name: vsecure-secrets
spec:
provider: vsecure
parameters:
apiEndpoint: "https://api.lanonasis.com/v1/security"
secrets: |
- name: database-url
secretName: DATABASE_URL
- name: api-key
secretName: API_KEY
secretObjects:
- secretName: app-secrets
type: Opaque
data:
- objectName: database-url
key: DATABASE_URL
- objectName: api-key
key: API_KEY
Manual Deployment
apiVersion: v1
kind: Secret
metadata:
name: vsecure-api-key
type: Opaque
stringData:
api-key: your-api-key-here
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: vsecure-sync
spec:
replicas: 1
selector:
matchLabels:
app: vsecure-sync
template:
metadata:
labels:
app: vsecure-sync
spec:
containers:
- name: vsecure-sync
image: lanonasis/vsecure-agent:latest
env:
- name: VSECURE_API_KEY
valueFrom:
secretKeyRef:
name: vsecure-api-key
key: api-key
volumeMounts:
- name: secrets
mountPath: /secrets
volumes:
- name: secrets
emptyDir: {}
Platform-Specific Installation
macOS
Using Homebrew
brew tap lanonasis/tap
brew install vsecure-cli
Manual Installation
curl -fsSL https://install.lanonasis.com/vsecure.sh | bash
Linux
Debian/Ubuntu
curl -fsSL https://apt.lanonasis.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/lanonasis.gpg
echo "deb [signed-by=/usr/share/keyrings/lanonasis.gpg] https://apt.lanonasis.com stable main" | \
sudo tee /etc/apt/sources.list.d/lanonasis.list
sudo apt update
sudo apt install vsecure-cli
Red Hat/CentOS/Fedora
sudo dnf config-manager --add-repo https://yum.lanonasis.com/vsecure.repo
sudo dnf install vsecure-cli
Arch Linux
yay -S vsecure-cli
Windows
Using Chocolatey
choco install vsecure-cli
Using Scoop
scoop bucket add lanonasis https://github.com/lanonasis/scoop-bucket
scoop install vsecure-cli
Manual Installation
Download the installer from releases page and run:
.\vsecure-installer.exe
CI/CD Integration
GitHub Actions
name: Deploy with v-secure
on: [push]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup v-secure
uses: lanonasis/setup-vsecure@v1
with:
api-key: ${{ secrets.VSECURE_API_KEY }}
- name: Fetch secrets
run: |
vsecure secrets:get DATABASE_URL > .env
vsecure secrets:get API_KEY >> .env
- name: Deploy
run: ./deploy.sh
GitLab CI
deploy:
image: lanonasis/vsecure-cli:latest
script:
- vsecure secrets:get DATABASE_URL > .env
- vsecure secrets:get API_KEY >> .env
- ./deploy.sh
variables:
VSECURE_API_KEY: $VSECURE_API_KEY
CircleCI
version: 2.1
orbs:
vsecure: lanonasis/vsecure@1.0
jobs:
deploy:
docker:
- image: cimg/node:18.0
steps:
- checkout
- vsecure/install
- run:
name: Fetch secrets
command: |
vsecure secrets:export > .env
- run:
name: Deploy
command: ./deploy.sh
Jenkins
pipeline {
agent any
environment {
VSECURE_API_KEY = credentials('vsecure-api-key')
}
stages {
stage('Setup') {
steps {
sh 'npm install -g @lanonasis/v-secure-cli'
}
}
stage('Fetch Secrets') {
steps {
sh 'vsecure secrets:export > .env'
}
}
stage('Deploy') {
steps {
sh './deploy.sh'
}
}
}
}
Configuration
After installation, configure v-secure:
# Interactive configuration
vsecure config:init
# Set API endpoint
vsecure config:set endpoint https://api.lanonasis.com/v1/security
# Set default region
vsecure config:set region us-east-1
# View current configuration
vsecure config:show
Upgrade
CLI Upgrade
# npm
npm update -g @lanonasis/v-secure-cli
# Homebrew
brew upgrade vsecure-cli
# Docker
docker pull lanonasis/vsecure-cli:latest
SDK Upgrade
# npm
npm update @lanonasis/v-secure-sdk
# pip
pip install --upgrade lanonasis-vsecure
Verification
Verify your installation:
# Check version
vsecure --version
# Test authentication
vsecure auth:whoami
# Check connection
vsecure ping
# Run diagnostics
vsecure doctor
Troubleshooting
Command Not Found
If vsecure command is not found after installation:
# Check if it's in your PATH
which vsecure
# Add to PATH (Linux/macOS)
export PATH="$PATH:$(npm root -g)/@lanonasis/v-secure-cli/bin"
# Add to PATH permanently
echo 'export PATH="$PATH:$(npm root -g)/@lanonasis/v-secure-cli/bin"' >> ~/.bashrc
source ~/.bashrc
Permission Issues
# Fix npm permissions
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
# Or use npx instead
npx @lanonasis/v-secure-cli secrets:list
SSL/TLS Issues
# Disable SSL verification (not recommended for production)
vsecure config:set verify-ssl false
# Use custom CA certificate
vsecure config:set ca-cert /path/to/ca-cert.pem
Uninstallation
Remove CLI
# npm
npm uninstall -g @lanonasis/v-secure-cli
# Homebrew
brew uninstall vsecure-cli
# Chocolatey
choco uninstall vsecure-cli
Remove Configuration
rm -rf ~/.vsecure
Next Steps
- Getting Started - Quick start guide
- Configuration - Configure v-secure
- API Reference - API documentation