Выпущена BAYRELL Cloud OS версии 0.3

Выпущена версия BAYRELL Cloud OS 0.3.

Что было сделано:

1) Добавлены манифесты приложений. Сейчас манифесты - это обычные yaml файлы сервиса. В будущем планирую доработать, добавить параметры. Конфиги хранятся в базе.

2) Пофиксен баг в сборке alpine, когда supervisorу не остылалась команда SIGNTERM. Это приводило к тому, что mysql не мог нормально завершиться, и обновление MySQL на новую версию нельзя было совершить, потому redo log был некоректно завершен.

Теперь супервизор запускается командами:

# Run supervisor
trap 'kill -TERM $PID; wait $PID' SIGHUP SIGINT SIGQUIT SIGTERM
rm -f /var/run/supervisor/supervisor.sock
/usr/bin/supervisord -c /etc/supervisord.conf -n &
PID=$!
wait $PID
wait $PID
EXIT_STATUS=$?
sleep 2
echo "Shutdown container"

3) Была собрана сборка WordPress для облачной операционной системы

4) Для контейнера alpine php добавлена возможность мапить пользователя www. Это позволит не создавать отдельного www пользователя на хост машине, а мапить его в home папку текущего юзера.

5) Обновлен Alpine до версии 3.12. Я хотел обновить до 3.13, но эта версия не работает на Raspberry PI 3. Создан тикет на гитхабе. Насколько я понял, это произошло, потому что в версии 3.13 был обновлен time_t на 64 бит. И из-за этого не корректно работает контейнер. Чтобы решить этот вопрос, нужно установить 64 битную версию ОС на распу.

Инструкции:

  1. Концепция BAYRELL Cloud OS.
  2. Установка BAYRELL CLoud OS на Raspberry PI.
  3. Установка BAYRELL Cloud OS на LXC.
  4. Установка WordPress на облачную ОС.

Вопросы, которые нужно решить в будущем:

  1. Эмерджентность системы (Единая авторизация, SSO, шина обмена данными).
  2. Установщик Облачной ОС.
  3. Автоматизация сборки и выпуска контейнеров.
  4. Приватный хостинг и зеркало репозиториев (Docker, Github, Mercurial, Flatpak, deb, alpine apk). Т.е. система, которая будет переодически скачивать обновления. А также иметь возможность хранить свои репозитории.
  5. Облачная система хранения файлов.
  6. Система сбора логов контейнеров.
  7. Показ ошибок, почему сервис не запускается.