OKS-CLI is a command-line interface that allows you to deploy and manage Kubernetes clusters on top of OUTSCALE infrastructure.
- Python 3.11 or later
pip(Python package manager)kubectl(required for commands that interact with the Kubernetes API)
# Create and activate a virtual environment
python -m venv venv
source venv/bin/activate
# Install the CLI
pip install oks-cli
# Check version of oks-cli
oks-cli versionDisplay all available commands:
oks-cli fullhelp| Command | Description |
|---|---|
| profile list | List existing profiles |
| profile add | Add AK/SK or username/password new profile |
| profile delete | Delete a profile by name |
| profile update | Update an existing profile |
| project list | List all projects |
| project create | Create a new project |
| project get | Get default project or the project by name |
| project update | Update a project by name |
| project delete | Delete a project by name |
| project login | Set a default project by name |
| project logout | Unset default project |
| project quotas | Get project quotas |
| project snapshots | Get project snapshots |
| project publicips | Get project public ips |
| cluster list | List all clusters |
| cluster create | Create a new cluster |
| cluster get | Get a cluster by name |
| cluster update | Update a cluster by name |
| cluster upgrade | Upgrade a cluster by name |
| cluster delete | Delete a cluster by name |
| cluster login | Set a default cluster |
| cluster logout | Unset default cluster |
| cluster kubeconfig | Fetch the kubeconfig for a cluster |
| cluster kubectl | Fetch kubeconfig and run kubectl against it |
| cluster nodepool list | List nodepools in the specified cluster |
| cluster nodepool create | Create a new nodepool in the cluster |
| cluster nodepool delete | Delete a nodepool by name from the cluster |
| cache clear | Clear cache |
| cache kubeconfigs | List cached kubeconfigs |
| quotas | Get quotas |
| fullhelp | Display detailed help information for all commands |
| version | Show the current CLI version |
| install-completion | Install shell completion scripts |
# List all projects
oks-cli project list
# Dry run project creation
oks-cli project create --project-name my-project --description "Test project" --dry-run
# Dry run cluster creation
oks-cli cluster create \
--cluster-name my-cluster \
--project-name my-project \
--description "My test cluster" \
--version "1.32" \
--dry-run
# Set a default project profile
oks-cli project login --project-name my-projectInstall the CLI in editable mode with development dependencies
# Clone the repository
git clone https://github.com/outscale/oks-cli.git
cd oks-cli
# Create and activate a virtual environment
python -m venv venv
source venv/bin/activate
# CLI in editable mode
pip install -e ".[dev]"Changes in the oks_cli/ directory will be immediately reflected without reinstalling.
Run the test suite using pytest to ensure code correctness and stability:
pytestoks-cli/
├── oks_cli/ # Source code
│ ├── cache.py
│ ├── cluster.py
│ ├── main.py
│ ├── netpeering.py
│ ├── profile.py
│ ├── project.py
│ ├── quotas.py
│ └── utils.py
├── setup.py # Packaging configuration
├── requirements.txt # Dependencies
└── README.md # Project documentation
Dependencies are managed via setup.py and requirements.txt.
To reinstall or update:
pip install -e .OKS-CLI is open source software licensed under BSD-3-Clause.
We welcome contributions! Please see CONTRIBUTING.md for guidelines and instructions.
BSD-3-Clause © Outscale SAS