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 - name: restart redis user
become: yes become: yes
command: docker restart redis_user command: docker restart redis-user
listen: restart redis_user listen: restart redis_user
- name: restart redis story - name: restart redis story
become: yes become: yes
command: docker restart redis_story command: docker restart redis-story
listen: restart redis_story listen: restart redis_story
- name: restart redis session - name: restart redis session
become: yes become: yes
command: docker restart redis_session command: docker restart redis-session
listen: restart redis_session listen: restart redis_session
- name: restart redis pubsub - name: restart redis pubsub
become: yes become: yes
command: docker restart redis_pubsub command: docker restart redis-pubsub
listen: restart redis_pubsub listen: restart redis_pubsub

View file

@ -1,73 +1,114 @@
import base64
import concurrent
import datetime import datetime
import random
import re
import socket
import ssl
import time import time
import urllib.error
import urllib.parse
import urllib.request
import zlib
import redis import redis
import requests import requests
import random from django.conf import settings
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.contrib.auth import login as login_user from django.contrib.auth import login as login_user
from django.contrib.auth import logout as logout_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.contrib.auth.models import User
from django.http import HttpResponse, HttpResponseRedirect, HttpResponseForbidden, Http404, UnreadablePostError from django.contrib.sites.models import Site
from django.conf import settings
from django.core.mail import EmailMultiAlternatives from django.core.mail import EmailMultiAlternatives
from django.core.validators import validate_email 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 import feedgenerator
from django.utils.encoding import smart_str from django.utils.encoding import smart_str
from mongoengine.queryset import OperationError from django.views.decorators.cache import never_cache
from mongoengine.queryset import NotUniqueError from mongoengine.queryset import NotUniqueError, OperationError
from apps.recommendations.models import RecommendedFeed
from apps.analyzer.models import MClassifierTitle, MClassifierAuthor, MClassifierFeed, MClassifierTag from apps.analyzer.models import (
from apps.analyzer.models import apply_classifier_titles, apply_classifier_feeds MClassifierAuthor,
from apps.analyzer.models import apply_classifier_authors, apply_classifier_tags MClassifierFeed,
from apps.analyzer.models import get_classifiers_for_user, sort_classifiers_by_feed MClassifierTag,
from apps.profile.models import Profile, MCustomStyling, MDashboardRiver MClassifierTitle,
from apps.reader.models import UserSubscription, UserSubscriptionFolders, RUserStory, RUserUnreadStory, Feature apply_classifier_authors,
from apps.reader.forms import SignupForm, LoginForm, FeatureForm apply_classifier_feeds,
from apps.rss_feeds.models import MFeedIcon, MStarredStoryCounts, MSavedSearch apply_classifier_tags,
apply_classifier_titles,
get_classifiers_for_user,
sort_classifiers_by_feed,
)
from apps.notifications.models import MUserFeedNotification 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.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.statistics.rstats import RStats
# from apps.search.models import SearchStarredStory # from apps.search.models import SearchStarredStory
try: try:
from apps.rss_feeds.models import Feed, MFeedPage, DuplicateFeed, MStory, MStarredStory from apps.rss_feeds.models import (
DuplicateFeed,
Feed,
MFeedPage,
MStarredStory,
MStory,
)
except: except:
pass 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 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 = [ BANNED_URLS = [
"brentozar.com", "brentozar.com",
] ]
@ -75,6 +116,7 @@ ALLOWED_SUBDOMAINS = [
'dev', 'dev',
'www', 'www',
'hwww', 'hwww',
'dwww',
# 'beta', # Comment to redirect beta -> www, uncomment to allow beta -> staging (+ dns changes) # 'beta', # Comment to redirect beta -> www, uncomment to allow beta -> staging (+ dns changes)
'staging', 'staging',
'hstaging', '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" { resource "digitalocean_droplet" "app-django" {
count = 9 count = 0
image = var.droplet_os image = var.droplet_os
name = "app-django${count.index + 1}" name = "app-django${count.index + 1}"
region = var.droplet_region region = var.droplet_region
@ -121,7 +121,7 @@ resource "digitalocean_droplet" "app-django" {
} }
resource "digitalocean_droplet" "app-counts" { resource "digitalocean_droplet" "app-counts" {
count = 2 count = 0
image = var.droplet_os image = var.droplet_os
name = "app-counts${count.index + 1}" name = "app-counts${count.index + 1}"
region = var.droplet_region region = var.droplet_region
@ -139,7 +139,7 @@ resource "digitalocean_droplet" "app-counts" {
} }
resource "digitalocean_droplet" "app-push" { resource "digitalocean_droplet" "app-push" {
count = 2 count = 0
image = var.droplet_os image = var.droplet_os
name = "app-push${count.index + 1}" name = "app-push${count.index + 1}"
region = var.droplet_region region = var.droplet_region
@ -157,7 +157,7 @@ resource "digitalocean_droplet" "app-push" {
} }
resource "digitalocean_droplet" "app-refresh" { resource "digitalocean_droplet" "app-refresh" {
count = 8 count = 0
image = var.droplet_os image = var.droplet_os
name = "app-refresh${count.index + 1}" name = "app-refresh${count.index + 1}"
region = var.droplet_region region = var.droplet_region
@ -228,7 +228,7 @@ resource "digitalocean_droplet" "discovery" {
} }
resource "digitalocean_droplet" "node-text" { resource "digitalocean_droplet" "node-text" {
count = 4 count = 0
image = var.droplet_os image = var.droplet_os
name = contains([0], count.index) ? "node-text" : "node-text${count.index + 1}" name = contains([0], count.index) ? "node-text" : "node-text${count.index + 1}"
region = var.droplet_region region = var.droplet_region
@ -246,7 +246,7 @@ resource "digitalocean_droplet" "node-text" {
} }
resource "digitalocean_droplet" "node-socket" { resource "digitalocean_droplet" "node-socket" {
count = 2 count = 0
image = var.droplet_os image = var.droplet_os
name = "node-socket${count.index + 1}" name = "node-socket${count.index + 1}"
region = var.droplet_region region = var.droplet_region
@ -264,7 +264,7 @@ resource "digitalocean_droplet" "node-socket" {
} }
resource "digitalocean_droplet" "node-favicons" { resource "digitalocean_droplet" "node-favicons" {
count = 2 count = 0
image = var.droplet_os image = var.droplet_os
name = "node-favicons${count.index + 1}" name = "node-favicons${count.index + 1}"
region = var.droplet_region region = var.droplet_region
@ -282,7 +282,7 @@ resource "digitalocean_droplet" "node-favicons" {
} }
resource "digitalocean_droplet" "node-images" { resource "digitalocean_droplet" "node-images" {
count = 2 count = 0
image = var.droplet_os image = var.droplet_os
name = "node-images${count.index + 1}" name = "node-images${count.index + 1}"
region = var.droplet_region region = var.droplet_region
@ -310,6 +310,7 @@ resource "digitalocean_volume" "node_page_volume" {
} }
resource "digitalocean_droplet" "node-page" { resource "digitalocean_droplet" "node-page" {
count = 0
image = var.droplet_os image = var.droplet_os
name = "node-page" name = "node-page"
region = var.droplet_region region = var.droplet_region
@ -384,7 +385,7 @@ resource "digitalocean_droplet" "db-redis-sessions" {
resource "digitalocean_droplet" "db-redis-story" { resource "digitalocean_droplet" "db-redis-story" {
count = 1 count = 1
image = var.droplet_os image = var.droplet_os
name = "db-redis-story${count.index + 2}" name = "db-redis-story${count.index + 1}"
region = var.droplet_region region = var.droplet_region
# size = contains([1], count.index) ? "m-8vcpu-64gb" : var.redis_story_droplet_size # size = contains([1], count.index) ? "m-8vcpu-64gb" : var.redis_story_droplet_size
size = 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` # 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" { resource "digitalocean_droplet" "task-celery" {
count = 79 count = 0
image = var.droplet_os image = var.droplet_os
name = format("task-celery%02v", count.index + 1) name = format("task-celery%02v", count.index + 1)
region = var.droplet_region region = var.droplet_region
@ -615,7 +616,7 @@ resource "digitalocean_droplet" "task-celery" {
} }
resource "digitalocean_droplet" "task-work" { resource "digitalocean_droplet" "task-work" {
count = 3 count = 0
image = var.droplet_os image = var.droplet_os
name = "task-work${count.index + 1}" name = "task-work${count.index + 1}"
region = var.droplet_region region = var.droplet_region