Create Strigo class for Zenika training.
10K+
Create Strigo class for Zenika training.
ztraining2strigo-x.y.z.exe from latest release.ztraining2strigo.exePATHAn alternative is to follow the procedure for other OS.
Make sure to have Python >= 3.11 installed.
Download the ztraining2strigo-x.y.z-py3-none-any.whl from latest release.
Install the wheel package:
pip install ztraining2strigo-x.y.z-py3-none-any.whl
Get the image zenika/ztraining2strigo:x.y.z:
docker image pull zenika/ztraining2strigo:x.y.z
Define an alias ztraining2strigo:
alias ztraining2strigo='docker container run --rm --volume $(pwd):/training --user $(id -u):$(id -g) --env STRIGO_ORG_ID --env STRIGO_API_KEY --env Z2S_TRACE_HTTP --interactive --tty zenika/ztraining2strigo:x.y.z'
STRIGO_ORG_ID with the value of "Organization ID"STRIGO_API_KEY with the value of "API Key"If the environment variables are not set, the Strigo credentials will be asked when launching the tool.
ztraining2strigo binary$ ztraining2strigo --help
usage: ztraining2strigo [-h] [--config CONFIG] COMMAND ...
positional arguments:
COMMAND sub-command help
create Create config for new Strigo class. The class parameters are asked interactively.
retrieve Retrieve config from existing Strigo class
update Update Strigo class from config
optional arguments:
-h, --help show this help message and exit
--config CONFIG
$ ztraining2strigo retrieve --help
usage: ztraining2strigo retrieve [-h] CLASS_ID
positional arguments:
CLASS_ID Existing Strigo class ID
optional arguments:
-h, --help show this help message and exit
This command can be used to create the configuration from existing Strigo class.
strigo.json file at the root of your training (or one referenced by --config)PDF/Installation/strigo/init_<machine_name>.shInstallation/strigo/post_launch_<machine_name>.shAfter launching this command, you can:
$ ztraining2strigo create --help
usage: ztraining2strigo create [-h]
optional arguments:
-h, --help show this help message and exit
This command can be used to create a configuration and the corresponding Strigo class.
strigo.json file at the root of your training (or one referenced by --config)$ ztraining2strigo update --help
usage: ztraining2strigo update [-h] [--dry-run] [--diff] [--save-scripts DIR]
optional arguments:
-h, --help show this help message and exit
--dry-run, -n Do not perform update
--diff, -d Display diff of changes to apply in machines scripts
--save-scripts DIR Save the init and post launch scripts that will be uploaded into DIR, one file per machine
This command can be used to update a Strigo class from local configuration.
--dry-run option--save-scripts option, which writes one init_<machine_name>.<sh|ps1> and/or post_launch_<machine_name>.ps1 file per machine into the given directoryConfiguration is stored in JSON format inside a strigo.json file at the root of your training (or one referenced by --config).
There is a JSON Schema available at https://raw.githubusercontent.com/Zenika-Training/ztraining2strigo/main/strigo.schema.json.
id: the Strigo ID of the class, shouldn't be changedname: the name of the classdescription: the list of lines of description of the class (can be empty list [])labels: the list of labels the class (can be empty list [])presentations: the list of presentation materials, can only contains 1 element for now (Strigo model)
file: the path to presentation file (typically pdf/Zenika-Formation-xxx-Slides.pdf or pdf/Zenika-training-material-Slides.pdf)notes_source: the path to the listing of slides for notes extraction (should be Slides/slides.json)resources: the list of lab machines
name: the display name of the machineinstance_type: the size of the machine (one of t3.medium, t3.large or t3.xlarge, see AWS EC2 T3 Instances)image: the machine image, can be the normalized name of the preconfigured Strigo images (lower case, space replaced by simple hyphen -), or a custom image:
image_id: the AMI IDimage_user: the default user of the AMIec2_region: the region of the AMIinit_scripts: the list of init scripts to use for the machine, content of all the scripts will be concatenated into 1 init script in Strigo. Can be either:
path: the path of the local script inside the training repositoryscript: the filename of the scriptversion: the git version of the script to get (defaults to main)env: the mapping of environment variables for the scriptpost_launch_scripts: the list of post launch batch scripts (Windows only) to use for the machine, content of all the scripts will be concatenated into 1 init script in Strigo. Same format as init_scriptsview_interface: the default interface of the machine (one of terminal or desktop, defaults to none)webview_links: the list of web interfaces of the machine:
name: the name of the interfaceurl: the URL of the interface (something of the form http://instance.autolab.strigo.io:<port>)Example:
{
"$schema": "https://raw.githubusercontent.com/Zenika-Training/ztraining2strigo/main/strigo.schema.json",
"name": "My training",
"id": "43t8s3ZNSGwy89Ffo",
"description": [
"The description of the training",
"",
"Can be on multiple lines in a list"
],
"presentations": [
{
"file": "pdf/Zenika-training-material-Slides.pdf",
"notes_source": "Slides/slides.json"
}
],
"resources": [
{
"name": "machine1",
"instance_type": "t2.medium",
"image": "ubuntu-16.04.2",
"init_scripts": [
{
"path": "Installation/strigo/init_all.sh"
},
{
"path": "Installation/strigo/init_machine1.sh"
},
{
"script": "code-server.sh",
"env": {
"code_server_version": "3.11.1",
"code_server_extensions": "ms-azuretools.vscode-docker coenraads.bracket-pair-colorizer-2",
"code_server_settings": "{\"workbench.colorTheme\": \"Default Dark+\"}"
}
}
],
"post_launch_scripts": [],
"webview_links": [
{
"name": "code-server",
"url": "http://instance.autolab.strigo.io:9999"
}
]
},
{
"name": "machine2",
"instance_type": "t2.xlarge",
"image": {
"image_id": "ami-0b209583a4a1146dd",
"image_user": "ubuntu",
"ec2_region": "eu-west-3"
},
"init_scripts": [
{
"path": "Installation/strigo/init_all.sh"
}
],
"post_launch_scripts": [],
"webview_links": []
}
]
}
Building requirement is a Python environment >= 3.11.
./build.sh
.\build_windows.ps1
docker image build --tag zenika/ztraining2strigo .
You can activate HTTP traces by setting the environment variable Z2S_TRACE_HTTP to 1 or True.
This repository is integrated with Docker Hub to automate the building and publishing of our Docker images.
A GitHub Webhook is configured on this repository to notify Docker Hub whenever code changes occur :
push and pull-request.https://hub.docker.com/api/build/v1/vcs/...).Dockerfile at the root directory, and publishes the new version to our registryAttention : Warning: Do not delete this Webhook in the repository settings (
Settings>Webhooks). Removing it will break the automatic update process for images on Docker Hub.
Content type
Image
Digest
sha256:c2d6ed266…
Size
17 MB
Last updated
28 days ago
docker pull zenika/ztraining2strigo