From 6b71884047f9f1ea1ba3ef1bbd70f5447431d9b2 Mon Sep 17 00:00:00 2001
From: icurfer <icurfer@gmail.com>
Date: Fri, 4 Oct 2024 01:04:32 +0900
Subject: [PATCH] =?UTF-8?q?1=EC=B0=A8=20=EC=99=84=EB=A3=8C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 README.md              | 21 +++++++++++----
 k8s-manifests/env.yaml | 16 +++++++++++
 k8s-manifests/pod.yaml | 61 ++++++++++++++++++++++++++++++++++++++++++
 main.py                | 11 +++++---
 4 files changed, 101 insertions(+), 8 deletions(-)
 create mode 100644 k8s-manifests/env.yaml
 create mode 100644 k8s-manifests/pod.yaml

diff --git a/README.md b/README.md
index b826c27..db0d672 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,8 @@
 # wp-post-automation
-워드프레스 포스팅 자동화 프로젝트.
-make.com을 이용해서 만든 AutoMation Flow를 Python을 이용하여 변환.
+2024.10.04 - 테스트 완료. 프로젝트 1차 종료.
+* 워드프레스 포스팅 자동화 프로젝트.
+* make.com을 이용해서 만든 AutoMation Flow를 Python을 이용하여 변환.
+
 ## 기존 Flow
 * MariaDB에 저장된 최신 참고 url정보를 얻어온다.
 * HTTP모듈을 이용하여 참고 자료를 가져온다.
@@ -22,11 +24,20 @@ make.com을 이용해서 만든 AutoMation Flow를 Python을 이용하여 변환
 * url을 이용해서 파싱하고 텍스트만 추출하는 기능 구현(완료).
 * OpenAI이용 코드 작성(완료)-비용 절감을 위하여 제목, 이미지 생성 제외.
 * HTML문서 변환 코드 작성(완료).
-* 워드프레스 등록 플로우 코드 작성(기능 테스트 완료 - 연결 필요).
+* 워드프레스 등록 플로우 코드 작성(완료).
 
 ### 코드 리팩토링.
-* 전체 리팩토링.
-* 모듈화, 패키지화.
+* 전체 리팩토링(완료).
+* 모듈화, 패키지화(완료).
+
+## Docker Image Build
+2024.10.04 업데이트
+* Dockerfile 추가(완료).
+
+## Kubernetes manifests
+2024.10.04 업데이트
+* 샘플 템플릿 작성(완료)
+* 쿠버네티스 환경 테스트(완료).
 
 ## 코드 이슈
 ### 네이버 블로그 크롤링
diff --git a/k8s-manifests/env.yaml b/k8s-manifests/env.yaml
new file mode 100644
index 0000000..3562cf8
--- /dev/null
+++ b/k8s-manifests/env.yaml
@@ -0,0 +1,16 @@
+apiVersion: v1
+kind: Secret
+metadata:
+  name: wp-secret
+  namespace: default
+type: Opaque
+data:
+  DB_HOST: 
+  DB_USER: 
+  DB_PASSWORD: 
+  DB_NAME: 
+  OPENAI_API_KEY: 
+  WP_URL: 
+  WP_USER: 
+  WP_API_KEY: 
+  WP_POST_STYLE: ""
\ No newline at end of file
diff --git a/k8s-manifests/pod.yaml b/k8s-manifests/pod.yaml
new file mode 100644
index 0000000..3347955
--- /dev/null
+++ b/k8s-manifests/pod.yaml
@@ -0,0 +1,61 @@
+apiVersion: v1
+kind: Pod
+metadata:
+  name: wp-auto-pod
+  namespace: default
+  annotations:
+    sidecar.istio.io/inject: "false"
+spec:
+  containers:
+  - name: wp-auto-container
+    image: harbor.icurfer.com/py_prj/wp-auto:0.0.1
+    imagePullPolicy: IfNotPresent
+    env:
+    - name: DB_HOST
+      valueFrom:
+        secretKeyRef:
+          name: wp-secret
+          key: DB_HOST
+    - name: DB_USER
+      valueFrom:
+        secretKeyRef:
+          name: wp-secret
+          key: DB_USER
+    - name: DB_PASSWORD
+      valueFrom:
+        secretKeyRef:
+          name: wp-secret
+          key: DB_PASSWORD
+    - name: DB_NAME
+      valueFrom:
+        secretKeyRef:
+          name: wp-secret
+          key: DB_NAME
+    - name: OPENAI_API_KEY
+      valueFrom:
+        secretKeyRef:
+          name: wp-secret
+          key: OPENAI_API_KEY
+    - name: WP_URL
+      valueFrom:
+        secretKeyRef:
+          name: wp-secret
+          key: WP_URL
+    - name: WP_USER
+      valueFrom:
+        secretKeyRef:
+          name: wp-secret
+          key: WP_USER
+    - name: WP_API_KEY
+      valueFrom:
+        secretKeyRef:
+          name: wp-secret
+          key: WP_API_KEY
+    - name: WP_POST_STYLE
+      valueFrom:
+        secretKeyRef:
+          name: wp-secret
+          key: WP_POST_STYLE
+  restartPolicy: Never
+  imagePullSecrets:
+  - name: harbor-icurfer-private
\ No newline at end of file
diff --git a/main.py b/main.py
index e1c3063..2bc0119 100644
--- a/main.py
+++ b/main.py
@@ -3,28 +3,33 @@ from package import GetConfig, MariaDB, ChangeTextToPost, WordPress
 import markdown
 
 # 2024-10-03 환경 변수 호출
-print('### Get values from .env')
+print('### Get values From .env')
 config = GetConfig()
 dict_data = config.get_config_as_dict()
 
 # 2024-10-03 db에서 url정보 호출
+print('### Get URL From DB')
 db = MariaDB(dict_data)
 url = db.fetch_data_from_mariadb()['url']
 
 # 2024-10-03 url을 이용해서 text추출
+print('### Get content From URL')
 origin_content = pkg.getContents(url)
 
 # 2024-10-03 openAI를 이용하여 게시글 스타일 변경
+print('### Convert to Post - openAI')
 openai_key = dict_data['openai_api_key']
 wp_reference_style = dict_data['wp_post_style']
 
 open_ai = ChangeTextToPost(openai_key)
 post_article = open_ai.generate_blog_post(origin_content, wp_reference_style)
 
+print('### Convert to HTML - markdown to html')
 # 2024-10-03 Markdown을 HTML로 변환
 html = markdown.markdown(post_article)
 
 # 2024-10-03 워드프레스 포스팅 임시등록
+print('### Create post')
 wp = WordPress(dict_data)
 rs = wp.create_post(2,html)
 
@@ -32,7 +37,7 @@ if __name__ == "__main__":
     # print(post_article)
     print("추가 확인을 위한 출력")
     if rs.ok:
-        print(f"성공 code:{rs.status_code}")    
+        print(f"### 성공 code:{rs.status_code}")    
     else:
-        print(f"실패 code:{rs.status_code} reason:{rs.reason} msg:{rs.text}")
+        print(f"### 실패 code:{rs.status_code} reason:{rs.reason} msg:{rs.text}")