Skip to content

Commit 60d4604

Browse files
reshnmrobertgraeff
authored andcommitted
manage deployment repo command
1 parent 2f25adb commit 60d4604

35 files changed

+3184
-91
lines changed

cmd/manageDeploymentRepo.go

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
package cmd
2+
3+
import (
4+
"fmt"
5+
6+
"github.com/spf13/cobra"
7+
8+
deploymentrepo "github.com/openmcp-project/bootstrapper/internal/deployment-repo"
9+
"github.com/openmcp-project/bootstrapper/internal/log"
10+
)
11+
12+
const (
13+
FlagGitConfig = "git-config"
14+
FlagOcmConfig = "ocm-config"
15+
)
16+
17+
type LogWriter struct{}
18+
19+
func (w LogWriter) Write(p []byte) (n int, err error) {
20+
logger := log.GetLogger()
21+
logger.Debugf("Git progress: %s", string(p))
22+
return len(p), nil
23+
}
24+
25+
// manageDeploymentRepoCmd represents the manageDeploymentRepo command
26+
var manageDeploymentRepoCmd = &cobra.Command{
27+
Use: "manageDeploymentRepo",
28+
Short: "Updates the openMCP deployment specification in the specified Git repository",
29+
Long: `Updates the openMCP deployment specification in the specified Git repository.
30+
The update is based on the specified component version.
31+
openmcp-bootstrapper manageDeploymentRepo <configFile>`,
32+
Args: cobra.ExactArgs(1),
33+
ArgAliases: []string{
34+
"configFile",
35+
},
36+
Example: ` openmcp-bootstrapper manageDeploymentRepo "./config.yaml"`,
37+
RunE: func(cmd *cobra.Command, args []string) error {
38+
configFilePath := args[0]
39+
40+
config := &deploymentrepo.DeploymentRepoConfig{}
41+
err := config.ReadFromFile(configFilePath)
42+
if err != nil {
43+
return fmt.Errorf("failed to read config file: %w", err)
44+
}
45+
config.SetDefaults()
46+
err = config.Validate()
47+
if err != nil {
48+
return fmt.Errorf("invalid config file: %w", err)
49+
}
50+
51+
deploymentRepoManager, err := deploymentrepo.NewDeploymentRepoManager(
52+
config,
53+
cmd.Flag(FlagGitConfig).Value.String(),
54+
cmd.Flag(FlagOcmConfig).Value.String(),
55+
).Initialize(cmd.Context())
56+
57+
defer func() {
58+
deploymentRepoManager.Cleanup()
59+
}()
60+
61+
if err != nil {
62+
return fmt.Errorf("failed to initialize deployment repo manager: %w", err)
63+
}
64+
65+
err = deploymentRepoManager.ApplyTemplates(cmd.Context())
66+
if err != nil {
67+
return fmt.Errorf("failed to apply templates: %w", err)
68+
}
69+
70+
err = deploymentRepoManager.ApplyProviders(cmd.Context())
71+
if err != nil {
72+
return fmt.Errorf("failed to apply providers: %w", err)
73+
}
74+
75+
err = deploymentRepoManager.ApplyCustomResourceDefinitions(cmd.Context())
76+
if err != nil {
77+
return fmt.Errorf("failed to apply custom resource definitions: %w", err)
78+
}
79+
80+
err = deploymentRepoManager.UpdateResourcesKustomization()
81+
if err != nil {
82+
return fmt.Errorf("failed to update resources kustomization: %w", err)
83+
}
84+
85+
err = deploymentRepoManager.CommitAndPushChanges(cmd.Context())
86+
if err != nil {
87+
return fmt.Errorf("failed to commit and push changes: %w", err)
88+
}
89+
90+
err = deploymentRepoManager.RunKustomizeAndApply(cmd.Context())
91+
if err != nil {
92+
return fmt.Errorf("failed to run kustomize and apply: %w", err)
93+
}
94+
95+
return nil
96+
},
97+
}
98+
99+
func init() {
100+
RootCmd.AddCommand(manageDeploymentRepoCmd)
101+
manageDeploymentRepoCmd.Flags().SortFlags = false
102+
manageDeploymentRepoCmd.Flags().String(FlagOcmConfig, "", "ocm configuration file")
103+
manageDeploymentRepoCmd.Flags().String(FlagGitConfig, "", "Git configuration file")
104+
105+
if err := manageDeploymentRepoCmd.MarkFlagRequired(FlagGitConfig); err != nil {
106+
panic(err)
107+
}
108+
}

go.mod

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,12 @@ module github.com/openmcp-project/bootstrapper
33
go 1.25.1
44

55
require (
6+
github.com/Masterminds/sprig/v3 v3.3.0
7+
github.com/fluxcd/kustomize-controller/api v1.6.1
8+
github.com/fluxcd/pkg/apis/meta v1.12.0
9+
github.com/go-git/go-billy/v5 v5.6.2
610
github.com/go-git/go-git/v5 v5.16.2
11+
github.com/go-logr/logr v1.4.3
712
github.com/openmcp-project/controller-utils v0.19.0
813
github.com/sirupsen/logrus v1.9.3
914
github.com/spf13/cobra v1.10.1
@@ -12,26 +17,32 @@ require (
1217
k8s.io/apimachinery v0.34.0
1318
k8s.io/utils v0.0.0-20250820121507-0af2bda4dd1d
1419
sigs.k8s.io/controller-runtime v0.22.1
20+
sigs.k8s.io/kustomize v2.0.3+incompatible
21+
sigs.k8s.io/kustomize/api v0.20.1
22+
sigs.k8s.io/kustomize/kyaml v0.20.1
1523
sigs.k8s.io/yaml v1.6.0
1624
)
1725

1826
require (
19-
dario.cat/mergo v1.0.0 // indirect
27+
dario.cat/mergo v1.0.1 // indirect
28+
github.com/Masterminds/goutils v1.1.1 // indirect
29+
github.com/Masterminds/semver/v3 v3.4.0 // indirect
2030
github.com/Microsoft/go-winio v0.6.2 // indirect
2131
github.com/ProtonMail/go-crypto v1.1.6 // indirect
2232
github.com/beorn7/perks v1.0.1 // indirect
33+
github.com/blang/semver/v4 v4.0.0 // indirect
2334
github.com/cespare/xxhash/v2 v2.3.0 // indirect
2435
github.com/cloudflare/circl v1.6.1 // indirect
2536
github.com/cyphar/filepath-securejoin v0.4.1 // indirect
2637
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
2738
github.com/emicklei/go-restful/v3 v3.12.2 // indirect
2839
github.com/emirpasic/gods v1.18.1 // indirect
2940
github.com/evanphx/json-patch/v5 v5.9.11 // indirect
41+
github.com/fluxcd/pkg/apis/kustomize v1.12.0 // indirect
3042
github.com/fsnotify/fsnotify v1.9.0 // indirect
3143
github.com/fxamacker/cbor/v2 v2.9.0 // indirect
44+
github.com/go-errors/errors v1.4.2 // indirect
3245
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
33-
github.com/go-git/go-billy/v5 v5.6.2 // indirect
34-
github.com/go-logr/logr v1.4.3 // indirect
3546
github.com/go-openapi/jsonpointer v0.21.0 // indirect
3647
github.com/go-openapi/jsonreference v0.21.0 // indirect
3748
github.com/go-openapi/swag v0.23.0 // indirect
@@ -41,14 +52,18 @@ require (
4152
github.com/google/gnostic-models v0.7.0 // indirect
4253
github.com/google/go-cmp v0.7.0 // indirect
4354
github.com/google/uuid v1.6.0 // indirect
55+
github.com/huandu/xstrings v1.5.0 // indirect
4456
github.com/inconshreveable/mousetrap v1.1.0 // indirect
4557
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
4658
github.com/josharian/intern v1.0.0 // indirect
4759
github.com/json-iterator/go v1.1.12 // indirect
4860
github.com/kevinburke/ssh_config v1.2.0 // indirect
4961
github.com/mailru/easyjson v0.9.0 // indirect
62+
github.com/mitchellh/copystructure v1.2.0 // indirect
63+
github.com/mitchellh/reflectwalk v1.0.2 // indirect
5064
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
5165
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
66+
github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 // indirect
5267
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
5368
github.com/pjbgf/sha1cd v0.3.2 // indirect
5469
github.com/pkg/errors v0.9.1 // indirect
@@ -58,10 +73,13 @@ require (
5873
github.com/prometheus/common v0.62.0 // indirect
5974
github.com/prometheus/procfs v0.15.1 // indirect
6075
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect
76+
github.com/shopspring/decimal v1.4.0 // indirect
6177
github.com/skeema/knownhosts v1.3.1 // indirect
78+
github.com/spf13/cast v1.7.0 // indirect
6279
github.com/spf13/pflag v1.0.9 // indirect
6380
github.com/x448/float16 v0.8.4 // indirect
6481
github.com/xanzy/ssh-agent v0.3.3 // indirect
82+
github.com/xlab/treeprint v1.2.0 // indirect
6583
go.yaml.in/yaml/v2 v2.4.2 // indirect
6684
go.yaml.in/yaml/v3 v3.0.4 // indirect
6785
golang.org/x/crypto v0.41.0 // indirect

go.sum

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1-
dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk=
2-
dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
1+
dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s=
2+
dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
3+
github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI=
4+
github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU=
35
github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0=
46
github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
7+
github.com/Masterminds/sprig/v3 v3.3.0 h1:mQh0Yrg1XPo6vjYXgtf5OtijNAKJRNcTdOOGZe3tPhs=
8+
github.com/Masterminds/sprig/v3 v3.3.0/go.mod h1:Zy1iXRYNqNLUolqCpL4uhk6SHUMAOSCzdgBfDb35Lz0=
59
github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY=
610
github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
711
github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
@@ -13,6 +17,8 @@ github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPd
1317
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
1418
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
1519
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
20+
github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM=
21+
github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ=
1622
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
1723
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
1824
github.com/cloudflare/circl v1.6.1 h1:zqIqSPIndyBh1bjLVVDHMPpVKqp8Su/V+6MeDzzQBQ0=
@@ -34,12 +40,22 @@ github.com/evanphx/json-patch v4.12.0+incompatible h1:4onqiflcdA9EOZ4RxV643DvftH
3440
github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
3541
github.com/evanphx/json-patch/v5 v5.9.11 h1:/8HVnzMq13/3x9TPvjG08wUGqBTmZBsCWzjTM0wiaDU=
3642
github.com/evanphx/json-patch/v5 v5.9.11/go.mod h1:3j+LviiESTElxA4p3EMKAB9HXj3/XEtnUf6OZxqIQTM=
43+
github.com/fluxcd/kustomize-controller/api v1.6.1 h1:8AOD+BWQwCLT+u5jgtGryZWkCeslgr+cnQAfUzgWmGk=
44+
github.com/fluxcd/kustomize-controller/api v1.6.1/go.mod h1:b0i/KVz28tV8iuqlNHx7MW6ZtTcIbBELGLoKdaK+X8M=
45+
github.com/fluxcd/pkg/apis/kustomize v1.12.0 h1:KvZN6xwgP/dNSeckL4a/Uv715XqiN1C3xS+jGcPejtE=
46+
github.com/fluxcd/pkg/apis/kustomize v1.12.0/go.mod h1:OojLxIdKm1JAAdh3sL4j4F+vfrLKb7kq1vr8bpyEKgg=
47+
github.com/fluxcd/pkg/apis/meta v1.12.0 h1:XW15TKZieC2b7MN8VS85stqZJOx+/b8jATQ/xTUhVYg=
48+
github.com/fluxcd/pkg/apis/meta v1.12.0/go.mod h1:+son1Va60x2eiDcTwd7lcctbI6C+K3gM7R+ULmEq1SI=
49+
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
50+
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
3751
github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k=
3852
github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
3953
github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM=
4054
github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ=
4155
github.com/gliderlabs/ssh v0.3.8 h1:a4YXD1V7xMF9g5nTkdfnja3Sxy1PVDCj1Zg4Wb8vY6c=
4256
github.com/gliderlabs/ssh v0.3.8/go.mod h1:xYoytBv1sV0aL3CavoDuJIQNURXkkfPA/wxQ1pL1fAU=
57+
github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA=
58+
github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og=
4359
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI=
4460
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic=
4561
github.com/go-git/go-billy/v5 v5.6.2 h1:6Q86EsPXMa7c3YZ3aLAQsMA0VlWmy43r6FHqa/UNbRM=
@@ -77,6 +93,8 @@ github.com/google/pprof v0.0.0-20250820193118-f64d9cf942d6 h1:EEHtgt9IwisQ2AZ4pI
7793
github.com/google/pprof v0.0.0-20250820193118-f64d9cf942d6/go.mod h1:I6V7YzU0XDpsHqbsyrghnFZLO1gwK6NPTNvmetQIk9U=
7894
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
7995
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
96+
github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI=
97+
github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
8098
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
8199
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
82100
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
@@ -102,12 +120,18 @@ github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0
102120
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
103121
github.com/mailru/easyjson v0.9.0 h1:PrnmzHw7262yW8sTBwxi1PdJA3Iw/EKBa8psRf7d9a4=
104122
github.com/mailru/easyjson v0.9.0/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU=
123+
github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw=
124+
github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s=
125+
github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ=
126+
github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
105127
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
106128
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
107129
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
108130
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
109131
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8=
110132
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
133+
github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 h1:n6/2gBQ3RWajuToeY6ZtZTIKv2v7ThUy5KKusIT0yc0=
134+
github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00/go.mod h1:Pm3mSP3c5uWn86xMLZ5Sa7JB9GsEZySvHYXCTK4E9q4=
111135
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
112136
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
113137
github.com/onsi/ginkgo/v2 v2.25.2 h1:hepmgwx1D+llZleKQDMEvy8vIlCxMGt7W5ZxDjIEhsw=
@@ -136,11 +160,15 @@ github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7
136160
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
137161
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8=
138162
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4=
163+
github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k=
164+
github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME=
139165
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
140166
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
141167
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
142168
github.com/skeema/knownhosts v1.3.1 h1:X2osQ+RAjK76shCbvhHHHVl3ZlgDm8apHEHFqRjnBY8=
143169
github.com/skeema/knownhosts v1.3.1/go.mod h1:r7KTdC8l4uxWRyK2TpQZ/1o5HaSzh06ePQNxPwTcfiY=
170+
github.com/spf13/cast v1.7.0 h1:ntdiHjuueXFgm5nzDRdOS4yfT43P5Fnud6DH50rz/7w=
171+
github.com/spf13/cast v1.7.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
144172
github.com/spf13/cobra v1.10.1 h1:lJeBwCfmrnXthfAupyUTzJ/J4Nc1RsHC/mSRU2dll/s=
145173
github.com/spf13/cobra v1.10.1/go.mod h1:7SmJGaTHFVBY0jW4NXGluQoLvhqFQM+6XSKD+P4XaB0=
146174
github.com/spf13/pflag v1.0.9 h1:9exaQaMOCwffKiiiYk6/BndUBv+iRViNW+4lEMi0PvY=
@@ -158,6 +186,8 @@ github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
158186
github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
159187
github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM=
160188
github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw=
189+
github.com/xlab/treeprint v1.2.0 h1:HzHnuAF1plUN2zGlAFHbSQP2qJ0ZAD3XF5XD7OesXRQ=
190+
github.com/xlab/treeprint v1.2.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0=
161191
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
162192
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
163193
go.uber.org/automaxprocs v1.6.0 h1:O3y2/QNTOdbF+e/dpXNNW7Rx2hZ4sTIPyybbxyNqTUs=
@@ -262,6 +292,12 @@ sigs.k8s.io/controller-runtime v0.22.1 h1:Ah1T7I+0A7ize291nJZdS1CabF/lB4E++WizgV
262292
sigs.k8s.io/controller-runtime v0.22.1/go.mod h1:FwiwRjkRPbiN+zp2QRp7wlTCzbUXxZ/D4OzuQUDwBHY=
263293
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 h1:gBQPwqORJ8d8/YNZWEjoZs7npUVDpVXUUOFfW6CgAqE=
264294
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg=
295+
sigs.k8s.io/kustomize v2.0.3+incompatible h1:JUufWFNlI44MdtnjUqVnvh29rR37PQFzPbLXqhyOyX0=
296+
sigs.k8s.io/kustomize v2.0.3+incompatible/go.mod h1:MkjgH3RdOWrievjo6c9T245dYlB5QeXV4WCbnt/PEpU=
297+
sigs.k8s.io/kustomize/api v0.20.1 h1:iWP1Ydh3/lmldBnH/S5RXgT98vWYMaTUL1ADcr+Sv7I=
298+
sigs.k8s.io/kustomize/api v0.20.1/go.mod h1:t6hUFxO+Ph0VxIk1sKp1WS0dOjbPCtLJ4p8aADLwqjM=
299+
sigs.k8s.io/kustomize/kyaml v0.20.1 h1:PCMnA2mrVbRP3NIB6v9kYCAc38uvFLVs8j/CD567A78=
300+
sigs.k8s.io/kustomize/kyaml v0.20.1/go.mod h1:0EmkQHRUsJxY8Ug9Niig1pUMSCGHxQ5RklbpV/Ri6po=
265301
sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU=
266302
sigs.k8s.io/randfill v1.0.0/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY=
267303
sigs.k8s.io/structured-merge-diff/v6 v6.3.0 h1:jTijUJbW353oVOd9oTlifJqOGEkUw2jB/fXCbTiQEco=

0 commit comments

Comments
 (0)