Warning - This is CLI is in a experimental stage. No guarantees provided.
git clone
Create local environment
python3 -m venv env
Activate the local environment
source env/bin/activate
Install the module and pull dependencies (automagically.)
- . or the directory where scaleout-cli module is located.
python3 -m pip install -e .
- Access help
stackn --help
- login to studio:
stackn login -u <username> -p <password> --url <studio-url>
- List project templates
stackn get project-templates
- create project:
stackn create project -t <project template | default: default>
- list projects:
stackn get projects
- list app instances:
stackn get app
- create model object:
stackn create model-obj -t <type> -v <version>
- list model objects:
stackn get model-obj -t <type>
- switch current project
stackn set current -p <project-name>
- create app templates (based on helm charts). See /components/studio/charts for examples. config.json is required. Run inside app folder.
stackn create app
- create project templates. Requires template.json at CWD. Add image.png inside CWD to imbed image in Studio. Run inside project template folder.
stackn create projecttemplate
Example template.json:
{
"name": "Test",
"slug": "test",
"description": "test project template",
"template": {
"flavors": {
"Medium": {
"cpu": {
"requirement": "100m",
"limit": "1000m"
},
"mem": {
"requirement": "1Gi",
"limit": "8Gi"
},
"gpu": {
"requirement": "0",
"limit": "0"
},
"ephmem": {
"requirement": "50Mi",
"limit": "100Mi"
}
}
},
"environments": {
"Jupyter Lab": {
"repository": "ghcr.io/scaleoutsystems/stackn",
"image": "jupyter-stackn:develop",
"app": "jupyter-lab"
}
},
"apps": {
"minio-vol": {
"slug": "volumeK8s",
"volume.size": "5Gi",
"permission": "project",
"volume.accessModes": "ReadWriteMany",
"volume.storageClass": "nfs-csi",
"storageClass": "nfs-csi"
},
"project-vol": {
"slug": "volumeK8s",
"volume.size": "5Gi",
"permission": "project",
"volume.accessModes": "ReadWriteMany",
"volume.storageClass": "nfs-csi",
"storageClass": "nfs-csi"
},
"project-minio": {
"slug": "minio",
"app:volumeK8s": ["minio-vol"],
"credentials.access_key": "accesskey2",
"credentials.secret_key": "secretkey193",
"permission": "project"
},
"jupyter-lab": {
"slug": "jupyter-lab",
"app:volumeK8s": ["project-vol"],
"environment": "Jupyter Lab",
"permission": "project",
"flavor": "Medium"
}
},
"settings": {
"project-S3": "project-minio"
}
}
}