Adding dwww

This commit is contained in:
Samuel Clay 2024-02-25 18:51:58 -05:00
parent b621dd738c
commit 22f187b616
4 changed files with 109 additions and 66 deletions

View file

@ -10,17 +10,17 @@
- name: restart redis user
become: yes
command: docker restart redis_user
command: docker restart redis-user
listen: restart redis_user
- name: restart redis story
become: yes
command: docker restart redis_story
command: docker restart redis-story
listen: restart redis_story
- name: restart redis session
become: yes
command: docker restart redis_session
command: docker restart redis-session
listen: restart redis_session
- name: restart redis pubsub
become: yes
command: docker restart redis_pubsub
command: docker restart redis-pubsub
listen: restart redis_pubsub

View file

@ -1,73 +1,114 @@
import base64
import concurrent
import datetime
import random
import re
import socket
import ssl
import time
import urllib.error
import urllib.parse
import urllib.request
import zlib
import redis
import requests
import random
import zlib
import concurrent
import re
import ssl
import socket
import base64
import urllib.request, urllib.error, urllib.parse
from django.shortcuts import get_object_or_404
from django.shortcuts import render
from django.contrib.auth.decorators import login_required
from django.template.loader import render_to_string
from django.db import IntegrityError
from django.db.utils import DatabaseError
from django.db.models import Q
from django.views.decorators.cache import never_cache
from django.urls import reverse
from django.conf import settings
from django.contrib.auth import login as login_user
from django.contrib.auth import logout as logout_user
from django.contrib.auth.decorators import login_required
from django.contrib.auth.models import User
from django.http import HttpResponse, HttpResponseRedirect, HttpResponseForbidden, Http404, UnreadablePostError
from django.conf import settings
from django.contrib.sites.models import Site
from django.core.mail import EmailMultiAlternatives
from django.core.validators import validate_email
from django.contrib.sites.models import Site
from django.db import IntegrityError
from django.db.models import Q
from django.db.utils import DatabaseError
from django.http import (
Http404,
HttpResponse,
HttpResponseForbidden,
HttpResponseRedirect,
UnreadablePostError,
)
from django.shortcuts import get_object_or_404, render
from django.template.loader import render_to_string
from django.urls import reverse
from django.utils import feedgenerator
from django.utils.encoding import smart_str
from mongoengine.queryset import OperationError
from mongoengine.queryset import NotUniqueError
from apps.recommendations.models import RecommendedFeed
from apps.analyzer.models import MClassifierTitle, MClassifierAuthor, MClassifierFeed, MClassifierTag
from apps.analyzer.models import apply_classifier_titles, apply_classifier_feeds
from apps.analyzer.models import apply_classifier_authors, apply_classifier_tags
from apps.analyzer.models import get_classifiers_for_user, sort_classifiers_by_feed
from apps.profile.models import Profile, MCustomStyling, MDashboardRiver
from apps.reader.models import UserSubscription, UserSubscriptionFolders, RUserStory, RUserUnreadStory, Feature
from apps.reader.forms import SignupForm, LoginForm, FeatureForm
from apps.rss_feeds.models import MFeedIcon, MStarredStoryCounts, MSavedSearch
from django.views.decorators.cache import never_cache
from mongoengine.queryset import NotUniqueError, OperationError
from apps.analyzer.models import (
MClassifierAuthor,
MClassifierFeed,
MClassifierTag,
MClassifierTitle,
apply_classifier_authors,
apply_classifier_feeds,
apply_classifier_tags,
apply_classifier_titles,
get_classifiers_for_user,
sort_classifiers_by_feed,
)
from apps.notifications.models import MUserFeedNotification
from apps.profile.models import MCustomStyling, MDashboardRiver, Profile
from apps.reader.forms import FeatureForm, LoginForm, SignupForm
from apps.reader.models import (
Feature,
RUserStory,
RUserUnreadStory,
UserSubscription,
UserSubscriptionFolders,
)
from apps.recommendations.models import RecommendedFeed
from apps.rss_feeds.models import MFeedIcon, MSavedSearch, MStarredStoryCounts
from apps.search.models import MUserSearch
from apps.statistics.models import MStatistics, MAnalyticsLoader
from apps.statistics.models import MAnalyticsLoader, MStatistics
from apps.statistics.rstats import RStats
# from apps.search.models import SearchStarredStory
try:
from apps.rss_feeds.models import Feed, MFeedPage, DuplicateFeed, MStory, MStarredStory
from apps.rss_feeds.models import (
DuplicateFeed,
Feed,
MFeedPage,
MStarredStory,
MStory,
)
except:
pass
from apps.social.models import MSharedStory, MSocialProfile, MSocialServices
from apps.social.models import MSocialSubscription, MActivity, MInteraction
from apps.categories.models import MCategory
from apps.social.views import load_social_page
from apps.rss_feeds.tasks import ScheduleImmediateFetches
from utils import json_functions as json
from utils.user_functions import get_user, ajax_login_required
from utils.user_functions import extract_user_agent
from utils.feed_functions import relative_timesince
from utils.story_functions import format_story_link_date__short
from utils.story_functions import format_story_link_date__long
from utils.story_functions import strip_tags
from utils import log as logging
from utils.view_functions import get_argument_or_404, render_to, is_true
from utils.view_functions import required_params
from utils.ratelimit import ratelimit
from vendor.timezones.utilities import localtime_for_timezone
import tweepy
from apps.categories.models import MCategory
from apps.rss_feeds.tasks import ScheduleImmediateFetches
from apps.social.models import (
MActivity,
MInteraction,
MSharedStory,
MSocialProfile,
MSocialServices,
MSocialSubscription,
)
from apps.social.views import load_social_page
from utils import json_functions as json
from utils import log as logging
from utils.feed_functions import relative_timesince
from utils.ratelimit import ratelimit
from utils.story_functions import (
format_story_link_date__long,
format_story_link_date__short,
strip_tags,
)
from utils.user_functions import ajax_login_required, extract_user_agent, get_user
from utils.view_functions import (
get_argument_or_404,
is_true,
render_to,
required_params,
)
from vendor.timezones.utilities import localtime_for_timezone
BANNED_URLS = [
"brentozar.com",
]
@ -75,6 +116,7 @@ ALLOWED_SUBDOMAINS = [
'dev',
'www',
'hwww',
'dwww',
# 'beta', # Comment to redirect beta -> www, uncomment to allow beta -> staging (+ dns changes)
'staging',
'hstaging',

View file

@ -1 +1 @@
replicaof {{ inventory_hostname|regex_replace('\-?\d+', '')|regex_replace('hdb\-', 'db-')|regex_replace('db-redis-session', 'db-redis-sessions') }}.service.nyc1.consul 6379
replicaof {{ inventory_hostname|regex_replace('\-?\d+', '')|regex_replace('hdb\-', 'db-') }}.service.nyc1.consul {{ redis_port }}

View file

@ -103,7 +103,7 @@ resource "digitalocean_droplet" "www" {
}
resource "digitalocean_droplet" "app-django" {
count = 9
count = 0
image = var.droplet_os
name = "app-django${count.index + 1}"
region = var.droplet_region
@ -121,7 +121,7 @@ resource "digitalocean_droplet" "app-django" {
}
resource "digitalocean_droplet" "app-counts" {
count = 2
count = 0
image = var.droplet_os
name = "app-counts${count.index + 1}"
region = var.droplet_region
@ -139,7 +139,7 @@ resource "digitalocean_droplet" "app-counts" {
}
resource "digitalocean_droplet" "app-push" {
count = 2
count = 0
image = var.droplet_os
name = "app-push${count.index + 1}"
region = var.droplet_region
@ -157,7 +157,7 @@ resource "digitalocean_droplet" "app-push" {
}
resource "digitalocean_droplet" "app-refresh" {
count = 8
count = 0
image = var.droplet_os
name = "app-refresh${count.index + 1}"
region = var.droplet_region
@ -228,7 +228,7 @@ resource "digitalocean_droplet" "discovery" {
}
resource "digitalocean_droplet" "node-text" {
count = 4
count = 0
image = var.droplet_os
name = contains([0], count.index) ? "node-text" : "node-text${count.index + 1}"
region = var.droplet_region
@ -246,7 +246,7 @@ resource "digitalocean_droplet" "node-text" {
}
resource "digitalocean_droplet" "node-socket" {
count = 2
count = 0
image = var.droplet_os
name = "node-socket${count.index + 1}"
region = var.droplet_region
@ -264,7 +264,7 @@ resource "digitalocean_droplet" "node-socket" {
}
resource "digitalocean_droplet" "node-favicons" {
count = 2
count = 0
image = var.droplet_os
name = "node-favicons${count.index + 1}"
region = var.droplet_region
@ -282,7 +282,7 @@ resource "digitalocean_droplet" "node-favicons" {
}
resource "digitalocean_droplet" "node-images" {
count = 2
count = 0
image = var.droplet_os
name = "node-images${count.index + 1}"
region = var.droplet_region
@ -310,6 +310,7 @@ resource "digitalocean_volume" "node_page_volume" {
}
resource "digitalocean_droplet" "node-page" {
count = 0
image = var.droplet_os
name = "node-page"
region = var.droplet_region
@ -384,7 +385,7 @@ resource "digitalocean_droplet" "db-redis-sessions" {
resource "digitalocean_droplet" "db-redis-story" {
count = 1
image = var.droplet_os
name = "db-redis-story${count.index + 2}"
name = "db-redis-story${count.index + 1}"
region = var.droplet_region
# size = contains([1], count.index) ? "m-8vcpu-64gb" : var.redis_story_droplet_size
size = var.redis_story_droplet_size
@ -596,7 +597,7 @@ resource "digitalocean_droplet" "db-sentry" {
# apd -l "task-celery4*" --tags stop; servers=$(for i in {39..48}; do echo -n "-target=\"digitalocean_droplet.task-celery[$i]\" " ; done); tf apply -refresh=false `eval echo $servers`
resource "digitalocean_droplet" "task-celery" {
count = 79
count = 0
image = var.droplet_os
name = format("task-celery%02v", count.index + 1)
region = var.droplet_region
@ -615,7 +616,7 @@ resource "digitalocean_droplet" "task-celery" {
}
resource "digitalocean_droplet" "task-work" {
count = 3
count = 0
image = var.droplet_os
name = "task-work${count.index + 1}"
region = var.droplet_region