We need to configure an Ansible playbook for automating the deployment of our new Rust-based server, the Reportinator Server. The server automates moderation requests on the Nostr network and interfaces with Google Cloud PubSub for report publishing. The source code is hosted on GitHub: Reportinator Server. It also exposes an http endpoint for integration with Slack.
Deployment Specifications:
Push-Based Deployment: Implement a push-based deployment process that triggers the deployment via Ansible upon any push to the main branch.
Docker and Google Cloud Credentials: The server deployment requires a Docker volume specifically for hosting the Google Cloud credentials file. This file must be mapped to an environment variable as outlined in our setup section.
There's an http endpoint at /slack/interactions where Slack pushed data so we will also need SSL termination
Required Environment Variables:
RELAY_ADDRESSES_CSV: wss://relay.nos.social
REPORTINATOR_SECRET: Secret key for the Reportinator bot account.
GOOGLE_APPLICATION_CREDENTIALS: Path to the Google Cloud credentials file, indicating the Docker volume mapping.
SLACK_SIGNING_SECRET: Slack secret used to interact with the manual moderation channel.
Current Implementation:
The server currently does not depend on a database.
It listens for direct messages from the Nostr network and from the https endpoint as its inputs and publishes moderation reports to a Google PubSub topic as its output.
Action Items:
Set up an Ansible playbook that meets the described deployment specifications.
Ensure the playbook accommodates the Docker volume setup for Google Cloud credentials.
We need to configure an Ansible playbook for automating the deployment of our new Rust-based server, the Reportinator Server. The server automates moderation requests on the Nostr network and interfaces with Google Cloud PubSub for report publishing. The source code is hosted on GitHub: Reportinator Server. It also exposes an http endpoint for integration with Slack.
Deployment Specifications:
Required Environment Variables:
RELAY_ADDRESSES_CSV: wss://relay.nos.social REPORTINATOR_SECRET: Secret key for the Reportinator bot account. GOOGLE_APPLICATION_CREDENTIALS: Path to the Google Cloud credentials file, indicating the Docker volume mapping. SLACK_SIGNING_SECRET: Slack secret used to interact with the manual moderation channel.
Current Implementation:
The server currently does not depend on a database. It listens for direct messages from the Nostr network and from the https endpoint as its inputs and publishes moderation reports to a Google PubSub topic as its output.
Action Items:
main
branch.