Git Product home page Git Product logo

clj-openstack's People

Contributors

droogans avatar nadeemsyed avatar oubiwann avatar rneillj avatar shughes avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

clj-openstack's Issues

Cleanup!

During hackweek in December, lots of little (expected) messes were made. This should be cleaned up.

This is a placeholder for now, but as I walk through the code, I'll add items here that need to be tackled (probably a branch for each) and we can close this ticket when those have been completed.

Add ability to configure login with Config/INI file

Now that we have moved to openstack, we need to be able to support users who want to connect to arbitrary endpoints.

Requirements:

  • update the login function to take an optional key value parameter - :config <config name>
  • the <config name> is the provider section heading in the yaml file that the function will read
  • the config/ini file is ~/.openstack/providers.ini
  • the file can contain any number of sections, each with the provider name as the heading, e.g.:
[rackspace]
username = alice
apikey = abc123
password = asecret

[trystack]
username = bob
apikey = def456
password = tuf2break
auth-endpoint =
region =  
tenant-id = 
tenant-name = 

It is probably best to use clj-iniconfig for parsing this file.

Be sure to break all the logic into separate functions, put the appropriate ones in the utility module, and then have a single call to handle the config data inside the login function.

For the tests, just create ./test/files and put appropriate .ini files there.

For now, create a function for every possible section (provider) key for which we want to extract a value.

We'll need to have a function that creates the config dir if it doesn't exist. openstack.api is what everyone will use to hit any services. As such, let's

  1. add a constant for the dir name
  2. create a util function that creates the dir
  3. put a function call in api at the top (after the namespace) that calls that util function

Add support for standard OpenStack ENV vars

We need to support the following environment variables:

OS_AUTH_URL
OS_PASSWORD
OS_USERNAME
OS_TENANT_ID
OS_TENANT_NAME
OS_AUTH_URL
OS_TOKEN
OS_REGION_NAME

As part of this, let's remove the various RAX* env settings inidentity.clj``.

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.