diff --git a/backend/src/main/java/com/ai/lawyer/global/initData/InitData.java b/backend/src/main/java/com/ai/lawyer/global/initData/InitData.java index fade1a07..f350a818 100644 --- a/backend/src/main/java/com/ai/lawyer/global/initData/InitData.java +++ b/backend/src/main/java/com/ai/lawyer/global/initData/InitData.java @@ -34,30 +34,33 @@ public InitData(MemberRepository memberRepository, @Transactional public void run(String... args) throws Exception { //관리자 로그인 아이디 - String targetLoginId = "admin@example.com"; - log.info("InitData: checking password encoding for [{}]", targetLoginId); + List targetLoginIds = List.of("admin@example.com", "admin@test.com"); - Optional opt = memberRepository.findByLoginId(targetLoginId); - if (opt.isEmpty()) { - log.info("InitData: target account not found [{}]. 아무 작업도 수행하지 않습니다.", targetLoginId); - return; - } + for (String loginId : targetLoginIds) { + log.info("InitData: checking password encoding for [{}]", loginId); - Member member = opt.get(); - String stored = member.getPassword(); + Optional opt = memberRepository.findByLoginId(loginId); + if (opt.isEmpty()) { + log.info("InitData: target account not found [{}]. 아무 작업도 수행하지 않습니다.", loginId); + return; + } - if (isBcryptHash(stored)) { - log.info("InitData: {} 계정의 비밀번호는 이미 bcrypt 해시입니다. 변경 없음.", targetLoginId); - return; - } + Member member = opt.get(); + String stored = member.getPassword(); - // 여기서 stored는 평문으로 추정됨 -> 절대 로그에 찍지 않음 - String encoded = passwordEncoder.encode(stored); + if (isBcryptHash(stored)) { + log.info("InitData: {} 계정의 비밀번호는 이미 bcrypt 해시입니다. 변경 없음.", loginId); + return; + } - member.updatePassword(encoded); - memberRepository.save(member); + // 여기서 stored는 평문으로 추정됨 -> 절대 로그에 찍지 않음 + String encoded = passwordEncoder.encode(stored); - log.info("InitData: {} 계정의 비밀번호를 안전하게 암호화하여 저장했습니다.", targetLoginId); + member.updatePassword(encoded); + memberRepository.save(member); + + log.info("InitData: {} 계정의 비밀번호를 안전하게 암호화하여 저장했습니다.", loginId); + } } private boolean isBcryptHash(String s) { diff --git a/infra/main.tf b/infra/main.tf index c7dfdfb9..e8171ce0 100644 --- a/infra/main.tf +++ b/infra/main.tf @@ -418,6 +418,25 @@ docker run -d \ -c 'ollama serve & sleep 5 && ollama pull daynice/kure-v1:567m && wait' echo "${var.github_access_token_1}" | docker login ghcr.io -u ${var.github_access_token_1_owner} --password-stdin +# zookeeper +docker run -d \ + --name kafka \ + --network common \ + -p 9092:9092 \ + -e KAFKA_BROKER_ID=1 \ + -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \ + -e KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT \ + -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092 \ + -e KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 \ + confluentinc/cp-kafka:7.6.0 + +# kafka 설치 +docker run -d \ + --name zookeeper \ + --network common \ + -p 2181:2181 \ + -e ALLOW_ANONYMOUS_LOGIN=yes \ + bitnami/zookeeper:latest END_OF_FILE }