Skip to content
This repository has been archived by the owner on Aug 30, 2024. It is now read-only.
/ deveutils Public archive

Development utilities supporting work on or deployment of Eucalyptus

License

Notifications You must be signed in to change notification settings

eucalyptus/deveutils

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

deveutils

Development utilities supporting development or deployment of Eucalyptus.

This repository is a collection of useful tools and documents meant to aide in work around Eucalyptus. There are two kinds of "work" these tools and documents are meant to support:

  1. Development work: tools/docs for interacting with Eucalyptus in the course of implementation, testing, debugging, etc.
  2. Deployment work: tools/docs for managing the deployment environment in which Eucalyptus operates.

Repository

This repository has the specific purpose of providing tools and docs in support of other development or administrative activities. The tools here are not an engineering exercise; they are not an end unto themselves. With that in mind, the repository has some rules which are meant to:

  1. Ensure the tools are self-contained and will work w/o needing to prepare the development or deployment environment.
  2. Make it easy to rip out the piece you need right now, ship it to wherever, and expect it will work.
  3. Keep tools simple and focused so they do not become a time sink of turd polishing.
  4. Enable quick access to functionality with trivial documentation.

Rules

  1. Directories as Modules: Every single tool or document lives in its own directory.
  2. Flat Structure: A tool/doc directory is an atomic unit, there are no subtools. If there is a tool which you need to include a copy of in its entirety: do it!
  3. Isolated: Dependencies between tool directories are prohibited.
  4. Self-contained: Every directory for a tool contains everything which is needed to execute that tool w/in the tools.
  5. Self-describing: Every directory must have a meaningful name and contain an elaborating README.md where:

Exceptions to being Self-contained

Please indicate in the tool's README.md if the tool requires any of the following:

  1. Running Eucalyptus: Requiring a running Eucalyptus is OK.
  2. Credentials: Requiring the presence of a eucarc file is OK.
  3. euca2ools: Requiring the standard client tools is OK.
  4. eucadmin tools: Requiring the standard admin tools is OK.
  5. Eucalyptus binaries: Requiring Eucalyptus binaries at runtime is OK.
  6. Password-less ssh: Requiring ssh to the hosts running Eucalyptus is OK.
  7. Internet Access: Requiring external interner access is OK.

Disallowed by Self-contained

  1. Package Installation: Do not assume you can change the host on which the tool is to be run, this compromises the value of the tool.

Acid Tests

  • From Rule #1: the only file that is ever in the root of the repo is this README.md. Everything else is a directory.
  • From Rule #2: the root of the repository contains the same number of directories as there are tools/docs.
  • From Rule #3: a tool will work (if it ever has) when executed from within the directory you rsyncd to your (least) favorite host.
  • From Rule #4: a tool will work if ripped out of the repo on its own.
  • From Rule #5: head -n1 */README.md will give a listing of the tool directories and a description of the contained tool.

Intentionally neglected

  1. Slimming down the repo. Let it become many gigabytes. Worry then.

About

Development utilities supporting work on or deployment of Eucalyptus

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •