OKS-CLI
🌐 Links
📄 Table of Contents
🧭 Overview
OKS-CLI is a command-line interface that allows you to deploy and manage Kubernetes clusters on top of OUTSCALE infrastructure.
✅ Requirements
- Python 3.11 or later
pip(Python package manager)kubectl(required for commands that interact with the Kubernetes API)
📦 Installation
Standard Installation
# 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 version
🚀 Usage
Display all available commands:
oks-cli fullhelp
Commands
| 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 |
Examples
# 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
🛠 Development
Editable Mode
Install 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.
Tests
Run the test suite using pytest to ensure code correctness and stability:
pytest
Project Structure
oks-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
Dependencies are managed via setup.py and requirements.txt.
To reinstall or update:
pip install -e .
🤝 Contributing
OKS-CLI is open source software licensed under BSD-3-Clause.
We welcome contributions! Please see CONTRIBUTING.md for guidelines and instructions.
📜 License
BSD-3-Clause © Outscale SAS
🆘 Support
Metadata
Release files for oks-cli 1.22
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| oks_cli-1.22.tar.gz | 44.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| oks_cli-1.22-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 81.5 kB
Release files / oks_cli-1.22.tar.gz
| Download URL | oks_cli-1.22.tar.gz |
|---|---|
| Size | 44.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cebcefd50dd86fe46c8ba7b3f72d29b576ef3f39c9710c43ea3a30ab3d4bf66a
|
|
BLAKE2b-256 checksum How to use checksums |
4cb376f93b1f0e090257f47a74b6aec2e861b905a0f7eafeaf766375c3e58c89
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Release files / oks_cli-1.22-py3-none-any.whl
| Download URL | oks_cli-1.22-py3-none-any.whl |
|---|---|
| Size | 37.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7ffe71605356957d862ba52f34b8529bc953850a2a45b7bbd207e5d6779917a1
|
|
BLAKE2b-256 checksum How to use checksums |
62cd9942dceeef7ffa0c7ecbc4d1514c3cce5032820784c71fb18376e821e05f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|