-
Notifications
You must be signed in to change notification settings - Fork 0
feat: builder #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
b7c83d9 to
5232267
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces a new Pulumi “builder” component for deploying a builder service to Kubernetes, including argument validation, environment‐variable mapping, and resource orchestration.
- Add
go.modfor the new module and pull in required dependencies - Implement
BuilderComponentArgsandBuilderEnvvalidation logic - Define core types, helpers for KMS policy and env‐var generation, and the
NewBuilderfunction to wire up ServiceAccount, IAM roles/policies, Deployment, Service, and PodMonitor
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| go.mod | Declare new module signet-infra-components and its dependencies |
| builder/validation.go | Add Validate() methods for component args and environment struct |
| builder/types.go | Define BuilderComponentArgs, BuilderEnv, interfaces, and policies |
| builder/helpers.go | Generate KMS policy JSON and convert BuilderEnv to EnvVarArray |
| builder/builder.go | Implement NewBuilder to deploy all Kubernetes and IAM resources |
Comments suppressed due to low confidence (4)
builder/builder.go:85
- [nitpick] The logical name
quinceyAppPolicydoesn’t match the builder context. Rename it to something likebuilder-kms-policyor includeargs.Namefor consistency.
policy, err := iam.NewPolicy(ctx, "quinceyAppPolicy", &iam.PolicyArgs{
builder/builder.go:204
- [nitpick] Logical name
builder-svcmondiffers from metadata namebuilder-pod-monitor. Align these names to avoid confusion during resource diffs.
_, err = crd.NewCustomResource(ctx, "builder-svcmon", &crd.CustomResourceArgs{
builder/types.go:63
- [nitpick] Field prefixes mix
OauthandOAuth. Standardize the casing across all fields (e.g. always useOAuth) to improve consistency.
OAuthClientId pulumi.StringInput `pulumi:"oauthClientId"`
builder/validation.go:8
- No unit tests were added for validation logic. Consider adding tests to cover both success and failure paths in
Validate().
func (args *BuilderComponentArgs) Validate() error {

No description provided.