drove-cli 0.0.4__tar.gz → 0.0.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- drove_cli-0.0.5/PKG-INFO +152 -0
- drove_cli-0.0.5/README.md +118 -0
- drove_cli-0.0.5/plugins/describe.py +633 -0
- {drove_cli-0.0.4 → drove_cli-0.0.5}/pyproject.toml +1 -1
- drove_cli-0.0.4/PKG-INFO +0 -1283
- drove_cli-0.0.4/README.md +0 -1249
- {drove_cli-0.0.4 → drove_cli-0.0.5}/drove.py +0 -0
- {drove_cli-0.0.4 → drove_cli-0.0.5}/drovecli.py +0 -0
- {drove_cli-0.0.4 → drove_cli-0.0.5}/droveclient.py +0 -0
- {drove_cli-0.0.4 → drove_cli-0.0.5}/droveutils.py +0 -0
- {drove_cli-0.0.4 → drove_cli-0.0.5}/plugins/__init__.py +0 -0
- {drove_cli-0.0.4 → drove_cli-0.0.5}/plugins/appinstances.py +0 -0
- {drove_cli-0.0.4 → drove_cli-0.0.5}/plugins/applications.py +0 -0
- {drove_cli-0.0.4 → drove_cli-0.0.5}/plugins/cluster.py +0 -0
- {drove_cli-0.0.4 → drove_cli-0.0.5}/plugins/config.py +0 -0
- {drove_cli-0.0.4 → drove_cli-0.0.5}/plugins/executors.py +0 -0
- {drove_cli-0.0.4 → drove_cli-0.0.5}/plugins/localserviceinstances.py +0 -0
- {drove_cli-0.0.4 → drove_cli-0.0.5}/plugins/localservices.py +0 -0
- {drove_cli-0.0.4 → drove_cli-0.0.5}/plugins/tasks.py +0 -0
drove_cli-0.0.5/PKG-INFO
ADDED
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: drove-cli
|
|
3
|
+
Version: 0.0.5
|
|
4
|
+
Summary: Drove Command Line Interface
|
|
5
|
+
License: Apache-2.0
|
|
6
|
+
Keywords: container,docker,podman,distributed-systems,container-orchestrator
|
|
7
|
+
Author: Santanu Sinha
|
|
8
|
+
Author-email: santanu.sinha@gmail.com
|
|
9
|
+
Maintainer: Santanu Sinha
|
|
10
|
+
Maintainer-email: santanu.sinha@gmail.com
|
|
11
|
+
Requires-Python: >=3.7,<4.0
|
|
12
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: Intended Audience :: System Administrators
|
|
15
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.7
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
25
|
+
Classifier: Topic :: System :: Clustering
|
|
26
|
+
Classifier: Topic :: System :: Distributed Computing
|
|
27
|
+
Requires-Dist: requests (>=2.31.0,<3.0.0)
|
|
28
|
+
Requires-Dist: tabulate (>=0.9.0,<0.10.0)
|
|
29
|
+
Requires-Dist: tenacity (>=8.2.3,<9.0.0)
|
|
30
|
+
Requires-Dist: urllib3 (>=2.0.7,<3.0.0)
|
|
31
|
+
Project-URL: Repository, https://github.com/PhonePe/drove-cli
|
|
32
|
+
Description-Content-Type: text/markdown
|
|
33
|
+
|
|
34
|
+
# Drove CLI
|
|
35
|
+
|
|
36
|
+
Command-line interface for the [Drove Container Orchestrator](https://github.com/PhonePe/drove-orchestrator).
|
|
37
|
+
|
|
38
|
+
## Installation
|
|
39
|
+
|
|
40
|
+
### Using pip
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
pip install drove-cli
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Using pip (virtual environment)
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
python3 -m venv ~/.venvs/drove-cli
|
|
50
|
+
source ~/.venvs/drove-cli/bin/activate
|
|
51
|
+
pip install drove-cli
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
To activate in a new shell:
|
|
55
|
+
```bash
|
|
56
|
+
source ~/.venvs/drove-cli/bin/activate
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Using Docker
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
docker pull ghcr.io/phonepe/drove-cli:latest
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Create a wrapper script for convenience:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
cat > ~/bin/drove << 'EOF'
|
|
69
|
+
#!/bin/sh
|
|
70
|
+
docker run --rm -it --network host \
|
|
71
|
+
-v ${HOME}/.drove:/root/.drove:ro \
|
|
72
|
+
ghcr.io/phonepe/drove-cli:latest "$@"
|
|
73
|
+
EOF
|
|
74
|
+
chmod +x ~/bin/drove
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Configuration
|
|
78
|
+
|
|
79
|
+
Create `~/.drove` with your cluster configuration:
|
|
80
|
+
|
|
81
|
+
```ini
|
|
82
|
+
[DEFAULT]
|
|
83
|
+
stage_token = <your-stage-token>
|
|
84
|
+
prod_token = <your-prod-token>
|
|
85
|
+
|
|
86
|
+
[local]
|
|
87
|
+
endpoint = http://localhost:10000
|
|
88
|
+
username = admin
|
|
89
|
+
password = admin
|
|
90
|
+
|
|
91
|
+
[stage]
|
|
92
|
+
endpoint = https://drove.stage.example.com
|
|
93
|
+
auth_header = %(stage_token)s
|
|
94
|
+
|
|
95
|
+
[prod]
|
|
96
|
+
endpoint = https://drove.prod.example.com
|
|
97
|
+
auth_header = %(prod_token)s
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Quick Start
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
# Verify connection
|
|
104
|
+
drove -c prod cluster ping
|
|
105
|
+
|
|
106
|
+
# View cluster status
|
|
107
|
+
drove -c prod cluster summary
|
|
108
|
+
|
|
109
|
+
# List applications
|
|
110
|
+
drove -c prod apps list
|
|
111
|
+
|
|
112
|
+
# Get application info
|
|
113
|
+
drove -c prod apps info <app-name>
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## Commands
|
|
117
|
+
|
|
118
|
+
| Command | Description |
|
|
119
|
+
|---------|-----------------------------------------------------------------------|
|
|
120
|
+
| `appinstances` | Application instance operations |
|
|
121
|
+
| `apps` | Application lifecycle Management (list, info, deploy, scale, suspend) |
|
|
122
|
+
| `cluster` | Cluster operations (ping, summary, leader, maintenance) |
|
|
123
|
+
| `config` | CLI configuration management |
|
|
124
|
+
| `describe` | Show detailed information about a resource |
|
|
125
|
+
| `executor` | Executor management |
|
|
126
|
+
| `localservices` | Local service management |
|
|
127
|
+
| `lsinstances` | Local service instance operations |
|
|
128
|
+
| `tasks` | One-off task execution |
|
|
129
|
+
|
|
130
|
+
Use `drove -h` or `drove <command> -h` for detailed help.
|
|
131
|
+
|
|
132
|
+
## Global Options
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
-f, --file FILE Configuration file (default: ~/.drove)
|
|
136
|
+
-c, --cluster CLUSTER Cluster name from config file
|
|
137
|
+
-e, --endpoint URL Drove endpoint URL
|
|
138
|
+
-t, --auth-header HDR Authorization header value
|
|
139
|
+
-u, --username USER Cluster username
|
|
140
|
+
-p, --password PASS Cluster password
|
|
141
|
+
-i, --insecure Skip SSL verification
|
|
142
|
+
-d, --debug Print error details
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Documentation
|
|
146
|
+
|
|
147
|
+
Full documentation is available at **[github.com/PhonePe/drove-orchestrator](https://github.com/PhonePe/drove-orchestrator)**
|
|
148
|
+
|
|
149
|
+
## License
|
|
150
|
+
|
|
151
|
+
© 2024 Santanu Sinha | Apache 2.0
|
|
152
|
+
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# Drove CLI
|
|
2
|
+
|
|
3
|
+
Command-line interface for the [Drove Container Orchestrator](https://github.com/PhonePe/drove-orchestrator).
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
### Using pip
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
pip install drove-cli
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
### Using pip (virtual environment)
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
python3 -m venv ~/.venvs/drove-cli
|
|
17
|
+
source ~/.venvs/drove-cli/bin/activate
|
|
18
|
+
pip install drove-cli
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
To activate in a new shell:
|
|
22
|
+
```bash
|
|
23
|
+
source ~/.venvs/drove-cli/bin/activate
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### Using Docker
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
docker pull ghcr.io/phonepe/drove-cli:latest
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Create a wrapper script for convenience:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
cat > ~/bin/drove << 'EOF'
|
|
36
|
+
#!/bin/sh
|
|
37
|
+
docker run --rm -it --network host \
|
|
38
|
+
-v ${HOME}/.drove:/root/.drove:ro \
|
|
39
|
+
ghcr.io/phonepe/drove-cli:latest "$@"
|
|
40
|
+
EOF
|
|
41
|
+
chmod +x ~/bin/drove
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Configuration
|
|
45
|
+
|
|
46
|
+
Create `~/.drove` with your cluster configuration:
|
|
47
|
+
|
|
48
|
+
```ini
|
|
49
|
+
[DEFAULT]
|
|
50
|
+
stage_token = <your-stage-token>
|
|
51
|
+
prod_token = <your-prod-token>
|
|
52
|
+
|
|
53
|
+
[local]
|
|
54
|
+
endpoint = http://localhost:10000
|
|
55
|
+
username = admin
|
|
56
|
+
password = admin
|
|
57
|
+
|
|
58
|
+
[stage]
|
|
59
|
+
endpoint = https://drove.stage.example.com
|
|
60
|
+
auth_header = %(stage_token)s
|
|
61
|
+
|
|
62
|
+
[prod]
|
|
63
|
+
endpoint = https://drove.prod.example.com
|
|
64
|
+
auth_header = %(prod_token)s
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Quick Start
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# Verify connection
|
|
71
|
+
drove -c prod cluster ping
|
|
72
|
+
|
|
73
|
+
# View cluster status
|
|
74
|
+
drove -c prod cluster summary
|
|
75
|
+
|
|
76
|
+
# List applications
|
|
77
|
+
drove -c prod apps list
|
|
78
|
+
|
|
79
|
+
# Get application info
|
|
80
|
+
drove -c prod apps info <app-name>
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Commands
|
|
84
|
+
|
|
85
|
+
| Command | Description |
|
|
86
|
+
|---------|-----------------------------------------------------------------------|
|
|
87
|
+
| `appinstances` | Application instance operations |
|
|
88
|
+
| `apps` | Application lifecycle Management (list, info, deploy, scale, suspend) |
|
|
89
|
+
| `cluster` | Cluster operations (ping, summary, leader, maintenance) |
|
|
90
|
+
| `config` | CLI configuration management |
|
|
91
|
+
| `describe` | Show detailed information about a resource |
|
|
92
|
+
| `executor` | Executor management |
|
|
93
|
+
| `localservices` | Local service management |
|
|
94
|
+
| `lsinstances` | Local service instance operations |
|
|
95
|
+
| `tasks` | One-off task execution |
|
|
96
|
+
|
|
97
|
+
Use `drove -h` or `drove <command> -h` for detailed help.
|
|
98
|
+
|
|
99
|
+
## Global Options
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
-f, --file FILE Configuration file (default: ~/.drove)
|
|
103
|
+
-c, --cluster CLUSTER Cluster name from config file
|
|
104
|
+
-e, --endpoint URL Drove endpoint URL
|
|
105
|
+
-t, --auth-header HDR Authorization header value
|
|
106
|
+
-u, --username USER Cluster username
|
|
107
|
+
-p, --password PASS Cluster password
|
|
108
|
+
-i, --insecure Skip SSL verification
|
|
109
|
+
-d, --debug Print error details
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Documentation
|
|
113
|
+
|
|
114
|
+
Full documentation is available at **[github.com/PhonePe/drove-orchestrator](https://github.com/PhonePe/drove-orchestrator)**
|
|
115
|
+
|
|
116
|
+
## License
|
|
117
|
+
|
|
118
|
+
© 2024 Santanu Sinha | Apache 2.0
|