Skip to content
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

Support managing domain on kubernetes #3149

Closed
AhmedHanafy725 opened this issue Jul 23, 2024 · 16 comments
Closed

Support managing domain on kubernetes #3149

AhmedHanafy725 opened this issue Jul 23, 2024 · 16 comments
Assignees
Labels
dashboard type_feature New feature or request
Milestone

Comments

@AhmedHanafy725
Copy link
Contributor

Which package/s are you suggesting this feature for?

Dashboard

Is your feature request related to a problem? Please describe

The user might have some solutions on the cluster that require an ingress with a domain.

Describe the solution you'd like

It would be good if he could create domains pointing to the cluster's master.

@AhmedHanafy725 AhmedHanafy725 added type_feature New feature or request dashboard labels Jul 23, 2024
@ramezsaeed ramezsaeed added this to the 2.6.0 milestone Jul 30, 2024
@0oM4R 0oM4R moved this to Accepted in 3.15.x Jul 30, 2024
@Mahmoud-Emad Mahmoud-Emad self-assigned this Aug 18, 2024
@Mahmoud-Emad Mahmoud-Emad moved this from Accepted to In Progress in 3.15.x Aug 18, 2024
@Mahmoud-Emad Mahmoud-Emad moved this from In Progress to Pending Review in 3.15.x Aug 18, 2024
@Mahmoud-Emad
Copy link
Contributor

Issue update

Work done

Changes

  • Optimized the ManageGatewy component to work on both types of machines normal VM and K8S machine
  • Generate the name based on the master
  • takes the master networks as the domain-supported networks
  • Change the dialog title to be dynamic
  • Working on refactoring the component
  • Load the WireGuard network name dynamic based on the machine type

Screenshots/Video

Screencast.from.08-18-2024.03.10.58.PM.webm

@Mahmoud-Emad
Copy link
Contributor

After some investgation we found that our K3S image binds on IPv4 and won't work on IPv6 e.g. Mycelium or Planetary networks, we need to search if there a way to bind on both IPs v4 or v6 without break the current behavior

@Mahmoud-Emad
Copy link
Contributor

Mahmoud-Emad commented Aug 20, 2024

Due to threefoldtech/tf-images#291 we have 2 options now

    • Support only IPv4 and Wireguard networks
    • Wait until the operations update the K3S image

@Mahmoud-Emad Mahmoud-Emad moved this from In Progress to Blocked in 3.15.x Aug 20, 2024
@Mahmoud-Emad Mahmoud-Emad moved this from Blocked to In Progress in 3.15.x Aug 20, 2024
@Mahmoud-Emad
Copy link
Contributor

Mahmoud-Emad commented Aug 20, 2024

During the implementation, we discovered and agreed on:

  • Set the default port to 443
  • Define a new selector that lists all node's master/workers
  • Let the user select the target node and load its interfaces based on the selected node
  • Remove any V6 from the networks, let the user only choose Public IPv4 or Wireguard

We'll go with the first option

Due to threefoldtech/tf-images#291 we have 2 options now

    • Support only IPv4 and Wireguard networks
    • Wait until the operations update the K3S image

@Mahmoud-Emad
Copy link
Contributor

During the implementation i faced this bug #3321

@Mahmoud-Emad Mahmoud-Emad moved this from In Progress to Pending Review in 3.15.x Aug 21, 2024
@Mahmoud-Emad Mahmoud-Emad moved this from Pending Review to In Verification in 3.15.x Aug 28, 2024
@A-Harby
Copy link
Contributor

A-Harby commented Aug 28, 2024

Can we change one of the logo of the manage workers or domain? Both having the same logo is kind of confusing.
image

And maybe we add a new column to identify to whom this domain is attached to (master or which worker).
image

@A-Harby
Copy link
Contributor

A-Harby commented Aug 28, 2024

Not all the domain interfaces are shown.

I deployed worker with all the networks.
image

But it only shows me Wireguard and IPv4.
image

And master with deployed with planetary and mycelium, but also it only shows wireguard.

@A-Harby A-Harby moved this from In Verification to Accepted in 3.15.x Aug 28, 2024
@Mahmoud-Emad
Copy link
Contributor

Can we change one of the logo of the manage workers or domain? Both having the same logo is kind of confusing. image

And maybe we add a new column to identify to whom this domain is attached to (master or which worker). image

@ehab-hassan , please give it a look

@Mahmoud-Emad
Copy link
Contributor

Not all the domain interfaces are shown.

I deployed worker with all the networks. image

But it only shows me Wireguard and IPv4. image

And master with deployed with planetary and mycelium, but also it only shows wireguard.

@A-Harby , Please see the above comment

Due to threefoldtech/tf-images#291 we have 2 options now

    • Support only IPv4 and Wireguard networks
    • Wait until the operations update the K3S image

@ehab-hassan
Copy link
Contributor

Can we change one of the logo of the manage workers or domain? Both having the same logo is kind of confusing. image
And maybe we add a new column to identify to whom this domain is attached to (master or which worker). image

@ehab-hassan , please give it a look

use this for Workers
https://pictogrammers.com/library/mdi/icon/cube-outline/

and Globe for domain

also, we had a tooltip here to be cleared to the user

@Mahmoud-Emad
Copy link
Contributor

@ehab-hassan
We can't use the Globe icon for the domain for two reasons

  1. The manage domains icon in the VMs view is the settings icon, so we have to be consistent.
  2. The Globe icon used in the Manage Domains modal and point to redirecting the user to the domain

IMO. setting it as the settings icon and only changing the Manage workers icon might be good, what do you think?

@Mahmoud-Emad Mahmoud-Emad moved this from Accepted to In Progress in 3.15.x Aug 29, 2024
@Mahmoud-Emad Mahmoud-Emad moved this from In Progress to Pending Review in 3.15.x Aug 29, 2024
@Mahmoud-Emad Mahmoud-Emad moved this from Pending Review to In Verification in 3.15.x Sep 3, 2024
@Mahmoud-Emad
Copy link
Contributor

Can we change one of the logo of the manage workers or domain? Both having the same logo is kind of confusing. image

And maybe we add a new column to identify to whom this domain is attached to (master or which worker). image

@A-Harby
Please check

@A-Harby
Copy link
Contributor

A-Harby commented Sep 3, 2024

Verified, Devnet 4829e02.

Icons of manage worker was changed.
image

And a new column was added to identify which master or worker the domain is attached to.
image

And the domains are working correctly on master and workers (for wireguard and IPv4 only).
image

New test case: TC2815 - Add domain to a Kubernetes master and worker

@A-Harby A-Harby moved this from In Verification to Done in 3.15.x Sep 3, 2024
@A-Harby
Copy link
Contributor

A-Harby commented Sep 3, 2024

Unfortunately, I found a bug when the TLs is turned on; the domain won't work, and the attached file disappears!.

image
image

@A-Harby A-Harby moved this from Done to Accepted in 3.15.x Sep 3, 2024
@Mahmoud-Emad Mahmoud-Emad moved this from Accepted to In Progress in 3.15.x Sep 4, 2024
@Mahmoud-Emad
Copy link
Contributor

Mahmoud-Emad commented Sep 4, 2024

Unfortunately, I found a bug when the TLs is turned on; the domain won't work, and the attached file disappears!.

image image

@A-Harby
Yeah, there is an issue with loading the attached machine name in case the machine is enabled with the TLS option, However, how do you run the server inside the machine?

@Mahmoud-Emad Mahmoud-Emad moved this from In Progress to Pending Review in 3.15.x Sep 5, 2024
@Mahmoud-Emad Mahmoud-Emad moved this from Pending Review to In Verification in 3.15.x Sep 8, 2024
@A-Harby
Copy link
Contributor

A-Harby commented Sep 9, 2024

Verified Devnet, ebe226c.

The loading attachment bug was solved, and the name now appears on TLs on or off.
image

And also, the domain is working.
image

Updated the test case with ingress steps: TC2815 - Add domain to a Kubernetes master and worker

@A-Harby A-Harby moved this from In Verification to Done in 3.15.x Sep 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dashboard type_feature New feature or request
Projects
Status: Done
Development

No branches or pull requests

5 participants