A Mighty CLI for AWS

Build Status Go Report Card

terminal icon awless is a powerful, innovative and small surface command line interface (CLI) to manage Amazon Web Services.

Twitter | Wiki | Changelog

Why awless

awless stands out by having the following characteristics:

  • small and hierarchical set of commands
  • a simple/powerful text templating language to create and revert fully-fledged infrastructures
  • wrapping/composing AWS API calls when necessary to enrich behaviour. Ex: ensure smart defaults, security best practices, etc.
  • local log of all your cloud modifications done through awless to list/revert past actions
  • sync to a local graph storage of your cloud representation
  • exploration of your cloud infrastructure and resources interrelations, even offline using the local graph storage
  • clearer and flexible terminal output's with: numerous formats (machine/human friendly), enriched resources's properties/relations when feasible
  • connect easily using awless' smart SSH to your private & public instances

For more read our FAQ below (how awless compares to other tools, etc.)

Install

Choose one of the following options:

  1. On macOS, use homebrew: brew tap wallix/awless; brew install awless
  2. With curl (macOS/Linux), run: curl https://raw.githubusercontent.com/wallix/awless/master/getawless.sh | bash
  3. Download the latest awless binaries (Windows/Linux/macOS) from Github
  4. If you have Golang already installed, install from the source with: go get -u github.com/wallix/awless

If you have previously used the AWS CLI or aws-shell, you don't need to configure anything! Your config will be automatically loaded (i.e. ~/.aws/{credentials,config}) and awless will prompt for any missing info (more at our getting started).

Main features

video of a few awless commands
Note that the video above is in APNG and requires a recent browser.

  • Aliasing of resources through their natural name so you don't have to always use cryptic ids that are impossible to remember

  • awless show : Explore the properties, relations, dependencies of a specific resource (even offline thanks to the sync) given only a name (or id/arn).

    $ awless show jsmith --local
    
  • awless list : Clear and easy listing of multi-region cloud resources (subnets, instances, users, buckets, records, etc.) on AWS EC2, IAM, S3, RDS, AutoScaling, SNS, SQS, Route53, CloudWatch, CloudFormation, Lambda, etc. Listing filters via resources properties or resources tags.

    $ awless list instances --sort uptime --local
    $ awless list users --format csv --columns name,created
    $ awless list volumes --filter state=use --filter type=gp2
    $ awless list volumes --tag-value Purchased
    $ awless ls vpcs --tag-key Dept --tag-key Internal --format tsv
    $ awless ls instances --tag Env=Production,Dept=Marketing
    $ awless ls instances --filter state=running,type=micro --format json
    $ awless ls s3objects --filter bucket=pdf-bucket -r us-west-2
    $ ...
    (see awless ls -h)
    
  • awless run : Create, update and delete complex infrastructures with smart defaults and sound auto-complete through awless templates.

    $ awless run ~/templates/my-infra.aws
    $ awless run https://raw.githubusercontent.com/wallix/awless-templates/master/linux_bastion.aws
    etc.
    
  • Hundreds of powerful CRUD CLI one-liners integrated in the awless templating engine:

    $ awless create instance -h
    $ awless create vpc -h
    $ awless attach policy -h
    $ ...
    (see awless -h)
    
  • awless log : Detailled and easy reporting of all the CLI template executions

  • awless revert : Revert of executed templates and resources creation

  • Create instances straight from a distro name. No need to know the region or AMI ;) (free tier community bare distro only, see awless create instance -h)

    $ awless create instance distro=debian
    $ awless create instance distro=coreos
    $ awless create instance distro=redhat::7.2 type=t2.micro
    $ awless create instance distro=debian:debian:jessie lock=true
    $ awless create instance distro=amazonlinux:amzn2
    etc.
    
  • Leveraging AWS userdata to provision instance on creation from remote (i.e http) or local scripts: awless create instance ... userdata=/home/john/...

  • awless ssh : Clean and simple SSH to public & private instances using only a name

    $ awless ssh my-production-instance
    $ awless ssh redis-prod --through jump-server
    $ awless ssh 34.215.29.221
    $ awless ssh db-private --private
    $ awless ssh 172.31.77.151 --port 2222 --through my-proxy --through-port 23
    $ ...
    (see awless ssh -h)
    
  • awless switch : Switch easily between AWS accounts (i.e. profile) and regions

    $ awless switch admin eu-west-2
    $ awless switch us-west-1
    $ awless switch mfa
    etc.
    
  • awless transparently syncs cloud resources locally to a graph representation in order for the CLI to leverage data and their relations in other awless commands and in an offline manner (more on the sync)

  • awless sync : Explicit and manual command to fetch & store resources locally. Then query & inspect your cloud offline

  • Output listing formats either human (default display is Markdown-compatible tables) or machine readable (csv, tsv, json, ...): --format

  • awless inspect : Leverage experimental and community inspectors which are interface implementation utilities to run analysis on your cloud resources graphs

    $ awless inspect -i bucket_sizer
    (see awless inspect -h)
    
  • awless completion : CLI autocompletion for Unix/Linux's bash and zsh

Getting started

Take the tour at Getting Started (wiki) or read the introductory blog post about awless.

More articles:

Awards

FAQ

Here is a compilation of the question we often answer (thanks for asking them so that we can make things clearer!):

There are already some AWS CLIs. What is awless unique approach?

Three things that differentiates awless from other AWS CLIs:

  • It has its own compiled and very simple templating language to build AWS infrastructures.
  • Commands are made of VERB + ENTITY [+ param=value] and are actually valid lines of the template language.
  • It transparently syncs to a local graph a representation of the cloud resources and their relations.

Leveraging and combining the points above, awless lays some strong foundations for plenty of current/future features/characteristic such as:

  • Wrapping AWS API calls to enrich them with before/after behaviour when interacting with the cloud
  • Having a small and hierarchical set of commands to intuitively interact with AWS
  • Enriching listing of resources using the local model and relations that are not calculated with other CLIs
  • Referencing and finding resources quickly avoiding cryptic IDs in favor of names, etc.
  • Exposing in the terminal relation between resources: lineage, siblings, etc.
  • Performing local analysis of your cloud
  • Having a smart SSH to easily connect to instances
  • etc.

How do you create infrastructure with awless?

You build infrastructure using template files or command one-liners that get compiled and run through awless builtin engine. See what the templating language looks like. Learn more about the way templates work

Note that all your actions against the cloud are logged. Templates are revertible/rollbackable.

How does awless compares to aws-shell or saws?

(Points above should also help answering this question)

aws-shell and saws are directly mapped to the official AWS CLI. Their only objective is to make you productive and help you manage exhaustively the sheer number of AWS services, options, etc.

awless addresses this UI/productivity concern differently: small and hierarchical set of commands; favoring enriched listing with relations showing over AWS exhaustive outputting of properties; more useful human/machine formats.

The main point is that the UI/productivity concern is just a feature of awless and not its primary or only one, so there is much more to the tool.

Also aws-shell and saws are exhaustive in their support of AWS services. awless is so far more infrastructure centric, with an emphasis on enriching the information about your real infrastructure. awless is able to add any new AWS service quickly if that fits and make sense (see wiki on how to add a new AWS service).

How does awless compares to Terraform?

Terraform is a great product! awless is much younger than Terraform and Terraform is much broader in scope.

The approach is different though. When creating insfrastructure awless:

  • favors simplicity with a straight forward, compiled and simple deployment language
  • employs an all-or-nothing deployment: do not keep state, etc.
  • awless does provide a rollback on any ran template.

Does awless handles state when creating infrastructure (i.e. keep track of the changes)?

Quoting from a logz.io/blog entry: "Terraform is an amazing tool but a major challenge is managing the state file. Whenever you apply changes to your infrastructure, the entire managed body of code and created objects are tracked in the Terraform State file (.tfstate), which can reach hundreds of thousands of lines and must be managed carefully lest you incur large merge conflicts or unwanted resource changes", Ofer Velich.

As for now with awless, we have taken a different path: awless does not keep state of your cloud; it is more of an all-or-nothing deployment solution.

Note that awless logs (through rich and revertable logs) all your actions against the cloud and that you can revert any template ran.

About

awless is an open source project created by Henri Binsztok, Quentin Bourgerie, Simon Caplette and François-Xavier Aguessy at WALLIX. awless is released under the Apache License and sponsored by Wallix.

Disclaimer: Awless allows for easy resource creation with your cloud provider;
we will not be responsible for any cloud costs incurred (even if you create a 
million instances using awless templates).

Contributors are welcome! Please head to Contributing (wiki) to learn more. Note that awless uses triplestore another project developped at WALLIX.

Owner
WALLIX
Protect your most strategic and critical assets
WALLIX
Comments
  • Running out of memory with 12GB available

    Running out of memory with 12GB available

    Running awless -e sync with 12GB of memory available ends up in the process being killed because of an OOM situation. Would have expected that 12GB is plenty of memory for the task.

    ~/go/src/github.com/wallix/awless$ uname -a
    Linux ubuntu 3.13.0-98-generic #145-Ubuntu SMP Sat Oct 8 20:13:07 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
    
    ~/go/src/github.com/wallix/awless$ lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 14.04.5 LTS
    Release:        14.04
    Codename:       trusty
    
    ~/go/src/github.com/wallix/awless$ free
                 total       used       free     shared    buffers     cached
    Mem:      16427688    2612424   13815264        652        260      27940
    -/+ buffers/cache:    2584224   13843464
    Swap:      1046524    1046524          0
    
    ~/go/src/github.com/wallix/awless$ ./awless --version
    awless version=v0.1.1
    
    ~/go/src/github.com/wallix/awless$ rm -rf ~/.awless
    
    ~/go/src/github.com/wallix/awless$ ./awless -e sync
    First install. Welcome!
    
    Found existing AWS region 'us-east-1'. Setting it as your default region.
    Region updated to 'us-east-1'.
    You might want to update your default AMI with `awless config set instance.image $(awless search images amazonlinux --id-only --silent)`
    Syncing new region...
    [extra]   sync: fetched lambda service took 406.591864ms
    [extra]   sync: fetched cloudformation service took 408.829508ms
    [extra]   sync: fetched cdn service took 489.701489ms
    [extra]   sync: fetched dns service took 895.959112ms
    [extra]   sync: fetched messaging service took 1.280953266s
    [extra]   sync: fetched infra service took 3.58098968s
    Killed
    
    ~/go/src/github.com/wallix/awless$ tail /var/log/syslog
    Jun 30 13:01:00 localhost kernel: [77434.411864] [21886]     0 21886      376        0       5       16             0 sh
    Jun 30 13:01:00 localhost kernel: [77434.411865] [21949]     0 21949  1489483    64503     295    17131             0 java
    Jun 30 13:01:00 localhost kernel: [77434.411866] [25321]  1000 25321     7042     1902      20        0             0 bash
    Jun 30 13:01:00 localhost kernel: [77434.411867] [27581]  1000 27581     2386       43      11        0             0 less
    Jun 30 13:01:00 localhost kernel: [77434.411868] [27596]  1000 27596  9187110  3412059   14185        0             0 awless
    Jun 30 13:01:00 localhost kernel: [77434.411869] Out of memory: Kill process 27596 (awless) score 784 or sacrifice child
    Jun 30 13:01:00 localhost kernel: [77434.411889] Killed process 27596 (awless) total-vm:36748440kB, anon-rss:13648236kB, file-rss:0kB
    
  • aws throttling errors when running awsless list records

    aws throttling errors when running awsless list records

    Get this when running the following

    $ awless list records --filter name=elastic
    [error]   Throttling: Rate exceeded
    	status code: 400, request id: 320b85fe-9e1f-11e7-a8c6-8d88e406789f
    
  • Support ssh agent

    Support ssh agent

    Thanks for building such a useful tool.

    One thing that was missing was the ability to use SSH agent authorization instead of private keys.

    This is my attempt to add that functionality. Basically, if there is no key on an instance it will try to use the SSH_AUTH_SOCK variable to communicate with an agent. If there is a key on an instance, it will use that key as before. And, finally, if the --agent flag is passed, the agent will be used without looking for a key.

    Please let me know what you think.

  • Pass CloudFormation tags/parameters from file

    Pass CloudFormation tags/parameters from file

    In order to use awless as part of CI job for deployment CloudFormation, would be very nice to be able to apply parameters from the file.

    AWS has this kind of file for deployment with CodePipeline: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-cfn-artifacts.html#w2ab2c13c15c15. Would be very nice to be able to support the same file format.

    I took a look at the update stack code, and everything is autogenerated there and I'm not sure how to add functionality there.

  • awless show error:  invalid literal object

    awless show error: invalid literal object

    Hello, I'm trying to describe CloudFormation stack with awless show <arn> and getting next error:

    [error] file '/Users/<user>/.awless/aws/rdf/default/us-east-1/cloudformation.nt': lenient parsing: line 1: invalid literal object

  • SIGSEGV when trying to use current head version with multi-profile and mfa

    SIGSEGV when trying to use current head version with multi-profile and mfa

    I've had a working setup for a while like this: ~/.aws/credentials [default] key_id/access with read-only privs [me_mfa] key_id/access for my aws role which requires mfa

    ~/.aws/config [profile me] source_profile = me_mfa role_arn = ..Admin.. mfa_serial .../me

    I did a go get -u today and the default profile was working fine, but when I tried to do anything with my me account, either by passing -p me or by using awl switch, it immediately returned a SIGSEGV:

    panic: runtime error: invalid memory address or nil pointer dereference
    [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x1d61b71]
    
    goroutine 1 [running]:
    github.com/wallix/awless/commands.hasEmbeddedRegionInSharedConfigForProfile(0xc4203f5198, 0x3, 0x7fff5fbff932, 0x3, 0x0, 0x0, 0x2e7b680)
    	/Users/me/go/src/github.com/wallix/awless/commands/hooks.go:250 +0xc1
    github.com/wallix/awless/commands.applyRegionAndProfilePrecedence(0x0, 0x0)
    	/Users/me/go/src/github.com/wallix/awless/commands/hooks.go:70 +0xb9
    github.com/wallix/awless/commands.initAwlessEnvHook(0x2ebf5c0, 0xc4203fb2c0, 0x0, 0x2, 0x22c0e48, 0x117f509)
    	/Users/me/go/src/github.com/wallix/awless/commands/hooks.go:50 +0xa7
    github.com/wallix/awless/commands.applyHooks.func1(0x2ebf5c0, 0xc4203fb2c0, 0x0, 0x2)
    	/Users/me/go/src/github.com/wallix/awless/commands/hooks.go:38 +0x88
    github.com/wallix/awless/vendor/github.com/spf13/cobra.(*Command).execute(0x2ebf5c0, 0xc4203fb260, 0x2, 0x2, 0x2ebf5c0, 0xc4203fb260)
    	/Users/me/go/src/github.com/wallix/awless/vendor/github.com/spf13/cobra/command.go:730 +0x237
    github.com/wallix/awless/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0x2ec0a00, 0x0, 0x42, 0xc420036d70)
    	/Users/me/go/src/github.com/wallix/awless/vendor/github.com/spf13/cobra/command.go:831 +0x2e4
    github.com/wallix/awless/vendor/github.com/spf13/cobra.(*Command).Execute(0x2ec0a00, 0xc4201cbf78, 0xc4200aa058)
    	/Users/me/go/src/github.com/wallix/awless/vendor/github.com/spf13/cobra/command.go:784 +0x2b
    main.main()
    	/Users/me/go/src/github.com/wallix/awless/main.go:22 +0x2d
    

    I tried reverting back to the latest release installed view Homebrew and it works fine.

    Please let me know what other info you might want to track this down.

  • StackFile support

    StackFile support

    Hey,

    I know you guys are busy with preparation for ReInvent, but I prepared small PR with stack-file support. No need to merge it now, but I will appreciate some review and feedback.

    One thing that is missing is the CLI usage/description for stack-file, since, AFAIK all the descriptions generated automatically from appropriate AWS documentation, but stack-file not on the docs.

    BTW, in this PR many vendor files are removed, I think it is because you forgot to run dep prune

    implements Issue #145

  • awless ssh INSTANCE seems broken in 0.0.24

    awless ssh INSTANCE seems broken in 0.0.24

    With the last version (0.0.24), I can't connect to the instance:

    $ awless -p sr-sandbox list instances
    |        ID ▲         |    ZONE    | NAME |  STATE  |   TYPE   |   PUBLIC IP    |  PRIVATE IP   |  UPTIME  |       KEYPAIR       |
    |---------------------|------------|------|---------|----------|----------------|---------------|----------|---------------------|
    | i-00c5a341da308a8e4 | eu-west-1b | test | running | t2.micro | 34.248.157.00  | 172.31.15.107 | 15 hours | aws-sr-sandbox-test |
    | i-046a2755623e43ebe | eu-west-1b | test | running | t2.micro | 52.213.140.00  | 172.31.14.85  | 15 hours | aws-sr-sandbox-test |
    | i-0a0049b6241b2eeba | eu-west-1b | test | running | t2.micro | 52.49.150.00   | 172.31.12.80  | 2 days   | aws-sr-sandbox-test |
    | i-0bc587b1ce4304b3a | eu-west-1b | test | running | t2.micro | 52.208.219.000 | 172.31.4.5    | 15 hours | aws-sr-sandbox-test |
    
    $ awless -p sr-sandbox ssh i-00c5a341da308a8e4
    [warning] port 22 is not open on this instance
    Error: instance not accessible
    

    No issue with the version 0.0.23:

    $ awless-0.0.23  --aws-profile sr-sandbox list instances
    |        ID ▲         |    ZONE    | NAME |  STATE  |   TYPE   |   PUBLIC IP    |  PRIVATE IP   |  UPTIME  |       KEYPAIR       |
    |---------------------|------------|------|---------|----------|----------------|---------------|----------|---------------------|
    | i-00c5a341da308a8e4 | eu-west-1b | test | running | t2.micro | 34.248.157.00  | 172.31.15.107 | 15 hours | aws-sr-sandbox-test |
    | i-046a2755623e43ebe | eu-west-1b | test | running | t2.micro | 52.213.140.00  | 172.31.14.85  | 15 hours | aws-sr-sandbox-test |
    | i-0a0049b6241b2eeba | eu-west-1b | test | running | t2.micro | 52.49.150.00   | 172.31.12.80  | 2 days   | aws-sr-sandbox-test |
    | i-0bc587b1ce4304b3a | eu-west-1b | test | running | t2.micro | 52.208.219.000 | 172.31.4.5    | 15 hours | aws-sr-sandbox-test |
    
    awless-0.0.23 --aws-profile sr-sandbox ssh i-00c5a341da308a8e4
    [info]    Login as 'ubuntu' on '34.248.157.00', using keypair '/home/sdouche/.awless/keys/xxx.pem' with ssh client at '/usr/bin/ssh'
    Welcome to Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-1013-aws x86_64)
    
  • Unable to find S3 information

    Unable to find S3 information

    Using rev bacfbc163e1574055d38bc3d5f4e13cd3163c484, awless does not seem to find any S3 objects in my account. awscli and awless use the same access_key/secret_key/region:

    $ aws s3 ls | wc -l
    138
    $ aws s3 ls | grep debug
    2016-07-18 22:47:00 debugging-log-elb
    
    $ awless sync -e -v
    [info] running sync: fetching remote resources for local store
    [extra] sync: fetched access service took 915.436447ms
    [extra] sync: fetched storage service took 1.173232861s
    [extra] sync: fetched infra service took 1.586694499s
    [info] -> access: 28 roles, 12 groups, 34 policies, 63 users
    [info] -> storage: 0 bucket, 0 storageobject
    [info] -> infra: 67 instances, 20 keypairs, 112 securitygroups, 123 volumes, 26 subnets, 6 vpcs, 6 internetgateways, 18 routetables
    [info] sync took 2.037318521s
    $ awless show -e -v @debugging-log-elb
    [info] cannot resolve resource - running full sync
    [extra] sync: fetched access service took 860.4982ms
    [extra] sync: fetched infra service took 1.107564767s
    [extra] sync: fetched storage service took 1.243121296s
    [info] resource with id @debugging-log-elb not found
    
  • Reverse sort and adding tags to output?

    Reverse sort and adding tags to output?

    Trying to get a handle on an explosion of snapshots. Would be useful to do a reverse sort on the Created column (for now, resorting [snicker] to running in csv output and then doing a | tac.

    Also, any way to get the tags into the output?

  • Add support for Classic ELB

    Add support for Classic ELB

    Please add support for classic ELB (ELBv1).

    One of the superior features of awless is that it provides a dependency graph of entities - and though the Application ELB (ELBv2) is the most recent offering by AWS, there are going to be a huge number of extant Classic ELB's running out there - and having a good idea of their dependencies will provide an excellent utility when trying to upgrade them.

    Furthermore, even today most tools provision Classic ELBs when managing AWS for you - for instance, current Kubernetes tooling creates ELBv1 entities.

  • awless stops working in MacOS Ventura (13.0)

    awless stops working in MacOS Ventura (13.0)

    I am leaving this here in case someone knows how to fix. I am aware that awless is an abandoned project.

    I recently upgraded my system to MacOS Ventura (13.0). Now, when I run any awless command, I get the following:

    $ awless
    Killed: 9
    

    It doesn't matter what flags I use. Any ideas are most welcome.

  • AWS SSO for authentication

    AWS SSO for authentication

    We do not use access keys for AWS CLI or console access, is there a way to use the AWS SSO token for authentication?

    Thanks in advance. This looks cool.

  • Brew tap failure

    Brew tap failure

    Encountered this error attempting to tap wallix/awless. Possible duplicate of #299

    $ brew tap wallix/awless
    ==> Tapping wallix/awless
    Cloning into '/usr/local/Homebrew/Library/Taps/wallix/homebrew-awless'...
    remote: Enumerating objects: 130, done.
    remote: Total 130 (delta 0), reused 0 (delta 0), pack-reused 130
    Receiving objects: 100% (130/130), 20.09 KiB | 2.01 MiB/s, done.
    Resolving deltas: 100% (31/31), done.
    Error: Invalid formula: /usr/local/Homebrew/Library/Taps/wallix/homebrew-awless/Formula/awless.rb
    awless: undefined method `cellar' for #<BottleSpecification:0x00007f7a1c92b8d0>
    Error: Cannot tap wallix/awless: invalid syntax in tap!
    
  •  'af-south-1' is not a valid region

    'af-south-1' is not a valid region

    I cannot use awless when in the newer regions like Capte Town - South Africa (af-south-1). version=v0.1.11 Will it be possible to update awless with the updated regions?

  • Alternative to running on M1 Macs - Docker

    Alternative to running on M1 Macs - Docker

    For those unable to run awless on M1 Macs: I came up with a way to do so in Docker that works pretty well for me & wanted to share: https://github.com/churnd/awless.

    I sure hope this project gets revived. I find it very useful to get info of AWS accounts quickly & in a format easy to read.

CLI tool to update ~/.aws/config with all accounts and permission sets defined in AWS SSO

aws-sso-profiles Generate or update ~/.aws/config with a profile for each SSO account you have access to, by using an existing AWS SSO session. Bootst

Nov 3, 2022
A CLI tool to manage and streamline AWS ECS deployments

Outback CLI ?? About The Project Outback is CLI tool written in Go to help streamline the process of deploying containerized applications to AWS Elast

Dec 8, 2021
A simple CLI tool that outputs the history of connections to Amazon EC2 instances using AWS Session Manager.

ssmh This is a simple CLI tool that outputs the history of connections to Amazon EC2 instances using AWS Session Manager. Installation brew install mi

Dec 10, 2021
Opinionated CLI app for AWS SSO made in Golang!
Opinionated CLI app for AWS SSO made in Golang!

aws-sso-creds AWS SSO Creds Table of Contents About The Project Built With Instalation Static From source Usage Contributing License Contact Acknowled

Aug 17, 2022
List of serverless functions for AWS S3. Easy deploy with Vercel CLI

List of serverless functions for AWS S3. Easy deploy with Vercel CLI

Jan 22, 2022
Dev-spaces - A CLI to help creating development environments using AWS Spot Instances

This is a CLI to help creating on-demand development spaces using EC2 Spot Intances.

Nov 9, 2022
Elegant CLI wrapper for kubeseal CLI

Overview This is a wrapper CLI ofkubeseal CLI, specifically the raw mode. If you just need to encrypt your secret on RAW mode, this CLI will be the ea

Jan 8, 2022
CLI to run a docker image with R. CLI built using cobra library in go.
CLI  to run a docker image with R. CLI built using cobra library in go.

BlueBeak Installation Guide Task 1: Building the CLI The directory structure looks like Fastest process: 1)cd into bbtools 2)cd into bbtools/bin 3)I h

Dec 20, 2021
A wrapper of aliyun-cli subcommand alidns, run aliyun-cli in Declarative mode.

aliyun-dns A wrapper of aliyun-cli subcommand alidns, run aliyun-cli in Declarative mode. Installation Install aliyun-cli. Usage $ aliyun-dns -h A wra

Dec 21, 2021
Symfony-cli - The Symfony CLI tool For Golang

Symfony CLI Install To install Symfony CLI, please download the appropriate vers

Dec 28, 2022
Go-file-downloader-ftctl - A file downloader cli built using golang. Makes use of cobra for building the cli and go concurrent feature to download files.

ftctl This is a file downloader cli written in Golang which uses the concurrent feature of go to download files. The cli is built using cobra. How to

Jan 2, 2022
Cli-algorithm - A cli program with A&DS in go!

cli-algorithm Objectives The objective of this cli is to implement 4 basic algorithms to sort arrays been Merge Sort Insertion Sort Bubble Sort Quick

Jan 2, 2022
Nebulant-cli - Nebulant's CLI
Nebulant-cli - Nebulant's CLI

Nebulant CLI Website: https://nebulant.io Documentation: https://nebulant.io/docs.html The Nebulant CLI tool is a single binary that can be used as a

Jan 11, 2022
News-parser-cli - Simple CLI which allows you to receive news depending on the parameters passed to it
News-parser-cli - Simple CLI which allows you to receive news depending on the parameters passed to it

news-parser-cli Simple CLI which allows you to receive news depending on the par

Jan 4, 2022
Go-api-cli - Small CLI to fetch data from an API sync and async

Async API Cli CLI to fetch data on "todos" from a given API in a number of ways.

Jan 13, 2022
Syno-cli - Synology unofficial API CLI and library

Synology CLI Unofficial wrapper over Synology API in Go. Focus on administrative

Jan 6, 2023
Nebula Diagnosis CLI Tool is an information diagnosis cli tool for the nebula service and the node to which the service belongs.

Nebula Diagnosis CLI Tool is an information diagnosis cli tool for the nebula service and the node to which the service belongs.

Jan 12, 2022
bcrypt-cli is the CLI tool for hashing passwords with bcrypt.

bcrypt-cli bcrypt-cli is the CLI tool for hashing passwords with bcrypt. Install go install github.com/ryicoh/bcrypt-cli Usage It can be used like bas

Jan 9, 2023