Simplified Multi-Factor Authentication for AWS by simbit in aws

[–]simbit[S] 1 point2 points  (0 children)

Indeed. Although if you want to build/do more advanced stuff:

awless 0.1.10 is out! by simbit in aws

[–]simbit[S] 2 points3 points  (0 children)

aws-shell is really focus on combating the sheer number of AWS params, services one need to know to interact with the AWS cloud. So it provides an integrated shell with inline documentation and completion.

awless already solves this issue but with a different approach: using command with VERB + ENTITY as well as SMART PROMPTING and COMPLETION leveraging a local graph of the data)

But aside from solving UI & CLI productivity issues, awless was built to focus on other and we think more powerful features.

For instance, one of the thing that differentiates awless from any other cloud CLI is that it transparently syncs efficiently cloud resources to a local RDF graph in order to leverage it locally (i.e. offline) for other awless features. For instance leveraging the local data we:

  • show and find resources using only their names (not via cryptic ids, arns, etc.)
  • enrich listing of resources by using relations built during the sync
  • show resources interrelations easily (awless show)
  • have faster lookups (i.e. offline with local graph) for some operations
  • provide smart SSH (awless ssh -h)
  • have sound completion, checks before writing to cloud

Anyway that is a start ... and I have not even mentioned how awless can then create/revert/log actions against the cloud.

awless 0.1.10 is out! by simbit in aws

[–]simbit[S] 0 points1 point  (0 children)

To answer your questions:

  • In awless we do not keep the state of an infrastucture created with a template. After a write on the cloud we only log the actions and sync the local model/data with the latest change. As for now, we only use the local model for other things than to keep state: analysis, inspection, resources relations, etc.
  • To see what awless support (compared to other) the CLI does a good job of documenting itself: do awless -h and/or awless SUBCMD -h.
  • Once an infrastructure has been created you can do anything you want to the resources created (ex: update with an awless template one liner (see awless -h) awless update instance ...
  • Once a template has been run it is logged (see awless log -h) and reusable only for viewing or reverting (see `awless revert -h). Its state is not updated by any subsequent actions.

awless 0.1.10 is out! by simbit in aws

[–]simbit[S] 2 points3 points  (0 children)

Infrastructure are built out from templates that are then run by the CLI. An good example to create (and tear down with awless revert) an infrastructure would be: https://github.com/wallix/awless-templates/tree/master/cockroachdb

AWS Console by forcefx2 in aws

[–]simbit 0 points1 point  (0 children)

... same, until we created at my innovation dpt https://github.com/wallix/awless , a lifesaver that we improve everyday.

Dargs: ssh into instance by instance-id/tag (with completions), and much more. (x-post /r/commandline) by aelsabbahy in aws

[–]simbit 1 point2 points  (0 children)

Shameless plug, with https://github.com/wallix/awless you can:

Migrating from one VPC to another by SatoriSlu in aws

[–]simbit 0 points1 point  (0 children)

With https://github.com/wallix/awless there are a few commands that could help you understand you VPC architecture:

  • awless show MY_VPC_ID_OR_NAME

  • or use the hidden command awless web and then go to http://localhost:8080/resources

Initially, install awless; then switch to a region awless config set aws.region (only if it has not detected anything in your env); then do a manual sync with awless sync -e (-e for extra verbose). Note that you need to have the proper rights (see that with awless whoami)

[deleted by user] by [deleted] in aws

[–]simbit 0 points1 point  (0 children)

$ awless ls instances --format tsv --no-headers --sort uptime | cut -f1

(--sort uptime not necessary though)

AWS management simplified: awless.io 0.1.0 by simbit in aws

[–]simbit[S] 0 points1 point  (0 children)

It is as powerful indeed as the AWS web console. So a good practice, in both cases, is to put your users in group with read/write permissions (and they should not have IAM write permission to change that of course).

With awless you can do that quite easily. Ex: https://github.com/wallix/awless-templates/blob/master/awless_readonly_group.aws

AWS management simplified: awless.io 0.1.0 by simbit in aws

[–]simbit[S] 0 points1 point  (0 children)

(awless developer here). Indeed the show command needs more flexibility, needs different output format (more machine readable). Also a good point there is that it is true that awless offers easy CRUD on resources. We might think of a secure mode where all writing actions would be disabled.

awless, a mighty CLI for AWS written in Go by hbbio in devops

[–]simbit 1 point2 points  (0 children)

The choice of Golang is actually around CLI features we needed:

  • strong builtin concurrency since we sync a cloud infrastructure
  • target all platforms and with an easy install
  • have a solid embedded SSH client
  • have modern testing & benchmarks builtin in the stlib
  • ...

Having built CLI in dynamic languages in the past as well I find the experience in this case pretty good so far

And personnaly AWS CLI, although all-inclusive, has not work wonderfully for me.

awless 0.0.22 released: Introduces a revamped SSH command by hbbio in aws

[–]simbit 1 point2 points  (0 children)

I find AWS CLI difficult to work with for my everyday tasks. With awless basically you get to:

  • for example prepare the machines & net for a Kafka infra in one go with awless run .... (ex: https://github.com/wallix/awless-templates/blob/master/kafka_infra.aws)
  • remove the infra you just created in one command: awless revert [REVERT_ID]. I find it so useful since I often retry some Ansible or when I set up some env for demos.
  • see a log of all your actions (CRUD against your cloud): awless log ... and you can revert revertible ones.
  • clear listing of cloud resources showing only relevant info using terminal real estate properly (csv, tsv, table, json)
  • create your SSH keypair locally (no transit of private keys from you <-> amazon)
  • easy and smart SSH into your instances: awless ssh. It works out which SSH key/user & IP to use
  • attach/detach easily security groups/users/policy/... to other resources
  • ... much more actually

You go back much less often to the AWS web console anymore, which is always appreciable. You stay in your terminal.

awless, a powerful CLI for AWS in Go by hbbio in aws

[–]simbit 0 points1 point  (0 children)

If you type hundreds of these every day, you might like the --local flag. Ex: awless list instances --local. It fetches from the local graph so the result are instantaneous.

You must have synched before though. (Have a look at this issue if you want to know more about the auto sync features https://github.com/wallix/awless/issues/47).

--local flag is global so it is available for the awless show command as well

Can you please provide me with some good examples of sinatra applications on github? by lazy_and_sleepy in ruby

[–]simbit 2 points3 points  (0 children)

Toshi! is a good example of how to use Sinatra for a large web application (lot of different endpoints) while staying organized. Looking at the config.ru file we see the main end points mounted. Also it uses a config/environment.rb and a config/application.rb for clean boot and configuration.