Prerequisites
Before proceeding with the installation:- Install Kubectl on your system. See Install Tools.
- Configure valid Kubeconfig credentials. If not, see
Kubeconfig credentials
Sample sambastack.yaml
See the samplesambastack.yaml
file to help you prepare your instance configuration, including service tiers, authentication, and optional settings. This file shows a model to use after deployment (bundleDeploymentSpecs), defines service tiers for rate limits and model access for user groups (serviceTiers), and configures admin settings (db-admin).
Step 1: Install SambaStack.yaml
The SambaStack installation is managed through the SambaStack Installer, which is already enabled in the cluster for Hosted deployments. The Installer reads thesambastack.yaml
configuration file stored as a ConfigMap and applies it to set up your instance.
Prepare your sambastack.yaml file
The file defines the configuration for your instance (e.g., service tiers, authentication, optional features). Use the sample file above as a reference when creating your own.Apply the configuration
Sanity checks
-
Check installer logs and retrieve UI/API domain names with:
If successful, you will see
-
Verify cluster pods
Step 2: Auth Setup and User Management
You have two options for authentication setup:Option 1: Custom OIDC Configuration
To use your own OIDC provider:Gather required values
- Client ID
- Client Secret
- Issuer URL
- Redirect URI
- JWT Secret
OIDC_CLIENT_ID
, OIDC_CLIENT_SECRET
, OIDC_ISSUER_URL
, OIDC_REDIRECT_URI
, and JWT_SECRET_KEY
.
Values will be base64-encoded during upload, even if provided as plain text.
Create Kubernetes Secret (oidc_auth.yaml
)
See optional example for using custom OIDC provider.
Update sambastack.yaml
Add or update the following config data:
Option 2: Sambanova Provided Keycloak Configuration (default)
For hosted SambaStack, Sambanova provides Keycloak by default for authentication workflows.Key considerations and common issues
- Email is required: Users without an email cannot log in.
- Unique usernames: Duplicate usernames are disallowed; keep username and email aligned.
- Permanent passwords: Initial passwords should not be temporary unless a user reset is desired.
- Browser tip: Use Chrome for Keycloak admin UI when port-forwarding to avoid session cookie issues.
Steps to login to Keycloak:
-
Retrieve admin credentials:
Sample output
-
Port-forward Keycloak service
- Access via Chrome at
http://localhost:8080
and log in using the retrieved credentials.
- Access via Chrome at
- Manage users by following the Keycloak Server Administration Guide.
Step 3: Logging into SambaStack UI and Making API Calls
-
Obtain the domain names from the installer logs (see Step 1)
- Access the UI domain using Google Chrome to avoid compatibility issues.
- Log in using your credentials via the authentication flow.
-
After login, navigate to the API Keys page to create and manage API keys.
Creating API Keys and Making API Calls
If your deployment does not include bundles, update yoursambastack.yaml
to deploy at least one model as shown in the sample file, specifying models in bundleSpecs
and bundleDeploymentSpecs
.
Example snippet from sambastack.yaml
:
How to create and manage API keys
- Log in → API Keys page → Create API Key → Name it → Copy and save immediately (raw key visible only once).
- Use the SambaNova Quickstart guide for API call examples.
- To revoke or regenerate keys, manage them from the API Keys page.
Command Reference Table
Task | Sambastack Hosted / On Prem / Both | Example Command |
---|---|---|
Set kubeconfig | Both | export KUBECONFIG= <Path for kubeconfig file> |
Check installer logs and Get domain names | Both | kubectl -n sambastack-installer logs -l sambanova.ai/app=sambastack-installer -f |
Verify cluster pods | Both | kubectl get pods |
List nodes | Both | kubectl get nodes |
Identify RDU node and the internal cluster name | On Prem | kubectl get nodes -L vlcuster |
Apply / Update manifest | Both | kubectl apply -f <sambastack.yaml> |
View Applied manifest | Both | kubectl get configmap sambastack -o yaml |
Retrieve Keycloak Admin credentials | Both | kubectl get secret keycloak-initial-admin -o go-template='username: {{.data.username | base64decode}} \n password: {{.data.password | base64decode}}' |
Access keycloak as an Admin | Both | kubectl port-forward svc/keycloak-service 8080 |