Shinyproxy: μ‹œμž‘ ν›„ μ‚¬μ–‘μ˜ 동적 μΆ”κ°€

에 λ§Œλ“  2020λ…„ 10μ›” 17일  Β·  5μ½”λ©˜νŠΈ  Β·  좜처: openanalytics/shinyproxy

첫째, 멋진 ν”Œλž«νΌμ„ λ§Œλ“€μ–΄ μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€. 이것은 거의 λͺ¨λ“  μš”κ΅¬ 사항을 μΆ©μ‘±μ‹œν‚€λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€!

ν•˜μ§€λ§Œ λ‚΄κ°€ μ°Ύκ³  μžˆλŠ” ν•œ κ°€μ§€λŠ” μƒˆ 앱을 μΆ”κ°€ν•˜κΈ° μœ„ν•΄ μ„œλ²„λ₯Ό μˆ˜λ™μœΌλ‘œ λ‹€μ‹œ μ‹œμž‘ν•  ν•„μš”κ°€ 없도둝 μ‹œμž‘ ν›„ 사양을 λ™μ μœΌλ‘œ μΆ”κ°€ν•˜λŠ” κΈ°λŠ₯μž…λ‹ˆλ‹€.

ProxySpecs 및 ContainerSpecs ( ShinyProxy 기반)κ°€ POST μš”μ²­μ„ μ‚¬μš©ν•˜μ—¬ 이에 λŒ€ν•œ 지원을 μ œκ³΅ν•˜μ§€λ§Œ ShinyProxy μ—μ„œ λͺ…μ‹œμ μœΌλ‘œ μ§€μ›λ˜μ§€ μ•ŠλŠ”λ‹€λŠ” 것을 μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€

ProxySpecs 및 ContainerSpecsλŠ” POST μš”μ²­ 본문을 톡해 λŸ°νƒ€μž„μ— 제곡될 μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.
μ°Έκ³ : ShinyProxyλŠ” λŸ°νƒ€μž„μ— 사양을 μ œκ³΅ν•˜λŠ” 것을 ν—ˆμš©ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. application.yml 파일의 μ‚¬μ–‘λ§Œ ν—ˆμš©λ©λ‹ˆλ‹€.
μ›μ²œ

λ‚΄ κ³„νšμ€ 이것을 μ„œλ²„μ— λ°°ν¬ν•˜κ³  쑰직 λ‚΄μ˜ νŠΉμ • μ‚¬λžŒλ“€μ΄ ν”„λ‘œμ νŠΈ νŒ€μ„ λŒ€μ‹ ν•˜μ—¬ μƒˆ μ‘μš© ν”„λ‘œκ·Έλž¨μ„ 등둝할 수 μžˆλ„λ‘ ν—ˆμš©ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. μƒˆ μ‘μš© ν”„λ‘œκ·Έλž¨μ„ μΆ”κ°€ν•˜κΈ° μœ„ν•΄ ShinyProxyλ₯Ό μ˜€ν”„λΌμΈμœΌλ‘œ μ „ν™˜ν•˜μ§€ μ•Šκ³ λ„(λͺ‡ 초 λ™μ•ˆμ΄λΌλ„) ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ΄μƒμ μœΌλ‘œλŠ” 이 관리 μΈν„°νŽ˜μ΄μŠ€κ°€ ShinyProxy 내에 μ‘΄μž¬ν•˜μ§€λ§Œ 이λ₯Ό μ²˜λ¦¬ν•˜κΈ° μœ„ν•΄ λ‚˜λ§Œμ˜ μž‘μ€ λŒ€μ‹œλ³΄λ“œλ₯Ό κ΅¬μΆ•ν•˜κ²Œ λ˜μ–΄ κΈ°μ©λ‹ˆλ‹€.

ν•„μš”ν•œ 경우 이 κ°œλ°œμ„ μ§€μ›ν•˜λŠ” 데 μ‹œκ°„μ„ ν• μ• ν•˜κ²Œ λ˜μ–΄ κΈ°μ©λ‹ˆλ‹€. 이 κΈ°λŠ₯이 μ§€μ›λ˜μ§€ μ•ŠλŠ” νŠΉμ • μ΄μœ κ°€ μžˆλŠ”μ§€, 이 κΈ°λŠ₯을 μ‚¬μš©ν•  수 μžˆλŠ”μ§€ μ—¬λΆ€λ₯Ό ν™•μΈν•˜κ³  μ‹Άμ—ˆμŠ΅λ‹ˆλ‹€.

이전 ν‹°μΌ“ 쀑 일뢀λ₯Ό μ‚΄νŽ΄λ³΄μ•˜κ³  이에 λŒ€ν•œ 우렀 쀑 ν•˜λ‚˜λŠ” λ‹€λ₯Έ μ„œλ²„ ꡬ성 쀑 일뢀λ₯Ό ν•« λ¦¬λ‘œλ“œν•  수 μ—†λ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. ν•˜μ§€λ§Œ dynamic_specs λ₯Ό μΆ”κ°€ν•˜μ—¬ 이 문제λ₯Ό ν•΄κ²°ν•  수 μžˆλŠ”μ§€ κΆκΈˆν•©λ‹ˆλ‹€. application.yml νŒŒμΌμ— μΆ”κ°€ν•˜μ—¬ μ‚¬μš©μžκ°€ 동적 사양을 지원할지 λ˜λŠ” μˆ˜λ™μœΌλ‘œ μ •μ˜ν• μ§€ μ—¬λΆ€λ₯Ό 선택할 수 μžˆμŠ΅λ‹ˆλ‹€(ꡬ쑰적 κ΄€μ μ—μ„œ μƒλ‹Ήν•œ λ³΅μž‘μ„±μ΄ λ°œμƒν•˜λŠ” 경우 λ‘˜ λ‹€ λ°˜λ“œμ‹œ 그런 것은 μ•„λ‹˜)?

예

proxy:
  port: 8080
  ...
  dynamic_specs: true
  specs: # Left blank, if `dynamic_specs` is true.

정말 κ³ λ§ˆμ›Œ!

λͺ¨λ“  5 λŒ“κΈ€

μ•ˆλ…•ν•˜μ„Έμš” @xtrasimplicity 이것은 ShinyProxy μ—°μ‚°μžλ₯Ό μ‚¬μš©ν•˜μ—¬ 달성할 수 μžˆμŠ΅λ‹ˆλ‹€. 높은 μˆ˜μ€€μ˜ μ„€λͺ…은 https://www.openanalytics.eu/blog/2020/10/12/shinyproxy-2.4.0/ μ—μ„œ 제곡되며 μΆ”κ°€ λ¬Έμ„œλŠ” μ „μš© Github 리포지토리 μ—μ„œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

@tverbeke κ°μ‚¬ν•©λ‹ˆλ‹€. κ°„λ‹¨νžˆ μ‚΄νŽ΄λ³΄μ•˜μ§€λ§Œ 더 Kubernetes 쀑심적인 것 κ°™μŠ΅λ‹ˆλ‹€. Docker swarm/engineμ—μ„œλ„ μž‘λ™ν•©λ‹ˆκΉŒ?

νŽΈμ§‘: λ˜ν•œ λ‚΄κ°€ μƒκ°ν–ˆλ˜ 것보닀 쑰금 더 λ³΅μž‘ν•΄ λ³΄μž…λ‹ˆλ‹€. 관리 UIλ₯Ό μ‚¬μš©ν•˜μ—¬ μƒˆ 앱을 μΆ”κ°€ν•˜λŠ” 지원을 μΆ”κ°€ν•˜λŠ” ShinyProxy에 λŒ€ν•œ PR을 μ œμΆœν•œλ‹€λ©΄(그리고 μ΄λŸ¬ν•œ ꡬ성을 λ°μ΄ν„°λ² μ΄μŠ€μ— μœ μ§€) 병합할 수 μžˆμŠ΅λ‹ˆκΉŒ?

μ•ˆλ…•ν•˜μ„Έμš” @tverbeke , μ €λŠ” ShinyProxy Operator에 λŒ€ν•΄ 쑰금 더 μ½μ—ˆκ³  그것에 λŒ€ν•΄ 머리λ₯Ό 가진 것 κ°™μŠ΅λ‹ˆλ‹€.

λŒ€λΆ€λΆ„μ˜ 문제λ₯Ό ν•΄κ²°ν•  수 μžˆμ§€λ§Œ ꡬ성 파일 등을 νŽΈμ§‘ν•˜λŠ” 데 μ΅μˆ™ν•˜μ§€ μ•Šμ„ 수 μžˆλŠ” νŠΉμ • μ‚¬μš©μžμ—κ²Œ μƒˆ μ•± μΆ”κ°€λ₯Ό μœ„μž„ν•  수 있으면 쒋을 κ²ƒμž…λ‹ˆλ‹€. ꡬ성 νŒŒμΌμ„ νŽΈμ§‘ν•˜κΈ° μœ„ν•΄ ShinyProxyλ₯Ό μ‹€ν–‰ν•˜λŠ” μ„œλ²„μ— SSH μ•‘μ„ΈμŠ€(μ œν•œμ— 관계없이 λͺ¨λ“  ν˜•μ‹)λ₯Ό λΆ€μ—¬ν•©λ‹ˆλ‹€.

μ΄λŸ¬ν•œ 이유둜 Admin UIλ₯Ό μ‚¬μš©ν•˜μ—¬ μƒˆ 앱을 μΆ”κ°€ν•  수 있으면 쒋을 κ²ƒμž…λ‹ˆλ‹€.

이둠적으둜 _μ‹¬κ°ν•˜κ²Œ_ μ½”λ“œλ₯Ό κ²€ν† ν•˜μ§€ μ•Šκ³ λ„ λ‹€μŒκ³Ό 같이 _ν•΄μ•Ό ν•©λ‹ˆλ‹€_.

  1. ꡬ성 파일 외에도 λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ 사양 μ •μ˜λ₯Ό κ°€μ Έμ˜€λŠ” κΈ°λŠ₯ μΆ”κ°€(sqlite둜 μΆ©λΆ„ν•΄μ•Ό ν•©λ‹ˆκΉŒ?).
  2. μƒˆ 사양 μ •μ˜ 등둝 및 λ°μ΄ν„°λ² μ΄μŠ€μ— μ €μž₯을 μ§€μ›ν•˜λ„λ‘ 관리 UI μ—…λ°μ΄νŠΈ.

κ·ΈλŸ¬ν•œ κΈ°λŠ₯을 μΆ”κ°€ν•˜λŠ” pull-request에 μ—΄λ € μžˆμŠ΅λ‹ˆκΉŒ?

감사 ν•΄μš”!

μ•ˆλ…•ν•˜μ„Έμš” @xtrasimplicity , ν•¨κ»˜ 생각해 μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€. μš°λ¦¬λŠ” μƒˆ μ•± μΆ”κ°€λ₯Ό μœ„μž„ν•˜λŠ” λ©”μ»€λ‹ˆμ¦˜μ„ μž‘μ—… μ€‘μ΄μ§€λ§Œ 첫 번째 λ‹¨κ³„μ—μ„œλŠ” μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€κ°€ μ•„λ‹Œ GitOps μ ‘κ·Ό 방식에 μ˜ν•΄ 주도될 κ²ƒμž…λ‹ˆλ‹€.

@tverbeke κ°μ‚¬ν•©λ‹ˆλ‹€. μœ„μž„ λ©”μ»€λ‹ˆμ¦˜μ΄ μ–Έμ œ 쀀비될지 μ•Œκ³  μžˆμŠ΅λ‹ˆκΉŒ? μ•„λ‹ˆλ©΄ μ–΄λ–»κ²Œλ“  이 κ°œλ°œμ„ λ„μšΈ 수 μžˆμŠ΅λ‹ˆκΉŒ?

GitOpsλŠ” μœ μš©ν•˜μ§€λ§Œ GUIμ—μ„œ 이λ₯Ό μˆ˜ν–‰ν•  수 μžˆλ‹€λŠ” 것은 GitOpsκ°€ μ‹€μ œλ‘œ μ‚¬μš©λ˜μ§€ μ•ŠλŠ” ν™˜κ²½μ—μ„œλ„ 맀우 μœ μš©ν•  κ²ƒμž…λ‹ˆλ‹€!

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰