35 Commits
Author SHA1 Message Date
pnoker def5c34378 build(driver): register eight new drivers in pom dockerfile and compose 2026-08-17 20:11:19 +08:00
pnoker 7bf615b3b1 feat(driver): configure driver buffer and mount container volume
28 driver application.yml add dc3.driver.buffer; Dockerfile each stage adds dc3/data dir and VOLUME; docker-compose main/dev add driver_data named volume
2026-07-26 00:13:31 +08:00
pnokerandClaude Fable 5 a32ac42726 refactor(docker): remove duplicated driver target stages
The 20 driver targets (bacnet-ip .. zigbee) were each defined twice in
the root Dockerfile (54 FROM stages, 34 unique). BuildKit used the later
copy, so builds worked, but editing one copy and missing the other could
silently produce wrong images. Drop the duplicate block (-261 lines).

Verified all 34 targets still resolve via `podman build --target`.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 12:04:49 +08:00
Henry Zhang 72a5fceac0 chore: consolidate CI, docs, and issue templates (#99)
* ci(dependabot): add cargo ecosystem, groups, and clean up stale docker directories

* docs(ai): add spring-ai-deep-dive cross-references in en and zh indexes

* docs(community): add english FAQ and frontend developer guide

* chore(issue-templates): translate all templates to english

* ci(docker): add 20 missing driver images to Dockerfile, compose, and Makefile

* fix(docs): remove Vue template syntax from panorama SVGs so they render

* docs(ai): add spring-ai-deep-dive pages in en and zh
2026-06-28 23:42:04 +08:00
Vickey 27bcf1383b fix: address code review — security, thread safety, performance, and null safety
Security (CRITICAL):
- KeyUtil: read JWT signing key from DC3_SECURITY_KEY env/property
- UserPasswordServiceImpl: read default password from DC3_SECURITY_DEFAULT_PASSWORD env
- KeyLoader: read OPC-UA keystore password from OPCUA_KEYSTORE_PASSWORD env
- WebFilterConfig: return 401 on malformed X-Auth-User header
- AlgorithmConstant: document deprecated hardcoded constants

Thread safety (HIGH):
- Fix TOCTOU races in 4 driver connectors (computeIfAbsent)
- Fix PlcS7 lock leak, OpcUa connect timeout (5s)
- CoapClientManager: synchronize setURI to prevent URI race
- PointValueJob, MqttScheduleJob: add @DisallowConcurrentExecution
- SystemHealthServiceImpl: preserve interrupt flag
- WindowSampleBuffer: local AtomicInteger → int

Performance (MEDIUM):
- EntityStateExpiryScanner: batch alarm saves (saveBatch)
- ImportDeviceServiceImpl: batch config saves
- ResourceRegistrySyncServiceImpl: batch-load nodes, eliminate N+1 COUNTs
- DriverSenderServiceImpl: debug-gate hot-path logging
- PointServiceImpl: stream().count() → size()

Null safety (LOW):
- RegexUtil: null guards on isName/isPhone/isMail/isPassword/isHost
- HostUtil: null-check getNetworkInterfaces() return
- TimeUtil: log parse failures instead of silent null

Infrastructure:
- Add spring-boot-starter-cache + @EnableCaching CacheConfig
- Replace embedded modbus4j/plc-s7 jars with external Maven dependencies
- Add dc3-driver-modbus-rtu module
2026-05-26 08:40:25 +08:00
pnoker 83ee84773a build: refactor Dockerfile, Makefile and compose files
Parametrize JDK/JRE base images via build args in Dockerfile, replace
hardcoded GC/dump env vars with per-service path variables, fix APM
port. Simplify Makefile registry options to global|cn, add SERVICES
and GROUP selectors for targeted compose operations.
2026-05-17 22:16:30 +08:00
pnoker a9c1908797 build: refine Dockerfile comments and dockerignore scope
Exclude Docker/compose/CI files from builder stage context to avoid
unnecessary cache invalidation. Update Dockerfile comments for
Podman compatibility. Remove package dependency from build target.
2026-05-17 19:18:24 +08:00
pnoker 105c63603e build: consolidate per-service Dockerfiles into unified multi-target build
Replace 14 individual Dockerfiles with a single unified Dockerfile at
the repo root using multi-stage BuildKit targets. Maven build runs
inside the builder stage so no host JDK is required.
2026-05-17 19:02:03 +08:00
pnoker b0176bd9a1 fix: downgrade JDK version from 25 to 21 in Dockerfile and related configurations 2026-04-29 16:26:24 +08:00
pnoker c5a9feeeb9 feat: add .env file for Docker Compose configuration and update usage instructions 2026-04-29 10:27:57 +08:00
pnoker e87cff607e fix: correct JAVA_OPS syntax and update Maven command in Dockerfile 2026-04-19 14:07:19 +08:00
zzi666 b86044708c chore: upgrade base image to dc3-jdk:2025.9 and translate javadoc comments to English 2026-01-06 21:20:54 +08:00
Vickey 106096249c build: upgrade base image references to dc3-jdk:2025.9 and fix codeql.yml matrix indentation 2025-09-11 16:53:42 +08:00
Vickey 64c6f911fe chore: replace Apache-2.0 license headers with AGPL-3.0 in compose files and gateway config 2025-08-26 22:03:42 +08:00
pnoker a2d4c44dbd refactor(Dockerfile): reorder commands for better logical flow
Reordered the `WORKDIR` and `RUN` commands in multiple Dockerfiles to ensure a more logical and consistent structure. This improves readability and maintainability of the Dockerfiles.
2025-04-30 10:43:07 +08:00
pnoker b9856777d1 refactor(Dockerfiles): simplify Dockerfile configurations and CI workflows
Consolidated Dockerfile configurations by removing redundant build steps and updated CI workflows to use consistent naming conventions. This improves maintainability and reduces complexity in the build process.
2025-04-25 18:56:37 +08:00
pnoker d99e0408f2 chore: update version to 2025.2.5 across multiple files
Updated the version from 2025.2.4 to 2025.2.5 in pom.xml files and various Java classes to reflect the latest release. This change ensures consistency across the codebase and aligns with the new version of the IoT DC3 Platform.
2025-04-25 16:22:39 +08:00
Vickey 3bd3717bac build(docker): bump base image version in all Dockerfiles and slim docker-compose.yml 2025-03-05 01:13:36 +08:00
pnoker 9faa287480 build: restructure Dockerfiles and compose files for all services 2024-12-04 19:49:38 +08:00
pnoker 480250f565 chore: update base image tag in all Dockerfiles and compose files 2024-06-19 00:56:17 +08:00
pnoker b52aaf550a build: remove legacy Dockerfiles, compose files, and update scripts 2024-06-11 20:15:12 +08:00
pnoker 652224eb67 feat: optimize bulk import across auth, data, and manager services 2024-05-26 17:52:48 +08:00
zzi666 34a689d5ae build(docker): bump base image versions in Dockerfiles and compose files 2024-05-02 03:05:46 +08:00
pnoker 1e6eacc7bb build(docker): add Dockerfile.dc3 base image and update root Dockerfile 2024-04-28 20:41:40 +08:00
pnoker a3c205cb45 build(docker): add Dockerfile.ekuiper and centralize shared Dockerfile templates 2024-04-26 15:28:33 +08:00
pnoker aad9825205 build(docker): simplify all module Dockerfiles by removing redundant layers 2024-04-25 20:12:23 +08:00
pnoker 721add4497 refactor(auth): extract token controller request/response into dedicated VO classes 2023-09-19 23:25:58 +08:00
pnoker f0703d85a2 chore: update copyright headers across all modules to honor open-source contributors 2023-03-13 23:48:52 +08:00
pnoker fe0d034624 feat: dockerfile config 2022-12-11 14:52:37 +08:00
pnoker d113db8cb1 refactor: migrate base package from com.dc3 to io.github.pnoker 2022-11-18 21:14:54 +08:00
pnoker fb299e4ee2 refactor: restructure feign clients, add driver command client, and reorganize sdk 2022-05-23 00:09:07 +08:00
pnoker 2e3f2c6202 chore: add travis ci config and clean up feign client imports across all api modules 2021-04-11 10:03:27 +08:00
pnoker f2d4052128 refactor: rename dependences to dependencies and remove unused IndexApi 2020-10-23 21:26:40 +08:00
pnoker 1799c0b477 build: update Dockerfile to reference maven settings.xml 2020-08-07 10:18:22 +08:00
pnoker ea867b5137 build: add Dockerfile and update docker-compose configuration 2020-07-22 10:28:38 +08:00