devnomads-cli 0.5.5__tar.gz → 0.5.8__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.
- {devnomads_cli-0.5.5 → devnomads_cli-0.5.8}/PKG-INFO +44 -8
- {devnomads_cli-0.5.5 → devnomads_cli-0.5.8}/README.md +42 -6
- {devnomads_cli-0.5.5 → devnomads_cli-0.5.8}/devnomads_cli.egg-info/PKG-INFO +44 -8
- {devnomads_cli-0.5.5 → devnomads_cli-0.5.8}/devnomads_cli.egg-info/requires.txt +1 -1
- {devnomads_cli-0.5.5 → devnomads_cli-0.5.8}/dncli.py +801 -222
- {devnomads_cli-0.5.5 → devnomads_cli-0.5.8}/pyproject.toml +2 -2
- {devnomads_cli-0.5.5 → devnomads_cli-0.5.8}/tests/test_cert.py +129 -2
- {devnomads_cli-0.5.5 → devnomads_cli-0.5.8}/tests/test_cli.py +80 -15
- {devnomads_cli-0.5.5 → devnomads_cli-0.5.8}/tests/test_generated_cli.py +84 -8
- {devnomads_cli-0.5.5 → devnomads_cli-0.5.8}/tests/test_helpers.py +24 -0
- {devnomads_cli-0.5.5 → devnomads_cli-0.5.8}/tests/test_transfer.py +2 -1
- {devnomads_cli-0.5.5 → devnomads_cli-0.5.8}/LICENSE +0 -0
- {devnomads_cli-0.5.5 → devnomads_cli-0.5.8}/devnomads_cli.egg-info/SOURCES.txt +0 -0
- {devnomads_cli-0.5.5 → devnomads_cli-0.5.8}/devnomads_cli.egg-info/dependency_links.txt +0 -0
- {devnomads_cli-0.5.5 → devnomads_cli-0.5.8}/devnomads_cli.egg-info/entry_points.txt +0 -0
- {devnomads_cli-0.5.5 → devnomads_cli-0.5.8}/devnomads_cli.egg-info/top_level.txt +0 -0
- {devnomads_cli-0.5.5 → devnomads_cli-0.5.8}/setup.cfg +0 -0
- {devnomads_cli-0.5.5 → devnomads_cli-0.5.8}/tests/test_config.py +0 -0
- {devnomads_cli-0.5.5 → devnomads_cli-0.5.8}/tests/test_generate.py +0 -0
- {devnomads_cli-0.5.5 → devnomads_cli-0.5.8}/tests/test_hook.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: devnomads-cli
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.8
|
|
4
4
|
Summary: Manage your DevNomads services from the command line
|
|
5
5
|
Author-email: DevNomads <support@devnomads.nl>
|
|
6
6
|
License: MIT
|
|
@@ -11,7 +11,7 @@ Requires-Dist: typer>=0.12
|
|
|
11
11
|
Requires-Dist: httpx>=0.27
|
|
12
12
|
Requires-Dist: rich>=13
|
|
13
13
|
Requires-Dist: cryptography>=42
|
|
14
|
-
Requires-Dist: devnomads[acme]>=0.2.
|
|
14
|
+
Requires-Dist: devnomads[acme]>=0.2.5
|
|
15
15
|
Dynamic: license-file
|
|
16
16
|
|
|
17
17
|
# dncli
|
|
@@ -111,15 +111,29 @@ export DN_PROFILE=acme
|
|
|
111
111
|
## Scripting
|
|
112
112
|
|
|
113
113
|
Output is a human-readable table on a terminal and JSON when piped,
|
|
114
|
-
so pipelines get parseable output without any flags; `--
|
|
115
|
-
|
|
116
|
-
(warnings, prompts, status messages) to stderr, so
|
|
117
|
-
is always safe.
|
|
114
|
+
so pipelines get parseable output without any flags; `--out
|
|
115
|
+
table|json|csv|tsv` forces a specific format. Data goes to stdout,
|
|
116
|
+
everything else (warnings, prompts, status messages) to stderr, so
|
|
117
|
+
`dncli ... | jq .` is always safe.
|
|
118
|
+
|
|
119
|
+
The `csv` and `tsv` formats use the same columns as the table view, so
|
|
120
|
+
`dncli servers list --out csv` is ready for a spreadsheet.
|
|
118
121
|
|
|
119
122
|
List tables show a focused set of columns: fields that are empty for
|
|
120
123
|
every row, and nested collections (a server's IPs, a container's
|
|
121
124
|
instances, a mailbox list) are left out of the overview. Use `<group>
|
|
122
|
-
show <id>` or `--json` for the complete record.
|
|
125
|
+
show <id>` or `--out json` for the complete record.
|
|
126
|
+
|
|
127
|
+
To pick exactly the columns you want, pass `--columns` (`-c`) a
|
|
128
|
+
comma-separated list, e.g. `dncli services list -c entity,started_at`.
|
|
129
|
+
It applies to every format, projecting json and csv/tsv to just those
|
|
130
|
+
fields, and reports an error on an unknown column name.
|
|
131
|
+
|
|
132
|
+
Commands that take a service id also accept a unique entity name and
|
|
133
|
+
resolve it for you, so `dncli domains show example.com` works as well
|
|
134
|
+
as `dncli domains show 1234`. A purely numeric value is always treated
|
|
135
|
+
as an id; an entity that matches more than one service is rejected, so
|
|
136
|
+
pass the id when an entity is not unique.
|
|
123
137
|
|
|
124
138
|
In CI and pipelines, skip the credentials file and pass the key via
|
|
125
139
|
the environment:
|
|
@@ -154,11 +168,33 @@ progress.
|
|
|
154
168
|
Keys are ECDSA P-384 by default. Pick another with `--key-type`
|
|
155
169
|
(`ecdsa256`, `ecdsa384`, `ecdsa521`, `rsa2048`, `rsa4096`).
|
|
156
170
|
|
|
171
|
+
Let's Encrypt is the certificate authority by default. Pass
|
|
172
|
+
`--provider zerossl` to use ZeroSSL instead. ZeroSSL requires External
|
|
173
|
+
Account Binding credentials (create an EAB key pair in the ZeroSSL
|
|
174
|
+
dashboard under Developer > EAB Credentials), supplied with `--eab-kid`
|
|
175
|
+
and `--eab-hmac-key` or the `DN_ZEROSSL_EAB_KID` and
|
|
176
|
+
`DN_ZEROSSL_EAB_HMAC_KEY` environment variables:
|
|
177
|
+
|
|
178
|
+
```sh
|
|
179
|
+
dncli cert issue example.com --provider zerossl \
|
|
180
|
+
--eab-kid <kid> --eab-hmac-key <hmac>
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
`--staging` (the Let's Encrypt staging CA) applies only to the
|
|
184
|
+
letsencrypt provider. `cert renew` takes the same `--provider` and EAB
|
|
185
|
+
options.
|
|
186
|
+
|
|
187
|
+
Each CA gets its own ACME account: the key lives in
|
|
188
|
+
`~/.config/dncli/acme/` as `account.pem` for Let's Encrypt production
|
|
189
|
+
and `account-<provider>.pem` for ZeroSSL and the staging CA.
|
|
190
|
+
|
|
157
191
|
Re-running `cert issue` is a no-op while the existing certificate is
|
|
158
192
|
still valid for more than 21 days; pass `--force` to re-issue anyway.
|
|
159
193
|
|
|
160
194
|
List what you have issued and re-export any of them - as a PEM bundle
|
|
161
|
-
or a PKCS#12 (`.pfx`) file - without re-issuing
|
|
195
|
+
or a PKCS#12 (`.pfx`) file - without re-issuing. `cert list` includes a
|
|
196
|
+
`provider` column showing the issuing CA (recorded at issue time, or
|
|
197
|
+
inferred from the certificate's issuer for older certificates):
|
|
162
198
|
|
|
163
199
|
```sh
|
|
164
200
|
dncli cert list
|
|
@@ -95,15 +95,29 @@ export DN_PROFILE=acme
|
|
|
95
95
|
## Scripting
|
|
96
96
|
|
|
97
97
|
Output is a human-readable table on a terminal and JSON when piped,
|
|
98
|
-
so pipelines get parseable output without any flags; `--
|
|
99
|
-
|
|
100
|
-
(warnings, prompts, status messages) to stderr, so
|
|
101
|
-
is always safe.
|
|
98
|
+
so pipelines get parseable output without any flags; `--out
|
|
99
|
+
table|json|csv|tsv` forces a specific format. Data goes to stdout,
|
|
100
|
+
everything else (warnings, prompts, status messages) to stderr, so
|
|
101
|
+
`dncli ... | jq .` is always safe.
|
|
102
|
+
|
|
103
|
+
The `csv` and `tsv` formats use the same columns as the table view, so
|
|
104
|
+
`dncli servers list --out csv` is ready for a spreadsheet.
|
|
102
105
|
|
|
103
106
|
List tables show a focused set of columns: fields that are empty for
|
|
104
107
|
every row, and nested collections (a server's IPs, a container's
|
|
105
108
|
instances, a mailbox list) are left out of the overview. Use `<group>
|
|
106
|
-
show <id>` or `--json` for the complete record.
|
|
109
|
+
show <id>` or `--out json` for the complete record.
|
|
110
|
+
|
|
111
|
+
To pick exactly the columns you want, pass `--columns` (`-c`) a
|
|
112
|
+
comma-separated list, e.g. `dncli services list -c entity,started_at`.
|
|
113
|
+
It applies to every format, projecting json and csv/tsv to just those
|
|
114
|
+
fields, and reports an error on an unknown column name.
|
|
115
|
+
|
|
116
|
+
Commands that take a service id also accept a unique entity name and
|
|
117
|
+
resolve it for you, so `dncli domains show example.com` works as well
|
|
118
|
+
as `dncli domains show 1234`. A purely numeric value is always treated
|
|
119
|
+
as an id; an entity that matches more than one service is rejected, so
|
|
120
|
+
pass the id when an entity is not unique.
|
|
107
121
|
|
|
108
122
|
In CI and pipelines, skip the credentials file and pass the key via
|
|
109
123
|
the environment:
|
|
@@ -138,11 +152,33 @@ progress.
|
|
|
138
152
|
Keys are ECDSA P-384 by default. Pick another with `--key-type`
|
|
139
153
|
(`ecdsa256`, `ecdsa384`, `ecdsa521`, `rsa2048`, `rsa4096`).
|
|
140
154
|
|
|
155
|
+
Let's Encrypt is the certificate authority by default. Pass
|
|
156
|
+
`--provider zerossl` to use ZeroSSL instead. ZeroSSL requires External
|
|
157
|
+
Account Binding credentials (create an EAB key pair in the ZeroSSL
|
|
158
|
+
dashboard under Developer > EAB Credentials), supplied with `--eab-kid`
|
|
159
|
+
and `--eab-hmac-key` or the `DN_ZEROSSL_EAB_KID` and
|
|
160
|
+
`DN_ZEROSSL_EAB_HMAC_KEY` environment variables:
|
|
161
|
+
|
|
162
|
+
```sh
|
|
163
|
+
dncli cert issue example.com --provider zerossl \
|
|
164
|
+
--eab-kid <kid> --eab-hmac-key <hmac>
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
`--staging` (the Let's Encrypt staging CA) applies only to the
|
|
168
|
+
letsencrypt provider. `cert renew` takes the same `--provider` and EAB
|
|
169
|
+
options.
|
|
170
|
+
|
|
171
|
+
Each CA gets its own ACME account: the key lives in
|
|
172
|
+
`~/.config/dncli/acme/` as `account.pem` for Let's Encrypt production
|
|
173
|
+
and `account-<provider>.pem` for ZeroSSL and the staging CA.
|
|
174
|
+
|
|
141
175
|
Re-running `cert issue` is a no-op while the existing certificate is
|
|
142
176
|
still valid for more than 21 days; pass `--force` to re-issue anyway.
|
|
143
177
|
|
|
144
178
|
List what you have issued and re-export any of them - as a PEM bundle
|
|
145
|
-
or a PKCS#12 (`.pfx`) file - without re-issuing
|
|
179
|
+
or a PKCS#12 (`.pfx`) file - without re-issuing. `cert list` includes a
|
|
180
|
+
`provider` column showing the issuing CA (recorded at issue time, or
|
|
181
|
+
inferred from the certificate's issuer for older certificates):
|
|
146
182
|
|
|
147
183
|
```sh
|
|
148
184
|
dncli cert list
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: devnomads-cli
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.8
|
|
4
4
|
Summary: Manage your DevNomads services from the command line
|
|
5
5
|
Author-email: DevNomads <support@devnomads.nl>
|
|
6
6
|
License: MIT
|
|
@@ -11,7 +11,7 @@ Requires-Dist: typer>=0.12
|
|
|
11
11
|
Requires-Dist: httpx>=0.27
|
|
12
12
|
Requires-Dist: rich>=13
|
|
13
13
|
Requires-Dist: cryptography>=42
|
|
14
|
-
Requires-Dist: devnomads[acme]>=0.2.
|
|
14
|
+
Requires-Dist: devnomads[acme]>=0.2.5
|
|
15
15
|
Dynamic: license-file
|
|
16
16
|
|
|
17
17
|
# dncli
|
|
@@ -111,15 +111,29 @@ export DN_PROFILE=acme
|
|
|
111
111
|
## Scripting
|
|
112
112
|
|
|
113
113
|
Output is a human-readable table on a terminal and JSON when piped,
|
|
114
|
-
so pipelines get parseable output without any flags; `--
|
|
115
|
-
|
|
116
|
-
(warnings, prompts, status messages) to stderr, so
|
|
117
|
-
is always safe.
|
|
114
|
+
so pipelines get parseable output without any flags; `--out
|
|
115
|
+
table|json|csv|tsv` forces a specific format. Data goes to stdout,
|
|
116
|
+
everything else (warnings, prompts, status messages) to stderr, so
|
|
117
|
+
`dncli ... | jq .` is always safe.
|
|
118
|
+
|
|
119
|
+
The `csv` and `tsv` formats use the same columns as the table view, so
|
|
120
|
+
`dncli servers list --out csv` is ready for a spreadsheet.
|
|
118
121
|
|
|
119
122
|
List tables show a focused set of columns: fields that are empty for
|
|
120
123
|
every row, and nested collections (a server's IPs, a container's
|
|
121
124
|
instances, a mailbox list) are left out of the overview. Use `<group>
|
|
122
|
-
show <id>` or `--json` for the complete record.
|
|
125
|
+
show <id>` or `--out json` for the complete record.
|
|
126
|
+
|
|
127
|
+
To pick exactly the columns you want, pass `--columns` (`-c`) a
|
|
128
|
+
comma-separated list, e.g. `dncli services list -c entity,started_at`.
|
|
129
|
+
It applies to every format, projecting json and csv/tsv to just those
|
|
130
|
+
fields, and reports an error on an unknown column name.
|
|
131
|
+
|
|
132
|
+
Commands that take a service id also accept a unique entity name and
|
|
133
|
+
resolve it for you, so `dncli domains show example.com` works as well
|
|
134
|
+
as `dncli domains show 1234`. A purely numeric value is always treated
|
|
135
|
+
as an id; an entity that matches more than one service is rejected, so
|
|
136
|
+
pass the id when an entity is not unique.
|
|
123
137
|
|
|
124
138
|
In CI and pipelines, skip the credentials file and pass the key via
|
|
125
139
|
the environment:
|
|
@@ -154,11 +168,33 @@ progress.
|
|
|
154
168
|
Keys are ECDSA P-384 by default. Pick another with `--key-type`
|
|
155
169
|
(`ecdsa256`, `ecdsa384`, `ecdsa521`, `rsa2048`, `rsa4096`).
|
|
156
170
|
|
|
171
|
+
Let's Encrypt is the certificate authority by default. Pass
|
|
172
|
+
`--provider zerossl` to use ZeroSSL instead. ZeroSSL requires External
|
|
173
|
+
Account Binding credentials (create an EAB key pair in the ZeroSSL
|
|
174
|
+
dashboard under Developer > EAB Credentials), supplied with `--eab-kid`
|
|
175
|
+
and `--eab-hmac-key` or the `DN_ZEROSSL_EAB_KID` and
|
|
176
|
+
`DN_ZEROSSL_EAB_HMAC_KEY` environment variables:
|
|
177
|
+
|
|
178
|
+
```sh
|
|
179
|
+
dncli cert issue example.com --provider zerossl \
|
|
180
|
+
--eab-kid <kid> --eab-hmac-key <hmac>
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
`--staging` (the Let's Encrypt staging CA) applies only to the
|
|
184
|
+
letsencrypt provider. `cert renew` takes the same `--provider` and EAB
|
|
185
|
+
options.
|
|
186
|
+
|
|
187
|
+
Each CA gets its own ACME account: the key lives in
|
|
188
|
+
`~/.config/dncli/acme/` as `account.pem` for Let's Encrypt production
|
|
189
|
+
and `account-<provider>.pem` for ZeroSSL and the staging CA.
|
|
190
|
+
|
|
157
191
|
Re-running `cert issue` is a no-op while the existing certificate is
|
|
158
192
|
still valid for more than 21 days; pass `--force` to re-issue anyway.
|
|
159
193
|
|
|
160
194
|
List what you have issued and re-export any of them - as a PEM bundle
|
|
161
|
-
or a PKCS#12 (`.pfx`) file - without re-issuing
|
|
195
|
+
or a PKCS#12 (`.pfx`) file - without re-issuing. `cert list` includes a
|
|
196
|
+
`provider` column showing the issuing CA (recorded at issue time, or
|
|
197
|
+
inferred from the certificate's issuer for older certificates):
|
|
162
198
|
|
|
163
199
|
```sh
|
|
164
200
|
dncli cert list
|