[PR #6431] [misc] Installation fallback for when host is missing openssl dependency #28204

Open
opened 2026-08-05 08:05:58 -04:00 by saavagebueno · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/netbirdio/netbird/pull/6431
Author: @adikavemen
Created: 6/14/2026
Status: 🔄 Open

Base: mainHead: openssl-less


📝 Commits (4)

  • 3ae38f1 Support openssl key generation on machines missing openssl
  • 15e3266 Change single bracket to double brackets for condition
  • 2d9a8c9 Use quotes for variables and check command exists
  • e08990c Merge branch 'netbirdio:main' into openssl-less

📊 Changes

1 file changed (+26 additions, -3 deletions)

View changed files

📝 infrastructure_files/getting-started.sh (+26 -3)

📄 Description

Describe your changes

Added checks for openssl dependency being met in the installation script. When the dependency is not met the script spins up temporary alpine openssl containers to generate keys. Tries to use pre-existing openssl image if present. Handles clean up if images are retrieved.

Stack

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 (explain why)
    This PR does not change how the script already functions. It provides a fallback for when openssl is not available on the host.

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

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

Summary by CodeRabbit

Summary by CodeRabbit

  • Chores
    • Improved the getting-started setup by initializing default configuration values before secret generation.
    • Updated secret generation to adapt to the environment: uses locally available cryptographic tooling when present, otherwise generates secrets via a containerized fallback.
    • Maintains consistent secret formatting across scenarios and streamlines related cleanup.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/netbirdio/netbird/pull/6431 **Author:** [@adikavemen](https://github.com/adikavemen) **Created:** 6/14/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `openssl-less` --- ### 📝 Commits (4) - [`3ae38f1`](https://github.com/netbirdio/netbird/commit/3ae38f1e1fb02d3fca39af440f6f90d3ab152eab) Support openssl key generation on machines missing openssl - [`15e3266`](https://github.com/netbirdio/netbird/commit/15e3266cb9664d40334207656eeb9e9a534792d3) Change single bracket to double brackets for condition - [`2d9a8c9`](https://github.com/netbirdio/netbird/commit/2d9a8c93df65e69315700727f15db58938d335cd) Use quotes for variables and check command exists - [`e08990c`](https://github.com/netbirdio/netbird/commit/e08990c0b7f3a8a7ead6624557c3be5bff1689e4) Merge branch 'netbirdio:main' into openssl-less ### 📊 Changes **1 file changed** (+26 additions, -3 deletions) <details> <summary>View changed files</summary> 📝 `infrastructure_files/getting-started.sh` (+26 -3) </details> ### 📄 Description ## Describe your changes Added checks for openssl dependency being met in the installation script. When the dependency is not met the script spins up temporary alpine openssl containers to generate keys. Tries to use pre-existing openssl image if present. Handles clean up if images are retrieved. ## Issue ticket number and link ## Stack <!-- branch-stack --> ### Checklist - [x] 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) - [x] 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](https://github.com/netbirdio/netbird/blob/main/CONTRIBUTING.md#discuss-changes-with-the-netbird-team-first). > By submitting this pull request, you confirm that you have read and agree to the terms of the [Contributor License Agreement](https://github.com/netbirdio/netbird/blob/main/CONTRIBUTOR_LICENSE_AGREEMENT.md). ## Documentation Select exactly one: - [ ] I added/updated documentation for this change - [x] Documentation is **not needed** for this change (explain why) This PR does not change how the script already functions. It provides a fallback for when openssl is not available on the host. ### Docs PR URL (required if "docs added" is checked) Paste the PR link from https://github.com/netbirdio/docs here: N/A <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Summary by CodeRabbit * **Chores** * Improved the getting-started setup by initializing default configuration values before secret generation. * Updated secret generation to adapt to the environment: uses locally available cryptographic tooling when present, otherwise generates secrets via a containerized fallback. * Maintains consistent secret formatting across scenarios and streamlines related cleanup. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
saavagebueno added the pull-request label 2026-08-05 08:05:58 -04:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#28204