-
Notifications
You must be signed in to change notification settings - Fork 146
Conversation
e7739f8
to
a7ed8f3
Compare
@iaguis Thanks for the PR. I've been working on the fetch command lately and ran into this issue while testing the fetch code, so I'm a big supporter of this change. First a couple of notes. Since you are proposing a change to the spec this PR should include an update to the spec. Second can you provide more details in the commit message?
|
a7ed8f3
to
bdf34f4
Compare
Updated commit message and spec, I hope I explained it right as writing is not my strong point :) |
@@ -245,7 +245,15 @@ For example, if the ACE is looking for `example.com/reduce-worker` it will reque | |||
|
|||
https://example.com/reduce-worker?ac-discovery=1 | |||
|
|||
Then inspect the HTML returned for meta tags that have the following format: | |||
As a convenience feature, trying to fetch an app container image with a port number, will assume that the discovery server is listening in this port. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't want to add it to this part of the spec. I think if anything it should fall under #4 in a suggested format for convenience etc; then we can reference that from here.
@iaguis how would you propose to disambiguate between ports and versions in the AppString? For example |
(thanks for the PR! We might just need to think this through a little more before figuring out how to land it) |
I thought AppString must have something more than the host name so I split it from the first slash so port number is to the left and version to the right. If that's not the case there's no way to disambiguate without changing how the version is specified or making ports mandatory. Maybe adding a |
I admit that the example seemed a little contrived, but unfortunately there's no such restriction on an app name today, and it seems it would be somewhat arbitrary to add it. I think using custom ports is a sufficiently atypical use case that having another flag would be fine; the whole point of discovery is really to make the default case super simple and so it is a reasonable expectation that http/https are on their standard ports. |
10bbfef
to
3de2d9e
Compare
I updated the PR with the new flag |
80bde22
to
fdbfa4c
Compare
@iaguis I think that something like "https-port" and "http-port" would be reasonable. Leaving it as "discovery-port" is a little to ambiguous. |
Currently the ACI spec only supports discovery on ports 443 and 80, this does not allow using a discovery server in any other ports. Fix the problem by adding support for arbitrary HTTP and HTTPS ports when querying a discovery server.
fdbfa4c
to
5be30f2
Compare
Do you mean something like this?
|
LGTM, cc @vbatts |
I slept on this and we want to let people have a mapping of names to discovery endpoints and a default rendevuous point for all non-matched discovery entries. The two use cases I see are:
So, in the case above I could see two options:
Thoughts? |
Stepping back: what is the purpose of |
@jonboulle I see the actool as a way for a user to test out all that the discovery mechanism can offer. Essentially it is our second line debugging tool when a user files a bug against rkt/jetpack/etc to test that things are configured correctly on their end. |
OK, so I guess that the map/proxy concepts are something we would describe in the (forthcoming!) "implementation guides"? rather than the spec itself. |
@jonboulle Yea, we need to start on that implementation guide. |
@philips what do you want to do with this? |
I think we need to figure out some sort of mapping of host to discovery and support proxies. I don't know how this looks for the actool at the moment though. |
I like the idea of the map of a prefix to a host/port/scheme. This can be very useful for a local repo hosting a copy/modified images (for example a mirror of coreos.com/etcd) without changing the appname and also for testing purposes (to fake discovery in rkt tests needed for example by rkt/rkt#661). |
@philips @jonboulle where is this implementation guide being tracked? |
@vbatts I added a first cut here - https://github.com/appc/spec/blob/master/GUIDE.md |
Someone wants to do image discovery over a non-default port in acpush. Ignoring proxies, just the ability to specify a port via flag to use during discovery would be useful, so any chances of reviving this? |
@dgonyeo sure, go for it ;-) |
This allows to perform discovery in arbitrary ports.