Nexus Stacks

Description


Nexus Stacks are collections of YAML and HTML files used to define a configuration for a solution that is passed to the Solution Stacks service. In this document, we will describe how to add or modify existing Nexus Stacks to extend the functionality of the Solution Stacks service.



Stack Files


Each Stack consists of two files with the same name but different extensions. The base name of these files will be displayed in the Solution Stacks dialog. You can download and examine an example of these files from here.

  • solution.yaml and docker.yaml
    Contains the YAML code with specific item.tag names.

  • solution.html and docker.html
    Contains the HTML code with a JavaScript section used to display the configuration in the Solution Stacks dialog. It replaces the item.tag names with actual values in the YAML code, which is then submitted to the Solution Stacks service through the dialog or the API. We have included "CUSTOMIZE HERE" markers.

Solution Stacks are categorized into two types. The pairs of Stack files that use the sky.docker repository are placed in the following directory on the Nexus Server:
  • Windows
    c:\xcware\nexus-server\c\_tpl\api\solutionstacks\items\

  • Linux
    /xcware/nexus-server/c/_tpl/api/solutionstacks/items/
and the pairs of Stack files that use any other repository are placed in the following directory on the Nexus Server:
  • Windows
    c:\xcware\nexus-server\c\_tpl\api\solutionstacks\docker\

  • Linux
    /xcware/nexus-server/c/_tpl/api/solutionstacks/docker/

YAML File Tags


In the table below, we have listed the tag names in the YAML code file along with their descriptions.
Tag Description
item.cloudid Specifies the Sky Node ID where the Solution Stack will be deployed. This must be set when the item.deployto tag is set to singleinstance. Leave it unchanged otherwise.
item.name Specifies the name of the instance, which can be anything. This must be set when the item.deployto tag is set to singleinstance. Leave it unchanged otherwise.
item.network Specifies the network for the instance. This must be set when the item.deployto tag is set to singleinstance. Leave it unchanged otherwise.
item.cpu Specifies the number of CPU cores assigned to the instance. The value must be formatted as "cpu-number" (e.g., "cpu-2"). This must be set when the item.deployto tag is set to singleinstance. Leave it unchanged otherwise.
item.cputime Specifies how much time of the assigned CPU cores can be allocated. The value must be formatted as "cputime-number" (e.g., "cpu-50"). This must be set when the item.deployto tag is set to singleinstance. Leave it unchanged otherwise.
item.ram Specifies the amount of memory, in gigabytes, that will be allocated to the instance. The value must be formatted as "ram-number" (e.g., "ram-2"). This must be set when the item.deployto tag is set to singleinstance. Leave it unchanged otherwise.
item.disk Specifies the amount of disk space, in gigabytes, that will be allocated to the instance. The value must be formatted as "disk-number" (e.g., "disk-10"). This must be set when the item.deployto tag is set to singleinstance. Leave it unchanged otherwise.
item.net Specifies the network bandwidth, measured in megabits per second, that will be allocated to the instance. The value must be formatted as "net-number" (e.g., "net-150"). This must be set when the item.deployto tag is set to singleinstance. Leave it unchanged otherwise.
item.gpu Specifies whether the instance can access the GPU of the Sky Node. The value can be either "gpu-none" or "gpu-nested". This must be set when the item.deployto tag is set to singleinstance. Leave it unchanged otherwise.
item.vlan Specify the VLAN tag ID for the instance's network only if xcLAN is selected and the Sky Node is connected to a network with multiple untagged VLANs, otherwise set it to 0. The value must be set to 0 for no VLAN or to the VLAN number. This must be set when the item.deployto tag is set to singleinstance. Leave it unchanged otherwise.
item.password Specifies the root user password for the instance. This field allows the use of Secret Key Tags to obfuscate the password, ensuring enhanced security. This must be set when the item.deployto tag is set to singleinstance. Leave it unchanged otherwise.
item.deployto Specifies the switch where the solution will be deployed. Possible values are:
  • singleinstance
    Deploys to a new single instance, which is provisioned prior to deployment.

  • magnanode
    Deploys to an existing Magna-node instance.

  • magnaapp
    Deploys to an existing Magna-app cluster.

item.dmtarget Specifies the Magna-node ID on which the deployment will be made. This must be set when the item.deployto tag is set to magnanode. Leave it unchanged otherwise.
item.dctarget Specifies the Magna-app cluster ID on which the deployment will be made. This must be set when the item.deployto tag is set to magnaapp. Leave it unchanged otherwise.
# DC-COMMAND Specifies the Docker service create command for deploying to a Magna-app cluster. This must be adjusted to match the solution being deployed and is required when the item.deployto tag is set to magnaapp. If deploying to a different target, this can be set to #.

All other item.tag names are specific to the solution and may vary. Please refer to solution.html and solution.yaml for details on the NGINX solution, which can be deployed on a new single instance, a Magna-node, or a Magna-app cluster. In contrast, docker.yaml and docker.html are used to deploy the Node-RED solution exclusively to a single instance.

We utilize xcware specifically for our external CAD/CAE workforce needs. Our vGPU Workstations outperform our previously used VMware Horizon on the same hardware. More importantly, it is now easier to onboard and scalable for every project.

— Mark K.
IT-Manager @ Bielomatik

I rely on xcware for crafting and implementing solutions for my clients due to its scalability and quick setup time for projects. 8 out of 10 customers remain with the initial xcware project setup, streamlining my delivery process.

— Thomas B.
Cloud Solutions Architect

We have successfully migrated 500+ servers and desktops from VMware to xcware. We extend our gratitude to the xcware Consulting Team for delivering exceptional work.

— Franco O.
IT Manager @ SportSA

We were pleasantly surprised by how effortlessly we could construct our Big Data platform and extend it to various production lines across the globe.

— Simone C.
Big Data Engineer @ UBX

As a developer specializing in native cloud solutions, I am delighted that xcware is available for free for developers like me. This allows me to enhance my cloud skills and expand my expertise.

— Sindra L.
Cloud Engineer

My favorite is the Flow-fx engine and the API. With Nexus Flow-fx, you can automate everything, and I mean everything! I manage over 150+ Linux servers fully automated.

— Mirco. W.
Linux Administrator @ S&P

xcware Strategic Partners