Skip to content

Commit

Permalink
Merge pull request #483 from GunGonGamLee/453-feat-실제-평가-환경과-동일하게-모든-…
Browse files Browse the repository at this point in the history
…환경-세팅-테스트

feat: 실제 평가 환경과 동일하게 모든 환경 세팅 테스트
  • Loading branch information
sejoonkimmm authored Mar 12, 2024
2 parents 37b9a4b + c4fa477 commit 15d2168
Show file tree
Hide file tree
Showing 9 changed files with 137 additions and 186 deletions.
1 change: 1 addition & 0 deletions backend/games/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -335,6 +335,7 @@ def __init__(self, ping_pong_map: PingPongMap, player1: User, player2: User):
self.ping_pong_map = ping_pong_map
self.ball = Ball(ping_pong_map.width / 2, ping_pong_map.height / 2)
self.finished = False
self.started_at = None

def update_score(self, whether_score_a_goal: list):
"""
Expand Down
52 changes: 15 additions & 37 deletions backend/src/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,24 +88,6 @@ def wait_for_vault_client(client, retries=5, delay=5):
BASE_URL = config('BASE_URL')
SECRET_KEY = LOG_KEY

# LOGGING = {
# 'version': 1,
# 'disable_existing_loggers': False,
# 'handlers': {
# 'console': {
# 'class': 'logging.StreamHandler',
# },
# },
# 'loggers': {
# '': { # 'root' logger
# 'handlers': ['console'],
# 'level': 'INFO',
# },
# },
# }

# logging settings

LOGGING = {
'version': 1,
'disable_existing_loggers': False,
Expand All @@ -121,37 +103,33 @@ def wait_for_vault_client(client, retries=5, delay=5):
'class': 'logging.StreamHandler',
'formatter': 'simple',
},
# 'file': {
# 'level': 'INFO',
# 'class': 'logging.FileHandler',
# 'filename': '/var/log/djangolog/django.log',
# },
'file': {
'level': 'INFO',
'class': 'logging.FileHandler',
'filename': '/var/log/djangolog/django.log',
},
},
'loggers': {
'': {
# 'handlers': ['console', 'file'],
'handlers': ['console'],
'handlers': ['console', 'file'],
'level': 'INFO',
'propagate': True,
},
'django': {
# 'handlers': ['console', 'file'],
'handlers': ['console'],
'handlers': ['console', 'file'],
'level': 'INFO',
'propagate': True,
},
'django.request': {
# 'django.request': {
# 'handlers': ['console', 'file'],
'handlers': ['console'],
'level': 'WARN',
'propagate': False,
},
'django.security': {
# 'level': 'WARN',
# 'propagate': False,
# },
# 'django.security': {
# 'handlers': ['console', 'file'],
'handlers': ['console'],
'level': 'WARN',
'propagate': False,
}
# 'level': 'WARN',
# 'propagate': False,
# }
}
}

Expand Down
224 changes: 100 additions & 124 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,33 +34,9 @@ services:
- static-volume:/backend/static
- "${CERTS_PATH}:/backend/certs"
- "${DJANGO_LOGS}:/var/log/djangolog"
env_file:
- .env
environment:
# DB
DB_HOST: ${DB_HOST}
DB_PORT: ${DB_PORT}
DB_USER: ${DB_USER}
DB_DATABASE: ${DB_DATABASE}
DB_PASSWORD: ${DB_PASSWORD}
# LOGSTASH
LOG_KEY: ${LOG_KEY}
# Hashicorp vault
VAULT_URL: "https://hashicorp_vault:8200"
VAULT_TOKEN: ${VAULT_TOKEN}
# SMTP EMAIL
EMAIL_HOST_USER: ${EMAIL_HOST_USER}
EMAIL_HOST_PASSWORD: ${EMAIL_HOST_PASSWORD}
# Google, 42 Oauth
GOOGLE_AUTHORIZE_API: ${GOOGLE_AUTHORIZE_API}
GOOGLE_CLIENT_ID: ${GOOGLE_CLIENT_ID}
GOOGLE_CLIENT_SECRET: ${GOOGLE_CLIENT_SECRET}
STATE: ${STATE}
INTRA42_AUTHORIZE_API: ${INTRA42_AUTHORIZE_API}
INTRA42_TOKEN_API: ${INTRA42_TOKEN_API}
INTRA42_CLIENT_ID: ${INTRA42_CLIENT_ID}
INTRA42_CLIENT_SECRET: ${INTRA42_CLIENT_SECRET}
INTRA42_USERINFO_API: ${INTRA42_USERINFO_API}
BASE_URL: ${BASE_URL}

depends_on:
Expand All @@ -85,113 +61,113 @@ services:
networks:
- app_network

# elasticsearch:
# build:
# context: ./elk/elasticsearch
# dockerfile: Dockerfile
# volumes:
# - "${ELASTIC_DATA}:/usr/share/elasticsearch/data"
# - "${ELASTIC_CERTS}:/usr/share/elasticsearch/config/certs"
# environment:
# discovery.type : single-node
# ELASTIC_PW : ${ELASTIC_PW}
# ES_JAVA_OPTS: "-Xms2g -Xmx2g"
# ES_CERTS_PW: ${ES_CERTS_PW}
# ports:
# - 9200:9200
# - 9300:9300
# networks:
# - app_network
elasticsearch:
build:
context: ./elk/elasticsearch
dockerfile: Dockerfile
volumes:
- "${ELASTIC_DATA}:/usr/share/elasticsearch/data"
- "${ELASTIC_CERTS}:/usr/share/elasticsearch/config/certs"
environment:
discovery.type : single-node
ELASTIC_PW : ${ELASTIC_PW}
ES_JAVA_OPTS: "-Xms2g -Xmx2g"
ES_CERTS_PW: ${ES_CERTS_PW}
ports:
- 9200:9200
- 9300:9300
networks:
- app_network

# elasticsearch-setup-passwords interactive --url "https://localhost:9200" -E xpack.security.http.ssl.verification_mode=none

# logstash:
# build: ./elk/logstash
# container_name: logstash_container
# environment:
# LS_JAVA_OPTS: "-Xms2g -Xmx2g"
# ELASTIC_PW: ${ELASTIC_PW}
# ES_CERTS_PW: ${ES_CERTS_PW}
# volumes:
# - "${ELASTIC_CERTS}:/usr/share/logstash/config/certs"
# - "${NGINX_LOGS}:/usr/share/logstash/log/nginx_logs"
# - "${DJANGO_LOGS}:/usr/share/logstash/log/django_logs"
# ports:
# - 5333:5333
# depends_on:
# - elasticsearch
# networks:
# - app_network
logstash:
build: ./elk/logstash
container_name: logstash_container
environment:
LS_JAVA_OPTS: "-Xms2g -Xmx2g"
ELASTIC_PW: ${ELASTIC_PW}
ES_CERTS_PW: ${ES_CERTS_PW}
volumes:
- "${ELASTIC_CERTS}:/usr/share/logstash/config/certs"
- "${NGINX_LOGS}:/usr/share/logstash/log/nginx_logs"
- "${DJANGO_LOGS}:/usr/share/logstash/log/django_logs"
ports:
- 5333:5333
depends_on:
- elasticsearch
networks:
- app_network

# kibana:
# build: ./elk/kibana
# container_name: kibana_container
# volumes:
# - "${KIBANA_DATA}:/usr/share/kibana/data"
# - "${ELASTIC_CERTS}:/usr/share/kibana/config/certs"
# environment:
# ELASTICSEARCH_URL: https://elasticsearch:9200
# ELASTIC_PW: ${ELASTIC_PW}
# ES_CERTS_PW: ${ES_CERTS_PW}
# ports:
# - 5601:5601
# depends_on:
# - elasticsearch
# networks:
# - app_network
kibana:
build: ./elk/kibana
container_name: kibana_container
volumes:
- "${KIBANA_DATA}:/usr/share/kibana/data"
- "${ELASTIC_CERTS}:/usr/share/kibana/config/certs"
environment:
ELASTICSEARCH_URL: https://elasticsearch:9200
ELASTIC_PW: ${ELASTIC_PW}
ES_CERTS_PW: ${ES_CERTS_PW}
ports:
- 5601:5601
depends_on:
- elasticsearch
networks:
- app_network

# node_exporter:
# image: prom/node-exporter
# container_name: node_exporter_container
# ports:
# - 9100:9100
# volumes:
# - "/proc:/host/proc"
# - "/sys:/host/sys"
# - "/:/rootfs"
# - "/etc:/host/etc:ro"
# - "${CERTS_PATH}:/etc/ssl/certs"
# - "${PROMETHEUS_CONFIG}:/etc/node_exporter"
# command:
# - '--path.procfs=/host/proc'
# - '--path.sysfs=/host/sys'
# - '--path.rootfs=/rootfs'
# - '--collector.filesystem.ignored-mount-points=^/(sys|proc|dev|host|etc)($$|/)'
# - '--web.config.file=/etc/node_exporter/web.yml'
# networks:
# - app_network
node_exporter:
image: prom/node-exporter
container_name: node_exporter_container
ports:
- 9100:9100
volumes:
- "/proc:/host/proc"
- "/sys:/host/sys"
- "/:/rootfs"
- "/etc:/host/etc:ro"
- "${CERTS_PATH}:/etc/ssl/certs"
- "${PROMETHEUS_CONFIG}:/etc/node_exporter"
command:
- '--path.procfs=/host/proc'
- '--path.sysfs=/host/sys'
- '--path.rootfs=/rootfs'
- '--collector.filesystem.ignored-mount-points=^/(sys|proc|dev|host|etc)($$|/)'
- '--web.config.file=/etc/node_exporter/web.yml'
networks:
- app_network

# prometheus:
# build:
# context: ./prometheus
# dockerfile: Dockerfile
# container_name: prometheus_container
# env_file:
# - .env
# volumes:
# - "${PROMETHEUS_DATA}:/prometheus/data"
# - "${PROMETHEUS_CONFIG}:/prometheus/config"
# - "${CERTS_PATH}:/etc/ssl/certs"
# ports:
# - 9090:9090
# networks:
# - app_network
prometheus:
build:
context: ./prometheus
dockerfile: Dockerfile
container_name: prometheus_container
env_file:
- .env
volumes:
- "${PROMETHEUS_DATA}:/prometheus/data"
- "${PROMETHEUS_CONFIG}:/prometheus/config"
- "${CERTS_PATH}:/etc/ssl/certs"
ports:
- 9090:9090
networks:
- app_network

# grafana:
# build:
# context: ./grafana
# dockerfile: Dockerfile
# container_name: grafana_container
# env_file:
# - .env
# volumes:
# - "${GRAFANA_DATA}:/var/lib/grafana"
# - "${GRAFANA_CONFIG}:/etc/grafana/grafana.ini"
# - "${CERTS_PATH}:/etc/ssl/certs"
# ports:
# - 3000:3000
# networks:
# - app_network
grafana:
build:
context: ./grafana
dockerfile: Dockerfile
container_name: grafana_container
env_file:
- .env
volumes:
- "${GRAFANA_DATA}:/var/lib/grafana"
- "${GRAFANA_CONFIG}:/etc/grafana/grafana.ini"
- "${CERTS_PATH}:/etc/ssl/certs"
ports:
- 3000:3000
networks:
- app_network

volumes:
static-volume:
Expand Down
2 changes: 1 addition & 1 deletion elk/logstash/conf/logstash.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ pipeline.workers : 2 # 한 번에 실행할 스레드 수
pipeline.batch.size: 125 # 한 번에 처리할 이벤트 수
pipeline.batch.delay: 50 # 미처리된 이벤트 처리 전 대기 시간 50밀리초

log.level: warn
log.level: error

pipeline.ecs_compatibility: v1

Expand Down
3 changes: 3 additions & 0 deletions elk/logstash/pipeline/logstash.conf
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@ filter {
"요청을 처리하는데 걸린 시간" => "float"
}
}
if [요청을 처리하는데 걸린 시간] == 0 {
drop { }
}
}
}

Expand Down
4 changes: 2 additions & 2 deletions frontend/src/global.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const devBackend = "http://localhost:8000/api";
const devWebSocket = "ws://localhost:8000/ws";
const prodBackend = "https://localhost:443/api";
const prodWebSocket = "wss://localhost:443/ws";
const prodBackend = "https://10.14.10.2:443/api";
const prodWebSocket = "wss://10.14.10.2:443/ws";

const getAPIUrl = () => {
return window.mode === "dev" ? devBackend : prodBackend;
Expand Down
2 changes: 1 addition & 1 deletion init.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ export DJANGO_SETTINGS_MODULE=src.settings

python manage.py collectstatic --noinput

daphne -b 0.0.0.0 -e ssl:8443:privateKey=/backend/certs/server.key:certKey=/backend/certs/server.crt src.asgi:application
daphne -p 6 -b 0.0.0.0 -e ssl:8443:privateKey=/backend/certs/server.key:certKey=/backend/certs/server.crt src.asgi:application
Loading

0 comments on commit 15d2168

Please sign in to comment.