Skip to content

Arfni/arfni_pjt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

353 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

1. Overview

๐Ÿ“˜ Arfni Overview & Features(Arfni ์†Œ๊ฐœ ๋ฐ ๊ธฐ๋Šฅ)

ํ•œ๊ตญ์–ด

Arfni๋ž€?

Arfni๋Š” ๊ธฐ์กด์˜ ์–ด๋ ต๊ณ  ๋ณต์žกํ•œ ์ธํ”„๋ผ ๊ตฌ์ถ•์„ GUI ๊ธฐ๋ฐ˜์œผ๋กœ ์‰ฝ๊ณ  ๊ฐ„ํŽธํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” ์˜คํ”ˆ์†Œ์Šค ๋ฐฐํฌ ์ž๋™ํ™” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ๋ธ”๋ก์ฒ˜๋Ÿผ ๋Œ์–ด๋‹ค ๋†“๊ณ  ํผ๋งŒ ์ฑ„์šฐ๋ฉด, ์„ ์–ธ ํŒŒ์ผ์„ ์ž๋™ ์ƒ์„ฑํ•ด ์„ค๊ณ„โ†’์ƒ์„ฑโ†’์—ฐ๊ฒฐโ†’์‹คํ–‰โ†’๋ชจ๋‹ˆํ„ฐ๋ง๊นŒ์ง€ ํ•œ ๋ฒˆ์— ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ๊ธฐ๋Šฅ

1. ์ง๊ด€์ ์ธ ๋“œ๋ž˜๊ทธ&๋“œ๋กญ ์ธํ”„๋ผ ์„ค๊ณ„

React Flow ๊ธฐ๋ฐ˜์˜ GUI์—์„œ ์›น, ๋ฐฑ์—”๋“œ, ํ”„๋ก์‹œ, ์บ์‹œ, ๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค ๋“ฑ์˜ ์„œ๋น„์Šค๋ฅผ ๋ธ”๋ก ํ˜•ํƒœ๋กœ ๋Œ์–ด๋‹ค ๋†“์œผ๋ฉฐ ์ง๊ด€์ ์œผ๋กœ ์ธํ”„๋ผ๋ฅผ ์„ค๊ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋…ธ๋“œ ์ถ”๊ฐ€ ๋ฐ ์—ฐ๊ฒฐ์„ ํ†ตํ•œ ์„œ๋น„์Šค ๊ฐ„ ์ข…์†์„ฑ ์‹œ๊ฐํ™”
  • ์šฐ์ธก ์†์„ฑ ํŒจ๋„์—์„œ ํฌํŠธ, ๋ณผ๋ฅจ, ํ™˜๊ฒฝ๋ณ€์ˆ˜, ์‹œํฌ๋ฆฟ ๋“ฑ ์„ธ๋ถ€ ์„ค์ • ์ž…๋ ฅ
  • ์‹ค์‹œ๊ฐ„ ๋™๊ธฐํ™”๋กœ ์ฆ‰์‹œ ๋ฐฐํฌ ๊ฐ€๋Šฅํ•œ ๊ตฌ์„ฑ ์ƒ์„ฑ

2. stack.yaml ์„ ์–ธ ํŒŒ์ผ ์ž๋™ ์ƒ์„ฑ

์บ”๋ฒ„์Šค์—์„œ ๊ตฌ์„ฑํ•œ ์ธํ”„๋ผ๋ฅผ ํ‘œ์ค€ํ™”๋œ ์„ ์–ธํ˜• ํŒŒ์ผ(stack.yaml)๋กœ ์ž๋™ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

  • ๊ฐ ๋…ธ๋“œ์˜ ์„ค์ •์„ YAML ๊ตฌ์กฐ๋กœ ์ž๋™ ๋ณ€ํ™˜
  • CLI์—์„œ ๋ฐ”๋กœ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํ‘œ์ค€ ํฌ๋งท

3. Go ๊ธฐ๋ฐ˜ CLI ์—”์ง„์œผ๋กœ ์ž๋™ ๋ฐฐํฌ

Arfni์˜ ํ•ต์‹ฌ ์—”์ง„์ดย stack.yaml์„ ํ•ด์„ํ•ด Docker ๋ฐ EC2 ํ™˜๊ฒฝ์— ์ž๋™์œผ๋กœ ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค.

  • ๋กœ์ปฌ ํ™˜๊ฒฝ: Docker Compose ๊ธฐ๋ฐ˜ ์ฆ‰์‹œ ์‹คํ–‰
  • ์›๊ฒฉ ํ™˜๊ฒฝ: SSH๋ฅผ ํ†ตํ•œ EC2 ์ž๋™ ๋ฐฐํฌ
  • ๋Œ€์ƒ ํ™˜๊ฒฝ์— ๋งž๋Š” Compose ํŒŒ์ผ ์ž๋™ ์ƒ์„ฑ ๋ฐย build,ย upย ๋ช…๋ น ์‹คํ–‰
  • EC2์˜ ๊ฒฝ์šฐ SCP๋ฅผ ํ†ตํ•œ ์‚ฐ์ถœ๋ฌผ ์—…๋กœ๋“œ ํ›„ ์›๊ฒฉ ์‹คํ–‰

4. AI ๊ธฐ๋ฐ˜ EC2 ์ธ์Šคํ„ด์Šค ์ถ”์ฒœ ๋ฐ ๋น„์šฉ ์‚ฐ์ •

OpenAI API๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํ”„๋กœ์ ํŠธ์— ์ตœ์ ํ™”๋œ EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ์ถ”์ฒœํ•˜๊ณ  ์˜ˆ์ƒ ๋น„์šฉ์„ ์‚ฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

  • ์›Œํฌ๋กœ๋“œ ๋ถ„์„ ๊ธฐ๋ฐ˜ ์ธ์Šคํ„ด์Šค ํƒ€์ž… ์ถ”์ฒœ
  • ์˜ˆ์ƒ ์›”๊ฐ„ ์šด์˜ ๋น„์šฉ ์ž๋™ ๊ณ„์‚ฐ
  • ๋น„์šฉ ํšจ์œจ์ ์ธ ์ธํ”„๋ผ ๊ตฌ์„ฑ ๊ฐ€์ด๋“œ ์ œ๊ณต

์™œ Arfni์ธ๊ฐ€?

๊ธฐ์กด ๋ฌธ์ œ์ 

  • ๋„์ปค, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค ๋“ฑ ๊ตฌ์„ฑ ์š”์†Œ๋งˆ๋‹ค ์„ค์ • ๋ฐฉ์‹์ด ๋‹ฌ๋ผ ๋ณต์žกํ•˜๊ณ  ์žฌํ˜„์„ฑ์ด ๋‚ฎ์Œ
  • ํ™˜๊ฒฝ ํŒŒ์ผ๊ณผ ๋„คํŠธ์›Œํฌ ์„ค์ •์„ ์ˆ˜๋™์œผ๋กœ ๋งž์ถ”๋‹ค ๋ณด๋‹ˆ ์‚ฌ๋žŒ๋งˆ๋‹ค ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ ํ’ˆ์งˆ ํŽธ์ฐจ ๋ฐœ์ƒ
  • ๋กœ์ปฌยท์„œ๋ฒ„ยทํด๋ผ์šฐ๋“œ ์ „ํ™˜ ์‹œ ๋ฐ˜๋ณต ์„ค์ •์œผ๋กœ ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ ์ €ํ•˜

Arfni์˜ ํ•ด๊ฒฐ์ฑ…

  • GUI ๊ธฐ๋ฐ˜ ์ง๊ด€์  ์„ค๊ณ„๋กœ ํ•™์Šต ๊ณก์„  ์ตœ์†Œํ™”
  • ์„ ์–ธํ˜• ํŒŒ์ผ๋กœ ์žฌํ˜„ ๊ฐ€๋Šฅํ•˜๊ณ  ์ผ๊ด€๋œ ์ธํ”„๋ผ ๊ตฌ์„ฑ
  • ๋กœ์ปฌ๋ถ€ํ„ฐ ํด๋ผ์šฐ๋“œ๊นŒ์ง€ ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ฐฐํฌ ์ž๋™ํ™”
English

What is Arfni?

Arfni is an open-source deployment automation platform that simplifies complex infrastructure management with an intuitive GUI. Simply drag and drop components, fill in the configuration forms, and Arfni automatically generates the necessary files โ€” handling everything from design and deployment to monitoring in one unified workflow.

Key Features

1. Intuitive Drag-and-Drop Infrastructure Design

Design your infrastructure visually with a React Flow-based GUI. Simply drag and drop service blocks including web servers, backends, proxies, caches, and message brokers.

  • Visualize service dependencies through node connections Configure ports, volumes, environment variables, and secrets in the right-side properties panel
  • Real-time synchronization generates deployment-ready configurations instantly

2. Automatic stack.yaml Generation

Your canvas design is automatically converted into a standardized declarative file (stack.yaml).

  • Automatic conversion of node configurations to YAML structure
  • Standard format ready for CLI execution

3. Automated Deployment with Go-based CLI Engine

Arfni's core engine interprets stack.yaml and automatically deploys to Docker and EC2 environments.

  • **Local:**Instant execution with Docker Compose
  • Remote: Automated EC2 deployment via SSH
  • Automatic generation of environment-specific Compose files and execution of build/up commands
  • For EC2: artifact upload via SCP followed by remote execution

4. AI-Powered EC2 Instance Recommendations and Cost Estimation

Leveraging OpenAI API, Arfni recommends optimized EC2 instances and estimates costs for your project.

  • Instance type recommendations based on workload analysis
  • Automatic calculation of estimated monthly operating costs
  • Cost-efficient infrastructure configuration guidance

Why Arfni?

The Problem

  • Each component (Docker, databases, message brokers, etc.) requires different configuration methods, making setup complex and hard to reproduce
  • Manual configuration of environment files and network settings leads to inconsistent results and quality variation across teams
  • Switching between local, server, and cloud environments requires repetitive setup, reducing development productivity

Arfni's Solution

  • Intuitive GUI-based design minimizes the learning curve
  • Declarative files ensure reproducible and consistent infrastructure configuration
  • Unified deployment automation from local to cloud environments

2. Installation

3. ๊ฐœ๋ฐœ ๋ฌธ์„œ(Development Documentation)

4. ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ฐœ๋ฐœ ๋ฌธ์„œ

5. Contribution Guide

  • ์ž‘์„ฑ์ค‘

6.QnA

7.ํŒ€์†Œ๊ฐœ

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors