GithubHelp home page GithubHelp logo

Comments (15)

sgibson91 avatar sgibson91 commented on May 30, 2024 3

Ok, I got it to work! 🎉 Here are my suggestions for improving the docs:

  • Document the gotcha about dummy IPs. Folks like me coming from cloud-based BHub deployments would probably expect the chart to "just work" and we update it with the IP addresses when they're created. Explicitly saying that this chart won't work that way will save some confusion.
  • Document how and why the hub/binder URLs are different from the standard BHub. Again coming from the standard chart, I would never have assumed that these values needed to be different. Also a little bit of explanation as to why it's set up that way might be nice for the curious, and also admins who may need to debug at some point.
  • The URLs provided to the OAuth Provider are different than those described in the z2jh auth docs. With the explanation about the URLs from the previous point, this need be nothing more than "Here's the z2jh auth guide. Remember, the URLs you will be providing are the following..."

Hope this is helpful! ✨

from persistent_binderhub.

manics avatar manics commented on May 30, 2024 1

Can you put a dummy IP in so that the config validates, then redeploy with the actual IP when you know it?

from persistent_binderhub.

bitnik avatar bitnik commented on May 30, 2024 1

I wonder if it's because I already had a functional BinderHub and only applied the authentication config as an upgrade later? As opposed to the approach here which is to define it all at the installation point

I just tested locally and got the same error (Error: render error in "binderhub/templates/deployment.yaml": template: binderhub/templates/deployment.yaml:98:74: executing "binderhub/templates/deployment.yaml" at <"/">: invalid value; expected string) when I tried to install the latets BinderHub chart directly with auth enabled and with missing hub_url in the config. I will open an issue on binderhub repo about this. #5 (comment) is the workaround for now.

Another potential reason is that I used GitHub auth and if you used a custom authenticator, I wonder if that's less rigorously tested in the source code? Because finding edges cases in the realm of all possible authenticators is hard.

Before I installed persistent binderhub chart with GitHub authenticator as well. But I think using a different authenticator shouldn't be a problem anyways.

from persistent_binderhub.

sgibson91 avatar sgibson91 commented on May 30, 2024 1

Fab, I'm happy to review too :)

from persistent_binderhub.

bitnik avatar bitnik commented on May 30, 2024

Hi Sarah! I am very glad that you are try this out. And I would really appreciate any feedback for the documentation (I know it has a lot to improve).

Error: render error in "persistent_binderhub/charts/binderhub/templates/deployment.yaml": template: persistent_binderhub/charts/binderhub/templates/deployment.yaml:98:74: executing "persistent_binderhub/charts/binderhub/templates/deployment.yaml" at <"/">: invalid value; expected string says that problem is at 98:74 (line 98, column 74) which is https://github.com/jupyterhub/binderhub/blob/23ae2061decdf8e9f7b94829cabe602b6ed36519/helm-chart/binderhub/templates/deployment.yaml#L98 - I think you are missing binderhub.config.BinderHub.hub_url in your config.

And my config file looks like this:

Is that all your config file? If yes, you are also missing the auth config (https://github.com/gesiscss/persistent_binderhub#authentication).

from persistent_binderhub.

sgibson91 avatar sgibson91 commented on May 30, 2024

I haven't put the hub_url or auth config in yet because I don't have the IP addresses of the hub/binder pods (or a domain name) to fill in those config values because I can't deploy the chart yet, hence no IP addresses. This is a circular problem if those values are required for initial deployment.

from persistent_binderhub.

sgibson91 avatar sgibson91 commented on May 30, 2024

I mean I could, but the BinderHub chart doesn't require this. And I think for newcomers to helm, I think that's a bit of an intuition leap.

from persistent_binderhub.

bitnik avatar bitnik commented on May 30, 2024

I haven't put the hub_url or auth config in yet because I don't have the IP addresses of the hub/binder pods (or a domain name) to fill in those config values because I can't deploy the chart yet, hence no IP addresses.

Ah I understand, I never had this issue because we work on bare metal, we always know the IP beforehand. But @manics 's suggestion sounds very good, did that error disappeared after putting a dummy IP?

There is another thing that I am curious about: that part in the binderhub chart is only executed when authentication is enabled. As far as I remember you also already installed a BinderHub with authentication, did BinderHub chart also complained about it when you installed a BinderHub with authentication? That would be very useful for me to know.

from persistent_binderhub.

sgibson91 avatar sgibson91 commented on May 30, 2024

Ah I understand, I never had this issue because we work on bare metal, we always know the IP beforehand. But @manics 's suggestion sounds very good, did that error disappeared after putting a dummy IP?

I haven't tried yet, working on project stuffs today :) Will let you know

There is another thing that I am curious about: that part in the binderhub chart is only executed when authentication is enabled. As far as I remember you also already installed a BinderHub with authentication, did BinderHub chart also complained about it when you installed a BinderHub with authentication? That would be very useful for me to know.

No, the BinderHub chart doesn't complain at all if I don't provide hub_url straight away or when I upgraded to include authentication. I wonder if it's because I already had a functional BinderHub and only applied the authentication config as an upgrade later? As opposed to the approach here which is to define it all at the installation point

from persistent_binderhub.

bitnik avatar bitnik commented on May 30, 2024

I wonder if it's because I already had a functional BinderHub and only applied the authentication config as an upgrade later? As opposed to the approach here which is to define it all at the installation point

That could be the reason. Today I will test this with BinderHub chart.

from persistent_binderhub.

sgibson91 avatar sgibson91 commented on May 30, 2024

Another potential reason is that I used GitHub auth and if you used a custom authenticator, I wonder if that's less rigorously tested in the source code? Because finding edges cases in the realm of all possible authenticators is hard.

from persistent_binderhub.

sgibson91 avatar sgibson91 commented on May 30, 2024

Ok, adding in dummy values got it to deploy successfully, then I updated with the IP addresses from the binder and proxy-public services and enabled GitHub OAuth. The problem is now, that when I visit the Binder IP page, I get a 404 error? Config is below.

binderhub:
  config:
    BinderHub:
      use_registry: true
      image_prefix: "sgibson91/pbhub-dev-"
      hub_url: "http://20.50.231.204"

  jupyterhub:
    hub:
      services:
        binder:
          apiToken: "redacted"
          oauth_redirect_uri: "http://20.50.231.247/oauth_callback"
          oauth_client_id: "binder-oauth-client-test"

    proxy:
      secretToken: "redacted"

    singleuser:
      storage:
        dynamic:
          storageClass: azurefile

    auth:
      type: github
      github:
        clientId: "redacted"
        clientSecret: "redacted"
        callbackUrl: "http://20.50.231.204/hub/oauth_callback"

  registry:
    username: sgibson91
    password: "redacted"

where 20.50.231.247 is the IP address of the binder service and 20.50.231.204 is the IP address of the proxy-public service.

from persistent_binderhub.

bitnik avatar bitnik commented on May 30, 2024

hmm can you add this config:

binderhub:
  jupyterhub:
    hub:
      services:
        binder:
          url: http://20.50.231.247

and then change value of oauth_redirect_uri from "http://20.50.231.247/oauth_callback" to "http://20.50.231.204/services/binder/oauth_callback"?

Then binder must be available at http://20.50.231.204/services/binder/ as a service but jupyterhub home page (http://20.50.231.204/hub/home) is where you will find the interface for persistent bhub.

from persistent_binderhub.

bitnik avatar bitnik commented on May 30, 2024

thank, it is very helpful! I will update the docs, according to your suggestions.

from persistent_binderhub.

FasihZafar avatar FasihZafar commented on May 30, 2024

Hi @sgibson91, hope you are doing well can you please share a config file that worked for your install. I'm struggling to deploy it would be helpful to have something for reference. Thanks

from persistent_binderhub.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.