# This file is managed by ansible, do not edit directly
- secret:
    name: site_pages
    data:
      fqdn: managesf.spfactory.storpool.com
      ssh_known_hosts: managesf.spfactory.storpool.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDV/cSRvpNT9RTJvRjBevfzXPPehCdotepMj0xgg59fgdbk+wsl9Pl4AezmQGf8B0V+NLkSLhfJku2OAjCWCOikFN3sbc1qq30XH+3749H+VOvwQUSL02bPv+9Yzc19MEU29CNKWbeOAZRZ0omXB/8skSJ6+VwYgm1Na3bVkz4FL4kSjd+GCEVCR/xY5BotdX/ehWiwHoJsYfU0vpm6IbLFAgmzK6fDJFe8mPmwl6NwFA/OIQu777cmvhvWyZXGDzDOiUjNd49bkd4GfUEAmEQXtVZ7Ag3krrI7VZ0FvgKOSl1K8llws6dNp/xnvGY8BlTjXvYi/K26cb9R7DkcBpfF
      path: /var/www/pages
      ssh_username: pagesuser
      ssh_private_key: !encrypted/pkcs1-oaep
        - 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
