Skip to main content
Gå til innhold

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:

  1. Login: siktctl login starts a local web server that handles the OAuth flow with Feide
  2. Token exchange: The base token from Feide is exchanged for API-specific tokens when you run commands
  3. Token caching: Tokens are stored locally and reused until they expire
  4. 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: