Skip to content

Installation

Homebrew (macOS)

Terminal window
brew install carina-rs/tap/carina

This installs both carina (CLI) and carina-lsp (Language Server).

GitHub Releases

Download pre-built binaries from GitHub Releases. Available for macOS (aarch64, x86_64) and Linux (aarch64, x86_64). Each archive contains both carina and carina-lsp.

Terminal window
# macOS (Apple Silicon)
curl -LO https://github.com/carina-rs/carina/releases/latest/download/carina-0.3.0-macos-aarch64.tar.gz
tar xzf carina-0.3.0-macos-aarch64.tar.gz
sudo mv carina carina-lsp /usr/local/bin/

Build from source

Prerequisites:

  • Rust toolchain (stable) — install via rustup
  • wasm32-wasip2 target — required for building provider plugins
Terminal window
rustup target add wasm32-wasip2

Clone the repository and build in release mode:

Terminal window
git clone https://github.com/carina-rs/carina.git
cd carina
cargo build --release

The binary is at target/release/carina. Add it to your PATH or copy it to a directory already on your PATH.

Provider plugins

Carina uses WASM-based provider plugins. When you specify a source and version in your .crn file, Carina automatically downloads the provider plugin from GitHub Releases on first use:

provider awscc {
source = 'github.com/carina-rs/carina-provider-awscc'
version = '0.3.0'
region = 'ap-northeast-1'
}

The two official providers are:

ProviderSource
AWSCC (Cloud Control API)github.com/carina-rs/carina-provider-awscc
AWS (native SDK)github.com/carina-rs/carina-provider-aws

Building from source (optional)

If you need to build providers from source:

Terminal window
git clone https://github.com/carina-rs/carina-provider-awscc.git
cd carina-provider-awscc
cargo build -p carina-provider-awscc --target wasm32-wasip2 --release

The WASM component is at target/wasm32-wasip2/release/carina_provider_awscc.wasm.

Building the AWS provider

Terminal window
git clone https://github.com/carina-rs/carina-provider-aws.git
cd carina-provider-aws
cargo build -p carina-provider-aws --target wasm32-wasip2 --release

The WASM component is at target/wasm32-wasip2/release/carina_provider_aws.wasm.

Shell completions

Terminal window
# Bash
carina completions bash > ~/.local/share/bash-completion/completions/carina
# Zsh
mkdir -p ~/.zfunc
carina completions zsh > ~/.zfunc/_carina
# Add to .zshrc: fpath=(~/.zfunc $fpath); autoload -Uz compinit; compinit
# Fish
carina completions fish > ~/.config/fish/completions/carina.fish

Verify the installation

Terminal window
carina --help