Skip to content

Commit

Permalink
Add pages for Control Center 1.1 pre-release (#3977)
Browse files Browse the repository at this point in the history
  • Loading branch information
MatthewVaadin authored Dec 5, 2024
1 parent 5df7af6 commit 9014844
Show file tree
Hide file tree
Showing 3 changed files with 235 additions and 0 deletions.
115 changes: 115 additions & 0 deletions articles/control-center/getting-started/1.1.0-pre-release.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
---
title: Getting Started with Control Center 1.1
description: Learn how to get started with Control Center 1.1
order: 100
---


= [since:com.vaadin:[email protected]]#Getting 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 <<index#,main>> documentation.

[NOTE]
Control Center is designed to run in a production environment. For local development, see the <<local-environment#,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 https://cloud.google.com/kubernetes-engine[Google Kubernetes Engine (GKE)], https://aws.amazon.com/eks[Amazon EKS], or https://azure.microsoft.com/en-us/products/kubernetes-service[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:

.Terminal
[source,bash]
----
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 [email protected] \
-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:

[.example]
--
.values-ingress.yaml
[source,yaml,subs="+quotes,verbatim"]
----
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"
----
--

.Terminal
[source,bash]
----
mkcert control.mydomain.com auth.mydomain.com
----

This creates the [filename]`cert.pem` and [filename]`key.pem` files.


== Accessing Control Center

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

.Terminal
[source,bash]
----
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.

[.device]
image::images/login-view.png[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.

[.device]
image::images/dashboard-view.png[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#,Application Deployment>> documentation page.
3 changes: 3 additions & 0 deletions articles/control-center/getting-started/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ order: 10

Control Center simplifies the management of Vaadin applications on Kubernetes clusters. This page explains how to deploy Control Center and get it running smoothly.

[NOTE]
If you want to try the 1.1 pre-release version of Control Center, see the <<1.1.0-pre-release#,Control Center 1.1.0>> documentation.


== Prerequisites

Expand Down
117 changes: 117 additions & 0 deletions articles/control-center/getting-started/local-environment.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
---
title: Getting Started with Control Center 1.1 in a Local Environment
description: Learn how to set up Control Center in a local environment.
order: 110
---


= [since:com.vaadin:[email protected]]#Getting Started with Control Center 1.1 in a Local Environment#

[NOTE]
This is for the 1.1 pre-release version of Control Center. To view the latest stable version, see the <<index#,main>> documentation.

This page explains how to set up Control Center in a local environment for development and testing purposes.


== Prerequisites

Before you begin, make sure you have a Kubernetes cluster running and available on your local machine. You can use tools like https://www.docker.com/products/docker-desktop[Docker Desktop], which has an embedded Kubernetes (see <<docker-desktop#,Kubernetes on Docker Desktop>>), https://kind.sigs.k8s.io/[Kind], or https://minikube.sigs.k8s.io/[Minikube] to set up a local cluster. Deciding which to use depends on your project needs.

[IMPORTANT]
If you're using minikube, you'll need to ensure that the https://minikube.sigs.k8s.io/docs/handbook/accessing/#loadbalancer-access[minikube tunnel] is running before deploying Control Center.

You'll also need to install https://helm.sh/[Helm]. It's a Kubernetes package manager that simplifies application deployment and management. Make sure it's configured to interact with your cluster.


== Configure Hosts File

To access Control Center from your local machine, you need to add a couple of entries to your [filename]`hosts` file.


=== Linux & macOS

When using a Unix based system like Linux or macOS, you'll need to open the [filename]`hosts` file in the `/etc` directory, with administrative privileges like so:

.Terminal
[source,bash]
----
sudo nano /etc/hosts
----

There you'll have to add the following line at the end of the file:

[source]
----
127.0.0.1 control.local
127.0.0.1 auth.local
----


=== Windows

If you're using a Windows system, you'll instead need to start Notepad as an administrator. With it, open the [filename]`hosts` file, which is usually located at `C:\Windows\System32\drivers\etc\hosts`. Be careful when modifying system files while logged in as administrator, to avoid problems.

Add the following line to the end of that file:

[source]
----
127.0.0.1 control.local
127.0.0.1 auth.local
----


== Deploying Control Center

To deploy Control Center, use the following command:

.Terminal
[source,bash]
----
helm install control-center oci://docker.io/vaadin/control-center \
-n control-center --create-namespace \
--version 1.1.0-beta2 \
--set domain=local \
--set [email protected] \
--wait
----

Replace the email address with your own. This is used to create the initial user account in Control Center.


== Accessing Control Center

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

.Terminal
[source,bash]
----
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.local`.

=== 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.

[.device]
image::images/login-view.png[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.

[.device]
image::images/dashboard-view.png[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#,Application Deployment>> documentation page.


== Application Development

To develop applications locally, you can use the <<../dev-mode#,Local Development Mode>>. It allows you to run your application locally and interact with the cluster as if it were running inside it.

0 comments on commit 9014844

Please sign in to comment.