-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
V4 Vanity URL #2296
Comments
Now About plugins Never compatible with it? import loggerp "github.com/asim/go-micro/plugins/logger/logrus/v3"
// error, type error
logger.DefaultLogger = loggerp.NewLogger(loggerp.WithLogger(l)) but I not found go-micro.dev/v4 plugins about v4 |
First, I prefer the second way. 'v' is better maintained by the version control system. |
The Module name for the JWT plugin is |
I've migrated the main source to go-micro.dev/v4 however submodules seem to be much trickier using that. I can't quite figure out the go-import for it. So for now plugins stay as the GitHub path until we find a solution. |
Unable to install protoc-gen-micro/v4
|
Before migrated to v4, you should release an final release for v3. Currently the latest v3 version is 3.6.0, which is not compatible with some v3 plugins, people who cannot migrate to v4 right now may still need an stable go-micro v3. |
I'm not really sure what's incompatible so happy to see someone else do the work for that. I'm just trying to push forward with a non GitHub import right now. |
All v3 plugins cannot be install by go get.
Old plugins can only be install by given version.
|
Not really sure what that's about. Nothing changed on the v3 tags |
@xpunch how about I add you as a maintainer and you sort of the v3 issues? |
@asim OK, I can do that. |
@xpunch added you as a collaborator. Please go ahead and fix. |
Currently all plugins and tools modules are untagged, so go get may download module source code and metadata directly from version control repository. That's why all v3 plugins will end with version like "v3.0.0-20211013085205-7136c61dbdde".
After doing this, users who want to use go-micro v3, can get go-micro and plugins by following commans:
|
Sounds good. We had a release script which I think was doing similar https://github.com/asim/go-micro/blob/master/plugins/release.sh. If that works please use it, otherwise amend. |
Currently v3 plugins and tools were released with v3.7.0, but we cannot update README.md or do bug fixing for v3. |
So you're right. There's large user bases at each version and the maintenance in that regard is hard. We either need the versioned subdirectories which go modules can support or branches. I think branches may be cleaner. |
If it makes sense go ahead and create v2 and vv3 branches |
You've just made me realise. The v4 submodules were not working with the vanity URL because they were not tagged. I may have to retest that |
I've tested go-micro.dev/v4 import issue(#2321), seams the vanity url of go-micro.dev/v4 is not working fine.
Should be like:
|
When |
So now if you curl you'll see
|
Using nginx, here's the rules
|
Now that we've fixed that. Next question, can vanity urls be used as part of modules like the plugins, examples, etc? |
install protoc-gen-micro not work: go install go-micro.dev/v4/cmd/protoc-gen-micro@latest go install: go-micro.dev/v4/cmd/protoc-gen-micro@latest: go-micro.dev/v4/cmd/protoc-gen-micro@v1.18.0: parsing go.mod: |
@charlesvhe you can try:
|
The latest with vanity URL is not tagged. I want to try get as much under the vanity URL as possible and then tag |
Moved cmd/micro to be under the vanity url also now @AuditeMarlow |
I wish we could get plugins under a vanity url. Go really sucks sometimes. |
I think this requires a tag as mentioned before in this thread, but I'm not sure what to tag exactly. |
So we're looking to move our import path to
go-micro.dev
. Part of that means a backwards incompatible change, meaning we can't just do it in a v3, we have to move to a v4. Otherwise it gets really tricky. Along with that, obviously each version brings its own changes.The history thus far
If anyone has ideas for V4 let me know. One major change I'm thinking about is putting the entire API into version specific dirs, which I was hugely opposed to in the past but now as there are so many packages, it feels like this maybe needs to be scoped.
One potential example
Another is to scope all packages under service/
The text was updated successfully, but these errors were encountered: