Skip to content

Onboarding Intake(1/3): Intake Runner#1086

Open
devanshcache wants to merge 38 commits intostackitcloud:mainfrom
stackit-intake:onboard-intake
Open

Onboarding Intake(1/3): Intake Runner#1086
devanshcache wants to merge 38 commits intostackitcloud:mainfrom
stackit-intake:onboard-intake

Conversation

@devanshcache
Copy link
Copy Markdown

Description

This PR onboards the new STACKIT Intake (ticket) service into the Terraform provider.

Intake is composed of three components:

  • Intake Runners: dedicated, isolated runtime data ingestion environment
  • Intake: a specific data stream or topic within an Intake Runner
  • Intake Users: provides secure access credentials for your applications to connect to your Intake

This PR contains the Intake Runners part only to make a quicker and less overwhelming review.

Checklist

  • Issue was linked above
  • Code format was applied: make fmt
  • Examples were added / adjusted (see examples/ directory)
  • Docs are up-to-date: make generate-docs (will be checked by CI)
  • Unit tests got implemented or updated
  • Acceptance tests got implemented or updated (see e.g. here)
  • Unit tests are passing: make test (will be checked by CI)
  • No linter issues: make lint (will be checked by CI)

@devanshcache devanshcache requested a review from a team as a code owner December 8, 2025 08:08
@devanshcache devanshcache changed the title onboarding(1/3): Intake Runner Onboarding Intake(1/3): Intake Runner Dec 8, 2025
@rubenhoenle
Copy link
Copy Markdown
Member

@yago-123 could you please resolve the comments you adressed already? I will only start with another review as soon as all open comments are resolved.

@rubenhoenle
Copy link
Copy Markdown
Member

And please check that failing CI pipeline. Maybe run a make lint and a make test before your next update of this PR 😅

@yago-123
Copy link
Copy Markdown

@yago-123 could you please resolve the comments you adressed already? I will only start with another review as soon as all open comments are resolved.

Yes! notice this is still in progress though

@yago-123 yago-123 force-pushed the onboard-intake branch 3 times, most recently from 9d5b54d to 3922287 Compare January 27, 2026 14:54
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 9, 2026

This PR was marked as stale after 7 days of inactivity and will be closed after another 7 days of further inactivity. If this PR should be kept open, just add a comment, remove the stale label or push new commits to it.

@github-actions github-actions bot added the Stale PR is marked as stale due to inactivity. label Apr 9, 2026
@rubenhoenle rubenhoenle removed the Stale PR is marked as stale due to inactivity. label Apr 9, 2026
project_id = var.project_id
name = var.name
region = var.region
description = "An example runner for Intake"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Please use a variable here instead of hardcoding

resource.TestCheckResourceAttr(intakeRunnerResource, "max_message_size_kib", testutil.ConvertConfigVariable(testIntakeRunnerConfigVarsMin["max_message_size_kib"])),
resource.TestCheckResourceAttr(intakeRunnerResource, "max_messages_per_hour", testutil.ConvertConfigVariable(testIntakeRunnerConfigVarsMin["max_messages_per_hour"])),
resource.TestCheckResourceAttrSet(intakeRunnerResource, "id"),
resource.TestCheckResourceAttr(intakeRunnerResource, "region", testutil.ConvertConfigVariable(testIntakeRunnerConfigVarsMax["region"])),
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Please verify here that the description field is unset

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

same for labels

resource.TestCheckResourceAttrPair(intakeRunnerResource, "runner_id", "data.stackit_intake_runner.example", "runner_id"),
resource.TestCheckResourceAttrPair(intakeRunnerResource, "name", "data.stackit_intake_runner.example", "name"),
resource.TestCheckResourceAttrPair(intakeRunnerResource, "region", "data.stackit_intake_runner.example", "region"),
resource.TestCheckResourceAttrPair(intakeRunnerResource, "max_messages_per_hour", "data.stackit_intake_runner.example", "max_messages_per_hour"),
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

same here

resource.TestCheckResourceAttr(intakeRunnerResource, "max_messages_per_hour", testutil.ConvertConfigVariable(testIntakeRunnerConfigVarsMin["max_messages_per_hour"])),
resource.TestCheckResourceAttr(intakeRunnerResource, "region", testutil.ConvertConfigVariable(testIntakeRunnerConfigVarsMax["region"])),
resource.TestCheckResourceAttrSet(intakeRunnerResource, "runner_id"),
resource.TestCheckResourceAttrSet(intakeRunnerResource, "id"),
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

same here

resource.TestCheckResourceAttr(intakeRunnerResource, "max_message_size_kib", testutil.ConvertConfigVariable(testIntakeRunnerConfigVarsMin["max_message_size_kib"])),
resource.TestCheckResourceAttr(intakeRunnerResource, "max_messages_per_hour", testutil.ConvertConfigVariable(testIntakeRunnerConfigVarsMin["max_messages_per_hour"])),
resource.TestCheckResourceAttrSet(intakeRunnerResource, "id"),
resource.TestCheckResourceAttr(intakeRunnerResource, "region", testutil.ConvertConfigVariable(testIntakeRunnerConfigVarsMax["region"])),
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
resource.TestCheckResourceAttr(intakeRunnerResource, "region", testutil.ConvertConfigVariable(testIntakeRunnerConfigVarsMax["region"])),
resource.TestCheckResourceAttr(intakeRunnerResource, "region", testutil.Region),

Don't use the max values in the min test please :)

resource.TestCheckResourceAttr(intakeRunnerResource, "name", testutil.ConvertConfigVariable(testIntakeRunnerConfigVarsMinUpdated()["name"])),
resource.TestCheckResourceAttr(intakeRunnerResource, "max_message_size_kib", testutil.ConvertConfigVariable(testIntakeRunnerConfigVarsMin["max_message_size_kib"])),
resource.TestCheckResourceAttr(intakeRunnerResource, "max_messages_per_hour", testutil.ConvertConfigVariable(testIntakeRunnerConfigVarsMin["max_messages_per_hour"])),
resource.TestCheckResourceAttr(intakeRunnerResource, "region", testutil.ConvertConfigVariable(testIntakeRunnerConfigVarsMax["region"])),
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
resource.TestCheckResourceAttr(intakeRunnerResource, "region", testutil.ConvertConfigVariable(testIntakeRunnerConfigVarsMax["region"])),
resource.TestCheckResourceAttr(intakeRunnerResource, "region", testutil.Region),

Description: descriptions["region"],
PlanModifiers: []planmodifier.String{
stringplanmodifier.RequiresReplace(),
},
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

What about the uri and create_time fields? Could be included as computed fields. Same for the datasource.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Don't forget to include them in your Acc tests.

You can also do it in a follow-up PR if you want, then we can merge this one first.

@@ -0,0 +1,268 @@
package intake_test
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

please name that file intake_acc_test.go to stick with our conventions

@rubenhoenle
Copy link
Copy Markdown
Member

Also please rebase your branch, you have some conflicts here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants