Skip to content

Auto-clustering via the topology wizard

Reference for the auto-clustering switch on the Stack Harbor PaaS — supported stacks, what each cluster configures, and how to declare it in JPS.

This page is the reference for the Auto-Clustering switch in the Stack Harbor PaaS topology wizard. It lists the stacks the wizard supports, what each cluster actually configures, how to manage the switch from the UI, and how to declare the same intent in a JPS manifest.

Stacks supported by the wizard

Tomcat / TomEE

A highly available Tomcat / TomEE cluster that balances load across compute nodes. Provides session replication, context-attribute replication, and cluster-wide WAR file deployment. Available from Tomcat 7.0.108 / 8.5.64 / 9.0.45 / 10.0.5 and TomEE 8.0.5 / 9.0.0-M3 onwards.

GlassFish

Interconnected GlassFish servers with pre-configured session replication and load balancing.

Payara

Interconnected Payara servers with pre-configured session replication and load balancing.

Jenkins

A master node in master / worker mode, with auto-scalable Java Engine workers and the plug-ins needed to drive build and deploy pipelines.

WildFly

WildFly nodes in domain mode with clustering enabled — designed to keep a Java EE application available across node loss.

MySQL (5.7.x and 8.x)

Automatic clusterization with pre-configured replication and node auto-discovery. Two scheme options:

  • Primary-Primary with extra secondaries — two interconnected primaries; horizontal scaling adds secondaries.
  • Primary-Secondary with extra secondaries — one primary, one secondary; horizontal scaling adds secondaries.

MariaDB (10.x)

Three scheme options:

  • Primary-Primary with extra secondaries.
  • Primary-Secondary with extra secondaries.
  • Galera Cluster — every server can accept writes, including concurrent ones.

Percona

Three scheme options:

  • Primary-Primary with extra secondaries.
  • Primary-Secondary with extra secondaries.
  • XtraDB Cluster — high-availability database clustering with linear scalability.

PostgreSQL

Pre-configured cluster with asynchronous primary-secondary replication. New nodes added by scaling are automatically joined as secondaries.

Couchbase

Automatically interconnected Couchbase servers with auto-scaling and rebalancing.

Redis

A distributed Redis Cluster topology with at least three primary servers, each with a secondary to handle reads and to take over on failure.

OpenSearch

Automatic clusterization of OpenSearch. The cluster can be extended with OpenSearch Dashboards for visualisation and Logstash for log processing through the same wizard.

Shared Storage Container

A Gluster-based replicated-volume storage cluster. The AutoFS client automatically switches to surviving nodes when one fails.

Your hosting provider may add other stacks beyond this list.

Managing auto-clustering from the wizard

  1. Open the topology wizard for the layer. If the stack supports it, the Auto-Clustering switcher is in the central pane.
  2. Depending on the stack, the switch may be:
    • mandatory (Couchbase, for example),
    • parameterised (MySQL gets a scheme drop-down and a ProxySQL toggle),
    • constrained (MariaDB Galera enforces a minimum / maximum node count and a specific scaling mode).
  3. Hover the question-mark icon for a description, a topology diagram, and a link to the detailed page for that stack.
  4. Configure the rest of the layer (node count, cloudlets, region, IPs) and apply.

Cluster configuration progress is visible under Import > JPS > View Logs if you want to inspect what the platform did — useful when debugging your own JPS packages.

Once auto-clustering is enabled on a layer, it cannot be disabled from the wizard.

Declaring auto-clustering in a JPS manifest

The cluster property is what you use in a JPS package to enable or disable auto-clustering on a layer.

On / off:

nodeGroup: couchbase
cluster: true | false

With additional parameters (for example, choosing a database cluster scheme):

nodeGroup: mysql
cluster:
  scheme: master

Substituting the default cluster manifest with a custom one:

nodeGroup: mysql
cluster:
  jps: "http://.../custom-manifest.jps"
  settings:
    scheme: master

Topology constraints — useful when your cluster requires a minimum or maximum number of nodes, or a specific scaling mode. These go in the validation property on a node group:

type: install
name: Validation
nodes:
  image: alpine
  nodeGroup: cp
  count: 2
  validation:
    minCount: 2
    maxCount: 3
    scalingMode: stateful
  • What is auto-clustering — the conceptual overview.
  • Database auto-clustering — MariaDB / MySQL / Percona specifics.
  • PostgreSQL auto-clustering — primary-secondary replication and Pgpool-II.
  • MongoDB auto-clustering — replica set, election timings, connection strings.
  • JPS overview — the manifest format used here.