Metadata-Version: 2.1
Name: openstack-config
Version: 1.0.1.dev3
Summary: Openstack client extension that add kubectl-like config and context management
Classifier: Environment :: OpenStack
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Python: >=3.8
Description-Content-Type: text/markdown; charset=UTF-8
License-File: AUTHORS
Requires-Dist: pbr >=2.0.0
Requires-Dist: osc-lib >=3.1.0
Requires-Dist: platformdirs >=4.3.6
Requires-Dist: ruamel.yaml >=0.18.6
Requires-Dist: glom >=23.5.0
Requires-Dist: python-openstackclient >=7.1.3
Requires-Dist: requests >=2.32.3
Provides-Extra: cli
Requires-Dist: python-openstackclient >=3.12.0 ; extra == 'cli'

# Openstack-Config

Allows editing the clouds.yaml easily via CLI and adds kubectl-like contexts.

## Usage

```shell
# using uv, you can simply run
uvx --from python-openstackclient --with openstack-config --python=3.10 openstack config get-contexts
```

* *openstack config current-context* - Display the current context
* *openstack config delete-context* - Delete the specified context from the clouds.yaml
* *openstack config get-contexts* - Describe one or many contexts
* *openstack config get-projects* - List all projects that are currently accessible
* *openstack config rename-contexts* - Rename a context from the clouds.yaml file
* *openstack config set* - Set an individual value in a clouds.yaml file
* *openstack config unset* - Unset an individual value in a clouds.yaml file
* *openstack config use-context* - Set the current context for all operations (use none to reset)
* *openstack config use-project* - Override the project in the current context within the clouds.yaml
* *openstack config view* - Display merged clouds.yaml settings or a specified clouds.yaml file

## Installation

### PyPI

```shell
pip install openstack-config
```

### Local build

```shell
git clone $REPO && cd $REPO
pip install -e .

# optional
eval "$(openstack complete)"
```

## Deployment

```shell
export UV_PUBLISH_TOKEN="pypi-..."

# optional
# UV_PUBLISH_URL="https://test.pypi.org/legacy/"

bash publish.sh
```

