Metadata-Version: 2.4
Name: denv-r-cli
Version: 0.4.0
Summary: Interface en ligne de commande DENV-R : pilotez votre stockage souverain (espaces, clés, clouds, politiques, plan/apply) depuis le terminal.
Author-email: DENV-R <support@denv-r.com>
Maintainer-email: DENV-R <support@denv-r.com>
License: Licence propriétaire DENV-R — CLI « denv-r »
        
        Copyright (c) 2026 DENV-R SAS. Tous droits réservés.
        
        Ce logiciel (« denv-r », interface en ligne de commande de DENV-R) est fourni pour
        piloter les services DENV-R au travers de l'API REST officielle.
        
        1. Concession. DENV-R SAS vous accorde un droit personnel, non exclusif et non
           transférable d'installer et d'utiliser cet outil dans le seul but d'interagir avec
           les services DENV-R auxquels vous avez légitimement souscrit.
        
        2. Restrictions. Vous ne pouvez pas revendre, sous-licencier, ni présenter cet outil
           comme le vôtre. Toute utilisation contraire aux conditions générales de DENV-R ou
           à la réglementation applicable est interdite.
        
        3. Absence de garantie. Le logiciel est fourni « EN L'ÉTAT », sans garantie d'aucune
           sorte, expresse ou implicite. DENV-R SAS ne saurait être tenue responsable d'un
           quelconque dommage résultant de son utilisation.
        
        4. Contact. support@denv-r.com — DENV-R SAS, Nantes, France.
        
Project-URL: Homepage, https://console.denv-r.com
Project-URL: Documentation, https://console.denv-r.com/api/docs/
Project-URL: Changelog, https://console.denv-r.com/api/docs/
Keywords: denv-r,s3,object-storage,cloud-souverain,infrastructure-as-code,control-plane,cli
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: Other/Proprietary License
Classifier: Natural Language :: French
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
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
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: System :: Systems Administration
Classifier: Topic :: Utilities
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# denv-r — CLI DENV-R

> **Pourquoi `denv-r` et pas `denv-r` ?** Le paquet `denv-r` existe déjà sur PyPI et appartient à une
> autre société de cloud (denvrdata.com) ; il expose un module `denv-r`. Les deux ne peuvent pas
> cohabiter dans un même environnement Python. Notre marque est **DENV-R** : le paquet s'appelle
> donc `denv-r`, le module `denv_r` et la commande `denv-r`.

Pilotez DENV-R au clavier : tout ce que fait la console se fait ici en ligne de
commande (scripts, CI/CD, automatisation). Enveloppe mince sur l'API REST, **sans
aucune dépendance externe** (bibliothèque standard Python).

## Installation

```bash
pip install denv-r-cli   # depuis PyPI (recommandé) : le paquet s'appelle denv-r-cli, la commande reste denv-r
```

Ou depuis les sources :

```bash
pip install ./cli           # depuis la racine du dépôt
python cli/denv_r.py --help  # sans installer
```

La commande installe l'exécutable `denv-r` (vérifiez avec `denv-r --version`).

## Configuration

Créez un jeton d'accès depuis la console (**Profil → API**), puis :

```bash
denv-r configure            # enregistre URL + jeton dans ~/.config/denv-r/config.json
# ou par variables d'environnement :
export DENVR_API_URL="https://console.denv-r.com"
export DENVR_TOKEN="dvr_votre_jeton"
```

Priorité de résolution : option `--url/--token` > variable d'environnement > fichier de config.
Un jeton **lecture seule** suffit pour lire ; les écritures exigent un jeton **lecture-écriture**.

## Exemples

```bash
denv-r status                                   # santé de l'infrastructure
denv-r buckets list                             # mes espaces
denv-r buckets create --nom archives-2026 --offre standard --taille-to 20
denv-r buckets update 42 --taille-to 50 --no-versioning
denv-r buckets purge 42                         # vide puis supprime (tâche de fond)

denv-r creds create --nom ci --type restreinte --buckets 42,43
denv-r creds delete 7

denv-r clouds connect --provider ovh --endpoint s3.gra.io.cloud.ovh.net \
      --region gra --access-key AK --secret-key SK --no-lecture-seule
denv-r clouds resync 3
denv-r migrate --src-kind cloud --src-connexion 3 --src-bucket vieux-backup --dst-kind denvr
denv-r adopt --bucket photos --offre standard --connexion-id 3 --taille-to 4

# Control plane déclaratif (« Terraform du stockage ») :
denv-r policies set --type retention --params '{"min_jours": 90}'
denv-r plan                                     # dérive : intention vs réel
denv-r apply                                    # remédie les dérives auto-éligibles

# Revendeur : créer + provisionner un client en un appel (renvoie ses clés S3) :
denv-r clients create --email client@exemple.fr --societe "Client SARL" --provision
denv-r clients provision 123                     # provisionne un client déjà créé
denv-r clients list                              # état (is_active / provisionné) de chaque client
```

Toute commande accepte `--help`. La sortie est du JSON (facile à enchaîner avec `jq`).

## Revendeurs

Les commandes d'écriture et le control plane acceptent `--client-id <id>` pour agir
au nom d'un client de votre portefeuille (jeton revendeur requis).
