Apero (Apero v3.0.0)

Copy Markdown View Source

Apero — Pure utility library for Elixir (no shell execution).

Provides domain-specific tools organised into independent modules behind a consistent {:ok, result} | {:error, reason} interface.

What's in Apero

These modules are pure Elixir/Erlang with no shell execution dependency:

Security

Environment

  • Apero.Env — environment variable management and .env files
  • Apero.Conf — config file validation, linting and formatting

Cache

  • Apero.Cache — unified cache interface with ETS adapter

System (pure subset)

  • Apero.OS — OS type detection and hostname (pure Erlang)
  • Apero.Proc — command availability, VM introspection (pure Elixir)

File & Path

Retry

What moved to Trebejo

Shell-based modules moved to Trebejo v1.0.0:

  • Trebejo.Docker, Trebejo.Git, Trebejo.SSH, Trebejo.Kubernetes
  • Trebejo.Compress, Trebejo.Network, Trebejo.File.IO (run_cmd based)
  • Trebejo.OS (arch, kernel, memory, CPU — shell-based)
  • Trebejo.Proc (ps, kill, lsof, fuser, logs — shell-based)
  • Trebejo.File (watch/unwatch — depends on Arrea.WorkerSupervisor)

Summary

Functions

decrypt(encoded, key)

See Apero.Crypto.Cipher.decrypt/2.

encrypt(plaintext, key \\ nil)

See Apero.Crypto.Cipher.encrypt/2.

get_env(key, default \\ nil)

See Apero.Env.get/2.

md5(data)

See Apero.Crypto.Hash.md5/1.

os_type()

See Apero.OS.type/0.

put_env(key, value)

See Apero.Env.put/2.

retry(fun, opts \\ [])

See Apero.Retry.with/2.

sha256(data)

See Apero.Crypto.Hash.sha256/1.

sha512(data)

See Apero.Crypto.Hash.sha512/1.