The simple and easy-to-use program designed to watch user activity for Cloud Providers.

Cloud Agent

license Go Report Card build Coverage

The simple and easy-to-use program is designed to watch user activity and possible orphan clusters for Cloud Providers:

  • Gardener
  • GCP (work in progress)

This application is created with a view to using it as the tmux status. To fulfill this criterion the procedure of getting resources from the gardener is separated and is in the second service which serves the UNIX socket that is used by the first one. This architecture allows not to block the main tmux process during calling the right gardener endpoint.

Installation

Github Release

Visit the releases page to download one of the pre-built binaries for your platform.

Homebrew

  1. Use Homebrew to install cloudagent:

    brew install pPrecel/tap/cloudagent

    or

    brew tap pPrecel/tap
    brew install cloudagent
  2. Extend configuration (see also) in the ~/.cloudagent.conf.yaml location.

  3. Start the cloudagent service:

    brew services start cloudagent

Make use of it

After installing, configuring, and starting the service process, cloudagent would fetch info from given clouds after ~60sec from start. To check that program is working correctly use:

cloudagent state

NOTE: I really recommend you to use --help for all commands to familiarize with all functionalities. Logs from running service are stored in /tmp/cloudagent/cloudagent.stdout and you can use for example cat program to read all of them.

Integration with tmux

To add this application to tmux put the line below in the ~/.tmux.conf file:

set -ag status-right ' #(cloudagent state --createdBy <OWNER_NAME> -o text) '

Contribution

Any help and contribution would be welcome. If you want to help with creating feature requests, logging bugs, or/and working on any existing ticket, go to the issues tab. If you decided to look into code, this document would be helpful.

Comments
  • Agent is not handling cluster status correctly

    Agent is not handling cluster status correctly

    Description:

    After creating a cluster it has the status EMPTY instead of UNKNOWN:

     ──────────── ───────────────────────────────────── ────────────
    │ NAME (6)   │ CREATED BY                          │ CONDITION  │
     ──────────── ───────────────────────────────────── ────────────
    │ ...                                                           │
    │ fs         │ fi...p.com                          │ EMPTY      │
    │ ...                                                           │
     ──────────── ───────────────────────────────────── ────────────
    
  • Improve the `output` package

    Improve the `output` package

    Description:

    The output package in the internal/output folder is designed to be used in the context of printing cluster states. Let's think about redesigning it to allow integration with printing configuration.

    The problem is with templating too - now it's based on the gjson formats. We should think about migrating it into go templates or any other tool with more user-friendly syntax.

    At the end of this story, we should migrate from the forked library into something else like tablewriter.

  • Extend `cloudagent config` command

    Extend `cloudagent config` command

    Description:

    The cloudagent config method contains only one sub-command (schema). To make cloudagent more user-friendly let's implement the following subcommands to give users the possibility to modify existing config files without any manual action:

    • [ ] cloudagent config - print actual configuration
    • [x] cloudagent config schema - print config jsonschema
    • [ ] cloudagent config add-gardener - add gardener project
    • [ ] cloudagent config del-gardener - delete gardener project
    • [ ] cloudagent config add-azure - add azure project
    • [ ] cloudagent config del-azure - delete azure project
    • [ ] cloudagent config add-gcp - add gardener project
    • [ ] cloudagent config del-gcp - delete gardener project
  • Improve  self-healing

    Improve self-healing

    Description:

    The cloudagent is based on cron jobs that are watching the right cloud every given period of time. The problem would be when any of the cron jobs will fail. Let's improve this mechanism to heal every failing cron and warn user that something may be not ok.

  • Dynamic config fetching

    Dynamic config fetching

    Description:

    The cloudagent run once will not detect any change of the config file. Let's add a config watcher which should detect every change around the config file and then rebuild watcher functions.

Rclone ("rsync for cloud storage") is a command-line program to sync files and directories to and from different cloud storage providers.
Rclone (

Website | Documentation | Download | Contributing | Changelog | Installation | Forum Rclone Rclone ("rsync for cloud storage") is a command-line progr

Nov 5, 2021
A terminal designed for anyone to use and designed for any platform

A terminal designed for anyone to use and designed for any platform. Which includes the basic features of any terminal and includes friendly commands to perform tools such as ping, traceroute, generate key pairs, encrypt/decrypt, router security actions, etc. All of the source code is done in Go.

Jan 25, 2022
Simple activity indicator for your command line tools.
Simple activity indicator for your command line tools.

Simple activity indicator for your command line tools.

Oct 22, 2021
Reads from existing Cloud Providers (reverse Terraform) and generates your infrastructure as code on Terraform configuration
Reads from existing Cloud Providers (reverse Terraform) and generates your infrastructure as code on Terraform configuration

TerraCognita Imports your current Cloud infrastructure to an Infrastructure As Code Terraform configuration (HCL) or/and to a Terraform State. At Cycl

May 7, 2022
Run your MapReduce workloads as a single binary on a single machine with multiple CPUs and high memory. Pricing of a lot of small machines vs heavy machines is the same on most cloud providers.

gomap Run your MapReduce workloads as a single binary on a single machine with multiple CPUs and high memory. Pricing of a lot of small machines vs he

May 1, 2022
A terminal based graphical activity monitor inspired by gtop and vtop
A terminal based graphical activity monitor inspired by gtop and vtop

NO LONGER MAINTAINED. A maintained fork of gotop exists at https://github.com/xxxserxxx/gotop. Another terminal based graphical activity monitor, insp

May 8, 2022
Procmon is a Linux reimagining of the classic Procmon tool from the Sysinternals suite of tools for Windows. Procmon provides a convenient and efficient way for Linux developers to trace the syscall activity on the system.
Procmon is a Linux reimagining of the classic Procmon tool from the Sysinternals suite of tools for Windows. Procmon provides a convenient and efficient way for Linux developers to trace the syscall activity on the system.

Process Monitor for Linux (Preview) Process Monitor (Procmon) is a Linux reimagining of the classic Procmon tool from the Sysinternals suite of tools

May 16, 2022
Raspberry Pi terminal based activity monitor
Raspberry Pi terminal based activity monitor

pitop Raspberry Pi terminal based activity monitor Yes I know there are plenty of solutions already available, but I wanted to build my own terminal b

Apr 4, 2022
An easy to use go program to download videos from Reddit

Gedditsave Download videos from reddit from the command line. Use guide geddit -

Apr 28, 2022
An easy to use go program to download videos from Reddit.
An easy to use go program to download videos from Reddit.

Gettit Download videos from reddit from the command line. Use guide gettit -u post_url Example : gettit -u https://www.reddit.com/r/programminghorror/

Apr 28, 2022
simple cli app for search and watch anime

simple terminal app for search and watch movie or anime

Oct 30, 2021
Watcher - A simple command line app to watch files in a directory for changes and run a command when files change!

Watcher - Develop your programs easily Watcher watches all the files present in the directory it is run from of the directory that is specified while

Mar 27, 2022
CLI to support with downloading and compiling terraform providers for Mac with M1 chip

m1-terraform-provider-helper A CLI to help with managing the installation and compilation of terraform providers when running a new M1 Mac. Motivation

May 11, 2022
👀 A modern watch command. Time machine and pager etc.
👀 A modern watch command. Time machine and pager etc.

Viddy Modern watch command. Viddy well, gopher. Viddy well. Demo Features Basic features of original watch command. Execute command periodically, and

May 9, 2022
This is a cli to watch anime using the console/terminal.
 This is a cli to watch anime using the console/terminal.

monas-chinas-cli Este un un cli para ver anime usando la consola/terminal. This is a cli to watch anime using the console/terminal. ⚠️ AVISO ⚠️ Los an

Feb 10, 2022
Watch your favourite anime using the video player of your choice directly from the command line

anime-cli Watch your favourite anime using the video player of your choice direc

Feb 10, 2022
ghcv-cli makes it easy to view the user-created issues, pull requests, and repositories in the terminal.
ghcv-cli makes it easy to view the user-created issues, pull requests, and repositories in the terminal.

ghcv-cli ghcv-cli makes it easy to view the user-created issues, pull requests, and repositories in the terminal. About Show a list of pull requests c

Mar 13, 2022
Simple and easy to use command line application written in Go for cleaning unnecessary XCode files.

xcclear Say hello to a few extra gigabytes of space on your Mac with xcclear, a simple and easy to use command line application written in Go for clea

Mar 25, 2022
Simple, lightweight, and easy to use gopacket wrapper cli

gniffer Simple, lightweight, and easy to use gopacket wrapper cli Explore the docs » View Demo · Report Bug · Request Feature Table of Contents About

Dec 25, 2021