Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Playbook for Reportinator Server #85

Open
dcadenas opened this issue Mar 26, 2024 · 2 comments
Open

Playbook for Reportinator Server #85

dcadenas opened this issue Mar 26, 2024 · 2 comments
Assignees

Comments

@dcadenas
Copy link
Contributor

dcadenas commented Mar 26, 2024

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.
  • Automatic deployments through main branch.
@dcadenas dcadenas assigned dcadenas and cooldracula and unassigned dcadenas Mar 26, 2024
@dcadenas
Copy link
Contributor Author

@cooldracula I added SLACK_SIGNING_SECRET to the list of env vars

@dcadenas
Copy link
Contributor Author

dcadenas commented Apr 1, 2024

@cooldracula I added an entry for SSL termination for the /slack/interactions endpoint

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

No branches or pull requests

2 participants