-
Notifications
You must be signed in to change notification settings - Fork 143
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
Iodide should not hardcode server addresses #1943
Comments
The domains are needed to verify the that the communications between the eval-frame and the editor come from the correct hosts. since we're pretty much all-in on the server at this point, i guess we could have django inject the correct domains when it serves the pages (as we do with other NB info) -- they'd still need to be configured in .env for each deployment, but you wouln't have to re-build. so questions then:
one other thing: if we don't set the host domains at build time, we'd need to fully deprecate start-and-serve mode. i don't use that anymore ever, but it's worth noting. |
On some level, yeah, we need this information to come from Django. No, I don't think it's any less secure: If you can't trust what Django is sending you, well, you basically can't trust anything. There's almost certainly a way to keep start-and-serve working with this approach, I suspect it's something we can just add to the webpack config. I would say this is pretty much something we have to fix before we can put this into production internally. Our internal configuration is already quite complex and has many moving pieces and assumptions, for sure this will come back to bite us again (perhaps at an inopportune time) if we don't fix it sooner. |
Can probably use something like this technique: https://facebook.github.io/create-react-app/docs/title-and-meta-tags#injecting-data-from-the-server-into-the-page |
This will allow us to swap in metadata used by the eval frame on the server side, without recompiling the webpack assets. It is a necessary prerequisite for #1943 ("Iodide should not hardcode server assets").
This will allow us to swap in metadata used by the eval frame on the server side, without recompiling the webpack assets. It is a necessary prerequisite for #1943 ("Iodide should not hardcode server assets").
This will allow us to swap in metadata used by the eval frame on the server side, without recompiling the webpack assets. It is a necessary prerequisite for #1943 ("Iodide should not hardcode server assets").
This will allow us to swap in metadata used by the eval frame on the server side, without recompiling the webpack assets. It is a necessary prerequisite for #1943 ("Iodide should not hardcode server assets").
This will allow us to swap in metadata used by the eval frame on the server side, without recompiling the webpack assets. It is a necessary prerequisite for iodide-project#1943 ("Iodide should not hardcode server assets").
This will allow us to swap in metadata used by the eval frame on the server side, without recompiling the webpack assets. It is a necessary prerequisite for iodide-project#1943 ("Iodide should not hardcode server assets").
This will allow us to swap in metadata used by the eval frame on the server side, without recompiling the webpack assets. It is a necessary prerequisite for iodide-project#1943 ("Iodide should not hardcode server assets").
This will allow us to swap in metadata used by the eval frame on the server side, without recompiling the webpack assets. It is a necessary prerequisite for iodide-project#1943 ("Iodide should not hardcode server assets").
This will allow us to swap in metadata used by the eval frame on the server side, without recompiling the webpack assets. It is a necessary prerequisite for iodide-project#1943 ("Iodide should not hardcode server assets").
This will allow us to swap in metadata used by the eval frame on the server side, without recompiling the webpack assets. It is a necessary prerequisite for iodide-project#1943 ("Iodide should not hardcode server assets").
Instead we will have the iodide server inject these properties
Instead we will have the iodide server inject these properties
…e-project#1943) Instead we will have the iodide server inject these properties
…e-project#1943) Instead we will have the iodide server inject these properties
…e-project#1943) Instead we will have the iodide server inject these properties
Right now we hardcode server addresses in the iodide .js during the webpack phase of the build:
iodide/webpack.config.js
Line 27 in b026e53
To deploy internally at Mozilla (where we use a docker container), we set the circle environment for these two variables at build time. This has a number of disadvantages:
We should somehow fix the webpack builds to not require hardcoding this information. Not sure offhand what the right set of solutions here is, hopefully it's not too complicated.
/cc @bcolloran @robotblake
The text was updated successfully, but these errors were encountered: