• 1 Post
  • 9 Comments
Joined 2 months ago
cake
Cake day: December 28th, 2025

help-circle



  • Couldn’t stop worrying about this, so I added:

    • --no-tooltips param: Don’t include check output for hover tooltips
    • --no-timestamp param: Omit the “Generated at” timestamp to hide system clock and monitoring cadence.

    If you’re using these, I feel much better about making the html publicly accessible, but when you set up a config please remember that links-tags can expose your internal topology and the tile/slot name might do the same! Don’t go naming your tiles something like “Database Primary”, “Payment Service Worker”, or “Internal Auth API”!

    (unless you wanna place a honeypot)



  • Loved that idea so much that I went and implemented it:

    • The checks now have an automatic type inferrence and shorthand
    • introduced default rules that are used when nothing’s configured
    • realized that yaml-anchors always worked thanks to the lib I’m using.

    So now with this preamble:

    # Defaults are used when nothing is defined at the slot level. They can be overridden by defining rules directly on a slot.  
    defaults:  
      rules:  
        - match:  
            code: 0  
          status: { id: ok, label: "✅" }  
        - match: {}  
          status: { id: error, label: "❌" }  
    
    # YAML anchors: reusable fragments ilias doesn't interpret directly... 
    # it's all just yaml  
    _anchors:  
      pct_rules: &pct_rules           # works for disk, memory, CPU …  
        - match:  
            output: "^[0-6]\\d%$|^[0-9]%$"  
          status: { id: ok, label: "✅ <70%" }  
        - match:  
            output: "^[7-8]\\d%$"  
          status: { id: warn, label: "⚠️ 70–89%" }  
        - match: {}  
          status: { id: critical, label: "🔴 ≥90%" }  
    

    I can now have a tile like this:

          - name: Memory  
            slots: # combine anchors and default rules as well as check shorthands  
              - name: usage  
                check: "free | awk '/^Mem:/ {printf \"%.0f%\", $3/$2 * 100}'"  
                rules: *pct_rules  
              - name: available  
                check: "free -h | awk '/^Mem:/ {print $7 \" free\"}'"  
                # uses default rules  
              - name: total  
                check: "free -h | awk '/^Mem:/ {print $2 \" total\"}'"  
                # uses default rules  
    

    And the best? It’s fully backwards compatible ❤️

    Thanks again for the suggestion!




  • Awesome, thanks for the consideration!

    Please don’t immediately start public facing however - I literally just bashed the thing together in an afternoon, so who knows what kind of exploitable information leaks it might bring!

    I’m personally using it from within a tailnet, so not public facing.


    Edit:
    I have since added:

    • --no-tooltips param: Don’t include check output for hover tooltips
    • --no-timestamp param: Omit the “Generated at” timestamp to hide system clock and monitoring cadence.

    If you’re using these, I feel much better about making the html publicly accessible, but when you set up a config please remember that link-tags can expose your internal topology and the tile/slot name might do the same! Don’t go naming your tiles something like “Database Primary”, “Payment Service Worker”, or “Internal Auth API”!