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.
@@ -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