happyso
study with happyso
happyso
전체 방문자
오늘
어제
  • 분류 전체보기 (302)
    • GIT (3)
    • 컴퓨터 기본 개념 (29)
    • 알고리즘 (125)
      • 알고리즘 문제 (115)
      • 알고리즘 개념 (10)
    • Go (2)
    • 클라우드 (54)
      • DevOps (4)
      • Kubernetes(쿠버네티스) (33)
      • AWS (6)
      • CKA (8)
    • 리눅스(Linux) (18)
      • 컨테이너(Container) (8)
    • Front (22)
      • JavaScript (2)
      • React (20)
    • Python (21)
      • Python 웹 크롤링 (11)
      • Django (7)
      • MachineLearning (3)
    • 데이터베이스 (6)
      • MariaDB (2)
      • MongoDB (4)
    • C언어 (5)
    • Trouble Shooting (2)
    • 네트워크 (8)
      • CCNA (5)
    • 보안 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • kubernetes
  • 18
  • replace
  • 15
  • edit
  • Patch
  • apply

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
happyso
클라우드/DevOps

[LitmusChaos] Developer Guide

[LitmusChaos] Developer Guide
클라우드/DevOps

[LitmusChaos] Developer Guide

2025. 5. 25. 23:10

https://docs.litmuschaos.io/docs/developer-guide/chaoscenter-developer-guide

백엔드 컴포넌트

  • GraphQL 서버
  • Authentication 서버
  • MongoDB

프론트 컴포넌트

  • React

 

로컬 세팅 과정은 다음과 같다.

1. mongodb 설치/세팅

## mongodb 설치
❯ docker pull mongo:5
❯ docker network create mongo-cluster
❯ docker run -d --net mongo-cluster -p 27015:27015 --name m1 mongo:5 mongod --replSet rs0 --port 27015
❯ docker run -d --net mongo-cluster -p 27016:27016 --name m2 mongo:5 mongod --replSet rs0 --port 27016
❯ docker run -d --net mongo-cluster -p 27017:27017 --name m3 mongo:5 mongod --replSet rs0 --port 27017

❯ docker ps
CONTAINER ID   IMAGE                  COMMAND                  CREATED              STATUS              PORTS                                                      NAMES
22137383c039   mongo:5                "docker-entrypoint.s…"   20 seconds ago       Up 19 seconds       0.0.0.0:27017->27017/tcp, :::27017->27017/tcp              m3
d0c89e3aebe1   mongo:5                "docker-entrypoint.s…"   39 seconds ago       Up 38 seconds       0.0.0.0:27016->27016/tcp, :::27016->27016/tcp, 27017/tcp   m2
1059960182e1   mongo:5                "docker-entrypoint.s…"   About a minute ago   Up About a minute   0.0.0.0:27015->27015/tcp, :::27015->27015/tcp, 27017/tcp   m1


## 호스트 등록
❯ sudo vim /etc/hosts
127.0.0.1       m1 m2 m3


## mongodb 세팅
❯ docker exec -it m1 mongo -port 27015
> config={"_id":"rs0","members":[{"_id":0,"host":"m1:27015"},{"_id":1,"host":"m2:27016"},{"_id":2,"host":"m3:27017"}]}
{
	"_id" : "rs0",
	"members" : [
		{
			"_id" : 0,
			"host" : "m1:27015"
		},
		{
			"_id" : 1,
			"host" : "m2:27016"
		},
		{
			"_id" : 2,
			"host" : "m3:27017"
		}
	]
}
> rs.initiate(config)
{ "ok" : 1 }
rs0:PRIMARY> db.getSiblingDB("admin").createUser({user:"admin",pwd:"1234",roles:[{role:"root",db:"admin"}]});
Successfully added user: {
	"user" : "admin",
	"roles" : [
		{
			"role" : "root",
			"db" : "admin"
		}
	]
}

 

2. Authentication 서버 실행

export ADMIN_USERNAME=admin
export ADMIN_PASSWORD=litmus
export DB_SERVER="mongodb://m1:27015,m2:27016,m3:27017/?replicaSet=rs0"
export DB_USER=admin
export DB_PASSWORD=1234
export JWT_SECRET=litmus-portal@123
export PORTAL_ENDPOINT=http://localhost:8080
export LITMUS_SVC_ENDPOINT=""
export SELF_AGENT=false
export INFRA_SCOPE=cluster
export INFRA_NAMESPACE=litmus
export LITMUS_PORTAL_NAMESPACE=litmus
export PORTAL_SCOPE=namespace
export SUBSCRIBER_IMAGE=litmuschaos/litmusportal-subscriber:ci
export EVENT_TRACKER_IMAGE=litmuschaos/litmusportal-event-tracker:ci
export CONTAINER_RUNTIME_EXECUTOR=k8sapi
export ARGO_WORKFLOW_CONTROLLER_IMAGE=argoproj/workflow-controller:v2.11.0
export ARGO_WORKFLOW_EXECUTOR_IMAGE=argoproj/argoexec:v2.11.0
export CHAOS_CENTER_SCOPE=cluster
export WORKFLOW_HELPER_IMAGE_VERSION=3.0.0
export LITMUS_CHAOS_OPERATOR_IMAGE=litmuschaos/chaos-operator:3.0.0
export LITMUS_CHAOS_RUNNER_IMAGE=litmuschaos/chaos-runner:3.0.0
export LITMUS_CHAOS_EXPORTER_IMAGE=litmuschaos/chaos-exporter:3.0.0
export VERSION=ci
export HUB_BRANCH_NAME=v2.0.x
export INFRA_DEPLOYMENTS="[\"app=chaos-exporter\", \"name=chaos-operator\", \"app=event-tracker\",\"app=workflow-controller\"]"                                                                         
export INFRA_COMPATIBLE_VERSIONS='["0.2.0", "0.1.0","ci"]'
export DEFAULT_HUB_BRANCH_NAME=master
export ENABLE_INTERNAL_TLS=false
export REST_PORT=3000
export GRPC_PORT=3030
❯ git clone https://github.com/litmuschaos/litmus.git
❯ cd chaoscenter/authentication/api
❯ go run main.go

 

3. GraphQL 서버 실행

export DB_SERVER="mongodb://m1:27015,m2:27016,m3:27017/?replicaSet=rs0"
export DB_USER=admin
export DB_PASSWORD=1234
export JWT_SECRET=litmus-portal@123
export PORTAL_ENDPOINT=http://localhost:8080
export LITMUS_SVC_ENDPOINT=""
export SELF_AGENT=false
export INFRA_SCOPE=cluster
export INFRA_NAMESPACE=litmus
export LITMUS_PORTAL_NAMESPACE=litmus
export PORTAL_SCOPE=namespace
export SUBSCRIBER_IMAGE=litmuschaos/litmusportal-subscriber:ci
export EVENT_TRACKER_IMAGE=litmuschaos/litmusportal-event-tracker:ci
export CONTAINER_RUNTIME_EXECUTOR=k8sapi
export ARGO_WORKFLOW_CONTROLLER_IMAGE=argoproj/workflow-controller:v2.11.0
export ARGO_WORKFLOW_EXECUTOR_IMAGE=argoproj/argoexec:v2.11.0
export CHAOS_CENTER_SCOPE=cluster
export WORKFLOW_HELPER_IMAGE_VERSION=3.0.0
export LITMUS_CHAOS_OPERATOR_IMAGE=litmuschaos/chaos-operator:3.0.0
export LITMUS_CHAOS_RUNNER_IMAGE=litmuschaos/chaos-runner:3.0.0
export LITMUS_CHAOS_EXPORTER_IMAGE=litmuschaos/chaos-exporter:3.0.0
export ADMIN_USERNAME=admin
export ADMIN_PASSWORD=litmus
export VERSION=ci
export HUB_BRANCH_NAME=v2.0.x
export INFRA_DEPLOYMENTS="[\"app=chaos-exporter\", \"name=chaos-operator\", \"app=event-tracker\",\"app=workflow-controller\"]"
export INFRA_COMPATIBLE_VERSIONS='["0.2.0", "0.1.0","ci"]'
export DEFAULT_HUB_BRANCH_NAME=master
❯ cd chaoscenter/graphql/server
❯ go run server.go

 

3. 프론트 세팅

❯ cd chaoscenter/web

❯ yarn
yarn install v1.22.19
[1/4] 🔍  Resolving packages...
warning Resolution field "d3-color@3.1.0" is incompatible with requested version "d3-color@1"
warning Resolution field "d3-color@3.1.0" is incompatible with requested version "d3-color@1 - 2"
[2/4] 🚚  Fetching packages...
[--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------] 0/1202(node:19423) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
[##################################################################------------------------------------------------------------------------------------------------------------------------------] 415/1202

❯ yarn generate-certificate
yarn run v1.22.19
$ sh scripts/generate-certificate.sh
.+.+.....+.......+...+..+.......+...+............+..+++++++++++++++++++++++++++++++++++++++++++++*...+............+++++++++++++++++++++++++++++++++++++++++++++*.+.+.........+..+..................+.+...........+....+.................................+.....+.+..+....+...+++++
..+.+.....+...+.+.........+.....+.......+...+......+..+.......+++++++++++++++++++++++++++++++++++++++++++++*.+..+............+......+...+.+.....+....+..+.......+...+..+.+...........+...+..........+...+..+...+.........+...+......+.......+...+..+....+...+..+.............+......+.....+......+.+...+..+....+.........+..............+...+.........+....+.....+++++++++++++++++++++++++++++++++++++++++++++*...+...+......+....+.....+......+.+...+..+.+............+++++
-----
✨  Done in 0.29s.

❯ yarn dev
yarn run v1.22.19
$ webpack serve --config config/webpack.dev.js
<i> [webpack-dev-server] [HPM] Proxy created: /api  -> http://localhost:8080
<i> [webpack-dev-server] [HPM] Proxy rewrite rule created: "^/api" ~> ""
<i> [webpack-dev-server] [HPM] Proxy created: /auth  -> http://localhost:3000
<i> [webpack-dev-server] [HPM] Proxy rewrite rule created: "^/auth" ~> ""
<i> [webpack-dev-server] Project is running at:
<i> [webpack-dev-server] Loopback: https://localhost:8185/
<i> [webpack-dev-server] On Your Network (IPv4): https://172.30.1.87:8185/
<i> [webpack-dev-server] On Your Network (IPv6): https://[fe80::1]:8185/
<i> [webpack-dev-server] Content not from webpack is served from '/Users/snchoi/Documents/project/src/litmus/chaoscenter/web/src/static' directory
<i> [webpack-dev-server] 404s will fallback to '/index.html'

 

저작자표시 비영리 (새창열림)

'클라우드 > DevOps' 카테고리의 다른 글

[DevOps] Docker & Docker Compose & Jenkins(Ansible/Serverspec실행, PipeLine, Parameter)  (0) 2020.09.12
[DevOps] 가상머신 이미지 파일 가져오기 & 앤서블(Ansible) & 인프라 테스트 자동화(Serverspec) & 테스트 결과 HTML 형식으로 출력  (0) 2020.09.10
[DevOps] 쉘스크립트 반복문/조건문 & CentOS & Vagrant사용하여 개발환경 공유  (0) 2020.09.09
    '클라우드/DevOps' 카테고리의 다른 글
    • [DevOps] Docker & Docker Compose & Jenkins(Ansible/Serverspec실행, PipeLine, Parameter)
    • [DevOps] 가상머신 이미지 파일 가져오기 & 앤서블(Ansible) & 인프라 테스트 자동화(Serverspec) & 테스트 결과 HTML 형식으로 출력
    • [DevOps] 쉘스크립트 반복문/조건문 & CentOS & Vagrant사용하여 개발환경 공유
    happyso
    happyso

    티스토리툴바

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.