Skip to content

[Control Center] Add steps to install Control Center in WSL #4280

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: latest
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/styles/config/vocabularies/Docs/accept.txt
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,7 @@ Thymeleaf
TravaOpenJDK
Typescale
TypeScript
Ubuntu
[uU]nbuffered
[uU]ndeploy
[uU]nix
Expand All @@ -221,6 +222,7 @@ WebSphere
widget's
WildFly
Workbox
WSL
Xcode
XPath

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
60 changes: 60 additions & 0 deletions articles/control-center/troubleshooting/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -158,3 +158,63 @@

If the image is hosted in a private repository, you might need to provide an image pull secret as necessary authentication to pull the image.
This value can be provided in the application deploy screen, below the field where the docker image is provided.


== Install Control Center in WSL

One of the possible solutions 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] the WSL. It is important you choose a distribution during the installation where you can install Helm:

[source,shell]
----
wsl --install -d <Distribution Name>
----

One option is to use the Ubuntu distribution:
[source,shell]
----
wsl --install -d Ubuntu
----

Then you need to enable the Kubernetes and WSL built-in engines in Docker Desktop:

image::images/enable_kubernetes.png[Enable Kubernetes]

image::images/enable_wsl.png[Enable WSL]

You also need to enable the 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 the Ubuntu:

[source,shell]
----
wsl.exe -d Ubuntu
----

After 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 start to xref:../getting-started/local-environment#deploying_control_center[install] Control Center in the local environment with the command:

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

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.

Check warning on line 220 in articles/control-center/troubleshooting/index.adoc

View workflow job for this annotation

GitHub Actions / lint

[vale] reported by reviewdog 🐶 [Vaadin.NoteThat] Avoid using 'note that'. Raw Output: {"message": "[Vaadin.NoteThat] Avoid using 'note that'.", "location": {"path": "articles/control-center/troubleshooting/index.adoc", "range": {"start": {"line": 220, "column": 1}}}, "severity": "WARNING"}