snapctl 0.43.2__py3-none-any.whl → 0.46.0__py3-none-any.whl
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.
Potentially problematic release.
This version of snapctl might be problematic. Click here for more details.
- snapctl/commands/byogs.py +37 -18
- snapctl/commands/byosnap.py +623 -222
- snapctl/commands/generate.py +3 -71
- snapctl/commands/release_notes.py +65 -0
- snapctl/commands/snapend.py +91 -76
- snapctl/config/constants.py +11 -9
- snapctl/config/hashes.py +18 -25
- snapctl/data/profiles/snapser-byosnap-profile.json +62 -0
- snapctl/data/profiles/snapser-byosnap-profile.yaml +54 -0
- snapctl/data/releases/beta-0.46.0.mdx +55 -0
- snapctl/main.py +81 -67
- {snapctl-0.43.2.dist-info → snapctl-0.46.0.dist-info}/METADATA +199 -98
- snapctl-0.46.0.dist-info/RECORD +27 -0
- snapctl-0.43.2.dist-info/RECORD +0 -23
- {snapctl-0.43.2.dist-info → snapctl-0.46.0.dist-info}/LICENSE +0 -0
- {snapctl-0.43.2.dist-info → snapctl-0.46.0.dist-info}/WHEEL +0 -0
- {snapctl-0.43.2.dist-info → snapctl-0.46.0.dist-info}/entry_points.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: snapctl
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.46.0
|
|
4
4
|
Summary: Snapser CLI Tool
|
|
5
5
|
Author: Ajinkya Apte
|
|
6
6
|
Author-email: aj@snapser.com
|
|
@@ -13,6 +13,7 @@ Requires-Dist: configparser (>=6.0.0,<7.0.0)
|
|
|
13
13
|
Requires-Dist: pyfiglet (>=1.0.2,<2.0.0)
|
|
14
14
|
Requires-Dist: pytest (>=8.2.2,<9.0.0)
|
|
15
15
|
Requires-Dist: pytest-mock (>=3.14.0,<4.0.0)
|
|
16
|
+
Requires-Dist: pyyaml (>=6.0.2,<7.0.0)
|
|
16
17
|
Requires-Dist: requests (>=2.28.2,<3.0.0)
|
|
17
18
|
Requires-Dist: typer[all] (>=0.12.3,<0.13.0)
|
|
18
19
|
Description-Content-Type: text/markdown
|
|
@@ -22,6 +23,61 @@ Description-Content-Type: text/markdown
|
|
|
22
23
|
Snapser has developed a CLI tool called **snapctl** that can be used on MaxOSX, Linux and Windows machines.
|
|
23
24
|
Snapctl will be the best way for game studios to integrate Snapser into their build pipelines.
|
|
24
25
|
|
|
26
|
+
## What's new in the latest version?
|
|
27
|
+
### Breaking Changes
|
|
28
|
+
- **BYOSnap**:
|
|
29
|
+
- BYOSnap commands like `publish`, `sync` and `upload-docs` now take BYOSnap ID as a
|
|
30
|
+
non-positional argument. You now have to pass the BYOSnap Id using `--byosnap-id`.
|
|
31
|
+
```bash
|
|
32
|
+
# Previously
|
|
33
|
+
snapctl byosnap publish byosnap-jinks-flask --version "v0.0.1" --path $path
|
|
34
|
+
|
|
35
|
+
# New
|
|
36
|
+
snapctl byosnap publish --byosnap-id byosnap-jinks-flask --version "v0.0.1" --path $path
|
|
37
|
+
```
|
|
38
|
+
- BYOSnap input parameter `--byosnap-profile-file` has been renamed to `--profile-filename`
|
|
39
|
+
|
|
40
|
+
- **Generate**: The ability to generate a base BYOSnap profile using the `generate` command has
|
|
41
|
+
been deprecated. Instead its moved under `byosnap` commands for consistency.
|
|
42
|
+
|
|
43
|
+
- **Snapend**:
|
|
44
|
+
- The manifest path variable has been changed for Snapend commands like `apply` and `clone`
|
|
45
|
+
from `--manifest-path` to `--manifest-path-filename`, for consistency with our new
|
|
46
|
+
variable naming nomenclature.
|
|
47
|
+
- The Snapend download command has new variable names like `format` and `type`. This is to add
|
|
48
|
+
more consistency and clarity to the command.
|
|
49
|
+
```bash
|
|
50
|
+
# Previously
|
|
51
|
+
# snapctl snapend download --snapend-id gx5x6bc0 --category sdk --type unity --sdk-access-type external --sdk-auth-type user --out-path .
|
|
52
|
+
|
|
53
|
+
# New
|
|
54
|
+
snapctl snapend download --snapend-id gx5x6bc0 --category sdk --format unity --type user --out-path .
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
- Input param `--docker` for BYOGS and BYOSnap commands has been changed to `--docker_filename`
|
|
58
|
+
|
|
59
|
+
### New Commands
|
|
60
|
+
- **BYOSnap Generate Profile**: You can now use a new command to generate a base BYOSnap profile.
|
|
61
|
+
```bash
|
|
62
|
+
snapctl byosnap generate-profile --out-path $outputPath --profile-filename $profileName
|
|
63
|
+
```
|
|
64
|
+
- **BYOSnap Validate Profile**: After you hand edit the base BYOSnap profile, you can use this
|
|
65
|
+
command to validate your BYOSnap profile before using it in other commands like `publish` and `sync`
|
|
66
|
+
```bash
|
|
67
|
+
snapctl byosnap validate-profile --path $path --profile-filename $profileName
|
|
68
|
+
# or
|
|
69
|
+
snapctl byosnap validate-profile --resources-path $resources_path --profile-filename $profileName
|
|
70
|
+
```
|
|
71
|
+
- **Release Notes**: You can now view release notes for a specific version of Snapctl using the
|
|
72
|
+
`release-notes` command.
|
|
73
|
+
```bash
|
|
74
|
+
snapctl release-notes releases
|
|
75
|
+
snapctl release-notes show
|
|
76
|
+
# or
|
|
77
|
+
snapctl release-notes show --version $version
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Requirements
|
|
25
81
|
### Python 3.X and Pip
|
|
26
82
|
The Snapser CLI tool depends on Python 3.X and Pip. MacOS comes pre installed with Python. But
|
|
27
83
|
please make sure you are running Python 3.X. On Windows, you can download Python 3.X from the
|
|
@@ -117,7 +173,7 @@ will look for the config file at that path.
|
|
|
117
173
|
|
|
118
174
|
```
|
|
119
175
|
[default]
|
|
120
|
-
snapser_access_key =
|
|
176
|
+
snapser_access_key = $your_api_key
|
|
121
177
|
```
|
|
122
178
|
|
|
123
179
|
Or you can run the following command
|
|
@@ -176,11 +232,17 @@ setx SNAPSER_PROFILE="my_profile_name";
|
|
|
176
232
|
|
|
177
233
|
Or you can pass **--profile my_profile_name** with every command to tell Snapser to use a particular profile.
|
|
178
234
|
|
|
235
|
+
## Command variable name nomenclature
|
|
236
|
+
All commands follow these rules with their input variables
|
|
237
|
+
1. A variable that is named `*path` = CLI tool expects a path to a **folder**
|
|
238
|
+
2. A variable that is named `*filename` = CLI tool expects the name of the file, without the path.
|
|
239
|
+
3. A variable that is named `*path_filename` = CLI tool expects the full path. The folder up to the name of the file.
|
|
240
|
+
|
|
179
241
|
## Commands
|
|
180
242
|
|
|
181
243
|
Run the following to see the list of commands Snapser supports
|
|
182
244
|
|
|
183
|
-
```
|
|
245
|
+
```bash
|
|
184
246
|
snapctl --help
|
|
185
247
|
```
|
|
186
248
|
|
|
@@ -192,11 +254,52 @@ Snapctl commands for your custom code
|
|
|
192
254
|
See all the supported commands. You should mainly need the `publish` and `sync` commands.
|
|
193
255
|
All the others are for CRUD operations.
|
|
194
256
|
|
|
195
|
-
```
|
|
257
|
+
```bash
|
|
196
258
|
# Help for the byosnap command
|
|
197
259
|
snapctl byosnap --help
|
|
198
260
|
```
|
|
199
|
-
|
|
261
|
+
|
|
262
|
+
### 2. byosnap generate-profile
|
|
263
|
+
|
|
264
|
+
This command generates a base BYOSnap profile. You will have to update the values within this file
|
|
265
|
+
and then you can use it in commands like `publish` and `sync`. It is recommended that you save this
|
|
266
|
+
file at the root of your BYOSnap code and commit it to version control.
|
|
267
|
+
|
|
268
|
+
```bash
|
|
269
|
+
# Help for the byosnap command
|
|
270
|
+
snapctl byosnap generate-profile --help
|
|
271
|
+
|
|
272
|
+
# Generate your BYOSnap profile
|
|
273
|
+
# $output_path = Directory where you want the BYOSnap profile to be saved.
|
|
274
|
+
# $profile_filename = Name of the BYOSnap profile you want to give. Only .json, .yaml, .yml extensions
|
|
275
|
+
# are allowed. If you do not pass `--profile-filename` then Snapser choses
|
|
276
|
+
# `snapser-byosnap-profile.json` as the filename.
|
|
277
|
+
snapctl byosnap generate-profile --out-path $output_path --profile-filename $profile_filename
|
|
278
|
+
snapctl byosnap generate-profile --out-path /Users/DevName/Development/SnapserEngine/jinks_flask --profile-filename=my-byosnap-profile.json
|
|
279
|
+
snapctl byosnap generate-profile --out-path /Users/DevName/Development/SnapserEngine/jinks_flask --profile-filename=my-byosnap-profile.yaml
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
### 3. byosnap validate-profile
|
|
283
|
+
|
|
284
|
+
This command validates your BYOSnap profile.
|
|
285
|
+
|
|
286
|
+
```bash
|
|
287
|
+
# Help for the byosnap command
|
|
288
|
+
snapctl byosnap validate-profile --help
|
|
289
|
+
|
|
290
|
+
# Validate your BYOSnap profile
|
|
291
|
+
# $path = Directory Path to where your BYOSnap Profile is located. No need to add the file name.
|
|
292
|
+
# $resources_path = Optionally, you can place your BYOSnap profile at your resources path
|
|
293
|
+
# $profile_filename = Optional parameter. Name of your BYOSnap profile.
|
|
294
|
+
# If you do not pass `--profile-filename` then
|
|
295
|
+
# Snapser choses the default `snapser-byosnap-profile.json` as the filename to validate
|
|
296
|
+
snapctl byosnap validate-profile --path $path
|
|
297
|
+
snapctl byosnap validate-profile --resources-path $resources_path --profile-filename $profile_filename
|
|
298
|
+
snapctl byosnap validate-profile --path /Users/DevName/Development/SnapserEngine/jinks_flask
|
|
299
|
+
snapctl byosnap validate-profile --path /Users/DevName/Development/SnapserEngine/jinks_flask --profile-filename my-byosnap-profile.yaml
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
#### 4. byosnap publish
|
|
200
303
|
|
|
201
304
|
This command allows you to create and publish your BYOSnap. Running this command will first create a BYOSnap namespace on Snapser if not present. Then it will build and publish your code to your own
|
|
202
305
|
private ECR repo on Snapser. Finally it will assign a version to your BYOSnap so that you
|
|
@@ -209,22 +312,26 @@ your BYOSnap like, name, description, etc and hardware requirements like CPU, Me
|
|
|
209
312
|
recommend you store this file at the root of your BYOSnap and also add it to version control.
|
|
210
313
|
You can generate it using `snapctl generate profile --category byosnap --out-path $outputPath`.
|
|
211
314
|
|
|
212
|
-
```
|
|
315
|
+
```bash
|
|
213
316
|
# Help for the byosnap command
|
|
214
317
|
snapctl byosnap publish --help
|
|
215
318
|
|
|
216
319
|
# Create and publish your BYOSnap
|
|
217
|
-
# $
|
|
320
|
+
# $byosnap_id = Snap ID for your snap
|
|
218
321
|
# $version = Semantic version for your snap Eg: v0.0.1
|
|
219
322
|
# $code_root_path = Local code path where your Dockerfile is present
|
|
220
323
|
# $resources_path = Optional path to the resources directory in your Snap. This ensures, you are not forced to put the Dockerfile, snapser-byosnap-profile.json, swagger.json and README.md at the root directory of your Snap.
|
|
324
|
+
# $profile_filename = Optional parameter. Name of your BYOSnap profile.
|
|
325
|
+
# If you do not pass `--profile-filename` then
|
|
326
|
+
# Snapser choses the default `snapser-byosnap-profile.json` as the filename to validate
|
|
221
327
|
# $skip-build = true/false. Default is false. Pass this flag as true to skip the build and head straight to tag and push. Build step needs to run and tag using the --tag you pass to the publish-image command for this to work. Make sure the tag matches the version number you are passing.
|
|
222
328
|
# Example:
|
|
223
|
-
snapctl byosnap publish byosnap-jinks-flask --version "v0.0.1" --path /Users/DevName/Development/SnapserEngine/jinks_flask
|
|
224
|
-
snapctl byosnap publish $
|
|
329
|
+
snapctl byosnap publish --byosnap-id byosnap-jinks-flask --version "v0.0.1" --path /Users/DevName/Development/SnapserEngine/jinks_flask --profile-filename $profile_filename
|
|
330
|
+
snapctl byosnap publish --byosnap-id $byosnap_id --version $version --path $code_root_path
|
|
331
|
+
byosnap publish --byosnap-id byosnap-python --version "v1.0.0" --path /Users/AJ/Development/byosnap-python --profile-filename my-byosnap-profile.yaml
|
|
225
332
|
```
|
|
226
333
|
|
|
227
|
-
####
|
|
334
|
+
#### 5. byosnap sync
|
|
228
335
|
|
|
229
336
|
This command is for development purposes. It allows developers to rapidly build, update and push their BYOSnap to a dev Snapend. Simply, make changes to your code locally, and then run this command to deploy your BYOSnap straight to your development Snapend.
|
|
230
337
|
|
|
@@ -233,12 +340,12 @@ This command is for development purposes. It allows developers to rapidly build,
|
|
|
233
340
|
|
|
234
341
|
**IMPORTANT**: This command will only work for Dev Snapends. Additionally if the version you are using in this command happens to be used by a staging or a production snapend then `sync` will not work. We do this to ensure that your staging and production BYOSnap images do not get impacted.
|
|
235
342
|
|
|
236
|
-
```
|
|
343
|
+
```bash
|
|
237
344
|
# Help for the byosnap command
|
|
238
345
|
snapctl byosnap sync --help
|
|
239
346
|
|
|
240
347
|
# Deploy local code straight to your Snapend
|
|
241
|
-
# $
|
|
348
|
+
# $byosnap_id = Snap ID for your snap
|
|
242
349
|
# $code_root_path = Local code path where your Dockerfile is present
|
|
243
350
|
# $resources_path = Optional path to the resources directory in your Snap. This ensures, you are not forced to put the Dockerfile, swagger.json and README.md in the root directory of your Snap.
|
|
244
351
|
# $skip-build = true/false. Default is false. Pass this flag as true to skip the build and head straight to tag and push. Build step needs to run and tagged using the --tag you pass to the publish-image command for this to work.
|
|
@@ -246,84 +353,84 @@ snapctl byosnap sync --help
|
|
|
246
353
|
# $version =
|
|
247
354
|
# $snapend_id = Dev Snapend Id
|
|
248
355
|
# Example:
|
|
249
|
-
snapctl byosnap sync byosnap-jinks-flask --path /Users/DevName/Development/SnapserEngine/jinks_flask --version "v0.0.11" --snapend-id "jxmmfryo"
|
|
250
|
-
snapctl byosnap sync $
|
|
356
|
+
snapctl byosnap sync --byosnap-id byosnap-jinks-flask --path /Users/DevName/Development/SnapserEngine/jinks_flask --version "v0.0.11" --snapend-id "jxmmfryo"
|
|
357
|
+
snapctl byosnap sync --byosnap-id $byosnap_id --path $code_root_path --version $version --snapend-id $snapend_id
|
|
251
358
|
```
|
|
252
359
|
|
|
253
|
-
####
|
|
360
|
+
#### 6. byosnap create
|
|
254
361
|
|
|
255
362
|
Create a custom snap. Note that you will have to build, push and publish your snap image, for it to be useable
|
|
256
363
|
in a Snapend.
|
|
257
364
|
|
|
258
|
-
```
|
|
365
|
+
```bash
|
|
259
366
|
# Help for the byosnap command
|
|
260
367
|
snapctl byosnap create --help
|
|
261
368
|
|
|
262
369
|
# Create a new snap
|
|
263
|
-
# $
|
|
370
|
+
# $byosnap_id = Snap ID for your snap. Start start with `byosnap-`
|
|
264
371
|
# $name = User friendly name for your BYOSnap
|
|
265
372
|
# $desc = User friendly description
|
|
266
373
|
# $platform = One of linux/arm64, linux/amd64
|
|
267
374
|
# $language = One of go, python, ruby, c#, c++, rust, java, node
|
|
268
375
|
|
|
269
376
|
# Example:
|
|
270
|
-
# snapctl byosnap create byosnap-jinks-flask --name "Jinks Flask Microservice" --desc "Custom Microservice" --platform "linux/arm64" --language "go"
|
|
271
|
-
snapctl byosnap create $
|
|
377
|
+
# snapctl byosnap create --byosnap-id byosnap-jinks-flask --name "Jinks Flask Microservice" --desc "Custom Microservice" --platform "linux/arm64" --language "go"
|
|
378
|
+
snapctl byosnap create --byosnap-id $byosnap_id --name "$name" --desc "$desc" --platform "$platform" --language "$language"
|
|
272
379
|
```
|
|
273
380
|
|
|
274
|
-
####
|
|
381
|
+
#### 7. byosnap build
|
|
275
382
|
|
|
276
383
|
Build your snap image
|
|
277
384
|
|
|
278
|
-
```
|
|
385
|
+
```bash
|
|
279
386
|
# Help for the byosnap command
|
|
280
387
|
snapctl byosnap build --help
|
|
281
388
|
|
|
282
389
|
# Publish a new image
|
|
283
|
-
# $
|
|
390
|
+
# $byosnap_id = Snap ID for your snap
|
|
284
391
|
# $image_tag = An image tag for your snap
|
|
285
392
|
# $code_root_path = Local code path where your Dockerfile is present
|
|
286
393
|
# $resources_path = Optional path to the resources directory in your Snap. This ensures, you are not forced to put the Dockerfile, swagger.json and README.md in the root directory of your Snap.
|
|
287
394
|
# Example:
|
|
288
|
-
# snapctl byosnap build byosnap-jinks-flask --tag my-first-image --path /Users/DevName/Development/SnapserEngine/jinks_flask
|
|
289
|
-
snapctl byosnap build $
|
|
290
|
-
snapctl byosnap build $
|
|
395
|
+
# snapctl byosnap build --byosnap-id byosnap-jinks-flask --tag my-first-image --path /Users/DevName/Development/SnapserEngine/jinks_flask
|
|
396
|
+
snapctl byosnap build --byosnap-id $byosnap_id --tag $image_tag --path $code_root_path
|
|
397
|
+
snapctl byosnap build --byosnap-id $byosnap_id --tag $image_tag --path $code_root_path --resources-path $resources_path
|
|
291
398
|
```
|
|
292
399
|
|
|
293
|
-
####
|
|
400
|
+
#### 8. byosnap push
|
|
294
401
|
|
|
295
402
|
Push your snap image to Snapser
|
|
296
403
|
|
|
297
|
-
```
|
|
404
|
+
```bash
|
|
298
405
|
# Help for the byosnap command
|
|
299
406
|
snapctl byosnap push --help
|
|
300
407
|
|
|
301
408
|
# Publish a new image
|
|
302
|
-
# $
|
|
409
|
+
# $byosnap_id = Snap ID for your snap
|
|
303
410
|
# $image_tag = An image tag for your snap
|
|
304
411
|
# Example:
|
|
305
|
-
# snapctl byosnap push byosnap-jinks-flask --tag my-first-image
|
|
306
|
-
snapctl byosnap push $
|
|
412
|
+
# snapctl byosnap push --byosnap-id byosnap-jinks-flask --tag my-first-image
|
|
413
|
+
snapctl byosnap push --byosnap-id $byosnap_id --tag $image_tag
|
|
307
414
|
```
|
|
308
415
|
|
|
309
|
-
####
|
|
416
|
+
#### 9. byosnap upload-docs
|
|
310
417
|
|
|
311
418
|
Upload swagger.json and README.md for you Snap
|
|
312
419
|
|
|
313
|
-
```
|
|
420
|
+
```bash
|
|
314
421
|
# Help for the byosnap command
|
|
315
422
|
snapctl byosnap upload-docs --help
|
|
316
423
|
|
|
317
424
|
# Publish a new image
|
|
318
|
-
# $
|
|
425
|
+
# $byosnap_id = Snap ID for your snap
|
|
319
426
|
# $image_tag = An image tag for your snap
|
|
320
427
|
# $resources_path = Path to your swagger.json and README.md files
|
|
321
428
|
# Example:
|
|
322
|
-
# snapctl byosnap upload-docs byosnap-jinks-flask --tag my-first-image --resources-path /Users/DevName/Development/SnapserEngine/jinks_flask
|
|
323
|
-
snapctl byosnap upload-docs $
|
|
429
|
+
# snapctl byosnap upload-docs --byosnap-id byosnap-jinks-flask --tag my-first-image --resources-path /Users/DevName/Development/SnapserEngine/jinks_flask
|
|
430
|
+
snapctl byosnap upload-docs --byosnap-id $byosnap_id --tag $image_tag --resources-path $resources_path
|
|
324
431
|
```
|
|
325
432
|
|
|
326
|
-
####
|
|
433
|
+
#### 10. byosnap publish-image
|
|
327
434
|
|
|
328
435
|
Publish a custom snap code image. This command executes, `build`, `push` and `upload-docs` one
|
|
329
436
|
after the other.
|
|
@@ -332,24 +439,24 @@ after the other.
|
|
|
332
439
|
Commands in docker file may be hardware architecture specific. Snapser throws a warning if it detects
|
|
333
440
|
a mismatch.
|
|
334
441
|
|
|
335
|
-
```
|
|
442
|
+
```bash
|
|
336
443
|
# Help for the byosnap command
|
|
337
444
|
snapctl byosnap publish-image --help
|
|
338
445
|
|
|
339
446
|
# Publish a new image
|
|
340
|
-
# $
|
|
447
|
+
# $byosnap_id = Snap ID for your snap
|
|
341
448
|
# $image_tag = An image tag for your snap
|
|
342
449
|
# $code_root_path = Local code path where your Dockerfile is present
|
|
343
450
|
# $resources_path = Optional path to the resources directory in your Snap. This ensures, you are not forced to put the Dockerfile, swagger.json and README.md in the root directory of your Snap.
|
|
344
451
|
# $skip-build = true/false. Default is false. Pass this flag as true to skip the build and head straight to tag and push. Build step needs to run and tagged using the --tag you pass to the publish-image command for this to work.
|
|
345
452
|
# Example:
|
|
346
|
-
# snapctl byosnap publish-image byosnap-jinks-flask --tag my-first-image --path /Users/DevName/Development/SnapserEngine/jinks_flask
|
|
347
|
-
snapctl byosnap publish-image $
|
|
348
|
-
snapctl byosnap publish-image $
|
|
349
|
-
snapctl byosnap publish-image $
|
|
453
|
+
# snapctl byosnap publish-image --byosnap-id byosnap-jinks-flask --tag my-first-image --path /Users/DevName/Development/SnapserEngine/jinks_flask
|
|
454
|
+
snapctl byosnap publish-image --byosnap-id $byosnap_id --tag $image_tag --path $code_root_path
|
|
455
|
+
snapctl byosnap publish-image --byosnap-id $byosnap_id --tag $image_tag --path $code_root_path --resources-path $resources_path
|
|
456
|
+
snapctl byosnap publish-image --byosnap-id $byosnap_id --tag $image_tag --skip-build
|
|
350
457
|
```
|
|
351
458
|
|
|
352
|
-
####
|
|
459
|
+
#### 11. byosnap publish-version
|
|
353
460
|
|
|
354
461
|
Publish a new version for your Snap. Only after your Snap version is published, you will be able
|
|
355
462
|
to use your snap in your Snapend. This command should be run after `push` or `publish-image` commands.
|
|
@@ -357,18 +464,18 @@ to use your snap in your Snapend. This command should be run after `push` or `pu
|
|
|
357
464
|
IMPORTANT: You need to have $byosnapProfile to run this command. BYOSnap profile is a JSON configuration
|
|
358
465
|
of your BYOSnap for the development, staging and production environments. You can generate a base version of this file using the `snapctl generate profile --category byosnap --out-path <output_path>` command.
|
|
359
466
|
|
|
360
|
-
```
|
|
467
|
+
```bash
|
|
361
468
|
# Help for the byosnap command
|
|
362
469
|
snapctl byosnap publish-version --help
|
|
363
470
|
|
|
364
471
|
# Publish a new image
|
|
365
|
-
# $
|
|
472
|
+
# $byosnap_id = Snap ID for your snap
|
|
366
473
|
# $image_tag = An image tag for your snap
|
|
367
474
|
# $version = Semantic version for your snap Eg: v0.0.1
|
|
368
|
-
# $
|
|
475
|
+
# $byosnap_profile_path = Path to the snapser-byosnap-profile.json BYOSnap profile to configure dev, stage and prod settings for this snap. You can generate a base version of this file using the `snapctl generate profile --category byosnap --out-path <output_path>` command
|
|
369
476
|
# Example:
|
|
370
|
-
# snapctl byosnap publish-version byosnap-jinks-flask --tag my-first-image --version v0.0.1 --path /Users/DevName/Development/SnapserEngine/jinks_flask
|
|
371
|
-
snapctl byosnap publish-version $
|
|
477
|
+
# snapctl byosnap publish-version --byosnap-id byosnap-jinks-flask --tag my-first-image --version v0.0.1 --path /Users/DevName/Development/SnapserEngine/jinks_flask
|
|
478
|
+
snapctl byosnap publish-version --byosnap-id $byosnap_id --tag $image_tag --version $version --path $byosnap_profile_path
|
|
372
479
|
```
|
|
373
480
|
|
|
374
481
|
### BYO Game Server - Bring your own Game Server
|
|
@@ -378,7 +485,7 @@ Snapctl commands for your custom game server
|
|
|
378
485
|
|
|
379
486
|
See all the supported commands
|
|
380
487
|
|
|
381
|
-
```
|
|
488
|
+
```bash
|
|
382
489
|
# Help for the byogs command
|
|
383
490
|
snapctl byogs --help
|
|
384
491
|
```
|
|
@@ -387,7 +494,7 @@ snapctl byogs --help
|
|
|
387
494
|
|
|
388
495
|
Build your custom game server image.
|
|
389
496
|
|
|
390
|
-
```
|
|
497
|
+
```bash
|
|
391
498
|
# Help for the byogs command
|
|
392
499
|
snapctl byogs build --help
|
|
393
500
|
|
|
@@ -403,7 +510,7 @@ snapctl byogs build --tag $image_tag --path $code_root_path
|
|
|
403
510
|
|
|
404
511
|
Push your custom game server image.
|
|
405
512
|
|
|
406
|
-
```
|
|
513
|
+
```bash
|
|
407
514
|
# Help for the byogs command
|
|
408
515
|
snapctl byogs push --help
|
|
409
516
|
|
|
@@ -423,7 +530,7 @@ then publishing the byogs. Now all you have to do is publish your image and crea
|
|
|
423
530
|
Commands in docker file may be hardware architecture specific. Snapser throws a warning if it detects
|
|
424
531
|
a mismatch.
|
|
425
532
|
|
|
426
|
-
```
|
|
533
|
+
```bash
|
|
427
534
|
# Help for the byogs command
|
|
428
535
|
snapctl byogs publish --help
|
|
429
536
|
|
|
@@ -443,7 +550,7 @@ snapctl byogs publish --tag $image_tag --skip-build
|
|
|
443
550
|
|
|
444
551
|
This command allows developers to rapidly build, update and push their BYOGs out to a Snapend fleet. Simply, make changes to your code locally, and then run this command to deploy your BYOGs straight to your Snapend fleet.
|
|
445
552
|
|
|
446
|
-
```
|
|
553
|
+
```bash
|
|
447
554
|
# Help for the byogs command
|
|
448
555
|
snapctl byogs sync --help
|
|
449
556
|
|
|
@@ -466,45 +573,37 @@ Snapctl commands for your game
|
|
|
466
573
|
|
|
467
574
|
See all the supported commands
|
|
468
575
|
|
|
469
|
-
```
|
|
576
|
+
```bash
|
|
470
577
|
# Help for the byogs command
|
|
471
578
|
snapctl game --help
|
|
472
579
|
```
|
|
473
580
|
|
|
474
581
|
#### 2. Create a game
|
|
475
582
|
Create a game
|
|
476
|
-
```
|
|
477
|
-
snapctl game create --name $
|
|
583
|
+
```bash
|
|
584
|
+
snapctl game create --name $game_name
|
|
478
585
|
```
|
|
479
586
|
|
|
480
587
|
#### 3. Enumerate games
|
|
481
588
|
List all the games
|
|
482
|
-
```
|
|
589
|
+
```bash
|
|
483
590
|
snapctl game enumerate
|
|
484
591
|
```
|
|
485
592
|
|
|
486
593
|
### Generate
|
|
487
|
-
Generator tool to help generate
|
|
594
|
+
Generator tool to help generate credentials
|
|
488
595
|
|
|
489
596
|
#### 1. generate help
|
|
490
597
|
See all the supported commands
|
|
491
|
-
```
|
|
598
|
+
```bash
|
|
492
599
|
# Help for the generate command
|
|
493
600
|
snapctl generate --help
|
|
494
601
|
```
|
|
495
602
|
|
|
496
|
-
#### 2. Generate
|
|
497
|
-
Generate the base file for BYOSnap profile to be used in the `snapctl byosnap publish-version` command
|
|
498
|
-
|
|
499
|
-
```
|
|
500
|
-
snapctl generate profile --category "byosnap" --out-path $output_path
|
|
501
|
-
|
|
502
|
-
```
|
|
503
|
-
|
|
504
|
-
#### 3. Generate ECR Credentials
|
|
603
|
+
#### 2. Generate ECR Credentials
|
|
505
604
|
Generate the ECR credentials. Game studios can use these credentials to self publish their images to Snapser.
|
|
506
605
|
|
|
507
|
-
```
|
|
606
|
+
```bash
|
|
508
607
|
snapctl generate credentials --category "ecr" --out-path $output_path
|
|
509
608
|
|
|
510
609
|
```
|
|
@@ -516,7 +615,7 @@ Snapctl commands for your snapend
|
|
|
516
615
|
|
|
517
616
|
See all the supported commands
|
|
518
617
|
|
|
519
|
-
```
|
|
618
|
+
```bash
|
|
520
619
|
# Help for the snapend command
|
|
521
620
|
snapctl snapend --help
|
|
522
621
|
```
|
|
@@ -525,26 +624,27 @@ snapctl snapend --help
|
|
|
525
624
|
|
|
526
625
|
Download Manifest, SDKs and Protos for your Snapend
|
|
527
626
|
|
|
528
|
-
```
|
|
627
|
+
```bash
|
|
529
628
|
# Help for the download command
|
|
530
629
|
snapctl snapend download --help
|
|
531
630
|
|
|
532
631
|
# Download your Snapend SDK and Protos
|
|
533
632
|
# $snapend_id = Cluster Id
|
|
534
|
-
# $category = snapend-manifest,
|
|
535
|
-
# $
|
|
633
|
+
# $category = snapend-manifest, sdk, protos
|
|
634
|
+
# $format = One of the supported formats:
|
|
536
635
|
# snapend-manifest(yaml, json)
|
|
537
|
-
#
|
|
538
|
-
#
|
|
636
|
+
# sdk(unity, unreal, roblox, godot, cocos, ios-objc, ios-swift, android-java, android-kotlin, web-ts, web-js),
|
|
637
|
+
# sdk(csharp, cpp, lua, ts, go, python, kotlin, java, c, node, js, perl, php, closure, ruby, rust),
|
|
539
638
|
# protos(go, csharp, cpp, raw)
|
|
540
|
-
# $
|
|
541
|
-
#
|
|
639
|
+
# $type = One of the supported types:
|
|
640
|
+
# For --category=sdk --type(user, server, internal, app)
|
|
641
|
+
# For --category=protos --type(messages, services)
|
|
542
642
|
# Example:
|
|
543
|
-
# snapctl snapend download --snapend-id gx5x6bc0 --category snapend-manifest --
|
|
544
|
-
# snapctl snapend download --snapend-id gx5x6bc0 --category sdk --
|
|
545
|
-
# snapctl snapend download --snapend-id gx5x6bc0 --category sdk --
|
|
546
|
-
# snapctl snapend download --snapend-id gx5x6bc0 --category protos --
|
|
547
|
-
snapctl snapend download $snapend_id --category $category --
|
|
643
|
+
# snapctl snapend download --snapend-id gx5x6bc0 --category snapend-manifest --format yaml --out-path .
|
|
644
|
+
# snapctl snapend download --snapend-id gx5x6bc0 --category sdk --format unity --type user --out-path .
|
|
645
|
+
# snapctl snapend download --snapend-id gx5x6bc0 --category sdk --format cpp --type internal --out-path .
|
|
646
|
+
# snapctl snapend download --snapend-id gx5x6bc0 --category protos --format raw --type messages --out-path .
|
|
647
|
+
snapctl snapend download --snapend-id $snapend_id --category $category --format $format --type $type --out-path $out_path
|
|
548
648
|
|
|
549
649
|
```
|
|
550
650
|
|
|
@@ -552,19 +652,19 @@ snapctl snapend download $snapend_id --category $category --type $type --sdk-acc
|
|
|
552
652
|
|
|
553
653
|
Clone a Snapend from an existing manifest. Passing the blocking flag ensures your CLI command waits till the new Snapend is up.
|
|
554
654
|
|
|
555
|
-
```
|
|
655
|
+
```bash
|
|
556
656
|
# Help for the clone command
|
|
557
657
|
snapctl snapend clone --help
|
|
558
658
|
|
|
559
659
|
# Clone your Snapend
|
|
560
|
-
# $
|
|
561
|
-
# $
|
|
660
|
+
# $game_id = Game Id
|
|
661
|
+
# $snapend_name = Name of your new Snapend
|
|
562
662
|
# $env = One of development, staging
|
|
563
|
-
# $
|
|
663
|
+
# $path_to_manifest = Path to the manifest file; should include the file name
|
|
564
664
|
# Example:
|
|
565
|
-
# snapctl snapend clone --game-id 2581d802-aca-496c-8a76-1953ad0db165 --name new-snapend --env development --manifest-path "C:\Users\name\Downloads\snapser-ox1bcyim-manifest.json" --blocking
|
|
566
|
-
snapctl snapend clone --game-id $
|
|
567
|
-
snapctl snapend clone --game-id $
|
|
665
|
+
# snapctl snapend clone --game-id 2581d802-aca-496c-8a76-1953ad0db165 --name new-snapend --env development --manifest-path-filename "C:\Users\name\Downloads\snapser-ox1bcyim-manifest.json" --blocking
|
|
666
|
+
snapctl snapend clone --game-id $game_id --name $snapend_name --env $env --manifest-path-filename "$path_to_manifest"
|
|
667
|
+
snapctl snapend clone --game-id $game_id --name $snapend_name --env $env --manifest-path-filename "$path_to_manifest" --blocking
|
|
568
668
|
```
|
|
569
669
|
|
|
570
670
|
#### 4. Apply Snapend Changes
|
|
@@ -572,23 +672,23 @@ snapctl snapend clone --game-id $gameId --name $snapendName --env $env --manifes
|
|
|
572
672
|
Apply changes to your Snapend from a manifest. You should have the latest manifest before applying changes. This is to prevent
|
|
573
673
|
a user stomping over someone elses changes. Passing the blocking flag ensures your CLI command waits till the update is complete.
|
|
574
674
|
|
|
575
|
-
```
|
|
675
|
+
```bash
|
|
576
676
|
# Help for the apply command
|
|
577
677
|
snapctl snapend apply --help
|
|
578
678
|
|
|
579
679
|
# Apply changes to a snapend via manifest
|
|
580
|
-
# $
|
|
680
|
+
# $path_to_manifest = Path to the manifest file; should include the file name
|
|
581
681
|
# Example:
|
|
582
|
-
# snapctl snapend apply --manifest-path "C:\Users\name\Downloads\snapser-ox1bcyim-manifest.json" --blocking
|
|
583
|
-
snapctl snapend apply --manifest-path "$
|
|
584
|
-
snapctl snapend apply --manifest-path "$
|
|
682
|
+
# snapctl snapend apply --manifest-path-filename "C:\Users\name\Downloads\snapser-ox1bcyim-manifest.json" --blocking
|
|
683
|
+
snapctl snapend apply --manifest-path-filename "$path_to_manifest"
|
|
684
|
+
snapctl snapend apply --manifest-path-filename "$path_to_manifest" --blocking
|
|
585
685
|
```
|
|
586
686
|
|
|
587
687
|
#### 5. Update Snapend BYOSnap or BYOGs versions
|
|
588
688
|
|
|
589
689
|
Update your BYOSnap or BYOGs versions for the Snapend
|
|
590
690
|
|
|
591
|
-
```
|
|
691
|
+
```bash
|
|
592
692
|
# Help for the byogs command
|
|
593
693
|
snapctl snapend update --help
|
|
594
694
|
|
|
@@ -608,7 +708,7 @@ snapctl snapend update --snapend-id $snapend_id --byosnaps $byosnaps --byogs $by
|
|
|
608
708
|
|
|
609
709
|
Get the Snapend state
|
|
610
710
|
|
|
611
|
-
```
|
|
711
|
+
```bash
|
|
612
712
|
# Help for the byogs command
|
|
613
713
|
snapctl snapend state --help
|
|
614
714
|
|
|
@@ -671,6 +771,8 @@ snapctl snapend state $snapend_id
|
|
|
671
771
|
| 46 | BYOSNAP update version service in use |
|
|
672
772
|
| 47 | BYOSNAP update version tag error |
|
|
673
773
|
| 48 | BYOSNAP update version invalid version error |
|
|
774
|
+
| 49 | BYOSNAP publish error |
|
|
775
|
+
| 86 | BYOSNAP generate-profile |
|
|
674
776
|
|
|
675
777
|
|
|
676
778
|
### Game Errors
|
|
@@ -709,6 +811,5 @@ snapctl snapend state $snapend_id
|
|
|
709
811
|
| Error Code | Description |
|
|
710
812
|
|------------|----------------------------------------------------------|
|
|
711
813
|
| 80 | Generic generate error |
|
|
712
|
-
| 81 | Generate
|
|
713
|
-
| 82 | Generate credentials error |
|
|
814
|
+
| 81 | Generate credentials error |
|
|
714
815
|
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
snapctl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
snapctl/__main__.py,sha256=43jKoTk8b85hk_MT6499N3ruHdEfM8WBImd_-3VzjI8,116
|
|
3
|
+
snapctl/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
+
snapctl/commands/byogs.py,sha256=x-5QKvDWLj5hal8nH1mqd5r3G3EGwDB0BTP_SmFj-LQ,19025
|
|
5
|
+
snapctl/commands/byosnap.py,sha256=xqlztM-C1Xo1l1asYCqTMr43bMFEFBkQ6Oct7yydMlo,72880
|
|
6
|
+
snapctl/commands/game.py,sha256=nCXtEXAJkvOw26c_OBGr7Pz4hwu-5FXHyBR2kkXhLCM,5247
|
|
7
|
+
snapctl/commands/generate.py,sha256=9-NlZVQllBT2LZT_t9S3ztwtHzTbM-C8_x0f6z70U3g,5606
|
|
8
|
+
snapctl/commands/release_notes.py,sha256=K1OdX94pL-pKL2Depbs-AkVcPpKn_CX2cOsZiRZP5kc,2134
|
|
9
|
+
snapctl/commands/snapend.py,sha256=pUpdJ5H-NSg-wB-NnMUXNvRL10ac8289-ZxPhCYMXEc,35570
|
|
10
|
+
snapctl/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
|
+
snapctl/config/constants.py,sha256=r9NYFzPthNOc76uf70i6S8sehnI_tstQDftB_vxRDAE,3464
|
|
12
|
+
snapctl/config/endpoints.py,sha256=9kllA79xn9G_aBLp1rohURZi93pwYzTEWZ8ObtZ6crw,338
|
|
13
|
+
snapctl/config/hashes.py,sha256=MOn1R5zUQrVbgXT_SmGcRB_3LsQjxRpEiJtLoiIFBI8,4388
|
|
14
|
+
snapctl/data/profiles/snapser-byosnap-profile.json,sha256=c7oIzMJewVQaoLaXCBPXlH-k5cL9DCz6q4IixsWWD9c,2404
|
|
15
|
+
snapctl/data/profiles/snapser-byosnap-profile.yaml,sha256=vK5JqHa1f1_jlcW0m7qg-sKN9njE8PURJHzaRdvfEOY,3600
|
|
16
|
+
snapctl/data/releases/beta-0.46.0.mdx,sha256=_MJA7TnnJjAnNm_EOvoBiz7FjHwl4c49sYtZ9r4KZQE,2386
|
|
17
|
+
snapctl/main.py,sha256=3-0dyEk5pK9t9P4fahlrh5R2gBUlQEFM4CUhhC3SOl4,22237
|
|
18
|
+
snapctl/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
19
|
+
snapctl/types/definitions.py,sha256=EQzLeiXkJ8ISRlCqHMviNVsWWpmhWjpKaOBLdlvOTmY,644
|
|
20
|
+
snapctl/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
21
|
+
snapctl/utils/echo.py,sha256=V0qgjqqGXRiueMkq31enmNmdqciC8S90qGRcK8UupXA,1090
|
|
22
|
+
snapctl/utils/helper.py,sha256=8HrLqX9RINJdadR7YI8epOXIfXOBDusXqvoR0kq6zok,5419
|
|
23
|
+
snapctl-0.46.0.dist-info/LICENSE,sha256=6AcXm54KFSpmUI1ji9NIBd4Xl-DtjTqiyjBzfVb_CEk,2804
|
|
24
|
+
snapctl-0.46.0.dist-info/METADATA,sha256=cNc5QjjGcC9hjIn8BysrPKZHD51FgL3A5ucwsP2Gov4,34343
|
|
25
|
+
snapctl-0.46.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
26
|
+
snapctl-0.46.0.dist-info/entry_points.txt,sha256=tkKW9MzmFdRs6Bgkv29G78i9WEBK4WIOWunPfe3t2Wg,44
|
|
27
|
+
snapctl-0.46.0.dist-info/RECORD,,
|
snapctl-0.43.2.dist-info/RECORD
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
snapctl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
snapctl/__main__.py,sha256=43jKoTk8b85hk_MT6499N3ruHdEfM8WBImd_-3VzjI8,116
|
|
3
|
-
snapctl/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
-
snapctl/commands/byogs.py,sha256=IE4E2Vpy6yJGtuS1M1mTdDF7wHw3pPPW6NkEeyPQt9w,18203
|
|
5
|
-
snapctl/commands/byosnap.py,sha256=cmjeHWVA2jGkO_usxK-BH4tfcK-WZDCWZWeQtGV2kLE,52271
|
|
6
|
-
snapctl/commands/game.py,sha256=nCXtEXAJkvOw26c_OBGr7Pz4hwu-5FXHyBR2kkXhLCM,5247
|
|
7
|
-
snapctl/commands/generate.py,sha256=isiTl3SE1G7wqEWjdYPKDtlBR-HE2-iNdZK_pKgiKvY,8398
|
|
8
|
-
snapctl/commands/snapend.py,sha256=Zq9lNp1NO5fHzlv2S4TrzBZUIxssOu4_ZEQFMO2Tfbc,34677
|
|
9
|
-
snapctl/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
|
-
snapctl/config/constants.py,sha256=WU0i08ls3FqEw2IKxGAyiGJOl3ee603HboydSj-4W-Q,3309
|
|
11
|
-
snapctl/config/endpoints.py,sha256=9kllA79xn9G_aBLp1rohURZi93pwYzTEWZ8ObtZ6crw,338
|
|
12
|
-
snapctl/config/hashes.py,sha256=WNLY9AVyfwAUCs9DBRfNlN_nx87pFJsnXHTvzj-udD8,5695
|
|
13
|
-
snapctl/main.py,sha256=LgVXkCqDpmDZY9NJ0XoYq16-uV5-NKhu8x2wZ_Vqe_8,21450
|
|
14
|
-
snapctl/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
|
-
snapctl/types/definitions.py,sha256=EQzLeiXkJ8ISRlCqHMviNVsWWpmhWjpKaOBLdlvOTmY,644
|
|
16
|
-
snapctl/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
-
snapctl/utils/echo.py,sha256=V0qgjqqGXRiueMkq31enmNmdqciC8S90qGRcK8UupXA,1090
|
|
18
|
-
snapctl/utils/helper.py,sha256=8HrLqX9RINJdadR7YI8epOXIfXOBDusXqvoR0kq6zok,5419
|
|
19
|
-
snapctl-0.43.2.dist-info/LICENSE,sha256=6AcXm54KFSpmUI1ji9NIBd4Xl-DtjTqiyjBzfVb_CEk,2804
|
|
20
|
-
snapctl-0.43.2.dist-info/METADATA,sha256=K_LkhPhmP8zac7j8DZ5s8aqgp5JxZnk0lIvmkOzdmHk,28866
|
|
21
|
-
snapctl-0.43.2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
22
|
-
snapctl-0.43.2.dist-info/entry_points.txt,sha256=tkKW9MzmFdRs6Bgkv29G78i9WEBK4WIOWunPfe3t2Wg,44
|
|
23
|
-
snapctl-0.43.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|