S3 Repositories - boot-clj/boot GitHub Wiki
Boot supports resolving dependencies from S3 repositories with s3-wagon-private.
To resolve private artifacts in S3, add the S3 wagon to :wagons
and the private repository to :repositories
:
(set-env!
:wagons ''[s3-wagon-private "1.2.0"](/boot-clj/boot/wiki/s3-wagon-private-"1.2.0")
:repositories #(conj % '["private-repo" {:url "s3p://acme/repo/"
:username "AKIA2489AE28488"
:passphrase "98b0b104ca1211e19a6c"}])
:dependencies ''[acme/s3library "1.0.0"](/boot-clj/boot/wiki/acme/s3library-"1.0.0"))
This loads acme/s3library
JAR from the S3 repository. By conj
-ing the new repository into :repositories
we retain Maven Central, Clojars, and whatever other repositories were previously added.
Note: The
:username
and:passphrase
keys in the repository settings correspond to the AWS account access and secret keys, respectively.
aws-maven
Comparison With Spring's wagon | explict creds | system property creds | role creds |
---|---|---|---|
priv | conveys | no | no |
spring | conveys | conveys | conveys |
where priv is:
:wagons '[s3-wagon-private "1.2.0"](/boot-clj/boot/wiki/s3-wagon-private-"1.2.0")
and spring is:
:wagons #(conj % '[org.springframework.build/aws-maven "5.0.0.RELEASE"
:schemes {"s3" (fn [] (org.springframework.build.aws.maven.SimpleStorageServiceWagon.))}])
;; Repository definition for the above:
:repositories #(conj % '["my-s3-repo" {:url "s3://my-bucket/releases/"}])