Commit Graph
332 Commits
Author SHA1 Message Date
Chris CoutinhoandGitHub c3684f8558 Merge pull request #838 from cbcoutinho/renovate/actions-checkout-6.x
chore(deps): update actions/checkout action to v6.0.3
2026-06-05 01:55:07 +02:00
Chris CoutinhoandGitHub 1937de7e85 Merge pull request #839 from cbcoutinho/renovate/anthropics-claude-code-action-1.x
chore(deps): update anthropics/claude-code-action action to v1.0.135
2026-06-05 01:54:42 +02:00
Chris CoutinhoandGitHub ec9c6b01f8 Merge pull request #846 from cbcoutinho/renovate/nextcloud-32-32.x
chore(deps): update nextcloud-32 docker tag to v32.0.11
2026-06-05 01:54:11 +02:00
renovate-bot-cbcoutinho[bot]andGitHub 085971f54a chore(deps): update nextcloud-33 docker tag to v33.0.5 2026-06-04 04:32:09 +00:00
renovate-bot-cbcoutinho[bot]andGitHub db0c7345a2 chore(deps): update nextcloud-32 docker tag to v32.0.11 2026-06-04 04:32:01 +00:00
renovate-bot-cbcoutinho[bot]andGitHub 8d5d612b63 chore(deps): update anthropics/claude-code-action action to v1.0.135 2026-06-04 04:31:30 +00:00
renovate-bot-cbcoutinho[bot]andGitHub eed90bdb9b chore(deps): update actions/checkout action to v6.0.3 2026-06-03 04:20:33 +00:00
Chris CoutinhoandGitHub b91af923d2 Merge pull request #609 from cbcoutinho/renovate/actions-setup-node-6.x
chore(deps): update actions/setup-node action to v6
2026-06-03 02:30:36 +02:00
Chris CoutinhoandGitHub e34025593f Merge pull request #618 from cbcoutinho/renovate/docker-build-push-action-7.x
chore(deps): update docker/build-push-action action to v7
2026-06-03 02:30:28 +02:00
Chris CoutinhoandGitHub 9899d6525a Merge pull request #616 from cbcoutinho/renovate/docker-setup-buildx-action-4.x
chore(deps): update docker/setup-buildx-action action to v4
2026-06-03 02:30:21 +02:00
Chris CoutinhoandGitHub e307be3b66 Merge pull request #619 from cbcoutinho/renovate/docker-metadata-action-6.x
chore(deps): update docker/metadata-action action to v6
2026-06-03 02:29:58 +02:00
Chris CoutinhoandGitHub 869bd223ae Merge pull request #614 from cbcoutinho/renovate/docker-login-action-4.x
chore(deps): update docker/login-action action to v4
2026-06-03 02:29:44 +02:00
Chris CoutinhoandGitHub e7b1606631 Merge pull request #631 from cbcoutinho/renovate/shivammathur-setup-php-2.x
chore(deps): update shivammathur/setup-php action to v2.37.1
2026-06-03 02:27:47 +02:00
Chris CoutinhoandGitHub 7cf55ad903 Merge pull request #713 from cbcoutinho/renovate/hoverkraft-tech-compose-action-2.x
chore(deps): update hoverkraft-tech/compose-action action to v2.6.0
2026-06-03 02:26:36 +02:00
Chris CoutinhoandGitHub 62c15dd66c Merge pull request #701 from cbcoutinho/renovate/actions-upload-artifact-7.x
chore(deps): update actions/upload-artifact action to v7.0.1
2026-06-03 02:26:15 +02:00
Chris CoutinhoandClaude Opus 4.8 72a698dfe2 ci: serialize bump-version and gate releases on actual version bump
Prevent concurrent version bumps and spurious releases in the release
pipeline:

- Add a workflow-level concurrency group (cancel-in-progress: false) so
  only one bump-version run executes at a time. Concurrent runs have
  previously raced to bump the version and push tags, causing release
  failures. Subsequent pushes now queue instead of cancelling an
  in-flight bump/release.

- Make commitizen the single source of truth for whether a release is
  warranted. The previous grep heuristic counted commits matching
  feat|fix|docs|refactor|perf|test|build|ci|chore, but commitizen only
  bumps for feat/fix/breaking changes. A CI- or docs-only push therefore
  set bumped=true and fired release+docker against the old, already
  released tag. Now we compare the latest tag before/after running
  bump-mcp.sh and only set bumped=true (and emit the new tag) when it
  actually changes, so release/docker exit early on non-release pushes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 02:19:26 +02:00
Chris CoutinhoandGitHub 4b8218a8d3 Merge pull request #803 from cbcoutinho/renovate/anthropics-claude-code-action-1.x
chore(deps): update anthropics/claude-code-action action to v1.0.133
2026-06-03 02:03:43 +02:00
Chris CoutinhoandGitHub e1709aeb75 Merge pull request #806 from cbcoutinho/renovate/actions-upload-artifact-digest
chore(deps): update actions/upload-artifact digest to ea165f8
2026-06-03 02:03:31 +02:00
Chris CoutinhoandGitHub 580ff088e1 Merge pull request #816 from cbcoutinho/renovate/nextcloud-32-32.x
chore(deps): update nextcloud-32 docker tag to v32.0.10
2026-05-31 13:41:52 +02:00
renovate-bot-cbcoutinho[bot]andGitHub 076ec91981 chore(deps): update nextcloud-33 docker tag to v33.0.4 2026-05-30 04:29:01 +00:00
renovate-bot-cbcoutinho[bot]andGitHub f00b0b8e19 chore(deps): update nextcloud-32 docker tag to v32.0.10 2026-05-30 04:28:54 +00:00
renovate-bot-cbcoutinho[bot]andGitHub 063e780589 chore(deps): update docker/setup-buildx-action action to v4 2026-05-24 04:33:47 +00:00
renovate-bot-cbcoutinho[bot]andGitHub 0a7379d1dc chore(deps): update docker/metadata-action action to v6 2026-05-24 04:33:40 +00:00
renovate-bot-cbcoutinho[bot]andGitHub 822de017b3 chore(deps): update docker/login-action action to v4 2026-05-24 04:33:33 +00:00
renovate-bot-cbcoutinho[bot]andGitHub 0ca1df9a9a chore(deps): update anthropics/claude-code-action action to v1.0.133 2026-05-24 04:32:42 +00:00
renovate-bot-cbcoutinho[bot]andGitHub 475d7bd568 chore(deps): update nextcloud-32:32.0.9 docker digest to a6faf7f 2026-05-24 04:32:27 +00:00
renovate-bot-cbcoutinho[bot]andGitHub 0c6565fa82 chore(deps): update docker/build-push-action action to v7 2026-05-22 04:34:40 +00:00
renovate-bot-cbcoutinho[bot]andGitHub e7e3862c6d chore(deps): update actions/upload-artifact digest to ea165f8 2026-05-21 04:33:50 +00:00
Chris CoutinhoandClaude Opus 4.7 a0b29a436e feat(ci): build arm64 Docker images natively on ubuntu-24.04-arm
Split the Docker image build into a per-platform matrix and merge job,
producing a single multi-arch manifest (linux/amd64 + linux/arm64) without
QEMU emulation. The arm64 build runs on the native ubuntu-24.04-arm runner.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 08:06:36 +02:00
renovate-bot-cbcoutinho[bot]andGitHub 246f3b734c chore(deps): update shivammathur/setup-php action to v2.37.1 2026-05-15 04:27:34 +00:00
renovate-bot-cbcoutinho[bot]andGitHub 4626ca3858 chore(deps): update anthropics/claude-code-action action to v1.0.123 2026-05-15 04:27:09 +00:00
renovate-bot-cbcoutinho[bot]andGitHub 1db57f4d56 chore(deps): update anthropics/claude-code-action action to v1.0.121 2026-05-13 04:27:27 +00:00
renovate-bot-cbcoutinho[bot]andGitHub 1b2846093d chore(deps): update anthropics/claude-code-action action to v1.0.120 2026-05-12 04:24:06 +00:00
Chris CoutinhoandGitHub 2d29b3801c Merge pull request #770 from cbcoutinho/renovate/nextcloud-32-32.0.9
chore(deps): update nextcloud-32:32.0.9 docker digest to 6052173
2026-05-10 17:56:59 +02:00
renovate-bot-cbcoutinho[bot]andGitHub 4b0a556750 chore(deps): update nextcloud-33:33.0.3 docker digest to 90a730e 2026-05-09 16:21:38 +00:00
renovate-bot-cbcoutinho[bot]andGitHub 4774af1b69 chore(deps): update nextcloud-32:32.0.9 docker digest to 6052173 2026-05-09 16:21:32 +00:00
Chris CoutinhoandClaude Opus 4.7 4c84d82984 fix(auth): address PR #758 auto-review (id-token verify, nonce, CI key)
Blocking:
- AS proxy callback now calls verify_id_token before caching the proxy
  code so a tampered IdP response can't smuggle identity claims.

Important:
- Browser OAuth flow generates and verifies an OIDC nonce; new alembic
  migration 006 adds the nonce column to oauth_sessions.
- _origin_matches_self logs a warning when CSRF check is bypassed.
- oauth_tools.py uses get_shared_storage instead of fresh handles.

Nits:
- New token_utils.get_oidc_discovery shares the 5-minute cache with
  verify_id_token; oauth_login (integrated) and _revoke_refresh_token_at_idp
  now use it instead of issuing fresh discovery fetches.
- Drop typing.Optional from oauth_tools.py in favour of X | None.

CI:
- test.yml generates an ephemeral Fernet TOKEN_ENCRYPTION_KEY per run
  with openssl, removing the dependency on a missing repo secret.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 20:48:25 +02:00
Chris CoutinhoandClaude Opus 4.7 2ef4bfc4af fix(auth): fail closed on missing sub claim, delete Flow 2 callback session
Addresses the two remaining 🟡 findings from the PR #758 follow-up review:

  1. extract_user_id_from_token previously fell back to "default_user" when
     the verified access token had no sub claim. In a multi-tenant deployment
     a malformed IdP token could have bucketed every request under a single
     sentinel user, risking cross-tenant data exposure. The function now
     raises McpError on that branch; the BasicAuth no-token sentinel path is
     preserved.

  2. oauth_callback_nextcloud (Flow 2) read the PKCE code_verifier from
     oauth_sessions but never deleted the row, leaving the verifier valid for
     the full 10-minute TTL. The row is now deleted eagerly inside the same
     branch, mirroring oauth_login_callback in browser_oauth_routes.

Also wires TOKEN_ENCRYPTION_KEY through the docker-compose step in the CI
test workflow so the integration matrix can boot — every job had been
failing fast on the ${TOKEN_ENCRYPTION_KEY:?...} interpolation guard added
in PR #758 finding 5.

Tests pin both fixes (test_token_utils_user_id.py,
test_oauth_callback_session_cleanup.py).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 19:46:36 +02:00
Chris CoutinhoandGitHub 83f2e88d2c Merge pull request #755 from cbcoutinho/renovate/nextcloud-32-32.x
chore(deps): update nextcloud-32 docker tag to v32.0.9
2026-05-02 16:13:29 +02:00
renovate-bot-cbcoutinho[bot]andGitHub 774e6a119f chore(deps): update nextcloud-33 docker tag to v33.0.3 2026-05-02 04:23:08 +00:00
renovate-bot-cbcoutinho[bot]andGitHub 9461bf2897 chore(deps): update nextcloud-32 docker tag to v32.0.9 2026-05-02 04:23:01 +00:00
renovate-bot-cbcoutinho[bot]andGitHub 5573f608eb chore(deps): update anthropics/claude-code-action action to v1.0.111 2026-05-01 04:21:55 +00:00
renovate-bot-cbcoutinho[bot]andGitHub 88b186d245 chore(deps): update anthropics/claude-code-action action to v1.0.110 2026-04-30 04:23:37 +00:00
Chris CoutinhoandClaude Opus 4.7 bd4921091e docs(security): address second round of review feedback
- SECURITY.md: add Supported Versions table; reword SLA paragraph as
  a bullet list per reviewer suggestion
- bug_report.yml: render reproduction textarea as shell so commands and
  JSON get syntax highlighting, matching the logs field
- question.yml: add transport and install_method dropdowns mirroring
  bug_report.yml so setup questions capture the same context

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 23:45:25 +02:00
Chris CoutinhoandClaude Opus 4.7 dc820aaa4c docs(security): address review feedback on PR #740
- SECURITY.md: add response SLA (5 business days / 30 days)
- bug_report.yml: scope the Docker log command to Docker installs
- question.yml: align deployment_mode catch-all wording with bug_report.yml

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 23:22:07 +02:00
Chris CoutinhoandClaude Opus 4.7 d6362dc773 docs(security): prefer GitHub private vulnerability reporting
Surface GitHub's native private reporting workflow as the primary
disclosure channel, with security@astrolabecloud.com kept as a fallback
for reporters without a GitHub account. Updates SECURITY.md, the README
Security section, the issue-template config link, and the bug-template
warning banner.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 23:09:39 +02:00
Chris CoutinhoandClaude Opus 4.7 8cc84ac08b docs: add SECURITY.md and GitHub issue templates
Add a security policy directing private vulnerability reports to
security@astrolabecloud.com instead of public issues, and update the
README's Security section to point at it.

Add structured issue forms under .github/ISSUE_TEMPLATE/ covering bugs,
feature requests, questions, and documentation, plus a config.yml that
disables blank issues and routes security reports and open-ended
questions to the appropriate channels. The bug template captures
fields most commonly missing from past reports (server/Nextcloud/app
versions, deployment mode, transport, MCP client).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 23:05:29 +02:00
Chris CoutinhoandClaude Opus 4.7 efa33a1331 ci(claude-review): use sticky tracking comment instead of stacking
Bumps the claude-code-action pin to v1.0.97 and turns on
`track_progress` + `use_sticky_comment` so reviews update a single
tracking comment per PR instead of appending a fresh comment on every
push. Mirrors the pattern in astrolabe-cloud-website.

The prompt now directs Claude to deliver the review by editing the
tracking comment via `mcp__github_comment__update_claude_comment`, and
`Bash(gh pr comment:*)` is dropped from the allowed-tools list since
that path is no longer used. Permissions widen from read to write on
pull-requests + issues so the action can edit its own comment.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 22:22:32 +02:00
renovate-bot-cbcoutinho[bot]andGitHub a3934535bf chore(deps): update nextcloud-32:32.0.8 docker digest to 334f45c 2026-04-27 04:21:29 +00:00
renovate-bot-cbcoutinho[bot]andGitHub d765067a27 chore(deps): update actions/setup-node action to v6 2026-04-20 04:16:51 +00:00