Self Hosted Hub provides the ability to connect on premise Hubs (Self Hosted Hub) to Scramjet Cloud Platform, through a centralized medium where a user can manage and monitor them. Data transfer in the form of topics is seamlessly accessible between different Self Hosted Hubs and the SCP which provides a convenient way to run, deploy and manage programs on various devices or multi-cloud infrastructures.
Prior to executing any of Self Hosted Hub commands Scramjet's STH must be installed on the same machine as the rest of the commands using
npm i -g @scramjet/sth
Alternatively managing the Sequences added to the Self Hosted Hub through bash terminal; Scramjet Interface si version 0.34.0 or higher must be pre-installed on your machine. More information on how to install and activate si can be found under Get Started section.
Access Keys can only be displayed once when being generated, it is recommended to save the generated Access Key on your drive for future reuse. For Connecting and Starting different Hubs onto Scramjet's Cloud Platform an Access Key is required to be added to the below command-line in order to link on premise Hub to the existing Space at Scramjet's Cloud Platform. One Access Key can be used for Connected and starting numerous Self Hosted Hubs, 5 Access Keys can be generated per Space-id, and any of the 5 Access Keys can connect or re-connect an existing Self Hosted Hub. Connecting more than 1 Self Hosted Hub simultaneously requires a subscription upgrade.
Additionally, it is possible to specify a different Space-id by using
si space use <Space-id> prior to connecting the on premise Hub to SCP. In the case of adding more Hubs to the same Space-id, it is required to edit/rename the Self Hosted Hub-id e.g.
Alternatively generating an Access key can be done through Panel:
Settings > Self Hosted Hub Configuration > Generate Access Key
si space access create <Key-description> # User's preferred description
Command-line for connecting and starting on premise Hub to the SCP:
scramjet-transform-hub --platform-api "https://api-shh.scramjet.cloud" --platform-space "<Space-id>" --platform-api-key "<Access-key>" --description "<Description>" --tags "tag1, tag2" --id "<Self Hosted Hub-name>"
For listing the timestamp of all the Access keys of a particular Space-id use the following command-line.
This command-line will not display the actual values of those Access keys as part of the security policy of one time
Access Key display when generating it. In case of multiple Spaces, it is required to set the desired Space-id prior to listing its Access Keys by using
si space use <Space-id>
si space access list
For deleting one of five Access Keys assigned for a particular Space-id the below command-line must be executed. It is possible to generate a new Access Key for a specific Space-id after deleting one or more keys.
si space access revoke <Timestamp>
Disconnecting a Self Hosted Hub is done through the Control Panel by selecting the desired Self Hosted Hub and clicking the disconnect button.
Upon disconnecting a Self Hosted Hub, it will remain running on the local machine, but it will not be able to communicate with other
Hubs running on the Cloud Platform. Instances on this Hub will remain running locally.
Reconnecting a Self Hosted Hub to the Cloud Platform is possible only if the running Self Hosted Hub is terminated (e.g executing the Ctrl+C command) and then running the pre-generated or newly generated CLI command, which will start and register the Self Hosted Hub again.
Switching the environment configuration from production to development through the
si c set env development command
will enable the interaction of the Self Hosted Hub via Scramjet's Interface si. Reverting to the production environment through
si c set env production will enable the usage of si commands for Scramjet's Cloud Platform.
For adding and managing a Sequence onto a New Self-Hosted Hub check Scramjet's CLI reference section.
For creating a new Sequence check Sequence Development Guide section.
Didn't find information needed?
Join our Scramjet Community on Discord, where you can get help from our engineers directly.