첫째, λ©μ§ νλ«νΌμ λ§λ€μ΄ μ£Όμ μ κ°μ¬ν©λλ€. μ΄κ²μ κ±°μ λͺ¨λ μꡬ μ¬νμ μΆ©μ‘±μν€λ κ² κ°μ΅λλ€!
νμ§λ§ λ΄κ° μ°Ύκ³ μλ ν κ°μ§λ μ μ±μ μΆκ°νκΈ° μν΄ μλ²λ₯Ό μλμΌλ‘ λ€μ μμν νμκ° μλλ‘ μμ ν μ¬μμ λμ μΌλ‘ μΆκ°νλ κΈ°λ₯μ λλ€.
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.
μ λ§ κ³ λ§μ!
μλ νμΈμ @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λ₯Ό μ¬μ©νμ¬ μ μ±μ μΆκ°ν μ μμΌλ©΄ μ’μ κ²μ λλ€.
μ΄λ‘ μ μΌλ‘ _μ¬κ°νκ²_ μ½λλ₯Ό κ²ν νμ§ μκ³ λ λ€μκ³Ό κ°μ΄ _ν΄μΌ ν©λλ€_.
κ·Έλ¬ν κΈ°λ₯μ μΆκ°νλ pull-requestμ μ΄λ € μμ΅λκΉ?
κ°μ¬ ν΄μ!
μλ νμΈμ @xtrasimplicity , ν¨κ» μκ°ν΄ μ£Όμ μ κ°μ¬ν©λλ€. μ°λ¦¬λ μ μ± μΆκ°λ₯Ό μμνλ λ©μ»€λμ¦μ μμ μ€μ΄μ§λ§ 첫 λ²μ§Έ λ¨κ³μμλ μ¬μ©μ μΈν°νμ΄μ€κ° μλ GitOps μ κ·Ό λ°©μμ μν΄ μ£Όλλ κ²μ λλ€.
@tverbeke κ°μ¬ν©λλ€. μμ λ©μ»€λμ¦μ΄ μΈμ μ€λΉλ μ§ μκ³ μμ΅λκΉ? μλλ©΄ μ΄λ»κ²λ μ΄ κ°λ°μ λμΈ μ μμ΅λκΉ?
GitOpsλ μ μ©νμ§λ§ GUIμμ μ΄λ₯Ό μνν μ μλ€λ κ²μ GitOpsκ° μ€μ λ‘ μ¬μ©λμ§ μλ νκ²½μμλ λ§€μ° μ μ©ν κ²μ λλ€!