Snapser CLI Tool
Project description
Snapser CLI Tool
Dependencies
The Snapser CLI tool depends on Python 3.X and Pip. MacOS comes pre isntalled with Python. But
please make sure you are running Python 3.X. On Windows, you can download Python 3.X from the
Windows store. Some of the commands also need docker.
Installation
Installing PIP on MacOS
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py
Installing PIP on Windows
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
Once you have Python and Pip installed
pip install --user snapctl
If you also have Python 2.X on your machine, you may have to run instead
pip3 install --user snapctl
Important Please verify that your python path has been added to $PATH
Upgrade
Upgrade your snapctl version
pip install --user snapctl --upgrade
Setup
Get your Snapser Access Key
Log in to your Snapser account. Click on your user icon on the top right and select, User Settings. Under developer key tab you will be able to copy your Access Key.
Setup a local config
Create a file named ~/.snapser/config. Open it using the editor of your choice and replace with your
personal Snapser Access key. Save the file.
[default]
snapser_access_key = <key>
Or you can run the following command
on MacOSX
# $your_api_key = Your Snapser developer key
echo -e "[default]\nSNAPSER_API_KEY=$your_api_key" > ~/.snapser/config
on Windows Powershell
# $your_api_key = Your Snapser developer key
echo "[default]
SNAPSER_API_KEY=$your_api_key" | Out-File -encoding utf8 ~\.snapser\config
Verify Snapctl installation
snapctl --version
You should see the latest snapctl version in the output
Supported commands
Run the following to see the list of commands Snapser supports
snapctl --help
Advanced Setup
Snapser by default supports access to multiple accounts. You can create multiple profiles in your Snapser config
~/.snapser/config.
[profile personal]
snapser_access_key = <key>
[profile professional]
snapser_access_key = <key>
You can then set an environment variable telling Snapser which profile you want to use.
# Mac
export SNAPSER_PROFILE="my_profile_name";
# Windows
setx SNAPSER_PROFILE="my_profile_name";
Or you can pass --profile my_profile_name with every command to tell Snapser to use a particular profile.
Commands
1. byosnap publish-image
Ability to publish a custom snap code image.
# Help for the byosnap command
snapctl byosnap publish-image --help
# Publish a new image
# $byosnap_sid = Snap ID for your snap
# $image_tag = An image tag for your snap
# $code_root_path = Local code path where your Dockerfile is present
# Example:
# snapctl byosnap publish-image byosnap-jinks-flask --tag my-first-image --path /Users/DevName/Development/SnapserEngine/jinks_flask
snapctl byosnap publish-image $byosnap_sid --tag $image_tag --path $code_root_path
2. byosnap publish-version
Ability to publish a new version for your Snap.
# Help for the byosnap command
snapctl byosnap publish-version --help
# Publish a new image
# $byosnap_sid = Snap ID for your snap
# $image_tag = An image tag for your snap
# $prefix = Prefix for your snap Eg: /v1
# $version = Semantic version for your snap Eg: v0.0.1
# $ingress_port = Ingress port for your snap Eg: 5003
# Example:
# snapctl byosnap publish-image byosnap-jinks-flask --tag my-first-image --prefix /v1 --version v0.0.1 --http-port 5003
snapctl byosnap publish-version $byosnap_sid --tag $image_tag --prefix $prefix --version $version --http-port $ingress_port
3. byosnap upload-docs
Ability to upload swagger.json and README.md for you Snap
# Help for the byogs command
snapctl byosnap upload-docs --help
# Publish a new image
# $byogs_sid = Game server ID for your snap
# $image_tag = An image tag for your snap
# $code_root_path = Local code path where your swagger.json and README.md files are present
# Example:
# snapctl byosnap upload-docs byogs-jinks-flask --tag my-first-image --path /Users/DevName/Development/SnapserEngine/jinks_flask
snapctl byosnap upload-docs $byogs_sid --tag $image_tag --path $code_root_path
4. byogs publish-image
Ability to publish your custom game server image.
# Help for the byogs command
snapctl byogs publish-image --help
# Publish a new image
# $byogs_sid = Game server ID for your snap
# $image_tag = An image tag for your snap
# $code_root_path = Local code path where your Dockerfile is present
# Example:
# snapctl byogs publish-image byogs-jinks-flask --tag my-first-image --path /Users/DevName/Development/SnapserEngine/jinks_flask
snapctl byogs publish-image $byogs_sid --tag $image_tag --path $code_root_path
5. byogs publish-version
Ability to publish a new version for your Game server.
# Help for the byogs command
snapctl byogs publish-version --help
# Publish a new image
# $byogs_sid = Snap ID for your snap
# $image_tag = Any image tag for your snap
# $prefix = Prefix for your snap Eg: /v1
# $version = Semantic version for your snap Eg: v0.0.1
# $ingress_port = Ingress port for your snap Eg: 5003
# Example:
# snapctl byogs publish-image byogs-jinks-flask --tag my-first-image --prefix /v1 --version v0.0.1 --http-port 5003
snapctl byogs publish-version $byogs_sid --tag $image_tag --prefix $prefix --version $version --http-port $ingress_port
6. Snapend SDK download
Download a Snapser SDK for your snapend
# Help for the byogs command
snapctl snapend download-sdk --help
# Download your Snapend SDK
# $snapend_id = Cluster Id
# $sdk_type = One of the supported SDK names: unity, unreal, roblox, godot, cocos, ios-objc, ios-swift, android-java, android-kotlin, web-ts, web-js, csharp, cpp, lua, ts, go, python, kotlin, java, c, node, js, perl, php, closure, ruby, rust.
# Example:
# snapctl snapend download gx5x6bc0 --type unity
snapctl snapend download-sdk $snapend_id --type $sdk_type
7. Snapend BYOSnap or BYOGs update version
Update your BYOSnap or BYOGs versions for the Snapend
# Help for the byogs command
snapctl snapend update --help
# Download your Snapend SDK
# $snapend_id = Cluster Id
# $byosnaps = Comma separated list of BYOSnap ids and version.
# $byogs = Comma separated list of BYOGs fleet name, id and version.
# Note atleast one of the two needs to be present
# Example:
# snapctl snapend update --byosnaps service-1:v1.0.0,service-2:v1.0.0 --byogs my-fleet-one:gs-1:v0.0.1,my-fleet-two:gs-2:v0.0.4
snapctl snapend update --byosnaps $byosnaps --byogs $byogs
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file snapctl-0.4.0.tar.gz.
File metadata
- Download URL: snapctl-0.4.0.tar.gz
- Upload date:
- Size: 13.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.4.0 CPython/3.10.8 Darwin/22.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
405bb96c75c27ff1c5a455a8af66a03fb01251aac95c8251847ea79e019b9e56
|
|
| MD5 |
717cd958cc2ea6dccfae0b85f4b730c1
|
|
| BLAKE2b-256 |
f32366e4b5d9be820a707e1ab4b0913f3527b7efa1c90f8be383dc816cd1e5ad
|
File details
Details for the file snapctl-0.4.0-py3-none-any.whl.
File metadata
- Download URL: snapctl-0.4.0-py3-none-any.whl
- Upload date:
- Size: 17.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.4.0 CPython/3.10.8 Darwin/22.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
06c961c795923f78beea15773b6057fb6e5d65b17b6170c72b0814fe2e75d800
|
|
| MD5 |
05f451e78f428c88e3c8036cbe653853
|
|
| BLAKE2b-256 |
afce69794d17e6d1d95829572147dc83e96fd0726998bac070b2533be8183aa5
|