- π OKS-CLI Documentation
- π OKS API Reference
- π GitHub Issues
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)
# 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
# Install dependencies
pip install -r requirements.txt
# Install the CLI in editable mode
pip install -e .
Install globally without a virtual environment (Python 3.11):
pip3.11 install -e --user .
Note: Ensure
~/Library/Python/3.11/bin
(macOS) or the equivalent path is in yourPATH
.
Display 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-project
Install the CLI in editable mode with development dependencies
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:
pytest
oks-cli/
βββ oks_cli/ # Source code
β βββ cache.py
β βββ cluster.py
β βββ main.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