Validador de alto nivel para comandos y especificaciones de workers.
Compone Arrea.Validation.Rules para proporcionar puntos de entrada
de validacion usados por Arrea.Command y la CLI.
Summary
Functions
Valida una cadena de comando shell.
Valida una lista de comandos, retornando todos los resultados.
Valida un nombre de shell contra la lista permitida.
Valida una especificacion de worker como keyword list.
Types
Functions
@spec validate_command(String.t()) :: {:ok, String.t()} | {:error, validation_error()}
Valida una cadena de comando shell.
Ejecuta todas las verificaciones de seguridad estandar en secuencia.
Retorna
{:ok, command}si el comando pasa todas las verificaciones{:error, reason}en la primera verificacion que falle
Ejemplos
iex> Validator.validate_command("echo hello")
{:ok, "echo hello"}
iex> Validator.validate_command("rm -rf /")
{:error, {:dangerous_command, "rm -rf"}}
@spec validate_commands([String.t()]) :: {:ok, [String.t()]} | {:error, [{non_neg_integer(), validation_error()}]}
Valida una lista de comandos, retornando todos los resultados.
Retorna {:ok, commands} solo si TODOS los comandos pasan la validacion.
Retorna {:error, errors} con una lista de tuplas {indice, razon} para los fallos.
@spec validate_shell(String.t()) :: {:ok, String.t()} | {:error, validation_error()}
Valida un nombre de shell contra la lista permitida.
@spec validate_worker_spec(keyword()) :: {:ok, keyword()} | {:error, validation_error()}
Valida una especificacion de worker como keyword list.
Verifica que los campos requeridos esten presentes y tengan tipos validos.