Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
<!--
* SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
* SPDX-License-Identifier: Apache-2.0
-->
# Pullpiri (Vehicle Service Orchestrator)

**ALWAYS reference these instructions first. If you encounter unexpected information not covered here, you may: (1) search the project documentation, codebase, or official resources; (2) use only the bash commands explicitly listed in this document or standard diagnostic commands (e.g., `ls`, `cat`, `pwd`). If these steps do not resolve your issue, escalate by contacting a maintainer or opening an issue.**
Expand Down
4 changes: 4 additions & 0 deletions doc/architecture/EN/2.HLD/base/piccolo_clustering.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
<!--
* SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
* SPDX-License-Identifier: Apache-2.0
-->
# PICCOLO Clustering System Design Document

**Document No.**: PICCOLO-CLUSTERING-HLD-2025-001
Expand Down
4 changes: 4 additions & 0 deletions doc/architecture/EN/2.HLD/base/settingsservice.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
<!--
* SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
* SPDX-License-Identifier: Apache-2.0
-->
# Settings Service Detailed Design Document

**Document Number**: PICCOLO-SETTINGS-2025-001
Expand Down
4 changes: 4 additions & 0 deletions doc/architecture/EN/3.LLD/clustering.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
<!--
* SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
* SPDX-License-Identifier: Apache-2.0
-->
# PICCOLO Clustering System

**Document No.**: PICCOLO-CLUSTERING-LLD-2025-001
Expand Down
4 changes: 4 additions & 0 deletions doc/architecture/EN/3.LLD/settingsservice.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
<!--
* SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
* SPDX-License-Identifier: Apache-2.0
-->
# Settings Service Detailed Design Document (LLD)

**Document Number**: PICCOLO-SETTINGS-LLD-2025-001
Expand Down
4 changes: 4 additions & 0 deletions doc/architecture/KR/2.HLD/base/piccolo_clustering.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
<!--
* SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
* SPDX-License-Identifier: Apache-2.0
-->
# PICCOLO 클러스터링 시스템 설계 문서

**문서 번호**: PICCOLO-CLUSTERING-HLD-2025-001
Expand Down
4 changes: 4 additions & 0 deletions doc/architecture/KR/2.HLD/base/settingsservice.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
<!--
* SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
* SPDX-License-Identifier: Apache-2.0
-->
# Settings Service 상세 설계 문서

**문서 번호**: PICCOLO-SETTINGS-2025-001
Expand Down
4 changes: 4 additions & 0 deletions doc/architecture/KR/3.LLD/StateManager_Model.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
<!--
* SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
* SPDX-License-Identifier: Apache-2.0
-->
## 0. 문서의 목적
이 문서는 StateManager컴포넌트에 model의 state 변경하는 기능을 추가하기 위해 작성되었습니다.
StateManager는 NodeAgent 컴포넌트로부터 pod과 container들의 상태 정보를 전달받아 `<container, state>` 리스트가 model의 특정 state 조건과 일치하면 model의 state를 변경합니다.
Expand Down
4 changes: 4 additions & 0 deletions doc/architecture/KR/3.LLD/StateManager_Package.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
<!--
* SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
* SPDX-License-Identifier: Apache-2.0
-->
## 1. 문서의 목적
이 문서는 StateManager컴포넌트에 package의 state 변경하는 기능을 추가하기 위해 작성되었습니다.
StateManager의 manager.rs는 model의 state가 변경되면 연쇄적으로 state_machine.rs의 'package의 상태가 변경되는지 확인하는 함수'를 호출하고 state_machine.rs에 구현된 해당 함수는 `<model, state>` 리스트를 전달받아 package의 특정 state 조건과 일치하면 package의 state를 변경하여 return 합니다.
Expand Down
4 changes: 4 additions & 0 deletions doc/architecture/KR/3.LLD/StateManager_Scenario.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
<!--
* SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
* SPDX-License-Identifier: Apache-2.0
-->
## 0. 문서의 목적
이 문서는 StateManager컴포넌트에 scenario의 state 변경하는 기능을 추가하기 위해 작성되었습니다.
StateManager는 FilterGateway, PolicyManager, ActionController 컴포넌트로부터 scenario의 상태 정보를 전달받아 ETCD에 `<scenario_name, state>`형태로 put을 요청합니다.
Expand Down
4 changes: 4 additions & 0 deletions doc/architecture/KR/3.LLD/clustering.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
<!--
* SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
* SPDX-License-Identifier: Apache-2.0
-->
# PICCOLO 클러스터링 시스템

**문서 번호**: PICCOLO-CLUSTERING-LLD-2025-001
Expand Down
4 changes: 4 additions & 0 deletions doc/architecture/KR/3.LLD/settingsservice.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
<!--
* SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
* SPDX-License-Identifier: Apache-2.0
-->
# Settings Service 상세 설계 문서 (LLD)

**문서 번호**: PICCOLO-SETTINGS-LLD-2025-001
Expand Down
4 changes: 4 additions & 0 deletions doc/architecture/KR/3.LLD/statemachine.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
<!--
* SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
* SPDX-License-Identifier: Apache-2.0
-->
## 1. Scenario 상태 정의 및 상태 전이 조건 요약표
| 상태 | 설명 | 전이 조건 | 담당 컴포넌트 | 다음 상태 |
|------|------|-----------|---------------|-----------|
Expand Down
4 changes: 4 additions & 0 deletions doc/contribution/guidelines-en.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
<!--
* SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
* SPDX-License-Identifier: Apache-2.0
-->
# GitHub Development Workflow Guidelines

**Date**: 2025-04-17
Expand Down
4 changes: 4 additions & 0 deletions doc/contribution/guidelines-kr.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
<!--
* SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
* SPDX-License-Identifier: Apache-2.0
-->
# GitHub 개발 워크플로우 규칙 가이드

**작성일**: 2025-04-17
Expand Down
Binary file added doc/images/old/overview_old.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/images/overview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/images/release_plan.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions doc/scripts/install_nodeagent.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
#!/bin/bash
# SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
# SPDX-License-Identifier: Apache-2.0
# install_nodeagent.sh - NodeAgent installation script
# Usage: ./install_nodeagent.sh --master <master_ip> --node <node_ip> [--role <node_role>] [--type <node_type>]

Expand Down
2 changes: 2 additions & 0 deletions doc/scripts/node_ready_check.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
#!/bin/bash
# SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
# SPDX-License-Identifier: Apache-2.0
# node_ready_check.sh - Node clustering pre-state check script
# Optimized system check for embedded environments

Expand Down
4 changes: 4 additions & 0 deletions examples/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
<!--
* SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
* SPDX-License-Identifier: Apache-2.0
-->
# Run Pullpiri (a.k.a. Piccolo) examples

This document is for LG's internal reference and will be updated separately
Expand Down
2 changes: 2 additions & 0 deletions examples/helloworld.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
#!/bin/bash
# SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
# SPDX-License-Identifier: Apache-2.0

#BODY=$(< ./resources/helloworld.yaml)
BODY=$(< ./resources/helloworld_no_condition.yaml)
Expand Down
3 changes: 3 additions & 0 deletions examples/resources/antipinch-disable.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
#
# SPDX-License-Identifier: Apache-2.0
apiVersion: v1
kind: Scenario
metadata:
Expand Down
3 changes: 3 additions & 0 deletions examples/resources/antipinch-enable.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
#
# SPDX-License-Identifier: Apache-2.0
apiVersion: v1
kind: Scenario
metadata:
Expand Down
3 changes: 3 additions & 0 deletions examples/resources/bms-charging.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
#
# SPDX-License-Identifier: Apache-2.0
apiVersion: v1
kind: Scenario
metadata:
Expand Down
3 changes: 3 additions & 0 deletions examples/resources/bms-eco.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
#
# SPDX-License-Identifier: Apache-2.0
apiVersion: v1
kind: Scenario
metadata:
Expand Down
3 changes: 3 additions & 0 deletions examples/resources/bms-performance.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
#
# SPDX-License-Identifier: Apache-2.0
apiVersion: v1
kind: Scenario
metadata:
Expand Down
3 changes: 3 additions & 0 deletions examples/resources/helloworld.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
#
# SPDX-License-Identifier: Apache-2.0
apiVersion: v1
kind: Scenario
metadata:
Expand Down
3 changes: 3 additions & 0 deletions examples/resources/helloworld_no_condition.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
#
# SPDX-License-Identifier: Apache-2.0
apiVersion: v1
kind: Scenario
metadata:
Expand Down
2 changes: 2 additions & 0 deletions examples/resources/input_scenario.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
#!/bin/bash
# SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
# SPDX-License-Identifier: Apache-2.0

echo "1: eco, 2:performance, 3:charging, 4: anti-enable, 5: anti-disable :"
read input
Expand Down
3 changes: 3 additions & 0 deletions examples/resources/timpani-test.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
#
# SPDX-License-Identifier: Apache-2.0
apiVersion: v1
kind: Scenario
metadata:
Expand Down
2 changes: 2 additions & 0 deletions scripts/buildNparse.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
#!/bin/bash
# SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
# SPDX-License-Identifier: Apache-2.0

# Exit immediately on error, undefined variable, or pipeline failure
set -euo pipefail
Expand Down
2 changes: 2 additions & 0 deletions scripts/buildNpushdocker.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
#!/bin/bash
# SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
# SPDX-License-Identifier: Apache-2.0

set -e

Expand Down
2 changes: 2 additions & 0 deletions scripts/clippy_check.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
#!/bin/bash
# SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
# SPDX-License-Identifier: Apache-2.0
set -euo pipefail # Exit on error, undefined variable, or pipe failure

# Initialize paths and log files
Expand Down
2 changes: 2 additions & 0 deletions scripts/deny_check.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
#!/bin/bash
# SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
# SPDX-License-Identifier: Apache-2.0
set -euo pipefail # Exit on error, undefined variables, or pipe failure

# Initialize log and report files
Expand Down
2 changes: 2 additions & 0 deletions scripts/fmt_check.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
#!/bin/bash
# SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
# SPDX-License-Identifier: Apache-2.0
set -euo pipefail # Exit immediately on error, unset variable, or pipe failure

LOG_FILE="fmt_results.log"
Expand Down
2 changes: 2 additions & 0 deletions scripts/installdeps.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
#!/bin/bash
# SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
# SPDX-License-Identifier: Apache-2.0
set -euo pipefail

# Enable JSON test output even on stable Rust
Expand Down
2 changes: 2 additions & 0 deletions scripts/license_check.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
#!/bin/bash
# SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
# SPDX-License-Identifier: Apache-2.0
set -euo pipefail

PROJECT_ROOT="$(pwd)"
Expand Down
2 changes: 2 additions & 0 deletions scripts/testNparse.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
#!/bin/bash
# SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
# SPDX-License-Identifier: Apache-2.0
set -euo pipefail

# === Initialize paths and variables ===
Expand Down
2 changes: 2 additions & 0 deletions scripts/test_coverage.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
#!/bin/bash
# SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
# SPDX-License-Identifier: Apache-2.0
set -euo pipefail

# === Initialize paths and variables ===
Expand Down
2 changes: 2 additions & 0 deletions scripts/update_server_ip.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
#!/bin/bash
# SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
# SPDX-License-Identifier: Apache-2.0
# settings.yaml 파일에서 IP를 추출하여 YAML 파일의 $(HOST_IP) 패턴을 대체하는 스크립트

# 입력 및 출력 파일 경로
Expand Down
3 changes: 3 additions & 0 deletions src/agent/about.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
#
# SPDX-License-Identifier: Apache-2.0
accepted = [
"MIT",
"Apache-2.0",
Expand Down
3 changes: 3 additions & 0 deletions src/agent/deny.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
#
# SPDX-License-Identifier: Apache-2.0
# This template contains all of the possible sections and their default values

# Note that all fields that take a lint level have these possible values:
Expand Down
3 changes: 3 additions & 0 deletions src/agent/nodeagent/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
#
# SPDX-License-Identifier: Apache-2.0
[package]
name = "nodeagent"
version = "0.1.0"
Expand Down
4 changes: 4 additions & 0 deletions src/agent/nodeagent/src/config.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
/*
* SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
* SPDX-License-Identifier: Apache-2.0
*/
use if_addrs::{get_if_addrs, Interface};
use serde::Deserialize;
use std::fs::File;
Expand Down
4 changes: 4 additions & 0 deletions src/agent/nodeagent/src/grpc/mod.rs
Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@
/*
* SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
* SPDX-License-Identifier: Apache-2.0
*/
pub mod receiver;
pub mod sender;
4 changes: 4 additions & 0 deletions src/agent/nodeagent/src/grpc/receiver.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
/*
* SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
* SPDX-License-Identifier: Apache-2.0
*/
use common::nodeagent::node_agent_connection_server::NodeAgentConnection;
use common::nodeagent::{
ConfigRequest, ConfigResponse, HandleYamlRequest, HandleYamlResponse, HeartbeatRequest,
Expand Down
4 changes: 4 additions & 0 deletions src/agent/nodeagent/src/main.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
/*
* SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
* SPDX-License-Identifier: Apache-2.0
*/
//! NodeAgent main entry point
//!
//! This file sets up the asynchronous runtime, initializes the manager and gRPC server,
Expand Down
4 changes: 4 additions & 0 deletions src/agent/nodeagent/src/manager.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
/*
* SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
* SPDX-License-Identifier: Apache-2.0
*/
//! NodeAgentManager: Asynchronous manager for NodeAgent
//!
//! This struct manages scenario requests received via gRPC, and provides
Expand Down
4 changes: 4 additions & 0 deletions src/agent/nodeagent/src/resource/container.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
/*
* SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
* SPDX-License-Identifier: Apache-2.0
*/
use super::{get, Container, ContainerError, ContainerInspect, ContainerStats};
use common::monitoringserver::ContainerInfo;
use futures::future::try_join_all;
Expand Down
4 changes: 4 additions & 0 deletions src/agent/nodeagent/src/resource/mod.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
/*
* SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
* SPDX-License-Identifier: Apache-2.0
*/
pub mod container;
pub mod nodeinfo;

Expand Down
4 changes: 4 additions & 0 deletions src/agent/nodeagent/src/resource/nodeinfo.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
/*
* SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
* SPDX-License-Identifier: Apache-2.0
*/
use super::NodeInfo;
use once_cell::sync::Lazy;
use std::sync::Mutex;
Expand Down
4 changes: 4 additions & 0 deletions src/coding-rule.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
<!--
* SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
* SPDX-License-Identifier: Apache-2.0
-->
# Pullpiri Coding Specification

Our Pullpiri is developed using the Rust Programming language for the language semantics and rust usage the developers shall refer and use the standard rust documentation publicly available
Expand Down
3 changes: 3 additions & 0 deletions src/common/about.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
#
# SPDX-License-Identifier: Apache-2.0
accepted = [
"MIT",
"Apache-2.0",
Expand Down
3 changes: 3 additions & 0 deletions src/common/deny.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
#
# SPDX-License-Identifier: Apache-2.0
# This template contains all of the possible sections and their default values

# Note that all fields that take a lint level have these possible values:
Expand Down
4 changes: 4 additions & 0 deletions src/common/src/error.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
/*
* SPDX-FileCopyrightText: Copyright 2024 LG Electronics Inc.
* SPDX-License-Identifier: Apache-2.0
*/
pub type Result<T> = core::result::Result<T, Box<dyn std::error::Error>>;

// TODO - add custom error message types
Expand Down
Loading
Loading