Skip to main content

Installation Guide

This guide covers detailed installation instructions for v-secure CLI, SDKs, and various integration options.

CLI Installation

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