[Home-K8S] #22 FluxCD 계층과 분리 / 다중 클러스터 리소스 공유와 설정 분리
FluxCD - yaml 앞서 fluxcd 를 이용해서 helm chart 를 구성했습니다. 그 외에 일반적인 yaml
IT는 최신 트랜드를 계속 찾고 알아야 한다고 하지만, 매번 찾아보고 하기 귀찮죠.
정리해주는 사이트가 있다고 해도 들어가서 보는 것도 힘들고, 기사들 다 읽어보는 것도 힘들죠.
그래서 누군가 최신 기사들을 정리해주고 필요한 것만 추려서 알림을 주면 좋겠다고 생각했죠. 이제 LLM이 기사들을 추리고 요약해주는 방법까지 할 수 있습니다.
RSS를 기본적으로 제공해주는 사이트는 쉽게 사용할 수 있습니다.
Geeknews나 line의 techblog 등 RSS를 제공해주는 곳은 RSS Node를 이용해서 정보를 가져와서 배열에서 제목, 기사링크, 올린 날짜만 가져옵니다.

하지만 RSS를 제공하지 않는 곳이 많아요. Google도 그렇고 요즘에는 제공하지 않는 추세에요. 그래서 사이트를 직접 확인하고 최신 글을 확인하고, 직접 데이터를 가져오는 것이죠.


JSON 형식으로 받은 출력값을 정리해서 Slack에 보냅니다.

나중에 AI와 대화에서 사용하기 위해 채팅 값을 저장합니다.


JSON 형식으로 출력하라고는 했지만, 항상 같은 형식으로 출력하지는 않습니다.
```{}``` 형식으로 출력하기도 하고, 그 외에 ", ' 같은 따옴표나 그 외의 기호들 때문에 많은 골치가 있었습니다. 그래서 Code에서 JS 로 최대한 해보지만, 원하는 값이 나올 때까지 AI를 다시 돌리는 것이 낫습니다.
let input = $input.first().json.choices[0].message.content;
if (input.startsWith('```')){
input = input.slice(7).trim();
}
if (input.endsWith('```')) {
input = input.slice(0, -3).trim();
}
let articlesArr;
try {
const parsed = JSON.parse(input);
// articles 배열이 있으면 추출
if (Array.isArray(parsed)) {
articlesArr = parsed;
} else if (Array.isArray(parsed.articles)) {
articlesArr = parsed.articles;
} else {
throw new Error('No articles array found');
}
} catch (e) {
// NDJSON 등 기타 포맷 처리 (필요시)
articlesArr = input
.split('\n')
.filter(line => line.trim().startsWith('{'))
.map(line => JSON.parse(line));
}
// 이제 articlesArr는 [{article:"", link:""}, ...] 배열
return articlesArr.map(article => ({ json: article }));
Comments