RDT Workshop — Prerequisites
The workshop does not budget time for installing prerequisites from scratch. Please complete all steps below and run the verification script at the end. If anything fails, contact the organizer before the workshop day.
1. Software Installation
Install the following tools. If you already have them, verify the minimum version.
VS Code
Minimum version: 1.103.0+
Download from code.visualstudio.com. Verify:
code --version
Node.js
Required version: 22.x (LTS)
Download from nodejs.org (use the LTS installer). Verify:
node --version
# Expected: v22.x.x
Git
Download from git-scm.com. Verify:
git --version
kubectl & Helm
Both are covered in the SAMO dev-documentation. Follow the Kubernetes Cluster Access Guide — it includes installation steps for both tools.
Verify:
kubectl version --client
helm version
AI Coding Agent
You need at least one of the following AI coding agents installed:
- Claude Code
- OpenAI Codex
Install Claude Code:
npm install -g @anthropic-ai/claude-code
Verify:
claude --version
Details on how to obtain access to Claude Code will be provided by the workshop organizer.
Install OpenAI Codex CLI:
npm install -g @openai/codex
Verify:
codex --version
Details on how to obtain access to OpenAI Codex will be provided by the workshop organizer.
2. GitLab Access (git.asseco-ce.com)
The workshop uses internal GitLab repos for project scaffolding and the SAMO Pilot plugin. GitLab uses 2FA, so you need a Personal Access Token (PAT) for Git HTTPS operations.
If you already have 2FA and a PAT with read_repository + read_registry scopes set up for git.asseco-ce.com, you can skip this section entirely — just verify repo access in Step 4.
Step 1 — Log in to git.asseco-ce.com and set up 2FA if you haven't already.
Step 2 — Create a Personal Access Token:
- Go to Settings → Access Tokens (or navigate to
https://git.asseco-ce.com/-/user_settings/personal_access_tokens) - Click Add new token
- Name: e.g.
rdt-workshop - Scopes: select
read_repositoryandread_registry - Set an expiration date and click Create personal access token
- Copy the token — you won't see it again
Step 3 — Request access to the following repos (needed for project scaffolding in the workshop):
If you can't access them, contact the workshop organizer to be granted read access.
Step 4 — Verify (when prompted, enter your GitLab username and PAT as the password). On Windows/macOS, Git Credential Manager remembers them automatically. On Linux, run git config --global credential.helper store first so you don't get prompted every time.
git ls-remote https://git.asseco-ce.com/SAMO/customers/asseco-ce/samo-init/samo-init-project.git
git ls-remote https://git.asseco-ce.com/SAMO/customers/asseco-ce/samo-init/samo-init-configuration.git
Both should list remote refs without errors.
3. Kubernetes Cluster Access
You need VPN access and a properly configured kubeconfig to reach the SAMO Kubernetes cluster. Follow the guide carefully.
Step 1 — Connect to VPN. You must be on the corporate VPN to access the cluster.
Step 2 — Follow the cluster access guide:
This guide walks you through downloading your kubeconfig and setting up the kubectl context.
Step 3 — Verify:
# Should show the cluster endpoint (not an error)
kubectl cluster-info
# Should list namespaces without errors
kubectl get namespaces
If kubectl cluster-info fails, check:
- Are you connected to VPN?
- Is your kubeconfig file in the right location (
~/.kube/config)? - Is the correct context selected? (
kubectl config current-context)
4. SAMO Nexus npm Registry (@samo scope)
The SAMO MCP Server and related packages are published to an internal Nexus registry. You need to configure npm to find packages under the @samo scope.
Step 1 — Open your .npmrc file in a text editor:
- Windows
- macOS / Linux
C:\Users\<username>\.npmrc
~/.npmrc
If the file doesn't exist, create it. You can also find its location with npm config get userconfig.
Step 2 — Add the @samo scope and authentication.
Add these two lines:
@samo:registry=https://nexus/repository/samo-npm/
//nexus/repository/samo-npm/:_authToken=<your-nexus-token>
If you don't have a token, generate one by running:
npm login --registry=https://nexus/repository/samo-npm/
Enter your Nexus credentials (LDAP username and password) when prompted. This appends the _authToken line to your .npmrc automatically. Then manually add the @samo:registry=... line above it if it's not already there.
Step 3 — Verify:
# Should return the registry URL
npm config get @samo:registry
# Expected: https://nexus/repository/samo-npm/
# Should return a version number (not an error)
npm view @samo/mcp-server version
| Issue | Fix |
|---|---|
npm config set @samo:registry errors | Newer npm versions may reject this command. Edit ~/.npmrc directly (Step 2 above) |
npm login fails | Verify you can reach https://nexus/repository/samo-npm/ in a browser. You may need VPN |
npm ERR! 401 Unauthorized | Your auth token has expired. Re-run npm login --registry=https://nexus/repository/samo-npm/ |
| Wrong registry URL | Make sure it is samo-npm (not samo-npm-private) |
5. Helm OCI Registry
The workshop deploys SAMO applications using a Helm chart stored in an OCI registry. This uses the same docker.asseco-ce.com account as the external GitLab (git.asseco-ce.com) — same credentials, same 2FA.
Step 1 — Set up 2FA on your git.asseco-ce.com account (if not already done — same account used in Section 2).
Step 2 — Create a Personal Access Token (PAT) in your docker.asseco-ce.com account settings. With 2FA enabled, your password won't work for CLI login — you need a PAT.
Step 3 — Log in:
helm registry login docker.asseco-ce.com
When prompted, enter your username and Personal Access Token (not your password).
Step 4 — Verify:
helm pull oci://docker.asseco-ce.com/samo/infrastructure/samo-rdt-helm-chart/charts/samo-rdt --version 0.1.0
This should download the chart archive without errors. You can delete the downloaded .tgz file afterward.
6. What the Organizer Will Provide
The following items will be distributed at the start of the workshop — no action needed from you:
- RDT VS Code Extension (
.vsixfile) - GitLab access token (for SAMO Pilot plugin)
- SAMO license files
- Kubernetes secrets YAML
- Sample SAMO project (if applicable)
7. Verification Script
Run this script the day before the workshop to confirm everything is ready:
- Windows (PowerShell)
- macOS / Linux (Bash)
& {
Write-Host "=== RDT Workshop Prerequisites ===" -ForegroundColor Cyan
Write-Host ""
$checks = @(
@("VS Code", { code --version 2>$null | Select-Object -First 1 }),
@("Node.js", { node --version 2>$null }),
@("Git", { git --version 2>$null }),
@("kubectl", { kubectl version --client 2>$null }),
@("Helm", { helm version 2>$null }),
@("Claude Code", { claude --version 2>$null }),
@("Codex CLI", { codex --version 2>$null }),
@("@samo scope", { npm config get @samo:registry 2>$null })
)
foreach ($check in $checks) {
$name = $check[0].PadRight(14)
$result = try { & $check[1] } catch { $null }
if ($result -and $result -notmatch "undefined") {
Write-Host " OK $name $result" -ForegroundColor Green
} else {
Write-Host " MISS $name (not found)" -ForegroundColor Red
}
}
Write-Host ""
Write-Host "--- Connectivity ---" -ForegroundColor Cyan
$k8s = kubectl cluster-info 2>$null | Select-Object -First 1
if ($k8s) { Write-Host " OK K8s cluster $k8s" -ForegroundColor Green }
else { Write-Host " FAIL K8s cluster Not accessible (VPN connected?)" -ForegroundColor Red }
$nexus = npm view @samo/mcp-server version --registry=https://nexus/repository/samo-npm/ 2>$null
if ($nexus) { Write-Host " OK Nexus npm @samo/mcp-server@$nexus" -ForegroundColor Green }
else { Write-Host " FAIL Nexus npm Cannot reach @samo/mcp-server (auth or VPN issue)" -ForegroundColor Red }
$helmOci = helm show chart oci://docker.asseco-ce.com/samo/infrastructure/samo-rdt-helm-chart/charts/samo-rdt --version 0.1.0 2>$null
if ($helmOci) { Write-Host " OK Helm OCI docker.asseco-ce.com reachable" -ForegroundColor Green }
else { Write-Host " FAIL Helm OCI Cannot pull chart (run: helm registry login docker.asseco-ce.com)" -ForegroundColor Red }
Write-Host ""
Write-Host "You need at least ONE of: Claude Code or Codex CLI" -ForegroundColor Yellow
Write-Host "All 'FAIL' and 'MISS' items must be resolved before the workshop." -ForegroundColor Yellow
}
bash <<'EOF'
echo "=== RDT Workshop Prerequisites ==="
echo ""
check() {
local name=$1; local cmd=$2; local result
result=$(eval "$cmd" 2>/dev/null)
if [ -n "$result" ] && [ "$result" != "undefined" ]; then
printf " \033[32mOK\033[0m %-14s %s\n" "$name" "$result"
else
printf " \033[31mMISS\033[0m %-14s %s\n" "$name" "(not found)"
fi
}
check "VS Code" "code --version | head -1"
check "Node.js" "node --version"
check "Git" "git --version"
check "kubectl" "kubectl version --client"
check "Helm" "helm version"
check "Claude Code" "claude --version"
check "Codex CLI" "codex --version"
check "@samo scope" "npm config get @samo:registry"
echo ""
echo "--- Connectivity ---"
k8s=$(kubectl cluster-info 2>/dev/null | head -1)
[ -n "$k8s" ] && printf " \033[32mOK\033[0m %-14s %s\n" "K8s cluster" "$k8s" \
|| printf " \033[31mFAIL\033[0m %-14s %s\n" "K8s cluster" "Not accessible (VPN connected?)"
nexus=$(npm view @samo/mcp-server version --registry=https://nexus/repository/samo-npm/ 2>/dev/null)
[ -n "$nexus" ] && printf " \033[32mOK\033[0m %-14s %s\n" "Nexus npm" "@samo/mcp-server@$nexus" \
|| printf " \033[31mFAIL\033[0m %-14s %s\n" "Nexus npm" "Cannot reach (auth or VPN issue)"
helmOci=$(helm show chart oci://docker.asseco-ce.com/samo/infrastructure/samo-rdt-helm-chart/charts/samo-rdt --version 0.1.0 2>/dev/null)
[ -n "$helmOci" ] && printf " \033[32mOK\033[0m %-14s %s\n" "Helm OCI" "reachable" \
|| printf " \033[31mFAIL\033[0m %-14s %s\n" "Helm OCI" "Cannot pull (run: helm registry login docker.asseco-ce.com)"
echo ""
echo "You need at least ONE of: Claude Code or Codex CLI"
echo "All 'FAIL' and 'MISS' items must be resolved before the workshop."
EOF
Troubleshooting Reference
| Check | Expected result | If it fails |
|---|---|---|
code --version | Version 1.103.0+ | Download from code.visualstudio.com |
node --version | v22.x.x | Download from nodejs.org (LTS) |
kubectl cluster-info | Shows cluster endpoint | Connect to VPN, then follow the cluster access guide |
kubectl get namespaces | Lists namespaces | RBAC permissions missing — contact the organizer |
npm config get @samo:registry | https://nexus/repository/samo-npm/ | Follow Section 4 above |
npm view @samo/mcp-server version | Shows a version number | Nexus credentials missing — run npm login --registry=https://nexus/repository/samo-npm/ |
helm registry login | Login succeeded | Set up 2FA on docker.asseco-ce.com, then use your username + Personal Access Token (not password) |
claude --version or codex --version | Shows a version | See Section 1 → AI Coding Agent |
| Git clone fails with SSL error | — | Run git config --global http.sslBackend schannel (Windows) |
Need Help?
If you run into issues setting up prerequisites, contact the RDT team:
- Email: simon.misak@asseco-ce.com
- When: Please reach out at least 2 days before the workshop so we have time to troubleshoot