[Проект] Gosh
Доколкото разбирам, искаш да направиш аналог на Paramiko и sshoogr, а не да разшириш този изглежда умрял проект. Също така, искаш да използваш тази библиотека за самата ssh връзка.
Ако правилно съм разбрал, това ми се струва една доста добра идея за проект. Моля те, малко по-разширено опиши следните неща:
- Ще ползваш ли някакъв DSL (подобно на sshoogr ) или ще е библиотека с разни native Go методи? Ако ползваш DSL, сам ли ще имплементираш нещо или ще ползваш нещо готово (и какво).
- Ще поддържаш ли паралелно изпълнение на множество хостове?
- Ще поддържаш ли различни методи на authentication (user+pass, keyfiles, kerberos, etc.)?
- Ще поддържаш ли нещо освен изпълнение на команди на сървъри? Качване/сваляне на файлове? Тунели? Нещо друго?
- Какъв по-скоро ти е target-а? Отдалечено изпълнение на разни кратки програмки по SSH (и евентуално връщане на техния резултат)? Или пускане и продължително работещи програми и предоставяне на метод за взаимодействие (пр. input/output канали) с тях? Или и двете?
Интересува ме конкретно какво планираш да включиш в първоначалната ти имплементация в рамките на курса по Go. Ако решиш да споделиш и по-дългосрочни планове, моля да отбележиш, че няма да са включени в първата версия :)
Няма да разширявам, не бях видял, че вече има проект с такова име.
Засега не обмислям да правя DSL, ще е с native команди.
По план ще има и password/key file authentication
Не съм решил за множеството хостове, ще поддържам изпълнение на команди и download/upload, както и в sshoogr има редактиране на файл, т.е. да изпълниш функция върху отдалечен файл.
Ще ми се да направя асинхронно изпълнение с възможност за произволна проверка на статус на процеса (running/exit code) и вземане на output (например с non-blocking pipe).
Изпълнението на множество хостове по-скоро ще е извън рамките на курса.
Трябва да сте влезли в системата, за да може да отговаряте на теми.