Skip to content

feat(providers): add STACKIT provider support - #2328

Open
RiRa12621 wants to merge 2 commits into
coreos:mainfrom
RiRa12621:main
Open

RiRa12621 wants to merge 2 commits into
coreos:mainfrom
RiRa12621:main

Conversation

@RiRa12621

Copy link
Copy Markdown

Adds STACKIT as provider as part of coreos/fedora-coreos-tracker#2175

@coderabbitai

coderabbitai Bot commented Sep 21, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review.

Walkthrough

The pull request adds a STACKIT platform provider. It retrieves instance userdata from the OpenStack-compatible metadata service, parses the configuration, registers the provider, and documents STACKIT support.

Changes: STACKIT provider support

Layer / File(s) Summary
Userdata retrieval and parsing
internal/providers/stackit/stackit.go, internal/providers/stackit/stackit_test.go
The provider fetches userdata, tolerates missing userdata, and parses the configuration. Tests cover valid and invalid data, unavailable and forbidden responses, retries, and offline operation.
Provider registration and documentation
internal/register/providers.go, docs/supported-platforms.md, docs/release-notes.d/stackit-provider.feature.md
The register package imports the provider. The platform documentation describes the userdata source and links to STACKIT. A release note announces platform support.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Feature

Sequence Diagram(s)

sequenceDiagram
  participant Ignition
  participant STACKITProvider
  participant MetadataService
  participant ConfigParser
  Ignition->>STACKITProvider: Request platform configuration
  STACKITProvider->>MetadataService: Fetch instance userdata
  MetadataService-->>STACKITProvider: Return userdata or error
  STACKITProvider->>ConfigParser: Parse userdata
  ConfigParser-->>Ignition: Return configuration and report
Loading

Possibly related PRs

  • coreos/ignition#2355: It changes retry handling for HTTP 404 responses from the same OpenStack-compatible metadata service endpoint used by the STACKIT provider.
  • coreos/ignition#2347: It establishes the per-PR release-note fragment process used by this change.
  • coreos/ignition#2352: It introduces the release-note fragment workflow that uses the fragment added here.

Suggested reviewers: prestist, yasminvalim

Merge Risk: Minimal · up to da2a8

No merge-blocking risk is evidenced for the STACKIT provider support.

Pre-merge checks: Passed 4 · Failed 2

Failed Failed checks: 2 warnings

Check name Status Explanation Resolution
Title check Warning The title describes the change, but it does not follow the required subsystem format because it uses the conventional-commit prefix "feat(providers)". Use a subsystem prefix followed by a colon, such as "providers/stackit: add STACKIT provider support".
Commit Message Convention Warning The PR contains two non-merge commits. feat(providers): add STACKIT provider support fails because feat(providers) is a Conventional Commit prefix, not the required subsystem format. `docs: add re… Rename the first commit to providers/stackit: add STACKIT provider support or another valid subsystem prefix, such as providers. Keep the docs: add release note for STACKIT provider commit unchanged.
Passed Passed checks: 4 passed
Check name Status Explanation
Description check Passed The description identifies the STACKIT provider change and links it to the related tracking issue.
Docstring Coverage Passed Docstring coverage is inconclusive: files from earlier reviews still need to be rechecked within the check's analysis limits. Not blocking.
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.
Full details: Commit Message Convention

Explanation

The PR contains two non-merge commits. feat(providers): add STACKIT provider support fails because feat(providers) is a Conventional Commit prefix, not the required subsystem format. docs: add release note for STACKIT provider conforms: docs is a valid subsystem, add is lowercase imperative, and there is no trailing period.

Resolution

Rename the first commit to providers/stackit: add STACKIT provider support or another valid subsystem prefix, such as providers. Keep the docs: add release note for STACKIT provider commit unchanged.

Finishing Touches
Generate unit tests (beta)
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Tip

🎯 Customize your risk assessments

Guide how CodeRabbit assesses merge risk and security architecture risk. Highlight sensitive changes and explain your security boundaries using Merge Risk Instructions and Security Risk Instructions in your review settings. Security architecture risk assessments require the Advanced plan or above.

✅ Automatic approvals, with your rules

Let CodeRabbit approve pull requests once required threads are resolved, pre-merge checks pass, and your risk limits are met. Enable Automatic approvals in review settings, with overrides for teams or file paths.

CodeRabbit Verify

  • Run CodeRabbit Verify to test the changes in this pull request.
Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between 33fbd01 and da2a8fb.

Files selected for processing: 1
  • docs/release-notes.d/stackit-provider.feature.md

Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 3 remain after this review.

Recent review details
Context from checks skipped due to timeout: 1
  • GitHub Check: CodeRabbit
Additional context used
Path-based instructions: 1
Documentation served via GitHub Pages/Jekyll.

CodeRabbit configuration file

Files:

  • docs/release-notes.d/stackit-provider.feature.md
Additional comments: 1
docs/release-notes.d/stackit-provider.feature.md: 1

1-1: LGTM!

@github-actions

github-actions Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

Binary size report (bin/amd64/ignition)

Size
Base (main) 33MiB
PR (#2328) 33MiB
Delta +140KiB (0.42%)

@yasminvalim yasminvalim 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.

Hey @RiRa12621, thank you for working on this! LGTM!

One thing to fix before merge is the "require release note" check that is failing. #2347 merged a few days ago and changed how release notes work: instead of editing docs/release-notes.md directly, PRs now add a small fragment file under docs/release-notes.d/. See docs/release-notes.d/README.md for the format.

It should be something like:

docs/release-notes.d/stackit-provider.feature.md
Add support for the STACKIT platform.

I guess you will need rebase onto main first, since that also pulls in the new validation tooling (go run ./internal/util/tools/release-notes validate) this check now runs.

@prestist

prestist commented Nov 3, 2026 •

Copy link
Copy Markdown
Collaborator

Thank you! I added the release-note fragment as a separate commit to your branch (docs/release-notes.d/stackit-provider.feature.md, da2a8fb), so Require release note should pass on the next run. Code and tests look good to me. Once CI is green, it should be ready.

@prestist
prestist enabled auto-merge November 3, 2026 20:56

This branch has not been deployed

No deployments
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