diff --git a/articles/control-center/getting-started/1.1.0-pre-release.adoc b/articles/control-center/getting-started/1.1.0-pre-release.adoc new file mode 100644 index 0000000000..f378b2f48c --- /dev/null +++ b/articles/control-center/getting-started/1.1.0-pre-release.adoc @@ -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:vaadin@V24.6]#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 <> documentation. + +[NOTE] +Control Center is designed to run in a production environment. For local development, see the <> 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 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: + +[.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. diff --git a/articles/control-center/getting-started/index.adoc b/articles/control-center/getting-started/index.adoc index bea1f3fc1c..ad9c9ff3ea 100644 --- a/articles/control-center/getting-started/index.adoc +++ b/articles/control-center/getting-started/index.adoc @@ -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 diff --git a/articles/control-center/getting-started/local-environment.adoc b/articles/control-center/getting-started/local-environment.adoc new file mode 100644 index 0000000000..9156a140b2 --- /dev/null +++ b/articles/control-center/getting-started/local-environment.adoc @@ -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:vaadin@V24.6]#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 <> 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 <>), 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 user.email=example@foo.com \ + --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.