TraceSync

command module
v0.0.0-...-3ec4577 Latest Latest
Warning

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

Go to latest
Published: Oct 22, 2024 License: Apache-2.0 Imports: 1 Imported by: 0

README

TraceSync

DISCLAIMER ❗❗❗

❗ This project is a fictional example created for educational purposes. It does not represent a real company or product. ❗

Overview

TraceSync is a CLI tool for managing and synchronizing artifacts, tracking metadata, and ensuring compliance across CI/CD pipelines.

Features

  • Upload artifacts (datasets, models, SBOMs)
  • Manage metadata and track data lineage
  • Ensure compliance with TraceGuard's security and provenance standards
  • Generate Software Bill of Materials (SBOM)
  • Encrypt artifacts for secure storage
  • Support for multiple storage backends (AWS S3, Google Cloud Storage, MinIO)

Pre-requisites

  • Go 1.16 or later

  • Cobra CLI:

  • go get -u github.com/spf13/cobra
    
  •   go get -u github.com/spf13/viper
    
  •   go get -u github.com/spf13/pflag
    
  •   go get -u  github.com/spf13/cobra-cli@latest
    

    cobra-cli init tracesync

Installation

Run the following command to install the CLI:

go install github.com/MChorfa/tracesync@latest

Usage

Here are the available commands and their options:

Upload an artifact
tracesync upload /path/to/artifact
Validate an artifact
tracesync validate /path/to/artifact
Monitor artifact lineage and quality
tracesync monitor /path/to/artifact
View or update artifact metadata
tracesync metadata /path/to/artifact
Check artifact status
tracesync status /path/to/artifact

Running Tests

go test ./tests/unit

Development

To add a new command, use the following command:

cobra-cli add cmd/yourcommand.go

Build

go build -o tracesync main.go

Run

go run main.go upload /path/to/artifact | validate /path/to/artifact | monitor /path/to/artifact | metadata /path/to/artifact | status /path/to/artifact

Contributing

Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.

License

This project is licensed under the Apache License, Version 2.0 - see the LICENSE file for details.

CI/CD Pipeline

This project uses Dagger for CI/CD. To run the pipeline locally:

  1. Install Dagger CLI:

    curl -L https://dl.dagger.io/dagger/install.sh | sh
    
  2. Run the pipeline:

    go run ci/pipeline.go
    

This will build the project, run tests, perform a security scan, and output the binary.

Documentation

Overview

Copyright © 2024 NAME HERE <EMAIL ADDRESS>

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

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