The Pelican command line tool allows one to use a Pelican federation as a client and serve datasets through running a Pelican origin service.
For more information on Pelican, see the Pelican Platform page.
For documentation on using the Pelican Platform, see the Pelican Platform documentation page.
Run the following command to download a test file (/test/query1
) from the
configured federation:
$ pelican object get /test/query1 ./
To launch a Pelican origin, run the following:
pelican origin serve -f https://director.example.com -v /tmp/stash/:/test
The Open Science Data Federation (OSDF) is a well-known Pelican federation in support of the science and engineering communities in the US.
To launch an origin using OSDF defaults, rename the output binary from
pelican
to osdf
. Then, run:
osdf origin serve -v /tmp/stash/:/test
Similarly, the osdf
binary can be used to download from the OSDF:
$ osdf object get /osgconnect/public/dweitzel/blast/queries/query1 ./
To ease the transition of stashcp
users to pelican, the tool can also
be renamed or symlinked to stashcp
:
$ stashcp /osgconnect/public/dweitzel/blast/queries/query1 ./
and it shares the same defaults and behavior as stashcp.
Building is performed with the goreleaser tool. To build a snapshot (not release):
$ goreleaser --clean --snapshot
The binaries will be located in ./dist
directory.
To enable more rapid development you can include a dev
goreleaser configuration. This allows you to only build the binaries that you will be using.
project_name: pelican
version: 2
release:
prerelease: true
before:
hooks:
- go mod tidy
- go generate ./...
- make web-build
builds:
- env:
- CGO_ENABLED=0
goos:
- linux
- darwin
goarch:
- "amd64"
- "arm64"
id: "pelican"
dir: ./cmd
binary: pelican
tags:
- forceposix
ldflags:
- -s -w -X github.com/pelicanplatform/pelican/version.commit={{.Commit}} -X github.com/pelicanplatform/pelican/version.date={{.Date}} -X github.com/pelicanplatform/pelican/version.builtBy=goreleaser -X github.com/pelicanplatform/pelican/version.version={{.Version}}
ignore:
- goos: windows
goarch: arm64
- goos: windows
goarch: ppc64le
- goos: darwin
goarch: ppc64le
make pelican-dev-build