devnomads-cli 0.11.1__tar.gz → 0.12.0__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 (22) hide show
  1. {devnomads_cli-0.11.1 → devnomads_cli-0.12.0}/PKG-INFO +18 -11
  2. {devnomads_cli-0.11.1 → devnomads_cli-0.12.0}/README.md +17 -10
  3. {devnomads_cli-0.11.1 → devnomads_cli-0.12.0}/devnomads_cli.egg-info/PKG-INFO +18 -11
  4. {devnomads_cli-0.11.1 → devnomads_cli-0.12.0}/dncli.py +358 -75
  5. {devnomads_cli-0.11.1 → devnomads_cli-0.12.0}/pyproject.toml +1 -1
  6. {devnomads_cli-0.11.1 → devnomads_cli-0.12.0}/tests/test_cert.py +29 -22
  7. {devnomads_cli-0.11.1 → devnomads_cli-0.12.0}/tests/test_cli.py +21 -1
  8. {devnomads_cli-0.11.1 → devnomads_cli-0.12.0}/tests/test_generate.py +24 -0
  9. devnomads_cli-0.12.0/tests/test_versions.py +333 -0
  10. devnomads_cli-0.11.1/tests/test_versions.py +0 -157
  11. {devnomads_cli-0.11.1 → devnomads_cli-0.12.0}/LICENSE +0 -0
  12. {devnomads_cli-0.11.1 → devnomads_cli-0.12.0}/devnomads_cli.egg-info/SOURCES.txt +0 -0
  13. {devnomads_cli-0.11.1 → devnomads_cli-0.12.0}/devnomads_cli.egg-info/dependency_links.txt +0 -0
  14. {devnomads_cli-0.11.1 → devnomads_cli-0.12.0}/devnomads_cli.egg-info/entry_points.txt +0 -0
  15. {devnomads_cli-0.11.1 → devnomads_cli-0.12.0}/devnomads_cli.egg-info/requires.txt +0 -0
  16. {devnomads_cli-0.11.1 → devnomads_cli-0.12.0}/devnomads_cli.egg-info/top_level.txt +0 -0
  17. {devnomads_cli-0.11.1 → devnomads_cli-0.12.0}/setup.cfg +0 -0
  18. {devnomads_cli-0.11.1 → devnomads_cli-0.12.0}/tests/test_config.py +0 -0
  19. {devnomads_cli-0.11.1 → devnomads_cli-0.12.0}/tests/test_generated_cli.py +0 -0
  20. {devnomads_cli-0.11.1 → devnomads_cli-0.12.0}/tests/test_helpers.py +0 -0
  21. {devnomads_cli-0.11.1 → devnomads_cli-0.12.0}/tests/test_hook.py +0 -0
  22. {devnomads_cli-0.11.1 → devnomads_cli-0.12.0}/tests/test_transfer.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devnomads-cli
3
- Version: 0.11.1
3
+ Version: 0.12.0
4
4
  Summary: Manage your DevNomads services from the command line
5
5
  Author-email: DevNomads <support@devnomads.nl>
6
6
  License: MIT
@@ -46,16 +46,20 @@ devnomads-cli`) work as well.
46
46
 
47
47
  ### Updates
48
48
 
49
- Update with:
49
+ Upgrade with:
50
50
 
51
51
  ```sh
52
- uv tool upgrade devnomads-cli
52
+ dncli upgrade
53
53
  ```
54
54
 
55
+ It uses the tool you installed dncli with (uv, pipx, or pip in a
56
+ virtualenv); where it can't, such as a system-wide pip install or on
57
+ Windows, it prints the command to run instead. `dncli upgrade --dry-run`
58
+ shows what it would do.
59
+
55
60
  dncli checks PyPI at most once a day and tells you when a new version
56
- is out, with the command to update the way you installed it. It only
57
- does so on an interactive terminal, never in pipes, scripts or CI; set
58
- `DN_NO_UPDATE_CHECK=1` to turn it off.
61
+ is out. It only does so on an interactive terminal, never in pipes,
62
+ scripts or CI; set `DN_NO_UPDATE_CHECK=1` to turn it off.
59
63
 
60
64
  dncli also warns when the DevNomads API reports a major version it was
61
65
  not built for, and tells you when the API no longer supports your
@@ -241,9 +245,9 @@ DNS-01 challenge records would not be visible to the CA.
241
245
 
242
246
  The certificate is always written to `~/.config/dncli/certs/<domain>/`
243
247
  as `cert.pem`, `fullchain.pem`, `chain.pem`, and `privkey.pem` (0600).
244
- Pass `--out <file>` to additionally export a single PEM bundle of
245
- exactly three blocks - the key, the certificate, and the issuing
246
- intermediate, in that order. Add `-v`/`--verbose` for detailed ACME
248
+ Pass `--out <file>` to additionally export a single PEM bundle of the
249
+ key, the certificate, and the full chain (intermediate plus any
250
+ cross-signed roots), in that order. Add `-v`/`--verbose` for detailed ACME
247
251
  progress.
248
252
 
249
253
  Keys are ECDSA P-384 by default. Pick another with `--key-type`
@@ -285,8 +289,11 @@ dncli certs export example.com --format pfx --out bundle.pfx --passphrase secret
285
289
  ```
286
290
 
287
291
  The `.pfx` is unencrypted unless you pass `--passphrase` (alias
288
- `--password`). Both bundle formats carry the same three items: key,
289
- certificate, and the issuing intermediate.
292
+ `--password`). Both bundle formats carry the same items: key,
293
+ certificate, and the full chain. The chain includes the cross-signs:
294
+ with Let's Encrypt's current hierarchy the path to a trusted root runs
295
+ through the intermediate (e.g. YE2), Root YE (cross-signed by ISRG
296
+ Root X2) and ISRG Root X2 (cross-signed by ISRG Root X1).
290
297
 
291
298
  `dncli certs delete <domain>` removes a stored certificate and its
292
299
  private key from disk (after confirmation; `--yes` skips it). By
@@ -30,16 +30,20 @@ devnomads-cli`) work as well.
30
30
 
31
31
  ### Updates
32
32
 
33
- Update with:
33
+ Upgrade with:
34
34
 
35
35
  ```sh
36
- uv tool upgrade devnomads-cli
36
+ dncli upgrade
37
37
  ```
38
38
 
39
+ It uses the tool you installed dncli with (uv, pipx, or pip in a
40
+ virtualenv); where it can't, such as a system-wide pip install or on
41
+ Windows, it prints the command to run instead. `dncli upgrade --dry-run`
42
+ shows what it would do.
43
+
39
44
  dncli checks PyPI at most once a day and tells you when a new version
40
- is out, with the command to update the way you installed it. It only
41
- does so on an interactive terminal, never in pipes, scripts or CI; set
42
- `DN_NO_UPDATE_CHECK=1` to turn it off.
45
+ is out. It only does so on an interactive terminal, never in pipes,
46
+ scripts or CI; set `DN_NO_UPDATE_CHECK=1` to turn it off.
43
47
 
44
48
  dncli also warns when the DevNomads API reports a major version it was
45
49
  not built for, and tells you when the API no longer supports your
@@ -225,9 +229,9 @@ DNS-01 challenge records would not be visible to the CA.
225
229
 
226
230
  The certificate is always written to `~/.config/dncli/certs/<domain>/`
227
231
  as `cert.pem`, `fullchain.pem`, `chain.pem`, and `privkey.pem` (0600).
228
- Pass `--out <file>` to additionally export a single PEM bundle of
229
- exactly three blocks - the key, the certificate, and the issuing
230
- intermediate, in that order. Add `-v`/`--verbose` for detailed ACME
232
+ Pass `--out <file>` to additionally export a single PEM bundle of the
233
+ key, the certificate, and the full chain (intermediate plus any
234
+ cross-signed roots), in that order. Add `-v`/`--verbose` for detailed ACME
231
235
  progress.
232
236
 
233
237
  Keys are ECDSA P-384 by default. Pick another with `--key-type`
@@ -269,8 +273,11 @@ dncli certs export example.com --format pfx --out bundle.pfx --passphrase secret
269
273
  ```
270
274
 
271
275
  The `.pfx` is unencrypted unless you pass `--passphrase` (alias
272
- `--password`). Both bundle formats carry the same three items: key,
273
- certificate, and the issuing intermediate.
276
+ `--password`). Both bundle formats carry the same items: key,
277
+ certificate, and the full chain. The chain includes the cross-signs:
278
+ with Let's Encrypt's current hierarchy the path to a trusted root runs
279
+ through the intermediate (e.g. YE2), Root YE (cross-signed by ISRG
280
+ Root X2) and ISRG Root X2 (cross-signed by ISRG Root X1).
274
281
 
275
282
  `dncli certs delete <domain>` removes a stored certificate and its
276
283
  private key from disk (after confirmation; `--yes` skips it). By
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devnomads-cli
3
- Version: 0.11.1
3
+ Version: 0.12.0
4
4
  Summary: Manage your DevNomads services from the command line
5
5
  Author-email: DevNomads <support@devnomads.nl>
6
6
  License: MIT
@@ -46,16 +46,20 @@ devnomads-cli`) work as well.
46
46
 
47
47
  ### Updates
48
48
 
49
- Update with:
49
+ Upgrade with:
50
50
 
51
51
  ```sh
52
- uv tool upgrade devnomads-cli
52
+ dncli upgrade
53
53
  ```
54
54
 
55
+ It uses the tool you installed dncli with (uv, pipx, or pip in a
56
+ virtualenv); where it can't, such as a system-wide pip install or on
57
+ Windows, it prints the command to run instead. `dncli upgrade --dry-run`
58
+ shows what it would do.
59
+
55
60
  dncli checks PyPI at most once a day and tells you when a new version
56
- is out, with the command to update the way you installed it. It only
57
- does so on an interactive terminal, never in pipes, scripts or CI; set
58
- `DN_NO_UPDATE_CHECK=1` to turn it off.
61
+ is out. It only does so on an interactive terminal, never in pipes,
62
+ scripts or CI; set `DN_NO_UPDATE_CHECK=1` to turn it off.
59
63
 
60
64
  dncli also warns when the DevNomads API reports a major version it was
61
65
  not built for, and tells you when the API no longer supports your
@@ -241,9 +245,9 @@ DNS-01 challenge records would not be visible to the CA.
241
245
 
242
246
  The certificate is always written to `~/.config/dncli/certs/<domain>/`
243
247
  as `cert.pem`, `fullchain.pem`, `chain.pem`, and `privkey.pem` (0600).
244
- Pass `--out <file>` to additionally export a single PEM bundle of
245
- exactly three blocks - the key, the certificate, and the issuing
246
- intermediate, in that order. Add `-v`/`--verbose` for detailed ACME
248
+ Pass `--out <file>` to additionally export a single PEM bundle of the
249
+ key, the certificate, and the full chain (intermediate plus any
250
+ cross-signed roots), in that order. Add `-v`/`--verbose` for detailed ACME
247
251
  progress.
248
252
 
249
253
  Keys are ECDSA P-384 by default. Pick another with `--key-type`
@@ -285,8 +289,11 @@ dncli certs export example.com --format pfx --out bundle.pfx --passphrase secret
285
289
  ```
286
290
 
287
291
  The `.pfx` is unencrypted unless you pass `--passphrase` (alias
288
- `--password`). Both bundle formats carry the same three items: key,
289
- certificate, and the issuing intermediate.
292
+ `--password`). Both bundle formats carry the same items: key,
293
+ certificate, and the full chain. The chain includes the cross-signs:
294
+ with Let's Encrypt's current hierarchy the path to a trusted root runs
295
+ through the intermediate (e.g. YE2), Root YE (cross-signed by ISRG
296
+ Root X2) and ISRG Root X2 (cross-signed by ISRG Root X1).
290
297
 
291
298
  `dncli certs delete <domain>` removes a stored certificate and its
292
299
  private key from disk (after confirmation; `--yes` skips it). By