본문 바로가기

카테고리 없음

Eclipse hawkBit

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에서도 확인할 수 있습니다.