LINUX.ORG.RU

Избранные сообщения shef-er

Cloud-разработка в Chrome OS на ASUS Chromebit и Kubernetes+CoreOS

Галерея — Скриншоты

У меня давно настроен Kubernetes+CoreOS на одной машине и это позволяет мне экспериментировать с разработкой распределенных приложений дома и запускать разные сервисы вроде торрентов и транскодинга в условиях жесткой изоляции среды и ресурсов.

Я решил попробовать устроить себе среду разработки, которая будет соответствовать определенным критериям

  • Будет глобально доступна с любой машины в мире без установки софта кроме браузера.
  • При работе с другого континента не будет ощущаться задержка при печати как было бы в vim+tmux. mosh скорее всего бы не решил проблему с vim.
  • Глобально доступны по HTTPS веб-приложения запущеные в этой среде
  • В Linux среде где запускается разрабатываемое приложение можно заменить дистрибутив на другой за несколько минут, но сохранить home.

Чтобы эксперимент был чистым все это тестируется на ASUS Chromebit со стоковой ChromeOS, 2 ГБ памяти и ARM Rockchip Quad-Core RK3288C, которая размером с большую флешку и воткнута в телевизор LG 49LB550V. Потому шрифты могут быть чуть больше чем обычно, чтобы было лучше видно на телевизоре. Устройство очень маломощное, но работает быстро потому что в ChromeOS нету дискового swap, только RAM+zRAM и если что-то не влезает, то выгружается.

Скриншоты

  • Редактор Codiad в полноекранном режиме. В принципе можно установить любой другой, но для обычного редактирование текста он подходит. Если найду такой, который потребляет мало памяти и умеет режим vim, поставлю его.
  • tmux. Вот так выглядит контейнер для разработки. Он совершенно отдельный от Codiad и я могу менять в нем дистры простым редактированием Dockerfile. В него и в Codiad примонтирован один и тот-же каталог с исходным кодом. При смене контейнера home тоже сохраняется. В данном случае в контейнере последняя версия Ubuntu, но ядро как всегда остается хостовым от CoreOS. В контейнер заранее установлены средства разработки на C++, Go, Python, NodeJS.
  • Caddy, который вы видели запущеным в контейнере. Интересная часть заключается в том, что для него создается виртуальный хост, создается Let's Encrypt сертификат и производится авторизация. Это умеет делать и сам Caddy, но он тут просто для демо. Суть в том, что в данном случае это будет делаться на уровне nginx фронтенда для любого приложения открывшего порт 8080 в контейнере
  • tmux+vim. Если работать не издалека, то вполне можно просто пользоваться tmux+vim. Плагины на него устанавливаются в home и в основном продолжают работу при смене дистра, кроме тех, которым нужна перекомпиляция.
  • Внутренности. Это Kubernetes Dashboard. В ней вы видите некоторые из упомянутых выше контейнеров и еще много чего. Для временных изменений некоторые параментры контейнеров можно менять прямо в UI, но лучше конечно через файл конфигурации.

Изначально CoreOS машина разворачивается сама по iPXE на голый диск. Если система уже была установлена, то она просто загружается. После этого по SSH необходимо загрузить ключи и некоторый набор базовых сервисов Kubernetes. Теперь кластером можно пользоваться удаленно через kubectl. Я запустил там локальный docker реестр, потому вы видите localhost в названии некоторых контейнеров. На моей машине различные сервисы работают на Alpine Linux, Ubuntu или CentOS в зависимости от того, на чем было проще настроить конкретное приложение. Если разницы нету, то я использую Alpine, так как тогда контейнеры наиболее компактны.

Цепочка загрузки такая

  • BIOS
  • PXE
  • iPXE
  • Ядро CoreOS
  • systemd
  • Docker
  • Kubernetes
  • Сервисы из публичных образов и локальный Docker реестр
  • Сервисы из локального Docker реестра

В качестве сервера использую старый Dell ноутбук с Core i7-2630QM, 8GB RAM и сломаной батареей, ибо нечего ему пылиться с таким процессором.

Если я захочу подключить второй сервер, то мне нужно сделать два действия: сделать для второго сервера облегченный конфиг без части Kubernetes демонов и придумать как монтировать диски удаленно. Пока что персистентные каталоги монтируются в хост систему, что не будет работать если сервисы будут случайно мигрировать между машинами. Но если я это сделаю, то полностью програмная виртуальная сеть на flannel будет работать полностью прозрачно и контейнеры на разных будут общаться друг с другом так же просто как и раньше. Из того что можно настроить дома поддерживаются GlusterFS+Heketi, Ceph и NFS

Среди дополнительных удобств на сервере есть связка Transmission+Plex, интерфейсы которых тоже доступны глобально. Потому я могу пойти в гости, поставить torrent дома с телефона, а потом транскодированый и оптимизированый фильм можно посмотреть на телевизоре например через Chromecast, AppleTV, PS4, XBox, Android, Windows Phone или другой способ отобразить браузер с компьютера на телевизор.

В качестве заключения скажу что мне понравился такой способ настройки домашнего сервера. Использование Docker контенеров позволяет уравнять в легкости настройки опакеченый софт из дистрибутивов и софт, который устанавливается скриптом сборки на github. Они оба могут быть завернуты в контейнер на любом дистрибутиве и потом когда более не нужны могут быть аккуратно удалены. Kubernetes очень облегчил работу с виртуальными хостами, шифрованием, перенаправлением портов, изоляцией ресурсов, перезапуском упавших сервисов и проверкой их здоровья.

>>> Просмотр (1920x1080, 1069 Kb)

 , , ,

vertexua
()

It's awesome! ...again

Галерея — Скриншоты

Кратко:

  • Переполз с SpaceFM на ranger — нет лишних окон, вимовое управление, не нужно отрывать руки от клавиатуры;
  • Темы, иконки и ШГ (да, ШГ; да, не исправил) всё те же;
  • Виджет музыки;
  • Виджет, показывающий статус UPS (так как USB HID и polling, потому и забор инфы по таймеру);
  • Индикатор индикаторов клавиатуры (увы, сигналов для этого дела нет, потому тоже таймер), так как клавиатура у меня задвинута далеко за монитор;
  • Активный клиент в тасклисте сдвигается в сторону рабочей области, свёрнутый становится полупрозрачным и задвигается влево.

Собственно, в этот раз я принёс показать виджет музыки. Киллерфича: работающие слайдеры, лол. Уведомление при смене трека, если вибокс скрыт (с вибоксом оно и не нужно). Изначально уведомления планировалось реализовать показом вибокса со скрытием по таймеру, но таймер, вызванный из другого таймера ведёт себя крайне странно, и бороться с ним у меня просто не хватило терпения. Не работает только смена обложек, так как не реализован фетч обложек; просто не знаю, откуда их брать по Artist/Album.

На старте жрёт 404 мегабайта оперативной памяти (из шестнадцати гигабайт) по причине nut, deluge, tor и всякого ещё.

Конфиги там же.

JB, ты говорил, что тайловые WM все одинаковые?

Вопрос к обладателям трекболов (предлагатели трекпадов, клиторов и прочих планшетов могут смело идти в пешее эротическое путешествие, да): коты, оно сделает мне хорошо?

>>> mutt (1920x1080, 149 Kb)

>>> ranger + neovim (1920x1080, 177 Kb)

>>> Просмотр (1920x1080, 1603 Kb)

 , , ,

r3lgar
()

Vim, FZF, zsh, Tmux, Base16 и другое

Галерея — Скриншоты

Мое стандартное рабочее окружение. Уже более 3х лет использую и доволен. Конечно в процессе делал улучшения, раньше было куда хуже. Надеюсь в будущем будет лучше и удобнее. Пытался уйти на Sublime и даже на PyCharm. Не вышло, слишком тяжело было работать. Так и остался в виме.

На скрине tmux, мой любимый FZF, который дружит со всем - git, ag, vim, tmux, ctags. Шрифты - Monoid regular

Цветовая схема base16 (плагин для вима + base16-shell). Удобно менять цветовые схемы, просто вводим в консоле base16_<tab>

Для zsh использую oh-my-zsh (пока свой конфиг не освоил, и смысла не вижу куда то уходить). Все остальное - свое.

Vim лежит тут http://github.com/aliev/vim очень прошу, если есть замечания по коду - пишите, исправлю(сь).

Другие скриншоты:

Go to symbol in current buffer: https://habrastorage.org/files/c66/b04/7cb/c66b047cb6a547319497d3cfd8c33a3c.png

Git history with preview: https://hsto.org/files/fad/310/055/fad310055ab041d2a350523a52f06cf8.png

Ссылки:

https://github.com/aliev/vim

https://github.com/junegunn/fzf

https://github.com/junegunn/fzf.vim

https://github.com/junegunn/vim-plug

https://github.com/larsenwork/monoid

https://github.com/chriskempson/base16-shell/

>>> Просмотр (1680x1050, 745 Kb)

 ,

shamkir
()

i3, мята, котики

Галерея — Скриншоты

Рабочий ноут. Цвета подбирались помягче и поспокойнее, дабы уберечь глазки.
Тайлинг использую только на доке с двумя мониторами, ибо с размерами экрана ноута в этом мало смысла.
Тмукса обычно больше, окон 8-10 со специфичной рабочей тулзой, которой хожу по серверам или ставлю пакетики. На скрине первый попавшийся питонячий код (схема vim'а railscasts), alsamixer и палитра. И (о, ужас!) трей, который нужен и не мешает.
Обоины разные, потому что на самом деле их три - ротейтятся по крону раз в 5 минут.

  • Дистр: Linux Mint
  • WM: i3 с патчем i3bar
  • Шрифты: Terminus и Arimo
  • GTK: Dusty
  • Терминал: mate-terminal+tmux
  • Иконки i3bar: свои на основе этих
  • Иконки: ACYL
  • Иконки воркспейсов: шрифт FontAwesome
  • Остальное: dvol, dunst, dmenu

Dunst и dvol
Терминал
GTK

>>> Просмотр (1366x768, 1155 Kb)

 , ,

Aesdana
()

Чёрно-белое лето

Галерея — Скриншоты

Планировал выложить ещё в октябре (если вообще не в сентябре), но лень — страшная сила. Решил оставить след в истории таким, какой он есть и не стремиться к недостижимому идеалу. Собственно, ошмётки xfce, лишнее удалялось с процессе, в итоге от крысы остался только менеджер настроек, wm, сессия и их зависимости. Чёрно-белое потому, что мне так больше нравится (это чтобы в комментариях глупых вопросов не задавали). Вот ещё один скрин.

>>> Просмотр (1920x1080, 172 Kb)

 ,

sudopacman
()

Мой i3

Галерея — Скриншоты

Os: Xubuntu 14.04
Wm: i3-gaps
Fm: ranger
Player: mpd+ncmpcpp
Term: urxvt

>>> Просмотр (2646x1024, 178 Kb)

 ,

Ixet
()

Arch + Subtle

Галерея — Скриншоты

С момента публикования прошлого скриншота прошло почти 3.5 года. Сменил обои, цвета и частично набор используемых програм. На скринах запущены sddm, clipit, ario (mdp+mpc), qxkb, litetran, nm-applet, humster, neovim-qt (со старым тестовым проектом), conky, urxvt.
Хотя на скрине есть urxvt, но в основном использую guake, а urxvt только для мониторинга всяких логов серверов, и то только на работе, когда второй монитор подключен.
Есть 2 самописных саблета: погода и календарик (забыл заскриншотить, вылазит по клику на часах и реализован через комманду cal).

>>> Просмотр (1366x2304, 2101 Kb)

 ,

Fuelen
()

Темный зеленый арч

Галерея — Скриншоты

Как всегда - рач, i3, sublime text, плюс в этот раз хромиум.

Все темы как всегда кастомные, могу выдать по запросу.

ШГ, как и обычно, даже без infinality.

>>> Просмотр (1920x1080, 177 Kb)

 , , ,

Deleted
()

Светлый i3

Галерея — Скриншоты

Недавно появилось желание попробовать тайлинг (да и на 1366x768 не очень комфортно работать с DE). Из-за простого конфига и шустрой скорости работы выбор сразу пал на i3. От темных тем у меня болят глаза, поэтому все оформлено в светлых цветах.

  • Некоторые окна гоняю во float'е, поэтому заголовки отключать не стал
    • Как можно заметить, в i3bar выводится играющая в deadbeef'е композиция
    • Тени рисует xcompmgr
  • dmenu был заменен на более функциональный rofi
  • Pcmanfm (шг - PT Sans 11 + бубунтопатчи)
  • Xfce4-terminal (шг - Monaco 11)
  • Конфиги
  • Обоина

Алсо, буду очень признателен, если кто-нибудь подскажет, как можно задействовать Fn. Для переключения яркости и громкости сейчас используются костыли вида

bindsym  $mod+Control+Right exec xbacklight +20
bindsym  $mod+Control+Left  exec xbacklight -20
bindsym  $mod+Control+Up    exec amixer set Master 5+
bindsym  $mod+Control+Down  exec amixer set Master 5-

>>> Просмотр (1366x768, 625 Kb)

 , ,

Unnamed
()

Arch, i3, surf

Галерея — Скриншоты

На скриншоте dmenu в качестве некоторой замены omnibar'у, открытый surf с лором и пара терминалов.

С момента последнего скриншота я продолжил деградацию и изменения следующие:

  • Браузер теперь surf (минимализм во все поля)
  • C i3bar ушли часы
  • Файлового менеджера теперь вообще нет
  • Вместо xfce4-terminal сначала стал termine, а затем и urxvt
  • Ну и конечно очередная перекраска

>>> Просмотр (3840x1080, 2168 Kb)

 , , ,

Deleted
()

Обновился (Awesome Wm + zsh)

Галерея — Скриншоты

С прошлого раза сменил:

  • Тему Awesome. Кружочки слева - раскладка - теги (бублики для пустого тега, оранжевый кружок для активного), справа - громкость - текущий лэйаут. Маленькие синие - для «красоты» (надеюсь).
  • Fish поменял на zsh после последней темы в новостях о фише, спасибо добрым людям за пару ссылок с той темы по плагинам.
  • Тему Firefox.

А так все по-старому:

  • Gtk-тема FlatStudioDark (с утонченными скроллбарами).
  • Шрифты - Ubuntu в лисе и тасклисте Awesome и M+ 1mn в терминале и Vimperator'e.
  • Цвета в терминале и тема vim - измененный hybrid.

Ну и пустой рабочий стол, где видна смена раскладки и «замученный» звук. Обоину и Conky нагло украл у sudopacman'a

>>> Просмотр (1600x900, 265 Kb)

 , ,

StillSteal
()