🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

hermes-deployer

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

hermes-deployer

Multi-Server, Multi-App, Multi-Service Orchestrator.

Source
pipPyPI
Version
0.3.4
Weekly downloads
71
Maintainers
1

DHermes — Multi-Server, Multi-App Enviroments Orchestrator (DevOps-as-Code)

Hermes is a robust and extensible environment manager designed to orchestrate complex DevOps workflows across multiple servers, applications, and services.

It provides a DevOps-as-Code interface that simplifies:

  • Infrastructure provisioning
  • Application deployment
  • Service lifecycle management
  • Event-driven automation
  • Secure multi-server credentials handling

Built with flexibility and scalability in mind, Hermes allows teams to define environments declaratively using a lightweight DSL (YAML), enabling:

  • Seamless coordination of distributed deployments
  • Reusable, composable event hooks (e.g., onDeploy, onUpdate)
  • Specific Environment server/app/service configurations
  • Importable configuration modules for better DRY practices

Use Cases

  • Deploy microservices to different VMs with event-triggered hooks
  • Spin up isolated dev/stage/prod environments with different configs
  • Automate CI/CD operations per service/app/server or global
  • Centralize infrastructure configuration in a single source of truth

Hermes File Structure


# File Extends
import?:
    - ...

# Server Dict
servers?:

    # Server
    <id>:
    server_name?:
    credentials: # Must contain either file or the other fields
        file: ".env.hermes"  
        project_id: ...
        vm_name: ...
        host_address: ...
        user: ...
        ssh_key: ...
    env: <file>

    # Apps
    apps?:
        # Must contain repository+branch and/or images
        <id>:
        app_name?: 
        repository?: 
        branch?: 
        images?:
        - ...
        services: 
        events?: 
        - ...

    # Server service-compose
    services?: <server_compose> # no tested

# Event Dict (interrupt + body)
events?:

    # Event
    <id>:
    when?: (default=call)

    # Body (actions & in-time calls)
    push?: 
        - from: <path>
        to: <path=server_root>
        - ...
    pull?: 
        - from: <path=server_path> 
        to: <path=call_root>   
        - ...
    remove?: 
        - path: <path>
        - ...
    migrate?: 
        - from: <path> 
        to: <path>    
        - ...

    call?:
        - <event>: <scope=self> 

    run_local:
        - ...
    run_serverside:
        - ...

    # annonymous loop func
    loop?:
        break: <event>
        # ... funcs

Keywords

DevOps

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts