package ansible // BinaryDeployPlaybook returns the Ansible playbook for binary deployment. // Downloads the agent binary, writes config, and starts it directly (no systemd). // systemd unit is managed separately (e.g. via goreleaser .deb/.rpm packages). const BinaryDeployPlaybook = `--- - name: Deploy HellreigN Agent (Binary) hosts: all become: yes vars: agent_label: "{{ agent_label }}" agent_token: "{{ agent_token }}" backend_url: "{{ backend_url }}" install_dir: /opt/hellreign bin_name: hellreign-agent cert_dir: "{{ install_dir }}/certs" tasks: - name: Create installation directory file: path: "{{ install_dir }}" state: directory mode: '0755' - name: Create certificates directory file: path: "{{ cert_dir }}" state: directory mode: '0755' - name: Download HellreigN Agent binary get_url: url: "https://gitea.d3m0k1d.ru/d3m0k1d/HellreigN/releases/latest/download/{{ bin_name }}" dest: "{{ install_dir }}/{{ bin_name }}" mode: '0755' - name: Create agent configuration copy: content: | backend_url: "{{ backend_url }}" grpc_url: "{{ grpc_url | default('localhost:9001') }}" label: "{{ agent_label }}" registration_token: "{{ agent_token }}" cert_dir: "{{ cert_dir }}" services: - name: system type: journald dest: "{{ install_dir }}/config.yml" mode: '0644' - name: Start HellreigN Agent shell: | nohup {{ install_dir }}/{{ bin_name }} > /dev/null 2>&1 & echo $! args: executable: /bin/bash environment: CONFIG_FILE: "{{ install_dir }}/config.yml" register: agent_pid changed_when: true ` // DockerDeployPlaybook returns the Ansible playbook for Docker deployment. const DockerDeployPlaybook = `--- - name: Deploy HellreigN Agent (Docker) hosts: all become: yes vars: agent_label: "{{ agent_label }}" agent_token: "{{ agent_token }}" backend_url: "{{ backend_url }}" grpc_url: "{{ grpc_url | default('localhost:9001') }}" container_name: hellreign-agent-{{ agent_label }} image: "gitea.d3m0k1d.ru/d3m0k1d/hellreign-agent:latest" cert_dir: /etc/hellreign-agent/certs tasks: - name: Install Docker (if not present) block: - name: Check if Docker is installed command: docker --version register: docker_check ignore_errors: yes changed_when: false - name: Install Docker shell: | curl -fsSL https://get.docker.com | sh when: docker_check.rc != 0 - name: Create certificates directory file: path: "{{ cert_dir }}" state: directory mode: '0755' - name: Pull HellreigN Agent image community.docker.docker_image: name: "{{ image }}" source: pull - name: Create agent configuration copy: content: | backend_url: "{{ backend_url }}" grpc_url: "{{ grpc_url }}" label: "{{ agent_label }}" registration_token: "{{ agent_token }}" cert_dir: "{{ cert_dir }}" services: - name: system type: journald dest: "{{ cert_dir }}/config.yml" mode: '0644' - name: Create and run HellreigN Agent container community.docker.docker_container: name: "{{ container_name }}" image: "{{ image }}" state: started restart_policy: always volumes: - "{{ cert_dir }}:/etc/hellreign-agent/certs" env: CONFIG_FILE: /etc/hellreign-agent/certs/config.yml `