Skip to content

ftonjes/starlight

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

-starlight-

(Tested on python v3.14)

What is it / what will it be?

I hopo starlight will become a single platform from which to automate various 'interactions' with devices / systems. At this moment in time, I am working on SSH interactions, but wish to extend interactions with API's and maybe even web-scraping.

NOTE This is a work in progress and anything can change at any moment!

Design goals

  • Python first development: The idea is to do everything in python. This means someone who knows python can immediately start working on it, and doesn't need to know anything else except perhaps the technology the module is interacting with.
  • Re-use: Build modules that can be re-used by other modules.
  • Chained operation: One interaction can feed another. A 'token' is used that is shared between interactions (modules) so the output of one module can be the input for one or more steps futher down the process.
  • System/Device agnostic: Be able to interact with a multitude of systems.
    • e.g.: In networking, when trying to get system information, try to connect using API, if this fails, try SSH, and if this fails, try SNMP.
  • Use existing python modules: Be able to use any other python modules without penalty
  • Normalization of information: When obtaining device information from different systems, try to keep keys and values normalized.
  • Cater for threded operations: Be able to handle multi-threaded jobs
  • Web front end: Simple front end that manages all components and potentially user input to execute tasks.
  • Accountability: Log everything!
  • Security: Use best security practices at all times
  • Customizability: Always offer as many options as possible to the user

Plan

  1. Basic SSH interaction (incl via jump host)
  2. Threaded SSH interaction (bulk tasks)
  3. API interaction
  4. Threaded API interaction (bulk tasks)
  5. Database design for system
  6. Web UI
  7. Testing

Example output:

About

starlight network automation framework

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages