No description
Find a file
Jason Vanderhoof 7c8e365dff Conjur Lookup Plugin (#34280)
* Imported lookup plugin from Role

* Plugin cleanup, including:
* Use existing Python YAML parsing
* Remove environment variables as connection options
* Added initial debugging information

* Reworked the lookup plugin using the Python Request library.  As it's available through Ansible, it makes communication with Conjur much more straight forward.

* Removed un-used libraries

* Fixed linting issues

* Standardized output on `format` and insure it works for 2.6, 2.7, and 3.x.

* Use quote_plus from the six library for improved python 2/3 behavior.

* Refactored identity & configuration to prefer user's file. This also includes a refactor to remove an un-needed dictionary merge method.

* Removed `requests` in favor of `ansible.module_utils.urls`.

* Refactored netrc loading to warn if host is not present.

* Tests and a refactor to support easier testing.

* Added reference to website

* Fixed two linting errors

* Fixed an extra line found by linting

* Updated file write to use binary to insure config files are written correctly

* Resolved linting issues

* Refactored config & identity loading to take advantage of plugin options

* Cleanup a bunch of small items caught by linting

* Removed extra line caught by linting

* Swapped in pytest and added some tests with mocked network responses

* Pushing to see if this approach works better...

* Refactored be open_url mocking based on feedback

* Fixed a couple linting issues & refactored mocking into each method to attempt to resolve a failing test

* Use a generic MagicMock for python 2.6

* Fixes doc typo

require -> required

* Use `type: path` in identity_file and config_file

Also removes `expanduser` calls below (which will now be called automatically on
paths.)

* Defines maintainers for conjur_variable plugin

* BOTMETA.yml:
** defines $team_cyberark_conjur as maintainers of Conjur Variable plugin
** adds myself and @jvanderhoof to that team

* Adds URLs to relevant documentation for Conjur Variable lookup plugin

* Clarifies "the server," "the machine" -> "controlling host"

The machine identity used is that of the Ansible controlling host, not any
server being provisioned or instructed. This documentation change aims to make
that relationship clear.

* Adds response code to exception message on authentication failure

* Enhances exception messages to specify the controlling host

These error messages are less likely to confuse a user as to which machine is
associated with the files, identities, and configurations being described.

* Adds ANSIBLE_METADATA for Conjur variable lookup plugin
2018-01-23 10:04:57 -06:00
.github Conjur Lookup Plugin (#34280) 2018-01-23 10:04:57 -06:00
bin Error early if executing python version doesn't meet documented minimums (#34655) 2018-01-09 16:17:55 -06:00
contrib Fix Digital Ocean inventory script pagination handling (#35153) 2018-01-23 19:29:50 +05:30
docs doc update (#35214) 2018-01-23 09:51:11 +05:30
examples Implement plugin filtering 2018-01-22 16:54:53 -08:00
hacking Port sts_assume_role to boto3 (#32569) 2018-01-22 17:46:08 -05:00
lib/ansible Conjur Lookup Plugin (#34280) 2018-01-23 10:04:57 -06:00
licenses
packaging [new module] Add Azure Container Instance support - cloud/azure/azure_rm_containerinstance (#32025) 2018-01-17 10:05:45 +10:00
test Conjur Lookup Plugin (#34280) 2018-01-23 10:04:57 -06:00
ticket_stubs add bug_internal_api.md to ticket_stubs (#34370) 2018-01-03 09:46:10 -06:00
.coveragerc Docker image updates for integration tests. (#26054) 2017-06-23 12:45:38 -07:00
.gitattributes avoid exporting files useless to dist 2017-06-23 15:56:43 -04:00
.gitignore Keywords docs (#32807) 2017-11-10 16:59:26 -08:00
.gitmodules Code cleanup. 2016-12-08 11:35:04 -05:00
.mailmap Fix syntax typo 2017-12-24 12:16:17 +01:00
.yamllint Add module support to yamllint sanity test. (#34964) 2018-01-16 15:08:56 -08:00
ansible-core-sitemap.xml Remove remnants of obsolete fireball mode. 2016-12-09 16:56:34 -07:00
CHANGELOG.md Documentation and changelog for the plugin_filtering config option 2018-01-22 17:13:41 -08:00
CODING_GUIDELINES.md PEP8 set the line limit (#32578) 2017-11-06 13:38:54 +01:00
CONTRIBUTING.md Update CONTRIBUTING.md to point to the right stuff (#32258) 2017-10-27 11:27:25 -04:00
COPYING license file should be in source tree 2012-03-15 20:24:22 -04:00
docsite_requirements.txt Fixes the build issue pertaining to sphinx-build which is required to build ansible (#22480) 2017-03-14 14:19:46 -07:00
Makefile Fix make clean to remove test reports correctly 2017-09-18 16:49:16 -07:00
MANIFEST.in powershell setup fixes (#27516) 2017-07-31 12:16:26 -07:00
MODULE_GUIDELINES.md Moving guidelines to the official docs (#32260) 2017-10-27 11:40:42 -04:00
README.md devel usage README update (#30369) 2017-09-14 10:48:58 -07:00
RELEASES.txt updated from stable.24 2018-01-04 13:35:15 -05:00
requirements.txt Cyptography pr 20566 rebase (#25560) 2017-06-27 06:00:15 -07:00
ROADMAP.rst No hardcoding roadmaps (#32981) 2017-11-16 08:03:10 -08:00
setup.py set the zip_safe flag to False (#32194) 2017-10-27 12:47:45 -04:00
shippable.yml Split Windows tests into 4 groups. 2018-01-12 00:48:32 -08:00
tox.ini Fail hard when tests pass that are expected to fail 2017-12-21 10:27:38 -08:00
VERSION Bump the versions now that devel is 2.5 2017-09-06 13:13:57 -07:00

PyPI version Build Status

Ansible

Ansible is a radically simple IT automation system. It handles configuration-management, application deployment, cloud provisioning, ad-hoc task-execution, and multinode orchestration - including trivializing things like zero downtime rolling updates with load balancers.

Read the documentation and more at https://ansible.com/

You can find installation instructions here for a variety of platforms. Most users should probably install a released version of Ansible from pip, a package manager or our release repository. Officially supported builds of Ansible are also available. Some power users run directly from the development branch - while significant efforts are made to ensure that devel is reasonably stable, you're more likely to encounter breaking changes when running Ansible this way.

Design Principles

  • Have a dead simple setup process and a minimal learning curve
  • Manage machines very quickly and in parallel
  • Avoid custom-agents and additional open ports, be agentless by leveraging the existing SSH daemon
  • Describe infrastructure in a language that is both machine and human friendly
  • Focus on security and easy auditability/review/rewriting of content
  • Manage new remote machines instantly, without bootstrapping any software
  • Allow module development in any dynamic language, not just Python
  • Be usable as non-root
  • Be the easiest IT automation system to use, ever.

Get Involved

  • Read Community Information for all kinds of ways to contribute to and interact with the project, including mailing list information and how to submit bug reports and code to Ansible.
  • All code submissions are done through pull requests. Take care to make sure no merge commits are in the submission, and use git rebase vs git merge for this reason. If submitting a large code change (other than modules), it's probably a good idea to join ansible-devel and talk about what you would like to do or add first and to avoid duplicate efforts. This not only helps everyone know what's going on, it also helps save time and effort if we decide some changes are needed.
  • Users list: ansible-project
  • Development list: ansible-devel
  • Announcement list: ansible-announce - read only
  • irc.freenode.net: #ansible

Branch Info

  • Releases are named after Led Zeppelin songs. (Releases prior to 2.0 were named after Van Halen songs.)
  • The devel branch corresponds to the release actively under development.
  • Various release-X.Y branches exist for previous releases.
  • We'd love to have your contributions, read Community Information for notes on how to get started.

Authors

Ansible was created by Michael DeHaan (michael.dehaan/gmail/com) and has contributions from over 1000 users (and growing). Thanks everyone!

Ansible is sponsored by Ansible, Inc

License

GNU General Public License v3.0

See COPYING to see the full text.