Remote dataplanes for Uffizzi
Tell us about your request
I want a user to be able to run their environments in multiple places
Which service(s) is this request for?**
Cloud, Open-Source, CLI
Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?
Be able to connect to a multiple remote data planes as a Uffizzi user.
Describe the solution you'd like
AS A uffizzi user I WANT TO connect to create clusters in a remote dataplane SO THAT I can run my workloads in a remote specialized environment
SCENARIO 1: CONNECT TO THE REMOTE DATAPLANE USING THE CLI GIVEN uffizzi user has permission to create uffizzi clusters on the dataplane, AND the dataplane is hosted with a "exampleuffizzidataplane.com" domain and is accessible to the user, AND uffizzi user is logged in,
WHEN uffizzi user runs
$ uffizzi cluster data-plane connect example_gpu_dp https://controller.uffizzigpu.examplecompany.com
example_gpu_dp is the name of the data_plane here and https:// controller.uffizzigpu.examplecompany.com is the controller endpoint here.
THEN
- the cli checks if the dataplane exists
- checks if the user is allowed to access the dataplane
- adds data_plane to list of dataplane if it exists
- default dataplane is set to the one recently added
Successfully connected to Uffizzi data plane example_gpu_dp (https://controller.uffizzigpu.examplecompany.com) !
Data plane example_gpu_dp has been set as default
To create a cluster on this environment run the following command
# uffizzi cluster create
WHEN the user runs uffizzi user runs uffizzi config list,
THEN the output should show (notice the data_planes (previously_vclusters_controller_url), notice the **swd),
$ uffizzi config list
server = https://app.qa.uffizzi.com/
account = {
:id=>5,
:name=>"waveywaves",
:has_installation=>true,
:data_planes=> {
:uffizzi=>"https://controller.app.qa.uffizzi.com",
:example_wasm_dp=>"https://controller.uffizziwasm.examplecompany.com"
:example_gpu_dp=>"https://controller.uffizzigpu.examplecompany.com"
}
:default_data_plane=>"example_gpu_dp"
}
...
WHEN the user is not able to access the dataplane THEN the following output is given
Unable to connect to Uffizzi data plane example_gpu_dp (https://controller.uffizzigpu.examplecompany.com)
Contact your admin to check if you have permissions to access
WHEN uffizzi user runs
$ uffizzi cluster data-plane connect example_wasm_dp
THEN
- do the same checks as the first WHEN statement
- set the data-plane as default in the config as a
default_data_planevalue
WHEN the user runs uffizzi user runs uffizzi config list after the above,
THEN the output should show (notice the default_data_plane updated),
$ uffizzi config list
server = https://app.qa.uffizzi.com/
account = {
:id=>5,
:name=>"waveywaves",
:has_installation=>true,
:data_planes=> {
:uffizzi=>"https://controller.app.qa.uffizzi.com",
:example_wasm_dp= "https://controller.uffizziwasm.examplecompany.com"
:example_gpu_dp=>"https://controller.uffizzigpu.examplecompany.com"
}
:default_data_plane=>"example_wasm_dp"
}
...