Giter Site home page Giter Site logo

budgie's Introduction

  • ๐Ÿ‘‹ Hi, Iโ€™m @dalethestirling
  • ๐Ÿ‘€ Iโ€™m interested in agriculture, home automation, containerisation, automation, linux, system engineering, Python and solving cool problems with technology.
  • ๐ŸŒฑ Iโ€™m currently learning how to be a better writer by writing technical posts at https://dalethestirling.github.io and how to use my 3d Printer (Ender 3 S1).
  • ๐Ÿ’ž๏ธ Iโ€™m looking to collaborate on solving an interesting problen whether it is around container platforms or something to help the environment.
  • ๐Ÿ“ซ How to reach me on Twitter: @dalethestirling, LinkedIN: https://www.linkedin.com/in/dalethestirling/ or Email: [email protected]

budgie's People

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

dwurf

budgie's Issues

Rename module

Cannot remember why it got its name cadre and does not really make sense.

Cleaner exception handling for SSH connectivity issues

Current error messages that are received back from sh this makes it hard to determine why ssh connections are failing.

Also in the case of when TTY interaction for creating the ssh connection is raised
*Fingerprint
*Password
*etc
the entire interaction freezes.

Cadre needs to return a documented group of exceptions that allows for each outcome to be handled individually. Rather than a generic exception.

Bundle commands into single execution activity

Currently budgie only allows for single executions of commands.

This causes multiple concurrent connections to the remote host. I could see situations where being able to execute a chain of commands in a single go may be required.

resolve_program uses local machine to resolve application path

Cadre uses the local machine that cadre is being executed on to define the path that the code is to be executed on. These are called via the sh module through the use of Command class.

This may cause issues where we have applications in different paths through the difference in OS (Linux vs BSD) or distro (Debian/Ubuntu vs Fedora/Centos).

@dwurf not sure of the imapct of this but it should be considered.

Host validation required in cadre.ssh()

Now that the ssh class is able to support definition of an instance in these ways as well:

 host = cadre.ssh('host')
 or
 cadre.ssh('host').ls('/')

There needs to be some validation that these supplied hosts are valid.

This needs to validate the 'host' is either a valid host name or defined in a valid ssh config file.

Additional valid ssh_config should be considered as a reference to the ssh class instance?

Warning displayed during simple use of budgie

Given the following simple code:

#!/usr/bin/env python

from budgie import localhost
print localhost.hostname()

The following warning is shown

/home/ubuntu/projects/birdcage/budgie.py:46: UserWarning: Empty list passed as an argument to '/usr/bin/ssh'. If you're using glob.glob(), please use sh.glob() instead.
  return super(ssh, self).__call__(args, kwargs)
jumpbox

This happens inside _compile_args in the sh.Command super class, which is called from __call__() in the superclass, from __call__ in the subclass.

I can't determine an appropriate fix without digging further - let's meet to discuss.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.