Skip to content

Conversation

yago-123
Copy link

@yago-123 yago-123 commented Sep 3, 2025

Description

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

Intake is composed of three components:

  • Intake Runners: dedicated, isolated runtime data ingestion environment
  • Intakes: 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. The remaining code (2/3) can be submitted as part of this PR once the first batch has been reviewed/approved or we can open a different PR for it (as the maintainer please).

The commands are designed to work as follows:

$ stackit-cli intake runner create ... 
$ stackit-cli intake create ... 
$ stackit-cli intake user create... 

Most customers will use intakes hence why we decided to go with this command structure. The folder structure will look like the following due to the hierachy desired:

$ ls stackit-cli/internal/cmd/intake
common    
instance    # command for intakes 
intake.go        
runner   
user  

Checklist

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

@yago-123 yago-123 requested a review from a team as a code owner September 3, 2025 08:34
@yago-123
Copy link
Author

yago-123 commented Sep 3, 2025

Sample CLI usage:

% ./bin/stackit intake runner create --display-name "runner-example" --max-message-size-kib 1024 --max-messages-per-hour 1000 --project-id xxx
Are you sure you want to create an Intake Runner for project "STACKIT Intake PROD"? [y/N] y
Created Intake Runner for project "STACKIT Intake PROD". Runner ID: yyy

% ./bin/stackit intake runner describe yyy  --project-id xxx                                                 
 
 ATTRIBUTE              │ VALUE                                                                 
────────────────────────┼───────────────────────────────────────────────────────────────────────
 ID                     │ yyy                                  
 Name                   │ runner-example                                                        
 Description            │                                                                       
 Max Message Size (KiB) │ 1024                                                                  
 Max Messages/Hour      │ 1000                                                                  
 Ingestion URI          │ yyy.intake.eu01.onstackit.cloud:9094 
 
% ./bin/stackit intake runner list  --project-id xxx          
 
 ID                                   │ NAME           
──────────────────────────────────────┼────────────────
 aaa  │ testyago       
 bbb │ runner1        
 zzz │ mytestrunner   
 ddd │ runner-example 
 fff │ runner1        
 yyy │ test-yago      
 
% ./bin/stackit intake runner update yyy --display-name runner-updated  --project-id xxx
Update request for Intake Runner "yyy" sent successfully.

% ./bin/stackit intake runner delete yyy  --project-id xxx                           
Are you sure you want to delete Intake Runner "yyy"? [y/N] y
Deletion request for Intake Runner "yyy" sent successfully.

@rubenhoenle rubenhoenle added the needs-work PR needs work from author. label Sep 4, 2025
@yago-123 yago-123 requested a review from rubenhoenle September 8, 2025 10:57
@yago-123
Copy link
Author

PS: notice that I messed up the branch by mistake, I had to cherry-pick until 7868e56 (last commit reviewed) and force push.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-work PR needs work from author.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants