Skip to content

[infrastructure] Deprecate legacy Dex and Zitadel getting-started scripts - #6952

Merged
jnfrati merged 1 commit into
mainfrom
chore/deprecate-legacy-getting-started-scripts
Jul 29, 2026
Merged

[infrastructure] Deprecate legacy Dex and Zitadel getting-started scripts#6952
jnfrati merged 1 commit into
mainfrom
chore/deprecate-legacy-getting-started-scripts

Conversation

@TechHutTV

@TechHutTV TechHutTV commented Jul 28, 2026

Copy link
Copy Markdown
Collaborator

Describe your changes

Retire the legacy Dex and Zitadel installation scripts by replacing their implementations with compatibility notices that:

  • Exit unsuccessfully before making any system changes.
  • Direct new deployments to getting-started.sh and the self-hosting quickstart.
  • Explain that the current installer uses NetBird's embedded Dex-based identity provider.
  • Direct users to configure Zitadel through the NetBird Dashboard or follow the advanced guide for a standalone identity-provider deployment.
  • Clarify that Dex support, Zitadel support, and existing deployments are not deprecated.
  • Announce that the compatibility notices will be removed in NetBird v0.80.

Replace the legacy Zitadel provisioning workflow with CI checks that verify both scripts fail, write their notices to stderr, and include the expected documentation links and removal version.

Issue ticket number and link

No single issue tracks this deprecation.

Related to:

Stack

Standalone PR based on main.

Checklist

  • Is it a bug fix
  • Is a typo/documentation fix
  • Is a feature enhancement
  • It is a refactor
  • Created tests that fail without the change (if possible)
  • This change does not modify the public API, gRPC protocols, functionality behavior, CLI / service flags, or introduce a new feature — OR I have discussed it with the NetBird team beforehand (link the issue / Slack thread in the description). See CONTRIBUTING.md.

By submitting this pull request, you confirm that you have read and agree to the terms of the Contributor License Agreement.

Documentation

Select exactly one:

  • I added/updated documentation for this change
  • Documentation is not needed for this change because the compatibility notices link to the existing quickstart, identity-provider, and advanced deployment documentation.

Docs PR URL (required if "docs added" is checked)

Paste the PR link from https://github.com/netbirdio/docs here:

N/A


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Summary by CodeRabbit

  • Breaking Changes
    • Retired the legacy Dex and Zitadel getting-started installation scripts.
    • These scripts now exit with an explanatory deprecation message and direct users to the current setup flow and documentation.
    • Existing workflows now verify that the retired scripts fail as expected and provide the appropriate migration guidance.

@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

Legacy Dex and Zitadel getting-started scripts were replaced with retirement notices that exit unsuccessfully. The infrastructure workflow now verifies their exit status, stdout, stderr messages, version-removal text, and documentation links.

Changes

Legacy getting-started script retirement

Layer / File(s) Summary
Replace legacy installers with retirement stubs
infrastructure_files/getting-started-with-dex.sh, infrastructure_files/getting-started-with-zitadel.sh
The Dex and Zitadel provisioning flows were removed; both scripts now emit retirement guidance to stderr and exit with status 1.
Validate retirement behavior
.github/workflows/test-infrastructure-files.yml
CI runs both legacy scripts and verifies failure status, empty stdout, and expected retirement messages, version text, and documentation links.

Estimated code review effort: 2 (Simple) | ~10 minutes

Suggested reviewers: mlsmaycon

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title is concise and accurately summarizes the main change: deprecating the legacy Dex and Zitadel getting-started scripts.
Description check ✅ Passed The description follows the template and includes the change summary, issue references, stack, checklist, and documentation decision.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/deprecate-legacy-getting-started-scripts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@sonarqubecloud

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
.github/workflows/test-infrastructure-files.yml (1)

252-284: 🔒 Security & Privacy | 🔵 Trivial | ⚡ Quick win

Job runs with default (broad) GITHUB_TOKEN permissions.

Static analysis flags this job for lacking an explicit permissions: block, so it inherits the repository/workflow default rather than a scoped-down set. Since this job only checks out code and runs local scripts, it needs no write access.

🔧 Suggested fix
   test-legacy-getting-started-scripts:
     runs-on: ubuntu-latest
+    permissions:
+      contents: read
     steps:
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/test-infrastructure-files.yml around lines 252 - 284, Add
an explicit job-level permissions block to test-legacy-getting-started-scripts,
granting only the minimum access required for checkout and local script
execution, with no write permissions. Keep the existing checkout and
retirement-notice verification steps unchanged.

Source: Linters/SAST tools

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In @.github/workflows/test-infrastructure-files.yml:
- Around line 252-284: Add an explicit job-level permissions block to
test-legacy-getting-started-scripts, granting only the minimum access required
for checkout and local script execution, with no write permissions. Keep the
existing checkout and retirement-notice verification steps unchanged.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 2f50ca2a-1969-47fc-a879-ebcb4c5dfbe9

📥 Commits

Reviewing files that changed from the base of the PR and between dd2bdc0 and c8e3eca.

📒 Files selected for processing (3)
  • .github/workflows/test-infrastructure-files.yml
  • infrastructure_files/getting-started-with-dex.sh
  • infrastructure_files/getting-started-with-zitadel.sh

@github-actions

Copy link
Copy Markdown

Release artifacts

Built for PR head c8e3eca in workflow run #17211.

Artifact Link
All release artifacts Download
Linux packages Download
Windows packages Download
macOS packages Download
UI artifacts Download
UI macOS artifacts Download

GHCR images (amd64)

This comment is updated by the Release workflow. Artifact links expire according to the workflow retention policy.

@jnfrati
jnfrati merged commit df39c2b into main Jul 29, 2026
54 checks passed
@jnfrati
jnfrati deleted the chore/deprecate-legacy-getting-started-scripts branch July 29, 2026 10:20
@fosskar fosskar Bot mentioned this pull request Jul 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants