Skip to content

Commit 499b67b

Browse files
committed
Initial release
0 parents  commit 499b67b

26 files changed

Lines changed: 818 additions & 0 deletions

.gitattributes

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Normalize line endings; shell scripts and Dockerfiles must stay LF —
2+
# a CRLF shebang makes the container die at exec time.
3+
* text=auto
4+
*.sh text eol=lf
5+
Dockerfile text eol=lf
6+
*.yaml text
7+
*.yml text
8+
*.md text
9+
*.txt text
10+
*.png binary
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
name: 🐛 Bug report
2+
description: Something in the Internxt WebDAV add-on is not working
3+
labels: ["bug"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thanks for taking the time to report a bug! Versions and logs make all the difference — please fill in what you can.
9+
- type: textarea
10+
id: description
11+
attributes:
12+
label: What happened?
13+
description: What did you do, what did you expect, and what happened instead?
14+
validations:
15+
required: true
16+
- type: input
17+
id: addon_version
18+
attributes:
19+
label: Add-on version
20+
placeholder: "1.0.0"
21+
validations:
22+
required: true
23+
- type: input
24+
id: ha_version
25+
attributes:
26+
label: Home Assistant version
27+
description: Settings → About (Core / Supervisor / OS versions)
28+
placeholder: "Core 2026.7.1 / Supervisor 2026.06.4 / HA OS 16.1"
29+
validations:
30+
required: true
31+
- type: dropdown
32+
id: arch
33+
attributes:
34+
label: Architecture
35+
options:
36+
- amd64
37+
- aarch64
38+
- other / not sure
39+
validations:
40+
required: true
41+
- type: dropdown
42+
id: account_type
43+
attributes:
44+
label: Internxt account type
45+
description: Workspace-related issues behave differently on Business accounts.
46+
options:
47+
- Personal
48+
- Business / Teams (using internxt_workspace_id)
49+
validations:
50+
required: true
51+
- type: textarea
52+
id: logs
53+
attributes:
54+
label: Add-on log
55+
description: Settings → Add-ons → Internxt WebDAV → Log tab. Passwords never appear in the log, but double-check before pasting.
56+
render: text
57+
validations:
58+
required: true
59+
- type: checkboxes
60+
id: checks
61+
attributes:
62+
label: Before submitting
63+
options:
64+
- label: I searched existing issues (open and closed) for this problem
65+
required: true
66+
- label: I tried restarting the add-on
67+
required: true

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: 🔒 Security vulnerability
4+
url: https://github.com/HowmationFr/HowmationAddons/security/advisories/new
5+
about: Please report security issues privately, not as public issues.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: 💡 Feature request
2+
description: Suggest an improvement for one of the add-ons
3+
labels: ["enhancement"]
4+
body:
5+
- type: textarea
6+
id: problem
7+
attributes:
8+
label: What problem does this solve?
9+
description: Describe the use case, not only the solution — there may be a better way to get there.
10+
validations:
11+
required: true
12+
- type: textarea
13+
id: solution
14+
attributes:
15+
label: Proposed solution
16+
description: What would you like to happen? A new option, a behavior change…
17+
validations:
18+
required: true
19+
- type: textarea
20+
id: alternatives
21+
attributes:
22+
label: Alternatives considered
23+
description: Workarounds you tried, other add-ons/tools, upstream features…
24+
validations:
25+
required: false

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
## What does this PR do?
2+
3+
<!-- Describe the change and the motivation. Link related issues, e.g. "Fixes #12". -->
4+
5+
## Type of change
6+
7+
- [ ] Bug fix
8+
- [ ] New feature / enhancement
9+
- [ ] Upstream base image bump
10+
- [ ] Documentation only
11+
- [ ] CI / repository tooling
12+
13+
## How was it tested?
14+
15+
<!-- e.g. "docker build + run with a test options.json", "installed as a local add-on on HA OS 16.1 (aarch64), backup to Internxt completed" -->
16+
17+
## Checklist
18+
19+
- [ ] CI is green (lint + amd64/aarch64 test builds)
20+
- [ ] User-visible change: `version` bumped in `internxt_webdav/config.yaml` **and** entry added to `internxt_webdav/CHANGELOG.md` (not needed for docs-only — tell us if you'd rather the maintainer handles the bump)
21+
- [ ] Documentation updated where relevant (`DOCS.md`, `README.md`)
22+
- [ ] No new outbound network calls, binaries, or dependencies without prior discussion in an issue

.github/dependabot.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
version: 2
2+
updates:
3+
# Keep GitHub Actions (checkout, linter, builder…) up to date.
4+
# Note: the internxt/webdav pin lives in internxt_webdav/build.yaml, an
5+
# HA-specific format Dependabot can't track — the "Upstream watch" workflow
6+
# opens an issue when a newer upstream tag is published.
7+
- package-ecosystem: github-actions
8+
directory: "/"
9+
schedule:
10+
interval: weekly
11+
labels: ["ci"]

.github/workflows/builder.yaml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: Builder
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
workflow_dispatch:
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
build:
14+
name: Test build internxt_webdav (${{ matrix.arch }})
15+
runs-on: ${{ matrix.os }}
16+
strategy:
17+
fail-fast: false
18+
matrix:
19+
include:
20+
- arch: amd64
21+
os: ubuntu-24.04
22+
- arch: aarch64
23+
os: ubuntu-24.04-arm
24+
steps:
25+
- name: Check out the repository
26+
uses: actions/checkout@v4
27+
28+
- name: Read add-on version and pinned base image
29+
id: info
30+
run: |
31+
build_from=$(sed -n "s/^ ${{ matrix.arch }}:[[:space:]]*//p" internxt_webdav/build.yaml)
32+
version=$(sed -n 's/^version:[[:space:]]*//p' internxt_webdav/config.yaml | tr -d '"')
33+
echo "build_from=${build_from}" >> "$GITHUB_OUTPUT"
34+
echo "version=${version}" >> "$GITHUB_OUTPUT"
35+
36+
- name: Test build (no publish)
37+
uses: home-assistant/builder/actions/build-image@2026.06.0
38+
with:
39+
arch: ${{ matrix.arch }}
40+
container-registry-password: ${{ secrets.GITHUB_TOKEN }}
41+
context: "./internxt_webdav"
42+
image: ghcr.io/howmationfr/${{ matrix.arch }}-internxt-webdav
43+
image-tags: ${{ steps.info.outputs.version }}
44+
version: ${{ steps.info.outputs.version }}
45+
build-args: |
46+
BUILD_FROM=${{ steps.info.outputs.build_from }}
47+
cosign: "false"
48+
push: "false"

.github/workflows/lint.yaml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Lint
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
workflow_dispatch:
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
addon-lint:
14+
name: Add-on lint (internxt_webdav)
15+
runs-on: ubuntu-latest
16+
steps:
17+
- name: Check out the repository
18+
uses: actions/checkout@v4
19+
20+
- name: Run Home Assistant add-on linter
21+
uses: frenck/action-addon-linter@v2
22+
with:
23+
path: "./internxt_webdav"
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
name: Upstream watch
2+
3+
# Opens an issue when internxt/webdav publishes a version tag newer than the
4+
# one pinned in internxt_webdav/build.yaml (Dependabot can't track that file).
5+
6+
on:
7+
schedule:
8+
- cron: "17 6 * * 1" # every Monday morning
9+
workflow_dispatch:
10+
11+
permissions:
12+
contents: read
13+
issues: write
14+
15+
jobs:
16+
check:
17+
name: Compare pinned tag with latest upstream
18+
runs-on: ubuntu-latest
19+
steps:
20+
- name: Check out the repository
21+
uses: actions/checkout@v4
22+
23+
- name: Check Docker Hub for a newer internxt/webdav tag
24+
env:
25+
GH_TOKEN: ${{ github.token }}
26+
run: |
27+
pinned=$(sed -n 's|^ amd64:[[:space:]]*internxt/webdav:||p' internxt_webdav/build.yaml)
28+
latest=$(curl -fsSL "https://hub.docker.com/v2/repositories/internxt/webdav/tags/?page_size=100" \
29+
| jq -r '.results[].name' | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' | sort -V | tail -n1)
30+
echo "pinned=${pinned} latest=${latest}"
31+
32+
if [ -z "$pinned" ] || [ -z "$latest" ]; then
33+
echo "::error::Could not determine pinned or latest tag"
34+
exit 1
35+
fi
36+
if [ "$(printf '%s\n%s\n' "$pinned" "$latest" | sort -V | tail -n1)" = "$pinned" ]; then
37+
echo "Pinned tag is up to date."
38+
exit 0
39+
fi
40+
41+
title="Upstream update available: internxt/webdav ${latest}"
42+
if gh issue list --state open --json title --jq '.[].title' | grep -Fxq "$title"; then
43+
echo "Issue already open."
44+
exit 0
45+
fi
46+
47+
body=$(printf '%s\n' \
48+
"Upstream published \`internxt/webdav:${latest}\` — the add-on currently pins \`${pinned}\`." \
49+
'' \
50+
'Release notes: https://github.com/internxt/cli/releases' \
51+
'' \
52+
'Bump checklist:' \
53+
'- [ ] Review upstream changes (watch for `login-legacy`, `webdav-config` flags, entrypoint/healthcheck changes — run.sh mirrors the upstream startup sequence)' \
54+
'- [ ] Update both arch tags in `internxt_webdav/build.yaml`' \
55+
'- [ ] Update the `ARG BUILD_FROM` default in `internxt_webdav/Dockerfile`' \
56+
'- [ ] Update the upstream badge in `internxt_webdav/README.md` and the pin mentions in `DOCS.md`' \
57+
'- [ ] Test on a real Home Assistant install' \
58+
'- [ ] Bump add-on `version` + CHANGELOG entry' \
59+
'' \
60+
'*Opened automatically by the Upstream watch workflow.*')
61+
gh label create upstream --color 0e8a16 --description "Upstream Internxt CLI update" --force || true
62+
gh issue create --title "$title" --label "upstream" --body "$body"

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Private / work-in-progress add-ons — never published
2+
cerberus_smart_agent/
3+
4+
# OS noise
5+
.DS_Store
6+
Thumbs.db

0 commit comments

Comments
 (0)