Skip to content

Conversation

@daniel-falk
Copy link
Contributor

@daniel-falk daniel-falk commented Aug 5, 2025

This PR updates the main readme to also list the strobe project added in #5. Since #4 updated the README, this build on that, but also references images from #5 (added in the project README), so this should not be merged before #5 is merged.

Update the main README

This commit makes updates based on the addition of the first example
project: the strobe project.

Depends on #4
Depends on #5

@coderabbitai
Copy link

coderabbitai bot commented Aug 5, 2025

Walkthrough

The documentation for the FixedIT Data Agent ACAP product and its monitoring stack was significantly expanded and restructured. The main README now provides detailed sections on server-side dashboards and edge device customization, including a new example project. The system monitoring stack's README was rewritten to offer comprehensive deployment, configuration, and security guidance. A helper script README had a section removed.

Changes

Cohort / File(s) Change Summary
Main Product Documentation
README.md
Expanded and restructured to detail the FixedIT Data Agent ACAP product, elaborate on server-side dashboards and edge customization, add a new example project, and include diagrams and images for clarity.
System Monitoring Stack Guide
dashboard-deployments/system-monitoring-influxdb2-flux-grafana/README.md
Rewritten and expanded to provide a comprehensive user guide for deploying, configuring, and using the InfluxDB and Grafana monitoring stack, including security practices, dashboard explanations, and detailed deployment options.
Helper Script Documentation
dashboard-deployments/system-monitoring-influxdb2-flux-grafana/helper_scripts/README.md
Removed the "Deployment Organization" section, leaving the rest of the script usage instructions unchanged.

Sequence Diagram(s)

sequenceDiagram
    participant GitHub Actions
    participant FixedIT Data Agent
    participant Axis Device (Strobe)
    GitHub Actions->>FixedIT Data Agent: Expose workflow status (API)
    loop Polling cycle
        FixedIT Data Agent->>GitHub Actions: Poll workflow status
        GitHub Actions-->>FixedIT Data Agent: Return status
        FixedIT Data Agent->>FixedIT Data Agent: Parse & map status to color
        FixedIT Data Agent->>Axis Device (Strobe): Enable/disable color profile
        FixedIT Data Agent->>FixedIT Data Agent: Wait before next poll
    end
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

  • fixedit-ai/fixedit-agents#318: Adds a related example project for controlling strobe light color based on GitHub Actions workflow status, matching the new documentation example.
  • fixedit-ai/fixedit-agents#299: Adds Grafana dashboard JSONs for system monitoring, which is now thoroughly documented in the expanded README.

Suggested reviewers

  • fixedit-olatz

📜 Recent review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro (Legacy)

📥 Commits

Reviewing files that changed from the base of the PR and between f6c0034 and 93c093a.

📒 Files selected for processing (1)
  • README.md (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • README.md

🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (13)
project-strobe-color-from-github-workflow/.gitignore (1)

1-2: Narrow the ignore patterns & add a trailing newline

  1. vars.* will also match source files like vars.go/js/py. If the intent is to exclude only runtime-generated variable overrides (vars.env, vars.json, …), anchor the rule to the repo-root and/or enumerate the expected extensions, e.g.
- vars.*
+ /vars.{env,json,yaml}
  1. Add a final newline to comply with POSIX text-file convention and avoid pointless diff noise.
project-strobe-color-from-github-workflow/sample.json (1)

1-230: Trim oversized fixture or move under a testdata/ folder

Shipping a 500-line raw API dump inflates the repo and clutters diffs.
Consider either:

• Keeping only the minimal fields the Starlark script actually consumes, or
• Moving the full fixture to project-strobe-color-from-github-workflow/testdata/sample.json (ignored by path filters for regular docs review).

This keeps the example lightweight while preserving reproducibility.

.coderabbit.yaml (1)

50-61: Fix a typo and wrap long guidance for readability

Typo on Line 60: “refered” → “referred”.

-        project folder. These images might also be refered to from other sources like the top-level
+        project folder. These images might also be referred to from other sources like the top-level

Also consider splitting the very long sentence (Lines 51-58) into two for easier scanning in YAML-embedded prose.

project-strobe-color-from-github-workflow/config_output_stdout.conf (1)

6-15: Minor: clarify stdout usage for non-Linux readers

Telegraf treats the literal string stdout as a magic filename. A short inline note could avoid confusion:

-  # 'stdout' is a special file target that writes to standard output.
+  # The literal string "stdout" is a Telegraf shortcut that streams to STDOUT
+  # (it is *not* resolved relative to the current directory).

Purely documentation; no functional change required.

project-strobe-color-from-github-workflow/trigger_strobe.sh (1)

95-98: Consider credential security in curl command.

The current curl command exposes credentials in the command line arguments, which could be visible in process lists.

Consider using a more secure approach:

-    curl --fail --digest -u ${VAPIX_USERNAME}:${VAPIX_PASSWORD} "http://${VAPIX_IP}/axis-cgi/siren_and_light.cgi" \
+    curl --fail --digest -u "${VAPIX_USERNAME}:${VAPIX_PASSWORD}" "http://${VAPIX_IP}/axis-cgi/siren_and_light.cgi" \

Or even better, use a credential file approach if supported by the Axis device environment.

README.md (2)

3-3: Broaden device wording to avoid camera-only implication

Line 3 singles out “Axis network cameras”, but the Data Agent also targets strobes, speakers, door stations, etc. Consider the more inclusive phrase from the coding guidelines (“Axis devices”) to avoid underselling supported hardware.

-… for the Axis network cameras and other Axis devices.
+… for Axis devices such as network cameras, strobes, speakers and more.

17-18: Prefix product reference with “AXIS” for consistency

When referring to the physical strobe, guidelines require the product-name prefix “AXIS”.

-… control an Axis strobe device, …
+… control an AXIS strobe device, …
project-strobe-color-from-github-workflow/README.md (6)

3-4: Use “AXIS” prefix and correct typo

  1. Product reference should use “AXIS” (all-caps) per guidelines.
  2. “concatanating” → “concatenating” (later bullet relies on this sentence).

56-66: Hyphenate compound adjective “third-party”

LanguageTool hint is correct – add the hyphen for clarity.

-… that can poll third party APIs …
+… that can poll third-party APIs …

85-86: Capitalize brand name consistently

“AXIS OS” is the official branding.

-… did not exist in the early versions of AXIS OS.
+… did not exist in early versions of **AXIS OS**.

91-96: Sentence repetition / list numbering

Three successive “1.” bullets trigger markdownlint and hurt readability. Use a proper ordered list. Example fix:

-1. Create a new GitHub repo …
-1. Create a new token …
-1. Create the color profiles …
+1. Create a new GitHub repo …
+2. Create a new token …
+3. Create the color profiles …

97-101: Capitalize heading for brand name

### Creating the github workflow### Creating the GitHub workflow to respect GitHub casing and keep ToC anchors valid.


537-540: Add language identifier to code fence

Markdownlint MD040: specify language (or text) for the fenced block.

-```
+```text
 Error in plugin: received status code 401 (Unauthorized)

</blockquote></details>

</blockquote></details>

<details>
<summary>📜 Review details</summary>

**Configuration used: .coderabbit.yaml**
**Review profile: CHILL**
**Plan: Pro (Legacy)**


<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between d611778c7a3213dce8f93959b6743a517cf4a1f5 and f6c0034e2554f13159c9b777af05ab6b540b0ca8.

</details>

<details>
<summary>⛔ Files ignored due to path filters (10)</summary>

* `dashboard-deployments/system-monitoring-influxdb2-flux-grafana/.images/dashboard-device-details.png` is excluded by `!**/*.png`
* `dashboard-deployments/system-monitoring-influxdb2-flux-grafana/.images/dashboard-folder-cameras.png` is excluded by `!**/*.png`
* `dashboard-deployments/system-monitoring-influxdb2-flux-grafana/.images/dashboard-overview-of-devices.png` is excluded by `!**/*.png`
* `dashboard-deployments/system-monitoring-influxdb2-flux-grafana/.images/dashboard-system-overview.png` is excluded by `!**/*.png`
* `dashboard-deployments/system-monitoring-influxdb2-flux-grafana/.images/dashboards-tab.png` is excluded by `!**/*.png`
* `dashboard-deployments/system-monitoring-influxdb2-flux-grafana/.images/laptop-with-grafana-for-monitoring.png` is excluded by `!**/*.png`
* `project-strobe-color-from-github-workflow/.images/axis-strobe-all-profiles.png` is excluded by `!**/*.png`
* `project-strobe-color-from-github-workflow/.images/axis-strobe-profile-configuration.png` is excluded by `!**/*.png`
* `project-strobe-color-from-github-workflow/.images/github-token.png` is excluded by `!**/*.png`
* `project-strobe-color-from-github-workflow/.images/webinar-on-youtube.png` is excluded by `!**/*.png`

</details>

<details>
<summary>📒 Files selected for processing (14)</summary>

* `.coderabbit.yaml` (2 hunks)
* `README.md` (1 hunks)
* `dashboard-deployments/system-monitoring-influxdb2-flux-grafana/README.md` (1 hunks)
* `dashboard-deployments/system-monitoring-influxdb2-flux-grafana/helper_scripts/README.md` (0 hunks)
* `project-strobe-color-from-github-workflow/.gitignore` (1 hunks)
* `project-strobe-color-from-github-workflow/README.md` (1 hunks)
* `project-strobe-color-from-github-workflow/config_agent.conf` (1 hunks)
* `project-strobe-color-from-github-workflow/config_input_github.conf` (1 hunks)
* `project-strobe-color-from-github-workflow/config_output_stdout.conf` (1 hunks)
* `project-strobe-color-from-github-workflow/config_output_strobe.conf` (1 hunks)
* `project-strobe-color-from-github-workflow/config_process_github.conf` (1 hunks)
* `project-strobe-color-from-github-workflow/sample.json` (1 hunks)
* `project-strobe-color-from-github-workflow/test_files/config_input_file.conf` (1 hunks)
* `project-strobe-color-from-github-workflow/trigger_strobe.sh` (1 hunks)

</details>

<details>
<summary>💤 Files with no reviewable changes (1)</summary>

* dashboard-deployments/system-monitoring-influxdb2-flux-grafana/helper_scripts/README.md

</details>

<details>
<summary>🧰 Additional context used</summary>

<details>
<summary>📓 Path-based instructions (4)</summary>

<details>
<summary>project-*/**</summary>


**⚙️ CodeRabbit Configuration File**

> Each example project for the FixedIT Data Agent should be self-contained and designed as a standalone example / tutorial showing how to use the FixedIT Data Agent. The project should be well documented and include all the necessary files to run the example. A reader should be able to understand the background and the purpose of the project, and be able to understand the implementation details and how to use it. If the project includes a dashboard, it should be placed in a new folder in the repo-root/dashboard-deployments/ directory instead of being included in the project folder. In the README for the project, the first time the FixedIT Data Agent is mentioned, we should link to the product page: https://fixedit.ai/products-data-agent/ Emphasize that these solutions are accessible to system integrators and IT professionals without requiring complex C/C++ ACAP development. Highlight that custom edge intelligence can be implemented using familiar IT tools (configuration files, shell scripts, REST APIs) rather than traditional embedded programming approaches. Note that bash does not exist on the Axis devices, so .sh scripts should be written in portable shell syntax.

Files:
- `project-strobe-color-from-github-workflow/config_output_stdout.conf`
- `project-strobe-color-from-github-workflow/trigger_strobe.sh`
- `project-strobe-color-from-github-workflow/config_agent.conf`
- `project-strobe-color-from-github-workflow/config_output_strobe.conf`
- `project-strobe-color-from-github-workflow/test_files/config_input_file.conf`
- `project-strobe-color-from-github-workflow/sample.json`
- `project-strobe-color-from-github-workflow/README.md`
- `project-strobe-color-from-github-workflow/config_process_github.conf`
- `project-strobe-color-from-github-workflow/config_input_github.conf`

</details>
<details>
<summary>**/*</summary>


**⚙️ CodeRabbit Configuration File**

> This repository serves FixedIT Data Agent users across a spectrum from plug-and-play  dashboard deployment to advanced edge device customization. Consider whether changes  maintain accessibility for both DevOps professionals (server-side focus) and  developers (edge customization focus). If new features are added or existing ones  changed significantly, ensure documentation clearly explains the intended audience  and usage level. We use prettier for formatting of common file formats like markdown, yaml, json, etc. Example projects should be placed in the repo-root in a directory named project-*/. Whenever referencing Axis device model names like "D4100-VE mk II" or "M3045", prefix it with "AXIS" in capital letters (e.g. "AXIS D4100-VE mk II"). When using Axis as a company name, use "Axis Communications", note that all-caps is only used when "AXIS" is used in their product names, not their company name. When using the name of an Axis product, google on the name to verify that it is correctly identified. Avoid using 'cameras' or 'Axis cameras' unless the solution in related to visual analytics, otherwise prefer using 'Axis devices' to show that the FixedIT Data Agent also works with strobes, speakers, door stations, etc. Images used for the README should be placed in a directory called .images/ in the affected project folder. These images might also be refered to from other sources like the top-level README.md file.

Files:
- `project-strobe-color-from-github-workflow/config_output_stdout.conf`
- `project-strobe-color-from-github-workflow/trigger_strobe.sh`
- `project-strobe-color-from-github-workflow/config_agent.conf`
- `project-strobe-color-from-github-workflow/config_output_strobe.conf`
- `project-strobe-color-from-github-workflow/test_files/config_input_file.conf`
- `project-strobe-color-from-github-workflow/sample.json`
- `README.md`
- `dashboard-deployments/system-monitoring-influxdb2-flux-grafana/README.md`
- `project-strobe-color-from-github-workflow/README.md`
- `project-strobe-color-from-github-workflow/config_process_github.conf`
- `project-strobe-color-from-github-workflow/config_input_github.conf`

</details>
<details>
<summary>**/*.md</summary>


**⚙️ CodeRabbit Configuration File**

> Documentation files should clearly communicate the dual audience: (1) server-side  dashboard users who want to keep agent with bundled configs, and (2) edge device  developers who want to customize agent behavior. Ensure examples and instructions  are appropriate for the intended skill level and use case. Since this is a public repository, we should not include any sensitive information, the instructions should be easily understandable for a wide audience, and we should avoid using any jargon or technical terms that are not commonly used.

Files:
- `README.md`
- `dashboard-deployments/system-monitoring-influxdb2-flux-grafana/README.md`
- `project-strobe-color-from-github-workflow/README.md`

</details>
<details>
<summary>dashboard-deployments/**</summary>


**⚙️ CodeRabbit Configuration File**

> This directory contains server-side dashboard examples for visualizing data from  FixedIT Data Agent running on Axis devices. These are primarily for DevOps/IT  professionals comfortable with deploying Grafana dashboards and InfluxDB servers.  Some dashboards work directly with bundled agent configurations, others can be  customized. Licensed under Elastic License 2.0. Review for deployment complexity,  dashboard usability, and proper licensing compliance. We should make sure that dashboards are portable and does not check in specific host names, or refer to other specific data from a single deployment.

Files:
- `dashboard-deployments/system-monitoring-influxdb2-flux-grafana/README.md`

</details>

</details><details>
<summary>🧠 Learnings (33)</summary>

<details>
<summary>📓 Common learnings</summary>

Learnt from: daniel-falk
PR: fixedit-ai/client-doordash#268
File: acaps/telegraf_agent/frontend/README.md:2-3
Timestamp: 2025-05-15T13:40:02.484Z
Learning: In the fixedit-ai/client-doordash repository, detailed documentation should be maintained in per-application README files rather than in the main README.md file.


Learnt from: daniel-falk
PR: fixedit-ai/client-faunia#42
File: .github/workflows/build_and_test.yml:58-62
Timestamp: 2024-11-05T08:27:27.211Z
Learning: In this repository, it's acceptable to use fixedit-ai/install-fappcli-action@main to test the latest main version.


Learnt from: fixedit-jackh
PR: fixedit-ai/FixedIT-Developer-Friend#18
File: vscode_plugins/acap-documentation-viewer/src/class/IndexResult.ts:0-0
Timestamp: 2025-08-05T08:10:49.466Z
Learning: In the fixedit-ai/FixedIT-Developer-Friend repository, the project has migrated from individual Prettier and ESLint CI/CD jobs to using MegaLinter for comprehensive code linting and formatting. The old .github/workflows/lint_acap-documentation-viewer.yml workflow was removed and replaced with .github/workflows/mega-linter.yml that uses MegaLinter with APPLY_FIXES set to 'all' for automatic code formatting.


Learnt from: fixedit-jackh
PR: fixedit-ai/FixedIT-Developer-Friend#18
File: vscode_plugins/acap-documentation-viewer/src/controller/ResultWebview.ts:30-49
Timestamp: 2025-08-05T08:10:57.754Z
Learning: In the fixedit-ai/FixedIT-Developer-Friend repository, the project has migrated from individual Prettier and ESLint CI/CD jobs to using MegaLinter as the unified linting and formatting solution. The old .github/workflows/lint_acap-documentation-viewer.yml workflow was removed and replaced with .github/workflows/mega-linter.yml that uses MegaLinter with APPLY_FIXES set to "all" for automatic fixing.


Learnt from: daniel-falk
PR: fixedit-ai/FixedIT-Developer-Friend#17
File: cloud_infra/README.md:1-35
Timestamp: 2025-07-01T11:34:26.699Z
Learning: User daniel-falk prefers using prettier -w *.md for markdown formatting instead of manual markdown fixes, and plans to integrate automated formatting into CI/CD pipelines systematically.


Learnt from: daniel-falk
PR: fixedit-ai/FixedIT-Developer-Friend#4
File: vscode_plugins/acap-documentation-viewer/src/utils/utils.ts:1-1
Timestamp: 2025-06-16T15:00:52.939Z
Learning: User daniel-falk prefers using established, well-tested JavaScript libraries over custom implementations for standard functionality like string sanitization, URL validation, and template inflation, especially for security-critical operations.


Learnt from: daniel-falk
PR: fixedit-ai/FixedIT-Developer-Friend#17
File: cloud_infra/lambdas/fixedit-developer-friend-devcloud-dependency-cache/index.py:61-62
Timestamp: 2025-07-01T11:33:53.832Z
Learning: User daniel-falk prefers using automated formatting tools like black for Python code formatting instead of manual PEP 8 fixes, and plans to integrate these tools into CI/CD pipelines. They also recommend autopep8 for finding additional issues like incorrect names.


Learnt from: daniel-falk
PR: fixedit-ai/FixedIT-Developer-Friend#17
File: cloud_infra/lambdas/fixedit-developer-friend-devcloud-dependency-cache/index.py:67-67
Timestamp: 2025-07-27T10:49:53.485Z
Learning: User daniel-falk prefers explicit type annotations with proper dependencies over fallback mechanisms that silently disable type checking. He believes that if proper type hints are used, the required libraries should be added as dependencies rather than falling back to Any, which defeats the purpose of type checking.


Learnt from: daniel-falk
PR: fixedit-ai/FixedIT-Developer-Friend#17
File: cloud_infra/README.md:0-0
Timestamp: 2025-07-27T10:43:21.696Z
Learning: User daniel-falk prefers conservative documentation that only claims compatibility with Python versions that are actually tested, rather than making broad compatibility claims like "Python 3.8+" without verification. He believes it's better to document the specific version being used and tested rather than potentially fragile compatibility statements.


Learnt from: daniel-falk
PR: fixedit-ai/FixedIT-Developer-Friend#17
File: cloud_infra/cloud_formation/web-service.yaml:67-67
Timestamp: 2025-07-28T10:11:12.253Z
Learning: User daniel-falk prefers managing sensitive configuration like API tokens through environment variables that are validated at deployment time, with clear error messages when required variables are missing. For CI/CD scenarios, these should be configured as repository secrets rather than hardcoded values.


Learnt from: daniel-falk
PR: fixedit-ai/FixedIT-Developer-Friend#4
File: vscode_plugins/acap-documentation-viewer/src/controller/ResultWebview.ts:0-0
Timestamp: 2025-07-11T10:09:50.781Z
Learning: User daniel-falk prefers detailed, verbose comments that explain the "why" behind code decisions, not just the "what". Comments should provide extra context and be written for readers' understanding, even if they're longer. This applies especially to security-related code where explaining the reasoning (like CSP nonce generation for XSS prevention) adds valuable context.


</details>
<details>
<summary>📚 Learning: the file `birdtracker/app/src/capture/imgprovider.cpp` should be ignored for changes in this pr....</summary>

Learnt from: fixedit-dimitris
PR: fixedit-ai/client-faunia#38
File: BirdTracker/app/src/capture/imgprovider.cpp:62-69
Timestamp: 2024-10-24T13:01:31.243Z
Learning: The file BirdTracker/app/src/capture/imgprovider.cpp should be ignored for changes in this PR.


**Applied to files:**
- `project-strobe-color-from-github-workflow/.gitignore`

</details>
<details>
<summary>📚 Learning: in the vscode_plugins/acap-documentation-viewer project, the license file generated by generate-lice...</summary>

Learnt from: fixedit-jackh
PR: fixedit-ai/FixedIT-Developer-Friend#4
File: vscode_plugins/acap-documentation-viewer/.gitignore:6-6
Timestamp: 2025-06-24T12:30:24.097Z
Learning: In the vscode_plugins/acap-documentation-viewer project, the LICENSE file generated by generate-licenses.js should be ignored in .gitignore and not version controlled, as it's a build artifact that consolidates dependency licenses.


**Applied to files:**
- `project-strobe-color-from-github-workflow/.gitignore`

</details>
<details>
<summary>📚 Learning: in the `client-faunia` repository, when reviewing pull requests, if `birdtracker/app/src/capture/img...</summary>

Learnt from: fixedit-dimitris
PR: fixedit-ai/client-faunia#38
File: BirdTracker/app/src/capture/imgprovider.cpp:338-342
Timestamp: 2024-10-24T13:06:31.552Z
Learning: In the client-faunia repository, when reviewing pull requests, if BirdTracker/app/src/capture/imgprovider.cpp is included, it should be ignored unless it's modified in the PR.


**Applied to files:**
- `project-strobe-color-from-github-workflow/.gitignore`

</details>
<details>
<summary>📚 Learning: in this project, a development ssh key is intentionally checked into the repository for ease of test...</summary>

Learnt from: daniel-falk
PR: fixedit-ai/client-doordash#2
File: bootstrap_agent/app/keys/id_rsa:1-38
Timestamp: 2024-10-06T17:50:17.051Z
Learning: In this project, a development SSH key is intentionally checked into the repository for ease of testing, and the production key is provided via build arguments and stored as a GitHub secret.


**Applied to files:**
- `project-strobe-color-from-github-workflow/.gitignore`

</details>
<details>
<summary>📚 Learning: in this project, changelog entries in *_spec.md files are historical records and should remain uncha...</summary>

Learnt from: daniel-falk
PR: fixedit-ai/client-doordash#290
File: acaps/installer_agent/app/manifest.base.jsonnet:21-21
Timestamp: 2025-05-09T09:00:38.747Z
Learning: In this project, changelog entries in *_SPEC.md files are historical records and should remain unchanged. New version entries are added above previous ones, rather than replacing them. Each application (Installer Agent, Config Agent, Telegraf Agent) has its own independent version numbering.


**Applied to files:**
- `project-strobe-color-from-github-workflow/config_output_stdout.conf`
- `project-strobe-color-from-github-workflow/config_agent.conf`
- `.coderabbit.yaml`
- `project-strobe-color-from-github-workflow/config_output_strobe.conf`
- `project-strobe-color-from-github-workflow/test_files/config_input_file.conf`
- `README.md`
- `dashboard-deployments/system-monitoring-influxdb2-flux-grafana/README.md`
- `project-strobe-color-from-github-workflow/README.md`
- `project-strobe-color-from-github-workflow/config_input_github.conf`

</details>
<details>
<summary>📚 Learning: in the fixedit-agents project, telegraf logging (like install.success()) and standard logging (fapp_...</summary>

Learnt from: fixedit-olatz
PR: fixedit-ai/fixedit-agents#431
File: acaps/installer_agent/app/src/installer_logic/installer_fetcher.cpp:1061-1063
Timestamp: 2025-07-17T09:09:44.268Z
Learning: In the fixedit-agents project, Telegraf logging (like install.success()) and standard logging (fapp_logger_log) serve different purposes: Telegraf logs go to a database for telemetry/analytics, while standard logs go to the device's standard log system for operational visibility. Both are necessary and not redundant.


**Applied to files:**
- `project-strobe-color-from-github-workflow/config_output_stdout.conf`
- `project-strobe-color-from-github-workflow/config_agent.conf`

</details>
<details>
<summary>📚 Learning: the format of the status.json api response in telegraf agent differs from the internal format used i...</summary>

Learnt from: daniel-falk
PR: fixedit-ai/client-doordash#268
File: acaps/telegraf_agent/app/src/web.cpp:92-99
Timestamp: 2025-05-15T16:06:41.173Z
Learning: The format of the status.json API response in Telegraf Agent differs from the internal format used in the frontend. The backend sends data with license info at root level and process info nested under "process", and the frontend transforms this data to its internal format after validation.


**Applied to files:**
- `project-strobe-color-from-github-workflow/config_output_stdout.conf`
- `project-strobe-color-from-github-workflow/config_agent.conf`
- `project-strobe-color-from-github-workflow/test_files/config_input_file.conf`

</details>
<details>
<summary>📚 Learning: for the cameraplainconfig class in the doordash project, telegraf_logging is not a constructor param...</summary>

Learnt from: fixedit-nkoval
PR: fixedit-ai/client-doordash#224
File: acaps/config_agent/app/include/camera_config/camera_plain_config.h:0-0
Timestamp: 2025-03-04T09:56:09.908Z
Learning: For the CameraPlainConfig class in the DoorDash project, telegraf_logging is not a constructor parameter anymore, despite what might be shown in older diffs.


**Applied to files:**
- `project-strobe-color-from-github-workflow/config_output_stdout.conf`

</details>
<details>
<summary>📚 Learning: in the fixedit-ai/fixedit-agents project, the configs_for_build directory is only used for plugin pa...</summary>

Learnt from: daniel-falk
PR: fixedit-ai/fixedit-agents#359
File: TEST_INSTRUCTIONS.md:244-245
Timestamp: 2025-07-03T15:28:04.994Z
Learning: In the fixedit-ai/fixedit-agents project, the configs_for_build directory is only used for plugin parsing purposes. Files in this directory should not be updated unless necessary because it breaks the build cache unnecessarily. Build cache optimization is an important consideration when making changes to configuration files.


**Applied to files:**
- `project-strobe-color-from-github-workflow/config_agent.conf`
- `.coderabbit.yaml`
- `project-strobe-color-from-github-workflow/test_files/config_input_file.conf`

</details>
<details>
<summary>📚 Learning: the `debug_logging` flag is used in the config agent, particularly in `camera_plain_config.cpp`....</summary>

Learnt from: fixedit-olatz
PR: fixedit-ai/client-doordash#30
File: acaps/config_agent/app/Makefile:46-46
Timestamp: 2024-11-08T07:48:36.269Z
Learning: The DEBUG_LOGGING flag is used in the config agent, particularly in camera_plain_config.cpp.


**Applied to files:**
- `project-strobe-color-from-github-workflow/config_agent.conf`

</details>
<details>
<summary>📚 Learning: in the fixedit-ai/fixedit-agents project, host stub implementations (like in acaps/installer_agent/a...</summary>

Learnt from: daniel-falk
PR: fixedit-ai/fixedit-agents#359
File: acaps/installer_agent/app/stubs_host/axparam/src/ax_parameter.c:0-0
Timestamp: 2025-07-03T15:16:47.201Z
Learning: In the fixedit-ai/fixedit-agents project, host stub implementations (like in acaps/installer_agent/app/stubs_host/axparam/src/ax_parameter.c) are intentionally allowed to have different default values than device deployments. This is acceptable because host stubs are used for testing and development purposes, while device deployments have their own configuration requirements.


**Applied to files:**
- `project-strobe-color-from-github-workflow/config_agent.conf`

</details>
<details>
<summary>📚 Learning: the fixedit-ai/fixedit-agents project does not document api endpoints in the changelog. api endpoint...</summary>

Learnt from: fixedit-olatz
PR: fixedit-ai/fixedit-agents#302
File: acaps/telegraf_agent/README.md:37-46
Timestamp: 2025-06-18T11:12:50.995Z
Learning: The fixedit-ai/fixedit-agents project does not document API endpoints in the CHANGELOG. API endpoint additions and changes should not trigger changelog update suggestions.


**Applied to files:**
- `project-strobe-color-from-github-workflow/config_agent.conf`
- `.coderabbit.yaml`
- `README.md`
- `project-strobe-color-from-github-workflow/README.md`

</details>
<details>
<summary>📚 Learning: in the configuration agent, it's acceptable to continue without telegraf logging if fetching the soc...</summary>

Learnt from: daniel-falk
PR: fixedit-ai/client-doordash#265
File: acaps/config_agent/app/src/main.cpp:243-255
Timestamp: 2025-05-06T11:03:42.315Z
Learning: In the Configuration Agent, it's acceptable to continue without Telegraf logging if fetching the socket path parameter fails, rather than using a default path.


**Applied to files:**
- `project-strobe-color-from-github-workflow/config_agent.conf`

</details>
<details>
<summary>📚 Learning: in `bootstrap_agent/app/src/main.c`, configurable parameters like the domain used in `query_txt_reco...</summary>

Learnt from: daniel-falk
PR: fixedit-ai/client-doordash#2
File: bootstrap_agent/app/src/main.c:231-235
Timestamp: 2024-10-06T17:54:26.169Z
Learning: In bootstrap_agent/app/src/main.c, configurable parameters like the domain used in query_txt_record should be specified as build arguments in fixedit-manifest.json. This practice enables different configurations for production and development environments.


**Applied to files:**
- `project-strobe-color-from-github-workflow/config_agent.conf`

</details>
<details>
<summary>📚 Learning: - when suggesting code changes, include steps to pin the versions of tools like `mypy` and `black` f...</summary>

Learnt from: daniel-falk
PR: fixedit-ai/Axis-ACAP-libraries#54
File: libraries/builder-base/Makefile:1-5
Timestamp: 2024-10-25T10:25:19.311Z
Learning: - When suggesting code changes, include steps to pin the versions of tools like mypy and black for consistency.

  • Include formatting and linting of YAML files in the workflows directory when setting up static tests.

**Applied to files:**
- `.coderabbit.yaml`

</details>
<details>
<summary>📚 Learning: when creating github issues for refactoring tasks in the fixedit codebase, include comprehensive fil...</summary>

Learnt from: fixedit-olatz
PR: fixedit-ai/fixedit-agents#295
File: acaps/config_agent/app/src/vapix_stream_profiles.cpp:126-134
Timestamp: 2025-06-18T09:44:13.318Z
Learning: When creating GitHub issues for refactoring tasks in the FixedIT codebase, include comprehensive file lists, clear before/after code examples, implementation notes, and proper backlinks to the original discussion for better tracking and context.


**Applied to files:**
- `.coderabbit.yaml`
- `README.md`
- `project-strobe-color-from-github-workflow/README.md`

</details>
<details>
<summary>📚 Learning: in the fixedit-ai/fixedit-developer-friend repository, the project has migrated from individual pret...</summary>

Learnt from: fixedit-jackh
PR: fixedit-ai/FixedIT-Developer-Friend#18
File: vscode_plugins/acap-documentation-viewer/src/class/IndexResult.ts:0-0
Timestamp: 2025-08-05T08:10:49.466Z
Learning: In the fixedit-ai/FixedIT-Developer-Friend repository, the project has migrated from individual Prettier and ESLint CI/CD jobs to using MegaLinter for comprehensive code linting and formatting. The old .github/workflows/lint_acap-documentation-viewer.yml workflow was removed and replaced with .github/workflows/mega-linter.yml that uses MegaLinter with APPLY_FIXES set to 'all' for automatic code formatting.


**Applied to files:**
- `.coderabbit.yaml`
- `README.md`
- `project-strobe-color-from-github-workflow/README.md`
- `project-strobe-color-from-github-workflow/config_process_github.conf`

</details>
<details>
<summary>📚 Learning: in the fixedit-ai/fixedit-developer-friend repository, the project has migrated from individual pret...</summary>

Learnt from: fixedit-jackh
PR: fixedit-ai/FixedIT-Developer-Friend#18
File: vscode_plugins/acap-documentation-viewer/src/controller/ResultWebview.ts:30-49
Timestamp: 2025-08-05T08:10:57.754Z
Learning: In the fixedit-ai/FixedIT-Developer-Friend repository, the project has migrated from individual Prettier and ESLint CI/CD jobs to using MegaLinter as the unified linting and formatting solution. The old .github/workflows/lint_acap-documentation-viewer.yml workflow was removed and replaced with .github/workflows/mega-linter.yml that uses MegaLinter with APPLY_FIXES set to "all" for automatic fixing.


**Applied to files:**
- `.coderabbit.yaml`
- `README.md`
- `project-strobe-color-from-github-workflow/README.md`

</details>
<details>
<summary>📚 Learning: in the fixedit-ai/fixedit-agents project, pdf conversion constraints take precedence over markdown l...</summary>

Learnt from: fixedit-olatz
PR: fixedit-ai/fixedit-agents#428
File: acaps/fixedit_data_agent/QUICKSTART_GUIDE.md:152-160
Timestamp: 2025-07-16T07:51:38.439Z
Learning: In the fixedit-ai/fixedit-agents project, PDF conversion constraints take precedence over markdown linting compliance when there are conflicts with nested heading levels. Bold formatting (text) is preferred over additional heading levels (####) to avoid issues with PDF generation.


**Applied to files:**
- `.coderabbit.yaml`
- `README.md`

</details>
<details>
<summary>📚 Learning: in the fixedit-ai/fixedit-agents project, documents like fixedit_data_agent_config_spec.md that are ...</summary>

Learnt from: daniel-falk
PR: fixedit-ai/fixedit-agents#428
File: FIXEDIT_DATA_AGENT_CONFIG_SPEC.md:40-50
Timestamp: 2025-07-23T10:29:18.040Z
Learning: In the fixedit-ai/fixedit-agents project, documents like FIXEDIT_DATA_AGENT_CONFIG_SPEC.md that are converted to PDF should not use markdown links to reference other files (like QUICKSTART_GUIDE.pdf) because those links will be broken in the PDF output. Plain text references should be used instead to maintain functionality across both markdown and PDF formats.


**Applied to files:**
- `.coderabbit.yaml`
- `project-strobe-color-from-github-workflow/README.md`

</details>
<details>
<summary>📚 Learning: in the fixedit-ai/client-doordash repository, detailed documentation should be maintained in per-app...</summary>

Learnt from: daniel-falk
PR: fixedit-ai/client-doordash#268
File: acaps/telegraf_agent/frontend/README.md:2-3
Timestamp: 2025-05-15T13:40:02.484Z
Learning: In the fixedit-ai/client-doordash repository, detailed documentation should be maintained in per-application README files rather than in the main README.md file.


**Applied to files:**
- `.coderabbit.yaml`
- `README.md`
- `dashboard-deployments/system-monitoring-influxdb2-flux-grafana/README.md`
- `project-strobe-color-from-github-workflow/README.md`

</details>
<details>
<summary>📚 Learning: in the `.github/workflows/unit_tests.yml` workflow, it's acceptable to use only the `push` trigger i...</summary>

Learnt from: daniel-falk
PR: fixedit-ai/client-doordash#19
File: .github/workflows/unit_tests.yml:3-7
Timestamp: 2024-11-05T09:37:26.633Z
Learning: In the .github/workflows/unit_tests.yml workflow, it's acceptable to use only the push trigger if running tests on all pushes covers the necessary cases. Including the pull_request trigger may be unnecessary unless handling contributions from forked repositories or pull requests without new commits.


**Applied to files:**
- `project-strobe-color-from-github-workflow/test_files/config_input_file.conf`

</details>
<details>
<summary>📚 Learning: in the project, the file path `/tmp/config_agent_config.txt` is used as a temporary file and path so...</summary>

Learnt from: fixedit-olatz
PR: fixedit-ai/client-doordash#4
File: bootstrap_agent/fixedit-manifest-dev-legacy-binary-creation.json:16-16
Timestamp: 2024-10-16T06:18:24.206Z
Learning: In the project, the file path /tmp/config_agent_config.txt is used as a temporary file and path solely for testing purposes.


**Applied to files:**
- `project-strobe-color-from-github-workflow/test_files/config_input_file.conf`

</details>
<details>
<summary>📚 Learning: in the github actions workflows for this repository, the fixedit cli will produce an error if multip...</summary>

Learnt from: daniel-falk
PR: fixedit-ai/client-doordash#37
File: .github/workflows/build_and_test_acaps.yml:133-149
Timestamp: 2024-11-12T11:57:32.569Z
Learning: In the GitHub Actions workflows for this repository, the FixedIT CLI will produce an error if multiple files are produced, so it is safe to assume only one file will be generated.


**Applied to files:**
- `project-strobe-color-from-github-workflow/sample.json`

</details>
<details>
<summary>📚 Learning: in the vscode_plugins/acap-documentation-viewer project, public documentation (readme, changelog) is...</summary>

Learnt from: daniel-falk
PR: fixedit-ai/FixedIT-Developer-Friend#14
File: vscode_plugins/acap-documentation-viewer/DEVELOP.md:85-85
Timestamp: 2025-08-01T08:43:55.730Z
Learning: In the vscode_plugins/acap-documentation-viewer project, public documentation (README, CHANGELOG) is intended for end users of the VS Code extension and should not include internal implementation details like data type conversion flows or system architecture. Developer documentation (DEVELOP.md) is the appropriate place for internal technical details that developers working on the extension need to understand.


**Applied to files:**
- `README.md`
- `dashboard-deployments/system-monitoring-influxdb2-flux-grafana/README.md`
- `project-strobe-color-from-github-workflow/README.md`

</details>
<details>
<summary>📚 Learning: in the fixedit-ai/fixedit-agents project, functions in shared code like `find_and_connect_to_server`...</summary>

Learnt from: daniel-falk
PR: fixedit-ai/fixedit-agents#313
File: acaps/shared_code/include/shared/server.h:124-127
Timestamp: 2025-06-26T12:38:46.233Z
Learning: In the fixedit-ai/fixedit-agents project, functions in shared code like find_and_connect_to_server in acaps/shared_code/include/shared/server.h are internal APIs used within the application, not public APIs. API breaking change concerns only apply to external interfaces, not internal function signature changes.


**Applied to files:**
- `README.md`

</details>
<details>
<summary>📚 Learning: in the fixedit-ai/fixedit-agents project, when creating documentation that will be converted to pdf ...</summary>

Learnt from: daniel-falk
PR: fixedit-ai/fixedit-agents#428
File: acaps/fixedit_data_agent/QUICKSTART_GUIDE.md:41-45
Timestamp: 2025-07-23T14:25:38.892Z
Learning: In the fixedit-ai/fixedit-agents project, when creating documentation that will be converted to PDF (like QUICKSTART_GUIDE.md), PDF output quality and formatting takes priority over GitHub markdown rendering. LaTeX environments like \begin{scriptsize} and \begin{verbatim} should be preserved even if they break GitHub preview, because end users primarily read the PDF versions rather than the GitHub markdown. This prioritizes user experience over developer experience.


**Applied to files:**
- `README.md`
- `project-strobe-color-from-github-workflow/README.md`

</details>
<details>
<summary>📚 Learning: in dashboard-deployments/system-monitoring-influxdb2-flux-grafana/docker-compose.yml, hard-coded tes...</summary>

Learnt from: daniel-falk
PR: #2
File: dashboard-deployments/system-monitoring-influxdb2-flux-grafana/docker-compose.yml:18-23
Timestamp: 2025-08-04T11:56:34.760Z
Learning: In dashboard-deployments/system-monitoring-influxdb2-flux-grafana/docker-compose.yml, hard-coded test credentials (test/testtest) and admin token are intentionally used to make it as easy as possible for new people to quickly test the stack. The production setup with docker-compose.prod.yml uses secure environment variables instead.


**Applied to files:**
- `dashboard-deployments/system-monitoring-influxdb2-flux-grafana/README.md`

</details>
<details>
<summary>📚 Learning: grafana 12 can autogenerate dashboard json configurations that mix rawquery: false with flux queries...</summary>

Learnt from: daniel-falk
PR: fixedit-ai/fixedit-agents#291
File: prototypes/dashboards/dashboard-json-files/config_agent.json:188-206
Timestamp: 2025-06-26T07:25:06.124Z
Learning: Grafana 12 can autogenerate dashboard JSON configurations that mix rawQuery: false with Flux queries alongside legacy InfluxQL keys (groupBy, select, tags) without causing query mode mismatch errors. These configurations import and work fine in Grafana 12.


**Applied to files:**
- `dashboard-deployments/system-monitoring-influxdb2-flux-grafana/README.md`

</details>
<details>
<summary>📚 Learning: in the fixedit-ai/fixedit-agents telegraf agent documentation, the term "real-time" is a crucial tec...</summary>

Learnt from: daniel-falk
PR: fixedit-ai/fixedit-agents#360
File: TELEGRAF_AGENT_CONFIG_SPEC.md:82-88
Timestamp: 2025-07-03T07:47:11.566Z
Learning: In the fixedit-ai/fixedit-agents Telegraf Agent documentation, the term "real-time" is a crucial technical distinction when describing logging capabilities. The Web UI version provides real-time log viewing, while the system log writes in batch mode at predetermined intervals. This distinction is important for users to understand the different capabilities between application versions and should not be removed as redundant wording.


**Applied to files:**
- `dashboard-deployments/system-monitoring-influxdb2-flux-grafana/README.md`

</details>
<details>
<summary>📚 Learning: in prototypes/dashboards/dashboard-json-files/, the grafana dashboard json files are automatically g...</summary>

Learnt from: daniel-falk
PR: fixedit-ai/fixedit-agents#385
File: prototypes/dashboards/dashboard-json-files/config_agent.json:607-644
Timestamp: 2025-07-04T12:18:25.332Z
Learning: In prototypes/dashboards/dashboard-json-files/, the Grafana dashboard JSON files are automatically generated by Grafana. Manual optimizations or code style suggestions should not be applied to these files since changes would be overwritten when dashboards are updated through the Grafana UI.


**Applied to files:**
- `dashboard-deployments/system-monitoring-influxdb2-flux-grafana/README.md`

</details>
<details>
<summary>📚 Learning: in the vscode extension project vscode_plugins/acap-documentation-viewer, license.fixedit-developer-...</summary>

Learnt from: daniel-falk
PR: fixedit-ai/FixedIT-Developer-Friend#4
File: vscode_plugins/acap-documentation-viewer/LICENSE.fixedit-developer-friend:1-7
Timestamp: 2025-06-16T15:00:54.820Z
Learning: In the VSCode extension project vscode_plugins/acap-documentation-viewer, LICENSE.fixedit-developer-friend is an intermediate source file used by the generate-licenses.js script to autogenerate the complete LICENSE file. The main LICENSE file should be referenced in package.json and documentation, not the intermediate .fixedit-developer-friend file.


**Applied to files:**
- `project-strobe-color-from-github-workflow/README.md`

</details>

</details><details>
<summary>🪛 LanguageTool</summary>

<details>
<summary>project-strobe-color-from-github-workflow/README.md</summary>

[uncategorized] ~79-~79: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ... to an intelligent device that can poll third party APIs and set its color based on the API...

(EN_COMPOUND_ADJECTIVE_INTERNAL)

---

[style] ~91-~91: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...tic access (see instructions below). 1. Create the color profiles in the Axis strobe (...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)

---

[style] ~148-~148: Try using a synonym here to strengthen your writing.
Context: ...o be more specific about what the token gives access to.  ![GitHub token setup](./.im...

(GIVE_PROVIDE)

</details>

</details>
<details>
<summary>🪛 markdownlint-cli2 (0.17.2)</summary>

<details>
<summary>project-strobe-color-from-github-workflow/README.md</summary>

41-41: Link fragments should be valid

(MD051, link-fragments)

---

42-42: Link fragments should be valid

(MD051, link-fragments)

---

43-43: Spaces inside link text

(MD039, no-space-in-links)

---

43-43: Link fragments should be valid

(MD051, link-fragments)

---

44-44: Link fragments should be valid

(MD051, link-fragments)

---

45-45: Link fragments should be valid

(MD051, link-fragments)

---

46-46: Link fragments should be valid

(MD051, link-fragments)

---

537-537: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

</details>

</details>

</details>

<details>
<summary>🔇 Additional comments (9)</summary><blockquote>

<details>
<summary>.coderabbit.yaml (1)</summary>

`17-33`: **Good addition of project-specific review guidance**

The new `project-*/**` instruction block clearly states the expectations for example projects and will help reviewers stay consistent.  
LGTM.

</details>
<details>
<summary>project-strobe-color-from-github-workflow/config_agent.conf (1)</summary>

`14-30`: **Default 5 s polling interval may exceed GitHub rate limits**

At 5 s × 60 ⨉ 60 = 720 calls/hour, a single device already nears the unauthenticated 60 req/hour ceiling and halves the 5 k req/hour token limit. Multiple devices will quickly hit 429s even with 1 s jitter.

Recommend shipping the example with a safer default (e.g. `interval = "30s"`) and instruct eager users to lower it only after confirming token quota.

```diff
-interval = "5s"
+interval = "30s" # adjust downwards if you really need sub-minute feedback
project-strobe-color-from-github-workflow/test_files/config_input_file.conf (1)

1-42: LGTM! Well-structured test configuration.

The test configuration properly simulates the GitHub API input for offline testing. The documentation is comprehensive, and the configuration correctly mirrors the real API structure while using the appropriate HELPER_FILES_DIR environment variable as specified in the guidelines.

project-strobe-color-from-github-workflow/config_process_github.conf (1)

16-57: LGTM! Robust data transformation logic.

The Starlark processor correctly transforms GitHub workflow conclusions into strobe-compatible color commands. The logic includes appropriate fallbacks for unknown states and is well-documented. The filtering and metric creation are properly configured.

project-strobe-color-from-github-workflow/trigger_strobe.sh (2)

31-34: LGTM! Proper environment variable validation.

The script correctly validates all required environment variables and provides clear error messages with appropriate exit codes.


117-130: LGTM! Excellent exclusive profile management.

The script properly implements exclusive color profile operation by stopping all other profiles when activating a new one. This ensures clear visual indication without profile conflicts.

project-strobe-color-from-github-workflow/config_input_github.conf (1)

19-58: LGTM! Efficient GitHub API integration.

The HTTP input configuration efficiently fetches GitHub workflow data with proper authentication and field extraction. The use of per_page=1 minimizes API calls while the comprehensive field extraction ensures all necessary data is preserved for downstream processing.

project-strobe-color-from-github-workflow/config_output_strobe.conf (1)

20-61: LGTM! Well-configured real-time output plugin.

The exec output configuration is properly optimized for immediate response with appropriate batch settings, filtering, and timeout values. The documentation clearly explains the design decisions, and the use of HELPER_FILES_DIR aligns with the FixedIT Data Agent environment requirements.

dashboard-deployments/system-monitoring-influxdb2-flux-grafana/README.md (1)

114-136: 👍 Good practice note on per-role tokens

Nice job explicitly recommending separate admin / camera (write-only) / Grafana (read-only) tokens and showing the exact UI path. This aligns well with least-privilege principles and the repository’s security guidelines.

@daniel-falk
Copy link
Contributor Author

daniel-falk commented Aug 6, 2025

TODO (/) Extracted and done in #8

  • Add instructions enforcing a structure and specific content in the project README files:
    • There has to be a compatibility section explaining 1) AXIS OS compatibility, e.g. any exotic sh commands being used (such as jq) or depending on basic or digest auth on HTTPS end points, and 2) Data Agent compatibility (minimum version needed).
    • There should be a section for how to test the system on host. If some config files can't be run on host, then it should be explained why.
    • General README structure should be 1) Introduction and background, 2) Technical explanation and quick start guide, 3) developer oriented notes such as how to test on host

This commit makes updates based on the addition of the first example
project: the strobe project.

Depends on #4
Depends on #5
@daniel-falk daniel-falk force-pushed the feature/main-docs-for-strobe branch from f6c0034 to 93c093a Compare August 6, 2025 07:54
@daniel-falk daniel-falk changed the base branch from main to feature/more-readme-for-dashboard August 6, 2025 07:55
Base automatically changed from feature/more-readme-for-dashboard to main August 7, 2025 10:18
@daniel-falk daniel-falk merged commit bb81048 into main Aug 7, 2025
3 checks passed
@daniel-falk daniel-falk deleted the feature/main-docs-for-strobe branch August 7, 2025 14:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants