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

Using Rover within Docker #524

Open
synackSA opened this issue May 10, 2021 · 5 comments
Open

Using Rover within Docker #524

synackSA opened this issue May 10, 2021 · 5 comments
Labels
docs 📝 improvements or additions to docs on the docs site 💅 polish

Comments

@synackSA
Copy link

Hi there

I just wanted to bring up a couple of issues that I've had, where I could have saved quite some time if these things were documented in this repo and on the Apollo website: https://www.apollographql.com/docs/rover/getting-started

  • Rover does not work with Docker alpine images
  • curl needs to be installed in the docker image.
    • When running the schema check command, it was failing for me with zero error message which indicated what the problem might be. I'll admit it took me way longer than it should have to finally start running the command with --log=trace, but I eventually did, I noticed that it was failing on a http request. I then made docker install the curl package when building the image and this fixed the issue.
    • So either documentation needs to indicate that curl should be installed on the system, or rover should check when doing any command that does a HTTP request (which is basically everything if you haven't set APOLLO_TELEMETRY_DISABLED=1) to make sure that the curl command is available and produce a error message that indicates that curl should be installed. Long term, hopefully both.
@synackSA synackSA added docs 📝 improvements or additions to docs on the docs site triage issues and PRs that need to be triaged labels May 10, 2021
@EverlastingBugstopper
Copy link
Contributor

EverlastingBugstopper commented May 12, 2021

@synackSA we've updated the documentation to include information about the inability to run Rover on Alpine. As for your second point, I'm actually quite surprised that installing curl fixed the issue for you since Rover uses the pure Rust reqwest library for all of its HTTP requests. Installing curl is required if you are using the curl | sh installer, but it sounds like you're using npm.

If you could provide us with the logs before and after installing curl, in addition to the output of rover info that would be incredibly helpful!

My first thought is that maybe installing curl also installes OpenSSL, which you will need to run Rover. Scratch that! We actually vendor OpenSSL so that you don't have to install it, Rover should have no runtime dependencies except glibc.

@synackSA
Copy link
Author

Sorry, only seeing this now for some reason, I'll attempt to find some time soon to go over this again and provide the output.

@abernix abernix added size - S and removed triage issues and PRs that need to be triaged labels Jul 21, 2021
@abernix
Copy link
Member

abernix commented Aug 3, 2021

@synackSA Hey! Any updates on this?

@cyberhck
Copy link

cyberhck commented Aug 6, 2021

generally that might happen because of ca-certificates, you tried calling an endpoint, when you're missing ca-certificate the API call fails, when you install curl, it lists ca-certificate in it's dependencies, and certificate gets installed which results in passing endpoint call.

@MrOggy85
Copy link

Maybe related issue: I got the following error while running rover dev:

error: the router was unable to start up

The reason was that I set the environment variable: APOLLO_TELEMETRY_DISABLED=1
When I removed this the error did not occur and the router started as expected 🤷

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs 📝 improvements or additions to docs on the docs site 💅 polish
Projects
None yet
Development

No branches or pull requests

5 participants