96 lines
2.9 KiB
Python

plugin_base = {
"resources_def": {
# Main
# -------------
"secret": {"desc": "Secret", "input": {"secret": None}},
"auth": {"desc": "Authentification"},
"account": {
"desc": "Account",
"input": {"password": None, "user": None},
},
"service": {"desc": "Session service"},
"scope": {"desc": "Scoped identity"},
# Bases
"service.id": {"desc": "Default ident service"},
"service.scope": {"desc": "Default scope service"},
# Other assets:
# -------------
# Secrets
"secret.env": {
"desc": "Environment secret" "vars",
"input": {"secret_env": None},
},
"secret.file": {
"desc": "File secret",
"input": {"secret_file": None},
},
# Auths
"auth.password": {"desc": "Password", "input": {"password": None}},
"auth.token": {
"desc": "Token",
"input": {"token": None},
},
"auth.totp": {
"desc": "One time password",
"input": {"token": None},
},
# Accounts
"account.email": {"desc": "Email account", "input": {"email": None}},
},
"resources": {
"service.id": {
"enabled": True,
},
"service.scope": {
"enabled": True,
},
},
"services": {
"id": {
"desc": "Local id",
"commands": {
"shell_enable": {
"desc": "Enable shell ident",
"shell": "export SHELL_IDENT={{ident}}",
},
"shell_disable": {
"desc": "Disable shell ident",
"shell": "unset SHELL_IDENT",
},
"id new": {
"desc": "Create shell identy",
"shell": "add_ident {{ param }}",
},
"id delete": {
"desc": "Delete shell identy",
"shell": "rm_ident {{ param }}",
},
},
},
"scope": {
"desc": "Local scope identity/sub identities",
"commands": {
"shell_enable": {
"desc": "Enable shell scope",
"shell": "export SHELL_SCOPE={{scope}}",
},
"shell_disable": {
"desc": "Disable shell scope",
"shell": "unset SHELL_SCOPE",
},
"scope new": {
"desc": "Create shell scope",
"shell": "add_scope {{ param }}",
},
"scope delete": {
"desc": "Delete shell scope",
"shell": "rm_scope {{ param }}",
},
},
},
},
}
providers = {"base": plugin_base}