Skip to content

Conversation

@chrisseto
Copy link
Contributor

Refactor the redpanda console integration to first convert redpanda.RenderState into a StaticConfiguration. The StaticConfiguration is then transformed into a PartialConsoleValues which is then merged into the subchart values to perform the final rendering.

This is done to allow allow the charts' integration to be leveraged by the upcoming console controller.

Notable changes include:

  • Using the bootstrap user for console's auth instead of the first listed SASL user.
  • Generating a partial version of Console's config to add typing to the configuration code.
  • The introduction of operator/pkg/ir to host non-user facing datastructures. These structs may evolve without impact to our public APIs and help resolve cyclic imports.

@chrisseto
Copy link
Contributor Author

Looks like this PR may partially address redpanda-data/helm-charts#835

The console integration now accounts for mTLS but there's still an open issue with how the chart generates client certs.

Base automatically changed from chris/p/console-extract-dot to main September 9, 2025 19:20
@chrisseto chrisseto force-pushed the chris/p/redpanda-console-refactor branch from a9b33cf to ada53eb Compare September 9, 2025 19:20
@chrisseto chrisseto marked this pull request as ready for review September 9, 2025 19:21
Copy link
Contributor

@RafalKorepta RafalKorepta left a comment

Choose a reason for hiding this comment

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

Unfortunately gen package or rather go list does not work with console/backend go package.

For example tags are not valid go versions for module. Console tags are e.g. v3.2.1 where go requires backend/v3.2.1.

$ go list -m -versions -json  github.com/redpanda-data/console/[email protected]
go: github.com/redpanda-data/console/[email protected]: invalid version: unknown revision backend/v3.2.1

I forked the repo and pushed tag named backend/v3.2.1 -> https://github.com/RafalKorepta/console/releases/tag/backend%2Fv3.2.1

That doesn't work either because module path should container v3 as major version.

$ go list -m -versions -json  github.com/RafalKorepta/console/[email protected]
go: github.com/RafalKorepta/console/[email protected]: invalid version: module contains a go.mod file, so module path must match major version ("github.com/RafalKorepta/console/backend/v3")

Yet I need to find a way to correctly reference it in the following command;

$ go list -e -json=Name,ImportPath,Error,Dir,GoFiles,IgnoredGoFiles,IgnoredOtherFiles,CFiles,CgoFiles,CXXFiles,MFiles,HFiles,FFiles,SFiles,SwigFiles,SwigCXXFiles,SysoFiles,CompiledGoFiles,DepOnly,Imports,ImportMap,Export,Module -compiled=true -test=false -export=true -deps=true -find=false -pgo=off -- github.com/RafalKorepta/console/backend/[email protected]
{
	"ImportPath": "github.com/RafalKorepta/console/backend/[email protected]",
	"Error": {
		"ImportStack": [
			"github.com/RafalKorepta/console/backend/[email protected]"
		],
		"Pos": "",
		"Err": "can only use path@version syntax with 'go get' and 'go install' in module-aware mode"
	}
}

@chrisseto chrisseto force-pushed the chris/p/redpanda-console-refactor branch from ada53eb to 867dcd8 Compare September 15, 2025 21:39
@chrisseto chrisseto changed the base branch from main to chris/p/remove-vectorized-console September 15, 2025 21:39
@chrisseto
Copy link
Contributor Author

Hmm. I've not seen the errors in CI locally. I'll dig into those tomorrow.

@chrisseto chrisseto force-pushed the chris/p/remove-vectorized-console branch 3 times, most recently from 6b83252 to 4084dc8 Compare September 16, 2025 19:57
Base automatically changed from chris/p/remove-vectorized-console to main September 17, 2025 14:44
@chrisseto chrisseto force-pushed the chris/p/redpanda-console-refactor branch from 867dcd8 to 7234e69 Compare September 17, 2025 14:59
@@ -0,0 +1,4 @@
project: charts/console
kind: Changed
body: Bumped `appVersion` to [`v3.2.2`](https://github.com/redpanda-data/console/releases/tag/v3.2.2).
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I bumped up to v3.2.2 as v3.0.1 has some massive headaches due to using koanf/[email protected].

@chrisseto chrisseto force-pushed the chris/p/redpanda-console-refactor branch 3 times, most recently from c54b753 to baced0a Compare September 18, 2025 17:34
@chrisseto
Copy link
Contributor Author

Ugh, looks like something in test containers is malfunctioning due to the upgrade...

@chrisseto chrisseto force-pushed the chris/p/redpanda-console-refactor branch 2 times, most recently from 5eb65e1 to 58668bc Compare September 22, 2025 17:47
github.com/cloudhut/common v0.11.0
github.com/google/gofuzz v1.2.0
github.com/redpanda-data/redpanda-operator/gotohelm v0.0.0-20250321104408-a6c0672707ab
github.com/redpanda-data/console/backend v0.0.0-20250915195818-3cd9fabec94b
Copy link
Contributor

Choose a reason for hiding this comment

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

Any update to the console go module would require to pin to exact git sha, right? The v3.2.2 go module reference will not work.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, that's correct.

Refactor the redpanda console integration to first convert
`redpanda.RenderState` into a `StaticConfiguration`. The `StaticConfiguration`
is then transformed into a `PartialConsoleValues` which is then merged into the
subchart values to perform the final rendering.

This is done to allow allow the charts' integration to be leveraged by the
upcoming console controller.

Notable changes include:
- Using the bootstrap user for console's auth instead of the first listed SASL
  user.
- Generating a partial version of Console's config to add typing to the configuration code.
- The introduction of `operator/pkg/ir` to host non-user facing datastructures.
  These structs may evolve without impact to our public APIs and help resolve
  cyclic imports.
@chrisseto chrisseto force-pushed the chris/p/redpanda-console-refactor branch from 58668bc to 8493983 Compare September 24, 2025 17:13
@chrisseto chrisseto enabled auto-merge (rebase) September 24, 2025 17:13
@chrisseto chrisseto merged commit 8d9b0bd into main Sep 24, 2025
10 checks passed
@github-actions
Copy link

💚 All backports created successfully

Status Branch Result
release/v25.1.x

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation and see the Github Action logs for details

@chrisseto chrisseto deleted the chris/p/redpanda-console-refactor branch September 24, 2025 18:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants