Installation Guide
Relevant source files
The following files were used as context for generating this wiki page:
This guide provides comprehensive instructions for installing the Daco CLI, a "Swiss army knife" for data product projects. It covers various installation methods including package managers for macOS, Linux, and Windows, as well as building from source for development purposes.
The installation process is designed to support multiple operating systems and environments, ensuring developers can quickly set up the tool regardless of their preferred platform.
Sources: README.md:3, CONTRIBUTING.md:46
Supported Installation Methods
The Daco CLI can be installed using several methods depending on your operating system and environment.
Package Managers
| Platform | Tool | Command |
|---|---|---|
| macOS / Linux | Homebrew | brew install dacolabs/tap/daco |
| Windows | Scoop | scoop bucket add dacolabs <url> followed by scoop install daco |
| Go Environment | Go Install | go install github.com/dacolabs/cli/cmd/daco@latest |
Sources: README.md:7-21
Manual Download
Users can download pre-compiled binaries for their specific architecture and operating system directly from the project's GitHub releases page.
Sources: README.md:23-25
Development and Source Installation
For contributors or users requiring the latest features not yet in a stable release, the CLI can be built directly from the source code.
Prerequisites
Before building from source, ensure the following tools are installed:
| Tool | Version | Purpose |
|---|---|---|
| Go | 1.23.0+ | Core language for building and running |
| golangci-lint | latest | Code linting and quality checks |
| Make | any | Build automation via Makefile targets |
| GoReleaser | v2+ | Optional: Local release artifact testing |
Sources: CONTRIBUTING.md:38-44
Build Process
To build the binary locally, follow these steps:
# Clone the repository
git clone https://github.com/dacolabs/cli.git
cd cli
# Build the binary
make build
# Verify installation
./bin/daco --help
The make build command automates the compilation process, placing the resulting binary in the bin/ directory.
Sources: README.md:27-32, CONTRIBUTING.md:46-56
Development Environment Setup
If you intend to contribute to the project, use the specialized setup target to configure the local environment, including Git hooks for commit message validation.
# Configures git hooks and development tools
make setup
Sources: CONTRIBUTING.md:52-54, CONTRIBUTING.md:154
Technical Architecture of Installation
The following diagram illustrates the relationship between the source code, the build system, and the various distribution channels used to deliver the Daco CLI.
This diagram shows how the project uses GoReleaser and GitHub Actions to automate releases to package managers while providing local Makefile targets for developers.
Sources: CONTRIBUTING.md:113-132, CONTRIBUTING.md:154-166, README.md:7-32
Security Best Practices
When installing and using the Daco CLI, users should adhere to the following security guidelines:
- Update Regularly: Ensure you are using the latest stable version (currently supported versions include 0.1.x).
- Verify Definitions: Review data product definitions before applying them to your environment.
- Secure Configuration: Use environment variables or secure vaults for sensitive configuration rather than hardcoding credentials.
- Least Privilege: Follow the principle of least privilege when configuring access for the CLI.
Sources: SECURITY.md:6-8, SECURITY.md:31-36
Summary
Daco CLI offers a flexible installation suite. For standard users, Homebrew and Scoop provide the most seamless experience with automatic updates. For developers, the Go toolchain and Makefile provide a robust environment for building, testing, and extending the tool.
Sources: README.md:5, CONTRIBUTING.md:46