Installation
Chainloop is comprised of two main components
- A Server Side Component (Control Plane + Artifact Storage Proxy) that acts as single source of truth and management console.
- A Command Line Interface (CLI) used to both a) operate on the control plane and b) run the attestation process on your CI/CD
Command Line Interface (CLI) installation
To install the latest version for macOS, Linux or Windows (using WSL) just choose one of the following installation method.
- Installation Script
- GitHub Release
- From Source
curl -sfL https://docs.chainloop.dev/install.sh | bash -s
you can retrieve a specific version with
# You can find all the available versions at https://github.com/chainloop-dev/chainloop/releases
curl -sfL https://docs.chainloop.dev/install.sh | bash -s -- --version vx.x.x
and customize the install path (default to /usr/local/bin)
curl -sfL https://docs.chainloop.dev/install.sh | bash -s -- --path /my-path
if cosign
is present in your system, in addition to the checksum check, a signature verification will be performed. This behavior can be enforced via the --force-verification
flag.
curl -sfL https://docs.chainloop.dev/install.sh | bash -s -- --force-verification
Refer to GitHub releases page and download the binary of your choice.
git clone git@github.com:chainloop-dev/chainloop
cd chainloop && make -C app/cli build
./app/cli/bin/chainloop version
=> chainloop version v0.8.93-3-ged05b96
Deploy Chainloop Server components
By default, the Chainloop CLI comes pre-configured to talk to Chainloop's platform instance, which is currently on early access. To get an account, please request access here, and we'll get back to you shortly.
Alternatively, you can run your instance of Chainloop through our labs docker-compose setup or in Kubernetes following this guide.
Configure CLI
If you are running your own instance of Chainloop Control Plane. You can make the CLI point to your instance by using the chainloop config save
command.
chainloop config save \
--control-plane my-controlplane.acme.com \
--artifact-cas cas.acme.com
Another option would be to build a custom version of CLI with default endpoints' values pointing at your Chainloop instance. Please learn more about this method in the following doc.
Authentication
Authenticate to the Control Plane by running
$ chainloop auth login
Once logged in, your next step would be to create a Chainloop organization. Think of organizations as workspaces or namespaces.
$ chainloop organization create --name my-organization
# INF Organization "my-organization" created!
That's all!
Welcome to Chainloop!