Support installation of coopcloud.tech/... golang packages #20

Closed
opened 2021-08-09 08:18:07 +00:00 by decentral1se · 4 comments
Owner

I'm not quite sure but I think we need to be able to intercept requests that look like this https://coopcloud.tech/coop-cloud/<pkg>?go-get=1 so that we can fire back meta tags which point the go get installer to our git repositories.

We could do that with a nginx proxied setup (using the custom-html setup might be a good shout)?

OTOH, it seems possible maybe to do this just inside Hugo: https://npf.io/2016/10/vanity-imports-with-hugo? @roxxers you probably know what would be the best step forward.

This would also close coop-cloud/coopcloud.tech#19. Also, the CI is broken on this instance, so we'd need to dig into that too.

I'm not quite sure but I think we need to be able to intercept requests that look like this `https://coopcloud.tech/coop-cloud/<pkg>?go-get=1` so that we can fire back meta tags which point the `go get` installer to our git repositories. We could do that with a nginx proxied setup (using the `custom-html` setup might be a good shout)? OTOH, it seems possible maybe to do this just inside Hugo: https://npf.io/2016/10/vanity-imports-with-hugo? @roxxers you probably know what would be the best step forward. This would also close https://git.coopcloud.tech/coop-cloud/coopcloud.tech/issues/19. Also, the CI is broken on this instance, so we'd need to dig into that too.

Will do this! I think the doing it in Hugo thing is great and I will edit the site to do this for both abra and tagcmp

Will do this! I think the doing it in Hugo thing is great and I will edit the site to do this for both abra and tagcmp

I will try and document it in the coopcloud site repo

I will try and document it in the coopcloud site repo

OK! This works*. go get coopcloud.tech/abra and tagcmp now work. You can see the way this works with my latest commits. Check the content/code folder for how you can add new packages to this. Basically, the pages made from these pages are mapped to the root of the site. Going to https://coopcloud.tech/abra will give you a page with just metadata. This then will redirect your browser to the git page you define in the file. go get will use this to install the packages.

* The issue we have is the Go servers that provide nice features like checksum checking and auto-generating a site with documentation on the package are getting gnutls_handshake() failed: Illegal parameter errors. The former actually effects installing packages. To solve this, we will need to have everyone set the env var GOPRIVATE to coopcloud.tech. This will tell go get not to try and check the checksum cause its broken right now. I will add docs for using direnv and setup the files for that for people who are hacking on this.

With this, we can close:

coop-cloud/coopcloud.tech#20
coop-cloud/go-abra#45
coop-cloud/go-abra#20

And I can probably work on this but I don't have access to the org so it would have to be a PR:

servers.coop/libcapsul#1

OK! This works\*. `go get coopcloud.tech/abra` and `tagcmp` now work. You can see the way this works with my latest commits. Check the `content/code` folder for how you can add new packages to this. Basically, the pages made from these pages are mapped to the root of the site. Going to https://coopcloud.tech/abra will give you a page with just metadata. This then will redirect your browser to the git page you define in the file. `go get` will use this to install the packages. \* The issue we have is the Go servers that provide nice features like checksum checking and auto-generating a site with documentation on the package are getting `gnutls_handshake() failed: Illegal parameter` errors. The former actually effects installing packages. To solve this, we will need to have everyone set the env var `GOPRIVATE` to `coopcloud.tech`. This will tell `go get` not to try and check the checksum cause its broken right now. I will add docs for using `direnv` and setup the files for that for people who are hacking on this. With this, we can close: [coop-cloud/coopcloud.tech#20](https://git.coopcloud.tech/coop-cloud/coopcloud.tech/issues/20) [coop-cloud/go-abra#45](https://git.coopcloud.tech/coop-cloud/go-abra/issues/45) [coop-cloud/go-abra#20](https://git.coopcloud.tech/coop-cloud/go-abra/issues/20) And I can probably work on this but I don't have access to the org so it would have to be a PR: [servers.coop/libcapsul#1](https://git.coopcloud.tech/servers.coop/libcapsul/issues/1)
Author
Owner

Excellent work @roxxers! Added you to the servers.coop org owners 🚀

Excellent work @roxxers! Added you to the servers.coop org owners 🚀
Sign in to join this conversation.
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: toolshed/coopcloud.tech#20
No description provided.