scs-build-client

module
v0.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 30, 2022 License: BSD-3-Clause

README

SCS Build Client

PkgGoDev Build Status Code Coverage Go Report Card

The SCS Build Client allows users to build Singularity Image Format (SIF) images via the Sylabs Cloud or Singularity Enterprise without the need to install and configure Singularity.

The repository also contains the github.com/sylabs/scs-build-client/client Go module, which can be used to integrate support into other applications.

Usage

scs-build is available in DockerHub (sylabsio/scs-build) and stanadlone binaries are also published with each release.

Obtain an authentication token from Sylabs Cloud or Singularity Enterprise installation, and export it in the environment:

export SYLABS_AUTH_TOKEN=...

To build an image and retrieve it:

# Sylabs Cloud (cloud.sylabs.io)
scs-build build recipe.def image.sif

# Singulairty Enterprise (replace cloud.enterprise.local with your installation)
scs-build build --url https://cloud.enterprise.local recipe.def image.sif

To build an image, tag it and publish it directly to the Library:

# Sylabs Cloud (cloud.sylabs.io)
scs-build build recipe.def library:<entity>/default/image:latest

# Singulairty Enterprise (replace cloud.enterprise.local with your installation)
scs-build build recipe.def library://cloud.enterprise.local/<entity>/default/image:latest

Be sure to substitute <entity> appropriately (generally your username.)

CI/CD Integration

GitHub Actions

Be sure to create a secret named SYLABS_AUTH_TOKEN containing token obtained from "Access Tokens" in Sylabs Cloud.

See examples/github-actions-ci.yaml for an example configuration.

GitLab

Example gitlab-ci.yml is configured to build using file alpine.def contained within the project directory.

This example configuration will store the build artifact (in this case, artifact.sif) within GitLab. Using a library reference (ie. library:myuser/myproject/image) will result in the build artifact automatically being pushed to Sylabs Cloud or a local Singularity Enterprise installation.

Go Version Compatibility

This module aims to maintain support for the two most recent stable versions of Go. This corresponds to the Go Release Maintenance Policy and Security Policy, ensuring critical bug fixes and security patches are available for all supported language versions.

Directories

Path Synopsis
cmd
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL