-
Notifications
You must be signed in to change notification settings - Fork 51
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
Installation Error message (inside corporate firewall) #241
Comments
In this case the error is happening because the system does not have But
Of course, without access to github, |
I'd strongly prefer not to, to be honest. We use docker images that need to be downloaded, and the main use case is going to download git repositories and metadata... If there are firewalls in place, our error messages are clear enough to understand which URLs we are trying to access. |
What about @creachadair's comment. Should we create a separate issue to discuss alternatives for setup behind firewalls ? |
Ok, let's create an issue (in backlog? feature-idea?) if you think this a use case we will need to support. |
I think for this case, operating completely locally would be OK: The goal here is to test CE inside the corp firewall, where direct GitHub access is not possible—and as I understand it, he only needs to target local repositories. The problem, though, is that he wasn't able to start up the tool even for local repos, because of missing dependencies. It sounds like fetching more containers explicitly might help in this case. More generally, I feel like we probably should have a way to do completely-local testing after some initial setup. It's fine if the user has to fetch some stuff (or maybe we give them a script to do it), but I think we ought to have some point after which local access should "just work" without further chatting to GH. |
To be clear, I'm against adding any possible deployment mode by default to the docs, without further discussion on what we really want to support and to what extent. As it is, the code will work locally with the differences mentioned above:
After this is done, either manually or by running (This is off the top of my head, somebody please correct me if I'm wrong!) Now, the question is: if we want to support it, to what extent? Should this be just an entry in the FAQ, and we consider it a workaround? Or should this be a first-class use case? If it's the latter, it may have some implications beyond the docs. |
As I understand it, he was using docker-compose, had fetched the images locally (by separate arrangement), and had set up the Unfortunately I don't have all the details of the transaction, but broadly the issue is not that he wants to avoid using Docker at all, but that pulling in data from outside the corp network requires special permissions (and I believe he had to fetch and/or build the images manually via some other side channel and import them). Once all those pieces are in place, it would be good if CE could be started up without additional pulls from remote sources. Edit: Also, I have in my notes that he tried fetching |
This is already the case if the requirements I described above are met. Most probably their system did not have |
Aha, thanks for the clarification. I thought this had come up while running |
srcd-ce makes calls to github to check new version on every run but shouldn't fail if gh is unavailable, it will just print a warning. |
Yes.
👍 I've checked the code just in case. We don't even print a warning, just ignore it silently. |
About the error getting |
True, I created #245 to move the discussion there. There might be other errors that we can improve. |
@creachadair @vcoisne Is this a firewalled environment (e.g. has a corporate HTTP proxy) or airgapped? |
As I understand it is primarily firewalled, but I think it's more than just an HTTP proxy; I believe they also proxy DNS and other key services as well. He got permission to import the components like Docker and the Docker images, but got stuck when trying to start up. I suspect @carlosms's diagnosis is right, that he didn't install |
@vcoisne which data they want to download? Is it from public GH or GHE? |
Their data are all internal to their network: He's trying to use CE to verify that the stack works on their internal infrastructure. So the short answer is: Neither. After verifying that CE works on his own machine (outside the corp network), he got permission to set it up internally for testing. The only reason GitHub got involved in this case (I think) was that he tried to start up CE and it attempted to fetch the Based on the discussion above, I believe the likely issue was he didn't realize he had to install |
Then I think we would need to document required firewall rules (domains and ports we access), better software requirements documentation, possibly with better self-documenting error messages, and maybe embedding a docker-compose.yml as fallback. Although the embedded fallback would not be so important if we have clear documentation on the requirements. |
Would satisfy your suggestions about the error messages, the ones described by #247 ? |
In this new FAQ, it is listed the resources that source{d} gets from the net. The FAQ is linked from the Dependencies docs when noticing that source{d} requires Internet to use all its features.
The place where files from |
SGTM nice work @dpordomingo |
I'd prefer to not add any other information to the errors to cover this uncommon and not really intended use case. IMO the error message it's clear enough that you require internet connection. Moreover, a user that faces this is probably used to this kind of error by working in a firewalled environment. On the other hand adding a subsection in the doc explaining how to provide those files seems good to me. |
+1 for the @se7entyse7en comment. However, I thing that we can provide a more explanatory message for the user with a link with the explanation. However, IMO looks inconsistent being able to process local repositories and not being able to boot. That feature seems created for offline machines. Could you give me more context? |
I don't like the idea of adding extra details in markdown docs because then you're exposing internals, tieing to them, and being forced to update the docs if the implementation changes. |
We already provide a more explanatory message, it has been fixed here.
@dpordomingo described here what are the requirements. Once you have the requirements it can be used offline for local repos. |
The problem I see is that it's not explained how to fulfill the The rest of the requirements: |
Here is the error message:
error while getting docker-compose container: error downloading https://github.com/docker/compose/releases/download/1.24.0/run.sh: Get https://github.com/docker/compose/releases/download/1.24.0/run.sh: dial tcp: lookup github.com on 171.172.3.251:53: no such host
Comments from @creachadair on this topic:
The text was updated successfully, but these errors were encountered: