Skip to content

PelicanPlatform/pelican

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pelican Command Line

Build Status License Release Downloads for all releases Go Report

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.

Testing and Usage

Run the following command to download a test file (/test/query1) from the configured federation:

$ pelican object get /test/query1 ./

Running an Pelican origin

To launch a Pelican origin, run the following:

pelican origin serve -f https://director.example.com -v /tmp/stash/:/test

Running an OSDF origin or client

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

Building is performed with the goreleaser tool. To build a snapshot (not release):

$ goreleaser --clean --snapshot

The binaries will be located in ./dist directory.

Building for Development

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.

Example .goreleaser.dev.yml File

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

Build using the dev file

make pelican-dev-build

About

The Pelican Platform for creating data federations

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 28