Managing Stacks

Helion Stackato uses the alsek stack by default. You can add more stacks to deploy applications designed for different platforms.

Listing Existing Stacks

To determine what stacks already exist on Helion Stackato, target your API endpoint, log in, and run the stackato stacks command. The installed stacks are listed, for example:

$ stackato stacks
Stacks: https://api.198.51.100.1.xip.io
+------------+------------------------+
| Name       | Description            |
+------------+------------------------+
| alsek      | Stackato Alsek Stack   |
+------------+------------------------+

To Add a Stack

In the following examples, the cflinuxfs2 and win2012r2 stacks are added. You can add any number of additional stacks using a similar process. For more information and special requirements, consult the documentation of the specific stack.

  1. ssh into the core node and perform the following actions on every node with the controller role.

  2. Open the /s/code/cloud_controller_ng/config/stacks.yml file. By default, the contents of the file are as follows:

    # lucid64 stack is just a default stack that was made
    # in the create_stacks_table migration
    default: "alsek"
    
    stacks:
      - name: "alsek"
        description: "Stackato Alsek Stack"
    
  3. Add stacks:

    • To add the cflinuxfs2 stack:

      1. Add the following entry to the stacks: block of stacks.yml:

        - name: "cflinuxfs2"
          description: "CF Linux FS2 Stack"
        
      2. Run the docker pull command on each DEA:

        $ docker pull stackato/stack-cflinuxfs2
        
      3. Run the kato restart controller command.

    • To add the win2012r2 stack:

      1. Attach a Windows DEA node to your cluster.

      2. Add the following entry to the stacks: block of stacks.yml:

        - name: "win2012r2"
          description: "Windows 2012 R2 x86-64"
        

      Note

      To allow developers to push .NET application code, remember to attach a Windows DEA node to your cluster and to install the .NET Buildpack.

      1. Run the kato restart controller command.
    • To add any other stack:

      1. Add an entry to the stacks: block of stacks.yml:

        - name: "centos"
          description: "CentOS 7 Stack"
        
      2. Add an entry to dea_ng:

        $ kato config push -j dea_ng stacks '{"name": "centos", "package_path": "not used"}'
        
      3. Run the docker pull command on each DEA:

        $ docker pull stackato/stack-centos7
        
      4. Run the kato restart controller command.

  4. To see the added stacks, run the stackato stacks command, for example:

    $ stackato stacks
    Stacks: https://api.198.51.100.1.xip.io
    +------------+------------------------+
    | Name       | Description            |
    +------------+------------------------+
    | alsek      | Stackato Alsek Stack   |
    | cflinuxfs2 | CF Linux FS2 Stack     |
    | win2012r2  | Windows 2012 R2 x86-64 |
    | centos     | CentOS 7 Stack         |
    +------------+------------------------+