"""InfraNinja - Infrastructure automation toolkit"""

__version__ = "0.5.0"

# Import actions as the main entry point
from infraninja.actions import (
    ACLSetup,
    Action,
    ActionResult,
    AppArmorSetup,
    ARPProtection,
    AuditdSetup,
    ChkrootkitSetup,
    ClamAVSetup,
    Composite,
    CompositeResult,
    DisableServices,
    Fail2BanSetup,
    FirewallSetup,
    FullSecuritySetup,
    FullSetup,
    IPTablesSetup,
    KernelHardening,
    LynisSetup,
    MalwareProtection,
    MediaAutorunProtection,
    NFTablesSetup,
    NTPHardening,
    PFSetup,
    RebootSystem,
    RedisAuthPatch,
    RkhunterSetup,
    RoutingControls,
    SecurityAudit,
    SecurityHardening,
    SecurityPackageInstall,
    SmtpHardening,
    SSHHardening,
    SSHKeys,
    SuricataSetup,
    UAEComplianceAudit,
    UpdateAndUpgrade,
)

# Import facts for read-only server information gathering
from infraninja.facts import (
    CompositeFact,
    CompositeFactResult,
    Fact,
    FactResult,
    FullFacts,
    Hardware,
    SystemInfo,
)

__all__ = [
    "ACLSetup",
    "Action",
    "ActionResult",
    "AppArmorSetup",
    "ARPProtection",
    "AuditdSetup",
    "ChkrootkitSetup",
    "ClamAVSetup",
    "Composite",
    "CompositeResult",
    "CompositeFact",
    "CompositeFactResult",
    "DisableServices",
    "Fact",
    "FactResult",
    "Fail2BanSetup",
    "FirewallSetup",
    "FullFacts",
    "FullSecuritySetup",
    "FullSetup",
    "Hardware",
    "IPTablesSetup",
    "KernelHardening",
    "LynisSetup",
    "MalwareProtection",
    "MediaAutorunProtection",
    "NFTablesSetup",
    "NTPHardening",
    "PFSetup",
    "RebootSystem",
    "RedisAuthPatch",
    "RkhunterSetup",
    "RoutingControls",
    "SecurityAudit",
    "SecurityHardening",
    "SecurityPackageInstall",
    "SmtpHardening",
    "SSHHardening",
    "SSHKeys",
    "SuricataSetup",
    "SystemInfo",
    "UAEComplianceAudit",
    "UpdateAndUpgrade",
]
