Compare commits
14
Commits
f7e7e3f57f
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
107677eb58 | ||
|
|
4baf8439c8 | ||
|
|
11c5ae486c | ||
|
|
ccca08caaf | ||
|
|
06c246f021 | ||
|
|
024764206e | ||
|
|
2a94ff42df | ||
|
|
7cbd94ca5b | ||
|
|
6226a56591 | ||
|
|
0333046891 | ||
|
|
5e213759d6 | ||
|
|
2a88f83b44 | ||
|
|
52d09a4b8d | ||
|
|
de8803d959 |
@@ -0,0 +1,50 @@
|
|||||||
|
name: backup-lodge-ha
|
||||||
|
# Nightly export of the lodge HA config (scripts/automations/dashboards/helpers)
|
||||||
|
# into dfritz/home-assistant lodge/. Secrets: HA_TOKEN (lodge HA long-lived
|
||||||
|
# token), GIT_TOKEN (ops PAT with write:repository). Lives in this repo because
|
||||||
|
# ops has admin here; move to dfritz/home-assistant if its owner adds the
|
||||||
|
# HA_TOKEN secret there.
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '37 9 * * *' # 04:37 America/Chicago during CDT (03:37 CST)
|
||||||
|
workflow_dispatch: {}
|
||||||
|
push:
|
||||||
|
branches: [main]
|
||||||
|
paths: ['.gitea/workflows/backup-ha.yaml']
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
backup:
|
||||||
|
runs-on: fritzlab
|
||||||
|
timeout-minutes: 15
|
||||||
|
steps:
|
||||||
|
- name: clone mirror repo
|
||||||
|
run: git clone "https://ops:${{ secrets.GIT_TOKEN }}@code.fritzlab.net/dfritz/home-assistant.git" mirror
|
||||||
|
|
||||||
|
- name: install python deps
|
||||||
|
run: pip install --break-system-packages --quiet websockets pyyaml
|
||||||
|
|
||||||
|
- name: export lodge HA config
|
||||||
|
working-directory: mirror
|
||||||
|
env:
|
||||||
|
HA_TOKEN: ${{ secrets.HA_TOKEN }}
|
||||||
|
run: |
|
||||||
|
rm -rf lodge/scripts lodge/automations lodge/dashboards
|
||||||
|
python3 lodge/export.py
|
||||||
|
|
||||||
|
- name: commit and push if changed
|
||||||
|
working-directory: mirror
|
||||||
|
run: |
|
||||||
|
git config user.name "lodge-ha-backup"
|
||||||
|
git config user.email "ops@fritzlab.net"
|
||||||
|
git add lodge/
|
||||||
|
if git diff --cached --quiet; then echo "no changes"; exit 0; fi
|
||||||
|
git commit -m "lodge: automated HA config export"
|
||||||
|
git push
|
||||||
|
|
||||||
|
- name: notify on failure
|
||||||
|
if: failure()
|
||||||
|
uses: https://code.fritzlab.net/action/notify-email@v1
|
||||||
|
with:
|
||||||
|
status: failure
|
||||||
|
summary: "Lodge HA config backup failed"
|
||||||
|
auto-log: 'true'
|
||||||
@@ -1,3 +1,10 @@
|
|||||||
# thelonglakelodge
|
# thelonglakelodge — dissolved
|
||||||
|
|
||||||
The Long Lake Lodge skill repo
|
This skill repo was dissolved per the 2026-07-20 one-canon knowledge
|
||||||
|
architecture decision. The Long Lake Lodge knowledge lives at
|
||||||
|
https://docs.fritzlab.net/lodge/ — update the docs site, not this repo.
|
||||||
|
|
||||||
|
**This repo is retained SOLELY to host `.gitea/workflows/backup-ha.yaml`**, a
|
||||||
|
live nightly Home Assistant config backup that uses this repo's Actions
|
||||||
|
secrets (HA_TOKEN, GIT_TOKEN). Do not archive or delete the repo, and do not
|
||||||
|
touch that workflow, until the operator relocates it.
|
||||||
|
|||||||
@@ -1,45 +1,31 @@
|
|||||||
---
|
---
|
||||||
name: thelonglakelodge
|
name: thelonglakelodge
|
||||||
description: >
|
description: >
|
||||||
Activate this skill for any work related to The Long Lake Lodge short-term rental.
|
DISSOLVED. Do not use. The Long Lake Lodge knowledge lives in the
|
||||||
TRIGGER when: user mentions the lodge, Long Lake Lodge, Siren, Polk Burnett, Siren Telecom,
|
canonical docs site: https://docs.fritzlab.net/lodge/
|
||||||
utilities, rental, reservations, Airbnb, VRBO, garbage, electricity, thelonglakelodge.com.
|
user-invocable: false
|
||||||
user-invocable: true
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<quick-context>
|
# thelonglakelodge — dissolved
|
||||||
- Address: 7251 County Road B, Siren, WI 54872
|
|
||||||
- Names: The Lodge, Long Lake Lodge
|
|
||||||
- Public site: thelonglakelodge.com — hosted via fritzlab sjc001 (see fritzlab skill)
|
|
||||||
- Home Assistant: home.thelonglakelodge.com — proxied via sjc001 remote-proxy to 172.24.24.50
|
|
||||||
</quick-context>
|
|
||||||
|
|
||||||
<safety>
|
This skill was dissolved per the one-canon knowledge architecture decision
|
||||||
- Utility and access info is tenant-facing — verify accuracy before updating.
|
(decisions/2026-07-20-one-canon-knowledge-architecture on docs.fritzlab.net).
|
||||||
</safety>
|
All content migrated to the canon in docs#142 (a0e98f75):
|
||||||
|
|
||||||
<style>
|
- https://docs.fritzlab.net/lodge/ — landing page
|
||||||
- Keep references low token count, organized with XML tags.
|
- reference/home-assistant.md → lodge/home-assistant.md
|
||||||
- State what IS, not what happened.
|
- reference/locks.md → lodge/locks.md
|
||||||
- MUST keep this skill up to date. Knowledge lives HERE, not in memory.
|
- reference/utilities.md → lodge/utilities.md
|
||||||
</style>
|
- reference/website.md → lodge/website.md
|
||||||
|
- reference/boat.md → household/boat.md (shared boat page)
|
||||||
|
|
||||||
<references>
|
Do not add knowledge here. Update https://docs.fritzlab.net instead.
|
||||||
<reference file="reference/utilities.md"
|
|
||||||
summary="Lodge utilities: electricity and gas (Polk Burnett), garbage, internet (Siren Telecom)"
|
|
||||||
categories=["utilities"]
|
|
||||||
keywords=["garbage", "electricity", "gas", "water", "WiFi", "utilities", "Polk Burnett", "Siren Telecom", "internet"] />
|
|
||||||
</references>
|
|
||||||
|
|
||||||
<references>
|
## Why this repo still exists
|
||||||
<reference file="reference/boat.md"
|
|
||||||
categories=["water"]
|
|
||||||
keywords=["boat", "dock, "launch"] />
|
|
||||||
</references>
|
|
||||||
|
|
||||||
<references>
|
This repo is retained SOLELY to host `.gitea/workflows/backup-ha.yaml` — a
|
||||||
<reference file="reference/website.md"
|
live nightly Home Assistant config backup (lodge HA → dfritz/home-assistant)
|
||||||
summary="Lodge website: site-publish flow, /welcome PDF redirect, out-of-band PDF update via aws-cli"
|
that depends on this repo's Actions secrets (HA_TOKEN, GIT_TOKEN). Do not
|
||||||
categories=["website"]
|
archive or delete this repo, and do not touch that workflow, until the
|
||||||
keywords=["website", "thelonglakelodge.com", "welcome packet", "PDF", "welcome.pdf", "/welcome", "Garage S3", "site-publish", "excludes"] />
|
operator relocates it (target: dfritz/home-assistant, once its owner adds
|
||||||
</references>
|
the HA_TOKEN secret there — see the note in the workflow header).
|
||||||
|
|||||||
@@ -1,15 +0,0 @@
|
|||||||
---
|
|
||||||
name: boat
|
|
||||||
description: Boat and Dock Information
|
|
||||||
---
|
|
||||||
|
|
||||||
There is not a boat provided
|
|
||||||
|
|
||||||
<dock>
|
|
||||||
The dock has room to dock a boat
|
|
||||||
</dock>
|
|
||||||
|
|
||||||
<public-launch>
|
|
||||||
Public DNR launch located at 23754 Long Lake Road (just around the corner from the lodge).
|
|
||||||
It is not a paved launch, it's gravel.
|
|
||||||
</public-launch>
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
---
|
|
||||||
name: utilities
|
|
||||||
description: Lodge Utilities Information
|
|
||||||
---
|
|
||||||
|
|
||||||
<electricity
|
|
||||||
provider="Polk Burnett",
|
|
||||||
|
|
||||||
/>
|
|
||||||
|
|
||||||
<gas
|
|
||||||
provider="Polk Burnett",
|
|
||||||
|
|
||||||
/>
|
|
||||||
|
|
||||||
<garbage
|
|
||||||
|
|
||||||
/>
|
|
||||||
|
|
||||||
<Internet Service Provider
|
|
||||||
provider='Siren Telecom'
|
|
||||||
|
|
||||||
/>
|
|
||||||
@@ -1,60 +0,0 @@
|
|||||||
# Lodge website
|
|
||||||
|
|
||||||
<overview>
|
|
||||||
Static site `www.thelonglakelodge.com` (apex → 301 → www). Source at
|
|
||||||
`git@code.fritzlab.net:websites/thelonglakelodge.com.git`. Published via
|
|
||||||
`action/site-publish@v1`: push to `main` → `aws s3 sync --delete` to Garage
|
|
||||||
bucket `thelonglakelodge.com`, ArgoCD reconciles Traefik Ingress + cert.
|
|
||||||
</overview>
|
|
||||||
|
|
||||||
|
|
||||||
<welcome-packet>
|
|
||||||
## Welcome packet PDF (`/welcome`)
|
|
||||||
|
|
||||||
`https://www.thelonglakelodge.com/welcome` is a real HTTP 301 redirect to
|
|
||||||
`/welcome.pdf` (browser renders the PDF in its native viewer). Unlisted, not
|
|
||||||
in nav.
|
|
||||||
|
|
||||||
Both objects live in the Garage S3 bucket only, NOT in git:
|
|
||||||
- `s3://thelonglakelodge.com/welcome` — empty object with
|
|
||||||
`x-amz-website-redirect-location: /welcome.pdf` and `content-type: text/html`
|
|
||||||
- `s3://thelonglakelodge.com/welcome.pdf` — the PDF itself
|
|
||||||
|
|
||||||
Preserved across site-publish runs via `excludes: [welcome, welcome.pdf]` in
|
|
||||||
`site.yaml` (the `--exclude` flag was added to `action/site-publish` for this
|
|
||||||
case).
|
|
||||||
|
|
||||||
### Update the packet
|
|
||||||
|
|
||||||
One command — change is live immediately, no git/CI involved:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
aws --profile sjc001 s3 cp /path/to/new.pdf \
|
|
||||||
s3://thelonglakelodge.com/welcome.pdf \
|
|
||||||
--content-type application/pdf
|
|
||||||
```
|
|
||||||
|
|
||||||
### Recreate the /welcome redirect (rarely needed)
|
|
||||||
|
|
||||||
```sh
|
|
||||||
aws --profile sjc001 s3api put-object \
|
|
||||||
--bucket thelonglakelodge.com \
|
|
||||||
--key welcome \
|
|
||||||
--website-redirect-location /welcome.pdf \
|
|
||||||
--content-type text/html
|
|
||||||
```
|
|
||||||
|
|
||||||
The `sjc001` aws-cli profile is documented in fritzlab `garage.md`.
|
|
||||||
</welcome-packet>
|
|
||||||
|
|
||||||
<policy-sync>
|
|
||||||
## Guest-facing policy lives in two places
|
|
||||||
|
|
||||||
Check-out time, quiet hours, occupancy, and local-contact details are stated
|
|
||||||
both in the welcome PDF and in the quick-ref cards on `site/house-rules.html`.
|
|
||||||
When updating any of these values, update BOTH or they will drift.
|
|
||||||
|
|
||||||
`house-rules.html` no longer contains the full rules accordion; it links to
|
|
||||||
`/welcome` for the canonical detailed rules. The quick-ref cards remain on the
|
|
||||||
page as an at-a-glance summary.
|
|
||||||
</policy-sync>
|
|
||||||
Reference in New Issue
Block a user