2023-10-06 19:16:30 -04:00

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))