siktctl
siktctl is a command-line utility for Sikt employees that provides access to various internal APIs. The tool provides easy access to information about the organization, product teams, Platon resources, and more.
Installation
npm install -g @sikt/siktctl
Check version
To check which version of siktctl you have installed:
siktctl -V
Update
To update to the latest version:
npm update -g @sikt/siktctl
Authentication
Before you can use siktctl, you need to log in with your Feide account:
siktctl login
This opens your browser where you log in with Feide. The token is stored locally in ~/.siktctl-token.json and is used for all subsequent commands.
Usage Examples
View employee information
siktctl org people
Lists all employees in Sikt.
View product teams
siktctl org teams
Shows all product teams in the organization.
View team members
siktctl org teams members <team-id>
Shows all members of a specific team.
View organizational units
siktctl org units
Lists all product areas and sections.
Platon commands
GitLab projects
siktctl platon gitlab --limit 20
Lists GitLab projects with their associated product teams.
Kubernetes namespaces
siktctl platon k8s namespaces --limit 20
Shows Kubernetes namespaces on the PaaS platform with information about team, product area, and associated GitLab project.
Namespace overview
siktctl platon k8s overview --limit 20
Provides a comprehensive overview of namespaces with information about deployments, statefulsets, cronjobs, and workload trends. This command uses caching to reduce load time.
Namespace details
siktctl platon k8s namespace my-app-prod
Shows detailed information about a specific namespace.
Filtering
Many commands support filtering by product area or team:
siktctl platon k8s namespaces --pa <product-area-id>
siktctl platon k8s namespaces --team <team-id>
JSON output
If you want to use the output in scripts or process data further, you can request JSON:
siktctl org teams --json
How it works
siktctl uses OAuth/OIDC authentication via Feide to access Sikt's internal APIs:
- Login:
siktctl loginstarts a local web server that handles the OAuth flow with Feide - Token exchange: The base token from Feide is exchanged for API-specific tokens when you run commands
- Token caching: Tokens are stored locally and reused until they expire
- API access: Each API (Sikt API, Platon API, etc.) gets its own token
The tool is written in TypeScript and uses Arquero for data manipulation and table display.
Source code
The source code for siktctl can be found on GitLab: