Running and managing sedona VMs from finstack

Getting started

Steps to quickly create and run a sedona app from Finstack:

  1. Enable the finSedonaExt pod (download )
  2. Install the sedona compiler and follow the tutorial to create a sample sedona app on
  3. If you follow the tutorial exactly there will be 3 files need attention: tutorial-xxxxxxx.xml in the manifests/ folder, app.sab and kits.scode in src/tutorialApp/ folder. Zip 3 of them into a file such as
  4. Upload that file to finstack using the files panel and add markers :sedona, par. Then add properties: soxPort:1876 (default port of sox service), soxUser: admin, soxPassword:'' (blank)
  5. using folio, to start the VM for that file, run :svmStart("@id_of_the_file") or simply run : svmStartAll()
  6. to check if the svm is actually running , open the browser at http://localhost:8080/ (8080 is the web service component in the app.sax above)
  7. open the connectors panel (need to enable sedona connector ext first), then add a sedona connector for http://localhost:1876, for user :admin and blank password.


sedona_connector.avi run_sample_app.avi


This is how to describe a sedona app with a sox service and a http service (servers). You can omit the service if you dont need its supported protocol

<kit name='sys'/>
<kit name='sox'/>
<kit name='inet'/>
<kit name='web'/>
<kit name='func'/>
<kit name='platWin32'/>
<kit name='tutorial'/>
<comp name="plat" type="platWin32::Win32PlatformService"/>
<comp name="users" type="sys::UserService">
<comp name="admin" type="sys::User">
<prop name="cred" val="hE49ksThgAeLkWB3NUU1NWeDO54="/>
<prop name="perm" val="2147483647"/>
<prop name="prov" val="255"/>
<comp name="sox" type="sox::SoxService">
<prop name="port" val="1876"/>
<comp name="web" type="web::WebService">
<prop name="port" val="8080"/>
<comp name="rampA" type="func::Ramp"/>
<comp name="rampB" type="func::Ramp"/>
<comp name="add" type="tutorial::Add" id="12"/>
<link from="/rampA.out" to="/add.in1"/>
<link from="/rampB.out" to="/add.in2"/>



Axon functions

(this can be viewed at http://localhost:85/doc/finSedonaExt/SedonaLib.html)

const static Str svmBackup(Obj fileOrId, Uri fileUri)

backup a SVM to a file examples : svmBackup("@12123434", path/to/zip)

const static Dict[] svmList()

list all running SVMs

const static Str svmRestart(Obj fileOrId)

restart a SVM examples : svmRestart("@12123434")

const static Str svmSetPort(Obj fileOrId, Number port)

change the port of sox service in SVM then save the change and restart examples : svmSetPort("@12123434", 2000)

const static SVM svmStart(Obj fileOrId)

start a sedona VM for the target file (zip contains scode and .sab app) examples : svmStart("@12123434")

const static Dict[] svmStartAll()

start all io files that are marked with tags sedona and par

const static Str svmStop(Obj fileOrId)

stop a SVM examples : svmStop("@12123434")

const static Str svmStopAll()

stop all running SVMs

Using Sedona TXS bundle for Niagara

Download the bundle at

And install it in niagara with sedona installer (Tools->Sedona Installer)

Connect to the VM :File->Open->Sedona Device

When it is fully loaded the app tree will look as below

You can you the link pallete to add links then save it. Go back to finstack folio and run : svmRestart("@id_of_the_vm") to persist the change to our iofile and restart the VM

Finstack sedona connector

In finstack , using connectors panel you can add a connection to the running svm.After you make a successful connection, you can access the objects of sedona app

Prebuilt sedona app

In the extension there is a prebuilt sedona app. When the extension is enabled, it will compile the files then upload to finstack automatically. When finstack starts, the app will start as well.

The default sox port for this app is 1876. If you need to run another SVM, make sure you use another port for your sox service, or you need to change the default app's port to a different one before adding your app to finstack.

It will avoid port conflict.

Filter by label

There are no items with the selected labels at this time.