Skip to content

Instantly share code, notes, and snippets.

@dtroyer
Last active November 8, 2022 23:23
Show Gist options
  • Save dtroyer/7a066a9b274b192ab6ddae4e064fe30d to your computer and use it in GitHub Desktop.
Save dtroyer/7a066a9b274b192ab6ddae4e064fe30d to your computer and use it in GitHub Desktop.
Project Examples

OpenStack

golang-client

[https://opendev.org/x/golang-client](OpenStack golang-client)

The only Go I did for OpenStack, this was intended to be an SDK for OpenStack APIs that mirrored the structure of the Python SDK. It was essentially abandoned in 2015 for reasons I'll not bother with here.

OpenStack Client

https://opendev.org/openstack/python-openstackclient

I created this project and its supporting library https://opendev.org/openstack/osc-lib as a response to every OpenStack project having its own CLI and using different command formats.

DevStack

https://opendev.org/openstack/devstack

Some say this is the best example of why shell scripts should be limited to 100 lines or less. I was the primary maintainer from DevStack's second month of existence until 2015. It is still used by developers and the OpenInfra CI to set up test clouds from source.

I am to blame for the basic modular structure and the ddecision to stay with shells scripts and make the best of it long before we knew we would be supporting >30 projects.

FWIW DevStack contains some of the best examples of shell techniques I've seen in the real world contributed by folks from all over. I still use it as a reference for robust and defensive shell style.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment