179 lines
4.7 KiB
Python
179 lines
4.7 KiB
Python
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))
|