Shinyproxy: إضافة ديناميكية للمواصفات بعد بدء التشغيل

تم إنشاؤها على ١٧ أكتوبر ٢٠٢٠  ·  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 أيضًا؟

تحرير: أيضًا ، يبدو الأمر أكثر تعقيدًا مما كنت أفكر فيه. إذا كنت سأرسل PR لـ ShinyProxy والذي يضيف دعمًا لإضافة تطبيقات جديدة باستخدام واجهة مستخدم المسؤول (واستمرار مثل هذا التكوين في قاعدة بيانات) ، فهل ستكون منفتحًا على دمجها؟

مرحبًا tverbeke ، لقد تلقيت المزيد من القراءة من ShinyProxy Operator وأعتقد أن رأسي يدور حوله.

في حين أنه سيحل معظم مشاكلي ، سيكون من الجيد أن أكون قادرًا على تفويض إضافة تطبيقات جديدة إلى مستخدمين محددين قد لا يكونون على دراية بتعديل ملفات التكوين ، وما إلى ذلك - أو في المواقف التي لا أريد فيها ذلك منح شخص ما وصول SSH (بأي شكل ، بغض النظر عن مدى تقييده) إلى الخادم الذي يقوم بتشغيل ShinyProxy من أجل تحرير ملف التكوين.

لهذا السبب ، سيكون من الرائع أن تتمكن من إضافة تطبيقات جديدة باستخدام Admin UI.

نظريًا ، وبدون مراجعة الكود بشكل مكثف ، يجب أن يكون بسيطًا مثل:

  1. إضافة القدرة على جلب تعريفات المواصفات من قاعدة بيانات (هل ينبغي أن تكون sqlite كافية؟) ، بالإضافة إلى من ملف التكوين.
  2. تحديث واجهة المستخدم الإدارية لدعم تسجيل تعريفات المواصفات الجديدة وتخزينها في قاعدة البيانات.

هل ستكون منفتحًا على طلب سحب إضافة مثل هذه الإمكانات؟

شكرا!

مرحبًا xtrasimplicity ، شكرًا جزيلاً على التفكير

شكراtverbeke. هل تعلم متى يحتمل أن تكون آلية التفويض جاهزة؟ أو يمكنني بطريقة ما المساعدة في تطوير هذا؟

GitOps مفيد ، ولكن القدرة على القيام بذلك من واجهة المستخدم الرسومية ستكون مفيدة حقًا للبيئات التي لا يتم فيها استخدام GitOps أيضًا!

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

PauloJhonny picture PauloJhonny  ·  8تعليقات

algo-se picture algo-se  ·  6تعليقات

jat255 picture jat255  ·  4تعليقات

erossini picture erossini  ·  3تعليقات

lucius-verus-fan picture lucius-verus-fan  ·  8تعليقات