Comments (6)
The environment keyword only affects remote task execution, not the 'local' environment which is what lookups run under. This is an ansible thing.
Maybe there is something else that could be done to pass parameters to the lookup plugin
https://github.com/TerryHowe/ansible-modules-hashivault/blob/master/ansible/plugins/lookup/hashivault.py#L74
It is really designed though to use regular environment variables.
from ansible-modules-hashivault.
In my case, i have a lot of roles with a lot of token and i set one token by role/project for security.
I try to edit an action plugin with your exemple in https://terryhowe.wordpress.com/2016/05/02/setting-ansible-module-defaults-using-action-plugins/
But its my first action plugin and i have difficulty to make this...
Ansible tasks :
- name: Load HashiVault Configuration
hashivault_config:
url: "https://test.test"
token: "test"
verify: False
But Ansible return :
The module hashivault_config was not found in configured module paths. Additionally, core modules are missing. If this is a checkout, run 'git pull --rebase' to correct this problem.
Action plugin "hashivault_config" :
from ansible.plugins.action import ActionBase
class ActionModule(ActionBase):
def run(self, tmp=None, task_vars=None):
if task_vars is None:
task_vars = dict()
result = super(ActionModule, self).run(tmp, task_vars)
args = self._task.args.copy()
if 'url' not in args:
args['url'] = self._templar.template('{{ url }}')
if 'token' not in args:
args['token'] = self._templar.template('{{ token }}')
if 'verify' not in args:
args['verify'] = self._templar.template('{{ verify }}')
result.update(self._execute_module(module_args=args, task_vars=task_vars))
self._task.register = args['register']
return result
Any idea ?
from ansible-modules-hashivault.
I was messing with this and came up with #89
from ansible-modules-hashivault.
The easy work around for you issue is use the hashivault_read module instead of the lookup plugin
https://github.com/TerryHowe/ansible-modules-hashivault/blob/master/ansible/modules/hashivault/hashivault_read.py#L9
I'm not entirely convinced what I did in that PR is the best way to do that.
from ansible-modules-hashivault.
The advantage of the lookup is that I can directly use it in a with_items.
If I go through the hashivault_read module, I have to do several tasks to retrieve and merge the data :/
from ansible-modules-hashivault.
merged
from ansible-modules-hashivault.
Related Issues (20)
- `hashivault_pki_role` is missing a bunch of the more recent options
- hashivault_init not work with seal type transit HOT 2
- hashivault_secret_engine should support diff and check
- Possible hvac breaking change HOT 1
- whitelist_externals is deprecated in tox
- auth_method missing return value
- auth_method missing diff support HOT 1
- Policy module is missing check and diff
- oidc_auth_method_config & oidc_auth_role missing diff mode
- hashivault_db_secret_engine_config error using vault server 1.12.x and 1.13.x HOT 9
- Re-add wrap_ttl to hashivault_approle_role_secret HOT 1
- configuring allowed_other_sans parameter in hashivault_pki_role broken HOT 2
- hashivault_secret_engine doesn't support seal wrap HOT 5
- Add coverage for 'userfilter' in hashivault_auth_ldap HOT 2
- Dependency on ansible>=5.0.0 HOT 3
- TLS authentication uses removed method
- hashivault_token_renew: call to client.renew_self_token not working anymore
- https://github.com/TerryHowe/ansible-modules-hashivault/pull/467 breaks installs that use pip based hvac HOT 1
- hashivault_k8s_auth_role does not detect changes in policies
- hashivault_identity_entity_alias didn't have custom_metada parameter HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ansible-modules-hashivault.