mirror of
https://github.com/boostorg/website-v2.git
synced 2026-01-19 04:42:17 +00:00
Add the HYPERKITTY_DATABASE_NAME environment variable (#1435)
This commit is contained in:
@@ -144,7 +144,7 @@ Then as a superuser log into the admin interface, go to "Versions" and click on
|
||||
## Syncing EmailData Locally
|
||||
|
||||
To work with mailinglist data locally, the django application expects to be
|
||||
able to query a copy of the hyperkitty database at HYPERKITTY_DATABASE_URL.
|
||||
able to query a copy of the hyperkitty database from HYPERKITTY_DATABASE_NAME.
|
||||
Then, the `sync_mailinglist_stats` management command can be run.
|
||||
|
||||
## Deploying
|
||||
|
||||
@@ -279,7 +279,17 @@ CACHES = {
|
||||
CLEAR_STATIC_CONTENT_CACHE_DAYS = 7
|
||||
|
||||
# Hyperkitty
|
||||
HYPERKITTY_DATABASE_URL = env("HYPERKITTY_DATABASE_URL", default="")
|
||||
HYPERKITTY_DATABASE_NAME = env("HYPERKITTY_DATABASE_NAME", default="")
|
||||
if HYPERKITTY_DATABASE_NAME:
|
||||
HYPERKITTY_DATABASE_URL = "postgresql://{}:{}@{}:{}/{}".format(
|
||||
DATABASES["default"]["USER"],
|
||||
DATABASES["default"]["PASSWORD"],
|
||||
DATABASES["default"]["HOST"],
|
||||
DATABASES["default"]["PORT"],
|
||||
HYPERKITTY_DATABASE_NAME,
|
||||
)
|
||||
else:
|
||||
HYPERKITTY_DATABASE_URL = ""
|
||||
|
||||
# Mailman API credentials
|
||||
MAILMAN_REST_API_URL = env("MAILMAN_REST_API_URL", default="http://localhost:8001")
|
||||
|
||||
@@ -27,7 +27,7 @@ STATIC_CONTENT_REGION="us-east-2"
|
||||
STATIC_CONTENT_AWS_S3_ENDPOINT_URL="https://s3.us-east-2.amazonaws.com"
|
||||
|
||||
# Mailman database settings
|
||||
HYPERKITTY_DATABASE_URL="postgresql://postgres:postgres@db:5432/hyperkitty"
|
||||
HYPERKITTY_DATABASE_NAME=""
|
||||
DATABASE_URL="postgresql://postgres@db:5432/postgres"
|
||||
DATABASE_TYPE="postgres"
|
||||
DATABASE_CLASS="mailman.database.postgresql.PostgreSQLDatabase"
|
||||
|
||||
@@ -199,6 +199,11 @@ Env:
|
||||
secretKeyRef:
|
||||
name: githubtoken
|
||||
key: key
|
||||
- name: HYPERKITTY_DATABASE_NAME
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: hyperkitty
|
||||
key: database_name
|
||||
# Static content cache timeout
|
||||
- name: STATIC_CACHE_TIMEOUT
|
||||
value: "60"
|
||||
|
||||
@@ -199,6 +199,11 @@ Env:
|
||||
secretKeyRef:
|
||||
name: githubtoken
|
||||
key: key
|
||||
- name: HYPERKITTY_DATABASE_NAME
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: hyperkitty
|
||||
key: database_name
|
||||
# Static content cache timeout
|
||||
- name: STATIC_CACHE_TIMEOUT
|
||||
value: "60"
|
||||
|
||||
@@ -199,6 +199,11 @@ Env:
|
||||
secretKeyRef:
|
||||
name: githubtoken
|
||||
key: key
|
||||
- name: HYPERKITTY_DATABASE_NAME
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: hyperkitty
|
||||
key: database_name
|
||||
# Static content cache timeout
|
||||
- name: STATIC_CACHE_TIMEOUT
|
||||
value: "60"
|
||||
|
||||
@@ -179,6 +179,11 @@ Env:
|
||||
secretKeyRef:
|
||||
name: githubtoken
|
||||
key: key
|
||||
- name: HYPERKITTY_DATABASE_NAME
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: hyperkitty
|
||||
key: database_name
|
||||
# Static content cache timeout
|
||||
- name: STATIC_CACHE_TIMEOUT
|
||||
value: "60"
|
||||
|
||||
@@ -423,7 +423,7 @@ class CreateReportForm(CreateReportFullForm):
|
||||
.order_by("-release_date")
|
||||
.first()
|
||||
)
|
||||
if not prior_version or not settings.HYPERKITTY_DATABASE_URL:
|
||||
if not prior_version or not settings.HYPERKITTY_DATABASE_NAME:
|
||||
return []
|
||||
conn = psycopg2.connect(settings.HYPERKITTY_DATABASE_URL)
|
||||
with conn.cursor(name="fetch-mail-content") as cursor:
|
||||
|
||||
@@ -30,13 +30,13 @@ class EmailDataAdmin(admin.ModelAdmin):
|
||||
return my_urls + urls
|
||||
|
||||
def sync_mailinglist_stats(self, request):
|
||||
if settings.HYPERKITTY_DATABASE_URL:
|
||||
if settings.HYPERKITTY_DATABASE_NAME:
|
||||
sync_mailinglist_stats.delay()
|
||||
self.message_user(request, "Syncing EmailData.")
|
||||
else:
|
||||
self.message_user(
|
||||
request,
|
||||
"HYPERKITTY_DATABASE_URL setting not configured.",
|
||||
"HYPERKITTY_DATABASE_NAME setting not configured.",
|
||||
level=messages.WARNING,
|
||||
)
|
||||
return HttpResponseRedirect("../")
|
||||
|
||||
@@ -19,8 +19,8 @@ from versions.models import Version
|
||||
help="Delete all EmailData objects before importing.",
|
||||
)
|
||||
def command(clean):
|
||||
if not settings.HYPERKITTY_DATABASE_URL:
|
||||
click.echo("HYPERKITTY_DATABASE_URL setting is empty. Not syncing.")
|
||||
if not settings.HYPERKITTY_DATABASE_NAME:
|
||||
click.echo("HYPERKITTY_DATABASE_NAME setting is empty. Not syncing.")
|
||||
return
|
||||
conn = psycopg2.connect(settings.HYPERKITTY_DATABASE_URL)
|
||||
with transaction.atomic():
|
||||
|
||||
@@ -12,7 +12,7 @@ logger = structlog.getLogger(__name__)
|
||||
@app.task
|
||||
def sync_mailinglist_stats():
|
||||
"""Task to create EmailData from hyperkitty database."""
|
||||
if not settings.HYPERKITTY_DATABASE_URL:
|
||||
logger.warning("HYPERKITTY_DATABASE_URL not set.")
|
||||
if not settings.HYPERKITTY_DATABASE_NAME:
|
||||
logger.warning("HYPERKITTY_DATABASE_NAME not set.")
|
||||
return
|
||||
call_command("sync_mailinglist_stats")
|
||||
|
||||
Reference in New Issue
Block a user