pingera-cli 0.1.2__tar.gz → 0.1.4__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.
Files changed (47) hide show
  1. {pingera_cli-0.1.2/pingera_cli.egg-info → pingera_cli-0.1.4}/PKG-INFO +37 -3
  2. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/README.md +36 -2
  3. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/docs/cli-commands.md +156 -85
  4. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/pingera_cli/__init__.py +1 -1
  5. pingera_cli-0.1.4/pingera_cli/commands/check_groups.py +533 -0
  6. pingera_cli-0.1.4/pingera_cli/commands/check_secrets.py +298 -0
  7. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/pingera_cli/commands/checks.py +196 -14
  8. pingera_cli-0.1.4/pingera_cli/commands/secrets.py +301 -0
  9. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/pingera_cli/main.py +2 -0
  10. {pingera_cli-0.1.2 → pingera_cli-0.1.4/pingera_cli.egg-info}/PKG-INFO +37 -3
  11. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/pingera_cli.egg-info/SOURCES.txt +3 -0
  12. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/pingera_cli.egg-info/requires.txt +1 -1
  13. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/pyproject.toml +1 -1
  14. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/.gitignore +0 -0
  15. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/.replit +0 -0
  16. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/LICENSE +0 -0
  17. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/assert +0 -0
  18. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/pingera_cli/__main__.py +0 -0
  19. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/pingera_cli/commands/__init__.py +0 -0
  20. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/pingera_cli/commands/auth.py +0 -0
  21. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/pingera_cli/commands/base.py +0 -0
  22. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/pingera_cli/commands/on_demand_checks.py +0 -0
  23. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/pingera_cli/formatters/__init__.py +0 -0
  24. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/pingera_cli/formatters/base_formatter.py +0 -0
  25. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/pingera_cli/formatters/generic_formatter.py +0 -0
  26. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/pingera_cli/formatters/multistep_formatter.py +0 -0
  27. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/pingera_cli/formatters/registry.py +0 -0
  28. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/pingera_cli/formatters/ssl_formatter.py +0 -0
  29. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/pingera_cli/formatters/synthetic_formatter.py +0 -0
  30. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/pingera_cli/formatters/web_formatter.py +0 -0
  31. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/pingera_cli/utils/__init__.py +0 -0
  32. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/pingera_cli/utils/config.py +0 -0
  33. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/pingera_cli/utils/console.py +0 -0
  34. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/pingera_cli.egg-info/dependency_links.txt +0 -0
  35. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/pingera_cli.egg-info/entry_points.txt +0 -0
  36. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/pingera_cli.egg-info/top_level.txt +0 -0
  37. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/replit.md +0 -0
  38. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/run_tests.py +0 -0
  39. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/setup.cfg +0 -0
  40. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/setup.py +0 -0
  41. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/tests/__init__.py +0 -0
  42. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/tests/conftest.py +0 -0
  43. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/tests/requirements.txt +0 -0
  44. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/tests/test_auth.py +0 -0
  45. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/tests/test_checks.py +0 -0
  46. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/tests/test_config.py +0 -0
  47. {pingera_cli-0.1.2 → pingera_cli-0.1.4}/tests/test_on_demand_checks.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pingera-cli
3
- Version: 0.1.2
3
+ Version: 0.1.4
4
4
  Summary: A beautiful Python CLI tool built with typer and rich, distributed via pip and based on Pingera SDK
5
5
  Home-page: https://github.com/pingera/pingera-cli
6
6
  Author: PingeraCLI Team
@@ -31,7 +31,7 @@ Description-Content-Type: text/markdown
31
31
  License-File: LICENSE
32
32
  Requires-Dist: typer[all]>=0.9.0
33
33
  Requires-Dist: rich>=13.0.0
34
- Requires-Dist: pingera-sdk
34
+ Requires-Dist: pingera-sdk>=1.0.5
35
35
  Requires-Dist: click>=8.0.0
36
36
  Provides-Extra: dev
37
37
  Requires-Dist: pytest>=6.0; extra == "dev"
@@ -44,7 +44,6 @@ Dynamic: home-page
44
44
  Dynamic: license-file
45
45
  Dynamic: requires-python
46
46
 
47
-
48
47
  # Pingera Platform CLI 🚀
49
48
 
50
49
  A beautiful Python CLI tool for the [Pingera Platform](https://pingera.ru) - built with typer and rich, distributed via pip and based on Pingera SDK.
@@ -61,6 +60,7 @@ A beautiful Python CLI tool for the [Pingera Platform](https://pingera.ru) - bui
61
60
  - **Cross-Platform**: Works on Windows, macOS, and Linux
62
61
  - **Easy Installation**: Simple pip install with all dependencies managed
63
62
  - **Configuration Management**: Flexible configuration with environment variables and config files
63
+ - **Secrets Management**: Manage organization secrets for monitoring checks
64
64
 
65
65
  ## 🚀 Installation
66
66
 
@@ -123,6 +123,40 @@ pngr checks run custom \
123
123
  --name "Quick Test"
124
124
  ```
125
125
 
126
+ ### Manage check groups
127
+ ```bash
128
+ # List all check groups
129
+ pngr checks groups list
130
+
131
+ # Create a new group
132
+ pngr checks groups create \
133
+ --name "Production APIs" \
134
+ --description "Critical production endpoints" \
135
+ --color "#FF5733"
136
+
137
+ # Assign a check to a group
138
+ pngr checks assign-group check_123 --group-id group_456
139
+
140
+ # Remove a check from its group
141
+ pngr checks assign-group check_123 --group-id null
142
+ ```
143
+
144
+ ### Secrets Management
145
+
146
+ ```bash
147
+ # List organization secrets
148
+ pngr secrets list
149
+
150
+ # Create a new secret
151
+ pngr secrets create "DATABASE_PASSWORD"
152
+
153
+ # Update a secret's value
154
+ pngr secrets update sec123abc456
155
+
156
+ # Delete a secret
157
+ pngr secrets delete sec123abc456
158
+ ```
159
+
126
160
  ### List available regions
127
161
  ```bash
128
162
  pngr checks list-regions
@@ -1,4 +1,3 @@
1
-
2
1
  # Pingera Platform CLI 🚀
3
2
 
4
3
  A beautiful Python CLI tool for the [Pingera Platform](https://pingera.ru) - built with typer and rich, distributed via pip and based on Pingera SDK.
@@ -15,6 +14,7 @@ A beautiful Python CLI tool for the [Pingera Platform](https://pingera.ru) - bui
15
14
  - **Cross-Platform**: Works on Windows, macOS, and Linux
16
15
  - **Easy Installation**: Simple pip install with all dependencies managed
17
16
  - **Configuration Management**: Flexible configuration with environment variables and config files
17
+ - **Secrets Management**: Manage organization secrets for monitoring checks
18
18
 
19
19
  ## 🚀 Installation
20
20
 
@@ -77,6 +77,40 @@ pngr checks run custom \
77
77
  --name "Quick Test"
78
78
  ```
79
79
 
80
+ ### Manage check groups
81
+ ```bash
82
+ # List all check groups
83
+ pngr checks groups list
84
+
85
+ # Create a new group
86
+ pngr checks groups create \
87
+ --name "Production APIs" \
88
+ --description "Critical production endpoints" \
89
+ --color "#FF5733"
90
+
91
+ # Assign a check to a group
92
+ pngr checks assign-group check_123 --group-id group_456
93
+
94
+ # Remove a check from its group
95
+ pngr checks assign-group check_123 --group-id null
96
+ ```
97
+
98
+ ### Secrets Management
99
+
100
+ ```bash
101
+ # List organization secrets
102
+ pngr secrets list
103
+
104
+ # Create a new secret
105
+ pngr secrets create "DATABASE_PASSWORD"
106
+
107
+ # Update a secret's value
108
+ pngr secrets update sec123abc456
109
+
110
+ # Delete a secret
111
+ pngr secrets delete sec123abc456
112
+ ```
113
+
80
114
  ### List available regions
81
115
  ```bash
82
116
  pngr checks list-regions
@@ -150,4 +184,4 @@ Contributions are welcome! Please feel free to submit a Pull Request.
150
184
 
151
185
  - **Issues**: [GitHub Issues](https://github.com/pingera/pingera-cli/issues)
152
186
  - **Documentation**: [Pingera CLI Docs](https://docs.pingera.ru/devs/cli)
153
- - **Platform Support**: [app.pingera.ru](https://app.pingera.ru)
187
+ - **Platform Support**: [app.pingera.ru](https://app.pingera.ru)
@@ -1,4 +1,3 @@
1
-
2
1
  # Pingera CLI Commands Specification
3
2
 
4
3
  ## Overview
@@ -11,7 +10,6 @@ These options are available for all commands:
11
10
 
12
11
  ```
13
12
  --api-key <key> API key for authentication (can also use PINGERA_API_KEY env var)
14
- --bearer-token <token> Bearer token for authentication (can also use PINGERA_BEARER_TOKEN env var)
15
13
  --base-url <url> API base URL (default: https://api.pingera.ru)
16
14
  --output <format> Output format: table, json, yaml (default: table)
17
15
  --page-id <id> Default page ID for status page operations (can also use PINGERA_PAGE_ID env var)
@@ -32,41 +30,6 @@ pngr auth status # Check authentication status
32
30
  pngr auth logout # Clear stored credentials
33
31
  ```
34
32
 
35
- ## Alerts Commands
36
-
37
- ### `pngr alerts`
38
- Manage alerts and notifications.
39
-
40
- ```bash
41
- # List alerts
42
- pngr alerts list [--page <num>] [--page-size <size>] [--status <status>]
43
-
44
- # Get specific alert
45
- pngr alerts get <alert-id>
46
-
47
- # Create alert
48
- pngr alerts create --name <name> --type <type> [--channels <channels>] [--enabled]
49
-
50
- # Update alert
51
- pngr alerts update <alert-id> [--name <name>] [--enabled/--disabled]
52
-
53
- # Delete alert
54
- pngr alerts delete <alert-id> [--confirm]
55
-
56
- # Get alert statistics
57
- pngr alerts stats
58
-
59
- # Manage alert channels
60
- pngr alerts channels list
61
- pngr alerts channels create --name <name> --type <type> --config <json>
62
- pngr alerts channels delete <channel-id>
63
-
64
- # Manage alert rules
65
- pngr alerts rules list
66
- pngr alerts rules create --name <name> --conditions <json>
67
- pngr alerts rules delete <rule-id>
68
- ```
69
-
70
33
  ## Checks Commands
71
34
 
72
35
  ### `pngr checks`
@@ -74,7 +37,7 @@ Manage monitoring checks.
74
37
 
75
38
  ```bash
76
39
  # List checks
77
- pngr checks list [--page <num>] [--page-size <size>] [--type <type>] [--status <status>]
40
+ pngr checks list [--page <num>] [--page-size <size>] [--type <type>] [--status <status>] [--name <name>] [--group-id <id>]
78
41
 
79
42
  # Get specific check
80
43
  pngr checks get <check-id>
@@ -88,63 +51,61 @@ pngr checks update <check-id> [--name <name>] [--url <url>] [--host <host>] [--p
88
51
  # Delete check
89
52
  pngr checks delete <check-id> [--confirm]
90
53
 
54
+ # Assign check to group
55
+ pngr checks assign-group <check-id> [--group-id <group-id>]
56
+
91
57
  # Get check results
92
58
  pngr checks results <check-id> [--from <date>] [--to <date>] [--page <num>] [--page-size <size>]
93
59
 
94
60
  # Get detailed result information
95
61
  pngr checks result <check-id> <result-id>
96
62
 
97
- # Find checks by criteria
98
- pngr checks find --name <partial-name>
99
- pngr checks find --url <partial-url>
100
- pngr checks find --type <check-type>
101
- pngr checks find --name <name> --type <type>
102
-
103
- # Manage check jobs
63
+ # Manage on-demand check jobs
104
64
  pngr checks jobs list
105
65
  pngr checks jobs get <job-id>
106
66
  ```
107
67
 
108
- ### `pngr checks results`
109
- Query unified check results.
68
+ ### `pngr checks groups`
69
+ Manage check groups for organizing checks.
110
70
 
111
71
  ```bash
112
- # Get unified results
113
- pngr checks results unified [--check-ids <id1,id2>] [--from <date>] [--to <date>] [--status <status>] [--page <num>]
72
+ # List all check groups
73
+ pngr checks groups list
114
74
 
115
- # Get aggregated statistics
116
- pngr checks results stats [--check-ids <id1,id2>] [--from <date>] [--to <date>]
117
- ```
75
+ # Get a specific check group
76
+ pngr checks groups get <group_id>
118
77
 
119
- ## Heartbeats Commands
78
+ # Create a new check group
79
+ pngr checks groups create "API Endpoints" --description "All API endpoint checks" --color "#4F46E5"
120
80
 
121
- ### `pngr heartbeats`
122
- Manage heartbeat monitoring.
81
+ # Update a check group
82
+ pngr checks groups update <group_id> --name "Updated Name" --description "Updated description"
123
83
 
124
- ```bash
125
- # List heartbeats
126
- pngr heartbeats list [--page <num>] [--page-size <size>] [--status <status>]
84
+ # Delete a check group
85
+ pngr checks groups delete <group_id>
86
+ ```
127
87
 
128
- # Get specific heartbeat
129
- pngr heartbeats get <heartbeat-id>
88
+ ### `pngr checks secrets`
89
+ Manage secret associations for checks to inject environment variables.
130
90
 
131
- # Create heartbeat
132
- pngr heartbeats create --name <name> --interval <seconds> [--grace-period <seconds>]
91
+ ```bash
92
+ # List all secrets associated with a check
93
+ pngr checks secrets list <check_id>
133
94
 
134
- # Update heartbeat
135
- pngr heartbeats update <heartbeat-id> [--name <name>] [--interval <seconds>]
95
+ # Add a secret to a check with environment variable name
96
+ pngr checks secrets add <check_id> <secret_id> DATABASE_PASSWORD
136
97
 
137
- # Delete heartbeat
138
- pngr heartbeats delete <heartbeat-id> [--confirm]
98
+ # Remove a secret association from a check
99
+ pngr checks secrets remove <check_id> <secret_id>
139
100
 
140
- # Send heartbeat ping
141
- pngr heartbeats ping <heartbeat-id>
101
+ # Remove a secret without confirmation
102
+ pngr checks secrets remove <check_id> <secret_id> --force
142
103
 
143
- # Get heartbeat logs
144
- pngr heartbeats logs <heartbeat-id> [--from <date>] [--to <date>] [--page <num>]
104
+ # Replace all secret associations for a check
105
+ pngr checks secrets update-all <check_id> --associations '[{"secret_id": "sec123", "env_variable": "DB_PASS"}, {"secret_id": "sec456", "env_variable": "API_KEY"}]'
145
106
  ```
146
107
 
147
- ## On-Demand Checks Commands
108
+ ## On-Demand Checks Commands
148
109
 
149
110
  ### `pngr checks run`
150
111
  Execute checks on demand.
@@ -171,7 +132,70 @@ pngr checks jobs result <job-id>
171
132
  pngr checks jobs list
172
133
  ```
173
134
 
174
- ## Status Pages Commands
135
+ ## Alerts Commands (soon)
136
+
137
+ ### `pngr alerts`
138
+ Manage alerts and notifications.
139
+
140
+ ```bash
141
+ # List alerts
142
+ pngr alerts list [--page <num>] [--page-size <size>] [--status <status>]
143
+
144
+ # Get specific alert
145
+ pngr alerts get <alert-id>
146
+
147
+ # Create alert
148
+ pngr alerts create --name <name> --type <type> [--channels <channels>] [--enabled]
149
+
150
+ # Update alert
151
+ pngr alerts update <alert-id> [--name <name>] [--enabled/--disabled]
152
+
153
+ # Delete alert
154
+ pngr alerts delete <alert-id> [--confirm]
155
+
156
+ # Get alert statistics
157
+ pngr alerts stats
158
+
159
+ # Manage alert channels
160
+ pngr alerts channels list
161
+ pngr alerts channels create --name <name> --type <type> --config <json>
162
+ pngr alerts channels delete <channel-id>
163
+
164
+ # Manage alert rules
165
+ pngr alerts rules list
166
+ pngr alerts rules create --name <name> --conditions <json>
167
+ pngr alerts rules delete <rule-id>
168
+ ```
169
+
170
+ ## Heartbeats Commands (soon)
171
+
172
+ ### `pngr heartbeats`
173
+ Manage heartbeat monitoring.
174
+
175
+ ```bash
176
+ # List heartbeats
177
+ pngr heartbeats list [--page <num>] [--page-size <size>] [--status <status>]
178
+
179
+ # Get specific heartbeat
180
+ pngr heartbeats get <heartbeat-id>
181
+
182
+ # Create heartbeat
183
+ pngr heartbeats create --name <name> --interval <seconds> [--grace-period <seconds>]
184
+
185
+ # Update heartbeat
186
+ pngr heartbeats update <heartbeat-id> [--name <name>] [--interval <seconds>]
187
+
188
+ # Delete heartbeat
189
+ pngr heartbeats delete <heartbeat-id> [--confirm]
190
+
191
+ # Send heartbeat ping
192
+ pngr heartbeats ping <heartbeat-id>
193
+
194
+ # Get heartbeat logs
195
+ pngr heartbeats logs <heartbeat-id> [--from <date>] [--to <date>] [--page <num>]
196
+ ```
197
+
198
+ ## Status Pages Commands (soon)
175
199
 
176
200
  ### `pngr pages`
177
201
  Manage status pages.
@@ -249,6 +273,41 @@ pngr incidents updates update <incident-id> <update-id> --body <text> [--page-id
249
273
  pngr incidents updates delete <incident-id> <update-id> [--page-id <id>] [--confirm]
250
274
  ```
251
275
 
276
+ ## Secrets Management
277
+
278
+ Manage organization secrets for use in monitoring checks:
279
+
280
+ ```bash
281
+ # List all secrets
282
+ pngr secrets list
283
+
284
+ # List secrets with pagination
285
+ pngr secrets list --page 2 --page-size 50
286
+
287
+ # Get a specific secret by ID
288
+ pngr secrets get sec123abc456
289
+
290
+ # Create a new secret (will prompt for value securely)
291
+ pngr secrets create "DATABASE_PASSWORD"
292
+
293
+ # Create a secret with value provided via option
294
+ pngr secrets create "API_KEY" --value "your-secret-value"
295
+
296
+ # Update a secret's value (will prompt for new value securely)
297
+ pngr secrets update sec123abc456
298
+
299
+ # Update a secret with value provided via option
300
+ pngr secrets update sec123abc456 --value "new-secret-value"
301
+
302
+ # Delete a secret (with confirmation)
303
+ pngr secrets delete sec123abc456
304
+
305
+ # Delete a secret without confirmation
306
+ pngr secrets delete sec123abc456 --force
307
+ ```
308
+
309
+ **Note:** Secret values are hidden in list views for security. Only individual secret retrieval shows the actual value (when permissions allow).
310
+
252
311
  ## Configuration Commands
253
312
 
254
313
  ### `pngr config`
@@ -330,15 +389,6 @@ display:
330
389
  timestamps: "relative" # relative, absolute, none
331
390
  ```
332
391
 
333
- ## Command Aliases
334
-
335
- Short aliases for common commands:
336
- - `pngr ls` → `pngr checks list`
337
- - `pngr ps` → `pngr pages list`
338
- - `pngr cs` → `pngr components list`
339
- - `pngr is` → `pngr incidents list`
340
- - `pngr st` → `pngr components status`
341
-
342
392
  ## Examples
343
393
 
344
394
  ```bash
@@ -394,8 +444,29 @@ pngr checks update check_123 --interval 600 --active
394
444
  # Get check results for last 24 hours
395
445
  pngr checks results check_123 --from 1d
396
446
 
397
- # Export incidents as JSON
398
- pngr incidents list --output json > incidents.json
399
- ```
447
+ # List all check groups
448
+ pngr checks groups list
449
+
450
+ # Create a new check group
451
+ pngr checks groups create --name "Production APIs" --description "Critical production API endpoints" --color "#FF5733" --position 1
452
+
453
+ # Get specific group details
454
+ pngr checks groups get group_123
455
+
456
+ # Update a group
457
+ pngr checks groups update group_123 --name "Updated Group Name" --color "#4F46E5"
458
+
459
+ # Delete a group
460
+ pngr checks groups delete group_123
400
461
 
401
- This command structure provides comprehensive coverage of all SDK functionality while maintaining an intuitive and consistent CLI experience.
462
+ # Get checks in a specific group
463
+ pngr checks groups checks group_123
464
+
465
+ # Assign a check to a group
466
+ pngr checks assign-group check_123 --group-id group_456
467
+
468
+ # Remove check from group
469
+ pngr checks assign-group check_123 --group-id null
470
+
471
+ # Export incidents as JSON
472
+ pngr incidents list --output json > incidents.json
@@ -2,7 +2,7 @@
2
2
  Pingera CLI - A beautiful CLI tool for Pingera Platform
3
3
  """
4
4
 
5
- __version__ = "0.1.2"
5
+ __version__ = "0.1.4"
6
6
  __author__ = "Pingera Team"
7
7
  __description__ = "A beautiful Python CLI tool built with typer and rich, distributed via pip and based on Pingera SDK"
8
8