Docs

Documentation versions (currently viewingVaadin 24)

Getting Started with Control Center 1.1

Learn how to get started with Control Center 1.1
Note
This is for the 1.1 pre-release version of Control Center. To view the latest stable version, see the main documentation.
Note
Control Center is designed to run in a production environment. For local development, see the Getting Started in a Local Environment guide.

Prerequisites

Before you begin, make sure you have a Kubernetes cluster running and available. It can be a service like Google Kubernetes Engine (GKE), Amazon EKS, or Azure AKS.

Configure Hostnames

You’ll need to configure the hostnames for Control Center and for Keycloak (Control Center’s authentication provider). They need hostnames that are accessible from a web browser running outside the cluster.

Via your cloud provider’s dashboard, create two DNS records. Point them to your cluster’s public IP address provided by your cloud provider. If your domain is mydomain.com, create control.mydomain.com and auth.mydomain.com, both pointing to the cluster’s external IP.

You should find the external IP address in your cloud provider’s dashboard. Make sure that your network security settings allow traffic to this IP on the necessary ports.

Deploying Control Center

To deploy Control Center, use the following command:

helm install control-center oci://docker.io/vaadin/control-center \
    -n control-center --create-namespace \
    --version 1.1.0-beta2 \
    --set domain=mydomain.com \
    --set user.email=example@mydomain.com \
    -f values-ingress.yaml \
    --wait

Replace mydomain.com with your domain and replace email address value with your own. The email is used to create the initial user account in Control Center.

This is an example of a custom ingress configuration:

ingress:
  enabled: true
  className: "nginx"
  hosts:
    - host: "control.mydomain.com"
      paths:
        - path: "/"
          pathType: Prefix
    - host: "auth.mydomain.com"
      paths:
        - path: "/"
          pathType: Prefix
  tls:
    - hosts:
        - "control.mydomain.com"
        - "auth.mydomain.com"
      secretName: "control-center-tls"
mkcert control.mydomain.com auth.mydomain.com

This creates the cert.pem and key.pem files.

Accessing Control Center

Once deployed, copy the temporary password for the initial user. Run the following command to retrieve it:

kubectl -n control-center get secret control-center-user -o go-template="{{ .data.password | base64decode | println }}"

You can access Control Center through the web browser at http://control.mydomain.com (replace "mydomain.com" with your domain).

Logging In

When you first access Control Center, you’ll be prompted to log in. Use the email you provided during deployment and the temporary password you retrieved earlier.

Login to Control Center

You’ll then be prompted to change your password and then to provide a first and last name.

Accessing the Dashboard

Upon successful authentication, you’ll be taken to the Control Center dashboard, as shown in the screenshot here.

Control Center Dashboard

At this point, the dashboard should notify you that no applications are available. This is because none are deployed yet. To start deploying your Vaadin applications and take full advantage of Control Center’s features, proceed to the Application Deployment documentation page.