import os from pprint import pprint from iam.lib.utils import get_pkg_dir, open_yaml, to_yaml yml_dir = get_pkg_dir(__name__) plugin_conf = open_yaml(os.path.join(yml_dir, "local.yml"))[0] all = plugin_conf.get("providers", {}) # plugin_ssh = { # "services": { # "local.ssh_key": { # "desc": "Local ssh key", # # "input": { # # "ssh_agent_socket_dir": "/run/user/ssh-agent", # # "ssh_agent_tmout": "7d", # # }, # "commands": { # "shell_enable": { # "cmd": """ # export SSH_AUTH_SOCK={{ssh_agent_socket_dir}}/{{user}} && \ # ssh-agent -a $SSH_AUTH_SOCK -t {{ssh_agent_tmout}} # """, # }, # "shell_disable": { # "cmd": "ssh-agent -k && unset SSH_AUTH_SOCK", # }, # }, # }, # }, # "resources_def": { # "service.local.ssh_key": { # "desc": "A local ssh key", # }, # "auth.ssh_certificate": { # "desc": "SSH Certificates", # "input": {"ssh_cert_file": None}, # "needs": ["auth.ssh_key"], # }, # "auth.ssh_key": { # "desc": "ssh_key", # "input": { # "ssh_key_file": None, # "ssh_key_secret": None # }, # "needs": [ # {"kind": "auth.password", "remap": {"ssh_key_secret": "passord"}} # ], # }, # "account.ssh": {"desc": "An unix account", "input": {"host": None}}, # }, # "resources": { # "service.local.ssh_agent": { # "enabled": True, # # "contains": [ # # "auth.ssh_key:{ident}/ed25519", # # "auth.ssh_key:{ident}/rsa4096", # # "auth.ssh_key:{ident}/rsa2048", # # "auth.ssh_key:{ident}/rsa1024", # # "auth.ssh_key:{ident}", # # ], # }, # "service.local.ssh_agent_keys": { # "enabled": True, # "loop_limit": 3, # "loop": [ # "auth.ssh_key:{ident}/ed25519", # "auth.ssh_key:{ident}/rsa4096", # "auth.ssh_key:{ident}/rsa2048", # "auth.ssh_key:{ident}/rsa1024", # "auth.ssh_key:{ident}", # ], # }, # }, # } # plugin_ssh_agent = { # "services": { # "local.ssh_agent": { # "desc": "Local ssh-agent", # "input": { # "ssh_agent_socket_dir": "/run/user/ssh-agent", # "ssh_agent_tmout": "7d", # }, # "commands": { # "shell_enable": { # "cmd": """ # export SSH_AUTH_SOCK={{ssh_agent_socket_dir}}/{{user}} && \ # ssh-agent -a $SSH_AUTH_SOCK -t {{ssh_agent_tmout}} # """, # }, # "shell_disable": { # "cmd": "ssh-agent -k && unset SSH_AUTH_SOCK", # }, # }, # }, # "local.ssh_agent_keys": { # "desc": "Local ssh-agent keys", # "required_services": [ # "local.ssh_agent" # ], # "commands": { # "shell_enable": { # "cmd": """ # ssh-add {% for item in loop %} {{item.ssh_key_file}} {% endfor %} # """, # }, # "shell_disable": { # "cmd": "ssh-agent -d {ssh_key_file}", # }, # }, # }, # }, # "resources_def": { # "service.local.ssh_agent": { # "desc": "A local ssh_agent service", # }, # "service.local.ssh_agent_keys": { # "desc": "A local ssh_agent_keys service", # }, # }, # "resources": { # "service.local.ssh_agent": { # "enabled": True, # # "contains": [ # # "auth.ssh_key:{ident}/ed25519", # # "auth.ssh_key:{ident}/rsa4096", # # "auth.ssh_key:{ident}/rsa2048", # # "auth.ssh_key:{ident}/rsa1024", # # "auth.ssh_key:{ident}", # # ], # }, # "service.local.ssh_agent_keys": { # "enabled": True, # "loop_limit": 3, # "loop": [ # "auth.ssh_key:{ident}/ed25519", # "auth.ssh_key:{ident}/rsa4096", # "auth.ssh_key:{ident}/rsa2048", # "auth.ssh_key:{ident}/rsa1024", # "auth.ssh_key:{ident}", # ], # }, # }, # } # all = { # "ssh": plugin_ssh, # "ssh_agent": plugin_ssh_agent, # } # print (to_yaml(all))