Deploy unpoller to scrape UniFi controller metrics and create VMRule alerts that detect link speed degradation. Configuration is self-contained via port naming convention in UniFi - no manual mappings required cluster-side.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // Workaround for OptionSelector Space-cycling and initial visual desync. | |
| // | |
| // Problem: OptionSelector always calls Cycle() when Space is pressed on the | |
| // currently selected CheckBox. There's no way to disable this. Additionally, | |
| // OptionSelector defaults Value=0 but doesn't call UpdateChecked(), so child | |
| // CheckBoxes are visually unchecked even though the selector thinks the first | |
| // item is selected. | |
| // | |
| // Solution: Intercept Space at the app keyboard level, suppress it entirely | |
| // for OptionSelectors, and manually set the value or force the visual sync. |
To implement settings layers support in a JetBrains Rider plugin, you need to understand Rider's three-layer settings system and use the ReSharper Platform SDK APIs. Here's how to do it:
JetBrains Rider uses a layered settings system where higher layers override lower ones[^2]:
- Personal layer - User-specific settings for the current solution
- Team-shared layer - Settings shared across the team (stored in VCS)
- Computer/Global layer - Settings stored on the local machine for all instances
- KISS (Keep It Simple, Stupid) - Prioritize simplicity over theoretical completeness. Start with the simplest solution that works. Complexity must justify itself through concrete, current needs.
- Iterative Development - Build incrementally. Defer decisions until you have enough information. Don't solve problems you don't have yet.
- Code is Fluid - Architecture evolves. If you need something later, add it then. Removing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ##################################################################### | |
| ## BASIC SETTINGS | |
| ##################################################################### | |
| [user] | |
| name = # your name here | |
| email = # your email here | |
| [init] | |
| defaultBranch = master | |
| [core] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # File: .github/actions/download-tar/action.yml | |
| name: Download Tar Artifact | |
| description: > | |
| Download and extract a tar artifact that was previously uploaded in the workflow by the upload-tar | |
| action | |
| inputs: | |
| name: | |
| description: Artifact name | |
| path: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/env bash | |
| split_arg() { | |
| split=(${1//|/ }) | |
| yml="${split[0]}" | |
| sleep_duration="${split[1]}" | |
| } | |
| service_start() { | |
| split_arg $1 |