Eclipse hawkBit™은 제한된 에지 장치와 IP 기반 네트워킹 인프라에 연결된 보다 강력한 컨트롤러 및 게이트웨이에 소프트웨어 업데이트를 제공하기 위한 도메인 독립적인 백엔드 프레임워크입니다.
https://eclipse.dev/hawkbit
Getting Started from docker image
Getting Started 페이지에 설명된 docker image로 실행해 보았습니다.
Run hawkBit Update Server (Monolith) as Docker Container
Start the hawkBit Update Server as a single container
$ docker run -p 8080:8080 hawkbit/hawkbit-update-server:latest
Direct Device Integration API와 Management API 페이지를 볼 수 있습니다.
Run hawkBit Update Server (Monolith) with UI as Docker Compose
Start the hawkBit Update Server together with an MySQL and RabbitMQ instance as containers
simple UI 가 포함된 docker를 실행해 봅니다.
git clone https://github.com/eclipse-hawkbit/hawkbit.git
cd hawkbit/hawkbit-runtime/docker
docker compose -f docker-compose-monolith-mysql-with-simple-ui.yml up -d
Update server와 UI 가 실행되었습니다.
Experimental! 이라는데 라이선스 문제 때문에 기존의 UI는 날리고 새로 만드는 중이라고 합니다.
Vaadin 8 UI discontinuation - Eclipse hawkBit
The hawkBit UI uses Vaadin as a web UI framework. It uses Vaadin 8 (8.14.3). This major version, according
Vaadin Roadmap, has no free support since 21st Feb 2022. There are some version releases after that date (8.15.0 - 8.16.0) that are Apache 2.0 licensed. However, since 8.16.1 (see here) the license is Commercial Vaadin Developer License 4.0, so they could not be used in hawkBit.
hawkbit/hawkbit-runtime/hawkbit-simple-ui at master · eclipse-hawkbit/hawkbit · GitHub
docker-compose-micro-services-mysql.yml 에 예전 UI를 남겨놓아서 실행은 해볼 수 있습니다.
아래 부분의 주석을 제거하고 실행하면 됩니다.
# # ---------------------
# # HawkBit Vaadin 8 based UI (NOT SUPPORTED!)
# # Outdated and not supported - may not work or lead to problems.
# # NOT Recommended - use it only AT YOUR RISK!
# # ---------------------
# hawkbit-vv8ui:
# image: "hawkbit/hawkbit-vv8-ui:latest-mysql"
# environment:
# - 'SPRING_DATASOURCE_URL=jdbc:mariadb://mysql:3306/hawkbit'
# - 'SPRING_RABBITMQ_HOST=rabbitmq'
# - 'SPRING_RABBITMQ_USERNAME=guest'
# - 'SPRING_RABBITMQ_PASSWORD=guest'
# - 'SPRING_DATASOURCE_USERNAME=root'
# volumes:
# - artifactrepo:/artifactrepo
# restart: always
# ports:
# - "8082:8082"
# depends_on:
# mysql:
# condition: service_healthy
# labels:
# NAME: "hawkbit-vv8-ui"
이제야 그럴싸한 UI 가 나옵니다.
테스트용으로 충분히 이용할 수 있는 상태입니다.
API Test
간단한 API를 실행해 보겠습니다.
Create Software Modules
Return all Software modules
Software Module 이 추가된것을 UI에서도 확인할 수 있습니다.