athens

A Go module datastore and proxy

MIT License

Stars
4.3K
Committers
198

Bot releases are hidden (Show)

athens - v0.14.0 Latest Release

Published by matt0x6F 6 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/gomods/athens/compare/v0.13.3...v0.14.0

athens - v0.13.3

Published by matt0x6F 6 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/gomods/athens/compare/v0.13.2...v0.13.3

athens - v0.13.2

Published by matt0x6F 7 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/gomods/athens/compare/v0.13.1...v0.13.2

athens - v0.13.1

Published by DrPsychick 10 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/gomods/athens/compare/v0.13.0...v0.13.1

athens - v0.13.0

Published by DrPsychick 10 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/gomods/athens/compare/v0.12.1...v0.13.0

athens - v0.12.1

Published by nrwiersma over 1 year ago

What's Changed

Full Changelog: https://github.com/gomods/athens/compare/v0.12.0...v0.12.1

athens - v0.12.0

Published by nrwiersma over 1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/gomods/athens/compare/v0.11.0...v0.12.0

athens - v0.12.0-rc1

Published by nrwiersma over 1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/gomods/athens/compare/v0.11.0...v0.12.0-rc1

athens - v0.11.0

Published by arschles over 3 years ago

Welcome Athenians! v0.11.0 has a few features and several internal & infrastructural changes to improve stability and robustness:

  • In https://github.com/gomods/athens/pull/1656, #1652, and #1655, we improved tests and log output. These changes should make it slighty easier for Athens developers and operators
  • In #1659, #1672, and #1677, we upgraded the Helm charts:
    • #1659 uses the new apiVersion value for Kubernetes Ingress objects
    • #1672 allows you to set annontations on the service account, if you have one present
    • #1677 allows you to use an existing service account in your Kubernetes cluster, rather than having the Helm chart create a new one for you
  • In #1673, we added configuration to support IAM Roles for Service Accounts for Athens configured with S3. This means that Athens can now use the default credentials for an S3 bucket when it's running in AWS, rather than having to hard-code them in configuration
  • In #1681, we added the Content-Length header to .zip requests, which means that Athens can now integrate with pkgsite
  • And last, but not least in #1623, we started using goreleaser to publish Athens binaries to each release page (starting with this one!). We only publish amd64 bit binaries for Linux and (Intel) Mac machines. Please submit an issue to request other builds/architectures if you would like them

Thanks to all of the contributors for the above PRs and everything else in this release!

Much ❀️ from the Athens maintainers πŸ˜„

athens - v0.10.0: Goodbye master, hello main.

Published by marwan-at-work over 4 years ago

Hi Athenians πŸ‘‹

This release brings about a few exciting changes. For the full list of commits see https://github.com/gomods/athens/compare/v0.9.0...v0.10.0

  • We changed our main branch from master to main πŸŽ‰

  • Athens support for the /index endpoint πŸ—‚οΈ. This makes Athens behave not only similarly to proxy.golang.org but also to index.golang.org. To turn it on and configure a backend for storing indexes, check out our configuration. This makes Athens integrate well with the newly open source Package Discovery Site. We will write more documentation on how to set everything up once things get more stable πŸŽ‰ (but feel free to reach out on GitHub Discussions or Slack if you want help setting it up)

  • Fixed a bug where users running Athens behind a path prefix were not able to proxy to the checksum db correctly: https://github.com/gomods/athens/pull/1620

  • Fixed a bug where the Download File was not redirecting to URLs that had a path suffix: https://github.com/gomods/athens/pull/1640

As always THANK YOU to our first time and recurring contributors. Athens is developed fully freely by the open source community so hope you like this release!

Don't hesitate to file issues or reach out to us at #athens on the Gohper Slack.

Open source contributors since v0.9.0:

πŸŽ‰ @elliotmr @stamm @sidprak @GodsBoss @WillAbides πŸŽ‰

athens - v0.9.0: Crete Edition

Published by arschles over 4 years ago

Hi there, Athenians! Lately our releases have had bugfixes and medium sized features. Not today! This release has a big new feature. We've heard you want more storage backends, so we added an HTTP-based way you can build your own storage backends, without forking or recompiling Athens

We're calling it External Storage πŸ˜„ πŸš€ πŸŽ‰

If you're interested in building your own external storage drivers, see the docs for details.

Other Changes πŸ”¬

A lot of work went into external storage, but we still had a chance to fix bugs and add other features.

For the full list of changes, see here

Thanks To The Community πŸ’š

As always, we couldn't have done this release without all the bug reports, feature requests, PRs, questions, and discussion from everyone in the community. This project exists because of you all

Thanks especially to @BradErz, @xytan0056, and @bclermont for their contributions in this release. Thanks folks!

Finally, if you'd like to contribute and see your GitHub name here next release, please talk to us in the #athens channel on Gophers Slack. We would love to have you join us, and absolutely everybody is welcome.

athens - v0.8.1: Saganaki edition

Published by arschles over 4 years ago

In this release, we fixed a bug that the v0.8.0 release introduced. Looking back to our last release, we added redis-sentinel support for single-flight, but we introduced a bug in the config.dev.toml file. In this release, we have fixed that bug by cherry-picking b2b384b43e6423be903b3346bfa0b4cac72a53ff (merged from #1581) into the release-v0.8.0 and creating a new tag.

Thanks @twexler for finding the bug and fixing it!

athens - v0.8.0: Quarantini Edition

Published by twexler over 4 years ago

πŸ‘‹ Hello Athenians! πŸ‘‹

v0.8.0 is here! With it, we're now building with Go 1.14, we've got a bunch of great new features
in the redis single flight distributed lock, and some other minor updates to documentation

Big changes:

  • #1514: We revamped our end-to-end testing, making it easier to contribute changes and know if something is broken!
  • #1535: We now have documentation on how to deploy Athens with BOSH
  • #1545: You can now specify passwords for Redis single flight setups
  • #1554: Athens now supports using redis-sentinel as a single flight backend

We'd also love to give a shout out to Netlify. We recently switched to their open-source plan for our documentation site, and couldn't be happier!

For a full list of changes, click here

πŸ‘ Last, and certainly not least: We've love to give a huge round of applause to our contributors for this release:

  • @DylanMeeus
  • @twexler
  • @mplachter
  • @s4heid
  • @fedepaol
  • @vapod
athens - v0.7.2

Published by marwan-at-work over 4 years ago

πŸ‘‹ there πŸ›s

This release brings a few important bug fixes when it comes to environment variables.

GO_ENV=production

If you were using v0.7.1 and set the following env: GO_ENV=production and saw a build failure, this is now fixed. (https://github.com/gomods/athens/issues/1529)

ATHENS_GO_BINARY_ENV_VARS

The GoBinaryEnvVars can be used to pass environment variables to the go command that Athens uses. This is important for setting things like GOPRIVATE, GOPROXY, GODEBUG and more.

Initially, we used the comma , to separate values as such GOPRIVATE=marwan.io/* , GOPROXY=direct -- However, this broke because sometimes you need the comma itself to be part of the value such as GOPRIVATE=github.com/marwan-at-work/*,marwan.io/*

Therefore, this release changes the separator for this env var from comma , to a semi colon ; as such:

ATHENS_GO_BINARY_ENV_VARS='GOPRIVATE=marwan.io/*,github.com/gomods/*; GOPROXY=direct'

For more information, see https://github.com/gomods/athens/issues/1404

Also, for thorough information on how to use this and other config values please see https://github.com/gomods/athens/blob/release-v0.7.2/config.dev.toml

As always, THANK YOU to all the contributors and users -- if you have any issues or would like any help, don't hesitate to reach out to us on the Gopher Slack (#athens) or open an issue on GitHub.

Thanks!

athens - v0.7.1

Published by marwan-at-work almost 5 years ago

πŸ‘‹ Waves to everybody πŸ‘‹

This release makes pattern matching in the Download File behave the same way as GOPROXY and friends. In other words, you can set a path to *.my_company/go/* to match both a sub domain and a path suffix. For more info see https://github.com/gomods/athens/issues/1408

The GO_ENV=production line was removed from the Dockerfile, this was done because the Env Var always overrode whatever the user has put in the Config TOML file.

If you were relying on the Dockerfile having this set automatically, you must now explicitly pass it either through an Env Var or through the Config TOML file.

There was also a lot of documentation updates since the last release and if you see there's anything missing, don't hesitate to open an issue!

As always, THANK YOU to all of the users and contributors. Athens is purely developed and maintained by the Go community so give it up to yourselves πŸ‘

athens - v0.7.0

Published by marwan-at-work about 5 years ago

Hi Athenians!

This release brings 🀞more stability 🀞 to Athens through documentation and bug fixes.

Most notably, the DownloadFile will follow the same exact rules as our NoSumPatterns config which follows the same exact rules for GONOSUMDB and friends: matches will be based on path.Match based on path prefixes.

In other words, having NoSumPatterns=["github.com/org/*"] will match all repositories, sub-packages, and sub-modules such as "github.com/org/repo" and "github.com/org/repo/v2". This is especially important if you run a vanity import server so you can match the whole organization such as NoSumPatterns=mycompany.org

For more info see here

For a list of what has changed since the last release, check out https://github.com/gomods/athens/compare/v0.6.1...v0.7.0

As always, thank you to all of the contributors and the users that have reported issues and kept us on our toes to bring fixes and better documentation.

Athens is fully built and maintained by the open source and seeing individuals as well as companies large and small use it is a huge reward for all of us. Speaking of which, if you use Athens feel free to drop a note here: https://github.com/gomods/athens/issues/1323

Thank you!

athens - Fix Sum DB Errors

Published by marwan-at-work about 5 years ago

Hi Athenians,
The v0.6.0 had an important bug (https://github.com/gomods/athens/issues/1390) where all private modules that were not already in storage failed to be downloaded.

This release fixes that bug. Please give it a try and let us know!

On a similar note, if you have private import paths make sure you tell Athens that through the NoSumPatterns config. Otherwise, go mod download will fail!

Furthermore, you can now pass any GO* environment variable to go mod download that Athens runs through the GoBinaryEnvVars config such as GOPROXY and GOPRIVATE

For more, see our example config file here: https://github.com/gomods/athens/blob/master/config.dev.toml

athens - v0.6.0

Published by marwan-at-work about 5 years ago

Hi Athenians!

This release brings better compatibility with the newly released Go 1.13 ✌️

Athens now uses Go 1.13 under the hood to list/download Go Modules. Furthermore, you can specify the GOPROXY option from within Athens when a module is not found in storage.

Athens now also returns 404 on all list/download errors so that comma-separated GOPROXY clients can function correctly.

For all of the changes between v0.5.0 and v0.6.0 please take a look at: https://github.com/gomods/athens/compare/v0.5.0...v0.6.0

As always, a huge THANK YOU to everyone who used, contributed to, and improved on Athens and its community :)

Peace,

athens - v0.5.0

Published by marwan-at-work over 5 years ago

Hi Athenians!

This release includes an exciting new feature as well as fixes and enhancements to our helm charts. All changes since v0.4.0 can be found here

The biggest part of this release is the addition of the Download Mode and a greatly improved download and filter configuration file. You can now choose from 5 different modes to configure how Athens should treat any module or module glob when that module is missing from local storage. And there are new features hidden inside these modes! For example, Athens can now download modules from upstream code hosts synchronously or asynchronously πŸŽ‰.

The new download modes features unlock Go 1.13's new feature of allowing comma-separted URLs in the GOPROXY variable.

For more information on the Download Mode see: https://docs.gomods.io/configuration/download/

As always, THANK YOU to the community members who put their own free time and love into this. We couldn't have done this without you!

If you'd like to contribute or have any questions, reach out to us on the #athens channel at https://gophers.slack.com.

If you find any bugs or difficulties, don't hesitate to open an issue on this repository!

Enjoy!

image

athens - v0.4.0

Published by marwan-at-work over 5 years ago

Hi Athenians!

This release includes new features, patches, and better documentation. All changes since v0.3.1 can be found here

BUT our favorite part of this release is the fact that incredibly awesome people have added translations to some of our docs! Check them out here and here

Here are some more highlights for what v0.4.0 brings:

  1. Added Datadog as one of the supported metrics backends 🐢
  2. Many fixes and enhancements to our Helm charts πŸ’―
  3. Added the ability to proxy a Checksum DB URL, more here
  4. Wrapped our Dockerfile with tini so that zombie processes are properly removed.
  5. Added both GCS and Azure Blobs as a distributed lock mechanism so that concurrent persistence is synchronized.

As always, THANK YOU to the community members who put their own free time and love into this. We couldn't have done this without you!

If you'd like to contribute or have any questions, reach out to us on the #athens channel at https://gophers.slack.com.

If you find any bugs or difficulties, don't hesitate to open an issue on this repository!

Enjoy!

image

Package Rankings
Top 2.31% on Proxy.golang.org
Badges
Extracted from project README
Build Status GoDoc Go Report Card codecov Docker Pulls PRs Welcome Open Source Helpers
Related Projects