= Минимальное восстановление Аналитикса = Поскольку полный план [[Analytics_2019]] затянулся, необходимо избежать умирания новых реп - кода на vultr - репы nponeccop/btcanalytics-collector - репы bitcoin-analytics/btca-frontend подобно тому как это получилось с последними 3 начинаниями: - агрегатором - фикс-коллектором - коллектором на процессах Для этого надо остановить новые работы и заняться переносом продакшена на vultr. Для этого надо выполнить 3 больших задачи: - Починить работу Google Oauth (по необходимости для этого починить everyauth, analytics и socketstream) - Зарегистрировать идентификаторы OAuth-клиента для 4 основных провайдеров (Twitter, !LinkedIn, Facebook, Vkontakte) - Проверить работоспоспособность everyauth c ними и починить everyauth и 5 малых: - Проверить работоспособность биллинга - Проверить работоспособность репликации - Подключить Gearman-коллектор в текущий коллектор аналитикса - Выложить в опенсорс авторизацию - Выложить в опенсорс биллинг - Синхронизировать опенсорс с vultr == Обновление от ноября 2019 Поскольку план тоже провалился, есть уменьшенная версия плана с 4 большими задачами (5 малых остаются как раньше): - запустить старую ноду на полностью обновлённом Арче - запустить старые node_modules на полностью обновлённом арче - Зарегистрировать идентификаторы OAuth-клиента для 4 основных провайдеров (Twitter, !LinkedIn, Facebook, Vkontakte) - Проверить работоспоспособность старого everyauth c ними То есть мы пытаемся избежать починки everyauth и socketstream, которая затянулась так как они оба погнили основательно. == Обновление от апреля 2020 В связи с COVID-19 нечего делать, так что я немного продвинулся: - Ноябрьский миниплан оказался труднее в реализации, так что вернулся к версии в начале страницы - Everyauth портирован на Express 4 и запушен в мой гитхаб - зарегистрированы идентификаторы OAuth-клиента для Google и Twitter, чтобы можно было отлаживать авторизацию. Google OAuth и Twitter рабочие в тестовом примере everyauth - запущен аналитикс на vultr. Он периодически ломается в связи с работами, но в целом работоспособен. - в аналитикс установлен новый everyauth из гитхаба - выяснилось, что эвриаус на продакшене непатченный - восстановлена работоспособность логина - восстановил старый код налепливания middleware "снаружи" сокетстрима - отключен механизм отключения куки-заголовков, который нужен был для улучшения кеширования Осталось сделать: - проверить работоспособность биллинга - в сокетстриме 2 патча: - для рейс-кондишена при записи сессий - для отказа от ручного паршения куки После чего у нас будет работоспособная future-proof версия продакшена. Её можно будет заморозить и переключить на неё продакшен с оушена. Опциональные работы: - восстановить кеширование в варнише - рубить заголовки Cookie: и Set-Cookie:, как это было сделано раньше - проверить работоспособность вебсокет-транспорта - портировать синтаксис .vcl на Varnish 6 - обновить список социальных логинов - снизить тарифы - Выложить в опенсорс авторизацию - Выложить в опенсорс биллинг - Синхронизировать опенсорс с vultr == Обновление от августа 2020 По сути были проделаны работы по восстановлению Аналитикса, не предусмотренные предыдущими планами по причине недосмотра: Мейнтенанс коллектора: - в коллектор добавлено 15 бирж на "минимальном" фреймворке, новые биржи в [source:collector/lib/exchange], старые не менялись - из вышеперечисленных 7 бирж сделаны за деньги Алексом на винде в Visual Studio на тайпскрипте в приватной репе [https://github.com/bitcoin-analytics/btcanalytics-collector/tree/master/legacy/collector/lib/exchange github.com/bitcoin-analytics/btcanalytics-collector], синхронизация в ручном режиме - копирую *.js результат компиляции в нашу меркуриал-репу - в новых биржах не делались перевёрнутые тикеры, т.е. X/BTC делались, а BTC/X нет. Починка багов, которые есть на текущем ("старом") продакшене: - yahooapis заменен на https://exchangeratesapi.io/, в результате частично заработал XArbitrage - осталось сделать поддержку левых валют - в старом XArbitrage были захардкожены SLL, LTC и XRP, cейчас же у нас 7 валют разной степени левизны: USDT, USDN, BUSD, СUSD, TUSD, GUSD, PAX и XRP. Восстановление старого окружения: - vmgen создан на !DigitalOcean в новом future proof режиме "ядро Арча внутри VPS" - На vmgen подняты самба и OpenVPN для обеспечения работы в старом ключе - Помимо этого vmgen проверяет работоспособность продакшена на оушене без необходимости покупки двухъядерной конфигурации - Поскольку фактически разработка на vmgen не ведётся, он выполняет роль стейджинга, т.е. бадгета.