We're now serving a copy of the Clojars repository from Fastly's
CDN[1], backed by Rackspace Cloud Files[2] at
https://repo.clojars.org, and are looking for users to test out this
new setup. This CDN repo currently runs in parallel to the existing
repo, and any new deployments to
clojars.org are automatically written
to Cloud Files for the CDN to serve.
If all goes according to plan, the CDN repo would always be available,
even if
clojars.org was DDoSed or suffered a catastrophic failure.
Note: the CDN repo won't support Java 6 clients, and we know there are
still some people on Java 6, so we have a plan for that (see below).
# How can I help test it?
To use the CDN repo, you'll need to modify your tooling configuration:
* For Leiningen, update `~/.lein/profiles.clj` with the following:
{:user {:repositories [["clojars" {:url "
https://repo.clojars.org"}]]
:plugin-repositories [["clojars" {:url "
https://repo.clojars.org"}]]
;; other :user profile settings...
}}
* For Boot, update your project's `build.boot` with:
(set-env! :repositories
[["central" {:url "
http://repo1.maven.org/maven2" :snapshots false}]
["clojars" {:url "
https://repo.clojars.org"}]])
If you experience any problems with this repo, please file an issue at
https://github.com/clojars/clojars-web/issues
# What's the plan for this new repo?
We plan to run both repositories in parallel. Once we are satisfied
that the CDN repo is stable and the method for keeping it up to date
with new deployments is robust, we will:
* Submit PR's to Boot and Leiningen to update the default clojars url
to point directly to the CDN (until the updated tools are released,
you'll have to manually point to the CDN repo as shown above)
* Set up a server just for Java 6 clients (likely
java6.clojars.org)
that proxies the CDN (If you explicitly use Java 6, you'll need to
explicitly use the java6 repo using instructions similar to those
above once you update to a tool release that uses the CDN repo by
default)
* Work with Colin Fleming to get Cursive updated to use the Java 6
server behind the scenes (we suspect that Cursive users on macOS
make up the bulk of our Java 6 clients)
* Turn off Java 6 support for
clojars.org, which will force all Java 6
users to use the java6 repo (this will happen several months from
now, schedule still TBD). This will allow us to update the TLS
settings on
clojars.org to be more secure.
# Thanks to our sponsors
Rackspace is graciously donating the servers and Cloud Files service,
and Fastly has been kind enough to donate our CDN, so thank them if
you get the chance.
[1]:
https://www.fastly.com
[2]:
https://www.rackspace.com/cloud/files