ThreeFold Flist CLI in V to turn Dockerfile+Docker Images into Flist on the TF Flist Hub
Go to file
2024-10-02 13:14:09 -04:00
.gitignore added makefile 2024-10-02 12:23:41 -04:00
flist.v updated help 2024-10-02 13:14:09 -04:00
LICENSE init flist_cli_v app, todo: set push function 2024-10-02 01:19:16 -04:00
Makefile updated readme and makefile 2024-10-02 12:36:57 -04:00
README.md updated readme without sudo info" 2024-10-02 12:41:08 -04:00

Flist CLI in Vlang

Table of Contents


Introduction

Flist CLI is a tool that turns Dockerfiles and Docker images directly into Flist on the TF Flist Hub, passing through Docker Hub.

Installation

Prerequisites

  • V programming language (latest version) installed on your system
  • Docker installed and running
  • Docker Hub account
  • TF Hub account and token

Building and Installing

Clone this repository, build the project, and install the CLI:

git clone https://git.ourworld.tf/tfgrid/flist_cli_v
cd flist_cli_v
make build

This will build the flist executable and install it to the appropriate system location.

Rebuild and Uninstall

You can use the following Makefile commands:

  • To rebuild and reinstall:

    make rebuild
    
  • To uninstall and remove the binary:

    make delete
    

Usage

After installation, you can use the flist command followed by various subcommands:

flist <command> [arguments]

Commands

  • install: Install the Flist CLI
  • uninstall: Uninstall the Flist CLI
  • login: Log in to Docker Hub and save the Flist Hub token
  • logout: Log out of Docker Hub and remove the Flist Hub token
  • push <image>:<tag>: Build and push a Docker image, then convert and push it as an flist
  • delete <flist_name>: Delete an flist from Flist Hub
  • rename <flist_name> <new_flist_name>: Rename an flist in Flist Hub
  • ls: List all flists of the current user
  • ls url: List all flists of the current user with full URLs
  • help: Display help information

OS-Specific Instructions

Windows

  1. Run Command Prompt or PowerShell as Administrator.
  2. Ensure Docker Desktop is installed and running.
  3. Use a Docker-enabled terminal for all Docker-related commands.
  4. The flist executable will be installed to:
    C:\Program Files\flist\flist.exe
    

macOS and Linux

  1. Ensure Docker is installed and the Docker daemon is running.
  2. The flist executable will be installed to:
    /usr/local/bin/flist
    

Troubleshooting

  • If you encounter permission issues, ensure you're running the command with appropriate privileges (e.g., as administrator on Windows or with sudo on Unix-like systems).
  • Make sure Docker is running before using Flist CLI commands.
  • If you face issues with Docker commands, try logging out and logging back in to refresh your Docker credentials.
  • If you encounter compilation errors, ensure you have the latest version of V installed.

Development

To modify the Flist CLI:

  1. Make your changes to the flist.v file.
  2. Rebuild the project using make rebuild
  3. Test your changes thoroughly across different operating systems if possible.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

Apache 2.0 License