skipctl
A simple client (and server) to perform various network troubleshooting.
Installation
Download the latest release or use the provided Docker image (mainly for running a server).
Use Homebrew
brew tap kartverket/taps && \
brew install skipctl
Usage
Test
The various test commands will execute against an API server. Run skipctl test ping --api-server=something to get a list of supported API server names.
An API server represents a location that can run tests from their perspective. All communication with API servers is encrypted over TLS.
❗ Before issuing any test commands, be sure to be authenticated first (gcloud auth application-default login).
Ping
skipctl test ping --hostname=example.com --api-server=myApiServer
Port probe
skipctl test probe --hostname=example.com --port=1521 --api-server=myApiServer
Manifests
The manifests command group contains commands for working with Skiperator manifests. All commands require a path flag (--path or -p) pointing to a directory or file containing the manifest(s).
If a directory is specified, all commands in this group will recursively search the specified path for files with supported file formats. If no specific path is specified, the current working directory will be used.
Supported file formats are:
Render manifests
Compiles and renders a Skiperator .jsonnet or .yaml manifest in the specified directory and alerts if any errors are found.
skipctl manifests render --path <pathname>
Validate K8s manifests
Validates a Skiperator manifest file (in either .jsonnet or .yaml format) against Skiperator's own custom schema definitions (skiperator.kartverket.no/v1alpha1)
Supports the following resource types:
- Application
- Routing
- SKIPJob
The API reference for these types can be found in the SKIP docs.
Returns status code 1 if there are failures or 0 for successful validation
skipctl manifests validate --path <pathname>