diff --git a/.github/styles/config/vocabularies/Docs/accept.txt b/.github/styles/config/vocabularies/Docs/accept.txt index 9956c0b2f8..8687b6986d 100644 --- a/.github/styles/config/vocabularies/Docs/accept.txt +++ b/.github/styles/config/vocabularies/Docs/accept.txt @@ -199,6 +199,7 @@ Thymeleaf TravaOpenJDK Typescale TypeScript +Ubuntu [uU]nbuffered [uU]ndeploy [uU]nix @@ -224,6 +225,7 @@ WebSphere widget's WildFly Workbox +WSL Xcode XPath diff --git a/articles/control-center/getting-started/images/enable_kubernetes.png b/articles/control-center/getting-started/images/enable_kubernetes.png new file mode 100644 index 0000000000..7a9c93d0da Binary files /dev/null and b/articles/control-center/getting-started/images/enable_kubernetes.png differ diff --git a/articles/control-center/getting-started/images/enable_ubuntu_distribution.png b/articles/control-center/getting-started/images/enable_ubuntu_distribution.png new file mode 100644 index 0000000000..8f3a431d83 Binary files /dev/null and b/articles/control-center/getting-started/images/enable_ubuntu_distribution.png differ diff --git a/articles/control-center/getting-started/images/enable_wsl.png b/articles/control-center/getting-started/images/enable_wsl.png new file mode 100644 index 0000000000..e4d84329ec Binary files /dev/null and b/articles/control-center/getting-started/images/enable_wsl.png differ diff --git a/articles/control-center/getting-started/local-environment.adoc b/articles/control-center/getting-started/local-environment.adoc index 3af748452f..ccb1d7696a 100644 --- a/articles/control-center/getting-started/local-environment.adoc +++ b/articles/control-center/getting-started/local-environment.adoc @@ -119,3 +119,50 @@ To start deploying your Vaadin applications and take full advantage of Control C == 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. + + +== Install Control Center in WSL + +One solution to install Control Center on Windows in a local environment is to use https://www.docker.com/products/docker-desktop[Docker Desktop] and https://learn.microsoft.com/en-us/windows/wsl[WSL] (Windows Subsystem for Linux). + +First, you need to https://learn.microsoft.com/en-us/windows/wsl/install[install] WSL. It is important to choose a distribution that allows installation of Helm, for example Ubuntu: + +[source,shell] +---- +wsl --install -d Ubuntu +---- + +Then, you need to enable Kubernetes and WSL in Docker Desktop: + +image::images/enable_kubernetes.png[Enable Kubernetes] + +image::images/enable_wsl.png[Enable WSL] + +You also need to enable integration with the Ubuntu distribution in Docker Desktop: + +image::images/enable_ubuntu_distribution.png[Enable Ubuntu Distribution] + +Then, you can start the WSL with the following command, using the distribution you chose before (in this case Ubuntu): + +[source,shell] +---- +wsl.exe -d Ubuntu +---- + +After this, you need to use the WSL terminal to install Helm and Control Center. First, you need to https://helm.sh/docs/intro/install/#from-apt-debianubuntu[install] Helm before you can xref:../getting-started/local-environment#deploying-control-center[install] Control Center in the local environment. + +It is important to xref:../getting-started/local-environment#windows[update] the `hosts` file on the Windows system, which is usually located at `C:\Windows\System32\drivers\etc\hosts`, with the domain you used during the Control Center installation, in this case with the `control.local` and `auth.local` domains: + +[source,text] +---- +# Added by Docker Desktop: +192.168.31.179 host.docker.internal +192.168.31.179 gateway.docker.internal +# Added by Docker Desktop to allow the same kube context to work on the host and the container: +127.0.0.1 kubernetes.docker.internal +# You need to add these entries: +127.0.0.1 control.local +127.0.0.1 auth.local +---- + +Note that there are other entries added to the `hosts` file which are also important. Those should be added automatically by the Docker Desktop when the Kubernetes and WSL engines are enabled.