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

Docs are served only over HTTP #50

Open
Yoshanuikabundi opened this issue May 25, 2021 · 8 comments
Open

Docs are served only over HTTP #50

Yoshanuikabundi opened this issue May 25, 2021 · 8 comments

Comments

@Yoshanuikabundi
Copy link
Member

The OpenMM User's Manual, Python API docs, C++ API docs, and Developer Guide are all served over HTTP rather than HTTPS. We should serve via HTTPS and redirect HTTP requests to HTTPS.

@jchodera
Copy link
Member

Yep! Any idea how we fix this? I couldn't figure it out.

The docs are served from an S3 bucket, and the website is now served from GitHub Pages.

@Yoshanuikabundi
Copy link
Member Author

Haven't used S3 before, but apparently it doesn't directly support HTTPS and we'd need to go through CloudFront. It might also be possible to set Jekyll up to clone the OpenMM repo, run Sphinx/Doxygen and serve the docs with the website, or we could just use ReadTheDocs or something similar. I haven't quite got my head around how the docs are built and served yet but I've got the sense that simplification might be good here.

@raimis
Copy link

raimis commented May 26, 2021

Maybe a simpler approach is:

  • Run Sphinx/Doxygen with GitHub Actions
  • Commit the generated HTML files into a branch
  • Serve the docs with GitHub Pages from that branch

Or, alternatively, serve the docs from ReadTheDocs.

@mattwthompson
Copy link
Contributor

This is still an issue - is simply doing everything on RTD too heavy a lift?

@Yoshanuikabundi
Copy link
Member Author

Yoshanuikabundi commented May 31, 2024

OpenMM's docs are split into (at least) 3 Sphinx projects that I believe would have to be combined to get it on RTD. It also relies on doxygen and auto-generated code (and cmake I think?), and getting RTD to generate old versions would be... a task. I think it would be possible but its definitely a significant lift. Using GitHub pages would be comparatively simple I think, but has the significant downside of requiring the rendered docs to be downloaded with every clone and every pull since a new version is published (we do this at openff-docs and its not the worst but its not ideal). Having a different repo store the rendered docs and appropriate workflows would probably be possible. Using a general purpose hosting platform like Vercel might be more practical.

@mattwthompson
Copy link
Contributor

Perhaps there's a simpler way to get this all onto HTTPS, then

Accessing static, read-only documentation pages isn't a use case in which security is a high priority, but it's becoming more and more of a hassle over time to have some of our links point to HTTP pages

@jchodera
Copy link
Member

jchodera commented Jun 1, 2024

Copying in @peastman.

The docs are currently served from an AWS s3 bucket. s3 buckets do not support https. Instead, they recommend serving from s3 via cloudfront.

This could be a reasonable approach if it doesn't cost much, since the OpenMM AWS account has been paid by my personal credit card for the last few years without any hope of reimbursement. If someone was willing to investigate, we could likely use this solution---I'd be happy to help with AWS credentials.

Longer term, as we're also working to hire an OpenMM community dev via OMSF with the new OpenMM funding, it would be useful if OMSF could help coordinate community usability and interoperability issues like this. Would be happy to chat about that!

@peastman
Copy link
Member

peastman commented Jun 1, 2024

Pricing is at https://aws.amazon.com/cloudfront/pricing/. I'd be surprised if we need more than the free tier. It includes 1 TB of data transfer out to the internet and 10,000,000 HTTP or HTTPS requests per month. We should be careful of what happens when you exceed that though. I'd want to be sure someone couldn't run up massive charges for us by writing a script that hammers the website!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants