Quick Start¶
The fastest way to evaluate Sovereign Home Cloud. Everything runs inside one namespace of your cluster: the control plane, PostgreSQL, OpenSearch, Valkey, an object store, an in-cluster event broker, and the default datacenter, ready to create event broker services in.
Warning! The quick start is not intended for production environments. The Quick Start keeps the chart's well-known default passwords unless you change them, serves the UIs without TLS through kubectl port-forward, and keeps all data on the cluster's default storage with no backups. Use Installing for Production for anything you intend to keep.
Prerequisites¶
| What | Details |
|---|---|
| Kubernetes cluster | A default StorageClass, and free capacity for the workloads in Compute Resources plus the event broker services you create |
| A node address | An address of one of the cluster's nodes that your machine can reach. Event broker services are published on it as NodePorts. |
| Tools | kubectl and helm 3, configured for the cluster |
| Chart and image access | The chart reference and your image pull credentials; see Before You Begin |
Create the Namespace and the Pull Secret¶
The pull secret must exist before you install. Name it custom-reg-secret, the name the chart uses by default:
kubectl create namespace home-cloud-control-plane
kubectl create secret docker-registry custom-reg-secret -n home-cloud-control-plane \
--docker-server=registry.solace.com --docker-username=<username> --docker-password=<password>
Write Your Values File¶
Create quickstart.yaml:
broker:
enabled: true # an in-cluster broker for the control plane
mca:
enabled: true # install the default datacenter, home-dc
solace-cloud-ca:
datacenter:
region: <region> # a label shown in the Cloud Console, such as us-east-1
k8s:
provider: <provider> # eks, aks, gke, openshift or rancher
caRegion: <region> # the same value as datacenter.region
serviceHostname: <node address>
vmr:
host: tcp://home-cloud-control-plane-broker:55555
vpnname: default
secrets:
values:
VAULT_LOCAL_KEY: <64 hexadecimal characters>
Generate the encryption key with openssl rand -hex 32. Everything else keeps the chart's defaults: every data store bundled, the default passwords, and no ingress.
Tip: Keep the encryption key. VAULT_LOCAL_KEY encrypts secrets in the database. Losing it loses every value encrypted under it, even when the database itself survives. Store a copy outside the cluster.
Install the Chart¶
helm install home-cloud-control-plane oci://registry.solace.com/solace/home-cloud-control-plane/charts/home-cloud-control-plane --version <chart version> -n home-cloud-control-plane \
-f quickstart.yaml --wait --timeout 30m
The first start takes several minutes. The installation waits until the control plane is ready, then registers the default datacenter, and only then reports success, so keep the 30-minute timeout.
Wait for All Pods to Be Ready¶
In a second terminal:
kubectl get pods -n home-cloud-control-plane -w
To follow the registration of the default datacenter:
kubectl logs -n home-cloud-control-plane job/home-cloud-control-plane-datacenter-register -f
Note: The datacenter agent, deployment home-dc, stays at 0/0 until registration finishes, then scales itself to one replica. This behavior is expected, and does not indicate a failure.
When helm install returns, every pod is Running and the datacenter agent is 1/1.
Open the Cloud Console and the Ops User Interface (UI)¶
kubectl port-forward -n home-cloud-control-plane svc/home-cloud-control-plane 9000:9000 8010:8010 9001:9001
| Interface | Address |
|---|---|
| Cloud Console | http://localhost:9000 |
| Ops UI | http://localhost:9001 |
| REST API | http://localhost:8010 |
Sign In¶
The installation creates two accounts:
| Account | Signs in to | Username |
|---|---|---|
| Ops administrator | Ops UI | admin@company.com |
| Organization administrator | Cloud Console | user@company.com |
Read their passwords from the release's Secret:
# Ops administrator
kubectl get secret home-cloud-control-plane-secrets -n home-cloud-control-plane \
-o jsonpath='{.data.MAAS_OPERATOR_PASSWORD}' | base64 -d; echo
# Organization administrator
kubectl get secret home-cloud-control-plane-secrets -n home-cloud-control-plane \
-o jsonpath='{.data.HOSTED_FLEET_DEFAULT_ORG_PASSWORD}' | base64 -d; echo
Create Your First Event Broker Service¶
- In the Cloud Console, open Cluster Manager and create an event broker service in the
home-dcdatacenter. - Wait until it shows as running. On the cluster, its pods appear in the
home-cloud-control-planenamespace. - Open the event broker service's Try Me tab to publish and subscribe from the browser, or its Connect tab for client connection details. Clients reach the event broker service on the node address you gave as
serviceHostname.
Troubleshooting¶
helm installtimes out but pods keep starting. The first start can be slow on small nodes. Check the registration job's log; if it later succeeds, the installation is complete.- A pod is in
ImagePullBackOff. The pull secret is missing, has the wrong credentials, or names another registry. - The datacenter agent stays at
0/0. Registration has not finished; follow the job's log above.
For more, see Troubleshooting Your Installation.
Next Steps¶
- Installing for Production: your own data stores, hostnames, TLS and secrets.
- Onboarding a Datacenter: how event broker services are exposed, and adding datacenters.
- Compute Resources: sizing the cluster.
- To remove the Quick Start, see Uninstalling.