2023
๐ŸŽข ํ™œ๋™
reports
[KOR]Final Report

TL;TR

๊ธฐ์—ฌ ๋‚ด์šฉ ์ „์ฒด ๋ณด๋Ÿฌ๊ฐ€๊ธฐ

โ˜‘๏ธ ํŒ€ ์†Œ๊ฐœ

ArgoWorkflows OSS 2023ํŒ€์€ 1๋ช…์˜ ๋ฉ˜ํ† ์™€, 17๋ช…์˜ ๋ฉ˜ํ‹ฐ์˜ ๊ตฌ์„ฑ์œผ๋กœ ์ด 18๋ช…์ด ํ•œ ํŒ€์œผ๋กœ ํ™œ๋™ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์˜คํ”ˆ์†Œ์Šค์— ๋Œ€ํ•œ ์ง„์ž…์žฅ๋ฒฝ์„ ๋Š๋ผ๋Š” ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž๋“ค๊ณผ ์„ ๋ฐฐ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•จ๊ป˜ ํž˜์„ ๋ชจ์•„ ์ปจํŠธ๋ฆฌ๋ทฐ์…˜์„ ํ•˜๋Š” ๋ฉ‹์ง„ ํ–‰์‚ฌ์ธ ์˜คํ”ˆ์†Œ์Šค ์ปจํŠธ๋ฆฌ๋ทฐ์…˜ ์•„์นด๋ฐ๋ฏธ (opens in a new tab)์˜ ๋„์›€์œผ๋กœ ํŒ€์ด ๊ตฌ์„ฑ๋˜์—ˆ์œผ๋ฉฐ, 2023๋…„ 07์›” ~ 10์›”๊นŒ์ง€ ์•ฝ 4๊ฐœ์›” ๊ฐ„ ํ™œ๋™ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

Git ์‚ฌ์šฉ๋ฒ•์ด ์ต์ˆ™ํ•˜์ง€ ์•Š์•˜๋˜ ๊ฑธ์Œ๋งˆ ๋‹จ๊ณ„๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ, ์–ด์—ฟํ•œ ์˜คํ”ˆ์†Œ์Šค ์ปจํŠธ๋ฆฌ๋ทฐํ„ฐ๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ ์ €ํฌํŒ€์ด ์ด๋ฃฌ ์„ฑ๊ณผ๋ฅผ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.

โ˜‘๏ธ ArgoWorkflows ์†Œ๊ฐœ

argoDag

Argo Workflows๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์›Œํฌํ”Œ๋กœ์šฐ ์—”์ง„์œผ๋กœ, ๋ณ‘๋ ฌ ์ž‘์—…์„ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค. ๊ฐ ์›Œํฌํ”Œ๋กœ์šฐ ๋‹จ๊ณ„๊ฐ€ ์ปจํ…Œ์ด๋„ˆ๋กœ ์ •์˜๋˜๋ฉฐ, ์—ฌ๋Ÿฌ ๋‹จ๊ณ„์˜ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์ผ๋ จ์˜ ์ž‘์—…์œผ๋กœ ๋ชจ๋ธ๋งํ•˜๊ฑฐ๋‚˜, ์ž‘์—… ๊ฐ„์˜ ์ข…์†์„ฑ์„ DAG (Directed Acyclic Graph)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฆ‰, Argo Workflows๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ„๋‹จํ•œ ์›Œํฌํ”Œ๋กœ ํ˜•ํƒœ์˜ ์ž‘์—… ๋ถ€ํ„ฐ, ๋จธ์‹ ๋Ÿฌ๋‹ ๋˜๋Š” ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ๋ณต์žกํ•œ ์ž‘์—… ๊นŒ์ง€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ ๋” ๋น ๋ฅด๊ณ  ์‰ฝ๊ฒŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

argo_0

Argo Workflows๋Š” Cloud Native Computing Foundation (CNCF)์—์„œ ์กธ์—…์— ์„ฑ๊ณตํ•œ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.

์กธ์—… ํ”„๋กœ์ ํŠธ๊ฐ€ ๋˜๊ธฐ ์œ„ํ•ด์„  ์—„๊ฒฉํ•œ ํ‘œ์ค€์„ ์ถฉ์กฑํ•˜๊ธฐ ์œ„ํ•ด CNCF๊ฐ€ ์‹ค์‹œํ•˜๋Š” ๋ชจ๋“  ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์กธ์—… ํ”„๋กœ์ ํŠธ๋กœ ์ธ์ • ๋ฐ›์•˜๋‹ค๋Š” ๊ฒƒ์€ Argo๊ฐ€ ๋ช…ํ™•ํ•œ ๊ฑฐ๋ฒ„๋„Œ์Šค ๋ฐ ์ปค๋ฏธํ„ฐ ํ”„๋กœ์„ธ์Šค, ๊ฑด์ „ํ•œ ์„ฑ์žฅ, ๋ณด์•ˆ ๋ฐ ์ปดํ”Œ๋ผ์ด์–ธ์Šค ์ค€์ˆ˜์— ๋Œ€ํ•œ ์ตœ๊ณ  ์ˆ˜์ค€์„ ์ถฉ์กฑํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์—„๊ฒฉํ•œ ๊ธฐ์ค€์œผ๋กœ ์ธํ•ด CNCF์— ๋“ฑ๋ก๋œ ํ”„๋กœ์ ํŠธ ์ค‘ ์กธ์—…์— ์„ฑ๊ณตํ•œ ํ”„๋กœ์ ํŠธ๋Š” ์•ฝ 13%์— ๋ถˆ๊ณผํ•ฉ๋‹ˆ๋‹ค.

์‹ค์ œ๋กœ Argo ํ”„๋กœ์ ํŠธ๊ฐ€ ์กธ์—… ํ”„๋กœ์ ํŠธ๋กœ ์ธ์ • ๋ฐ›๊ธฐ๊นŒ์ง€ ์•ฝ 5๋…„์ด๋ผ๋Š” ๊ธฐ๊ฐ„๋™์•ˆ 7000๋ช…์ด ๋„˜๋Š” ์ปจํŠธ๋ฆฌ๋ทฐํ„ฐ์™€ 11000๊ฐœ๊ฐ€ ๋„˜๋Š” PR, 37๋งŒ์ด ๋„˜๋Š” ์ปจํŠธ๋ฆฌ๋ทฐ์…˜์ด ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, Argo ํ”„๋กœ์ ํŠธ๋Š” ํ˜„์žฌ์—๋„ 2300์—ฌ๊ฐœ์˜ ํšŒ์‚ฌ๋“ค์ด ์ฝ”๋“œ์— ๊ธฐ์—ฌํ•˜๊ณ  ์žˆ๊ณ  8300์—ฌ๋ช…์ด ์ฝ”๋“œ์— ์ปจํŠธ๋ฆฌ๋ทฐํŠธ ํ•˜๊ณ  ์žˆ๋Š” ๋งค์šฐ ํ™œ๋ฐœํ•˜๊ณ  ์ตœ์‹ ํ™”๋œ ์˜คํ”ˆ์†Œ์Šค์ž…๋‹ˆ๋‹ค.

์ด๋กœ ์ธํ•ด Argo Workflows๋Š” ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ์›Œํฌํ”Œ๋กœ์šฐ ์—”์ง„์œผ๋กœ ์ธ์ •๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ „ ์„ธ๊ณ„์ ์œผ๋กœ ์ˆ˜ ๋งŽ์€ ๊ธฐ์—…๋“ค์ด ๊ณต์‹์ ์œผ๋กœ Argo Workflows๋ฅผ ๋„์ž…ํ•ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” Argo Workflows๊ฐ€ ํฐ ๊ทœ๋ชจ์˜ ๊ธฐ์—…์—์„œ๋„ ์‹ค์ œ ์ž‘์—… ๋ถ€ํ•˜์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฐ•๋ ฅํ•œ ์ฆ๊ฑฐ์ž…๋‹ˆ๋‹ค.

Argo Workflows๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ๊ธฐ์—…๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

companys

โ€ฆ ์™ธ 200๊ฐœ๊ฐ€ ๋„˜๋Š” ๊ธ€๋กœ๋ฒŒ ๊ธฐ์—…๋“ค

Argo Workflows์™€ ๋น„์Šทํ•œ ๋„๊ตฌ๋กœ๋Š” Apache Airflow, Tekton, Prefect ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

Argo Workflows๋Š” Kubernetes-native ์—”์ง„์œผ๋กœ, ์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์‰ฝ๊ฒŒ ์กฐ์ •ํ•˜๊ณ  ์ž์›์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋น„์Šทํ•œ ๋„๊ตฌ์ธ Apache Airflow์™€ ๋น„๊ตํ–ˆ์„ ๋•Œ ์ฃผ์š”ํ•œ ์ฐจ์ด์  ์ค‘ ํ•˜๋‚˜๋กœ, Apache Airflow๋Š” ๋…๋ฆฝ ์‹คํ–‰ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋ฉฐ, Kubernetes์˜ ๊ธฐ๋Šฅ์„ ๋ณธ์งˆ์ ์œผ๋กœ ํ™œ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Airflow๋Š” ์ž์› ๊ด€๋ฆฌ์™€ ํ™•์žฅ์„ฑ์ด Argo Workflows๋ณด๋‹ค ๋” ์–ด๋ ค์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ, Argo Workflows๋Š” ๊ฐ ์›Œํฌํ”Œ๋กœ์šฐ ๋‹จ๊ณ„๋ฅผ ๋…๋ฆฝ์ ์ธ ์ปจํ…Œ์ด๋„ˆ๋กœ ์‹คํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ CI/CD์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” Docker์™€ Kubernetes์˜ ๊ฐ•๋ ฅํ•จ์„ ํ™œ์šฉํ•˜์—ฌ ๊ฐ€๋Šฅํ•œ ๊ฒƒ์ด๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ์ œํ•œ ์—†์ด ์–ด๋–ค ๊ฒƒ์ด๋“  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โ˜‘๏ธ ์ฃผ์š” ์„ฑ๊ณผ

UI/UX ๊ฐœ์„ 

Argo Workflows ํ”„๋กœ์ ํŠธ๋Š” ๊ธฐ์—ฌ์˜ ๋ฉ”์ธ ํ‚ค์›Œ๋“œ๋ฅผ UI/UX๊ฐœ์„ ์œผ๋กœ ์ง€์ •ํ•˜๊ณ  ๋”ฐ๋กœ ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€๋ฅผ ์šด์˜ํ•˜๋ฉฐ ์ด์Šˆ๋“ค์„ ํŠธ๋ ˆํ‚น ํ•  ์ •๋„๋กœ ํ•ด๋‹น ์ฃผ์ œ์— ์ ๊ทน์ ์ธ ๊ธฐ์—ฌ๋ฅผ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

uiux_0.png

์ €ํฌ ํŒ€๋„ ์ด๋Ÿฌํ•œ ํ”„๋กœ์ ํŠธ์˜ ๋ชฉํ‘œ๋ฅผ ๋”ฐ๋ผ ๋งŽ์€ UI ๊ฐœ์„ ๋“ค์„ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์š” ๊ฐœ์„  ํ•ญ๋ชฉ

  • workflows ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ
  • cronworkflows์˜ ์š”์•ฝ view ๊ฐœ์„ 
  • DataPciker์˜ ๊ฐœ์„ 
  • workflows controlํŒจ๋„์˜ sticky ์˜ต์…˜
  • workflows ๋ชฉ๋ก์˜ label ๊ฐ•์กฐ ํšจ๊ณผ
  • ์™ธ ๋‹ค์–‘ํ•œ ๋ฒ„๊ทธ ๊ฐœ์„ 

uiux_1.png

ํ•ต์‹ฌ ๊ธฐ๋Šฅ ๊ฐœ์„ 

์ปจํŠธ๋ฆฌ๋ทฐ์…˜ ๊ฒฝํ—˜์ด ์Œ“์ด๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด์„œ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ๋ฉค๋ฒ„๋“ค์˜ ์ดํ•ด๋„๊ฐ€ ์˜ฌ๋ผ๊ฐ€๊ณ , ์ž์‹ ๊ฐ์ด ๋ถ™์œผ๋ฉด์„œ UI/UX์— ๊ด€ํ•œ ๊ฐœ์„  ๋ฟ ์•„๋‹ˆ๋ผ, ์›Œํฌํ”Œ๋กœ์šฐ ์—”์ง„์˜ ์ฝ”์–ดํ•œ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๊ธฐ์—ฌ๋“ค๋„ ์ ์ฐจ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ์—ˆ์Šต๋‹ˆ๋‹ค.

Whatโ€™s new in Argo Workflows v3.5 (opens in a new tab)

์›Œํฌํ”Œ๋กœ์šฐ ์—”์ง„์˜ ํ•ต์‹ฌ ๋กœ์ง์€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ CRD๋กœ ์„ค์น˜๋˜์–ด ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋™์ž‘๊ณผ ์„ฑ๋Šฅ์—๋„ ํฌ๊ฒŒ ์˜ํ–ฅ์„ ์ฃผ๋Š” ๋งŒํผ ๊ตฌํ˜„ ์ˆ˜์ค€์ด ๋†’๊ณ , ๊ฐ์ข… ํ…Œ์ŠคํŠธ ๋ฐ ๋ฉ”์ธํ…Œ์ด๋„ˆ๋“ค๊ณผ์˜ ์ •์ฑ…์— ๊ด€ํ•œ ๋…ผ์˜์—๋„ ์ ๊ทน์ ์œผ๋กœ ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ์–ด์•ผ ๊ธฐ์—ฌ๊ฐ€ ๊ฐ€๋Šฅํ•œ ๋งŒํผ ์ปจํŠธ๋ฆฌ๋ทฐ์…˜ ๋‚œ์ด๋„๋„ ๊ต‰์žฅํžˆ ๋†’์€ ๊ธฐ์—ฌ์— ์†ํ•ฉ๋‹ˆ๋‹ค.

์‰ฝ์ง€ ์•Š์€ ๊ณผ์ •๋“ค์ด์—ˆ์ง€๋งŒ, ์ €ํฌ ํŒ€์€ Argo Workflows 3.5๋ฒ„์ „์˜ ๋ฆด๋ฆฌ์ฆˆ์— ํ•ต์‹ฌ์ ์ธ ๊ธฐ์—ฌ๋“ค์„ ํ•ด๋‚ด๋Š”๋ฐ ์„ฑ๊ณตํ•˜๋ฉฐ, Template Spec, Authentication, Controller ๋“ฑ์˜ ๋งค์šฐ ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๊ธฐ์—ฌ๋ฅผ Argo ๊ณต์‹ ๋ธ”๋กœ๊ทธ์—์„œ ์–ธ๊ธ‰๋˜๋ฉฐ ๊ธฐ๋ก์„ ๋‚จ๊ธฐ๊ธฐ๋„ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

core_0

Argo Workflows์˜ 3.5๋ฒ„์ „ ๋ฆด๋ฆฌ์ฆˆ ์ดํ›„์—๋„, ๊ณ„์†ํ•˜์—ฌ ์ปจํŠธ๋ฆฌ๋ทฐํ„ฐ๋“ค์˜ DX๊ฐœ์„ ์„ ์œ„ํ•œ CI๋ฐ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ, Nix, Controller, Template ์ŠคํŽ™์˜ ์ƒˆ๋กœ์šด ํ”ผ์ณ ๊ฐœ๋ฐœ, Go Lang ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ ๋“ฑ์˜ ๋†’์€ ๋‚œ์ด๋„์˜ ์ปจํŠธ๋ฆฌ๋ทฐ์…˜๋“ฑ์„ ์ด์–ด๋‚˜๊ฐ€๊ณ  ์žˆ์œผ๋ฉฐ, ๋‹ค์Œ ๋ฆด๋ฆฌ์ฆˆ ๋ฐฐํฌ์—๋Š” ๋”์šฑ ๋งŽ์€ ๊ธฐ์—ฌ๋กœ Argo Workflows๊ฐ€ ๋”์šฑ ํ›Œ๋ฅญํ•œ ํˆด๋กœ ๊ฑฐ๋“ญ๋‚˜๋Š”๋ฐ ์˜๋ฏธ์žˆ๋Š” ์„ฑ๊ณผ๋ฅผ ๋ณดํƒœ๋Š” ์ค‘์ž…๋‹ˆ๋‹ค.

๋ฉ”์ธํ…Œ์ด๋„ˆ ๊ทธ๋ฃน๊ณผ์˜ ๊ธด๋ฐ€ํ•œ ์†Œํ†ต

์ €ํฌ ํŒ€์€ ์šด์ด ๋งค์šฐ ์ข‹์•˜์Šต๋‹ˆ๋‹ค. Argo Workflows ํ”„๋กœ์ ํŠธ๊ฐ€ ์˜ฌํ•ด 5์›”์— Yuan Tang์ด๋ผ๋Š” ์ƒˆ๋กœ์šด ๋ฆฌ๋”๋ฅผ ๋งž์ดํ•˜๋ฉด์„œ ํ”„๋กœ์ ํŠธ ์ „์ฒด์˜ ์ปจํŠธ๋ฆฌ๋ทฐ์…˜ ํ˜ธํก์ด ๋งค์šฐ ๋นจ๋ผ์กŒ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค.

๋ณดํ†ต ์ด๋Ÿฐ ๋Œ€ํ˜• ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๋ฆฌ๋ทฐ์— ์ƒ๋‹นํžˆ ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ ค์„œ ๋งŽ์€ ์ปจํŠธ๋ฆฌ๋ทฐ์…˜์„ ํ•ด๋‚ด๊ธฐ ์–ด๋ ต๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ณ  ์‹œ์ž‘ํ–ˆ์—ˆ๋Š”๋ฐ, ๋Šฅ๋ ฅ์žˆ๋Š” ํ”„๋กœ์ ํŠธ ํ—ค๋“œ์™€ ๊ทธ ํŒ€์›๋“ค ๋•๋ถ„์— ์ด๋ฒˆ ๋Œ€ํšŒ์— ์ฐธ๊ฐ€ํ•œ ArgoWorkflows ํŒ€์›๋“ค ๋ชจ๋‘ ๊ต‰์žฅํžˆ ๋งŽ์€ ๊ฒƒ๋“ค์„ ๋ฐฐ์šฐ๊ณ  ๊ฒฝํ—˜ํ•˜๋ฉฐ ์งง์€ ์‹œ๊ฐ„ ๋‚ด์— ๋งŽ์€ ๊ธฐ์—ฌ๋ฅผ ํ†ตํ•ด ์„ฑ์žฅํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

maintainer.png

๊ธฐ์—ฌ๋ฅผ ์ด์–ด๋‚˜๊ฐ€๋‹ค ๋ณด๋‹ˆ, ์›Œํฌํ”Œ๋กœ์šฐ ์—”์ง„์˜ ํ•ต์‹ฌ์ ์ธ ๊ธฐ๋Šฅ๋“ค์— ๋Œ€ํ•œ ๊ธฐ์—ฌ์— ๊ฐ€๊นŒ์›Œ์งˆ ์ˆ˜๋ก, PR ํŽ˜์ด์ง€๋ฅผ ๋„˜์–ด์„œ CNCF์Šฌ๋ž™์„ ํ†ตํ•ด ๋ฉ”์ธํ…Œ์ด๋„ˆ ๋ถ„๋“ค๊ณผ ๊ธด๋ฐ€ํ•˜๊ฒŒ ์†Œํ†ตํ•˜๊ณ  ์˜๊ฒฌ์„ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š” ์ƒํ™ฉ๋“ค๋„ ์ƒ๊ฒจ๋‚ฌ์Šต๋‹ˆ๋‹ค.

๋…ผ์˜๋ฅผ ํ†ตํ•ด์„œ ์ด์Šˆ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋กœ์ ํŠธ์—์„œ ๋กœ์ง์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ •์ฑ…์„ ๊ฒฐ์ •ํ•˜๊ธฐ๋„ ํ•˜๊ณ , ์—ฐ๊ด€๋œ ๋‹ค๋ฅธ ์ด์Šˆ๋ฅผ ํ• ๋‹น๋ฐ›์•„ ์ง„ํ–‰ํ•˜๋Š” ๊ฒฝํ—˜์„ ํ•˜๋Š” ๋“ฑ, ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ์˜ ์ง„์ •ํ•œ ์ผ์›์ด ๋˜์–ด๊ฐ€๋Š” ์†Œ์ค‘ํ•œ ๊ฒฝํ—˜์„ ํ•ด๋ณผ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„๋™์•ˆ ์ €ํฌ ํŒ€์ด ๊ธฐ์—ฌํ•œ ์ž‘์—…๋ฌผ๋“ค์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.

Contribute Info

TOTAL COUNT
0
PR COUNT
0
ISSUE COUNT
0
GitHub
Type
Summary

โ˜‘๏ธ ์ปจํŠธ๋ฆฌ๋ทฐ์…˜ ์•„์นด๋ฐ๋ฏธ ์ง„ํ–‰ ๊ณผ์ •๊ณผ ํ™œ๋™ ๋‚ด์—ญ

GIT์•Œ๋ชป์—์„œ ์˜คํ”ˆ์†Œ์Šค ์ปจํŠธ๋ฆฌ๋ทฐํ„ฐ๊ฐ€ ๋  ๋•Œ ๊นŒ์ง€

์ €ํฌ ํŒ€์€ ๋งˆ์Šคํ„ฐ์ฆˆ ๋‹จ๊ณ„ ์ฐธ๊ฐ€์ž 17๋ช… ์ค‘์—์„œ, 12๋ช…์€ GIT์„ ํ†ตํ•œ ์ œ๋Œ€๋กœ ๋œ ํ˜‘์—…/์ฝ”๋“œ๋ฆฌ๋ทฐ ๊ฒฝํ—˜์ด ์—†๋Š” ๋ฉค๋ฒ„๋“ค๋กœ ๊ตฌ์„ฑ์ด ๋˜์–ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์—”์ง„์œผ๋กœ ์‚ผ๊ณ  ๋™์ž‘ํ•˜๋Š” CRD์ธ ๋งŒํผ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์— ๋Œ€ํ•œ ๋†’์€ ์ดํ•ด๋„๊ฐ€ ํ•„์š”ํ•œ ํ”„๋กœ์ ํŠธ์ธ๋ฐ, ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์ œ๋Œ€๋กœ ์จ๋ณธ ๊ฒฝํ—˜์ด ์žˆ๋Š” ๋ฉค๋ฒ„๋Š” ๊ณ ์ž‘ 4๋ช…์— ๋ถˆ๊ณผ ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ฒ˜์Œ์—๋Š” ์–ด๋–ป๊ฒŒ ์‹œ์ž‘ํ•ด์•ผํ• ์ง€ ๊ฐ๋„ ์•ˆ์žกํžˆ๊ณ  ๋ง‰๋ง‰ํ–ˆ๋˜ ์ƒํ™ฉ์ด์—ˆ์ง€๋งŒ, ๋ฉ˜ํ† ์™€ ํ•จ๊ป˜ ํ•˜๋Š” GIT ์—ฐ์Šต ๋ฐ ์ปจํ…Œ์ด๋„ˆ, ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์— ์ต์ˆ™ํ•ด์ง€๊ธฐ ์œ„ํ•œ ์—ฐ์Šต์šฉ REPO์—์„œ์˜ ๋‹ค์–‘ํ•œ ๊ณผ์ œ ์ˆ˜ํ–‰ ๋ฐ ์Šคํ„ฐ๋””์˜ ๊ฒฐ๊ณผ๋กœ ํ•˜๋‚˜ ๋‘˜์”ฉ Argo Workflows๋ผ๋Š” ํˆด์— ์ต์ˆ™ํ•ด์ง€๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌํ•œ ๊ฒฐ๊ณผ, ํ˜„์žฌ ๋ณด๊ณ ์„œ๋ฅผ ์“ฐ๋Š” ์‹œ์ ์—๋Š” ๋งˆ์Šคํ„ฐ์ฆˆ ๋‹จ๊ณ„ ์ฐธ๊ฐ€์ž 17๋ช… ์ „์› PR์„ ์ƒ์„ฑํ•ด ๋ณด๋Š” ์ฆ๊ฑฐ์šด ๊ฒฝํ—˜์„ ํ•ด ๋ณผ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

chart1
์ปจํŠธ๋ฆฌ๋ทฐ์…˜ ํ™œ๋™ ์š”์•ฝ

๋˜ํ•œ, ์ฒ˜์Œ์—๋Š” ํˆด์— ์ต์ˆ™ํ•ด๊ณ  ๋ฐฐ๊ฒฝ ์ง€์‹์„ ์Šต๋“ํ•˜๋Š”๋ฐ ๋ฐ”๋น  ์ ๊ทน์ ์œผ๋กœ ํ•˜์ง€ ๋ชปํ–ˆ๋˜ ์ปจํŠธ๋ฆฌ๋ทฐ์…˜ ํ™œ๋™๋„ ์‹œ๊ฐ„์ด ๊ฐˆ์ˆ˜๋ก ๊ฐ€์†๋„๊ฐ€ ๋ถ™์–ด์„œ 9์›”์—๋Š” ์ฒซ์ฃผ์ฐจ๋งŒ์— ์ง€๋‚œ๋‹ฌ ํ•œ๋‹ฌ ๋™์•ˆ ๊ธฐ์—ฌํ•œ PR์— ๊ฐ€๊นŒ์šด ๊ฐฏ์ˆ˜๋ฅผ ๋”ฐ๋ผ๊ฐ€๊ฒŒ ๋  ์ •๋„๋กœ ๋ฉค๋ฒ„๋“ค์˜ ์‹ค๋ ฅ์ด ๋น ๋ฅด๊ฒŒ ์„ฑ์žฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

chart2
์›”๋ณ„ ํ™œ๋™ ๊ทธ๋ž˜ํ”„

์ €ํฌ ํŒ€์ด ์ง€๊ธˆ์˜ ๊ธฐ์—ฌํ™œ๋™์„ ํ•ด๋‚ด๊ธฐ๊นŒ์ง€ ์ˆ˜ํ–‰ํ•œ ๋‹ค์–‘ํ•œ ํ™œ๋™๋“ค์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.

GIT ์‚ฌ์šฉ ์—ฐ์Šต์„ ์œ„ํ•œ REPO ์ƒ์„ฑ ๋ฐ ๊ธฐ์—ฌ ํ™œ๋™ ์ง„ํ–‰

REPO์ฃผ์†Œ : https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io (opens in a new tab)

๋ชฉํ‘œ : ์ด์Šˆ ํ…œํ”Œ๋ฆฟ์˜ ๋ฉค๋ฒ„ ํ”„๋กœํ•„ ์—…๋ฐ์ดํŠธ ์ด์Šˆ๋ฅผ ์„ ํƒํ•˜๊ณ , ์ด์Šˆ ๋‚ด์šฉ์— ๋”ฐ๋ผ ์ฒซ PR์„ ์ƒ์„ฑ.

activity1

- ๋ชฉํ‘œ ์ƒ์„ธ
  - ์•„๋ž˜ ๋‘๊ฐœ ํŒŒ์ผ์„ ์ˆ˜์ •/์ถ”๊ฐ€ ํ•ด์„œ ์œ ์ € ์ •๋ณด๋ฅผ ์—…๋ฐ์ดํŠธ ํ•˜๋Š” PR์„ ์ƒ์„ฑํ•ด์š”.
    - `docs/users/users.md`
    - `docs/users/[์ด๋ฆ„].md`
  - [ํ‚ค์›Œ๋“œ๋ฅผ ํ™œ์šฉํ•œ PR๊ณผ ์ด์Šˆ ์—ฐ๊ฒฐ ๋ฐฉ๋ฒ•](https://docs.github.com/ko/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword)์„ ์ฐธ๊ณ ํ•˜์—ฌ ์ด์Šˆ์™€ PR์„ ์—ฐ๊ฒฐํ•ด์ฃผ์„ธ์š”. (์ˆ˜๋™์—ฐ๊ฒฐ x)
    PR์„ ์˜ฌ๋ฆฌ๊ณ  ๋จธ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์•„๋ž˜ ์‚ฌํ•ญ๋“ค์„ ์ฐธ๊ณ ํ•˜๋ฉด ์ข‹์•„์š”.
  - Repo์— ๋ธŒ๋žœ์น˜๋“ฑ์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ Pushํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์ด ์—†์œผ๋ฏ€๋กœ fork ํ›„ ์ž‘์—…ํ•ด์•ผ ํ•ด์š”.
  - [PR์˜ ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜](https://flank.github.io/flank/pr_titles/)์„ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”.
  - [DCO](https://github.com/apps/dco) ๋ด‡์˜ ์ฒดํฌ๋ฅผ ํ†ต๊ณผํ•˜๊ธฐ ์œ„ํ•œ ์กฐ๊ฑด์„ ์ฐธ๊ณ ํ•˜์—ฌ ์ปค๋ฐ‹ํ•ด์ฃผ์„ธ์š”.
  - [GPG](https://www.44bits.io/ko/post/add-signing-key-to-git-commit-by-gpg)๋ฅผ ์ด์šฉํ•ด ์ปค๋ฐ‹ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•˜์—ฌ ์„œ๋ช…๋œ ์ปค๋ฐ‹์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.
  - [์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์ปจ๋ฒค์…˜](https://www.conventionalcommits.org/en/v1.0.0/)๋„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ์ข‹์•„์š”. ๊ผญ ๋”ฐ๋ฅด์ง€ ์•Š๋”๋ผ๋„, ๋„ˆ๋ฌด ์˜๋ฏธ์—†๋Š” ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋Š” ์ง€์–‘ํ•ด์ฃผ์„ธ์š”.(Optional)

์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ดˆ ํŠน๋ณ„๋ฐ˜ ์šด์˜

ํŽ˜์ด์ง€ ์ฃผ์†Œ : https://github.com/ArgoWorkflows-OSS/container-playground (opens in a new tab)

๋ชฉํ‘œ : ๋ณธ์ธ๋งŒ์˜ ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค๊ณ , ์ปจํ…Œ์ด๋„ˆํ™” ํ•˜๋Š” CI๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ

activity2

activity3

- ๋ชฉํ‘œ ์ƒ์„ธ
  ๋‚˜๋งŒ์˜ ์›น์„œ๋น„์Šค๋ฅผ ์ œ์ž‘ํ•˜๊ณ , ์ปจํ…Œ์ด๋„ˆํ™” ํ•  ์ˆ˜ ์žˆ๋Š” ๋„์ปคํŒŒ์ผ์„ ์ž‘์„ฑํ•ด ๋ด…๋‹ˆ๋‹ค.
  ๊ณผ์ œ ํ†ต๊ณผ๋ฅผ ์œ„ํ•ด์„œ ๋ฐ˜๋“œ์‹œ ์•„๋ž˜ ์‚ฌํ•ญ์„ ์ค€์ˆ˜ํ•ด ์ฃผ์„ธ์š”.

  - ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ฐ ํŒŒ์ผ ๋ฐฐ์น˜

    - ๊ฐœ์ธ ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•  ๋•Œ ๊ผญ ๋ณธ์ธ์˜ GitHub ๊ณ„์ • ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ทธ ์•„๋ž˜์— ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์„ธ์š”.
    - ๋ณธ์ธ ๋””๋ ‰ํ„ฐ๋ฆฌ ๋‚ด ์ตœ์ƒ์œ„์—๋Š” ๋ฐ˜๋“œ์‹œ `Dockerfile`์ด ์œ„์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. (์ด ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜์ง€ ์•Š์œผ๋ฉด CI๊ฐ€ ์‹คํŒจํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.)
    - ๋ณธ์ธ ๋””๋ ‰ํ„ฐ๋ฆฌ ์•„๋ž˜์—์„œ `Dockerfile`์˜ ์œ„์น˜๋ฅผ ์ œ์™ธํ•œ ๋‹ค๋ฅธ ํŒŒ์ผ์€ ์ž์œ ๋กญ๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    - ๋‹ค๋งŒ, ๋ณธ์ธ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ตœ์ƒ์œ„์—์„œ `docker build -t [์ด๋ฏธ์ง€๋ช…] .` ๋ช…๋ น์„ ์‹คํ–‰ํ–ˆ์„ ๋•Œ ์ด๋ฏธ์ง€๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ๋นŒ๋“œ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  - ๋นŒ๋“œ๋œ ์ด๋ฏธ์ง€์˜ ๋™์ž‘

    - ๊ฐœ์ธ ์›น ์„œ๋น„์Šค๋Š” ๋ฐ˜๋“œ์‹œ 8080 ํฌํŠธ์—์„œ ๋™์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    - ๋นŒ๋“œ๋œ ์ด๋ฏธ์ง€๋Š” ๋ณ„๋„์˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ์—†์ด `docker run -d -p [ํฌ์›Œ๋”ฉ ํฌํŠธ๋ฒˆํ˜ธ]:8080 [์ด๋ฏธ์ง€๋ช…]` ๋ช…๋ น์„ ์‹คํ–‰ํ–ˆ์„ ๋•Œ ๋ฌธ์ œ ์—†์ด ์„œ๋น„์Šค๋˜๋„๋ก ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  - ์›น ์„œ๋น„์Šค ๊ฐœ๋ฐœ ์–ธ์–ด ๋ฐ ์„œ๋น„์Šค ๊ตฌ์กฐ
    - ๋ณธ์ธ์ด ์„ ํ˜ธํ•˜๋Š” ์–ด๋–ค ์–ธ์–ด, ์–ด๋–ค ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ™œ์šฉํ•ด๋„ ์ƒ๊ด€ ์—†์Šต๋‹ˆ๋‹ค.
    - UI, ๋””์ž์ธ์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๋‹จ์ˆœ api์„œ๋น„์Šค๋ฅผ ์ œ์ž‘ํ•ด๋„ ์ƒ๊ด€ ์—†์Šต๋‹ˆ๋‹ค.
    - ๋‹จ, ํ•„์ˆ˜ api๋ฅผ ๋‘๊ฐœ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. (์‘๋‹ต๊ฐ’์€ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.)
      1. /api/v1/[๋ณธ์ธ github๊ณ„์ •]
      2. /healthcheck
  - (Optional) ๋„์ปค ์ด๋ฏธ์ง€ ์ตœ์ ํ™”๋ฅผ ํ•˜๋ฉด ๋” ์ข‹์Šต๋‹ˆ๋‹ค. ([์ฐธ๊ณ ](https://thearchivelog.dev/article/optimize-docker-image/))
  - [ํ‚ค์›Œ๋“œ๋ฅผ ํ™œ์šฉํ•œ PR๊ณผ ์ด์Šˆ ์—ฐ๊ฒฐ ๋ฐฉ๋ฒ•](https://docs.github.com/ko/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword)์„ ์ฐธ๊ณ ํ•˜์—ฌ ์ด์Šˆ์™€ PR์„ ์—ฐ๊ฒฐํ•ด์ฃผ์„ธ์š”. (์ˆ˜๋™์—ฐ๊ฒฐ x)

ํŒ€๋‚ด ์ด์Šˆ ํ•ด์ปคํ†ค ๊ฐœ์ตœ ๋ฐ ์ง„ํ–‰

์ด์Šˆ๋ฅผ ์ง€์ •ํ•˜์—ฌ ์กฐ๋ณ„๋กœ ํ•œ ์ด์Šˆ๋ฅผ ๊ธฐ๊ฐ„ ๋‚ด์— ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ํŒ€๋‚ด ํ•ด์ปคํ†ค

activity4

activity5

Argo Workflows ์ปจํŠธ๋ฆฌ๋ทฐํ„ฐ / ์ปค๋ฎค๋‹ˆํ‹ฐ ์ •๊ธฐ ๋ฏธํŒ… ์ฐธ์—ฌ

Argo Workflows ๊ณต์‹ ์ปจํŠธ๋ฆฌ๋ทฐํ„ฐ/์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฏธํŒ… ์ฐธ์—ฌ ์˜คํ”ˆ์†Œ์Šค ์ปจํŠธ๋ฆฌ๋ทฐํ†ค ์†Œ๊ฐœ

activity6

Argo Workflows OSS ํŒ€ ํŽ˜์ด์ง€ ์ƒ์„ฑ ๋ฐ ์šด์˜

ํŽ˜์ด์ง€ ์ฃผ์†Œ : https://argoworkflows-oss.github.io/ (opens in a new tab)

์ œ์ž‘ ํ”„๋ ˆ์ž„์›Œํฌ : nextra

activity7

๋งค์ฃผ ์ตœ์†Œ 1ํšŒ ์ด์ƒ ์˜คํ”„๋ผ์ธ ๋ชจ์ž„ํ™œ๋™ ์ง„ํ–‰

์ •๊ธฐ ๋ชจ์ž„ ํ™œ๋™

  • ๋งค์ฃผ ์ผ์š”์ผ ์ •๊ธฐ ์˜คํ”„๋ผ์ธ ๋ชจ์ž„ ๋‚ ์งœ๋กœ ์„ ์ •ํ•˜์—ฌ ์ •๊ธฐ์ ์ธ ๋ชจ์ž„ํ™œ๋™์„ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ชจ์ž„ํ™œ๋™์„ ํ†ตํ•ด ํ•ด๊ฒฐํ•  ์ด์Šˆ ํƒ์ƒ‰๊ณผ ๋ณธ์ธ์˜ ์ด์Šˆ ํ•ด๊ฒฐ ๊ฒฝํ—˜์— ๋Œ€ํ•œ ๊ณต์œ  ๋ฐ ์ง„ํ–‰ ์ค‘ ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜์— ๋Œ€ํ•œ ๋…ผ์˜ ๋“ฑ ๋‹ค์–‘ํ•œ ์†Œํ†ต ํ™œ๋™์„ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์˜คํ”„๋ผ์ธ ์ •๊ธฐ ๋ชจ์ž„์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ •๋ณด๋Š” ์—ฌ๊ธฐ (opens in a new tab) ๋งํฌ๋ฅผ ํ†ตํ•ด ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

activity8


๊ด€์‹ฌ ์ฃผ์ œ ๋ฐœํ‘œ ํ™œ๋™

  • ์˜คํ”„๋ผ์ธ ๋ชจ์ž„ํ™œ๋™ ์‹œ๊ฐ„ ์ค‘ ๋ณธ์ธ์˜ ๊ด€์‹ฌ์‚ฌ์— ๋Œ€ํ•ด ์ž์œ ์ฃผ์ œ๋กœ ๋ฐœํ‘œ๋ฅผ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ด€์‹ฌ ์ฃผ์ œ ๋ฐœํ‘œ ์ฃผ์ œ ๋ฐ ๋ฐœํ‘œ์ž
    ์ˆœ์„œ์ œ๋ชฉ๋ฐœํ‘œ์ž๋ฐœํ‘œ์ผ
    1๋‹น๊ทผ๋งˆ์ผ“์—์„œ Argo Workflows ๋„์ž…ํ•œ ์‚ฌ๋ก€์—ผ๊ทผ์ฒ 7์›” 15์ผ
    2์‹ค์‹œ๊ฐ„ ํ†ต์‹ ์„ ์œ„ํ•œ WebRtc์˜ ๊ฐœ๋… ๋ฐ ํ™œ์šฉ์‚ฌ๋ก€์†กํ˜œ๋ฏผ7์›” 30์ผ
    3Argo Workflows์™€ Keyclock ์—ฐ๋™๋ฐฉ๋ฒ•์ตœ์ˆ˜๋…•7์›” 30์ผ
    4Argo Project๋กœ CI/CD ๊ตฌํ˜„ํ•˜๊ธฐ๊น€ํ•™์ค€8์›” 6์ผ
    5eBPF์˜ ๊ฐœ๋…, ํ•„ํ„ฐ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•, ํ™œ์šฉ์‚ฌ๋ก€ ๋ฐœํ‘œ์ •์„ฑ๋ฝ8์›” 6์ผ
    6์ปจํ…Œ์ด๋„ˆ์˜ ์—ญ์‚ฌ์™€ ๋„์ปค ์—†์ด ์ปจํ…Œ์ด๋„ˆ ๋งŒ๋“ค๊ธฐ์—ผ๊ทผ์ฒ 8์›” 13์ผ
    7๊ฐœ๋ฐœ์ž๊ฐ€ ์Šค์Šค๋กœ ๋ถ€ํ•˜ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜ ์žˆ๋Š” ํ”Œ๋žซํผ ๊ตฌ์ถ•๊ธฐ & K6 ๋ถ€ํ•˜ํ…Œ์ŠคํŠธ PoC ๋ฐœํ‘œ์•ˆ๋‹คํ˜œ8์›” 20์ผ
    8์ปจํ…Œ์ด๋„ˆ ์ƒํƒœ๊ณ„์— ๊ด€ํ•œ ๊ณ ์ฐฐ์—ผ๊ทผ์ฒ 8์›” 27์ผ
    9Github Actions ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ self-hosted๋กœ ์„ค์น˜&์šด์˜ํ•˜๊ธฐ์„œ์ฒญ์šด9์›” 2์ผ

activity9


๋ชจ๊ฐ์ฝ”

  • ๋น„์ •๊ธฐ์ ์œผ๋กœ ๋ชจ์—ฌ์„œ ๊ฐ์ž ์ฝ”๋”ฉํ•˜๋Š” ๋ชจ๊ฐ์ฝ” ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ArgoWorkflow์˜ ๊ตฌ์กฐ๋‚˜ ์ด์Šˆ ๋ถ„์„ํ•˜๋Š” ๋“ฑ ๊ธฐ์ˆ  ๊ต๋ฅ˜๋ฅผ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

activity10

โ˜‘๏ธ ์ฐธ๊ฐ€์ž ๊ธฐ์—ฌ ๋‚ด์šฉ ์ƒ์„ธ

0. ์—ผ๊ทผ์ฒ  (opens in a new tab)(๋ฉ˜ํ† )

๐ŸŒต ์ฐธ๊ฐ€ ํ›„๊ธฐ

์ž‘๋…„, ๊ทธ๋ฆฌ๊ณ  ์˜ฌํ•ด ArgoWorkflows๋ผ๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋‚˜๋ฉด์„œ ์ •๋ง ๋งŽ์€ ๊ฒƒ์„ ๋Š๋ผ๊ณ  ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ ํ–‰์‚ฌ์—์„œ ๋ฉ˜ํ† ๋กœ ์ฐธ์—ฌํ–ˆ์ง€๋งŒ, ์˜คํžˆ๋ ค ์ œ๊ฐ€ ๋” ๋งŽ์€๊ฒƒ์„ ๋ฐฐ์šฐ๊ณ  ์–ป์–ด๊ฐ€๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

ํ•จ๊ป˜ ํ–‰์‚ฌ์— ์ฐธ๊ฐ€ํ•ด์„œ ๋งˆ์ง€๋ง‰๊นŒ์ง€ ์ตœ์„ ์„ ๋‹คํ•ด์ฃผ์‹  ๋ฉ˜ํ‹ฐ ์—ฌ๋Ÿฌ๋ถ„๋“ค๊ป˜๋„ ์ง„์‹ฌ์œผ๋กœ ๊ฐ์‚ฌ๋“œ๋ฆฌ๊ณ , ์•ž์œผ๋กœ๋„ ์˜คํ”ˆ์†Œ์Šค ํ™œ๋™์„ ํ•จ๊ป˜ ์ด์–ด๋‚˜๊ฐ€๋Š” ๋™๋ฃŒ๊ฐ€ ๋˜์—ˆ์œผ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ–‰์‚ฌ ๊ธฐ๊ฐ„๋™์•ˆ ์˜คํ”ˆ์†Œ์Šค ์ƒํƒœ๊ณ„์˜ ๋ฌธํ™”์— ๋Œ€ํ•ด์„œ๋„ ๋‹ค์‹œํ•œ๋ฒˆ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„์ด ๋˜์—ˆ๊ณ , CI ํ™˜๊ฒฝ์ด๋‚˜ ์•Œ๊ณ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ณ  ๋„˜์–ด๊ฐ”์—ˆ๋˜ ๋‹ค์–‘ํ•œ Gitํ™œ์šฉ ๊ธฐ๋ฒ•๋“ค์„ ๋‹ค์‹œํ•œ๋ฒˆ ๊ณต๋ถ€ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

ArgoWorkflows๋ผ๋Š” ํ”„๋กœ์ ํŠธ์— ๋” ํฐ ์• ์ •์ด ์ƒ๊ฒผ๊ณ , ์•ž์œผ๋กœ ์–ด๋–ค ๊ธฐํšŒ๋“ค์ด ์žˆ์„์ง€ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ, ๋” ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์— ๋Œ€ํ•ด์„œ ๊ธฐ์—ฌํ•ด ๋ณด๊ณ  ์‹ถ๋‹ค๋Š” ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค.

1. ๊ฐ•๋ณ‘์„ 

๐ŸŒฟ ๊ฐœ์ธ ์„ฑ๊ณผ ๋ณด๊ณ 

์ ‘๊ธฐ/ํŽผ์น˜๊ธฐ
  • ๊ฐœ์ธ ์„ฑ๊ณผ
    • ๋ฌธ์„œ๊ธฐ์—ฌ #11762 Remove helm installation guide and Add helm documentation link (opens in a new tab)
      • MinIO ์„ค์ •์„ ์œ„ํ•ด helm ์„ค์น˜๋ฅผ ํ•ด์•ผํ•˜๋Š”๋ฐ, mac์— ๊ด€๋ จ๋œ ์„ค์ •๋งŒ ๋‚˜์™€ ์žˆ์–ด helm ๊ณต์‹๋ฌธ์„œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
    • ๋ฌธ์„œ๊ธฐ์—ฌ #11735 Add installation option descrption (opens in a new tab)
      • managed namespace ์˜ต์…˜์— ๋Œ€ํ•œ ์ƒ์„ธํ•œ ์„ค๋ช…์„ ์ถ”๊ฐ€ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.
      • ์—ฌ๊ธฐ์„œ Kubernetes์˜ Documentation ์ปจ๋ฒค์…˜ (opens in a new tab)์ด ์กด์žฌํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋ฉ”์ธํ…Œ์ด๋„ˆ๋ถ„๊ป˜ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค.
  • ์ปจํŠธ๋ฆฌ๋ทฐ์…˜ ์ค€๋น„ ๊ณผ์ • ๋ฐ ํ™œ๋™
    • Github ๊ธฐ์ดˆ ์ตํžˆ๊ธฐ
      • ๋ฉ˜ํ† ๋‹˜๊ป˜์„œ ๊ณผ์ œ๋กœ ๋ณธ์ธ์˜ ํ”„๋กœํ•„์„ ์—…๋ฐ์ดํŠธ ํ•˜๋Š” ๊ณผ์ œ๋ฅผ ์ฃผ์…จ์Šต๋‹ˆ๋‹ค. GPG์™€ DCO๋ด‡์˜ ๊ฐœ๋…์„ ์ตํ˜€๋ณด๋ฉฐ github์— ๋” ์นœ์ˆ™ํ•ด์ง€๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ์Šต๋‹ˆ๋‹ค. ์™•์ดˆ๋ณด
    • Docker ์™•์ดˆ๋ณด ํŠน๋ณ„๋ฐ˜
      • Dockerfile์„ ์‚ฌ์šฉํ•ด์„œ ๋„์ปค ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“œ๋Š” ํ™œ๋™์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฉ˜ํ† ๋‹˜๊ป˜์„œ ์ •๋ฆฌํ•˜์‹  ์ž๋ฃŒ๋ฅผ ์ฝ๊ณ  ๊ฐœ๋…์„ ์ตํ˜”์Šต๋‹ˆ๋‹ค. ์ถ”๊ฐ€์ ์œผ๋กœ ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“ค ๋•Œ ์‹คํ–‰ ์‹œ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ๋งŒ ๋„ฃ๋„๋ก multi stage build (opens in a new tab)๋ฅผ ์ ์šฉํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. dockerfile_pull_request multi-staging-build
      • ์‹ค์Šต ์ดํ›„ ๋ฉ˜ํ† ๋‹˜๊ป˜์„œ Overlay FS (opens in a new tab)์— ๋Œ€ํ•ด ํ•˜๋‚˜ํ•˜๋‚˜ ๋ณด์—ฌ์ฃผ์‹œ๋ฉด์„œ ์ด๋ฏธ์ง€๊ฐ€ ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค์–ด์ง€๋Š”์ง€ ๋ณด์—ฌ์ฃผ์…จ์Šต๋‹ˆ๋‹ค. ์ด๊ฑด ์ •๋ง ์•Œ์ฐผ์Šต๋‹ˆ๋‹ค..
    • ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๊ธฐ์ดˆ ๊ณต๋ถ€
    • Argo workflows
    • OSS ๋ชจ์ž„ ํ™œ๋™ ์ฐธ์—ฌ
      • ๋ฉ˜ํ† ๋‹˜๊ณผ ๋ฉ˜ํ‹ฐ๋ถ„๋“ค๊ป˜์„œ ๋‹ค์–‘ํ•œ ์ฃผ์ œ๋กœ ๋ฐœํ‘œํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ์Šต๋‹ˆ๋‹ค. ์ปจํŠธ๋ฆฌ๋ทฐ์…˜ ์ด์™ธ์— ์‹ค๋ฌด์—์„œ ์–ด๋–ค ๋ฌธ์ œ๋“ค์„ ๊ณ ๋ฏผํ•˜๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ๋ฌธ์ œ๋“ค์„ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ–ˆ๋Š”์ง€ ๋“ค์„ ์ˆ˜ ์žˆ๋Š” ์ข‹์€ ์‹œ๊ฐ„์ด์—ˆ์Šต๋‹ˆ๋‹ค
    • ํ•ด์ปคํ†ค ์ฐธ์—ฌ
      • ์„ฑ๋ฝ ๋ฉ˜ํ‹ฐ๋‹˜์ด ๋งŽ์€ ๋„์›€์„ ์ฃผ์…จ์Šต๋‹ˆ๋‹ค. ๊ดœ์ฐฎ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ์ด์Šˆ๋“ค์„ ๊ณต์œ ํ•ด์ฃผ์‹œ๊ณ  ํ•ญ์ƒ ๋„์ „ํ•  ๊ฒƒ์„ ๊ถŒํ•ด์ฃผ์…จ์Šต๋‹ˆ๋‹ค. hackImage
      • #11609 Compile expr in config (opens in a new tab) ์ด์Šˆ๋ฅผ ์ถ”์ฒœํ•ด์ฃผ์…”์„œ ๋„์ „ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.
      • Golang์„ ์Šค์Šค๋กœ ๊ณต๋ถ€ํ•ด๋ณด๊ณ  (opens in a new tab) Issue๋ฅผ ๋ถ„์„ํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ์Šต๋‹ˆ๋‹ค.
      • golang์— ์ข€ ๋” ์นœ์ˆ™ํ•ด์งˆ ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๐ŸŒต ์ฐธ๊ฐ€ ํ›„๊ธฐ

  • ์ฐธ๊ฐ€ํ›„๊ธฐ
    • ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž์ธ ์ €์—๊ฒŒ ์ด ํ™œ๋™์€ ๋‹จ์ˆœํžˆ ์ปจํŠธ๋ฆฌ๋ทฐ์…˜์„ ์œ„ํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์•„๋‹ˆ๋ผ ๊ฐœ๋ฐœ์ž๋“ค์ด ๋ฌด์—‡์„ ๊ณ ๋ฏผํ•˜๋Š”์ง€, ์–ด๋–ป๊ฒŒ ์„ฑ์žฅํ•˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ์†Œ์ค‘ํ•œ ์‹œ๊ฐ„์ด์—ˆ์Šต๋‹ˆ๋‹ค.
    • ๋„์›€์„ ๋„ˆ๋ฌด ๋งŽ์ด ๋ฐ›์•„์„œ ํ•ญ์ƒ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋„ˆ๋ฌด ์ข‹์€ ๋ถ„๋“ค ๋งŒ๋‚˜๋ตˆ์„œ ํ–‰๋ณตํ•œ ์‹œ๊ฐ„์ด์—ˆ์Šต๋‹ˆ๋‹ค.
    • ์ปจํ…Œ์ด๋„ˆ์™€ ์นœํ•ด์ง€๋Š” ์ฒซ ๊ฑธ์Œ์„ ๋—€ ๊ฒƒ ๊ฐ™์•„ ๊ธฐ์ฉ๋‹ˆ๋‹ค.
  • ์•ž์œผ๋กœ์˜ ๊ณ„ํš
    • ๊ฐœ๋ฐœ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ์˜คํ”ˆ์†Œ์Šค์— ๊ด€์‹ฌ์„ ๊ฐ€์ง€๊ณ  ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
    • Argo workflows๋ฅผ ์‹ค์ œ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•ด๋ณด๊ณ  ๋” ๊ธฐ์—ฌํ•  ๋ฐฉ์•ˆ๋“ค์„ ์ฐพ์•„๊ฐ€๊ฒ ์Šต๋‹ˆ๋‹ค!

๐ŸŒต ๊ธฐ์—ฌ ์š”์•ฝ

Contribute Info

TOTAL COUNT
0
PR COUNT
0
ISSUE COUNT
0
GitHub
Type
Summary

2. ๊ฐ•์‹œ์˜จ

๐ŸŒฟ ๊ฐœ์ธ ์„ฑ๊ณผ ๋ณด๊ณ 

์ ‘๊ธฐ/ํŽผ์น˜๊ธฐ
  • Issue 1๊ฐœ, PR 3๊ฐœ
  • GitHub Actions log ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ์„ ์œ„ํ•œ ์ด๋ฆ„ ์ˆ˜์ •
    • https://github.com/argoproj/argo-workflows/pull/11670 (opens in a new tab)
    • publish-release์—์„œ ์ง„ํ–‰ํ•˜๋Š” step์ค‘ Run actions/cache@v3๋ฅผ ์ด ์„ธ๋ฒˆ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ ๊ฐ์ž ํ•˜๋Š” ์—ญํ• ์ด ๋‹ค๋ฅธ๋ฐ ๊ฐ™์€ ์ด๋ฆ„์œผ๋กœ ํ‘œ๊ธฐ๋˜์–ด ์žˆ์–ด ๊ฐ™์€ ์ž‘์—…์ด ์„ธ๋ฒˆ ์ด๋ฃจ์–ด์ง€๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋Š๊ปด ์งˆ ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์„ ๊ฐ์ž ์—ญํ• ์— ๋งž๋Š” ์ด๋ฆ„์œผ๋กœ ์ˆ˜์ •
  • GitHub Actions ํ•„์š”์—†๋Š” ์บ์‹œ ๋กœ์ง ์‚ญ์ œ
    • https://github.com/argoproj/argo-workflows/pull/11754 (opens in a new tab)
    • setup-go actions์—์„œ cache option์„ false๋กœ ์ฃผ์ง€์•Š๋Š” ์ด์ƒ default๋กœ caching์„ ํ•ด์ฃผ๊ธฐ๋•Œ๋ฌธ์— ์ค‘๋ณต๋˜๋Š” ์บ์‹œ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•˜๋˜ ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •
  • Deprecated ๋œ NodeJS 16 ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋Š” checkout@v3๋ฅผ ๋ชจ๋‘ checkout@v4๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ

๐ŸŒต ์ฐธ๊ฐ€ ํ›„๊ธฐ

์ž‘๋…„์˜ ๊ฒฝํ—˜์ด ๋„ˆ๋ฌด์ข‹์•„ ์˜ฌํ•ด๋„ ์ฐธ๊ฐ€ํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ ์˜ฌํ•ด๋Š” ์ž‘๋…„๊ณผ ๋‹ค๋ฅธ ๋Š๋‚Œ์œผ๋กœ ๋˜ ๋„ˆ๋ฌด ์ข‹์€ ๊ฒฝํ—˜์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋“ค ์—ด์ •์ ์ธ ํŒ€์›๋“ค๊ณผ ํ™œ๋ฐœํ•œ ํ”„๋กœ์ ํŠธ ๋•๋ถ„์— ํ…์…˜์ด ๋–จ์–ด์ง€์ง€ ์•Š๊ณ  ํ”„๋กœ์ ํŠธ์— ๊ด€์‹ฌ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์—ˆ๋˜๊ฒƒ ๊ฐ™๊ณ , ํ•ด๋‹น ํ”„๋กœ์ ํŠธ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ด€๋ จ๋œ ์ด์•ผ๊ธฐ ๊นŒ์ง€ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š” ๋™๋ฃŒ๊ฐ€ ์ƒ๊ธด๊ฒƒ ๊ฐ™์•„ ๋„ˆ๋ฌด ํ–‰๋ณตํ•ฉ๋‹ˆ๋‹ค.

๐ŸŒต ๊ธฐ์—ฌ ์š”์•ฝ

Contribute Info

TOTAL COUNT
0
PR COUNT
0
ISSUE COUNT
0
GitHub
Type
Summary

3. ๊ถŒ์˜๊ธธ

๐ŸŒฟ ๊ฐœ์ธ ์„ฑ๊ณผ ๋ณด๊ณ 

์ ‘๊ธฐ/ํŽผ์น˜๊ธฐ

[ํ”„๋กœ์ ํŠธ ๊ธฐ์—ฌ ํ•ญ๋ชฉ]

  1. ๋ฒ„๊ทธ์ˆ˜์ • Argo Workflow Datepicker ๊ฐœ์„  (์™„๋ฃŒ)

    workflow ๋ชฉ๋ก ํŽ˜์ด์ง€์˜ filter ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜์ธ datepick์˜ ui๋ฅผ ๊ฐœ์„ 

    1.UI.png

    2.UI.png

    ์ด์Šˆ๋งํฌ

    UI: Datepicker Style Malfunction Issue ยท Issue #11476 ยท argoproj/argo-workflows (opens in a new tab)

    PR๋งํฌ

    fix: Datepicker Style Malfunction Issue. Fixes #11476 by zel0rd ยท Pull Request #11480 ยท argoproj/argo-workflows (opens in a new tab)

  2. ๋ฒ„๊ทธ์ˆ˜์ • Cron workflow์˜ State filter ์ดˆ๊ธฐ๊ฐ’ ์„ค์ •(์™„๋ฃŒ)

    cron workflow์˜ status filter๊ฐ€ ์ดˆ๊ธฐ๊ฐ’๊ณผ ์ƒ๊ด€์—†์ด ๋žœ๋”๋ง ๋˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

    3.UI.png

    ์ด์Šˆ๋งํฌ

    ui: Cron workflow initial filter value ยท Issue #11685 ยท argoproj/argo-workflows (opens in a new tab)

    PR๋งํฌ

    https://github.com/argoproj/argo-workflows/pull/11686 (opens in a new tab)

  3. ๋ฒ„๊ทธ์ˆ˜์ • ์ดˆ๊ธฐ ํŽ˜์ด์ง€์—์„œ ๋ฐœ์ƒํ•˜๋Š” webpack ๊ด€๋ จ warning ์ œ๊ฑฐํ•˜๊ธฐ (์ง„ํ–‰์ค‘)

    argo workflow ui ๋กœ๋“œ์‹œ ๋ฐœ์ƒํ•˜๋Š” ์›นํŒฉ ์›Œ๋‹์„ ์ œ๊ฑฐํ•˜๊ธฐ

    ํ˜„์žฌ ๊ด€๋ จ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์˜ ์˜์กด์„ฑ ๋ฐ ๊ธฐ๋Šฅ์„ ํ…Œ์ŠคํŠธ ํ•˜๋Š” ์ค‘

    4.UI.png

  4. ๊ธฐ๋Šฅ๊ฐœ์„  ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๊ฐœ์„  (์ง„ํ–‰์ค‘)

    Argo Workflow์˜ ๊ธฐ์กด ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋ฅผ Argo CD์™€ ๊ฐ™์€ ํ˜•ํƒœ๊ณ  ๊ฐœ์„ ํ•˜๋Š” ์ด์Šˆ

    ํ˜„์žฌ workflow์—์„œ ์ œ๊ณตํ•˜๋Š” ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ๋ถ„์„ํ•˜๊ณ , ์ดํ›„ ์ƒˆ๋กœ์šด ์„ค๊ณ„ ๋ฐ ๋””์ž์ธ์„ ์ ์šฉํ•  ์˜ˆ์ •

    ์ด์Šˆ๋งํฌ

    Similar login page to Argo CD ยท Issue #10816 ยท argoproj/argo-workflows (opens in a new tab)

[ํ”„๋กœ์ ํŠธ ํ™œ๋™ ๋‚ด์—ญ]

7.8 ๋ฐœ๋Œ€์‹(ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ ๋ฐ ์ž๊ธฐ์†Œ๊ฐœ)

  • ๋ฐœ๋Œ€์‹ ์ง„ํ–‰ 5.meet.png
  • ๋ณ„๋ช…์„ ์ด์šฉํ•œ ์ž๊ธฐ์†Œ๊ฐœ ์‹œ๊ฐ„
  • ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ๋Œ€๋žต์ ์ธ ์†Œ๊ฐœ
  • ๋ชจ์ž„ํ™œ๋™ ๊ทœ์น™์„ ์œ„ํ•œ ๋‹ค์ˆ˜๊ฒฐ ํˆฌํ‘œ
    • ๋‹ค์Œ ๋ชจ์ž„ ํ™œ๋™์€ ๋ฐœ๋Œ€์‹ ์ฐธ์„์ž๋“ค์˜ ๋‹ค์ˆ˜๊ฒฐ์— ๋”ฐ๋ผ ์ •๊ธฐ ์ผ์ •๊ณผ ๋‹ค๋ฅด๊ฒŒ ํ† ์š”์ผ(07/15) ์˜คํ›„ 1์‹œ๋ถ€ํ„ฐ ์ง„ํ–‰ํ•˜๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ณ„ํš๋œ ํ™œ๋™ ์ฃผ์ œ๋Š”:
    • ๋‹ค์Œ ํ•œ ์ฃผ๊ฐ„ ์ง„ํ–‰ํ•  ๊ณตํ†ต ํ™œ๋™์— ๋Œ€ํ•œ ๋ฆฌ๋ทฐ ๋˜๋Š” ์ด์•ผ๊ธฐ ๋‚˜๋ˆ„๋Š” ์‹œ๊ฐ„
    • ์„œ๋กœ ๊ด€์‹ฌ ์žˆ๋Š” ์ฃผ์ œ์— ๋Œ€ํ•œ ์†Œํ†ต ์‹œ๊ฐ„
    • ๋ฉ˜ํ‹ฐ ์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ์ง„ํ–‰๋„์— ๋”ฐ๋ผ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ค์ •๋„ ์ง„ํ–‰ํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (Optional)
    • (๊ณตํ†ต ํ™œ๋™ ๋‚ด์šฉ์€ ๋‚ด์ผ ์ผ๊ณผ ์‹œ๊ฐ„ ๋‚ด๋กœ ์ •๋ฆฌํ•ด์„œ ๊ณต์œ ๋“œ๋ฆด ๊ฒƒ์ž…๋‹ˆ๋‹ค.)

7.15 1์ฐจ ๋ชจ์ž„ (๊ฐœ๋ฐœํ™˜๊ฒฝ ์„ค์ • ๋ฐ workflow ๊ธฐ๋Šฅ ์†Œ๊ฐœ)

  • Open Up์—์„œ 1์ฐจ ๋ชจ์ž„ ์ง„ํ–‰
  • ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ค์ • (dev-container)
  • ํ”Œ๋ ˆ์ด๊ทธ๋ผ์šด๋“œ ๋ฏธ์…˜ (DCO ๋ด‡ ์ฒดํฌ ํ†ต๊ณผ, GPG๋ฅผ ์ด์šฉํ•œ ์ปค๋ฐ‹, ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์ปจ๋ฒค์…˜)
    • ์‹ค์ œ ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ์— ๋ฐ”๋กœ ๋„์ „ํ•˜๊ธฐ ์ „์— ํ”Œ๋ ˆ์ด๊ทธ๋ผ์šด๋“œ๋ฅผ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ชฉํ‘œ๋Š” ์ด ํ”Œ๋ ˆ์ด๊ทธ๋ผ์šด๋“œ์˜ ํ”„๋กœ์ ํŠธ์— ์™ธ๋ถ€์ธ์˜ ์ž…์žฅ์—์„œ ์ด์Šˆ/PR/์ปค๋ฐ‹ ๋“ฑ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•˜์ง€๋งŒ ์ฒ˜์Œ ๊ฒฝํ—˜ํ•˜๋Š” ์ž…์žฅ์—์„œ๋Š” ์ƒ๊ฐํ•˜์ง€ ๋ชปํ•œ ๊ด€๋ฌธ์ด ์กด์žฌํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ ์ง‘์ค‘ํ•ด ์ฃผ์„ธ์š”. ์ฒซ ์ด์Šˆ๋ฅผ ์ผ์ฐ ํ•ด๊ฒฐํ•˜๋ฉด ์ถ”๊ฐ€๋กœ ์ง€์‹œํ•  ์‚ฌํ•ญ์„ ์ „๋‹ฌํ•ด ๋“œ๋ฆด ๊ฒƒ์ž…๋‹ˆ๋‹ค. ใ…Žใ…Ž
    • ์ €์žฅ์†Œ: https://github.com/ArgoWorkflows-OSS/ArgoWorkflows-OSS (opens in a new tab)
    • ๋ชฉํ‘œ : ์ด์Šˆ ํ…œํ”Œ๋ฆฟ์˜ ๋ฉค๋ฒ„ ํ”„๋กœํ•„ ์—…๋ฐ์ดํŠธ ์ด์Šˆ๋ฅผ ์„ ํƒํ•˜๊ณ , ์ด์Šˆ ๋‚ด์šฉ์— ๋”ฐ๋ผ ์ฒซ PR์„ ์ƒ์„ฑํ•ด์š”.

7.23 2์ฐจ ๋ชจ์ž„(๊ด€์‹ฌ์žˆ๋Š” ์ด์Šˆ์‚ฌํ•ญ ๊ณต์œ )

  • ์„ฑ์ˆ˜์— ๋ชจ์—ฌ์„œ 2์ฐจ ๋ชจ์ž„ ์ง„ํ–‰(๋ฌด์‹ ์‚ฌ ์žฅ์†Œ์ œ๊ณต - ์•ˆ๋‹คํ˜œ ๋ฉ˜ํ‹ฐ ์ง€์›)
  • ๊ด€์‹ฌ์žˆ๋Š” ์ด์Šˆ์— ๋Œ€ํ•ด ์†Œ๊ฐœํ•˜๊ณ , ์„œ๋กœ์˜ ๋ฌธ์ œ ๊ณต์œ ํ•˜๊ธฐ 6.meet.png

8.6 4์ฐจ ๋ชจ์ž„

๋ฐœํ‘œํ™œ๋™

  • argo event์™€ workflow, cd์—ฐ๋™
  • eBpf

7.meet.png

8.13 5์ฐจ ๋ชจ์ž„

๋ฐœํ‘œํ™œ๋™

  • webRTC

8.meet.png

8.20 6์ฐจ ๋ชจ์ž„

๋ฐœํ‘œํ™œ๋™

  • ๊ฐœ๋ฐœ์ž๊ฐ€ ์Šค์Šค๋กœ ๋ถ€ํ•˜ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜ ์žˆ๋Š” ํ”Œ๋žซํผ ๊ตฌ์ถ•๊ธฐ & K6 ๋ถ€ํ•˜ํ…Œ์ŠคํŠธ PoC

9.meet.png

[ํ”„๋กœ์ ํŠธ ํ™œ๋™ ๋‚ด์šฉ]

  1. [๊ธฐ์—ฌ๋ฅผ ์œ„ํ•œ ํ•™์Šต]
    1. ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์•„ํ‚คํ…์ฒ˜ ๊ฐ•์˜ - YouTube ๋งํฌ (opens in a new tab)
    2. ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋ฆฌ์†Œ์Šค ๊ฐ•์˜ - YouTube ๋งํฌ (opens in a new tab)
    3. Go Playground - https://go.dev/play/ (opens in a new tab)
  2. ๋ฐฐ์šด์  ๋ฐ ๋Š๋‚€์ 
    1. ํ”„๋กœ์ ํŠธ์— ๊ธฐ์—ฌํ•˜๊ธฐ ์œ„ํ•ด์„  ํ•ด๋‹น ๋ถ„์•ผ์˜ ๋„๋ฉ”์ธ ์ง€์‹์ด ์ค‘์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค. ๋‹จ์ˆœํžˆ ์›น์„œ๋น„์Šค์— ๊ธฐ์—ฌํ•˜๊ณ ์ž ํ•˜์˜€์ง€๋งŒ, ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์— ๋Œ€ํ•œ ์ง€์‹๋ถ€์กฑ์œผ๋กœ ํ™˜๊ฒฝ์…‹ํŒ…ํ•˜๋Š” ๊ฒƒ๋ถ€ํ„ฐ ์‰ฝ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
    2. ํฐ ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ์—์„  DCO/GPG ๊ฐ™์€ ๊ฒƒ์„ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋ฐฐ์› ๊ณ , ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ๊ฐ€ ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌ๋˜๊ณ  ์šด์˜๋˜๋Š”์ง€ ๋ฐฐ์›Œ๋ณผ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
  3. ์ด์Šˆ ๋ฐ PR๋‚ด์—ญ

๐ŸŒต ์ฐธ๊ฐ€ ํ›„๊ธฐ

์šฐ์„  โ€˜์˜คํ”ˆ์†Œ์Šค ์ปจํŠธ๋ฆฌ๋ทฐ์…˜โ€™์ด๋ผ๊ณ  ํ•˜๋ฉด ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๊ฐ์ •์ด ๊ต์ฐจํ•˜๋Š” ์ผ์ด์˜€์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๋“ค๊ณผ ํ•จ๊ป˜ ์˜คํ”ˆ์†Œ์Šค์— ๊ธฐ์—ฌํ•˜๊ณ , ์ด๋ฅผ ํ†ตํ•ด ๊ณต์œ /ํ˜‘์—…ํ•˜๋Š” ์˜คํ”ˆ์†Œ์Šค์˜ ๋ฌธํ™”๋ฅผ ๊ฒฝํ—˜ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ํฐ ๊ธฐ์จ์ด์ž ๋ณด๋žŒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด์ „์—๋„ ์—ฌ๋Ÿฌ์ฐจ๋ก€ ์ปจํŠธ๋ฆฌ๋ทฐํ†ค์„ ํ•  ๋•Œ ๊ฒช์—ˆ๋˜ ๋ง‰์—ฐํ•จ๊ณผ ๋‘๋ ค์›€์€ ๋˜ ๋‹ค์‹œ ๋„์ „ํ•˜๋Š” ๊ฒƒ์„ ์ฃผ์ €ํ•˜๊ฒŒ ํ•˜๋Š” ์ปค๋‹ค๋ž€ ๋ฒฝ์ด์˜€์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ 3๋ฒˆ์งธ ์ฐธ๊ฐ€๋ฅผ ๊ฒฐ์‹ฌํ•˜๊ฒŒ ๋˜์—ˆ์„ ๋•Œ ๋‹ค์งํ–ˆ๋˜ ๊ฒƒ์ด โ€˜์ด์ „์—๋Š” ํ•™์ƒ์ด๋ผ, ์ž˜ ๋ชฐ๋ผ์„œ, ์ทจ์—…์ค€๋น„๋กœ ๋ฐ”๋น ์„œ ๋“ฑ๋“ฑ์˜ ๋ณ€๋ช…์€ ๋” ์ด์ƒ ํ†ตํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ผญ ์ด๋ฒˆ์—” ์„ฑ๊ณตํ•ด์•ผ์ง€โ€™ ์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ๋žฌ๊ธฐ ๋•Œ๋ฌธ์— ๋”์šฑ ๋ถ€๋‹ด์ด ๋˜๊ธฐ๋„ํ•˜๊ณ  ์„ค๋ ˆ๊ธฐ๋„ ํ–ˆ๋˜ ์‹œ์ž‘ํ•  ๋•Œ์˜ ๋‹ค์ง์ด ์•„์ง๋„ ์ƒ์ƒํ•˜๋„ค์š”. ํ”„๋กœ์ ํŠธ๋ฅผ ์ง€์›ํ•  ๋•Œ, ์ž˜ ์•„๋Š” ๋ถ„์•ผ๋ฅผ ํ• ๊นŒ? ์ƒˆ๋กœ์šด ๋ถ„์•ผ๋ฅผ ํ• ๊นŒ? ๋ผ๋Š” ๊ณ ๋ฏผ์„ ํ–ˆ์—ˆ๋Š”๋ฐ ์Šค์Šค๋กœ์—๊ฒŒ ๊ณต๋ถ€๋„ ๋˜๊ณ  ์—ด์‹ฌํžˆ ํ•˜๊ธฐ ์œ„ํ•ด ์ ‘ํ•ด๋ณด์ง€ ์•Š์€ devops์™€ ๊ด€๋ จ๋œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง€์›ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฐ์ •์€ ์–ผ๋งˆ์ง€๋‚˜์ง€ ์•Š์•„ ํ›„ํšŒ๋กœ ๋‹ค๊ฐ€์™”์Šต๋‹ˆ๋‹ค. ๊ธฐ์—ฌ๋ฅผ ํ•˜๊ธฐ๋„ ์ „์— ๊ณต๋ถ€ํ•ด์•ผ ํ•  ๋‚ด์šฉ์ด ๋งŽ๊ณ , ํ”„๋กœ์ ํŠธ์˜ ๊ธฐ๋ณธ์ ์ธ ํ™˜๊ฒฝ๊ตฌ์ถ•์—๋„ ๋งŽ์€ ์‹œ๊ฐ„์ด ํ—ˆ๋น„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ํŒ€์›๋“ค๊ณผ ํ•จ๊ป˜ ๋งค์ผ๊ฐ™์ด ์„œ๋กœ์˜ ์–ด๋ ค์›€์„ ๊ณต์œ ํ•˜๊ณ  ๋„์›€์„ ์ฃผ๊ธฐ์œ„ํ•œ ์ ๊ทน์ ์ธ ํ™œ๋™์œผ๋กœ ๊ฐœ๋ฐœํ™˜๊ฒฝ์ด ๊ตฌ์ถ•๋˜์ž ๋„ˆ๋ฌด๋‚˜ ์„ค๋ ˆ๋Š” ์‹œ๊ฐ„์ด ๋‹ค๊ฐ€์™”์Šต๋‹ˆ๋‹ค. ํ™˜๊ฒฝ์ด ๊ตฌ์ถ•๋˜๊ณ  ๋‚ด๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ์ด์Šˆ๋ฅผ ์ฐพ๋Š” ๊ฒƒ๋„ ์ƒˆ๋กœ์šด ์ฆ๊ฑฐ์›€์ด์˜€์Šต๋‹ˆ๋‹ค. ์—…๋ฌด์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜๋‚˜ ๋ฒ„๊ทธ๋“ค์€ ์–ธ์ œ๋‚˜ ์˜ˆ๋ฏผํ•˜๊ฒŒํ•˜๊ณ  ๊ท€์ฐฎ์€ ๊ฒƒ์ด์˜€๋Š”๋ฐ, ์•„์นด๋ฐ๋ฏธ์—์„œ๋Š” ๋‚ด๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฏธ์…˜๊ณผ ๊ฐ™์ด ๋‹ค๊ฐ€์™”๊ณ , ๊ทธ ๊ณผ์ •์€ ๊ฒŒ์ž„๊ณผ ๊ฐ™์ด ์ฆ๊ฑฐ์› ์Šต๋‹ˆ๋‹ค.

์–ด๋Š๋ง ์ฐธ๊ฐ€ํ›„๊ธฐ๋ฅผ ์“ฐ๊ณ  ์žˆ๋Š” ์ง€๊ธˆ, ๋‚ด๊ฐ€ ๊ธฐ์—ฌํ•œ ๋‚ด์—ญ๋“ค์ด ๋„ˆ๋ฌด ๋ฟŒ๋“ฏํ•˜๊ณ  ๋Œ€๊ฒฌํ•œ ๋Š๋‚Œ์ด ๋“ญ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด๋Ÿฐ ๊ณผ์ •์„ ํ•จ๊ป˜ ๋„์™€์ค€ ๋™๋ฃŒ๋“ค๊ณผ ๋ฉ˜ํ† ๋‹˜์—๊ฒŒ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์•ž์œผ๋กœ๋Š” argo-workflow ํ”„๋กœ์ ํŠธ๋ฅผ ์—…๋ฌด์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์•ˆ์— ๋Œ€ํ•ด ๊ณ ๋ฏผํ•ด๋ณด๊ณ , ์ด ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์ด์Šˆ๋“ค์— ๋Œ€ํ•ด ์ ๊ทน์ ์œผ๋กœ ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉํ–ฅ์„ ๊ณ ๋ฏผํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋˜ ๋‹ค๋ฅธ ์ข‹์€ ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ๋‹ค๋ฉด ์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ์—๋„ ๊ธฐ์—ฌ๋ฅผ ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๐ŸŒต ๊ธฐ์—ฌ ์š”์•ฝ

Contribute Info

TOTAL COUNT
0
PR COUNT
0
ISSUE COUNT
0
GitHub
Type
Summary

4. ๊น€์ˆ˜๋นˆ

๐ŸŒฟ ๊ฐœ์ธ ์„ฑ๊ณผ ๋ณด๊ณ 

์ ‘๊ธฐ/ํŽผ์น˜๊ธฐ
  • ๊ฐœ์ธ ์„ฑ๊ณผ
    • ์ด์Šˆ 1๊ฐœ, PR 1๊ฐœ ๊ธฐ์—ฌ
  • ์ปจํŠธ๋ฆฌ๋ทฐ์…˜ ์ค€๋น„ ๊ณผ์ •
    • YouTube์— ์—…๋กœ๋“œ ๋œ OSSCA ๊ธฐ๋ณธ ๊ต์œก์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. Git, Vim ๋“ฑ ๊ธฐ์กด์—๋„ ๋งŽ์ด ์‚ฌ์šฉํ•ด๋ณด๊ณ  ๊ฐœ๋…๋„ ์•Œ๊ณ  ์žˆ๋Š” ๋‚ด์šฉ์ด์—ˆ์ง€๋งŒ, ํ‰์†Œ์— ์‚ฌ์šฉํ•˜๋ฉด์„œ ๋ชจ๋ฅด๊ณ  ์žˆ์—ˆ๊ฑฐ๋‚˜, ๋Œ€์ถฉ ์‚ฌ์šฉํ•˜๋˜ ๋ถ€๋ถ„๋“ค๋„ ๋งŽ์ด ์•Œ๊ณ  ์ดํ•ดํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
    • ArgoWorkflows-OSS/ArgoWorkflows-OSS ์ €์žฅ์†Œ์—์„œ Git ํ™˜๊ฒฝ ์„ค์ • ๋ฐ Issue์™€ PR์„ ์—ฐ๊ฒฐํ•˜๊ณ  ํด๋กœ์ฆˆํ•˜๋Š” ์˜ˆ์ œ๋ฅผ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. Argo Workflows๋Š” PR ์ƒ์„ฑ ์‹œ์— ๋ชจ๋“  ์ปค๋ฐ‹์ด gpg private key๋กœ ์„œ๋ช…๋˜์–ด ์žˆ์–ด์•ผ ํ•˜๊ณ , sign-off ๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ GitHub CI์—์„œ failure ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. Argo Workflows์— ์‹ค์ œ๋กœ ๊ธฐ์—ฌํ•˜๊ธฐ ์ „, ๋ฏธ๋ฆฌ ๋กœ์ปฌ Git ํ™˜๊ฒฝ์„ ์„ค์ •ํ•˜๊ณ  ๋ชจ์˜๋กœ PR์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ํฐ ๋„์›€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • Argo Workflows ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” devcontainer๋ฅผ ์ด์šฉํ•ด ์„ค์ •ํ–ˆ๊ณ , ์ดํ›„์— Nix๋ฅผ ์ด์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. Argo Workflows๋Š” ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ React UI, Argo Server, MySQL ๋“ฑ ์—ฌ๋Ÿฌ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํ•จ๊ป˜ ํ•„์š”ํ•ด ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์–ด๋ ค์šด ํŽธ์ธ๋ฐ, ์—ฌ๋Ÿฌ ์ฃผ์ฐจ์— ๊ฑธ์ณ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์™„์ „ํžˆ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ปจํŠธ๋ฆฌ๋ทฐ์…˜ ์ง„ํ–‰ ๋‚ด์šฉ
    • ๋ฒ„๊ทธ์ˆ˜์ • Nix go build ์ˆ˜์ •
      • https://github.com/argoproj/argo-workflows/pull/11635 (opens in a new tab)
      • ๊ธฐ์กด ์ฝ”๋“œ ๋ฒ ์ด์Šค๋Š” Go 1.20์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ์œผ๋‚˜, Nix ๋นŒ๋“œ ํŒŒ์ผ์—์„œ๋Š” Go 1.19๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด์—๋Š” ๋นŒ๋“œ๊ฐ€ ๋ฌธ์ œ ์—†์ด ๋˜์—ˆ์—ˆ์ง€๋งŒ, Go 1.20์— ์ƒˆ๋กœ ์ถ”๊ฐ€๋œ ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด์„œ Nix ๋นŒ๋“œ์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.
      • _module.args ๋ฅผ ์ด์šฉํ•ด Go 1.20์„ ๊ธฐ๋ณธ์œผ๋กœ ์‚ฌ์šฉํ•˜๋„๋ก ์ˆ˜์ •ํ•˜๊ณ , Nix ๋นŒ๋“œ๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • ๊ธฐ๋Šฅ๊ฐœ์„  Nix go vendor hash ์ž๋™ ๊ฐฑ์‹ 
      • https://github.com/argoproj/argo-workflows/issues/11691 (opens in a new tab)
      • ์ปจํŠธ๋ฆฌ๋ทฐ์…˜์„ ์ค€๋น„ํ•˜๋Š” ๊ณผ์ •์—์„œ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์„ค์ •ํ•  ๋•Œ ์•Œ๊ฒŒ ๋œ ์ด์Šˆ์ž…๋‹ˆ๋‹ค. Nix๋Š” ์žฌํ˜„ ๊ฐ€๋Šฅํ•œ ๋นŒ๋“œ๋ฅผ ์ถ”๊ตฌํ•˜๋Š”๋ฐ, GitHub์˜ Dependabot์ด ์ž๋™์œผ๋กœ Go module ๋ฒ„์ „์„ ์˜ฌ๋ ค์ค„ ๋•Œ Nix์˜ ์˜์กด์„ฑ hash ๊ฐ’์€ ํ•จ๊ป˜ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
      • ์ด๋กœ ์ธํ•ด ์ข…์ข… ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์„ค์ •ํ•  ๋•Œ ๊ฐœ๋ฐœ์ž๋“ค์ด ์ง์ ‘ ์ˆ˜๋™์œผ๋กœ Nix์˜ go vendor hash๋ฅผ ๊ณ„์‚ฐํ•ด ๊ฐฑ์‹ ํ•ด์•ผ ํ•˜๋Š” ์ƒํƒœ์ธ๋ฐ, ์ด๋ฅผ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ํ•ด๊ฒฐ ๊ฐ€๋Šฅํ•œ ๋ฐฉ๋ฒ•๋“ค์„ ์ฐพ์•„๋ณด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
      • ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ๊ธฐ์—ฌ์ž๋“ค๊ณผ ํ•จ๊ป˜ ์ฐพ๊ธฐ ์œ„ํ•ด, ๊ธฐ์กด PR๊ณผ Comment๋“ค์˜ ๋‚ด์šฉ์„ ๋ชจ์•„ Issue๋ฅผ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.
      • ๊ธฐ์กด ๋‹ค๋ฅธ ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ๋“ค์—์„œ๋„ ํ•ด๊ฒฐํ•˜์ง€ ์•Š๊ณ  ๊ฐœ๋ฐœ์ž๋“ค์ด ์ˆ˜๋™์œผ๋กœ ๋ฐ˜์˜ํ•˜๊ณ  ์žˆ๋Š” ์ƒํƒœ์—ฌ์„œ, Argo Workflows์—์„œ ๊ธฐ์—ฌํ•œ ์ดํ›„์—๋Š” ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ๋“ค์—๋„ ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
    • ๊ธฐ๋Šฅ๊ฐœ์„  CHANGELOG.md ์Šคํฌ๋ฆฝํŠธ ๊ฐœ์„ 
      • https://github.com/argoproj/argo-workflows/pull/11733 (opens in a new tab)
      • Markdownlint๋Š” ํ”„๋กœ์ ํŠธ ๋‚ด ๋ฌธ์„œ๋“ค์„ ์ผ๊ด€๋œ ํ˜•์‹์œผ๋กœ ์ž‘์„ฑ๋  ์ˆ˜ ์žˆ๋„๋ก ๊ฐ•์ œํ•˜๊ณ , ๋ฌธ์„œ๋ฅผ ๋” ์ฝ๊ณ  ์ˆ˜์ •ํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
      • ๊ธฐ์กด์— Markdownlint๋ฅผ ์‚ฌ์šฉํ•ด ํ”„๋กœ์ ํŠธ Markdown ๋ฌธ์„œ์— ๋Œ€ํ•œ ๋ฆฐํ„ฐ ์„ค์ •์„ ๊ตฌ์„ฑํ–ˆ์—ˆ๋Š”๋ฐ, ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•ด ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” CHANGELOG.md ํŒŒ์ผ์€ ๋ฆฐํ„ฐ ๋ฃฐ์— ๋งž์ง€ ์•Š์•„ ์ด๋ฅผ ๊ฐœ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค.
      • ๋ณ€๊ฒฝ๋œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ†ตํ•ด ์ƒˆ๋กœ ์ƒ์„ฑ๋œ CHANGELOG.md ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ์ด PR์— ๋‹ด๊ฒจ ์žˆ์Šต๋‹ˆ๋‹ค. โ†’ https://github.com/argoproj/argo-workflows/pull/11773 (opens in a new tab)
    • ๊ธฐ๋Šฅ๊ฐœ์„  ๋ฌธ์„œ ์Šคํƒ€์ผ ๊ฐœ์„ 
      • https://github.com/argoproj/argo-workflows/pull/11787 (opens in a new tab)
      • Markdownlint๋ฅผ ๋”ฐ๋ฅด์ง€ ์•Š๋Š” ์ผ๋ถ€ ๋ฌธ์„œ๋“ค์˜ ์Šคํƒ€์ผ์„ ๊ฐœ์„ ํ–ˆ๊ณ , ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” ๋ฌธ์„œ๋“ค์— ๋Œ€ํ•ด์„œ๋Š” ์ดํ›„ PR์—์„œ ์ˆ˜์ •ํ•˜๊ธฐ๋กœ ๊ณต์œ ํ–ˆ์Šต๋‹ˆ๋‹ค.

๐ŸŒต ์ฐธ๊ฐ€ ํ›„๊ธฐ

  • ํ”„๋กœ๊ทธ๋žจ ์ฐธ๊ฐ€ ํ›„๊ธฐ
    • ํ˜ผ์ž์„œ ๊ธฐ์—ฌํ•˜๋ ค๊ณ  ํ–ˆ๋‹ค๋ฉด ๋ถˆ๊ฐ€๋Šฅํ–ˆ์„ ๊ฒƒ ๊ฐ™์€๋ฐ, ๋ฉ˜ํ†  ๋‹˜๊ณผ ๋‹ค๋ฅธ ๋ฉ˜ํ‹ฐ ๋ถ„๋“ค๊ณผ ํ•จ๊ป˜ ๋ชจ์—ฌ์„œ ๊ณต๋ถ€ํ•˜๊ณ  ๊ธฐ์—ฌํ•˜๋ฉด์„œ ์ €๋„ ๊ธฐ์—ฌ๋ฅผ ์ค€๋น„ํ•˜๊ณ  ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
    • Argo Project ์ƒํƒœ๊ณ„์™€ ์ปค๋ฎค๋‹ˆํ‹ฐ์— ๋Œ€ํ•ด ์ดํ•ดํ•˜๊ณ , Argo Workflows ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•ด ์ „๋ณด๋‹ค ํ›จ์”ฌ ๊นŠ๊ฒŒ ์ดํ•ดํ•˜๊ฒŒ ๋˜์–ด ์ข‹์•˜์Šต๋‹ˆ๋‹ค.
  • ํ–ฅํ›„ ๊ธฐ์—ฌ ๊ณ„ํš
    • ํ˜„์žฌ ์ƒ์„ฑํ•œ Issue์—์„œ ๊ธฐ์—ฌ์ž๋“ค๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋…ผ์˜ํ•˜๊ณ , ์ด๋ฅผ ๊ตฌํ˜„ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.
    • ์ดํ›„์— Nix ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ๊ฐœ์„ ํ•˜๊ณ , devcontainer๋กœ ๊ตฌ์„ฑ๋œ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์ ์ง„์ ์œผ๋กœ Nix๋กœ ์ด์ „ํ•˜๋Š” ์ž‘์—…์„ ์ง„ํ–‰ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.
    • Nix์™€ ๊ด€๋ จํ•œ ๋ฌธ์„œ๊ฐ€ ๋นˆ์•ฝํ•ด, ๋ฌธ์„œ๋„ ๊ฐœ์„ ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

๐ŸŒต ๊ธฐ์—ฌ ์š”์•ฝ

Contribute Info

TOTAL COUNT
0
PR COUNT
0
ISSUE COUNT
0
GitHub
Type
Summary

5. ๊น€ํ•™์ค€

๐ŸŒฟ ๊ฐœ์ธ ์„ฑ๊ณผ ๋ณด๊ณ 

์ ‘๊ธฐ/ํŽผ์น˜๊ธฐ

๋ฆฌํŒฉํ† ๋ฆฌ

fix: Upgrade Go to v1.21 Fixes #11556[**Merged]**

  • Argo Workflows๋Š” Go์–ธ์–ด๋กœ ๊ฐœ๋ฐœ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • Go Version์„ 1.20 โ†’ 1.21๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•˜๋Š” Issue๊ฐ€ ๋ฐœํ–‰๋˜์–ด ํ•ด๊ฒฐํ•ด๋ณด์ž ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • ์ด์Šˆ ํ•ด์ปคํ†ค ๊ธฐ๊ฐ„์— ํ•ด๋‹น ์ด์Šˆ๋ฅผ ์ œ์‹œํ•˜์—ฌ ๊ฐ™์€ ํŒ€์› ๋ถ„๋“ค๊ณผ ํ•จ๊ป˜ ์ด์Šˆ ํ•ด๊ฒฐ ๋ฐ PR์„ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ฒซ PR๊ณผ ์ฒซ ์ปจํŠธ๋ฆฌ๋ทฐํ„ฐ ๋ฑƒ์ง€๋ฅผ ๋‹ฌ์•„๋ณผ ์ˆ˜ ์žˆ๋Š” ์˜๊ด‘์Šค๋Ÿฌ์šด ์‹œ๊ฐ„์ด์—ˆ์Šต๋‹ˆ๋‹ค.

fix: Upgrade Go to v1.21 Fixes #11556 by junkmm ยท Pull Request #11601 ยท argoproj/argo-workflows(opens in a new tab) (opens in a new tab)

์†Œ๊ทธ๋ฃน ๋ฐœํ‘œ

  • Challenges ๊ธฐ๊ฐ„์— Argo Projects๋ฅผ ํ™œ์šฉํ•œ CI/CD ๊ตฌํ˜„ํ–ˆ๋˜ ๊ฒฐ๊ณผ๋ฅผ ์ฃผ์ œ๋กœ Offline ๋ฏธํŒ… ์‹œ๊ฐ„์— ๋ฐœํ‘œํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ์Šต๋‹ˆ๋‹ค.

  • ๋ฐœํ‘œํ•˜๋ฉฐ ์ œ ์ƒ๊ฐ์„ ์ •๋ฆฌํ•˜๊ณ , ์„œ๋กœ ๋Œ€ํ™”ํ•˜๋ฉฐ ๋ฐ๋ธŒ์˜ต์Šค์™€ Argo Project ์ƒํƒœ๊ณ„๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ตํ•œ ์‹œ๊ฐ„์ด์—ˆ์Šต๋‹ˆ๋‹ค. meet ์ด์Šˆ ํ•ด์ปคํ†ค

  • ์ปจํŠธ๋ฆฌ๋ทฐ์…˜ ํ™œ๋™์— ์ง„์ž… ์žฅ๋ฒฝ๊ณผ ๋™๊ธฐ๋ถ€์—ฌ๋ฅผ ์œ„ํ•ด ์•ˆ๋‹คํ˜œ๋‹˜์˜ ์˜๊ฒฌ์œผ๋กœ ๋ฉ˜ํ† ๋‹˜ ์ฃผ๋„ํ•˜์— ์ด์Šˆํ•ด์ปคํ†ค์ด ์ง„ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฉ˜ํ† ๋‹˜์˜ ์ฃผ๋„ํ•˜์— ์„ฑ๋ฝ๋‹˜๊ณผ, ๋ฌธ์˜๋‹˜, ๋ณ‘์„ ๋‹˜๊ณผ ๊ฐ™์€ ํŒ€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • ์ด ๊ธฐ๊ฐ„์— ์ œ๊ฐ€ ์ œ์‹œํ•œ go 1.20 โ†’ 1.21 ์—…๊ทธ๋ ˆ์ด๋“œ ์ด์Šˆ ํ•ด๊ฒฐ ์„ฑ๊ณผ๋ฅผ ๋‹ฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

  • Argo Workflows์— ๋‚ด์žฅ๋œ Prometheus Metric ๊ฐ’์„ ์ถ”๊ฐ€ํ•˜๋Š” Issue๋ฅผ ํ•ด๊ฒฐํ•ด๋ณด๊ณ ์ž ํ–ˆ์œผ๋‚˜, ๋†’์€ ๋‚œ์ด๋„๋กœ ์ธํ•ด ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๊ณผ์ •์„ ํ†ตํ•ด Prometheus๋Š” ๋ณ„๋„์˜ Exporter๋ฅผ ์„ค์น˜ํ•ด์•ผ๋งŒ ํ•œ๋‹ค ๋ผ๋Š” ์ œ ๊ณ ์ •๊ด€๋…์ด ๋ฌด๋„ˆ์ง€๊ณ  ์‹œ์•ผ๊ฐ€ ํ™•์žฅ๋˜๋Š” ์ข‹์€ ๊ฒฝํ—˜์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. plan to add workflow labels to the metric? ยท Issue #9849 ยท argoproj/argo-workflows(opens in a new tab) (opens in a new tab)

  • ์•„๋ž˜ ์ด์Šˆ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ ์ž ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Compile expr in config ยท Issue #11609 ยท argoproj/argo-workflows(opens in a new tab) (opens in a new tab)

์™• ์ดˆ๋ณด ํŠน๋ณ„๋ฐ˜ - Container Playground

  • Argo Workflows๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋„ค์ดํ‹ฐ๋ธŒ ํ™˜๊ฒฝ์—์„œ ๊ธฐ๋™๋˜๋Š” ์˜คํ”ˆ์†Œ์Šค ์ž…๋‹ˆ๋‹ค.
  • ๋ฉ˜ํ† ๋‹˜์€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์— ๋Œ€ํ•œ ์ง€์‹์ด ์žˆ์–ด์•ผ ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์ ‘๊ทผํ•˜๋Š”๋ฐ ์žˆ์–ด ๋„์›€์ด ๋œ๋‹ค๊ณ  ํ•˜์‹œ๋ฉฐ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์Šคํ„ฐ๋””๋ฅผ Open ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • ์ฒซ ๋ฒˆ์งธ ๋ฏธ์…˜์€ ์ œ์‹œํ•˜๋Š” ์กฐ๊ฑด์— ๋งŒ์กฑํ•˜๋Š” Web Container๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. goal
  • ํ‰์†Œ์— Dockerfile์„ ์ƒ๊ฐ์—†์ด ์ž‘์„ฑํ•˜๋˜ ์ €์— ๋Œ€ํ•ด ๋ฐ˜์„ฑํ•˜๊ฒŒ ๋๊ณ , ๋ฉ€ํ‹ฐ ์Šคํ…Œ์ด์ง•๊ณผ ๋นŒ๋“œ ์†๋„์™€ ๋„์ปคํŒŒ์ผ ์ž‘์„ฑ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๊ด€๊ณ„๋ฅผ ๋ฐฐ์šธ์ˆ˜ ์žˆ๋˜ ์ข‹์€ ์‹œ๊ฐ„์ด์—ˆ์Šต๋‹ˆ๋‹ค.

๐ŸŒต ์ฐธ๊ฐ€ ํ›„๊ธฐ

์ฐธ๊ฐ€ ํ›„๊ธฐ

๊ฒฐ๋ก  ๋จผ์ € ๋ง์”€๋“œ๋ฆฌ๋ฉด ๋งŒ์กฑ์ค‘์— ๋Œ€ ๋งŒ์กฑ ์ž…๋‹ˆ๋‹ค. ์ปจํŠธ๋ฆฌ๋ทฐ์…˜ ์ดˆ๊ธฐ ์ •๋ง ์˜คํ”ˆ์†Œ์Šค ์ƒํƒœ๊ณ„๋ฅผ ์ž˜ ์•Œ์ง€ ๋ชปํ–ˆ๋˜ ์ €์— ๋น„ํ•˜๋ฉด ํ˜„์žฌ์˜ ์ €์™€๋Š” ๋น„๊ตํ•  ์ˆ˜ ์—†์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋Œ€ ๋งŒ์กฑํ•˜๋Š” ์ด์œ ๋Š” ์ฒซ์งธ, ๋˜‘๋˜‘ํ•œ ์กฐ์› ๋ถ„๋“ค ์ž…๋‹ˆ๋‹ค. ๋งค์ฃผ ๋‹ค์–‘ํ•œ ์ฃผ์ œ์™€ ์‚ฌ๋žŒ๋“ค ๊ป˜์„œ ํ˜„์—…์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ์ˆ , ๊ด€์‹ฌ์žˆ๋Š” ๊ธฐ์ˆ  ๋“ฑ ๋ฐœํ‘œ๋ฅผ ์ •๋ง ๋งŽ์ด ํ•ด ์ฃผ์…จ๋Š”๋ฐ, ์–ด๋””๊ฐ€์„œ ๋“ค์„ ์ˆ˜ ์—†๋Š” ๋ช…ํ’ˆ ๊ฐ•์˜์˜€๊ณ , ์ •๋ง ๋งŽ์€ ๋„์›€์ด ๋œ ์‹œ๊ฐ„์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋‘˜์งธ, ๋“ ๋“ ํ•œ ์กฐ์› ๋ถ„๋“ค ์ž…๋‹ˆ๋‹ค. ์•„๋ฌด๋ž˜๋„ ๊ฐœ๋ฐœ ๊ฒฝํ—˜์ด ์ ์€ ์ €๋กœ์จ ์ด ์ปจํŠธ๋ฆฌ๋ทฐ์…˜ ๊ธฐ๊ฐ„์ด ์กฐ๊ธˆ ๋ฌด์„œ์› ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ €ํฌ ๋ฆฌ๋” ๋ฉ˜ํ‹ฐ๋‹˜์ธ ์„ฑ๋ฝ๋‹˜์„ ๋น„๋กฏํ•˜์—ฌ ๋งŽ์€ ๋ถ„๋“ค์ด ์Šฌ๋ž™์— ์งˆ๋ฌธ์„ ์˜ฌ๋ ธ์„๋•Œ ์ ๊ทน์ ์œผ๋กœ ์•Œ๋ ค์ฃผ์‹  ๋•๋ถ„์— ์ œ๊ฐ€ ๊ฒช์€ ๋ฌธ์ œ๋“ค์„ ์Šค๋ฌด์Šค ํ•˜๊ฒŒ ๋„˜์–ด๊ฐˆ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์…‹์งธ, ์พŒ์ ํ•œ ๋ชจ์ž„ ๊ณต๊ฐ„๊ณผ ๋“ ๋“ ํ•œ์ง€์›์ž…๋‹ˆ๋‹ค. ๋งค์ฃผ ์ผ์š”์ผ ์„œ์ดˆ ์˜คํ”ˆ์—… ๊ณต๊ฐ„์—์„œ ๋ชจ์ž„์„ ํ–ˆ๋Š”๋ฐ, ์‹ ์ถ• ๊ฑด๋ฌผ์ธ์ง€ ์ •๋ง ๊น”๋”ํ•˜๊ณ , ํƒ•๋น„์‹ค์˜ ์ปคํ”ผ์™€ ๊ฐ„์‹์€ ๊ทธ์ € ๋น›์ด์˜€์Šต๋‹ˆ๋‹ค. ๋˜ ์ค‘๊ฐ„ ํšŒ์‹์—์„œ๋Š” ์ •๋ง ๋ฐฐํ„ฐ์ง€๊ฒŒ ๋ง›์žˆ๋Š” ์–‘๊ผฌ์น˜๋ฅผ ๋จน์„ ์ˆ˜ ์žˆ์–ด์„œ ์ข‹์•˜์Šต๋‹ˆ๋‹ค.

์•ž์œผ๋กœ์˜ ๊ณ„ํš

์˜ฌํ•ด ์ปจํŠธ๋ฆฌ๋ทฐ์…˜ ํ™œ๋™์„ ํ†ตํ•ด ํ™•์‹คํžˆ ์˜คํ”ˆ์†Œ์Šค ์ƒํƒœ๊ณ„๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ ์•„์‰ฌ์šด์ ์ด ์žˆ๋‹ค๋ฉด ์ดˆ๋ฐ˜์— ๋ฌด์„œ์›Œ์„œ? ์†Œ๊ทน์ ์œผ๋กœ ํ™œ๋™ ํ–ˆ๋˜ ๊ฒƒ๊ณผ, ์•„๋ฌด๋ž˜๋„ ์†Œ๊ทน์ ์ผ ์ˆ˜ ๋ฐ–์— ์—†์—ˆ๋˜ ์ œ ์ž‘๊ณ  ๊ท€์—ฌ์šด ์ฝ”๋”ฉ ์‹ค๋ ฅ์ž…๋‹ˆ๋‹ค. ์ €๋Š” ์ปจํŠธ๋ฆฌ๋ทฐ์…˜ ํ™œ๋™ ๊ธฐ๊ฐ„์ด ์ •๋ง ๊ฐ’์กŒ๊ธฐ ๋•Œ๋ฌธ์—, ์ €์˜ ๋ฏธํกํ•œ ์ ์„ ๋ณด์™„ํ•ด์„œ ๋‹ค์Œ ํ•ด ์—๋„ ๊ผญ ์ฐธ์—ฌํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๐ŸŒต ๊ธฐ์—ฌ ์š”์•ฝ

Contribute Info

TOTAL COUNT
0
PR COUNT
0
ISSUE COUNT
0
GitHub
Type
Summary

6. ๋ฐ•์ง„์ˆ˜

๐ŸŒฟ ๊ฐœ์ธ ์„ฑ๊ณผ ๋ณด๊ณ 

์ ‘๊ธฐ/ํŽผ์น˜๊ธฐ

๊ธฐ๋Šฅ๊ฐœ์„ 

A new feature to support Secrets as a type of parameters (๋งํฌ (opens in a new tab))

1.picture

2.picture

๊ธฐ์กด์˜ Argo Workflow๋Š” WorkflowTemplate์— argument(์ธ์ž)๋ฅผ ์ „๋‹ฌํ•  ๋•Œ ์ง์ ‘ ์ธ์ž๋ฅผ ์ •์˜ํ•  ์ˆ˜๋„ ์žˆ๊ณ , ConfigMap์„ ์ฐธ์กฐํ•˜๋„๋ก ์„ค์ •ํ•  ์ˆ˜๋„ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ผ๋ฐ˜์ ์ธ kubernetes ์ƒํƒœ๊ณ„๋ฅผ ์ง€์›ํ•˜๋Š” ๋‹ค๋ฅธ ๋„๊ตฌ๋“ค๊ณผ ๋‹ฌ๋ฆฌ Secret์„ ์ฐธ์กฐํ•˜๋Š” ๊ธฐ๋Šฅ์€ ์ง€์›๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์ด์— ๋Œ€ํ•œ Feature request๊ฐ€ https://github.com/argoproj/argo-workflows/issues/5506์—์„œ (opens in a new tab) ์ด๋ฃจ์–ด์ง€๊ธฐ ์‹œ์ž‘ํ–ˆ๊ณ , ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด Draft PR์„ ๋งŒ๋“ค์–ด๋‘” ์ƒํƒœ์ž…๋‹ˆ๋‹ค.

์ด ๊ธฐ๋Šฅ์€ ํŠนํžˆ๋‚˜ Kubernetes์—์„œ์˜ CustomResourceDefinition์ด๋ผ๋Š” ์ธํ„ฐํŽ˜์ด์Šค์™€ ๊ฐ™์€ ๊ฒƒ์˜ ์ •์˜๋ฅผ ๋ฐ”๊ฟ”์•ผํ•˜๊ณ , workflow๊ฐ€ ์ƒ์„ฑ๋˜์–ด ์‚ฌ์ด๋“œ์นด๋ฅผ ์ฃผ์ž…๋ฐ›๊ณ  Pod๋กœ ์ƒ์„ฑ๋˜๋Š” ์ผ๋ จ์˜ ๋ผ์ดํ”„์‚ฌ์ดํด์„ ๋ชจ๋‘ ํŒŒ์•…ํ•ด์•ผํ–ˆ๊ธฐ์— ๊ฐœ๋ฐœํ•˜๊ธฐ ์‰ฝ์ง€ ์•Š์€ ํŽธ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ, ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด๋‚˜๊ฐ€๋ฉด์„œ Workflow๊ฐ€ ๊ฒฐ๊ตญ Pod์™€ container๋กœ ๋ณ€ํ™˜๋˜์–ด ๋™์ž‘ํ•˜๊ฒŒ ๋˜๋Š” ๊ณผ์ •์„ ๊นŠ์ด ์žˆ๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ , Workflow๊ฐ€ ๋‚ด๋ถ€์ ์œผ๋กœ context ๋ฐ argument๋ฅผ templatingํ•˜๋Š” ๋กœ์ง๋„ ๋งŽ์ด ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ์ด์Šˆ์˜€์Šต๋‹ˆ๋‹ค.

์ด์Šˆ์ƒ์„ฑ

Incorrect creator labels on a resubmitted Workflow (๋งํฌ (opens in a new tab))

3.picture

4.picture

Argo Workflow์—๋Š” ๋™์ผํ•œ template์„ ๋ฐ”ํƒ•์œผ๋กœ Workflow๋ฅผ ๋‹ค์‹œ ์ƒ์„ฑํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” Resubmit์ด๋ผ๋Š” ๊ธฐ๋Šฅ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. Resubmit๋œ Workflow์˜ ๊ฒฝ์šฐ Workflow ์ƒ์„ฑ ์œ ์ € ๊ด€๋ จ k8s object label์ด Resubmitํ•œ ์œ ์ €๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์„ค์ •๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ธฐ์กด ์ž˜๋ชป๋œ ๊ฐ’์œผ๋กœ ์„ค์ •๋˜๋Š” ๋ฒ„๊ทธ๊ฐ€ ์กด์žฌํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๋กœ ์ธํ•ด ํ•œ Workflow๋ฅผ ์‹คํ–‰ํ•œ ์œ ์ €์™€ ๊ทธ Workflow๋ฅผ Resubmitํ•œ ์œ ์ €๊ฐ€ ๋‹ค๋ฅด๋ฉด Resubmit์„ ํ†ตํ•ด ์ƒ์„ฑ๋œ Workflow์—๋Š” ์ž˜๋ชป๋œ Workflow ์ƒ์„ฑ ์œ ์ € ๊ด€๋ จ k8s object label์ด ๋ถ™๊ณค ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด์— ๋Œ€ํ•œ ์ด์Šˆ๋ฅผ ์ œ๊ธฐํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ฒ„๊ทธ์ˆ˜์ •

fix: Apply the creator labels about the user who resubmitted a Workflow (๋งํฌ (opens in a new tab))

5.picture

6.picture

์•ž์„œ ์ƒ์„ฑํ–ˆ๋˜ ์ด์Šˆ(๋ฒ„๊ทธ)๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” Pull Request๋ฅผ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

Resubmit ์‹œ์— ๊ธฐ์กด Workflow ์‹คํ–‰์ž์˜ ์ •๋ณด๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ณ  Resubmitํ•œ ์œ ์ € ์ •๋ณด๋งŒ์„ ๋ฐ”ํƒ•์œผ๋กœ ์˜ฌ๋ฐ”๋ฅธ Workflow ์ƒ์„ฑ์ž k8s object label์„ ๋‹ฌ๋„๋กํ•˜์—ฌ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ์‚ฌํ•ญ์— ๋Œ€ํ•œ ์˜ˆ์‹œ๋กœ foo๋ผ๋Š” ์œ ์ €๊ฐ€ ์‹คํ–‰ํ•œ Workflow๋ฅผ bar๋ผ๋Š” ์œ ์ €๊ฐ€ Resubmitํ•œ ๊ฒฝ์šฐ, ์ธ์ฆ๋˜์ง€ ์•Š์€ ์œ ์ €๊ฐ€ Resubmitํ•œ ๊ฒฝ์šฐ creator ๊ด€๋ จ label์ด ์–ด๋–ป๊ฒŒ ๋‹ฌ๋ฆฌ๋Š”์ง€๋ฅผ ์ œ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ๋‹ค๋ฅธ ์ฝ”๋“œ์—๋„ ๋งŽ์€ ์˜ํ–ฅ์„ ๋ผ์นœ ๋ถ€๋ถ„์ด ์กด์žฌํ•ด ์ด์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋„ ์ž‘์„ฑํ•ด ์•ˆ์ •์„ฑ์„ ๋†’์˜€์Šต๋‹ˆ๋‹ค.

๊ธฐ๋Šฅ๊ฐœ์„ 

feat: Propagate creator labels of a CronWorkflow to the Workflow to be scheduled (๋งํฌ (opens in a new tab))

7.picture

8.picture

๋กœ๊ทธ์ธํ•œ ์œ ์ €๊ฐ€ CronWorkflow๋ฅผ ๋งŒ๋“  ๊ฒฝ์šฐ CronWorkflow์—๋Š” ์ƒ์„ฑ์ž์— ๋Œ€ํ•œ k8s object label์ด ๋ถ™๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ CronWorkflow์˜ ์„ค์ •์„ ๋ฐ”ํƒ•์œผ๋กœ ์ฃผ๊ธฐ์ ์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” Workflow์—๋Š” ํ•ด๋‹น k8s object label์ด ๋ถ™์ง€ ์•Š๊ฒŒ ๋˜๋Š” ์ด์Šˆ๊ฐ€ ์กด์žฌํ–ˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ CronWorkflow๋กœ ์ƒ์„ฑ๋˜๋Š” Workflow๋“ค์ด CronWorfklow์˜ ์ƒ์„ฑ์ž ๋ผ๋ฒจ์„ ๊ทธ๋Œ€๋กœ ์ „ํŒŒ๋ฐ›๋„๋ก ๊ฐœ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด์Šˆ์ƒ์„ฑ

Insufficient logging in /oauth2/callback handler when using SSO Authentication (๋งํฌ (opens in a new tab))

9.picture

Keycloak์ด๋ผ๋Š” Identity Provider ์˜คํ”ˆ์†Œ์Šค ์ œํ’ˆ์„ ์ด์šฉํ•ด Argo Workflows์— SSO(Single Sign On)์œผ๋กœ ์ธ์ฆ ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™”ํ•˜๋ คํ–ˆ์œผ๋‚˜ ์ด ๊ณผ์ •์—์„œ ๋กœ๊ทธ๊ฐ€ ๋ถ€์กฑํ•ด ํ™œ์„ฑํ™” ์ž‘์—…์ด ํฌ๊ฒŒ ์ง€์—ฐ๋œ ๊ฒƒ์„ ๊ฒฝํ—˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์— ํ•ด๋‹น ๊ธฐ๋Šฅ ํ™œ์„ฑํ™” ์ž‘์—…์— ๋Œ€ํ•œ ๋กœ๊น… ๊ฐ•ํ™”๋ฅผ ์ฃผ์ œ๋กœํ•œ ์ด์Šˆ๋กœ ์—ด์—ˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋Šฅ๊ฐœ์„ 

feat: Improve logging in the oauth2 callback handler (๋งํฌ (opens in a new tab))

10.picture

์œ„์—์„œ ์–ธ๊ธ‰ํ•œ ์ด์Šˆ(๋ธ”๋ก ๋งํฌ (opens in a new tab))๋ฅผ ํ•ด๊ฒฐํ•œ Pull Request์ž…๋‹ˆ๋‹ค. SSO๋ฅผ ์œ„ํ•ด OAuth2 Protocol์„ ์ด์šฉํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ ์ผ€์ด์Šค๋ณ„๋กœ ์—๋Ÿฌ ๋กœ๊ทธ๋ฅผ ์ถœ๋ ฅํ•˜๋„๋ก ๊ธฐ๋Šฅ์„ ๊ฐœ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ Pull Request์˜ Reviewer๊ฐ€ ์ข€ ๋” ํŽธํ•˜๊ฒŒ ๋ฆฌ๋ทฐํ•  ์ˆ˜ ์žˆ๋„๋ก, Pull Request๊ฐ€ ์„ค๋“๋ ฅ์„ ๊ฐ–๋„๋ก, ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ๋Š” Verification์„ ์ฝ”๋“œ๋กœ ๋‚˜ํƒ€๋ƒˆ์Šต๋‹ˆ๋‹ค.

๊ณต๋ถ€

docs: Add a user named ๋ฐ•์ง„์ˆ˜ (๋งํฌ (opens in a new tab))

11.picture

ํ–‰์‚ฌ๋ฅผ ์‹œ์ž‘ํ•˜๋ฉด์„œ ๋ฉ˜ํ† ๋‹˜๊ป˜์„œ GitHub์—๊ณผ ์นœํ•ด์งˆ ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด์ฃผ๋Š” ๋ ˆํฌ์ง€ํ† ๋ฆฌ์˜ ๋ฉค๋ฒ„ ํ”„๋กœํ•„์— ์ €์— ๋Œ€ํ•œ ์†Œ๊ฐœ๋ฅผ ์ถ”๊ฐ€ํ•ด Pull Request๋ฅผ ์ƒ์„ฑํ•ด๋ณด๋Š” ์‹ค์Šต์„ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

๐ŸŒต ์ฐธ๊ฐ€ ํ›„๊ธฐ

๊ทธ๋™์•ˆ ์ˆ˜๋งŽ์€ ์˜คํ”ˆ์†Œ์Šค๋ฅผ ํ™œ์šฉํ•ด ์—…๋ฌด๋ฅผ ํ•˜๊ณ  ์ทจ๋ฏธ์ƒํ™œ์„ ํ•˜๋ฉด์„œ๋„ ๋‹จ์ˆœํžˆ ์‚ฌ์šฉ์ž๋กœ์„œ๋งŒ ๋‚จ์•„์žˆ์—ˆ๋˜ ์ œ๊ฐ€ ์œ ๋ช… ์˜คํ”ˆ์†Œ์Šค์˜ ์ปจํŠธ๋ฆฌ๋ทฐํ„ฐ๊ฐ€ ๋  ์ˆ˜ ์žˆ์—ˆ๋˜ ์ข‹์€ ๊ธฐํšŒ์˜€์Šต๋‹ˆ๋‹ค.

๋ฉ˜ํ† ๋‹˜์˜ ๋„์›€์œผ๋กœ Argo Workflow๋ฅผ ํ†ตํ•ด ์˜คํ”ˆ์†Œ์Šค ์ปจํŠธ๋ฆฌ๋ทฐ์…˜ ํ™œ๋™์— ์ž…๋ฌธํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ , ์ปจํŠธ๋ฆฌ๋ทฐํ„ฐ ๊ฐ„์˜ ์‹ค์‹œ๊ฐ„ ํ™”์ƒ ๋ฏธํŒ…์˜ ๋‘๋ ค์›€๋„ ๊ทน๋ณตํ•  ์ˆ˜ ์žˆ์—ˆ์œผ๋ฉฐ, ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋„ ๊ฑฐ๋ถ€๊ฐ ์—†์ด ์ฝ์–ด๋ณด๋Š” ์Šต๊ด€์„ ๊ธฐ๋ฅผ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ €๋Š” ์ง€๊ธˆ Argo Workflow๋ฟ๋งŒ ์•„๋‹ˆ๋ผ Argo Rollouts, Istio ๋“ฑ ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒํ•œ ํ™˜๊ฒฝ์—์„œ ๋งŽ์ด ์‚ฌ๋ž‘๋ฐ›๊ณ  ์žˆ๋Š” ์˜คํ”ˆ์†Œ์Šค์—๋„ ๋งŽ์€ ๊ด€์‹ฌ์„ ๊ฐ–๊ณ  ์žˆ์œผ๋ฉฐ Slack์„ ํ†ตํ•ด ์ปจํŠธ๋ฆฌ๋ทฐํ„ฐ๋“ค๊ณผ ์ž์ฃผ ์†Œํ†ตํ•ด์˜ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์˜คํ”ˆ์†Œ์Šค ์ปจํŠธ๋ฆฌ๋ทฐ์…˜์„ ์ง„ํ–‰ํ•˜๊ธฐ ์ „์˜ ์ €์˜€๋‹ค๋ฉด ์ด๋Ÿฌํ•œ ์†Œํ†ต ์กฐ์ฐจ๋„ ๊บผ๋ ธ์„ ๊ฒƒ์ด ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด์ œ๋Š” ์ด๋Ÿฐ ์†Œํ†ต์— ์ „ํ˜€ ๋ถ€๋‹ด์ด ์—†๊ณ  ์•ž์œผ๋กœ๋Š” Argo Workflow์—์„œ ์ œ๊ฐ€ ๊ธฐ์—ฌํ–ˆ๋˜ ๊ฒƒ์ฒ˜๋Ÿผ Argo Rollouts์™€ Istio์—๋„ ๋งŽ์€ ๊ธฐ์—ฌ๋ฅผ ํ•ด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค!

์ง€๋‚œ ๊ธฐ๊ฐ„๋™์•ˆ ํž˜์จ์ฃผ์‹  ์ฃผ์ตœ์ธก๊ณผ ๋ฉ˜ํ† ๋‹˜๊ป˜ ๊ฐ์‚ฌ์˜ ์ธ์‚ฌ๋ฅผ ์ „ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๐ŸŒต ๊ธฐ์—ฌ ์š”์•ฝ

Contribute Info

TOTAL COUNT
0
PR COUNT
0
ISSUE COUNT
0
GitHub
Type
Summary

7. ์„œ์ฒญ์šด

๐ŸŒฟ ๊ฐœ์ธ ์„ฑ๊ณผ ๋ณด๊ณ 

์ ‘๊ธฐ/ํŽผ์น˜๊ธฐ
  • ๊ฐœ์ธ ์„ฑ๊ณผ
    • PR 1๊ฐœ Open
  • ์ปจํŠธ๋ฆฌ๋ทฐ์…˜ ์ค€๋น„ ๊ณผ์ •
    • OSSCA ์‚ฌ๋ฌด๊ตญ์ด ๊ณต์œ ํ•ด์ฃผ์‹  ๊ธฐ๋ณธ Git ์ „๋žต์— ๋Œ€ํ•œ ๊ณต์œ  ์˜์ƒ์„ ํ™•์ธํ•˜๊ณ , ๋†“์น˜๊ณ  ์žˆ๋Š” ์ƒˆ๋กœ์šด ๋ถ€๋ถ„๊ณผ ๊ธฐ์กด์˜ ์•Œ๊ณ ์žˆ๋˜ ๊ฐœ๋…์„ ๊ฒฐํ•ฉ์‹œ์ผœ Git์— ๋Œ€ํ•œ ์ดํ•ด์™€ ์‘์šฉ๋„๋ฅผ ๋†’์˜€์Šต๋‹ˆ๋‹ค.
    • ํŒ€์—์„œ ์ง„ํ–‰ํ•˜๋Š” ArgoWorkflows-OSS/ArgoWorkflows-OSS ๋ ˆํฌ์ง€ํ† ๋ฆฌ์—์„œ ์˜คํ”ˆ์†Œ์Šค ์ปจํŠธ๋ฆฌ๋ทฐํŠธ๋ฅผ ์œ„ํ•ด ํ•„์ˆ˜์ ์œผ๋กœ ์•Œ์•„์•ผํ•  ๊ฐœ๋…(gpg private key)์™€ issues, PR title ๋“ฑ์„ ์‹ค์ œ๋กœ ๋ฏธ์…˜์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ ๊ฒฝํ—˜์ ์œผ๋กœ ์ฒด๋“ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • devcontainer๋ฅผ ์‚ฌ์šฉํ•ด Argo Workflow์˜ ๋กœ์ปฌ ๊ฐœ๋ฐœํ™˜๊ฒฝ์„ ์ง์ ‘ ๊ตฌ์ถ•ํ•˜๊ณ  ํ…Œ์ŠคํŠธํ•ด๋ณด๋ฉฐ ์‹ค์ œ๋กœ ์ปจํŠธ๋ฆฌ๋ทฐํŠธ๋ฅผ ํ•˜๊ธฐ์œ„ํ•œ ํ•„์ˆ˜์กฐ๊ฑด์„ ํ…Œ์ŠคํŠธํ•ด๋ดค์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ข…์†์„ฑ์— ๋Œ€ํ•œ ์ด์‹์„ฑ์ด ์ข‹์€ ๋„๊ตฌ์—ฌ์„œ ๋งค์šฐ ์‚ฌ์šฉํ•˜๊ธฐ ํŽธ๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ปจํŠธ๋ฆฌ๋ทฐ์…˜ ์ง„ํ–‰ ๋‚ด์šฉ
    • ๊ณต์‹ docs์˜ fields ์˜ˆ์ œ ์ˆ˜์ •
      • https://github.com/argoproj/argo-workflows/pull/11748 (opens in a new tab)
      • ๊ธฐ์กด ๊ณต์‹๋ฌธ์„œ์—์„œ ํฌ๋ก ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฌธ์„œ ์˜ˆ์ œ๊ฐ€ CronWorkflowSpec , CronWorkflowStatus ํ•„๋“œ์— ํฌํ•จ๋˜์–ด ์žˆ์–ด ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ๋Š” ๋ฐ ํ˜ผ๋ž€์„ ๋ถˆ๋Ÿฌ์™”์—ˆ์Šต๋‹ˆ๋‹ค.
      • ๊ทธ๋ž˜์„œ ํ•„์š”ํ•œ ์ž๋ฃŒ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด CronWorkflowSpec , CronWorkflowStatus ํ•„๋“œ์˜ ์˜ˆ์ œ์—์„œ๋Š” ํฌ๋ก ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์˜ˆ์ œ๋งŒ ํ—ˆ์šฉํ•˜๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.

๐ŸŒต ์ฐธ๊ฐ€ ํ›„๊ธฐ

  • ํ”„๋กœ๊ทธ๋žจ ์ฐธ๊ฐ€ ํ›„๊ธฐ
    • ์˜คํ”ˆ์†Œ์Šค ์ƒํƒœ๊ณ„๋ฅผ ์ด๋ ‡๊ฒŒ ์‹ฌ๋„์žˆ๊ฒŒ ์•Œ์•„๊ฐ€๊ณ , ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ์ž„์ด ๋˜ ์žˆ์„๊นŒ ๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค ์ •๋„๋กœ ๋ฉ˜ํ† ๋‹˜๊ณผ ๋ฉ˜ํ‹ฐ๋ถ„๋“ค์ด ํ›Œ๋ฅญํ•˜๊ณ  ๋˜ ์ •๋ง ์—ด์‹ฌํžˆ ๋ชจ์ž„์„ ์ด๋Œ์–ด ์ฃผ์…จ์Šต๋‹ˆ๋‹ค.
    • ๊ฐœ์ธ์œผ๋กœ์„œ๋Š” ์•„์‰ฌ์›€์ด ๋ฌด์ฒ™ ํฌ๊ธฐ๋„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์กฐ๊ธˆ ๋” ์‹œ๊ฐ„์„ ํˆฌ์žํ•˜๊ณ  ์ ๊ทน์ ์œผ๋กœ ๋ชจ์ž„์— ์ฐธ์—ฌํ•ด์„œ ๊ฐœ์ธ์˜ ์„ฑ์žฅ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋” ์ข‹์€ ๋ชจ์ž„์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์—ˆ์„ ํ…๋ฐ, ์—ฌ๋Ÿฌ ์™ธ๋ถ€ ์š”์ธ๊ณผ ์Šค์Šค๋กœ์˜ ๊ฒŒ์œผ๋ฆ„ ๋•Œ๋ฌธ์— ์•„์‰ฌ์›€์„ ๋งŽ์ด ๋‚จ๊ฒผ๋˜ ๊ธฐ๊ฐ„์ด์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํ–ฅํ›„ ๊ธฐ์—ฌ ๊ณ„ํš
    • ๋” ์ด์ƒ ์˜คํ”ˆ์†Œ์Šค ์ปจํŠธ๋ฆฌ๋ทฐํŠธ๊ฐ€ ๋ฌด์„œ์šด(?) ์ผ์ด ์•„๋‹ˆ๋ผ๋Š” ํฐ ์ž์‹ ๊ฐ์„ ์–ป์–ด์„œ, ์ดํ›„์—๋„ Argo ์ƒํƒœ๊ณ„๋ฅผ ๋„˜์–ด CNCF ์ƒํƒœ๊ณ„์—๋„ ๋”์šฑ ๊ด€์‹ฌ์„ ๊ฐ€์ง€๊ณ  ์˜คํ”ˆ์†Œ์Šค๋ฅผ ํƒํ—˜ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
    • ์ฒ˜์Œ๋ถ€ํ„ฐ ์†Œ์Šค๋ฅผ ๋‹ค ๊นŒ๋ณด์ง€ ์•Š๊ณ ๋„ ์ด์ „ PR ๊ธฐ๋ก, ๋ฉ”์ธํ…Œ์ด๋„ˆ์˜ ๋„์›€์„ ํ†ตํ•ด ๊ธฐ์—ฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ์Œ์„ ํ† ๋Œ€๋กœ ์ปจํŠธ๋ฆฌ๋ทฐํŠธ์— ๋Œ€ํ•œ ์‹ฌ๋ฆฌ์ ์ธ ํ—ˆ๋“ค์„ ๋„˜์–ด ์ ๊ทน์ ์œผ๋กœ ๊ธฐ์—ฌ๋ฅผ ์ด์–ด๊ฐˆ ๊ณ„ํš์ž…๋‹ˆ๋‹ค.

๐ŸŒต ๊ธฐ์—ฌ ์š”์•ฝ

Contribute Info

TOTAL COUNT
0
PR COUNT
0
ISSUE COUNT
0
GitHub
Type
Summary

8. ์†กํ˜œ๋ฏผ

๐ŸŒฟ ๊ฐœ์ธ ์„ฑ๊ณผ ๋ณด๊ณ 

์ ‘๊ธฐ/ํŽผ์น˜๊ธฐ

์ปจํŠธ๋ฆฌ๋ทฐ์…˜ ํ™œ๋™


Mutex check happens after memoization cache check and lock info missing from UI๋ฒ„๊ทธ์ˆ˜์ •

Issue #11219 (opens in a new tab) PR #11456 - Merge ์™„๋ฃŒ/3.4.10 ๋ฆด๋ฆฌ์ฆˆ ํฌํ•จ (opens in a new tab)

Argo Workflow ์˜ Synchronization ๋ฐ Cache ๊ธฐ๋Šฅ์„ ๋™์‹œ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

ํ•ด๋‹น ๋ฒ„๊ทธ๋Š” Argo Workflow ์—์„œ Synchronization ๋ฐ Memoize ํ‚ค์›Œ๋“œ๋ฅผ ๊ฐ™์ด ์‚ฌ์šฉํ•  ์‹œ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ํ˜„์ƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋Œ€ ๋™์ž‘์€ Mutex Synchronization ์ด ๋™์ž‘ํ•œ ์ดํ›„ ์บ์‹œ๊ฐ€ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์ด์ง€๋งŒ, Synchronization ๊ฐ€ ๋™์ž‘ํ•œ ๋’ค ์บ์‹œ๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์•„๋ž˜์™€ ๊ฐ™์ด job-1 ๊ณผ job-2 ๊ฐ€ ์žˆ์„ ์‹œ job-1 ์ด Synchronization ํšจ๊ณผ๋กœ ์ธํ•ด ๋จผ์ € ๋™์ž‘์„ ํ•˜๊ณ  ์บ์‹œ๋ฅผ ์“ฐ๊ณ  ์™„๋ฃŒ๊ฐ€ ๋˜๋ฉด, job-2 ๋Š” ** ๋™์ผํ•œ ์บ์‹œ๋กœ ์ธํ•ด์„œ ๋™์ž‘ํ•˜์ง€ ์•Š๊ณ  Pass ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.**

slack11

์ €๋Š” ์ด ๊ณผ์ •์„ Synchronization ๊ณผ Cache ์˜ ์ˆœ์„œ๋ฅผ ์กฐ์ •ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์–ด๋ ต์ง€๋Š” ์•Š์€ ์ˆ˜์ •์ด์—ˆ์ง€๋งŒ, ๋ณต์žกํ•œ ํŒŒ์ผ ์ค‘ ํ•˜๋‚˜์ธ operation.go ๋ฅผ ์ˆ˜์ •ํ–ˆ๊ธฐ์— ๋งŽ์€ ๋ฆฌ๋ทฐ์™€ ํ•จ๊ป˜ Argo Workflow ์˜ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ๋“ค์„ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ์—ˆ๋˜ PR ์ด๋ผ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.


Parent level memoization is broken๋ฒ„๊ทธ์ˆ˜์ •

Issue #11612 (opens in a new tab) PR #11623 - Merge ์™„๋ฃŒ/3.4.11 ๋ฆด๋ฆฌ์ฆˆ ํฌํ•จ (opens in a new tab)

์œ„ ์ˆ˜์ •์œผ๋กœ ๋ฐœ์ƒํ•œ ์ƒˆ๋กœ์šด ๋ฒ„๊ทธ ์‚ฌํ•ญ์œผ๋กœ, Argo Workflow ์˜ Template ๋ ˆ๋ฒจ์ด ์•„๋‹Œ ์•„๋ž˜ Child ๊ตฌ์„ฑ ์š”์†Œ์—์„œ Memo ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉ ์‹œ ๋ฌดํ•œ Pending ์ด ๊ฑธ๋ฆฌ๋Š” ๋ฒ„๊ทธ๊ฐ€ ์ œ๋ณด๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

slack11

์ด์ „ PR ์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์œผ๋‚˜ ํ™•์ธํ•˜์ง€ ๋ชปํ•œ Case ๊ฐ€ ์กด์žฌํ–ˆ๋‹ค๋Š” ๊ฒƒ์„ ์ธ์ง€ํ•˜๊ณ , ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์›์ธ์„ ๋ถ„์„ํ•ด์„œ ๋‹ค์‹œ ํ•ซํ”ฝ์Šค๋ฅผ ๋ฐ˜์˜ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์˜ˆ์™ธ ์‚ฌํ•ญ์„ ์ถ”ํ›„์—๋„ ๋ฐœ๊ฒฌํ•˜๊ธฐ ์œ„ํ•œ ํ…Œ์ŠคํŠธ๋ฅผ 4๊ฐœ ํฌํ•จํ•˜์—ฌ PR ์„ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.


UI: workflowDrawer's information link is not correctly working๋ฒ„๊ทธ์ˆ˜์ •

Issue #11494 (opens in a new tab) PR #11495 - Merge ์™„๋ฃŒ/3.4.10 ๋ฆด๋ฆฌ์ฆˆ ํฌํ•จ (opens in a new tab)

Argo Workflow ๋Œ€์‹œ๋ณด๋“œ์—์„œ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ํŽผ์ณค์„ ์‹œ, Information ์•„์ด์ฝ˜์˜ ๋งํฌ๊ฐ€ ๋ง๊ฐ€์ง„ ์‚ฌํ•ญ์„ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

slack11

<a> ํƒœ๊ทธ ์ค‘์ฒฉ์œผ๋กœ ์ธํ•œ ์ž˜๋ชป๋œ ์ด๋ฒคํŠธ ์ „ํŒŒ๋ฅผ ๋ฐฉ์ง€ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด ์ œ๋Œ€๋กœ ํด๋ฆญ์ด ๋™์ž‘ํ•˜๊ฒŒ ๋งŒ๋“  ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ์ฝ”๋“œ ์ˆ˜์ •์œผ๋กœ ๋‹ค์‹œ ์•„์ด์ฝ˜ ํด๋ฆญ ์‹œ ์˜ฌ๋ฐ”๋ฅธ ๋ฌธ์„œ๋กœ ์ด๋™ํ•˜๋„๋ก ๋งŒ๋“ค ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.


Search by name for WorkflowTemplates in UI๊ธฐ๋Šฅ๊ฐœ์„ 

Issue #11004 (opens in a new tab) PR #11684 - Merge ์™„๋ฃŒ/3.4.10 ๋ฆด๋ฆฌ์ฆˆ ํฌํ•จ (opens in a new tab)

๋‹ค๋ฅธ 2๋ช…์˜ ์ฐธ๊ฐ€์ž ๋ถ„๋“ค๊ณผ ๊ณต๋™์œผ๋กœ ๊ฐœ๋ฐœํ•˜์—ฌ PR ์„ ์ง„ํ–‰ํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. Argo Workflow ์—๋Š” ์ด๋ฆ„์˜ ํŒจํ„ด์„ ํ†ตํ•ด ๊ฐ ํ…œํ”Œ๋ฆฟ์„ ๊ธฐ๋Šฅํ•˜๋Š” ์œ ์šฉํ•œ ๊ธฐ๋Šฅ์ด ๋น ์ ธ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

slack11

์ด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€๋กœ ์ œ๊ณตํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋” ์ด์ƒ Yaml ์˜ ๋ผ๋ฒจ ๋ฟ๋งŒ์ด ์•„๋‹Œ ์ด๋ฆ„์œผ๋กœ๋„ Template ์„ ๊ฒ€์ƒ‰ํ•˜๋„๋ก ๊ฐœ๋ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์ •ํ™•ํ•œ ์ด๋ฆ„์ด ์•„๋‹Œ LIKE ๊ฒ€์ƒ‰์ด๋ผ๋Š” ๊ฒƒ์ด ์•ž์œผ๋กœ๋„ ์œ ์šฉํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ดํ›„์—๋„ ๋‹ค๋ฅธ ํŽ˜์ด์ง€์— ๋Œ€ํ•ด์„œ ๋น„์Šทํ•œ ์ˆ˜์ •์„ ํ†ตํ•ด ๊ฒ€์ƒ‰๊ณผ ํŽ˜์ด์ง€๋„ค์ด์…˜ ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•  ์˜ˆ์ •์ด๋ผ ๋”์šฑ ์˜๋ฏธ์žˆ๋Š” PR ์ด์—ˆ๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.


Add more readable Argo CLI installation guide into github documentation๋ฌธ์„œ๊ธฐ์—ฌ

Issue #11750 (opens in a new tab) PR #11751 - Merge ์™„๋ฃŒ (opens in a new tab)

Argo Workflows ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ปค๋งจ๋“œ๋ผ์ธ ์ธํ„ฐํŽ˜์ด์Šค์ธ Argo CLI ์— ๋Œ€ํ•œ ๋ฌธ์„œ ๊ธฐ์—ฌ์ž…๋‹ˆ๋‹ค.

slack11

ํ˜„์žฌ Argo CLI github ๋ฌธ์„œ์—๋Š” ์ธ์Šคํ†จ์— ๋Œ€ํ•œ ๊ณผ์ •์ด ๋น ์ ธ ์žˆ์–ด์„œ, ์ฒซ ์‚ฌ์šฉ์ž๊ฐ€ Argo CLI ๋ฅผ ์„ค์น˜ํ•  ๋ฐฉ๋ฒ•์„ ์ฐพ๊ธฐ๊ฐ€ ์–ด๋ ค์› ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด์—๋Š” Release Note ๋กœ ์ง์ ‘ ์ฐพ์•„ ๋“ค์–ด๊ฐ€๊ฑฐ๋‚˜ Quick Start ํŽ˜์ด์ง€๋กœ ๋ฐ˜๋“œ์‹œ ๋“ค์–ด๊ฐ€์•ผ ํ–ˆ๋Š”๋ฐ, Argo CLI ํŽ˜์ด์ง€์— ๊ธฐ์กด Usage ์ด์™ธ์— Installation ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์‚ฌ์šฉ์ž ํŽธ์˜์„ฑ์„ ๋†’์ด๋„๋ก ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.


Workflow templating is skipped when whitespace is added to template parameters๋ฒ„๊ทธ์ˆ˜์ •

Issue #11767 (opens in a new tab) PR #11781 - Merge ์™„๋ฃŒ (opens in a new tab)

Argo Workflow ์—์„œ workflow template ์ž‘์„ฑ ์‹œ ๋“ค์–ด๊ฐ€๋Š” {{parameter}} ํ˜•ํƒœ์˜ placeholder ๊ฐ€ {{ parameter }} ์™€ ๊ฐ™์ด ์•ž ๋’ค๋กœ ๊ณต๋ฐฑ์ด ์žˆ์„ ๊ฒฝ์šฐ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๊ฐ€ ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚ด๋ถ€ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์ฝ”๋“œ์—์„œ parameter ์— ๋Œ€ํ•ด์„œ ์•ž, ๋’ค์˜ ๊ณต๋ฐฑ์„ ์ž๋ฅด๋Š” trim ์„ ํ•˜์ง€ ์•Š๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ์›์ธ์œผ๋กœ, ์ด ๋ถ€๋ถ„์— trim ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๊ณต๋ฐฑ์„ ์ œ๊ฑฐํ•ด ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ์—ฌ๋กœ ์ธํ•ด ๊ธฐ์กด placeholder ๋‚ด์šฉ์ด ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ๋ฌด์‹œํ•ด๋ฒ„๋ฆฌ๋Š” ํ˜„์ƒ๋„ ๋ฐ”๋กœ ์žก์„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.


๋ชจ์ž„ ๊ฐœ๋ฐœ ํ™œ๋™


Argo Workflow OSS ๊ณตํ†ต Repo ์— PR ์˜ฌ๋ ค๋ณด๊ธฐ

PR #22 - Merge ์™„๋ฃŒ (opens in a new tab)

Argo Workflow PR ์ „ ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ๊ธฐ์—ฌํ•˜๊ธฐ ์œ„ํ•œ ์‚ฌ์ „ ์—ฐ์Šต์„ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๋ฌธ์„œ ๋ฐ ๊ธฐ์กด ๋ฌธ์„œ๋ฅผ ๋‹ค๋ฅธ ์ฐธ๊ฐ€์ž๋“ค๊ณผ ๋™์‹œ์— ์ˆ˜์ •ํ•˜์—ฌ ์˜ฌ๋ ค์„œ Git ์ปค๋งจ๋“œ ๋ฐ Rebase ์˜ ์†Œ์ค‘ํ•จ์— ๋Œ€ํ•ด์„œ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.


Dockerfile ๋กœ ์›น์„œ๋ฒ„ ๋งŒ๋“ค์–ด๋ณด๊ธฐ

PR #6 - Merge ์™„๋ฃŒ (opens in a new tab)

๋กœ์ปฌ 8080 ์„œ๋ฒ„๋กœ ํ†ต์‹ ํ•˜์—ฌ localhost:8080 ์œผ๋กœ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ Dockerfile ์„ ํ•˜๋‚˜ ์ž‘์„ฑํ•˜๊ณ  ์„œ๋ฒ„๋ฅผ ๋„์šฐ๋Š” ์—ฐ์Šต์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•œ๊ฒŒ Flask ๋กœ ํŒŒ์ด์ฌ ์„œ๋ฒ„๋ฅผ ์ž‘์„ฑํ•˜๊ณ  Dockerfile ๋‚ด ํ™˜๊ฒฝ ์„ค์ •, ์„œ๋ฒ„ ๊ตฌ๋™, ํฌํŠธ ์—ฐ๊ฒฐ์„ ํ†ตํ•ด์„œ Docker ์ปค๋งจ๋“œ๋กœ ์™ธ๋ถ€์—์„œ๋„ ์„œ๋ฒ„์— ์ ‘์† ๊ฐ€๋Šฅํ•˜๋„๋ก ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.


๐ŸŒต ์ฐธ๊ฐ€ ํ›„๊ธฐ

  • ์ฐธ๊ฐ€ํ›„๊ธฐ
    • ์ด์ „์—๋„ ์˜คํ”ˆ์†Œ์Šค ์ปจํŠธ๋ฆฌ๋ทฐ์…˜ ์•„์นด๋ฐ๋ฏธ๋ฅผ ์ฐธ์—ฌํ–ˆ์—ˆ์ง€๋งŒ, ์ด๋ฒˆ ์•„์นด๋ฐ๋ฏธ์˜ ํ”„๋กœ๊ทธ๋žจ๊ณผ ๋ฉค๋ฒ„, ๋‚ด์šฉ ๋ชจ๋‘๊ฐ€ ํŠนํžˆ ๋งŒ์กฑ์Šค๋Ÿฌ์› ์Šต๋‹ˆ๋‹ค.
    • ๋‹จ๊ธฐ๊ฐ„์— ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํŒŒ์•…ํ•˜๊ณ  ๊ธฐ์—ฌ๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์ด ์‰ฝ์ง€ ์•Š์€๋ฐ, ์ž‘์€ ๋‚ด์šฉ์ด๋‚˜๋งˆ ๊ธฐ์—ฌ๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค๋Š” ๊ฒƒ์ด ๋†€๋ผ์šด ๊ฒฝํ—˜์ด์—ˆ์Šต๋‹ˆ๋‹ค.
    • ๋ฉ˜ํ† ๋‹˜์˜ ์ง‘์ค‘์ ์ธ ์ผ€์–ด์™€ ๋‹ค๋ฅธ ์ฐธ๊ฐ€์ž ๋ถ„๋“ค์˜ ์—ด์ •์ด ์ •๋ง ํฐ ๋„์›€์ด ๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ๊นŠ๊ฒŒ ๋Š๋‚„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
    • ํ˜ผ์ž ์‹œ์ž‘ํ–ˆ๋‹ค๋ฉด ๊ธˆ๋ฐฉ ํฌ๊ธฐํ•˜๊ณ  ์žŠ์–ด๋ฒ„๋ ธ์„ ๋‚ด์šฉ์ด ๋‹ค๋ฅธ ์‚ฌ๋žŒ๊ณผ ํ•จ๊ป˜ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋„ ์ด๋ ‡๊ฒŒ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด ๋Œ€๋‹จํ•œ ๊ฒฝํ—˜์ด์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์•ž์œผ๋กœ์˜ ๊ณ„ํš
    • ์•ž์œผ๋กœ๋„ Argo Workflow ์— ๋Œ€ํ•œ ์ปจํŠธ๋ฆฌ๋ทฐ์…˜์„ ์ด์–ด๋‚˜๊ฐˆ ์ƒ๊ฐ์ด๋ฉฐ, ๋‹ค๋ฅธ ์˜คํ”ˆ์†Œ์Šค ๊ธฐ์—ฌ๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜๋„ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
    • ํŠนํžˆ, ์ด์ œ๋Š” ๊ด€์‹ฌ ์žˆ๋Š” ์˜คํ”ˆ์†Œ์Šค์— ๋Œ€ํ•ด ์ ‘๊ทผํ•ด์„œ ์‹œ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์› ๊ธฐ ๋•Œ๋ฌธ์— ์—ด์ •๋งŒ ์žˆ๋‹ค๋ฉด ์กฐ๊ธˆ ๋” ์ˆ˜์›”ํ•˜๊ฒŒ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
    • ๋‹ค๋ฅธ ์‚ฌ๋žŒ์—๊ฒŒ๋„ ์˜คํ”ˆ ์†Œ์Šค ๊ธฐ์—ฌ์— ๋Œ€ํ•œ ์žฌ๋ฏธ๋ฅผ ์ ๊ทน ์ „ํŒŒํ•˜๋ฉฐ, ์ž์‹  ์žˆ๊ฒŒ ์ถ”์ฒœํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

๐ŸŒต ๊ธฐ์—ฌ ์š”์•ฝ

Contribute Info

TOTAL COUNT
0
PR COUNT
0
ISSUE COUNT
0
GitHub
Type
Summary

9. ์•ˆ๋‹คํ˜œ

๐ŸŒฟ ๊ฐœ์ธ ์„ฑ๊ณผ ๋ณด๊ณ 

์ ‘๊ธฐ/ํŽผ์น˜๊ธฐ

๋ฌธ์„œ ์ˆ˜์ • ๊ณต์‹ ๋ฌธ์„œ์˜ running-locally (opens in a new tab) ๋ถ€๋ถ„์ด Dev-container์™€ Makefile์„ ์ฒ˜์Œ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์ง๊ด€์ ์ด์ง€ ์•Š๊ณ , ๊นจ์ง„ ๋งํฌ๋“ค์ด ์žˆ์–ด pr #11405 (opens in a new tab)๋ฅผ ์˜ฌ๋ฆฌ๊ณ  ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋ฐ ๊ธฐ์—ฌํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์ด์Šˆ ๊ธฐ์—ฌ ๋ฏธ์™„์„ฑ ์ด์ง€๋งŒ Argo-workflows ์˜ ์›Œํฌํ”Œ๋กœ์šฐ๋‚˜, ์›Œํฌํ”Œ๋กœ์šฐ ๋‚ด์˜ Pod ๋‚ด์—์„œ Secret ์ •๋ณด๊ฐ€ echo ๋“ฑ์˜ ๋ช…๋ น์–ด๋กœ ๋…ธ์ถœ๋  ์ˆ˜ ์žˆ๋Š” ์ด์Šˆ #8685 (opens in a new tab) ๊ฐ€ ์žˆ์–ด ์ด๋ฅผ ํ•ด๊ฒฐํ•ด๋ณด๊ณ ์ž ํ–ˆ์Šต๋‹ˆ๋‹ค.

4์ผ ๋™์•ˆ ํ•˜๋ฃจ์— 3์‹œ๊ฐ„ ์ •๋„, ์ด 12์‹œ๊ฐ„ ์ •๋„๋ฅผ ์ด ์ด์Šˆ์— ํˆฌ์žํ–ˆ์œผ๋‚˜ ์•„์ง ํ•ด๊ฒฐํ•˜์ง„ ๋ชปํ•˜์˜€์Šต๋‹ˆ๋‹ค. (์ค‘๊ฐ„ ์ปค๋ฐ‹ (opens in a new tab))

  • ์ด 11๊ฐœ ํŒŒ์ผ์— ๊ฑธ์ณ Argo-workflows ์‹คํ–‰ ์‹œ ์ฃผ์ž…ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ๋ณ€์ˆ˜์ธ ARGO_HIDE_SECRETS ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ๊ธฐ๋ณธ์ ์œผ๋กœ ํ•ด๋‹น ์˜ต์…˜์ด true ๋กœ ์ž‘๋™ํ•˜๊ฒŒ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
    • ์œ„ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ command line์—์„œ ์ž…๋ ฅ๋ฐ›๊ฑฐ๋‚˜, Argo-workflows ๋ฅผ ์‹คํ–‰ํ•  ๋‹น์‹œ์— ์„ค์ •์œผ๋กœ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
    • ๋งŒ์•ฝ ARGO_HIDE_SECRETS=false ๋กœ ์„ค์ •ํ•  ๊ฒฝ์šฐ, "You are running with logging include secrets. Be careful." ๋ผ๋Š” ๋กœ๊ทธ๊ฐ€ ์ฐํžˆ๋„๋ก ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
    • workflow, pod์˜ ๋กœ๊ทธ์—์„œ Secret์— ํ•ด๋‹นํ•˜๋Š” ์ •๋ณด๊ฐ€ ํฌํ•จ๋  ๊ฒฝ์šฐ, SecretValue๋ฅผ ๋งˆ์Šคํ‚น ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
      • ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ์œ„ ๊ธฐ๋Šฅ์ด ๋ชฉ์ ํ•œ ๋Œ€๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ๊ฒ€์ฆํ•˜์˜€์Šต๋‹ˆ๋‹ค.
      • ํ•˜์ง€๋งŒ ์œ„ ๊ธฐ๋Šฅ์ด ๋ชฉ์ ํ•œ ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์•˜๊ธฐ์—, ๋กœ๊ทธ๊ฐ€ ์ฐํžˆ๋Š” ๊ณผ์ •์„ ํƒ์ƒ‰ํ•˜๊ธฐ ์‹œ์ž‘ํ•˜์˜€์Šต๋‹ˆ๋‹ค. Go ์–ธ์–ด์—์„œ ์‚ฌ์šฉํ•˜๋Š” logrus (opens in a new tab) ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” io (opens in a new tab) ํŒจํ‚ค์ง€์˜ io.Writer ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ณผ์ œ ์ˆ˜ํ–‰ Argo-workflows ํŒ€์€ ๋ฉ˜ํ† ๋‹˜์ด OSS-Argo-workflows ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์—ฌ๋Ÿฌ ๊ณผ์ œ๋ฅผ ๋‚ด์ฃผ์…จ์Šต๋‹ˆ๋‹ค.

  • ์‹ค์ œ Argo-workflows ๋ ˆํฌ์—์„œ pr์„ ์˜ฌ๋ฆด ๋•Œ ์ง€์ผœ์•ผ ํ•˜๋Š” ์›์น™ (presigned commit, gpg check) ์„ ์ง€ํ‚ค๋ฉฐ pr์„ ์˜ฌ๋ฆฌ๊ณ , git conflict ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ณผ์ œ๋ฅผ ํ†ตํ•ด ๋ฐฐ์›Œ๋‚˜๊ฐ”์Šต๋‹ˆ๋‹ค.
  • ์‹ค์ œ Argo-workflows ๋ ˆํฌ์—์„œ pr์„ ์˜ฌ๋ฆฌ๊ธฐ ์œ„ํ•ด, ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•œ ํ›„ Argo-workflows๊ฐ€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด local ํ™˜๊ฒฝ์—์„œ Dev Container๋กœ Argo-workflows๋ฅผ ๋™์ž‘์‹œ์ผœ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ €ํฌ ํŒ€์€ ์ด ๊ณผ์ •์„ ์ง์ ‘ ์ˆ˜ํ–‰ํ•ด๋ณด๋Š” ๊ณผ์ œ๋ฅผ ๋ฐ›์•˜๊ณ , ๊ทธ ๊ณผ์ •์—์„œ ์ˆ˜ํ–‰์— ์–ด๋ ค์›€์„ ๊ฒช๋Š” ๋ฉค๋ฒ„๋“ค์„ ์„œ๋กœ ๋„์™€์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ๋ธ”๋กœ๊ทธ ๊ธ€์— ํ•ด๋‹น ๋ฐฉ๋ฒ•์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฒ•์„ ์ •๋ฆฌํ•˜์—ฌ ํŒ€์›๋“ค์—๊ฒŒ ๊ณต์œ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. blog (opens in a new tab)

๐ŸŒต ์ฐธ๊ฐ€ ํ›„๊ธฐ

์˜คํ”ˆ์†Œ์Šค ์ปจํŠธ๋ฆฌ๋ทฐํ†ค์— ์ฐธ์—ฌํ•˜๋ฉด์„œ ๋ฉ‹์ง„ ๋ฉ˜ํ† ๋‹˜๊ณผ ํŒ€์›๋“ค์„ ๋งŒ๋‚ฌ์Šต๋‹ˆ๋‹ค. ์ €ํฌ๋Š” ๋งค์ฃผ ์˜คํ”„๋ผ์ธ์œผ๋กœ ๋งŒ๋‚˜๋ฉฐ ๊ทธ๊ฐ„ ๊ธฐ์—ฌํ–ˆ๋˜ ์ด์Šˆ์— ๋Œ€ํ•ด ๊ณต์œ ํ•˜๊ณ , ์—…๋ฌด์ ์œผ๋กœ ๋„์›€์ด ๋˜๋Š” ๋ฐœํ‘œ๋“ค์„ ๋งค์ฃผ ๋Œ์•„๊ฐ€๋ฉด์„œ ์ง„ํ–‰ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ง‰๋ฐ”์ง€์—๋Š” โ€˜์ด์Šˆ ํ•ด์ปคํ†คโ€™์„ ๋งŒ๋“ค์–ด, ์กฐ๋ฅผ ๋‚˜๋ˆ„์–ด ์ด์Šˆ๋ฅผ ์ง‘์ค‘์ ์œผ๋กœ ํ•ด๊ฒฐํ•˜๋Š” ์ž๋ฆฌ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ Argo-workflows ํŒ€ ์ž์ฒด์—์„œ 4๊ฑด์ด ๋„˜๋Š” pr์ด ๋จธ์ง€๋˜์—ˆ์œผ๋ฉฐ, ์ €๋„ ํ•œ ์ด์Šˆ๋ฅผ ์žก๊ณ  ์ง‘์ค‘์ ์œผ๋กœ ์‹œ๊ฐ„์„ ๋‚ด ์˜คํ”ˆ์†Œ์Šค๋ฅผ ๊นŠ์ˆ™ํžˆ ํŒŒ๋ณผ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

Go ์–ธ์–ด๋กœ ๊ฐœ๋ฐœ์„ ํ•ด๋ณด๋Š” ์ปค๋ฆฌ์–ด๋ฅผ ์—ผ๋‘์— ๋‘๊ณ  ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์—, ํ”„๋กœ๋•์…˜ ๋ ˆ๋ฒจ์˜ Go ์ฝ”๋“œ๋ฅผ ๋ณด๊ณ  ์ˆ˜์ •ํ•ด๋ณด๋Š” ๊ฒฝํ—˜์„ ํ•ด๋ณผ ์ˆ˜ ์žˆ์–ด ์ •๋ง ๊ฐ’์ง„ ๊ฒฝํ—˜์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์—ด์‹ฌํžˆ ์‚ฌ์‹œ๋Š” ๋ถ„๋“ค๊ณผ ๊ฐ™์€ ์ง‘๋‹จ์— ์†ํ•  ์ˆ˜ ์žˆ์„๊นŒ, ์ƒ๊ฐํ•ด๋ณด๊ฒŒ ๋  ์ •๋„์ž…๋‹ˆ๋‹ค. Masters๊ฐ€ ๋๋‚˜๋”๋ผ๋„ ์ €๋Š” ์œ„์—์„œ ํ•ด๊ฒฐํ•˜๋ ค๋˜ ์ด์Šˆ๋ฅผ ๋๊นŒ์ง€ ํŒŒ๋ณผ ์ž‘์ •์ด๋ฉฐ, ๊ฐœ๋ฐœ pr์„ ํ•˜๋‚˜ ๋” ์˜ฌ๋ ค๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๊ธฐํšŒ๊ฐ€ ๋œ๋‹ค๋ฉด 2024๋…„ ์˜คํ”ˆ์†Œ์Šค ์ปจํŠธ๋ฆฌ๋ทฐํ†ค์—๋„ ์ฐธ๊ฐ€ํ•ด๋ณด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

์ข‹์€ ๊ธฐํšŒ์™€ ์žฅ์„ ๋งˆ๋ จํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๐ŸŒต ๊ธฐ์—ฌ ์š”์•ฝ

Contribute Info

TOTAL COUNT
0
PR COUNT
0
ISSUE COUNT
0
GitHub
Type
Summary

10. ์•ˆ์ง€์™„

๐ŸŒฟ ๊ฐœ์ธ ์„ฑ๊ณผ ๋ณด๊ณ 

์ ‘๊ธฐ/ํŽผ์น˜๊ธฐ

1. ์˜คํ”ˆ์†Œ์Šค ์ฒซ ๊ธฐ์—ฌ

์ฒ˜์Œ์œผ๋กœ ArgoWorkflows์— ๋ฌธ์„œ๋ฅผ ํ†ตํ•œ ๊ธฐ์—ฌ๋ฅผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ณต์‹ ์‚ฌ์ดํŠธ์— ์ด๋ฏธ์ง€์ธ์ง€ ๋น„๋””์˜ค์ธ์ง€ ํ˜ผ๋™์„ ์ค„ ์—ฌ์ง€๊ฐ€ ์žˆ๋Š” ๋ถ€๋ถ„์„ ๊ณ ์ณ, ์œ ์ €๋“ค์ด ํ™•์‹คํžˆ ๋™์˜์ƒ์ž„์„ ์ธ์ง€ํ•˜๋„๋ก ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. docs: modify demo image in intermediate-inputs.md #11755 (opens in a new tab)


2. ๋‹ค๋ฅธ ๋ฉค๋ฒ„์˜ ํ™œ๋™์„ ๋ณด๋ฉฐ ์˜คํ”ˆ์†Œ์Šค ๊ธฐ์—ฌ๋ฒ• ํ„ฐ๋“

์ด๋ฒˆ ์˜คํ”ˆ์†Œ์Šค ์ปจํŠธ๋ฆฌ๋ทฐ์„  ์•„์นด๋ฐ๋ฏธ๋ฅผ ํ†ตํ•ด ์˜คํ”ˆ์†Œ์Šค ๊ธฐ์—ฌ๋ฅผ ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์ด์Šˆ๋ฅผ ์ฐพ๋Š” ์š”๋ น์— ๋Œ€ํ•ด์„œ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์š”์•ฝํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์ฃผ์š” ๋กœ์ง์ด ์•„๋‹Œ ์•„์ฃผ ์ž์ž˜ํ•œ ๋ฒ„๊ทธ ์ด์Šˆ, ๋˜๋Š” UI ๋ถ€๋ถ„์—์„œ๋„ ์ƒ๊ฐ๋ณด๋‹ค ์ด์Šˆ๊ฐ€ ์—„์ฒญ ๋งŽ๋‹ค.
  • ํ•ด๋‹น ์˜คํ”ˆ์†Œ์Šค์˜ ์ „๋ฌธ์ ์ธ ์ง€์‹, ๋˜๋Š” ๋‹ค๋ฅธ ๋ถ„์•ผ (ex. ํ”„๋กœํŠธ) ์ข…์‚ฌ์ž์—ฌ๋„, ์ถฉ๋ถ„ํžˆ ํ•ด๋‹น ์˜คํ”ˆ์†Œ์Šค์— ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ๋Š” ์ด์Šˆ๋“ค์ด ๋งŽ๋‹ค. (ex. UI ์ด์Šˆ)
  • ๊ธฐ์—ฌ๋ฅผ ํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋Š”, ํ•ด๋‹น ์ด์Šˆ์— ๋จผ์ € ์ง์ ‘ ์ด ์ด์Šˆ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ์‹ถ๋‹ค๋Š” ์ฝ”๋ฉ˜ํŠธ๋ฅผ ๋‹จ ํ›„, ์ž‘์—…์„ ์‹œ์ž‘ํ•œ๋‹ค.
  • ์ด ๋ถ€๋ถ„์ด ์ข€ ์‹ ๊ธฐํ–ˆ๋Š”๋ฐ, Argo Workflow์˜ ๊ฒฝ์šฐ๋Š” ๊ธฐ์—ฌ๋ฅผ ํ•  ๋•Œ ๋‹ด๋‹น์ž๊ฐ€ ๋ฐฐ์ •๋œ๋‹ค๋Š” ์ ์ด ์ข€ ์‹ ๊ธฐํ–ˆ๋‹ค. ์•„๋งˆ ๋ชจ๋ฅด๋Š” ์ ? ๋˜๋Š” ์ƒ์†Œํ•œ ๋ถ€๋ถ„์ด ๋Š๊ปด์งˆ ๋•Œ ๋‹ด๋‹น์ž๋ฅผ ๋ฐฐ์ •ํ•˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค.
  • ๋‹ค์–‘ํ•œ ์‚ฌ๋žŒ๋“ค์ด ๋งŽ๋‹ค. ์ •๋ง ๊นŒ์น ํ•˜๊ฒŒ ๋”ฑ ํ•œ ์ค„ ์ ์œผ์‹œ๋Š” ๋ถ„๋„ ์žˆ๊ณ , ๊ต‰์žฅํžˆ ์นœ์ ˆํ•˜๊ฒŒ ์ฝ”๋ฉ˜ํŠธ๋ฅผ ๋‹ฌ์•„์ฃผ์‹œ๋Š” ๋ถ„๋„ ์žˆ๋‹ค.

๋‹ค๋ฅธ ํšŒ์›๋ถ„๋“ค์˜ ์ด์Šˆ ํ•ด์ปคํ†ค์„ ๋ณด๋ฉฐ ์ด์Šˆ์— ์ง์ ‘ ๊ธฐ์—ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ๋‹ค๋ฅธ ํšŒ์›๋ถ„์˜ ์ด์Šˆ ์ค‘ โ€œPaginationโ€ ์ด์Šˆ๋ฅผ ๋งค์šฐ ํฅ๋ฏธ๋กญ๊ฒŒ ๋ดค์Šต๋‹ˆ๋‹ค. ์ œ๊ฐ€ argo workflow๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ๋ˆˆ์น˜๋ฅผ ์ฑ„์ง€ ๋ชปํ–ˆ๋Š”๋ฐ, ํŽ˜์ด์ง€๋„ค์ด์…˜์ด ์ผ๊ด€์„ฑ์ด ์—†๋‹ค๋Š” ๊ฑธ ์บ์น˜ํ•˜์‹œ๊ณ  ์ด์Šˆ๋ฅผ ๋งŒ๋“ค์–ด ๊ธฐ์—ฌ๋ฅผ ํ•˜์‹œ๋Š” ๊ฒƒ์—์„œ, ์ €๋ ‡๊ฒŒ ์ž์นซ ์ง€๋‚˜์ณ ๊ฐˆ ์ˆ˜๋„ ์žˆ๋Š” ๊ณณ์—๋„ ์ถฉ๋ถ„ํžˆ ๊ธฐ์—ฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ตฌ๋‚˜ ๋ผ๋Š” ๊ฑธ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค.


3. ๊ฐœ๋ฐœ ์ปจํ…Œ์ด๋„ˆ ๊ตฌ์ถ•

๊ฐœ์ธ์ ์œผ๋กœ ํ™œ๋™์„ ํ•œ ๊ฑด devcontainer๋ฅผ ์ง์ ‘ ๋„์›Œ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์„ธํŒ…ํ–ˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์‹ค, ๊ทธ ๊ณผ์ •์—์„œ ๋ฌด์ˆ˜ํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๋Š”๋ฐ, ๋‹ค๋ฅธ ๋ถ„๋“ค๊ป˜์„œ ์ง์ ‘ ๋„์™€์ฃผ์‹œ๊ณ  ๊ณจ๋จธ๋ฆฌ๋ฅผ ์•“์•„๊ฐ€๋ฉฐ ๋งˆ์นจ๋‚ด ํ•ด๊ฒฐํ•œ ๊ฒƒ์„ ๋ณด๊ณ , ๋ญ”๊ฐ€ ์‹ค๋ฌด์—์„œ๋„ ๋ฒ„๊ทธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๋ถ„๋“ค์ด ์˜ค์…”์„œ ๊ฐ™์ด ๋จธ๋ฆฌ๋ฅผ ์ฅ์–ด์งœ๋‚ด์‹ค ๊ฒƒ ๊ฐ™์€ ๋ชจ์Šต์ด ์ƒ์ƒ์ด ๊ฐ”์Šต๋‹ˆ๋‹ค.

๋ฉ˜ํ† ๋‹˜๊ป˜์„œ ์˜์กด์„ฑ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐ ํ›„์— ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์ œ ํ”„๋กœ์ ํŠธ์— ์ด์Šˆ๋ฅผ ๋งŒ๋“ค๋•Œ, ๋™์ผํ•œ ํ™˜๊ฒฝ์—์„œ ์ž‘์—…ํ•˜๋Š” ๊ฒƒ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜๊ณ , ํ˜„์žฌ ์ œ๊ฐ€ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋Š” ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ (๋””์Šค์ฝ”๋“œ ๋ด‡ ๊ด€๋ จ ํ”„๋กœ์ ํŠธ) ์—์„œ๋„ ๊ฐœ๋ฐœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ์„ ํ•ด์•ผ๋  ๊ฒƒ ๊ฐ™๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.

์ค‘๊ฐ„ ๋ณด๊ณ ์„œ ์ดํ›„์—๋Š” ์กฐ๊ธˆ ๋งˆ์Œ๊ฐ€์ง์„ ๋ฐ”๊ฟ” ์œ„์ถ•๊ฐ์„ ๋Š๋ผ๋Š” ๊ฒƒ ๋ณด๋‹ค๋Š”, ๋‹ค๋ฅธ ํ˜„์ง์ž ๋ถ„๋“ค์ด ์‹ค๋ฌด์—์„œ๋Š” ์–ด๋–ค ์‹์œผ๋กœ ์„œ๋น„์Šค๋ฅผ ์šด์˜ํ•˜์‹œ๋Š”์ง€ ๊ทธ๋Ÿฐ ๊ฒƒ๋“ค์„ ์—ฟ๋“ฃ๋Š” ๊ธฐํšŒ๋ฅผ ์žก๊ณ ์ž ํ–ˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ๋ฉ˜ํ‹ฐ๋ถ„๋“ค๊ป˜์„œ ๋‹ค์–‘ํ•œ ์ฃผ์ œ๋กœ ๋ฐœํ‘œ๋ฅผ ํ•˜์…จ์œผ๋ฉฐ ํšŒ์‚ฌ ๋‚ด์—์„œ ์ด๋ฃจ์–ด์ง€๋Š” ๋ถ€ํ•˜ํ…Œ์ŠคํŠธ, ebpf์— ๋Œ€ํ•œ ์„ค๋ช… ๋“ฑ ํฅ๋ฏธ๋กœ์šด ์ฃผ์ œ๋“ค์„ ๋“ค์„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํ•™๊ต๋ฅผ ๋‹ค๋‹ˆ๋ฉด์„œ ๋“ฃ๊ธฐ ํž˜๋“  ์•„์ฃผ ๊ท€์ค‘ํ•œ ๋ฐœํ‘œ์˜€๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.


4. GPG Sign์„ ์ด์šฉํ•œ Verified Commit ๋ฐฉ๋ฒ• ์ˆ™๋‹ฌ ๋ฐ ํŒ€ ๊นƒํ—ˆ๋ธŒ ์†Œ๊ฐœ๊ธ€ ์—…๋กœ๋“œ

๊ทธ๋™์•ˆ์€ ๋ณ„๋„์˜ GPG Key์—†์ด ์ปค๋ฐ‹์„ ํ•ด์™”๋Š”๋ฐ, ๋ฉค๋ฒ„ ์†Œ๊ฐœ๊ธ€์„ ์—…๋กœ๋“œ ํ•˜๋Š” ๊ณผ์ •์—์„œ DCO๋ด‡๊ณผ GPG ํ™•์ธํ•ด์„œ ๊ณ„์† ๋ง‰ํ˜€, Verified ์ปค๋ฐ‹์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํ„ฐ๋“ํ•˜๊ณ  ํŒ€ ๊นƒํ—ˆ๋ธŒ ๋ ˆํฌ์— ์†Œ๊ฐœ๊ธ€์„ ์—…๋กœ๋“œํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ๊ณผ์ •์—์„œ ์ปค๋ฐ‹์„ ํ•  ๋•Œ๋งˆ๋‹ค ์ž๊พธ ๋ฉˆ์ถฐ ์• ๋ฅผ ๋จน๋Š” ๋„์ค‘ ๊ฐ™์€ ํŒ€์›์˜ ๋„์›€์„ ๋ฐ›์•„ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

docs: ์•ˆ์ง€์™„ ํ”„๋กœํ•„ ์—…๋ฐ์ดํŠธ (opens in a new tab)

๐ŸŒต ์ฐธ๊ฐ€ ํ›„๊ธฐ

์‚ฌ์‹ค, ์ค‘๊ฐ„๋ณด๊ณ ์„œ ์“ฐ๊ธฐ ์ „๊นŒ์ง€ ์ œ ์ˆ˜์ค€์— ๋น„ํ•ด ์ด ํ™œ๋™์ด ๋„ˆ๋ฌด ์ˆ˜์ค€์ด ๋†’๊ณ  ๋‹ค๋ฅธ ๋ถ„๋“ค์ด ๋„ˆ๋ฌด ์ž˜ํ•˜์…”์„œ ์Šค์Šค๋กœ ์œ„์ถ•๋œ ๋Š๋‚Œ์ด ์žˆ์—ˆ์œผ๋‚˜, ๋ฉ˜ํ† ๋‹˜๊ป˜์„œ ๊ฐœ๋ณ„์ ์œผ๋กœ ์ƒ๋‹ดํ•ด์ฃผ์‹œ๊ณ  ์ž˜ ๊ฒฉ๋ คํ•ด์ฃผ์‹  ๋•์— ๊ทธ ์ดํ›„๋กœ ์ •๊ธฐ๋ชจ์ž„์— ๋” ์—ด์‹ฌํžˆ ์ฐธ์—ฌํ•˜๊ณ ์ž ํ–ˆ์Šต๋‹ˆ๋‹ค.

Argo Workflow์—์„œ ์ˆ˜๋งŽ์€ ์ด์Šˆ๋ฅผ ๋ณด๋ฉฐ, ๋งŒ๋งŒํ•œ ๊ฒƒ์ด ์žˆ์œผ๋ฉด ํ•œ๋ฒˆ ๊ธฐ์—ฌ๋ฅผ ํ•ด๋ณผ๊นŒ ํ•˜๋ฉฐ ์ฐพ์•„๋ดค๋Š”๋ฐ, ๋„ˆ๋ฌด ๋ณต์žกํ•˜๊ณ  ํŠนํžˆ๋‚˜ Go ์–ธ์–ด๋ฅผ ์ž˜ ๋ชจ๋ฅด๋Š” ํ„ฐ๋ผ ์†์„ ๋Œˆ ์ˆ˜๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๋Œ€์‹ , ์ง์ ‘ ๊ธฐ์—ฌ๋Š” ๋ชฐ๋ผ๋„ ๋‹ค๋ฅธ ๋ถ„๋“ค์˜ ๊ธฐ์—ฌ๋ฅผ ๋ณด๋ฉฐ ์˜คํ”ˆ์†Œ์Šค๋ผ๋Š” ์„ธ๊ณ„์— ์ž…๋ฌธํ•˜๊ฒŒ ๋œ ๊ฒƒ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค.

๊ฐ€์žฅ ๊ธฐ์–ต์— ๋‚จ์€ ๋‹ค๋ฅธ ๋ถ„์˜ ๊ธฐ์—ฌ๋Š” โ€œํŽ˜์ด์ง€๋„ค์ด์…˜โ€์ด์—ˆ์Šต๋‹ˆ๋‹ค. Argo Workflow์˜ ์–ด๋–ค ๋ถ€๋ถ„์€ ํŽ˜์ด์ง€๋„ค์ด์…˜์ด ๋˜์–ด์žˆ๊ณ , ์–ด๋–ค ๋ถ€๋ถ„์€ ๋˜์–ด์žˆ์ง€ ์•Š์œผ๋ฉฐ, ๋˜ ์–ด๋–ค ๋ถ€๋ถ„์€ ์ œ๋ชฉ์€ ๋‚˜์™€ ์žˆ์ง€ ์•Š์€, ํ•œ๋งˆ๋””๋กœ UI ๋‚ด์˜ ์ผ๊ด€์„ฑ ๊นจ์ง ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ•˜์…จ๊ณ , ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ ์ž ์ด์Šˆ ํ•ด์ปคํ†ค์—์„œ ํŒ€์›์„ ๊ตฌํ•ด ๊ธฐ์—ฌํ•˜์‹œ๋Š” ๋ชจ์Šต์ด ์ธ์ƒ๊นŠ์—ˆ์Šต๋‹ˆ๋‹ค.

๋ญ”๊ฐ€ ์ œ๊ฐ€ ๊ธฐ์—ฌํ•  ๋ถ€๋ถ„์„ ์ฐพ์„ ๋•Œ๋Š” ๋กœ์ง ๊ด€๋ จ ์ด์Šˆ๋ฅผ ์ฐพ์œผ๋ ค ํ–ˆ์œผ๋‚˜, ๋„ˆ๋ฌด ์–ด๋ ต๊ณ  ์ด๊ฒŒ ๋Œ€์ฒด ์–ด๋–ป๊ฒŒ ๋Œ์•„๊ฐ€๋Š”์ง€ ํŒŒ์•…์ด ์•ˆ๋๋Š”๋ฐ, ์ €๋ ‡๊ฒŒ ๊ธฐ์—ฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๊ตฌ๋‚˜โ€ฆ๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์–ด ์ƒ๊ฐ๋ณด๋‹ค ๊ธฐ์—ฌ์— ๊ทธ๋ ‡๊ฒŒ ํฐ ๊ฒ์„ ๋จน์ง€ ์•Š์•„๋„ ๋œ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

๋ฉ˜ํ† ๋‹˜์„ ํฌํ•จํ•œ ๋‹ค๋ฅธ ๋ชจ๋“  ๋ถ„์ด ํ˜„์ง์ž์ด์‹œ๋ฉฐ ์ •๋ง ์‹ค๋ ฅ์ด ๋Œ€๋‹จํ•˜์‹  ๋งŒํผ, ์ €๋„ ๋ชจ์ž„์— ๊ฐ€๋ฉฐ ๋งŽ์€ ๊ฒƒ์„ ์•Œ์•„๊ฐ”์Šต๋‹ˆ๋‹ค. ์›Œํฌํ”Œ๋กœ์šฐ๊ฐ€ ์‹ค๋ฌด ๋‚ด์—์„œ๋Š” ์–ด๋–ป๊ฒŒ ์“ฐ์ด๊ณ  ์žˆ๋Š”์ง€, ํŠนํžˆ ์ œ๊ฐ€ ์š”์ฆ˜ ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ๋Š”, ์ •๋ง ๋งŒ๋Šฅ์ฒ˜๋Ÿผ ๋ณด์ด๋Š” Airflow๊ฐ€ ์™œ ์‹ค๋ฌด ๋‚ด์—์„œ๋Š” ๊ทธ๋‹ฅ ๊ทธ๋ ‡๊ฒŒ ๋งŽ์ด ์“ฐ์ด๊ณ  ์žˆ์ง€๋Š” ์•Š์€์ง€์— ๋Œ€ํ•œ ์ด์œ  ๋“ฑ ์ด๋ก ๊ณผ ์‹ค๋ฌด์˜ ์ฐจ์ด๋“ค์„ ๋ณผ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์†”์งํžˆ ์˜คํ”ˆ์†Œ์Šค ์ปจํŠธ๋ฆฌ๋ทฐ์…˜์— ์ฐธ๊ฐ€ํ•œ ๋งŒํผ, ์ €๋„ ์ด์Šˆ์— ํ•˜๋‚˜ ์ •๋„๋Š” ๊ธฐ์—ฌํ•˜๊ณ  ์‹ถ์€ ์š•์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚จ์€ ๊ธฐ๊ฐ„์ด ๋ณ„๋กœ ์•ˆ๋‚จ์€ ๋งŒํผ, ํ™œ๋™์ด ๋๋‚˜๊ธฐ ์ „๊นŒ์ง€ ์•„์ฃผ ์ž์ž˜ํ•œ ์ด์Šˆ ํ•˜๋‚˜ ์ •๋„๋ผ๋„ ๊ธฐ์—ฌํ•˜๋Š” ๊ฒƒ์ด ์šฐ์„  ์ œ ๊ณ„ํš์ด๋ฉฐ, ์ด์ œ ๊ฐœ๊ฐ•์ด ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๋Š”๋ฐ, ๊ฐœ๊ฐ•์„ ํ•ด๋„ ์ •๊ธฐ๋ชจ์ž„์— ๋‚˜๊ฐ€์„œ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ์ตœ๋Œ€ํ•œ ๋ฐฐ์šฐ๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ง€๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๐ŸŒต ๊ธฐ์—ฌ ์š”์•ฝ

Contribute Info

TOTAL COUNT
0
PR COUNT
0
ISSUE COUNT
0
GitHub
Type
Summary

11. ์œ ์œค์šฐ

๐ŸŒฟ ๊ฐœ์ธ ์„ฑ๊ณผ ๋ณด๊ณ 

์ ‘๊ธฐ/ํŽผ์น˜๊ธฐ

1. ์™•์ดˆ๋ณด๋ฐ˜ dockerfile ๋งŒ๋“ค์–ด๋ณด๊ธฐ task1

  • ๋‚˜๋งŒ์˜ ์›น ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ๋„์ปคํŒŒ์ผ์„ ํ†ตํ•ด ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•ด๋ณด๋Š” ์‹ค์Šต ์ง„ํ–‰
  • ๊ฐ์ž ์›ํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์™€ ์–ธ์–ด๋ฅผ ํ†ตํ•ด ์„œ๋น„์Šค๋ฅผ ๊ตฌ์ถ•, ์ €๋Š” Nest.js๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

2. Nest.js ํ”„๋ ˆ์ž„์›Œํฌ ๊ณต๋ถ€

3. dockerfile ์ƒ์„ฑ ํ›„ PR task2

  • ๋„์ปคํŒŒ์ผ์„ ์ƒ์„ฑํ•˜์—ฌ image๋ฅผ ๋นŒ๋“œํ•ด ์„œ๋น„์Šค ์ •์ƒ์ž‘๋™๊นŒ์ง€ ํ™•์ธํ•˜๊ณ  PR์„ ์˜ฌ๋ ธ์ง€๋งŒ github action์˜ ๋นŒ๋“œ ํ…Œ์ŠคํŠธ ์‹คํŒจ
  • --production ์˜ต์…˜์„ ์ œ๊ฑฐํ•˜๋ฉด ํ…Œ์ŠคํŠธ์— ํ†ต๊ณผํ•˜์ง€๋งŒ image ์ตœ์ ํ™”๊ฐ€ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ. ๋ฉ˜ํ† ๋‹˜๊ป˜ ์กฐ์–ธ ์š”์ฒญ

task3

  • ๋ฉ˜ํ† ๋‹˜์˜ ํ”ผ๋“œ๋ฐฑ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฌธ์ œํ•ด๊ฒฐ ์‹œ์ž‘

4. ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ… task4-1 task4-2

  • dokerfile๋กœ ์ด๋ฏธ์ง€ ์ƒ์„ฑ์‹œ์— ํฌ๊ธฐ๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด node_modules๋ฅผ production ํ™˜๊ฒฝ๋งŒ ์„ค์น˜ํ•˜๋ ค๊ณ  ํ–ˆ์ง€๋งŒ github action์„ ํ†ต๊ณผํ•˜์ง€ ๋ชปํ•จ
  • ์ˆ˜๋งŽ์€ ์‚ฝ์งˆ๋์— nest-cli๋ผ๋Š” ๋ชจ๋“ˆ์ด nest build์‹œ์— ํ•„์š”ํ•œ๋ฐ devdependency์•ˆ์— ๋“ค์–ด๊ฐ€ ์žˆ๋˜๊ฑธ ๋ณ€๊ฒฝํ•˜๊ณ  ๋‚˜๋‹ˆ ํ•ด๊ฒฐ๋๋‹ค. (๋ฉ˜ํ† ๋‹˜์ด ํžŒํŠธ๋ฅผ ์ฃผ์…จ์ง€๋งŒ ๋ชป์•Œ์•„๋“ฃ๊ณ  ์‚ฝ์งˆํ•œ๊ฑด ๋น„๋ฐ€)
  • ๋กœ์ปฌ์—์„œ ๋นŒ๋“œ๊ฐ€ ๋ฌธ์ œ์—†์ด ๋˜์–ด์„œ ๋” ํ—ท๊ฐˆ๋ ธ๋Š”๋ฐ ์ด์œ ๋Š” ๋‚ด ๋งฅ๋ถ์— ๊ธ€๋กœ๋ฒŒ๋กœ nest-cli๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์—ˆ๋‹ค..

5. ์˜คํ”ˆ์†Œ์Šค ์ปจํŠธ๋ฆฌ๋ทฐํ„ฐ ํ™œ๋™ [UI: The position sticky on the workflow toolbar is not working]

[before] before1

  • ์ฒดํฌ๋ฐ•์Šค๋ฅผ ์„ ํƒํ•˜๊ณ  ์Šคํฌ๋กค ์‹œ ์ƒ๋‹จ ํˆด๋ฐ”๊ฐ€ ๋ณด์ด์ง€ ์•Š๋Š”๋‹ค.
  • ๊ธฐ์กด์— ์žˆ๋Š” position : sticky๊ฐ€ ์ ์šฉ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๋ฅผ position : fixed๋กœ ๋ณ€๊ฒฝํ•ด ํ•ด๊ฒฐํ–ˆ๋‹ค.

[after] after1

  • ์ฒดํฌ๋ฐ•์Šค ์„ ํƒ ํ›„ ์Šคํฌ๋กค ์‹œ์— ์ƒ๋‹จ์— ํˆด๋ฐ”๋ฅผ ๊ณ ์ •ํ•˜์—ฌ ๋ณ„๋„์˜ ์Šคํฌ๋กค ์—†์ด ๋ฐ”๋กœ ํ•ด๋‹น ๋ฆฌ์ŠคํŠธ์— ๋Œ€ํ•œ ์ด๋ฒคํŠธ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

[UI - show history about completed runs in each cron workflow]

[before] before2

  • ๊ธฐ์กด cron-workflows-detail ํŽ˜์ด์ง€์—๋Š” ์•„๋ฌด๊ฒƒ๋„ ์—†์—ˆ์ง€๋งŒ

[after] after2-1 after2-2

  • ํ•ด๋‹นํ•˜๋Š” cron-workflows์— ํžˆ์Šคํ† ๋ฆฌ workflows์™€ ํžˆ์Šคํ† ๋ฆฌ๊ฐ€ ์—†์„ ๊ฒฝ์šฐ์— ์˜ˆ์‹œ๋„ ์ถ”๊ฐ€ํ•ด์คฌ๋‹ค.
  • ํ•ด๋‹น PR์€ ์•„์ง ํ™•์ธ์ค‘์ธ ์ƒํƒœ

๐ŸŒต ์ฐธ๊ฐ€ ํ›„๊ธฐ

๋„ˆ๋ฌด ์ข‹์€ ๊ฒฝํ—˜์ด์˜€์Šต๋‹ˆ๋‹ค.

์•„์‰ฝ๊ฒŒ ์ทจ์—…์„ ํ•˜๊ฒŒ๋˜๋ฉด์„œ ๋ฐ”๋น ์ง€๊ณ  ์„œ๋ฒ„์™€ ๋ฐ๋ธŒ์˜ต์Šค์ชฝ ์ง€์‹์ด ๋ถ€์กฑํ•ด ๋งŽ์€ ์ปจํŠธ๋ฆฌ๋ทฐํ„ฐ ํ™œ๋™์ด๋‚˜ ์˜คํ”„๋ผ์ธ ๋ชจ์ž„์— ์ฐธ์—ฌํ•˜์ง€ ๋ชปํ•œ ์•„์‰ฌ์›€๋„ ๋งŽ์ด ๋‚จ์•˜์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜๋„ ํฌ๊ธฐํ•˜์ง€์•Š๊ณ  ํ”„๋ก ํŠธ์—”๋“œ ์ชฝ์œผ๋กœ ๋” ๋งŽ์€ ์ปจํŠธ๋ฆฌ๋ทฐํ„ฐ๋„ ์ง„ํ–‰ํ•ด๋ณด๊ณ  ์„œ๋ฒ„ ์ชฝ ๊ณต๋ถ€๋„ ์ง„ํ–‰ํ•ด์„œ argoWorkflow์—๋„ ๋” ๋งŽ์€ ๊ธฐ์—ฌ๋ฅผ ํ•ด๋ณด๋„๋ก ๋…ธ๋ ฅํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค!

์ข‹์€ ํ™œ๋™ ๋งŒ๋“ค์–ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•˜๊ณ  ์™•์ดˆ๋ณด์—ฌ๋„ ํ•˜๋‚˜์”ฉ ๋‹จ๊ณ„๋ฅผ ๋ฐŸ์•„๊ฐ€๋ฉฐ ์„ฑ์žฅํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ์‹  ๋ฉ˜ํ† ๋‹˜ ๋ฆฌ๋“œ๋ฉ˜ํ‹ฐ ๋‹˜๋“ค ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค ๐Ÿ‘

๐ŸŒต ๊ธฐ์—ฌ ์š”์•ฝ

Contribute Info

TOTAL COUNT
0
PR COUNT
0
ISSUE COUNT
0
GitHub
Type
Summary

12. ์ด๋ณ‘๊ณค

๐ŸŒฟ ๊ฐœ์ธ ์„ฑ๊ณผ ๋ณด๊ณ 

์ ‘๊ธฐ/ํŽผ์น˜๊ธฐ

๐ŸŒต ์ฐธ๊ฐ€ ํ›„๊ธฐ

์ด๋ฒˆ ์ปจํŠธ๋ฆฌ๋ทฐ์…˜ ์•„์นด๋ฐ๋ฏธ๋ฅผ ํ†ตํ•ด ์˜คํ”ˆ์†Œ์Šค์— ๊ธฐ์—ฌํ•˜๋Š” ๊ฒƒ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ์— ๋Œ€ํ•ด ํ•™์Šตํ•˜๊ฒŒ ๋˜๋Š” ๋™๊ธฐ๋ถ€์—ฌ๊ฐ€ ๋˜์„œ ์ข‹์•˜์Šต๋‹ˆ๋‹ค. ์ง์žฅ ์ผ์ด ๋ฐ”์œ ์™€์ค‘์— ์ฐธ๊ฐ€ํ•ด์„œ ์‰ฝ์ง€๋Š” ์•Š์•˜์ง€๋งŒ ๊ผญ ์˜ฌํ•ด ์ปจํŠธ๋ฆฌ๋ทฐ์…˜์—์„œ๋งŒ Argo Workflows์— ๋Œ€ํ•ด ๊ธฐ์—ฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํ–ฅํ›„ ์ปจํŠธ๋ฆฌ๋ทฐ์…˜์—์„œ๋„ ๋ช‡๋…„๊ฐ„ ๊ธฐ์—ฌํ•ด๋ณด๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ๊ธธ๊ฒŒ ๋ณด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์•ž์œผ๋กœ์˜ ๊ณ„ํš์€ Argo Workflows๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋‹ค๋ฅธ Argo Projects๋ฅผ ์ง์ ‘ ๊ตฌ์ถ•ํ•ด๋ณด๊ณ  ์ œ ๊ฐœ์ธ ํ† ์ด ํ”„๋กœ์ ํŠธ์—๋„ ์ ์šฉํ•ด๋ณด๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ด๊ณ  K8s์— ๋Œ€ํ•ด์„œ๋„ ๋” ๋งŽ์€ ๊ณต๋ถ€๋ฅผ ํ•˜๋Š” ๊ฒƒ์ด ๊ณ„ํš์ž…๋‹ˆ๋‹ค.

๐ŸŒต ๊ธฐ์—ฌ ์š”์•ฝ

Contribute Info

TOTAL COUNT
0
PR COUNT
0
ISSUE COUNT
0
GitHub
Type
Summary

13. ์ด์˜์ฃผ

๐ŸŒฟ ๊ฐœ์ธ ์„ฑ๊ณผ ๋ณด๊ณ 

์ ‘๊ธฐ/ํŽผ์น˜๊ธฐ

1. Git ์‚ฌ์šฉ๋ฒ• & Commit & PR ๊ทœ์น™ ์ˆ™์ง€

  • ์ปจํŠธ๋ฆฌ ๋ทฐ์…˜์„ ํ•˜๊ธฐ ์œ„ํ•ด ์—„๊ฒฉํ•œ Commit ๊ณผ Pull Request๋ฅผ ๋ณด๋‚ด๊ธฐ ์œ„ํ•œ ๊ธฐ์ดˆ์ ์ธ Git ์‚ฌ์šฉ๋ฒ• ์ˆ™์ง€ ๋ฐ Mission ์ˆ˜ํ–‰

  • ๊ณต์‹ Argo Workflow ํ”„๋กœ์ ํŠธ์—์„œ๋„ ์ปจํŠธ๋ฆฌ๋ทฐ์…˜ ํ•˜๊ณ  ์‹ถ์€ Issue์— ๋Œ€ํ•ด Issue Template ๋ฅผ ์ด์šฉํ•˜๊ณ  PR ์„ ๋‚ ๋ฆฌ๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์–ด ๋„์›€์ด ๋˜์—ˆ๊ณ  Issue Template ์˜ ์กด์žฌ๋„ ์•Œ๊ฒŒ๋œ ๊ณ„๊ธฐ๊ฐ€ ๋˜์—ˆ์Œ.

  • ํ–ฅํ›„ ์ปจํŠธ๋ฆฌ๋ทฐ์…˜ ๋ถ€๋ถ„์— ๊ผญ ํ•„์š”ํ•œ ์š”์†Œ๋“ค์„ ๊ฐ„์ ‘์ ์œผ๋กœ ์ฒดํ—˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ

  • Issue ์ƒ์„ฑ - ๋ฉค๋ฒ„ ํ”„๋กœํ•„ ์—…๋ฐ์ดํŠธ - PR - Review - Merge ์˜ ๊ณผ์ •

    menberprofile1

2. ์™•์ดˆ๋ณด ํŠน๋ณ„๋ฐ˜ ์ฐธ์—ฌ (Mentor ๊ฐ€ ์ƒ์„ฑํ•œ ์ดˆ๋ณด์ž๋“ค์„ ์œ„ํ•œ ๊ณผ์ •)

  • ์™•์ดˆ๋ณด ํŠน๋ณ„๋ฐ˜ ๋ฏธ์…˜์„ ์œ„ํ•œ Repo(container-playground) (opens in a new tab)

  • Docker ํ˜น์€ Kubernetes ์— ์ต์ˆ™ํ•˜์ง€ ์•Š์€ ์ธ์› ํ˜น์€ ์ฒ˜์Œ์ธ ์ธ์›์— ๋„์›€์„ ์ฃผ๋Š”๋ฐ ๋ชฉ์  class1

  • ๋ฉ˜ํ† ๊ฐ€ ์ œ์‹œํ•œ ๊ณผ์ œ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด์„œ Docker Image ์ตœ์ ํ™”์˜ ํ•„์š”์„ฑ์— ๋Œ€ํ•ด ํ•™์Šต

    • From ์ ˆ ๋ถ€ํ„ฐ Layer(์ธต)๋ณ„๋กœ ์–ด๋–ค ํŒจํ‚ค์ง€, Static file ๋“ค์„ ์Œ“์•„๊ฐ€๋Š” ๊ณผ์ •์ด๊ธฐ ๋•Œ๋ฌธ์— Docker ์ด๋ฏธ์ง€๊ฐ€ ๋ฌด๊ฑฐ์›Œ์ ธ ์„ฑ๋Šฅ ํ–ฅ์ƒ์— ์•…์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ตœ์ ํ™”๋Š” ํ•„์ˆ˜์ž„์„ ๊นจ๋‹ฌ์Œ.
  • Mission

    โ—๏ธ๋ชฉํ‘œโ—๏ธ
    
    ๋‚˜๋งŒ์˜ ์›น์„œ๋น„์Šค๋ฅผ ์ œ์ž‘ํ•˜๊ณ , ์ปจํ…Œ์ด๋„ˆํ™” ํ•  ์ˆ˜ ์žˆ๋Š” ๋„์ปคํŒŒ์ผ์„ ์ž‘์„ฑํ•ด ๋ด…๋‹ˆ๋‹ค.
    
    ๊ณผ์ œ ํ†ต๊ณผ๋ฅผ ์œ„ํ•ด์„œ ๋ฐ˜๋“œ์‹œ ์•„๋ž˜ ์‚ฌํ•ญ์„ ์ค€์ˆ˜ํ•ด ์ฃผ์„ธ์š”.
    
    โ€ข ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ฐ ํŒŒ์ผ ๋ฐฐ์น˜
        โ€ข ๋‚˜๋งŒ์˜ ์„œ๋น„์Šค๋ฅผ ๋ฐ˜๋“œ์‹œ ๋ณธ์ธ github ๊ณ„์ • ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ๊ทธ ์•„๋ž˜ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.
        โ€ข ๋ณธ์ธ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ์ตœ์ƒ๋‹จ์—๋Š” ๋ฐ˜๋“œ์‹œ `Dockerfile` ์ด ์œ„์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.(์ด ์กฐ๊ฑด์„ ๋‹ฌ์„ฑํ•˜์ง€ ๋ชปํ•˜๋ฉด CI๊ฐ€ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.)
        โ€ข ๋ณธ์ธ ๋””๋ ‰ํ„ฐ๋ฆฌ ์•„๋ž˜์— ํ•œํ•ด์„œ, `Dockerfile`์˜ ์œ„์น˜๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ํŒŒ์ผ๋“ค์€ ์ž์œ ๋กญ๊ฒŒ ์ž‘์„ฑํ•ด๋„ ๋ฉ๋‹ˆ๋‹ค.
        โ€ข ๋‹จ, ๋ณธ์ธ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ตœ์ƒ๋‹จ์—์„œ `docker build -t [์ด๋ฏธ์ง€๋ช…] .` ๋ช…๋ น์„ ์ˆ˜ํ–‰ ํ–ˆ์„๋•Œ ์„ฑ๊ณต์ ์œผ๋กœ ์ด๋ฏธ์ง€๊ฐ€ ๋นŒ๋“œ ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    โ€ข ๋นŒ๋“œ ๋œ ์ด๋ฏธ์ง€์˜ ๋™์ž‘
        โ€ข ๋‚˜๋งŒ์˜ ์›น์„œ๋น„์Šค๋Š” ๋ฐ˜๋“œ์‹œ 8080ํฌํŠธ์—์„œ ๋™์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
        โ€ข ๋นŒ๋“œ ๋œ ์ด๋ฏธ์ง€๋Š” ๋ณ„๋„์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ์—†์ด `docker run -d -p [ํฌ์›Œ๋”ฉ ํฌํŠธ๋ฒˆํ˜ธ]:8080 [์ด๋ฏธ์ง€๋ช…]` ์œผ๋กœ ์‹คํ–‰ ํ–ˆ์„ ๋•Œ ๋ฌธ์ œ ์—†์ด ์„œ๋น„์Šค ๋˜๋„๋ก ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    โ€ข ์›น์„œ๋น„์Šค ๊ฐœ๋ฐœ์–ธ์–ด ๋ฐ ์„œ๋น„์Šค ๊ตฌ์กฐ
        โ€ข ๋ณธ์ธ์ด ์„ ํ˜ธํ•˜๋Š” ์–ด๋–ค ์–ธ์–ด, ์–ด๋–ค ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ™œ์šฉํ•ด๋„ ์ƒ๊ด€ ์—†์Šต๋‹ˆ๋‹ค.
        โ€ข UI, ๋””์ž์ธ์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๋‹จ์ˆœ api์„œ๋น„์Šค๋ฅผ ์ œ์ž‘ํ•ด๋„ ์ƒ๊ด€ ์—†์Šต๋‹ˆ๋‹ค.
        โ€ข ๋‹จ, ํ•„์ˆ˜ api๋ฅผ ๋‘๊ฐœ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. (์‘๋‹ต๊ฐ’์€ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.)
            1. /api/v1/[๋ณธ์ธ github๊ณ„์ •]
            2. /healthcheck
    โ€ข (Optional) ๋„์ปค ์ด๋ฏธ์ง€ ์ตœ์ ํ™”๋ฅผ ํ•˜๋ฉด ๋” ์ข‹์Šต๋‹ˆ๋‹ค. ([์ฐธ๊ณ ](https://thearchivelog.dev/article/optimize-docker-image/))
    โ€ข [ํ‚ค์›Œ๋“œ๋ฅผ ํ™œ์šฉํ•œ PR๊ณผ ์ด์Šˆ ์—ฐ๊ฒฐ ๋ฐฉ๋ฒ•](https://docs.github.com/ko/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword)์„ ์ฐธ๊ณ ํ•˜์—ฌ ์ด์Šˆ์™€ PR์„ ์—ฐ๊ฒฐํ•ด์ฃผ์„ธ์š”. (์ˆ˜๋™์—ฐ๊ฒฐ x)
    
    โ—๏ธ ์ฐธ๊ณ ์‚ฌํ•ญโ—๏ธ
    
    โ€ข๋„์ปค์˜ ๊ฐœ๋…๊ณผ Dockerfile์„ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์•„๋ž˜ ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ  ํ•˜๋ฉด ์ข‹์•„์š”.
    
        โ€ข [Dockerfile ์ž‘์„ฑ ๊ณต์‹ ๋ฌธ์„œ](https://docs.docker.com/engine/reference/builder/)
        โ€ข [์™•์ดˆ๋ณด๋ฅผ ์œ„ํ•œ ๋„์ปค ์‚ฌ์šฉ๋ฒ•](https://mysetting.io/slides/xxj85vnvey) (Docker Toolbox๊ด€๋ จ ๋‚ด์šฉ์€ deprecate๋œ ๋‚ด์šฉ)
    
    PR์„ ์˜ฌ๋ฆฌ๊ณ  ๋จธ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์•„๋ž˜ ์‚ฌํ•ญ๋“ค์„ ์ฐธ๊ณ ํ•˜๋ฉด ์ข‹์•„์š”.
    
        โ€ข Repo์— ๋ธŒ๋žœ์น˜๋“ฑ์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ Pushํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์ด ์—†์œผ๋ฏ€๋กœ fork ํ›„ ์ž‘์—…ํ•ด์•ผ ํ•ด์š”.
        โ€ข [PR์˜ ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜](https://flank.github.io/flank/pr_titles/)์„ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”.
        โ€ข [DCO](https://github.com/apps/dco) ๋ด‡์˜ ์ฒดํฌ๋ฅผ ํ†ต๊ณผํ•˜๊ธฐ ์œ„ํ•œ ์กฐ๊ฑด์„ ์ฐธ๊ณ ํ•˜์—ฌ ์ปค๋ฐ‹ํ•ด์ฃผ์„ธ์š”.
        โ€ข [GPG](https://www.44bits.io/ko/post/add-signing-key-to-git-commit-by-gpg)๋ฅผ ์ด์šฉํ•ด ์ปค๋ฐ‹ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•˜์—ฌ ์„œ๋ช…๋œ ์ปค๋ฐ‹์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.
        โ€ข [์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์ปจ๋ฒค์…˜](https://www.conventionalcommits.org/en/v1.0.0/)๋„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ์ข‹์•„์š”. ๊ผญ ๋”ฐ๋ฅด์ง€ ์•Š๋”๋ผ๋„, ๋„ˆ๋ฌด ์˜๋ฏธ์—†๋Š” ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋Š” ์ง€์–‘ํ•ด์ฃผ์„ธ์š”.(Optional)```
    
  • ๊ธฐ์กด์— Python ๊ธฐ๋ฐ˜์˜ Django ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๋‹ค๋ค„๋ณธ ๊ฒฝํ—˜์ด ์žˆ์–ด Django REST API๋ฅผ ์ƒ์„ฑํ•˜๋Š” Docker FIle์„ ์ž‘์„ฑ.

  • PR์„ ๋‚ ๋ ธ์ง€๋งŒ, ๋ณด์•ˆ์ด์Šˆ ํ˜น์€ ๋ถˆํ•„์š”ํ•œ ํŒจํ‚ค์ง€ import ๊ตฌ๋ฌธ ์˜ ์˜ค๋ฅ˜๋ฅผ ์ง€์ ๋ฐ›์Œ.

    review1 review1

  • Django ํ”„๋กœ์ ํŠธ์˜ settings.py (opens in a new tab) ์ฝ”๋“œ์—์„œ๋Š” SECRET_KEY ๊ฐ€ ๋…ธ์ถœ ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์ฒ˜์Œ ์•Œ์•˜์œผ๋ฉฐ ์–ด๋–ป๊ฒŒ ์ด๋Ÿฌํ•œ ๋ณด์•ˆ ์ด์Šˆ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„๊นŒ์— ๋Œ€ํ•ด ๊ณ ๋ฏผํ•ด๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์—ˆ์Œ.

    • Secret key ๊ฐ€ ๋‹ด๊ธด .json ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  settings.py (opens in a new tab) ์—์„œ json ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ง„ํ–‰ํ•˜์˜€๋‹ค.
    • secret.json ํŒŒ์ผ์€ Commit ์— ์˜ฌ๋ฆฌ์ง€ ๋ชปํ•˜๋ฏ€๋กœ .gitignore ๋ฅผ ํ†ตํ•ด json ํŒŒ์ผ์„ ๋ฌด์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๊ฒŒ๋˜์—ˆ์œผ๋ฉฐ, dbsqlite3 ๊ฐ™์€ ์–ด๋–ค ๋ช…๋ น์–ด ์ˆ˜ํ–‰ ํ›„์— ์ƒ์„ฑ๋˜๋Š” ๋ถˆํ•„์š”ํ•œ ํŒŒ์ผ๋“ค๋„ ๋ฌด์‹œํ•  ์ˆ˜ ์žˆ์—ˆ์Œ.
    • ๋กœ์ปฌ์—์„œ ๊ฐœ๋ฐœํ•œ ๊ฒฐ๊ณผ๋ฌผ์„ Git ํ”„๋กœ์ ํŠธ์— ์˜ฌ๋ฆฌ๊ธฐ ์œ„ํ•ด์„œ๋Š” ์—ฌ๋Ÿฌ ๊ณ ๋ ค์‚ฌํ•ญ์ด ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์€ ๊ฒฝํ—˜์ด์—ˆ์Œ.
  • ๋ช‡๊ฐ€์ง€ Review๋ฅผ ํ†ต๊ณผํ•˜๊ณ  PR์ด Merge ๋  ์ˆ˜ ์žˆ์—ˆ์Œ.

3. Argo Workflow Contributor

  • Argo Workflow ๋ฅผ ์ด๊ฒƒ์ €๊ฒƒ ์‚ดํŽด๋ณด๋˜ ๋„์ค‘, Argo Workflow - Contact - Help ํ•„๋“œ์—์„œ Deprecated ๋œ Argo Workflow Slack ์ฑ„๋„์„ ๋ณด๊ฒŒ๋˜์—ˆ์Œ. ์‚ฌ์†Œํ•œ UI Issue ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์ง€๋งŒ, UI๊ฐ€ ์–ด๋–ค ์–ธ์–ด๋กœ ๋ณด์—ฌ์ฃผ๋ฉฐ, ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ๊ฐœ๋ฐœ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๋ผ๊ณ  ์ƒ๊ฐํ•˜์—ฌ Issue ๋ฅผ ์˜ฌ๋ฆฌ๊ณ  PR์„ ์ œ์ถœ.

    slack11

  • ์ƒ์„ฑํ•œ Issue

    UI: non-existent Slack Workspace link on help page Issue (opens in a new tab)

    issue1

    • ์ด์Šˆ๋ฅผ ์ƒ์„ฑํ•˜๋‹ˆ Argo ํ”„๋กœ์ ํŠธ์˜ Maintainer ๋ถ„์ด ๊ธˆ๋ฐฉ ์ฝ”๋ฉ˜ํŠธ๋ฅผ ๋‚จ๊ฒจ์ฃผ์…จ์Œ.

    • ์ž„์˜๋กœ CNCF Argo Channel ๋งํฌ๋กœ Fix ํ•˜๋ ค ํ•˜์˜€์œผ๋‚˜, ๋ฉ”์ธํ…Œ์ด๋„ˆ๋ถ„์ด ๋‹ค๋ฅธ ๋งํฌ๋กœ Update ํ•ด๋‹ฌ๋ผ๋Š” ์ฝ”๋ฉ˜ํŠธ๋ฅผ ๋ฐ›์Œ.

  • ์ƒ์„ฑํ•œ PR

    fix: deprecated Link(Help-Contact) Issue (opens in a new tab)

    issue2

    • Argo Workflow ๋Š” React ๊ธฐ๋ฐ˜์œผ๋กœ UI๊ฐ€ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์—ˆ๊ณ , ์ปดํฌ๋„ŒํŠธ๋ณ„๋กœ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์ •๋ ฌ๋˜์–ด ์žˆ์–ด ์‰ฝ๊ฒŒ ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์—ˆ์Œ.
    • Issue ๊ฐ€ ์žˆ๋˜ Code ๋ถ€๋ถ„ (opens in a new tab)
  • ์‹ค์ˆ˜๋กœ Commit ์ค‘์— Signed-off ์˜ต์…˜์„ ์ƒ๋žตํ•ด์„œ DCO ๋ด‡ TEST์— ํ†ต๊ณผ ๋ชปํ–ˆ์ง€๋งŒ, GIt ์—์„œ ์ด์ „ ์ปค๋ฐ‹์„ ๋˜๋Œ๋ฆฌ๊ฑฐ๋‚˜(Rebase), ์—ฌ๋Ÿฌ ๋ถˆํ•„์š”ํ•œ ์ปค๋ฐ‹์„ ํ•˜๋‚˜๋กœ ํ•ฉ์น˜๋Š”(Squash) ๊ธฐ๋Šฅ์„ ์•Œ๊ฒŒ๋˜์—ˆ๊ณ  ์ด์ „ ์ปค๋ฐ‹์„ ๋Œ๋ ค git commit -S -s -m "Commit Message" ์ปค๋ฐ‹ํ•˜์˜€์Œ.

    • โ€˜LGTMโ€™ ์ฝ”๋ฉ˜ํŠธ๊ฐ€ ๋ฌด์Šจ๋œป์ธ๊ฐ€ ์ฐพ์•„๋ณด์•˜๋Š”๋ฐ ๊ตฌ๊ธ€์—์„œ๋Š” LGTM์ด๋ผ๋Š” ํƒœ๊ทธ๋ฅผ ๋‹ฌ์•„ ์˜์‚ฌ๋ฅผ ํ‘œํ˜„ํ•˜๋Š”๋ฐ Looks Good To Me. ์ฆ‰, ์ข‹์•„ ๋ณด์ธ๋‹ค๋Š” ๋œป์ด๋ผ๊ณ  ํ•˜์—ฌ ๋ฟŒ๋“ฏํ•œ ๊ฒฝํ—˜์ด์—ˆ์Œ.
    • ๋ฒ„๊ทธ๋ฅผ ์ฐพ์•„๋‚ด๊ฑฐ๋‚˜ UI๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋“ฑ์˜ ๊ณผ์ •๋„ ์ค‘์š”ํ•˜์ง€๋งŒ, ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ Argo Workflow ์ƒํƒœ๊ณ„๊ฐ€ ์ •ํ•œ ๊ทœ์น™๋Œ€๋กœ ์ปจํŠธ๋ฆฌ๋ทฐ์…˜์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ณผ์ •๋„ ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

4. Argo Workflow Hackerton ์ฐธ์—ฌ (Argo workflow - OSSCA ํŒ€๋‚ด์—์„œ ๊ฐœ์ตœํ•œ ํ•ด์ปคํ†ค)

  • Pull Request(Merged) : feat: Search by name for WorkflowTemplates in UI (opens in a new tab)

  • Issue : Search by name for WorkflowTemplates in UI (opens in a new tab)

  • ์ด์Šˆ ํ•ด์ปคํ†ค ํ™œ๋™ ๊ธฐ๊ฐ„

    • 1์ฐจ ํ•ด์ปคํ†ค (ํ•ด์ปคํ†ค C์กฐ) : 23.08.16 - 23.08.20
    • 2์ฐจ ํ•ด์ปคํ†ค (ํ•ด์ปคํ†ค C์กฐ) : 23.08.20 - 23.08.27 hack1 hack2
  • ์ด์Šˆ ๋‚ด์šฉ

    • ํด๋Ÿฌ์Šคํ„ฐ์— ๋งŽ์€ ์ˆ˜์˜ ํ…œํ”Œ๋ฆฟ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์ด๋ฆ„์œผ๋กœ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์ง€๋งŒ, ๊ฒ€์ƒ‰๊ธฐ๋Šฅ์ด ์—†์–ด ๋ชจ๋“  ํ…œํ”Œ๋ฆฟ์„ ์Šคํฌ๋กคํ•˜๋Š” ๊ฒƒ์€ ํ•ญ์ƒ ๋ถˆํŽธํ•˜๋‹ค๋Š” ์ด์Šˆ
    • Argo Workflow UI ์—์„œ ์›Œํฌํ”Œ๋กœ์šฐ ํ…œํ”Œ๋ฆฟ์˜ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ฆ„๋ณ„๋กœ ํ•„ํ„ฐ๋งํ•˜๋Š” ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐ๋˜์–ด์„œ ์กฐ๋ผ๋ฆฌ ํšŒ์˜ํ•œ ๊ฒฐ๊ณผ๋กœ ์ด์Šˆ๋ฅผ ์ฑ„ํƒ.
  • ์—ญํ• 

    • Front-End ๋‹ด๋‹น
      • Argo workflow Template UI ์˜ ๊ฒ€์ƒ‰ ํ•„๋“œ(Bar) ์ƒ์„ฑ
      • .get ๋กœ์ง์„ ๋ถ„์„ํ•˜์—ฌ Name Pattern(Like ๊ฒ€์ƒ‰)์„ ์–ด๋””๋กœ ๋„˜๊ฒจ์ฃผ๋Š”์ง€ ๋ถ„์„
      • workflow-template ์ปดํฌ๋„ŒํŠธ ๋””๋ ‰ํ† ๋ฆฌ์˜ workflow-template-filter.tsx, workflow-template-list.tsx ์ˆ˜์ •
  • ํšŒ์˜ ๋‚ด์šฉ

    • ํšŒ์˜๋Š” Slack ํ•ด์ปคํ†ค ์ฑ„๋„์„ ํ†ตํ•ด ์กฐ๋ผ๋ฆฌ ๋งค์ผ ์˜๊ฒฌ๊ณผ ์ •๋ณด๋ฅผ ๊ณต์œ 
    • 1์ฐจ ๋…ผ์˜ ๋‚ด์šฉ
    1. name ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ (backend)
    
        โ€ข WorkflowTemplate ํŽ˜์ด์ง€
        โ€ข name ๊ฒ€์ƒ‰ ์ถ”๊ฐ€(LIKE ๊ฒ€์ƒ‰)
        โ€ข ClusterWorkflowTemplate ํŽ˜์ด์ง€
        โ€ข name ๊ฒ€์ƒ‰ ์ถ”๊ฐ€(LIKE ๊ฒ€์ƒ‰)
        โ€ข CronWorkflow ํŽ˜์ด์ง€
        โ€ข name ๊ฒ€์ƒ‰ ์ถ”๊ฐ€(LIKE ๊ฒ€์ƒ‰)
    
    
    
    2. name ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ (frontend)
    
        โ€ข WorkflowTemplate ํŽ˜์ด์ง€
        โ€ข name ๊ฒ€์ƒ‰ ui ์ถ”๊ฐ€
        โ€ข ClusterWorkflowTemplate ํŽ˜์ด์ง€
        โ€ข ๊ฒ€์ƒ‰ ์‚ฌ์ด๋“œ ๋ฐ” ์ถ”๊ฐ€ (name, label)
        โ€ข CronWorkflow ํŽ˜์ด์ง€
        โ€ข name ๊ฒ€์ƒ‰ ui ์ถ”๊ฐ€
    
    3. ํŽ˜์ด์ง€๋„ค์ด์…˜ (frontend)
    
        โ€ข WorkflowTemplate ํŽ˜์ด์ง€
        โ€ข name ๊ธฐ์ค€ pagination
        โ€ข ClusterWorkflowTemplate ํŽ˜์ด์ง€
        โ€ข pagination ์ถ”๊ฐ€
        โ€ข CronWorkflow ํŽ˜์ด์ง€
        โ€ข pagination ์ถ”๊ฐ€
    
    4. ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ
    
        - name ๊ฒ€์ƒ‰ (LIKE ๊ฒ€์ƒ‰)
        - ์–ด๋–ค ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑํ•ด์•ผํ•˜๋Š”์ง€ ๋” ๋ถ„์„ ํ•„์š”
    • 2์ฐจ ๋…ผ์˜ ๋‚ด์šฉ
      • 1์ฐจ ์˜คํ”„๋ผ์ธ ํšŒ์˜

        hack3

    1. ๊ณต๋™ ์ปค๋ฐ‹ ๋ฐฉ๋ฒ•
    
        โ€ข https://github.com/ArgoWorkflows-OSS/argo-workflows ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ๋ฅผ ๋กœ์ปฌ์— ํด๋ก ๋ฐ›๋Š”๋‹ค.
        โ€ข ํ•ด๋‹น ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ์— ์šฐ๋ฆฌ ํŒ€์ด ์ž‘์—…ํ•  ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. (`master` vs `release-3.4.10`)
        โ€ข ํ•ด๋‹น ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ์˜ ํ•ด๋‹น ๋ธŒ๋žœ์น˜์—์„œ ๊ฐ์ž ๋‹ด๋‹นํ•œ ๊ธฐ๋Šฅ์„ ์ž‘์—…ํ•œ๋‹ค. (PR์˜ฌ๋ฆฌ๊ธฐ ์œ„ํ•œ ์ปค๋ฐ‹ ๊ทœ์น™์„ ์ž˜ ์ง€์ผœ์„œ ์ปค๋ฐ‹ํ•œ๋‹ค.)
        โ€ข ๋ชจ๋‘์˜ ์ž‘์—…์ด ์™„๋ฃŒ๋˜๋ฉด 3๋ช…์ค‘ 1๋ช…์ด PR ํ…œํ”Œ๋ฆฟ์— ๋งž๊ฒŒ PR์„ ๋‚ ๋ฆฌ๊ธฐ
        โ€ข 3๋ช… ๋ชจ๋‘๊ฐ€ ์ปจํŠธ๋ฆฌ๋ทฐํ„ฐ๊ฐ€ ๋  ์ˆ˜ ์žˆ์Œ
    
    2. ํ•ด์ปคํ†ค์ด๊ณ  ์ •ํ•ด์ง„ ๊ธฐ๊ฐ„์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋‹จ workflow-template, cluster-workflow, cron-workflow ์ค‘ ๋จผ์ € ๋ฉ”์ธ์ด๋ผ๊ณ  ์ƒ๊ฐ๋˜๋Š” workflow-template name filter ๋ฅผ ๋จผ์ € ๊ตฌํ˜„ํ•ด๋ณด๊ณ  PR์„ ๋‚ ๋ ค ๋ฉ”์ธํ…Œ์ด๋„ˆ๊ฐ€ Merge ํ•ด์ฃผ๋ฉด ๋‹ค์Œ์œผ๋กœ ๋„˜์–ด๊ฐ€๊ธฐ๋กœ ๊ฒฐ์ •
    
        โ€ข ํŒŒํŠธ๋ณ„ ์ž„๋ฌด
    
        โ€ข ๋ฐฑ์—”๋“œ
    
            โ€ข workflow_template_server.go
                โ€ข ์ด๋ฆ„ ํ•„ํ„ฐ๋ง ๋ฐ ํŽ˜์ด์ง€๋„ค์ด์…˜ ์žฌ๊ณ„์‚ฐ
    
        โ€ข ํ”„๋ก ํŠธ :
    
            โ€ข workfflow-template-filter.tsx
                โ€ข Name ๊ฒ€์ƒ‰ UI ์ถ”๊ฐ€
                โ€ข Name ์ธ์ž ์ˆ˜์‹  ๋ฐ ํ•„ํ„ฐ๋ง
            โ€ข workflow-template-list.tsx
                โ€ข Name state ์ถ”๊ฐ€
                โ€ข userEffect list ์— name ์ „๋‹ฌ
            โ€ข workflow-template.tsx, Utils.tsx
                โ€ข Name ์ธ์ž ์ „๋‹ฌ
    • 3์ฐจ ๋…ผ์˜ ๋‚ด์šฉ

      • 2์ฐจ ์˜คํ”„๋ผ์ธ ํšŒ์˜

        hack4

         1. ์˜คํ”„๋ผ์ธ ๋ฏธํŒ… ํšŒ์˜ ๋‚ด์šฉ
      
             โ€ข namespace ์—†๋Š” ๊ฒฝ์šฐ๋„ ํ•„ํ„ฐ ์‹œ ํฌํ•จํ•ด์•ผ ํ•  ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์˜๊ฒฌ. (namespace ์—†์• ์ž๊ณ  ๋ง ํ•  ๊ทผ๊ฑฐ ๋ถ€์กฑ - ํƒ€ ์‚ฌ์ดํŠธ(์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋Œ€์‹œ๋ณด๋“œ, ์˜คํ”ˆ์‹œํ”„ํŠธ, ์•„๋ฅด๊ณ ์”จ๋”” ๋“ฑ)๋“ค๋„ namespace ์—†๋Š” ๊ฒฝ์šฐ ์ œ๊ณต)
             โ€ข continue์—์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ๋กœ์ง์„ ๊ฐ€์ ธ์™€ ์ ์šฉ๊ฐ€๋Šฅํ•œ์ง€์™€ ์ปค์Šคํ…€ํ•œ ๊ฒฐ๊ณผ์—์„œ๋„ continue๋ฅผ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋Š”์ง€์— ๋Œ€ํ•œ ์ƒ๊ฐ
             โ€ข ์ˆ˜์š”์ผ ๋ฐค๊นŒ์ง€ continue ๋กœ์ง ๋ถ„์„ ํ›„, continue๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŽ˜์ด์ง€๋„ค์ด์…˜์ด ๋ถˆ๊ฐ€๋Šฅ ํ•˜๋‹ค๊ณ  ๊ฒฐ๋ก ์ด ๋‚  ๊ฒฝ์šฐ ์ด์Šˆ ์ฝ”๋ฉ˜ํŠธ์— ์งˆ๋ฌธ ์—…๋กœ๋“œ
             โ€ข ํ”„๋ก ํŠธ๋‹จ ํŽ˜์ด์ง€๋„ค์ด์…˜(๋ฐ์ดํ„ฐ ๋ฆฌ๋กœ๋“œ ์•ˆ๋จ, argocd์—์„œ ์‚ฌ์šฉ์ค‘์ธ ๋ฐฉ์‹) vs ์„œ๋ฒ„๋‹จ ํŽ˜์ด์ง€๋„ค์ด์…˜(๋งค๋ฒˆ ์ „์ฒด ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ํ›„ ํŽ˜์ด์ง€๋„ค์ด์…˜, ๋ถ€ํ•˜ ๊ดœ์ฐฎ์„์ง€)
             โ€ข ์„œ๋ฒ„์‚ฌ์ด๋“œ ์บ์‹ฑ ๊ตฌํ˜„ํ•  ๊ฒฝ์šฐ ์ €์žฅํ•  ๊ณณ์ด ์žˆ๋Š”์ง€
      
      
      
         2. ํŽ˜์ด์ง€ ๋„˜๊ธธ๋•Œ๋งˆ๋‹ค ๋งค๋ฒˆ ๋„ค์ž„์ŠคํŽ˜์ด์Šค, ๋ผ๋ฒจ๋งŒ ์ ์šฉํ•ด์„œ k8s ์ „์ฒด๊ฒ€์ƒ‰ ํ•˜๋Š”๊ฑธ๋กœ ๊ฒฐ์ •
      
         3. offset ๊ธฐ๋ฐ˜ ํŽ˜์ด์ง€๋„ค์ด์…˜ ๋ฐฉ๋ฒ•**์—์„œ ๋กœ์ง ์ถ”๊ฐ€๋กœ ๊ตฌํ˜„
             โ€ข ์•ˆ๋๋˜ ๋ถ€๋ถ„
                 โ€ข next page ๋ฒ„ํŠผ ํด๋ฆญ ํ›„ ํ•„ํ„ฐ๋ง ๊ฒ€์ƒ‰ํ–ˆ์„ ๊ฒฝ์šฐ, ์žˆ๋Š” ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋”๋ผ๋„ ์•„๋ฌด ๋ฐ์ดํ„ฐ๋„ ๋‚˜์˜ค์ง€ ์•Š๋Š”๋‹ค.
                 โ€ข next page ๋ฒ„ํŠผ ํด๋ฆญ ํ›„ ํŽ˜์ด์ง€๋„ค์ด์…˜ ๊ฐฏ์ˆ˜ ๋Š˜๋ฆฌ๋ฉด, ๊ฒ€์ƒ‰๊ฒฐ๊ณผ๊ฐ€ ์ œ๋Œ€๋กœ ๋ณด์ด์ง€ ์•Š๋Š”๋‹ค.
             โ€ข ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„
                 โ€ข continue ๊ฐ’์„ ์„œ๋ฒ„์—์„œ ๊ฐฑ์‹ ํ•ด์ฃผ๋‹ค๋ณด๋‹ˆ, ํŽ˜์ด์ง€ ๊ฐฏ์ˆ˜๋ฅผ ๋Š˜๋ฆฌ๊ฑฐ๋‚˜/ํ•„ํ„ฐ๋ง์„ ๊ฑธ์—ˆ์„ ๋•Œ ์„œ๋ฒ„์— ์ด๋ฏธ ์„ธํŒ…๋œ continue๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ํŽ˜์ด์ง€๋„ค์ด์…˜์„ ํ•ด์„œ ๋ฌธ์ œ ์กด์žฌ,
                   continue ๊ฐ’์„ ํ”„๋ก ํŠธ์—์„œ ๋„˜๊ฒจ์ฃผ๋„๋ก ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ์‹์„ ์ฑ„ํƒ(ํŽ˜์ด์ง€ ๊ฐฏ์ˆ˜ ๋Š˜๋ฆฌ๊ฑฐ๋‚˜/ํ•„ํ„ฐ๋ง์„ ๊ฑธ์—ˆ์„ ๋•Œ continue๋ฅผ ๋‹ค์‹œ 0์œผ๋กœ ์„ธํŒ…)
      
      
      
         4. ํŽ˜์ด์ง€๋„ค์ด์…˜ ํ…Œ์ŠคํŠธ
             โ€ข workflow_template_server_test.go ํ†ต๊ณผ
             โ€ข (workflow template 14๊ฐœ ๋“ฑ๋ก)
             โ€ข UI workflow template ์ฒซ ํŽ˜์ด์ง€ ์ •์ƒ
             โ€ข workflow template ํŽ˜์ด์ง€ limit 5, 10, 50 ์ผ ๋•Œ ์ •์ƒ
             โ€ข workflow template ํŽ˜์ด์ง€ 1 ํŽ˜์ด์ง€์—์„œ workflow template ์ถ”๊ฐ€ ํ›„ 2ํŽ˜์ด์ง€ ์ด๋™
             โ€ข workflow template ํŽ˜์ด์ง€ 1 ํŽ˜์ด์ง€์—์„œ workflow template ์‚ญ์ œ ํ›„ 2ํŽ˜์ด์ง€ ์ด๋™
             โ€ข ์œ„ ๋‚ด์šฉ์„ `name pattern` ํ•„ํ„ฐ๋ง ๊ฒ€์ƒ‰์œผ๋กœ ํ…Œ์ŠคํŠธ
             โ€ข name pattern ์—†์ด ๊ฒ€์ƒ‰ ํ›„ name pattern ์ถ”๊ฐ€ํ•˜์—ฌ ์žฌ๊ฒ€์ƒ‰
             โ€ข name pattern ํฌํ•จ ๊ฒ€์ƒ‰ ํ›„ name pattern ์‚ญ์ œ ํ›„ ์žฌ๊ฒ€์ƒ‰
      
         5. PR ์ƒ์„ฑ
    • Like ํ•„ํ„ฐ(Name Pattern) ๊ตฌํ˜„

      • ์˜ˆ) sp๋กœ ์‹œ์ž‘ํ•˜๋Š” workflow-template ๊ฒ€์ƒ‰๊ฐ€๋Šฅ

        filter1

    • ๊ฒฐ๊ณผ

      filter2

      • ๊ตฌํ˜„์€ ์„ฑ๊ณต์ด์˜€์œผ๋ฉฐ, ์ดํ›„์—๋Š” ์ด์ „์— ๋…ผ์˜ํ–ˆ๋˜ cluster-template, cron-template ์ปดํฌ๋„ŒํŠธ๋“ค์„ ์ˆ˜์ •ํ•  ์˜ˆ์ •

5. ์ปจํŠธ๋ฆฌ๋ทฐ์…˜ ํ™œ๋™ ์™ธ ํ•™์Šต

  • Google Kubernetes Study Jam ๊ต์œก ์ˆ˜๋ฃŒ
  • Badge (opens in a new tab)
  • Architecting with Google Kubernetes Engine: Foundations(Earned 7์›” 18, 2023 EDT)
  • Architecting with Google Kubernetes Engine: Workloads(Earned 7์›” 26, 2023 EDT)
  • Architecting with Google Kubernetes Engine: Production(Earned 8์›” 4, 2023 EDT)
  • ์ •๋ฆฌํ•œ ๋‚ด์šฉ์€ ๊ฐœ์ธ ๋ธ”๋กœ๊ทธ(velog)์— ๊ธฐ๋ก euijoo's Velog GCP Series (opens in a new tab)

๐ŸŒต ์ฐธ๊ฐ€ ํ›„๊ธฐ

  • ์ฐธ๊ฐ€ํ›„๊ธฐ

    • ์•„์นด๋ฐ๋ฏธ ์ด์ „์—๋Š” Argo CD์— ๋Œ€ํ•œ ์ง€์‹๋งŒ ๊ฐ€์กŒ์ง€๋งŒ, ์ดํ›„์—๋Š” Argo Workflow ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•ด ์กฐ์‚ฌํ•˜๊ณ  ๋ถ„์„ํ•˜๋ฉฐ ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ๋“ค์„ ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ•˜๋ฉด ์ข‹์„์ง€ ์ƒ๊ฐํ•ด๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ ˆ๋ฒจ๊นŒ์ง€ ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ์—ˆ์Œ.
    • ์ฒ˜์Œ ์ปจํŠธ๋ฆฌ๋ทฐ์…˜์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์ด์Šˆ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋ฉ”์ธํ…Œ์ด๋„ˆ๋“ค๊ณผ ์†Œํ†ตํ•˜๋ฉฐ ๋ถ€ํƒ๋ฐ›์€ ์‚ฌํ•ญ์— ๋Œ€ํ•ด ์ˆ˜์ •ํ•˜๊ณ  PR์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰ํ•˜๋‹ˆ ๊ธˆ๋ฐฉ ์ฝ”๋ฉ˜ํŠธ๊ฐ€ ๋‹ฌ๋ ธ๊ณ  Merge ๋˜๋Š” ์„ฑ๊ณผ๋ฅผ ๋‹ฌ์„ฑ.
    • ์‚ฌ์†Œํ•œ ์ด์Šˆ์ผ ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ๊ธฐ์—ฌํ•˜๊ณ ์ž ํ•˜๋Š” ๋ถ€๋ถ„์—๋Œ€ํ•ด ์ „์ฒด์ ์ธ ๋ถ„์„์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ๋Š๋‚€ ๊ฒฝํ—˜์ด์—ˆ์Œ.
    • ์ด ๋ฟ๋งŒ์ด ์•„๋‹ˆ๋ผ, ํŒ€ ๋‚ด์—์„œ ์ž์ฒด์ ์œผ๋กœ ์ด์Šˆ ํ•ด์ปคํ†ค์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ UI ์ฆ‰, ํ”„๋ก ํŠธ ๋ถ€๋ถ„๋งŒ์ด ์•„๋‹ˆ๋ผ ๋ฐฑ์—”๋“œ ๋ถ€๋ถ„์˜ ๋กœ์ง์„ ๋ถ„์„ํ•˜๋ฉฐ Argo workflow๊ฐ€ ๋‚ด๋ถ€์—์„œ ์–ด๋–ป๊ฒŒ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š”์ง€ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ์˜€์Œ.
    • ์šฐ๋ฆฌ์กฐ๋Š” ๋ชธ์ฒด๊ฐ€ ํฐ ์ด์Šˆ์—ฌ์„œ ์ด์— ๋งž์ถฐ ์˜จ๋ผ์ธ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์˜คํ”„๋ผ์ธ ํšŒ์˜๋„ ๋ณ‘ํ–‰ํ•˜๋ฉฐ ์ง„ํ–‰ํ•œ ๊ฒฐ๊ณผ ๋ชฉํ‘œ์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ , ๋‘๋ช…์˜ ์ธ์›์€ ํ˜„์—…์— ์ข…์‚ฌํ•˜๋Š” ๋ถ„๋“ค์ด์—ฌ์„œ ์–ด๋ ค์šด ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ๋Š” ์นœ์ ˆํžˆ ์„ค๋ช…ํ•ด์ฃผ์…”์„œ ์œ ์ตํ•œ ๊ฒฝํ—˜์ด์—ˆ์Œ.
    • ๊ณ„์†ํ•ด์„œ ํ•ด์ปคํ†ค ํŒ€์› ํ˜น์€ ์ „์ฒด ํŒ€์›๋“ค๊ณผ ํ•จ๊ป˜ ์†Œํ†ตํ•˜๊ณ  ์‹ถ์€ ์†Œ๋ง์ด ์žˆ์Œ.
  • ์•ž์œผ๋กœ์˜ ๊ณ„ํš

    • ์•„์ง OSSCA ๊ธฐ๊ฐ„์ด ๋๋‚˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ์ง€์†์ ์œผ๋กœ ์ด์Šˆ๋ฅผ ํƒ์ƒ‰(Cluster-workflow-template, Cron-workflow ๋“ฑ)ํ•˜๊ฑฐ๋‚˜, Argo Workflow ๋ฌธ์„œ์˜ ์˜คํƒ€๋‚˜ ๋ฒˆ์—ญ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ณ  ์ง€์†์ ์œผ๋กœ PR์„ ์ œ์ถœํ•  ์ƒ๊ฐ์ž„
    • ๋˜ํ•œ, OSSCA ๊ธฐ๊ฐ„์ด ๋๋‚œ ์ดํ›„์—๋Š” ์ง€๊ธˆ๊นŒ์ง€ ์ •๋ฆฌํ•ด์™”๋˜ ๋‚ด์šฉ์„ ํฌํŠธํด๋ฆฌ์˜คํ™” ํ•  ์˜ˆ์ •.
    • ํ† ์ดํ”„๋กœ์ ํŠธ๋กœ ํ˜„์žฌ ์ง„ํ–‰์ค‘์ธ Argo Workflow๋ฅผ ํ™œ์šฉํ•œData ETL ์ž‘์—…์„ ์™„๋ฃŒํ•ด๋ณผ ์˜ˆ์ •์ž„.
    • ๋งŒ์•ฝ, ์ทจ์—…์ด ๋œ๋‹ค๋ฉด Argo Workflow์˜ ๋งŽ์€ ๊ธฐ๋Šฅ๋“ค์„ ํ˜„์—…์— ๋„์ž…ํ•˜์—ฌ ๋งŽ์€ ์ธ์‚ฌ์ดํŠธ๋ฅผ ์ฐฝ์ถœํ•˜๊ณ  ์‹ถ์€ ์†Œ๋ง์ด ์žˆ์Œ.

๐ŸŒต ๊ธฐ์—ฌ ์š”์•ฝ

Contribute Info

TOTAL COUNT
0
PR COUNT
0
ISSUE COUNT
0
GitHub
Type
Summary

14. ์ „์˜์ •

๐ŸŒฟ ๊ฐœ์ธ ์„ฑ๊ณผ ๋ณด๊ณ 

์ ‘๊ธฐ/ํŽผ์น˜๊ธฐ

โœ… Contribution ๊ด€๋ จ ๋ธ”๋กœ๊ทธ ๊ธฐ๋ก

์‹œ๋ฆฌ์ฆˆ | 2023 OSSCA - ddubi.log (opens in a new tab)



โœ… ๋‹ค์–‘ํ•œ ๊ณผ์ œ ์ˆ˜ํ–‰

  1. Github์—์„œ issue/commit/PR ๋ฏธ์…˜ ์ˆ˜ํ–‰

    [๊ณผ์ œ ์š”์•ฝ]

    mission1

    • ๋ฉค๋ฒ„ ํ”„๋กœํ•„ ์—…๋ฐ์ดํŠธ ์ด์Šˆ๋ฅผ ์„ ํƒํ•˜๊ณ  ํ•ด๋‹น repo๋ฅผ ๋‚˜์˜ repo์— forkํ•œ ํ›„ ๋‚˜์˜ repo์—์„œ users.md ์™€ [์ด๋ฆ„].md๋ฅผ docs/user์•„๋ž˜์— ์ถ”๊ฐ€ํ•œ๋‹ค. ๊ทธ ํ›„ ์ด์Šˆ๋ฅผ ์—ฐ๊ฒฐํ•ด์„œ PR์„ ์˜ฌ๋ฆฌ๊ณ  commit ํ•˜๋Š” ๊ณผ์ œ

    [๊ณผ์ œ ๊ฒฐ๊ณผ]

    docs : ์ „์˜์ • ํ”„๋กœํ•„ ์—…๋ฐ์ดํŠธ by juijeong8324 ยท Pull Request #19 ยท ArgoWorkflows-OSS/ArgoWorkflows-OSS (opens in a new tab)

    Github์—์„œ issue/commit/PR (opens in a new tab)


  1. Running Locally

    [๊ณผ์ œ ์š”์•ฝ]

    • Argo Workflows๋ฅผ local ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰์‹œํ‚ค๋Š” ๊ณผ์ œ
    • Windows ํ™˜๊ฒฝ์—์„œ wsl2๋ฅผ ์„ค์น˜ํ•œ ํ›„ devcontainer cli๋ฅผ ์ด์šฉํ•˜์—ฌ argo workflows ์‹คํ–‰

    [๊ณผ์ œ ๊ฒฐ๊ณผ]

    Argo Workflows ๋กœ์ปฌ์—์„œ ์‹คํ–‰ํ•˜๊ธฐ (opens in a new tab)

    Argo Workflows ๋กœ์ปฌ์—์„œ ์‹คํ–‰ํ•˜๊ธฐ - ์žฌ๋„์ „ (opens in a new tab)

    Argo Workflows ๋กœ์ปฌ์—์„œ ์‹คํ–‰ํ•˜๊ธฐ - ํŒŒ์ด๋„ (opens in a new tab)

    Argo Workflows ๋กœ์ปฌ์—์„œ ์‹คํ–‰ํ•˜๊ธฐ - ์ตœ์ข… ์ •๋ฆฌ (opens in a new tab)


  1. ์™•์ดˆ๋ณด ํŠน๋ณ„๋ฐ˜ - ๋‚˜๋งŒ์˜ ์„œ๋น„์Šค ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ์ œ์ž‘

    mission2

    [๊ณผ์ œ ์š”์•ฝ]

    • ์™•์ดˆ๋ณด ํŠน๋ณ„๋ฐ˜์€ Argo-worfklows ํŒ€ ๋‚ด์—์„œ ์ปจํ…Œ์ด๋„ˆ, ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค, argo์— ๋Œ€ํ•ด ์ž˜ ๋ชจ๋ฅด๊ณ  ์žˆ๋Š” ๋‰ด๋น„๋“ค(It's me...)์„ ์œ„ํ•œ ํŠน๋ณ„๋ฐ˜์ด๋‹ค.
    • ๋‚˜๋งŒ์˜ ์›น์„œ๋น„์Šค๋ฅผ ์ œ์ž‘ํ•˜๊ณ  ์ด๋ฅผ ์ปจํ…Œ์ด๋„ˆํ™” ํ•  ์ˆ˜ ์žˆ๋Š” Dockerfile์„ ์ž‘์„ฑํ•˜๋Š” ๊ณผ์ œ
    • Dockerfile, docker, image, container์™€ ๊ด€๋ จ๋œ ๊ฐœ๋…์„ ์ดํ•ดํ•˜๊ณ  ์žˆ์–ด์•ผ ํ•จ
    • ๋ณธ์ธ์€ node.js, express ํ™˜๊ฒฝ์—์„œ ์›น์„œ๋ฒ„ ๊ตฌ์ถ• ํ›„ dockerfile ์ž‘์„ฑ

    [๊ณผ์ œ ๊ฒฐ๊ณผ]

    ๊ณผ์ œ ๊ด€๋ จ ์ฝ”๋“œ (opens in a new tab)

    ์™•์ดˆ๋ณด ํŠน๋ณ„๋ฐ˜ - 1. ๋‚˜๋งŒ์˜ ์„œ๋น„์Šค ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ์ œ์ž‘ (opens in a new tab)

    [Docker] Dockerfile ๊ธฐ๋ณธ ๋ช…๋ น์–ด์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž (opens in a new tab)



โœ… ์˜คํ”„๋ผ์ธ ์ฐธ์„

๋‚ ์งœํ™œ๋™์š”์•ฝ
2023.07.15- ์ž๊ธฐ์†Œ๊ฐœ
- (์„ธ๋ฏธ๋‚˜) Argo workflows์— ๋Œ€ํ•œ ์†Œ๊ฐœ ๋ฐ ๋ฉ˜ํ† ๋‹˜์˜ ์ ์šฉ ์‚ฌ๋ก€
2023.07.30- ๊ธˆ์ฃผ์˜ ์ด์Šˆ ํƒ์ƒ‰ ๊ณต์œ 
- ๋ณธ์ธ์€ ๋กœ์ปฌ ์‹คํ–‰ ๋ฌธ์ œ ํ•ด๊ฒฐ ์ค‘์ž„์„ ์–ธ๊ธ‰
- (์„ธ๋ฏธ๋‚˜) ํ˜œ๋ฏผ๋‹˜์˜ WebRtc, ์ˆ˜๋…•๋‹˜์˜ keyclock๊ณผ argo worfklows ์—ฐ๋™
2023.08.13- ์™•์ดˆ๋ณด ํŠน๋ณ„๋ฐ˜ ๊ณผ์ œ ํ”ผ๋“œ๋ฐฑ ๋ฐ›์Œ
- ๊ธˆ์ฃผ์˜ ์ด์Šˆ ํƒ์ƒ‰ ๊ณต์œ 
- (์„ธ๋ฏธ๋‚˜)๋ฉ˜ํ† ๋‹˜์˜ ์ปจํ…Œ์ด๋„ˆ ์—ญ์‚ฌ์™€ ์›๋ฆฌ ํŠน๊ฐ•
2023.08.20- ๊ธˆ์ฃผ์˜ ์ด์Šˆ ํƒ์ƒ‰ ๊ณต์œ 
- ๋ณธ์ธ์€ Issue #11131์— ๋Œ€ํ•ด ๊ณต์œ 
- (์„ธ๋ฏธ๋‚˜) ๋‹คํ˜œ๋‹˜์˜ โ€˜๊ฐœ๋ฐœ์ž๊ฐ€ ์Šค์Šค๋กœ ๋ถ€ํ•˜ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜ ์žˆ๋Š” ํ”Œ๋žซํผ ๊ตฌ์ถ•๊ธฐ & K6 ๋ถ€ํ•˜ํ…Œ์ŠคํŠธ PoCโ€™


โœ… Issue ํƒ์ƒ‰ ๋ฐ Issue ์ƒ์„ฑ

  • Issue #11131 (opens in a new tab) ๋ฒ„๊ทธ์ˆ˜์ •

    [์ด์Šˆ ์š”์•ฝ]

    workflow input parameter ์•ˆ์˜ "๊ฐ€ escape ๋˜์ง€ ์•Š์•„ workflow.parameter.json์œผ๋กœ ์ฐธ์กฐํ•  ๋•Œ ์—๋Ÿฌ ๋ฐœ์ƒ

    [๊ฒฐ๊ณผ]

    Argo workflows ์ƒ์˜ ๋ฌธ์ œ๊ฐ€ ์•„๋‹Œ ํŒŒ์ด์ฌ ํ™˜๊ฒฝ์˜ ๋ฌธ์ œ์ด๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น ์ด์Šˆ๋Š” ๊ธฐ๊ฐ

    Blog : Argo Workflows - Issue #11131 (opens in a new tab)




โœ… PR open & merge

  • PR #11732 (opens in a new tab) ๋ฌธ์„œ๊ธฐ์—ฌ PR Merge

    [PR ์š”์•ฝ]

    Argo Workflows ๊ณต์‹๋ฌธ์„œ์—์„œ Artifact Visualization์— ์กด์žฌํ•˜๋Š” ์ด๋ฏธ์ง€๊ฐ€ ์œ ๋ทฐํŠธ ์˜์ƒ ๋งํฌ์ž„์„ ์ž˜ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๊ฒŒ ์ด๋ฏธ์ง€๋ฅผ ์ˆ˜์ •ํ•˜๋Š” PR

    pr1

    [๊ฒฐ๊ณผ]

    Argo Workflows - PR #11732 docs: Add description about img in artifact-visualization.md (opens in a new tab)

    result1_1 ์œ„์™€ ๊ฐ™์ด ์ด๋ฏธ์ง€ ๊ฐ€์šด๋ฐ์— ์œ ํŠœ๋ธŒ ์žฌ์ƒ ๋ฒ„ํŠผ์„ ์ถ”๊ฐ€ํ•œ ์ด๋ฏธ์ง€๋กœ ๋Œ€์ฒด

    result1-2 merge ์™„๋ฃŒ


  • PR #11811 (opens in a new tab) UI๊ฐœ์„  PR Open

    [PR ์š”์•ฝ]

    Issue #11706 (opens in a new tab) ์„ ํ•ด๊ฒฐํ•˜๊ณ ์ž ํ•œ PR

    pr2 cron workflows page์—์„œ ํŠน์ • cron-workflow๋ฅผ ํด๋ฆญํ–ˆ์„ ๋•Œ ์‹คํ–‰๋œ cron-workflow๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ฒŒ ์ˆ˜์ •

    pr2_1 ์‹คํ–‰๋œ cron-workflow๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ์œ„์™€ ๊ฐ™์€ ์•ˆ๋‚ด ์‚ฌํ•ญ์„ ํ‘œ์‹œ

    [๊ฒฐ๊ณผ]

    Merge ์™„๋ฃŒ

๐ŸŒต ์ฐธ๊ฐ€ ํ›„๊ธฐ

  • ํ›„๊ธฐ

    • ์‚ฌ์‹ค DevOps, ์ธํ”„๋ผ ๋ถ„์•ผ๊ฐ€ ํฌ๊ฒŒ ์™€ ๋‹ฟ์ง€ ์•Š๊ณ  ๋งŽ์ด ์ƒ์†Œํ•œ ๋ถ„์•ผ์˜€๋Š”๋ฐ Argo Workflows ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด์„œ ํ•ด๋‹น ๋ถ„์•ผ์— ๋Œ€ํ•ด ์ด์ „๋ณด๋‹ค ์ข€ ๋” ์นœ์ˆ™ํ•ด์ง„ ๋Š๋‚Œ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค.
    • Docker, Container ๋“ฑ์˜ ๊ฐœ๋…๋“ค์„ ์ด๋ก ์ ์œผ๋กœ๋งŒ ์ ‘ํ•˜๋‹ค๊ฐ€ ์ง์ ‘ ์‹ค์Šต์„ ํ†ตํ•ด ์ตํžˆ๊ณ , ๋˜ ํ•ด๋‹น ๊ฐœ๋…๋“ค ์ด์™ธ์— ์ƒˆ๋กญ๊ฒŒ ์•Œ๊ฒŒ ๋œ ๊ฒƒ๋“ค(wsl์˜ ์กด์žฌ..!)์ด ์ƒ๊ธฐ๊ณ  ๋ณธ์ธ์ด ์Šค์Šค๋กœ ์ž˜ ๋ชจ๋ฅด๊ณ  ์ง€๋‚˜์ณค๋˜ ๊ฐœ๋…๋“ค(๋ฆฌ๋ˆ…์Šค์˜ ์ ‘๊ทผ ๊ถŒํ•œ, ๋„คํŠธ์›Œํฌ )๋„ ๋‹ค์‹œ ๋Œ์•„๋ณด๊ฒŒ ๋œ ๊ณ„๊ธฐ๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ๋˜ํ•œ ์ฒ˜์Œ์œผ๋กœ ์ด์Šˆ๋ฅผ ์ƒ์„ฑํ•ด๋ณด๋Š” ์„ฑ์žฅ์„ ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์Šˆ๋ฅผ ์ž‘์„ฑํ•˜๋Š”๋ฐ ๋ง‰์—ฐํ•œ ๋‘๋ ค์›€์„ ๊ฐ–๊ณ  ์žˆ์—ˆ๋Š”๋ฐ ์ง์ ‘ ์ž‘์„ฑํ•˜๋ฉด์„œ ํ•ด๋‹น ๋‘๋ ค์›€์„ ๋ถ€์ˆ˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ๊ทธ๋ฆฌ๊ณ  ๊ธฐ์—ฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋Š” ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”๋ฐ ๋‚ด๊ฐ€ ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์„ ํ•˜๋‚˜์”ฉ ์‹œ๋„ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค๊ณ  ๋Š๊ผˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ๊ฐœ์ธ์ ์ธ ์š•์‹ฌ+ํ•ด๊ฒฐํ•˜๋ฉด์„œ ๋ฐฐ์šด๋‹ค๋Š” ์ƒ๊ฐ์œผ๋กœ ์ธํ•ด ๋‚ด๊ฐ€ ์ž˜ ๊ณต๊ฐํ•˜์ง€ ๋ชปํ•˜๋Š” ์ด์Šˆ๋“ค ์œ„์ฃผ๋กœ ์ฐพ์•˜๋Š”๋ฐ, ์ด์Šˆ์˜ ๋‚œ์ด๋„์™€ ์ƒ๊ด€์—†์ด ๋‚ด๊ฐ€ ์ง์ ‘ ๊ณต๊ฐํ•˜๋Š” ์ด์Šˆ๋ฅผ ํ•ด๊ฒฐํ•˜๋ฉด์„œ ํ•ด๋‹น ๋ ˆํฌ์— ๋Œ€ํ•ด ์ดํ•ดํ•ด์•ผ ํ•จ์„ ๋งŽ์ด ๊นจ๋‹ฌ์•˜๋˜ ์‹œ๊ฐ„์ด์—ˆ์Šต๋‹ˆ๋‹ค.
    • ์•ž์œผ๋กœ๋„ ์˜คํ”ˆ์†Œ์Šค ๊ธฐ์—ฌํ•˜๋Š”๋ฐ์— ์ฆ๊ธธ ์ˆ˜ ์žˆ๊ฒ ๋‹ค๋Š” ๊ธฐ๋Œ€๋ฅผ ๊ฐ–๊ฒŒ ๋ฉ๋‹ˆ๋‹ค!
  • ๊ณ„ํš

- 1๋‹จ๊ณ„
: Argo Workflows์— ๋Œ€ํ•ด์„œ ์ ์‘ํ•˜๊ณ  ์ง์ ‘ ์•Œ์•„๊ฐ€๋Š” ์‹œ๊ฐ„ / ๊ฐ„๋‹จํ•œ ๊ธฐ์—ฌ
: Repo์˜ TODO๋ฅผ ํ†ตํ•ด ๋ฌธ์„œ ๊ธฐ์—ฌ
: UI ์œ„์ฃผ ๊ฐœ์„ 

- 2๋‹จ๊ณ„
: template,backend ์œ„์ฃผ ๊ธฐ์—ฌ

- 3๋‹จ๊ณ„
: ํ•ด๊ฒฐ ํ•˜๋ฉด ์ข‹์€ ์ด์Šˆ ์ž‘์„ฑ ํ›„ ๊ธฐ์—ฌ

์˜คํ”ˆ์†Œ์Šค ์ปจํŠธ๋ฆฌ๋ทฐ์…˜์ด ๋๋‚˜๋„ ๋ฉ˜ํ† ๋‹˜๊ป˜์„œ๋„ ์ •๊ธฐ์ ์œผ๋กœ ๋ชจ์ž„์„ ๊ณ„์† ์œ ์ง€ํ•  ๊ณ„ํš์ด์‹œ๊ณ  ์Šค์Šค๋กœ๋„ ์ด๋ฒˆ ํ•™๊ธฐ์—๋Š” Argo Workflows ๋ ˆํฌ์— ์ ์–ด๋„ ํ•œ ๋‹ฌ์— 1๊ฐœ์˜ ์ด์Šˆ๋ผ๋„ ๊ธฐ์—ฌํ•˜๊ฒ ๋‹ค๋Š” ๋ชฉํ‘œ๋ฅผ ๊ฐ–๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๐ŸŒต ๊ธฐ์—ฌ ์š”์•ฝ

Contribute Info

TOTAL COUNT
0
PR COUNT
0
ISSUE COUNT
0
GitHub
Type
Summary

15. ์ •์„ฑ๋ฝ

๐ŸŒฟ ๊ฐœ์ธ ์„ฑ๊ณผ ๋ณด๊ณ 

์ ‘๊ธฐ/ํŽผ์น˜๊ธฐ
  1. git/github ์‚ฌ์šฉ๋ฒ• ์ตํžˆ๊ธฐ issue: https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/issues/11 (opens in a new tab)
    pr: https://github.com/ArgoWorkflows-OSS/argoworkflows-oss.github.io/pull/15 (opens in a new tab)
    ์š”์•ฝ: opensource ์ƒํƒœ๊ณ„์—์„œ code ํ˜•์ƒ ๊ด€๋ฆฌ ํ•ต์‹ฌ์ธ git/github์™€ ์นœํ•ด์ง€๊ธฐ ์œ„ํ•œ ์ž‘์—…
    ์ƒ์„ธ๋‚ด์šฉ:
    opensource์˜ ์ƒ๋‹น์ˆ˜๋“ค์€ git๊ณผ github๋ฅผ ์ด์šฉํ•ด ํ˜‘์—…์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
    ๊ทธ๋ ‡๊ธฐ์— opensource์— ๊ธฐ์—ฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ•„์—ฐ์ ์œผ๋กœ git/github์™€ ์นœํ•ด์ ธ์•ผํ•ฉ๋‹ˆ๋‹ค.
    git/github๋ฅผ ์‚ฌ์šฉ issue ๋ฐœํ–‰, commit ๊ทœ์น™ ์ค€์ˆ˜, pr ์ƒ์„ฑ๋“ฑ ๋‹ค์–‘ํ•œ๊ฒƒ๋“ค์„ ์ง์ ‘ํ•ด๋ณด๋Š” ํ™œ๋™์ด์—ˆ์Šต๋‹ˆ๋‹ค.

  1. feat: logging for client-side throttling

    issue: #11387 (opens in a new tab), #11402 (opens in a new tab)
    pr: #11437 (opens in a new tab)
    ์š”์•ฝ: user๊ฐ€ ํŠน์ • ์˜ต์…˜์„ ์ž˜๋ชป ์„ค์ •ํ•œ ๊ฒฝ์šฐ ๋” ๋น ๋ฅด๊ฒŒ ํŒŒ์•… ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •
    ์ƒ์„ธ๋‚ด์šฉ:
    kubernetes์™€์˜ ํ†ต์‹ ์„ ์œ„ํ•ด client-go๋ผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
    ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ๋Š” request limit์„ ์œ„ํ•ด --qps, โ€”burst์˜ต์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
    ์ด ์˜ต์…˜์„ ๋งค์šฐ ๋‚ฎ๊ฒŒ ์„ค์ •ํ•œ ๊ฒฝ์šฐ throttling์ด ๋ฐœ์ƒํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
    ๊ทธ๋ ‡๊ธฐ์— ์‚ฌ์šฉ์ž์—๊ฒŒ ์ข€ ๋” ๋น ๋ฅด๊ฒŒ ์•Œ๋ ค์ฃผ๊ธฐ ์œ„ํ•ด ๋ณ„๋„์˜ log level ์„ ๋ถ€์—ฌํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    ํ•ด๋‹น ์ด์Šˆ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ณผ์ •์—์„œ client-go์— ๋Œ€ํ•ด ๋งŽ์ด ํ•™์Šตํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    ํŠนํžˆ ์ œ์ผ ์œ ์ตํ–ˆ๋˜ ๋ถ€๋ถ„์€ RoundTrip์ด์—ˆ์Šต๋‹ˆ๋‹ค.
    golang์—์„œ ์ œ๊ณตํ•˜๋Š” http request interface๋ฅผ ์ง€ํ‚ค๋Š” ๋ชจ๋“  ๊ฐ์ฒด์— ๋Œ€ํ•ด RoundTrip ์„ ์ด์šฉํ•ด ๋ฏธ๋“ค์›จ์–ด๋ฅผ ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š”๊ฒƒ์„ ๋ฐฐ์› ์„๋• ์ •๋ง ์ถฉ๊ฒฉ์ด์—ˆ์Šต๋‹ˆ๋‹ค.


  1. go 1.21 upgrade

    issue: #11566 (opens in a new tab)
    pr: #11601 (opens in a new tab)
    ์š”์•ฝ: golang 1.21 ver release์— ๋”ฐ๋ฅธ version upgrade ์ง„ํ–‰
    ์ƒ์„ธ๋‚ด์šฉ: ๋ฆฌ๋“œ๋ฉ˜ํ‹ฐ๋กœ์„œ ์ด์Šˆ๋ฅผ ์ œ๊ฐ€ ํ•ด๊ฒฐํ•˜๋Š”๊ฒƒ๋ณด๋‹จ ์•„์ง ๊ธฐ์—ฌํ•˜์ง€ ๋ชปํ•œ ํŒ€์›์ด ์‹œ๋„ํ•ด๋ณด๋ฉด ์ข‹์„๊ฑฐ๋ผ๊ณ  ํŒ๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค.

    issue-report1

    ํ•ด๋‹น ์ด์Šˆ๋ฅผ ํŒ€์›์—๊ฒŒ ๊ณต์œ ํ–ˆ๊ณ , ํŒ€์›์ด ์„ฑ๊ณต์ ์œผ๋กœ ์ด์Šˆ๋ฅผ ํ•ด๊ฒฐ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„œํฌํŠธ ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฃผ 1ํšŒ ์ •๊ธฐ์ ์ธ ๋ชจ์ž„์—์„œ ํ•ด๋‹น ์ด์Šˆ์˜ ์ ‘๊ทผ ๋ฐฉ๋ฒ•์„ ๊ณต์œ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

    issue-report2

    ํ‰์ผ์˜ ๊ฒฝ์šฐ์—” slack ์ฑ„๋„์—์„œ ๋”ฐ๋กœ ์งˆ๋ฌธ์„ ๋ฐ›๊ณ  ๋‹ต๋ณ€ํ•˜๋Š” ์‹์œผ๋กœ ๋ชจ๋“  ํŒ€์›์ด PR์„ ์ œ์ถœํ•˜๋Š” ๊ฒฝํ—˜์„ ์–ป์„ ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.

    issue-report3

    ํŒ€์›๋„ PR์„ Mergeํ•˜๋Š” ์•„์ฃผ ์†Œ์ค‘ํ•œ ๊ฒฝํ—˜์„ ์–ป๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.


  1. Debugging ์„ค์ •

    ์š”์•ฝ: ํŒ€์›์˜ argo-workflow debugging setting
    ์ƒ์„ธ๋‚ด์šฉ:
    golang์œผ๋กœ ๊ฐœ๋ฐœ์„ ์ฒ˜์Œํ•˜๋Š” ํŒ€์›์„ ์œ„ํ•ด debugging ํ™˜๊ฒฝ ์„ค์ •์— ์–ด๋ ค์›€์ด ์žˆ์—ˆ๊ณ , ์ด๋ฅผ ๊ฐ™์ด ํ•ด๊ฒฐํ•˜๊ธฐ์œ„ํ•ด ๋…ธ๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค.

    debug-1

    ์ด ๊ณผ์ •์—์„œ ์ € ์—ญ์‹œ kubernetes์™€ ๋ฐ€์ ‘ํ•œ app์˜ debugging ์„ค์ •์„ ์ž˜ํ•˜์ง€ ๋ชปํ•œ๋‹ค๋Š”๊ฒƒ์„ ๊นจ๋‹ซ๊ฒŒ ๋˜์—ˆ๊ณ , ํ•ด๋‹น ๋ถ€๋ถ„์— ๋Œ€ํ•ด ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๋„์›€์„ ๋ฐ›์•„์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์„ ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๐ŸŒต ์ฐธ๊ฐ€ ํ›„๊ธฐ

  • ํ›„๊ธฐ
    • 13์ฃผ๊ฐ„์˜ ossa ์ฐธ๊ฐ€๋Š” ์ •๋ง์ด๋‚˜ ์ฆ๊ฑฐ์šด ๊ฒฝํ—˜์ด์—ˆ์Šต๋‹ˆ๋‹ค. 3๋ฒˆ์˜ ์ง€์› ๋์— ์ข‹์•„ํ•˜๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ์ธ CNCF, ์ข‹์•„ํ•˜๋Š” ์–ธ์–ด์ธ Golang์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ํ”„๋กœ์ ํŠธ์— ์ฐธ์—ฌํ•œ๋‹ค๋Š”๊ฒŒ ์ •๋ง ํ–‰๋ณตํ–ˆ์Šต๋‹ˆ๋‹ค.
    • ossca๋ฅผ ํ†ตํ•ด CNCF ์‚ฐํ•˜์˜ argo-workflow์— ์ฐธ์—ฌํ•˜๋ฉด์„œ ์ž‘๋”๋ผ๋„ CNCF์˜ ์ƒํƒœ๊ณ„์— ๊ธฐ์—ฌ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ ์ž์ฒด๊ฐ€ ์ €์—๊ฒŒ๋Š” ๋งค์šฐ ํ–‰๋ณตํ•œ ์‹œ๊ฐ„์ด์—ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ argo-workflow์—์„œ ์šด์˜ํ•˜๋Š” ์ œ๋„์ธ mentoring์„ ํ†ตํ•ด, maintainer์™€ ๋น ๋ฅด๊ฒŒ ์˜์‚ฌ์†Œํ†ต ํ•  ์ˆ˜ ์žˆ๋Š” ์ ์€ beginner์—๊ฒ ํŠนํžˆ๋‚˜ ์ข‹์€ ๊ฒฝํ—˜์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.
    • argo-workflow์˜ mentoring ์‹œ์Šคํ…œ์„ ํ†ตํ•œ ํ”ผ๋“œ๋ฐฑ์œผ๋กœ ๋น ๋ฅด๊ฒŒ PR ์ œ์ถœ ๊ณผ merge๋ฅผ ํ†ตํ•ด ์ž์‹ ๊ฐ๊ณผ ์ข‹์€ ๊ฒฝํ—˜์„ ์–ป์—ˆ๊ณ  ๋ฆฌ๋“œ ๋ฉ˜ํ‹ฐ๋กœ์„œ ๋ชจ๋“  ํŒ€์›์—๊ฒŒ ๊ณต์œ ๋ฅผ ํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ์˜คํ”ˆ์†Œ์Šค ๊ธฐ์—ฌ๋ฅผ ์ฒ˜์Œ ์ ‘ํ•˜๋Š” ํŒ€์›์„ ๋„์™€์ฃผ๋ฉด์„œ ๋‚ด๊ฐ€ ๋‹น์—ฐํžˆ ์—ฌ๊ธฐ๋˜ ๋ถ€๋ถ„์ด ์ฒ˜์Œ ์ ‘ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์—๊ฒ ์–ผ๋งˆ๋‚˜ ํฐ ์ง„์ž… ์žฅ๋ฒฝ์ธ์ง€ ๊นจ๋‹ซ๊ฒŒ ํ•ด์ฃผ์—ˆ๊ณ , beginner๋ฅผ ์–ด๋–ป๊ฒŒ ๋” ์•ˆ์ •์ ์œผ๋กœ ์ƒํƒœ๊ณ„๋กœ ์œ ์ž… ์‹œํ‚ฌ ์ˆ˜ ์žˆ์„์ง€ ๊ณ ๋ฏผ์„ ํ•˜๋Š” ๊ณ„๊ธฐ๋ฅผ ์–ป๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ์˜คํ”ˆ์†Œ์Šค ๊ธฐ์—ฌ ํ™œ๋™ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, Developer, DevOps, SRE ์ง๋ฌด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ํŒ€์›๊ณผ ๊ฐ๊ฐ ์ง๋ฌด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด์„œ ์‚ฌ์šฉํ•˜๋Š” ๋‹ค์–‘ํ•œ ๊ธฐ์ˆ , ๊ฒฝํ—˜ ๊ณต์œ ๋ฅผ ํ†ตํ•ด ์‹œ์•ผ๊ฐ€ ๋” ๋„“์–ด์ง€๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ๋‚ด๋…„์—๋„ ๊ธฐํšŒ๊ฐ€ ๋œ๋‹ค๋ฉด ๊ผญ ossa์— ์ฐธ๊ฐ€ํ•ด ๋‹ค์–‘ํ•œ ์‚ฌ๋žŒ๋“ค๊ณผ ์˜คํ”ˆ์†Œ์Šค ๊ธฐ์—ฌ ํ™œ๋™์„ ์ด์–ด๋‚˜๊ฐ€๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.
  • ๊ณ„ํš
    • ์ด๋ฒˆ argo-workflow ํ”„๋กœ์ ํŠธ์— ์ฐธ์—ฌํ•˜๋ฉด์„œ argo ์ง„์˜์˜ ํ”„๋กœ์ ํŠธ๋“ค์— ๋งŽ์€ ๊ด€์‹ฌ์„ ๊ฐ€์ง€๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์— ์ฐธ์—ฌํ•˜๋ฉด์„œ ๊ฐœ๋ฐœ์ž๋กœ์„œ ๋ถ€์กฑํ•œ์ ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ  ์ด๋ฅผ ๊ฐœ์„ ํ•  ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค. ossca๊ฐ€ ์ข…๋ฃŒ ๋˜๋”๋ผ๋„ CNCF ์‚ฐํ•˜ ์˜คํ”ˆ์†Œ์Šค์— ๋Œ€ํ•œ ๊ธฐ์—ฌ๋Š” ๊ณ„์† ์ด์–ด ๋‚˜๊ฐˆ ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค.
      • argo-workflow
        • ๋ถ€์กฑํ•œ ์ 
          • kubernetes operator์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ๋ถ€์กฑ
          • frontend ์ง€์‹์— ๋Œ€ํ•œ ๋ถ€์žฌ
        • ์ถ”ํ›„ ๊ณ„ํš
          • argo-workflow์˜ ui๊ฐ€ ๋‹ค๋ฅธ argo project์— ๋น„ํ•ด ๋งŽ์ด ์•„์‰ฌ์šด๋ฐ, ์‚ฌ์šฉ์ž์˜ ํ”ผ๋“œ๋ฐฑ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ์„ ์„ ์‹œ๋„ํ•ด๋ณผ ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค.
          • area/artifact์™€ ๊ด€๋ จํ•ด์„œ ๋” ๋‹ค์–‘ํ•œ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ™•์žฅ์„ ํ•ด๋ณด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.
          • area/plugin๊ณผ ๊ด€๋ จํ•ด ํ˜„์žฌ sidecar ํ˜•ํƒœ๋กœ๋งŒ ์ง€์›ํ•˜๋Š”๋ฐ, ์™ธ๋ถ€์—์„œ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•œ plugin์„ ๋” ์‰ฝ๊ฒŒ ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ตฌํ˜„ํ•  ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค.
          • document์—์„œ beginner์—๊ฒŒ ๋‚œํ•ดํ•œ ๋ถ€๋ถ„์„ ๊ณ ๋ฏผํ•ด๋ณด๋ฉฐ ๊ฐœ์„ ์„ ์ง„ํ–‰ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.
    • ๊ฐœ์ธ์  ์„ฑ์žฅ
      • ๋ถ€์กฑํ•œ ์ 
        • ์—ฌ๋Ÿฌ ํšŒ์‚ฌ์˜ ๋ฉค๋ฒ„๋“ค๊ณผ ๋Œ€ํ™”๋ฅผ ํ•˜๋ฉด์„œ ์Šค์Šค๋กœ๊ฐ€ ์ƒ๊ฐํ•˜๊ธฐ์— ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•˜๊ณ  ์•ˆ์ •์ ์œผ๋กœ ์œ ์ง€ํ•˜๋Š” ๊ด€์ ์ด ๋ถ€์กฑ
        • ์ง€์‹ ์ „๋‹ฌ์„ ์œ„ํ•œ ์˜์‚ฌ์†Œํ†ต์— ์–ด๋ ค์›€.
      • ์ถ”ํ›„ ๊ณ„ํš
        • ์ „๋‹ฌํ•˜๊ณ ์ž ํ•˜๋Š” ์ง€์‹์„ ์–ด๋–ป๊ฒŒ ์ •๋ฆฌํ•˜๊ณ  ๋งํ•ด์•ผ ํ•˜๋Š”์ง€ ์—ฐ๊ตฌ ํ•  ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค.
        • ๋งŽ์€ ์‚ฌ๋žŒ๋“ค๊ณผ ๋Œ€ํ™”ํ•˜๋ฉฐ ์ƒ๊ฐ์„ ๊ณต์œ ํ•˜๊ณ  ํƒ€์„ฑ์— ์ –์ง€ ์•Š๊ฒŒ ๋…ธ๋ ฅ ํ•  ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค.

๐ŸŒต ๊ธฐ์—ฌ ์š”์•ฝ

Contribute Info

TOTAL COUNT
0
PR COUNT
0
ISSUE COUNT
0
GitHub
Type
Summary

16. ์ฑ„๋ฌธ์˜

๐ŸŒฟ ๊ฐœ์ธ ์„ฑ๊ณผ ๋ณด๊ณ 

์ ‘๊ธฐ/ํŽผ์น˜๊ธฐ

๋‹ค์–‘ํ•œ ๊ณผ์ œ ์ˆ˜ํ–‰

์ด์Šˆ ๋ถ„์„

  • ๋งคํŠธ๋ฆญ ์ด์Šˆ ๋ถ„์„
    • Github Reaction์ด ๋งŽ์€ ์ด์Šˆ๋กœ ๋งŽ์€ ์‚ฌ์šฉ์ž๋“ค์ด ๊ฐœ์„ ์„ ํ•„์š”๋กœ ํ•˜๋Š” ์ด์Šˆ ๋ถ„์„
      • ๋งคํŠธ๋ฆญ Label์˜ ์ถ”๊ฐ€ํ•˜์—ฌ, ๋ชจ๋‹ˆํ„ฐ๋ง ํŽธ์˜์„ฑ ์ฆ๋Œ€
    • ์ด์Šˆ ๋ถ„์„ ๊ฒฐ๊ณผ, ํ•ด๋‹น ๋‚ด์šฉ์„ ๊ฐœ๋ฐœํ–ˆ์„ ๋•Œ ๋˜ ๋‹ค๋ฅธ ๋ฌธ์ œ๋ฅผ ์•ผ๊ธฐํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌ
      • ๋งคํŠธ๋ฆญ Label์„ ์ถ”๊ฐ€ํ•  ๊ฒฝ์šฐ, ๋งŽ์€ ์–‘์˜ ๋ฉ”ํŠธ๋ฆญ์ด ์ˆ˜์ง‘๋˜์–ด ๊ธฐ์กด ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ๋งŽ์€ ์–‘์˜ ๋ฉ”ํŠธ๋ฆญ ํŠธ๋ž˜ํ”ฝ์ด ์œ ์ž…๋˜์–ด ์„ฑ๋Šฅ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค.
    • ์šฐํšŒํ•˜์—ฌ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ œ์‹œํ•˜๊ณ  ์†Œํ†ตํ•จ
  • ์ถ”ํ›„ ๊ฐœ์„ ์„ ์œ„ํ•ด ๋‚จ๊ฒจ๋†“์€ ์ฃผ์„์— ๋ชจํ˜ธํ•œ ๋ถ€๋ถ„์ด ์žˆ์–ด ๋ฌธ์˜
  • ์ด์Šˆ ํ•ด์ปคํ†ค์œผ๋กœ ์ด์Šˆ ๋ถ„์„

์ปจํŠธ๋ฆฌ๋ทฐํŠธ

๐ŸŒต ์ฐธ๊ฐ€ ํ›„๊ธฐ

๋Œ€ํ˜• ์˜คํ”ˆ์†Œ์Šค ์ปค๋ฎค๋‹ˆํ‹ฐ์— ๊ธฐ์—ฌํ•˜๊ณ  ์‹ถ์—ˆ์œผ๋‚˜, ๋ง‰๋ง‰ํ•จ์ด ์ปธ๋‹ค. ์ด๋ฒˆ ์•„์นด๋ฐ๋ฏธ๋ฅผ ํ†ตํ•ด ์ง์ ‘ ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ์–ด ์ข‹์•˜๋‹ค. ๊ธฐ์—ฌ ๊ฒฝํ—˜์ด ๋งŽ์€ ๋ฉ˜ํ‹ฐ๋‹˜์ด ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๋‹จ๊ณ„๋ณ„๋กœ ์•ˆ๋‚ดํ•ด์ฃผ๊ณ , ๋„์ „ํ•  ์ˆ˜ ์žˆ๊ฒŒ๋” ์œ ๋„ํ•ด์ฃผ์–ด์„œ ๊ฐ€๋Šฅํ–ˆ๋‹ค. ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž์™€ ๊ธฐ์ˆ  ์„ธ๋ฏธ๋‚˜๋ฅผ ํ•˜๊ณ  ๊ธฐ์ˆ  ๊ต๋ฅ˜๋ฅผ ํ•˜๋ฉฐ, ์ƒํ˜ธ ์„ฑ์žฅํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ArgoWorkflow๋Š” ํฐ ๊ทœ๋ชจ์˜ ํ”„๋กœ์ ํŠธ์ด๊ธฐ ๋•Œ๋ฌธ์— ํ˜ผ์ž ๋ถ„์„ํ•˜๋ฉด ์–ด๋ ค์šด ๋ถ€๋ถ„์ด ๋งŽ์€๋ฐ, ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž์™€ ์˜๊ฒฌ์„ ๋‚˜๋ˆ„์–ด ์ข€ ๋” ๋น ๋ฅด๊ฒŒ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ArgoWorkflow ํ”„๋กœ์ ํŠธ๋ฅผ ์–ด๋Š ์ •๋„ ์ดํ•ดํ–ˆ๊ณ , ์ž‘์€ ์ปจํŠธ๋ฆฌ๋ทฐํŠธ ๊ฒฝํ—˜์„ ํ†ตํ•ด ์ž์‹ ๊ฐ์ด ์ƒ๊ฒผ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์Œ ๊ธฐ์—ฌ๋Š” ๋” ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ์œผ๋ฆฌ๋ผ ๊ธฐ๋Œ€๋œ๋‹ค. ์ด๋ฒˆ ํ”„๋กœ๊ทธ๋žจ์ด ๋๋‚œ ํ›„์—๋„ ArgoWorkflow์— ๊ด€์‹ฌ์ด ๋งŽ์€ ๋‹ค๋ฅธ ๋ฉ˜ํ‹ฐ๋“ค๊ณผ ์„œ๋กœ ํ˜‘์—…ํ•˜๋ฉฐ ๋” ํฐ ๊ทœ๋ชจ์˜ ๊ธฐ์—ฌ๋ฅผ ํ•  ๊ณ„ํš์ด๋‹ค.

๐ŸŒต ๊ธฐ์—ฌ ์š”์•ฝ

Contribute Info

TOTAL COUNT
0
PR COUNT
0
ISSUE COUNT
0
GitHub
Type
Summary

17. ์ตœ์ˆ˜๋…•

๐ŸŒฟ ๊ฐœ์ธ ์„ฑ๊ณผ ๋ณด๊ณ 

์ ‘๊ธฐ/ํŽผ์น˜๊ธฐ

1. Cron workflow can not apply volumeClaimTemplates config from argo controller config map (workflowDefaults)

Issue #11344 (opens in a new tab) PR #11662 (opens in a new tab)

์ด์Šˆ ๋ถ„์„

์ด ์ด์Šˆ๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋จผ์ € Default Workflows (opens in a new tab)๊ฐ€ ๋ฌด์—‡์ธ์ง€๋ฅผ ์•Œ์•„์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.

argo workflows controller configmap์— workflowDefaults ๋ผ๋Š” ํ•„๋“œ๋Š” ๋„ฃ์–ด ์›Œํฌํ”Œ๋กœ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ๊ฐ’์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์›Œํฌํ”Œ๋กœ์— ์ด๋ฏธ ํ•ด๋‹น ํ•„๋“œ๊ฐ’์ด ์žˆ์„ ๊ฒฝ์šฐ์—๋Š” ์›Œํฌํ”Œ๋กœ ๊ฐ’์ด ์šฐ์„ ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด configmap์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค์ •ํ•œ ๋’ค์— Workflows๋ฅผ ์ƒ์„ฑํ•˜๋ฉด

# This file describes the config settings available in the workflow controller configmap
apiVersion: v1
kind: ConfigMap
metadata:
  name: workflow-controller-configmap
data:
  # Default values that will apply to all Workflows from this controller, unless overridden on the Workflow-level
  workflowDefaults: |
    metadata:
      annotations:
        argo: workflows
      labels:
        foo: bar
    spec:
      ttlStrategy:
        secondsAfterSuccess: 5
      parallelism: 3

์ž๋™์œผ๋กœ workflowDefaults ํ•„๋“œ์— ์„ค์ •ํ•ด์ค€ ๋Œ€๋กœ Workflows๊ฐ€ ์•„๋ž˜์™€ ๊ฐ™์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: gc-ttl-
  annotations:
    argo: workflows
  labels:
    foo: bar
spec:
  ttlStrategy:
    secondsAfterSuccess: 5 # Time to live after workflow is successful
  parallelism: 3

ํ•ด๋‹น ์ด์Šˆ๋Š” workflowDefaults์— volumeClaimTemplates ๊ฐ’์„ ๋„ฃ์œผ๋ฉด, CronWorflows/Workflows ์ƒ์„ฑ ์‹œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋Š” ์ด์Šˆ์˜€์Šต๋‹ˆ๋‹ค.

does not contain declared merge key: name ๋ผ๋Š” ์—๋Ÿฌ๋ฉ”์„ธ์ง€๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.

์ฝ”๋“œ๋ฅผ ํ™•์ธํ•ด๋ณด๋‹ˆ StrategicMergePatch ํ•จ์ˆ˜์—์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๊ณ  ์ด๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ patch ์ „๋žต๊ณผ ๊ด€๊ณ„๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

VolumeClaimTemplates []apiv1.PersistentVolumeClaim `json:"volumeClaimTemplates,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,6,opt,name=volumeClaimTemplates"`

Workflows์—์„œ ์ •์˜๋˜์–ด์žˆ๋Š” ํƒ€์ž…์ธ VolumeClaimTemplates๋Š” patchMergeKey๋กœ name์„ ์‚ฌ์šฉํ•˜๋„๋ก ์ •์˜๋˜์–ด์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์•„๋ž˜ PersistentVolumeClaimํƒ€์ž…์„ ํ™•์ธํ•ด๋ณด๋ฉด name์€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๊ตฌ์กฐ์ฒด์— ์ •์˜๋˜์–ด์žˆ์ง€ ์•Š์€ ๊ฐ’์„ patchMergeKey๋กœ ์ •์˜ํ•ด๋‘์–ด์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค.

type PersistentVolumeClaim struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
 
	// spec defines the desired characteristics of a volume requested by a pod author.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
	// +optional
	Spec PersistentVolumeClaimSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
 
	// status represents the current information/status of a persistent volume claim.
	// Read-only.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
	// +optional
	Status PersistentVolumeClaimStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

์ด์Šˆ ํ•ด๊ฒฐ

VolumeClaimTemplates์—์„œ patchMergeKey๋ฅผ ์ œ๊ฑฐํ•˜๋„๋ก ํ•ด๋‹น ์ด์Šˆ๋ฅผ ์ˆ˜์ •ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ VolumeClaimTemplates์— patchMergeKey๊ฐ€ ๋ถ™์€ ์ด์œ ๋Š” Volume๊ณผ ๊ฐ™์€ ์ปจ๋ฒค์…˜์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์–ด์„œ ์˜€์Šต๋‹ˆ๋‹ค.

ํ•ด๋‹น ์ด์Šˆ๋Š” ์ด์ฒ˜๋Ÿผ ์ •์ฑ…๊ณผ ๊ด€๋ จ๋˜์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋” ๋งŽ์€ ์˜๋…ผ์ด ํ•„์š”ํ•œ ์ƒํ™ฉ์ž…๋‹ˆ๋‹ค.

ArgoWorkflows ํ”„๋กœ์ ํŠธ์— ์ฒ˜์Œ์œผ๋กœ ์˜ฌ๋ฆฐ PR์ด์—ˆ๊ณ  ๊ฝค๋‚˜ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ๋ถˆํŽธํ•ดํ•˜๊ณ  ์žˆ๋Š” ์ด์Šˆ์˜ ์›์ธ์„ ์ฐพ์•„๋‚ผ ์ˆ˜ ์žˆ์–ด์„œ ๊ธฐ๋ปค์Šต๋‹ˆ๋‹ค.

2. Search by name for WorkflowTemplates in UI

Issue #11004 (opens in a new tab) PR #11684 (opens in a new tab)

์ด์Šˆ ๋ถ„์„

์ด๋ฒˆ ์ด์Šˆ๋Š” 3๋ช…์œผ๋กœ ํŒ€์„ ์งœ์„œ ์ž‘์—…์„ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

HackertonC

WorkflowTemplates๋Š” '์ด๋ฆ„'์„ ๊ธฐ์ค€์œผ๋กœ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์กด์žฌํ•˜์ง€ ์•Š์•„ ํŠน์ • WorkflowTemplates์„ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ๋Š” label์„ ๊ธฐ์ค€์œผ๋กœ๋งŒ ์ฐพ์„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๋งŽ์€ ์‚ฌ์šฉ์ž๋“ค์€ ๋ถˆํŽธํ•จ์„ ๋Š๋ผ๊ณ  ์žˆ์—ˆ์œผ๋ฉฐ '์ด๋ฆ„'์„ ๊ธฐ์ค€์œผ๋กœ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ด์คฌ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค๋Š” '๊ธฐ๋Šฅ ๊ฐœ์„ ' ๊ด€๋ จ ์ด์Šˆ์˜€์Šต๋‹ˆ๋‹ค.

์ด์Šˆ ํ•ด๊ฒฐ

namePattern

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค API๋ฅผ ํ†ตํ•ด ์กฐํšŒ๋œ WorkflowTemplates์˜ ๊ฒฐ๊ณผ๋ฅผ '์ด๋ฆ„'์„ ๊ธฐ์ค€์œผ๋กœ ํ•„ํ„ฐ๋งํ•˜๋Š” ๋กœ์ง์„ ์ถ”๊ฐ€์ ์œผ๋กœ ๋„ฃ์–ด ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ํ•œ๊ฐ€์ง€ ์ด์Šˆ๊ฐ€ ์กด์žฌํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ์กด ํŽ˜์ด์ง€๋„ค์ด์…˜์€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์ž์ฒด continue ๊ฐ’์„ ์ด์šฉํ•ด ๊ตฌํ˜„๋˜์–ด์žˆ์–ด์„œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๊ฒฐ๊ณผ๋ฅผ ์ด์ฒ˜๋Ÿผ ์ปค์Šคํ…€ํ•˜๊ฒŒ ์กฐ์ž‘ํ•  ๊ฒฝ์šฐ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํŽ˜์ด์ง€๋„ค์ด์…˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•ด์•ผ ํ• ๊นŒ ๊ณ ๋ฏผ์ด ๋งŽ์•˜์ง€๋งŒ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ resourceVersion์„ ์ด์šฉํ•˜์—ฌ ์ปค์„œ ํŽ˜์ด์ง€๋„ค์ด์…˜์„ ํ•˜๋„๋ก ๊ตฌํ˜„ํ•˜๋Š” ๋กœ์ง์„ ์ ์šฉํ•จ์œผ๋กœ์จ ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€์Šต๋‹ˆ๋‹ค.

ํ˜ผ์ž๊ฐ€ ์•„๋‹ˆ๋ผ ์—ฌ๋Ÿฟ์ด ์˜๋…ผํ•˜๋ฉฐ ํ•  ์ˆ˜ ์žˆ์–ด์„œ ๋„ˆ๋ฌด ์žฌ๋ฏธ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ArgoWorkflows ํ”„๋กœ์ ํŠธ์— ์ •๋ง ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์—ฌ ๊ธฐ๋ถ„์ด ์ข‹์•˜์Šต๋‹ˆ๋‹ค.

3. A problem that is not initialized when changing the number of page limits

Issue #11702 (opens in a new tab) PR #11703 (opens in a new tab)

์ด์Šˆ ๋ถ„์„

Search by name for WorkflowTemplates in UI ์ด์Šˆ๋ฅผ ํ•ด๊ฒฐํ•˜๋ฉด์„œ ์ƒˆ๋กœ์šด ํŽ˜์ด์ง€๋„ค์ด์…˜ ๋ฒ„๊ทธ๋ฅผ ๋ฐœ๊ฒฌํ•˜์˜€์Šต๋‹ˆ๋‹ค.

ํŽ˜์ด์ง€ ๊ฐฏ์ˆ˜๋ฅผ ๋ณ€๊ฒฝํ•  ๋•Œ ํŽ˜์ด์ง€๋„ค์ด์…˜์„ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” continue ๊ฐ’์„ UI์—์„œ ์ดˆ๊ธฐํ™” ์‹œ์ผœ์ฃผ์ง€ ์•Š์•„์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ œ๋Œ€๋กœ ๋ณด์ด์ง€ ์•Š๋Š” ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค.

์ด์Šˆ ํ•ด๊ฒฐ

UI ์ฝ”๋“œ์—์„œ ํŽ˜์ด์ง€ ๊ฐฏ์ˆ˜ ๋ณ€๊ฒฝ์ด ๊ฐ์ง€๋  ๋•Œ offset์„ ์ดˆ๊ธฐํ™” ํ•˜๋„๋ก ๊ฐ„๋‹จํ•˜๊ฒŒ ๋กœ์ง์„ ์ˆ˜์ •ํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋‹จ ํ•œ์ค„์˜ ์ฝ”๋“œ ์ˆ˜์ •์ด์—ˆ์œผ๋‚˜ ์ด ํ•œ ์ค„๋กœ ์ธํ•ด ๊ฝค๋‚˜ ๋ถˆํŽธํ•จ์„ ์ฃผ์—ˆ๋˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

4. Pagination may not work correctly for archived workflows

์ด์Šˆ ๋ถ„์„

Issue #11715 (opens in a new tab) PR #11761 (opens in a new tab)

Maintainer @terrytangyuan ๋‹˜๊ป˜์„œ ์ง์ ‘ Slack์œผ๋กœ ์—ฐ๋ฝ์„ ์ฃผ์‹  ์ด์Šˆ์ž…๋‹ˆ๋‹ค.

Slack Github

์ข‹์•„ํ•˜๋Š” ์—ฐ์˜ˆ์ธ์—๊ฒŒ ์—ฐ๋ฝ๋ฐ›์€ ๊ธฐ๋ถ„์ด๋ผ ๋„ˆ๋ฌด ๊ธฐ๋ถ„์ด ์ข‹์•„์„œ ๋‚ ์•„๊ฐˆ ๋ป” ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์˜๊ณ  ๋“ค๋œจ๋Š” ๋งˆ์Œ์„ ๋ˆ„๋ฅด๊ณ  ์ด์Šˆ๋ฅผ ๋ถ„์„ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

Workflows์™€ ArchivedWorkflows๊ฐ€ ์ด์ „์—๋Š” ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋กœ ๋ถ„๋ฆฌ๋˜์–ด์žˆ์—ˆ์ง€๋งŒ master ๋ฒ„์ „๋ถ€ํ„ฐ Workflows์™€ ArchivedWorkflows๋ฅผ ํ•˜๋‚˜์˜ ํŽ˜์ด์ง€๋กœ ํ•ฉ์น˜๊ณ  ArchivedWorkflows๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด ๊ฐ™์ด ๋ณด์—ฌ์ฃผ๋„๋ก ๋กœ์ง์ด ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ Workflows์™€ ArchivedWorkflows๊ฐ€ ํ•˜๋‚˜๋กœ ํ•ฉ์ณ์ง€๋ฉด์„œ ํŽ˜์ด์ง€๋„ค์ด์…˜์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‘ ๊ฐœ์˜ ๋ฆฌ์†Œ์Šค๋Š” ์„œ๋กœ ์ „ํ˜€ ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋„ค์ด์…˜์„ ์‚ฌ์šฉํ•˜๋„ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. Workflows๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์ž์ฒด ํŽ˜์ด์ง€๋„ค์ด์…˜์ธ continue๊ฐ’์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๊ณ , ArchivedWorkflows๋Š” ์ž์ฒด์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ offset ๋ฐฉ์‹์œผ๋กœ ํŽ˜์ด์ง€๋„ค์ด์…˜์„ ํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ArchivedWorkflows์— Workflows์—์„œ ์‚ฌ์šฉํ•˜๋Š” continue๊ฐ’์„ ๊ทธ๋Œ€๋กœ ์ „๋‹ฌํ•˜๋ฉด์„œ ArchivedWorkflows๊ฐ€ ์•„์˜ˆ ์กฐํšŒ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด์Šˆ ํ•ด๊ฒฐ

Search by name for WorkflowTemplates in UI ์ด์Šˆ๋ฅผ ํ•ด๊ฒฐํ•˜๋ฉด์„œ ๊ตฌํ˜„ํ–ˆ๋˜ ํŽ˜์ด์ง€๋„ค์ด์…˜ ๋กœ์ง์„ ์ฐธ๊ณ ํ•˜์—ฌ ํ•ด๋‹น ์ด์Šˆ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋‘ ๋ฆฌ์†Œ์Šค๋Š” ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์˜ ํŽ˜์ด์ง€๋„ค์ด์…˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ๋ฐ–์— ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋‘ ๊ฐœ์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ํ•ฉ์น˜๊ธฐ ์ „์— ํŽ˜์ด์ง€๋„ค์ด์…˜์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ์ผ๋‹จ ์ „์ฒด ๋ฆฌ์†Œ์Šค๋ฅผ ์กฐํšŒํ•˜์—ฌ ๋‘ ๋ฆฌ์†Œ์Šค๋ฅผ ํ•ฉ์นœ ํ›„์— ๋งˆ์ง€๋ง‰์œผ๋กœ ํŽ˜์ด์ง€๋„ค์ด์…˜ ๋กœ์ง์„ ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.

ArchivedWorkflows๊ฐ€ ์กฐํšŒ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ์œผ๋‚˜ ํŽ˜์ด์ง€๋ฅผ ๋ณ€๊ฒฝํ•  ๋•Œ๋งˆ๋‹ค ์ „์ฒด ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ฐ€์ ธ์™€ ํ•ฉ์น˜๊ธฐ๊นŒ์ง€ ํ•˜๋Š” ๊ฒƒ์ด ์„ฑ๋Šฅ์ƒ ๊ฑฑ์ •์ด ๋˜๋Š” ๋ถ€๋ถ„์ด๋ผ ์„ฑ๋Šฅ ํ…Œ์ŠคํŠธ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ๊ณ ๋ฏผํ•ด๋ณผ ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค.

์„ฑ๋Šฅํ…Œ์ŠคํŠธ๋ฅผ ํ•ด๋ณธ ๋’ค ์•„๋‹ˆ๋‹ค์‹ถ์œผ๋ฉด ํ”„๋ก ํŠธ์—์„œ ํŽ˜์ด์ง€๋„ค์ด์…˜์„ ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝํ•ด๋ณผ ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค.

ํฌ๋ฆฌํ‹ฐ์ปฌํ•œ ์ด์Šˆ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์–ด์„œ ๋„ˆ๋ฌด ์ข‹์•˜๊ณ  ArgoWorkflows ํ”„๋กœ์ ํŠธ์— ์ปจํŠธ๋ฆฌ๋ทฐํ„ฐ๋กœ์จ ์ œ๋Œ€๋กœ ๊ธฐ์—ฌ๋ฅผ ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์–ด ๋ฟŒ๋“ฏํ•˜๊ณ  ์žฌ๋ฐŒ์—ˆ์Šต๋‹ˆ๋‹ค.

5. Relocation of Commit Guidelines Information in the Documentation

Issue #11700 (opens in a new tab) PR #11701 (opens in a new tab)

์ด์Šˆ ๋ถ„์„

ArgoWorkflows ํ”„๋กœ์ ํŠธ์—๋Š” ์ปจํŠธ๋ฆฌ๋ทฐ์…˜์„ ์‹œ๋„ํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋“ค์„ ์œ„ํ•œ ๋ฆฌ๋“œ๋ฏธ ๋ฌธ์„œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ๊ทธ๊ณณ์—๋Š” ์ปค๋ฐ‹์— ๊ด€ํ•œ ๊ฐ€์ด๋“œ๋ผ์ธ์ด ๋”ฐ๋กœ ์–ธ๊ธ‰๋˜์–ด์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

GeunSam2 ๋ฉ˜ํ† ๋‹˜๊ป˜์„œ ๋ณธ์ธ์ด ์ฒ˜์Œ ๊ธฐ์—ฌ๋ฅผ ์‹œ๋„ํ•˜๋ ค๊ณ  ํ–ˆ์„ ๋•Œ ์ปค๋ฐ‹์— ๋Œ€ํ•œ ๊ฐ€์ด๋“œ๋ผ์ธ์„ ์ฐพ๋Š”๋ฐ ๋„ˆ๋ฌด ์˜ค๋ž˜ ๊ฑธ๋ ค์„œ ๋ถˆํŽธํ–ˆ๋‹ค๊ณ  ๋งํ•ด์ฃผ์…จ์Šต๋‹ˆ๋‹ค.

์ด์Šˆ ํ•ด๊ฒฐ

ContributingDocs

์ด ๋ถˆํŽธ์‚ฌํ•ญ์„ ๋“ค์€ ํ›„ ์ปจํŠธ๋ฆฌ๋ทฐ์…˜ ๋ฆฌ๋“œ๋ฏธ์— ์ปค๋ฐ‹์— ๋Œ€ํ•œ ๊ฐ€์ด๋“œ๋ผ์ธ์˜ ๋งํฌ๋ฅผ ๊ฑธ์–ด์ฃผ๋„๋ก ์ˆ˜์ •ํ•จ์œผ๋กœ์จ ArgoWorkflows์— ๊ธฐ์—ฌํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋“ค์ด ํŽธํ•˜๊ฒŒ ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์ด PR์—์„œ๋Š” ๋ฉ”์ธํ…Œ์ด๋„ˆ๊ฐ€ ์ฝ”๋“œ ์ œ์•ˆ์„ ํ•ด์ฃผ์—ˆ๋Š”๋ฐ ์ฝ”๋“œ ์ œ์•ˆ ๊ธฐ๋Šฅ์„ ์ฒ˜์Œ ์ ‘ํ•ด๋ณด์•„์„œ ํฅ๋ฏธ๋กญ๊ณ  ์žฌ๋ฐŒ์—ˆ์Šต๋‹ˆ๋‹ค.

๐ŸŒต ์ฐธ๊ฐ€ ํ›„๊ธฐ

์ด๋ฒˆ๋…„๋„์— ๊ฐ€์žฅ ์ž˜ ํ•œ ์ผ์ด ๋ฌด์—‡์ธ์ง€ ๋ฌป๋Š”๋‹ค๋ฉด, ์•„๋ฌด ๋ง์„ค์ž„๋„ ์—†์ด ArgoWorkflows ํ”„๋กœ์ ํŠธ ์ปจํŠธ๋ฆฌ๋ทฐ์…˜ ํ™œ๋™์— ์ฐธ์—ฌํ•œ ๊ฒƒ์ด๋ผ๊ณ  ์ด์•ผ๊ธฐ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ฐ™์€ ๋ถ„์•ผ์— ์žˆ๋Š” ๋‹ค์–‘ํ•œ ๊ฐœ๋ฐœ์ž๋“ค์„ ๋งŒ๋‚˜์„œ ์„œ๋กœ ๊ณต๊ฐ๋Œ€๋ฅผ ํ˜•์„ฑํ•˜๋ฉฐ ์ด์•ผ๊ธฐํ•˜๋Š” ๊ฒƒ์ด ๋„ˆ๋ฌด ์ข‹์•˜๊ณ  ๋‹ค์–‘ํ•œ ํšŒ์‚ฌ์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ๋ฅผ ๋“ฃ๋Š”๊ฒƒ์ด ์ฐธ ์žฌ๋ฐŒ์—ˆ์Šต๋‹ˆ๋‹ค.

๋งค์ฃผ ๋ชจ์ž„๋งˆ๋‹ค ๊ทธ์ € ๋ชจ๊ฐ์ฝ”๋ฅผ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ฉ˜ํ‹ฐ๋“ค๊ณผ ๋ฉ˜ํ† ๋‹˜์ด ๋งค๋ฒˆ ์ข‹์€ ์„ธ๋ฏธ๋‚˜๋ฅผ ์ง„ํ–‰ํ•ด์ฃผ์…”์„œ ๋งค์ฃผ ์ผ์š”์ผ์ด ์ฐธ ์ฆ๊ฒ๊ณ  ์‹œ๊ฐ„์ด ๋นจ๋ฆฌ๊ฐ”์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ๋„ˆ๋ฌด ๋Šฅ๋ ฅ์žˆ๋Š” ๋ฉ˜ํ† ๋‹˜์„ ๋งŒ๋‚˜ ํ‰์†Œ์— ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž๋กœ์„œ ๊ณ ๋ฏผ๋˜์—ˆ๋˜ ๋ถ€๋ถ„, ์•ž์œผ๋กœ์˜ ๋ฐฉํ–ฅ์„ฑ, ๊ฐœ๋ฐœ์ž๋กœ์„œ ์ž˜ ๊ณต๋ถ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์กฐ์–ธ๋“ค์„ ๋“ค์„ ์ˆ˜ ์žˆ์–ด์„œ ํ–‰๋ณตํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ‰์†Œ ์ปจํŠธ๋ฆฌ๋ทฐ์…˜์— ๋„์ „ํ•ด๋ณด๊ณ ์‹ถ์—ˆ์ง€๋งŒ, ์ด๋Ÿฐ ํฐ ํ”„๋กœ์ ํŠธ์— ์–ด๋–ป๊ฒŒ ๊ธฐ์—ฌ๋ฅผ ํ•˜๋‚˜ ๋‘๋ ค์›Œ์„œ ์‹œ๋„ํ•˜์ง€ ์•Š์•˜๋˜ ๋ถ€๋ถ„๋“ค์„ ์ด๋ ‡๊ฒŒ ์ข‹์€ ๋ฉ˜ํ‹ฐ๋“ค๊ณผ ๋ฉ˜ํ† ๋‹˜๊ณผ ๊ฐ™์ด ๋ถ€๋”ชํ˜€๋ณด๋‹ˆ ๋‘๋ ค์›€์ด ์‚ฌ๋ผ์กŒ์Šต๋‹ˆ๋‹ค.

๋งŽ์€ PR์„ ์˜ฌ๋ ค๋ณด๋ฉด์„œ ๋ฉ”์ธํ…Œ์ด๋„ˆ๋“ค๊ณผ ์†Œํ†ตํ•˜๋Š” ๊ฒƒ๋„ ๋„ˆ๋ฌด ์žฌ๋ฏธ์žˆ์—ˆ๊ณ  ์‹ค์ œ ๋‚˜์˜ ์ฝ”๋“œ๊ฐ€ ๋ฐ˜์˜๋˜๋Š” ๊ฒƒ์„ ์ง€์ผœ๋ณด๋Š”๊ฒŒ ์ •๋ง ๋ฟŒ๋“ฏํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ ๊ฒฝํ—˜์œผ๋กœ ์ธํ•ด ArgoWorkflows ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์—๋„ ์ถฉ๋ถ„ํžˆ ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ๊ฒ ๋‹ค๋Š” ์ž์‹ ๊ฐ์ด ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค.

์ด ๊ธฐ๊ฐ„์ด ๋๋‚œ๋‹ค๊ณ  ์ปจํŠธ๋ฆฌ๋ทฐ์…˜์„ ๋ฉˆ์ถœ ์ƒ๊ฐ์€ ์—†์Šต๋‹ˆ๋‹ค. ์•ž์œผ๋กœ๋„ ArgoWorkflows๋ฅผ ๊พธ์ค€ํžˆ ๋ณด๋ฉด์„œ ๊ธฐ์—ฌํ•˜๊ณ  ์‹ถ์€ ๋ถ€๋ถ„์— ๊ธฐ์—ฌํ•  ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ArgoWorkflows ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํšŒ์‚ฌ์—์„œ ์‚ฌ์šฉํ•˜๋Š” Kubernetes๋‚˜ Argo CD ํ”„๋กœ์ ํŠธ์—๋„ ๊ธฐ์—ฌํ•ด๋ณด๊ณ  ์‹ถ์–ด์„œ ๋„์ „ํ•ด๋ณผ ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค.

๐ŸŒต ๊ธฐ์—ฌ ์š”์•ฝ

Contribute Info

TOTAL COUNT
0
PR COUNT
0
ISSUE COUNT
0
GitHub
Type
Summary