AIMS Ansibile IT management system
Description: AIMS sets out to create a scalable resource for IT Customers to use and IT Teams to remain agile that allows an Business Orginization to be the First Responder in managing their applications and infrastructure. This is acheived by building a scalable agentless centerialized configuration management system based off Ansible and functions cross platform/hosting environment.
- Technology stack: Ansible, Docker, Python, Eve/Flask, Swagger, Redis, Mongodb, Hateoas, json, RESTful API
- Status: Active Development -
- Please review the CHANGELOG.
- Support Forum:
- Quick Deploy:
-
Dependencies
Describe any dependencies that must be installed for this software to work. This includes programming languages, databases or other storage mechanisms, build tools, frameworks, and so forth. If specific versions of other software are required, or known not to work, call that out.
Installation
generic script with (openssh, docker-machine, and docker)
export RHOST=localhost
[ -f $HOME/.id_rsa ] || ssh-keygen
eval $(ssh-agent) && ssh-add
ssh-copy-id $RHOST
docker-machine -d generic --generic-ip-address=$RHOST create aims && eval $(docker-machine env aims)
docker swarm init
docker swarm deploy -c docker-compose.yml
Cloud-init
#cloud-init
packages
- docker
runcmd:
- [ wget, "https://github.com/${USER}/", -O, ~/.ssh/authorized_keys ]
- [ wget, "https://get.docker.com/", -O, /dev/stdout, "|", "bash", "-" ]
Configuration
If the software is configurable, describe it in detail, either here or in other documentation to which you link.
Environment Varaibles
Name | Expected values | Description |
---|---|---|
ENVIRONMENT | <development|production> | Effects levels of verbosity, and other items like that (flask) |
PORT | integer(default=8080) | Port to listen on (flask and heroku) |
CORS_DOMAINS | string(default="*") | Allowed values are: None, a list of domains, or '*' for a wide-open API. |
MONGO_URI | string(default="mongodb://user:user@mongo:27017/apidemo") | Location of the mongodb instance (mongodb) |
REDIS_URI | string(default="redis://redis:6379/0") | Location of the redis instance (redis) |
JWT_SECRET | string() randomly geneated | secret token used for oauth/jwt authentication (eve-auth-jwt) |
JWT_ISSUER | string() hostname | token issuer identity used for oauth/jwt authentication (eve-auth-jwt) |
Usage
Show users how to use the software. Be specific. Use appropriate formatting when showing code snippets.
How to test the software
If the software includes automated tests, detail how to run those tests.
Known issues
Document any known significant shortcomings with the software.
Getting help
Instruct users how to get help with this software; this might include links to an issue tracker, wiki, mailing list, etc.
Example
If you have questions, concerns, bug reports, etc, please file an issue in this repository's Issue Tracker.
Getting involved
This section should detail why people should get involved and describe key areas you are currently focusing on; e.g., trying to get feedback on features, fixing certain bugs, building important pieces, etc.
General instructions on how to contribute should be stated with a link to CONTRIBUTING.
Open source licensing info
Credits and references
- Projects that inspired you
- Related projects
- Books, papers, talks, or other sources that have meaniginful impact or influence on this project