SaaS-решение для сборки персонализированных образов операционной системы на базе Debian GNU/Linux
-
Очень крутой проект.
Я на следующей неделе пострараюсь протестировать и написать отзыв в этой теме
-
raspiman спасибо большое! Ждём с нетерпением отзыв!
-
Список изменений:
- Добавили управление пользователями и группами, а также возможность задать пароль суперпользователя во время сборки образа.
- Ускорили процесс разрешения зависимостей.
-
Недавно зарегистрировался. Сейчас пытаюсь залогиниться, но логин не проходит, просто поле пароля сбрасывается. Ну думаю забыл пароль. Нажимаю восстановить, а в ответ тишина. А зареган ли я на самом деле здесь? Пытаюсь зарегистрироваться во второй раз и сайт с радостью вывалил мне лог с ошибками. Environment:
Request Method: POST
Request URL: http://cusdeb.com/signup/Django Version: 1.8.13
Python Version: 3.4.2
Installed Applications:
('django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'firmwares',
'users',
'webpack_loader')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware')Traceback:
File "/usr/local/lib/python3.4/dist-packages/django/core/handlers/base.py" in get_response
132. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/var/dashboard/src/django-cusdeb-users/users/views.py" in sign_up
105. cd['password'])
File "/usr/local/lib/python3.4/dist-packages/django/contrib/auth/models.py" in create_user
187. **extra_fields)
File "/usr/local/lib/python3.4/dist-packages/django/contrib/auth/models.py" in _create_user
182. user.save(using=self._db)
File "/usr/local/lib/python3.4/dist-packages/django/db/models/base.py" in save
734. force_update=force_update, update_fields=update_fields)
File "/usr/local/lib/python3.4/dist-packages/django/db/models/base.py" in save_base
762. updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
File "/usr/local/lib/python3.4/dist-packages/django/db/models/base.py" in _save_table
846. result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
File "/usr/local/lib/python3.4/dist-packages/django/db/models/base.py" in _do_insert
885. using=using, raw=raw)
File "/usr/local/lib/python3.4/dist-packages/django/db/models/manager.py" in manager_method
127. return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/usr/local/lib/python3.4/dist-packages/django/db/models/query.py" in _insert
920. return query.get_compiler(using=using).execute_sql(return_id)
File "/usr/local/lib/python3.4/dist-packages/django/db/models/sql/compiler.py" in execute_sql
974. cursor.execute(sql, params)
File "/usr/local/lib/python3.4/dist-packages/django/db/backends/utils.py" in execute
79. return super(CursorDebugWrapper, self).execute(sql, params)
File "/usr/local/lib/python3.4/dist-packages/django/db/backends/utils.py" in execute
64. return self.cursor.execute(sql, params)
File "/usr/local/lib/python3.4/dist-packages/django/db/utils.py" in exit
98. six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/usr/local/lib/python3.4/dist-packages/django/utils/six.py" in reraise
685. raise value.with_traceback(tb)
File "/usr/local/lib/python3.4/dist-packages/django/db/backends/utils.py" in execute
64. return self.cursor.execute(sql, params)Exception Type: IntegrityError at /signup/
Exception Value: duplicate key value violates unique constraint "auth_user_username_key"
DETAIL: Key (username)=(alfacom) already exists. -
alfacom , благодарю за отчёт об ошибке! Я нашёл ваш аккаунт, установил новый пароль и отправил пароль в личку. Сегодня ночью поправим регистрацию.
-
alfacom , исправлено. Еще раз спасибо.
-
Вы знакомы с Buldroot?
Я думаю, что многим было бы интересно, если со временем ваш проект разовьётся до этакого SaaS аналога Buildroot'а -
admin (2016-05-28 08:43:50):Вы знакомы с Buldroot?
Я думаю, что многим было бы интересно, если со временем ваш проект разовьётся до этакого SaaS аналога Buildroot'а да, у Buildroot есть достоинства, с оглядкой на которые мы разрабатываем CusDeb, но в одном эти два проекта отличаются друг от друга принципиально: Buildroot предлагает собирать образы из исходных текстов, а CusDeb — из бинарных пакетов. -
Подвисает на стадии инициализации.
Консоль ошибок на скрине, браузер ChromeWebSocket connection to 'ws://cusdeb.com/rpc/token/' failed: Error during WebSocket handshake: Unexpected response code: 404
-
raspiman (2016-05-28 15:40:17):Подвисает на стадии инициализации.
Консоль ошибок на скрине, браузер ChromeWebSocket connection to 'ws://cusdeb.com/rpc/token/' failed: Error during WebSocket handshake: Unexpected response code: 404
Спасибо. Мы выяснили в чем проблема. Быстрое решение заключается в том, что бы просто перелогиниться.
Сегодня-завтра мы исправим источник этой проблемы. -
Русифицировали гравную страницу и руководство пользователя. Если в браузере русский язык выбран по умолчанию, то показывается русская версия сайта.
-
У всех зарегистрировавшихся прошу прощения. При входе сразу после регистрации не создавался токен, что делало автоматический вход сразу после регистрации бессмысленным. Проблема исправлена.
-
Теперь cusdeb.com/ собирает полноценные образы Debian Jessie для Raspberry Pi 2 и Raspberry Pi 3. Для сборки используется скрипт: github.com/drtyhlpr/rpi23-gen-image
Приглашаю всех желающих присоединиться к разработке. Буду рад любому отзыву, совету или найденной ошибке.
-
Откуда берётся список пакетов, которые можно выбрать?
Автоматически из оф.репозиториев парсится или как-то вручную модерируется?
К названию пакета было бы неплохо выводить описание — я ввёл ключевое слово, мне вывалилась куча пакетов, содержащая в названии ключевое слово.
Из этой кучи без описания выбрать то, что мне нужно не очень просто.Не очень понятно, что получится на выходе — будет ли дистрибутив содержать графическую систему XWindow или только консоль?
Если окно браузера закрыть, прервётся ли процесс сборки?
-
raspiman (2016-12-04 22:47:19):Откуда берётся список пакетов, которые можно выбрать?
Автоматически из оф.репозиториев парсится или как-то вручную модерируется?
К названию пакета было бы неплохо выводить описание — я ввёл ключевое слово, мне вывалилась куча пакетов, содержащая в названии ключевое слово.
Из этой кучи без описания выбрать то, что мне нужно не очень просто.Не очень понятно, что получится на выходе — будет ли дистрибутив содержать графическую систему XWindow или только консоль?
Если окно браузера закрыть, прервётся ли процесс сборки?
- Список пакетов берется из официального репозитория. У нас есть простой сервис, который дергает, к примеру, из ftp.ru.debian.org/debian/dists/stable/main/binary-armhf/Packages.xz пакеты и обновляет их в нашей базе. Каждый пакет представляется в виде документа MongoDB.
- Описание к каждому пакету является приоритетной задачей. CusDeb находится в статусе альфы, поэтому ему пока не хватает некоторых важных функций.
- В основу целевого образа закладывается базовая система. Если вы выберите из списка пакетов xorg + какую-нибудь DE, тогда графика будет. Мы удерживаемся от соблазна добавлять в целевой образ что-то от себя.
- Да, вы можете закрыть окно/вкладку, а через некоторое время найти образ в списке в панели управления. Думаю, что нужно отправлять два письма: 1) сборка началась, 2.1) сборка закончилась удачно 2.2) сборка закончилась с ошибкой. Что думаете?
-
Да, было бы неплохо высылать уведомление, что сборка завершена.
Также было бы неплохо сделать возможность внесения изменений в готовый образ
-
raspiman (2016-12-05 14:03:18):Да, было бы неплохо высылать уведомление, что сборка завершена.
Также было бы неплохо сделать возможность внесения изменений в готовый образ мы рассматривали идею прикрутить к CusDeb терминал, чтобы работать с целевой прошивкой, запущенной в эмуляторе. Так вы могли бы вносить изменения в образ. Или у вас есть другая идея?
-
Мы добавили руководство пользователя на русском языке
-
raspiman , благодарю за комментарии. Мы добавили краткие описания к пакетам (к сожалению, только на английском языке), и уведомления по электронной почте о завершении сборки.
Пока не придумали как реализовать внесение изменений в готовый образ.
-
Добрый день, нельзя удалить ранее созданный образ.
Выдает что незадана функция.А так проект прикольный, какое все же внутри ядро? Нельзя в качестве опции, если не дебиановское поставить его в качестве возможности выбора альтернативного ядра?