Skip to content

Commit d0a390c

Browse files
authored
refactor: cleanup code for commands and flags (#54)
1 parent c43a167 commit d0a390c

File tree

11 files changed

+117
-84
lines changed

11 files changed

+117
-84
lines changed

go.mod

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ require (
1313
github.com/oapi-codegen/runtime v1.1.2
1414
github.com/opencontainers/image-spec v1.1.1
1515
github.com/spf13/cobra v1.10.2
16+
github.com/spf13/viper v1.21.0
1617
github.com/stretchr/testify v1.11.1
1718
github.com/zalando/go-keyring v0.2.6
1819
golang.design/x/clipboard v0.7.1
@@ -32,12 +33,14 @@ require (
3233
github.com/dprotaso/go-yit v0.0.0-20220510233725-9ba8df137936 // indirect
3334
github.com/emicklei/go-restful/v3 v3.13.0 // indirect
3435
github.com/felixge/httpsnoop v1.0.4 // indirect
36+
github.com/fsnotify/fsnotify v1.9.0 // indirect
3537
github.com/fxamacker/cbor/v2 v2.9.0 // indirect
3638
github.com/go-logr/logr v1.4.3 // indirect
3739
github.com/go-logr/stdr v1.2.2 // indirect
3840
github.com/go-openapi/jsonpointer v0.21.0 // indirect
3941
github.com/go-openapi/jsonreference v0.20.2 // indirect
4042
github.com/go-openapi/swag v0.23.0 // indirect
43+
github.com/go-viper/mapstructure/v2 v2.4.0 // indirect
4144
github.com/godbus/dbus/v5 v5.1.0 // indirect
4245
github.com/gogo/protobuf v1.3.2 // indirect
4346
github.com/google/gnostic-models v0.7.0 // indirect
@@ -54,13 +57,19 @@ require (
5457
github.com/oasdiff/yaml v0.0.0-20250309154309-f31be36b4037 // indirect
5558
github.com/oasdiff/yaml3 v0.0.0-20250309153720-d2182401db90 // indirect
5659
github.com/opencontainers/go-digest v1.0.0 // indirect
60+
github.com/pelletier/go-toml/v2 v2.2.4 // indirect
5761
github.com/perimeterx/marshmallow v1.1.5 // indirect
5862
github.com/pkg/errors v0.9.1 // indirect
5963
github.com/pmezard/go-difflib v1.0.0 // indirect
64+
github.com/sagikazarmark/locafero v0.11.0 // indirect
6065
github.com/sirupsen/logrus v1.9.3 // indirect
66+
github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 // indirect
6167
github.com/speakeasy-api/jsonpath v0.6.0 // indirect
6268
github.com/speakeasy-api/openapi-overlay v0.10.2 // indirect
63-
github.com/spf13/pflag v1.0.9 // indirect
69+
github.com/spf13/afero v1.15.0 // indirect
70+
github.com/spf13/cast v1.10.0 // indirect
71+
github.com/spf13/pflag v1.0.10 // indirect
72+
github.com/subosito/gotenv v1.6.0 // indirect
6473
github.com/vmware-labs/yaml-jsonpath v0.3.2 // indirect
6574
github.com/woodsbury/decimal128 v1.3.0 // indirect
6675
github.com/x448/float16 v0.8.4 // indirect

go.sum

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ github.com/emicklei/go-restful/v3 v3.13.0 h1:C4Bl2xDndpU6nJ4bc1jXd+uTmYPVUwkD6bF
3131
github.com/emicklei/go-restful/v3 v3.13.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
3232
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
3333
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
34+
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
35+
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
3436
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
3537
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
3638
github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k=
@@ -58,6 +60,8 @@ github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1v
5860
github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
5961
github.com/go-test/deep v1.0.8 h1:TDsG77qcSprGbC6vTN8OuXp5g+J+b5Pcguhf7Zt61VM=
6062
github.com/go-test/deep v1.0.8/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE=
63+
github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs=
64+
github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
6165
github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk=
6266
github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
6367
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
@@ -150,6 +154,8 @@ github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8
150154
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
151155
github.com/opencontainers/image-spec v1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJwooC2xJA040=
152156
github.com/opencontainers/image-spec v1.1.1/go.mod h1:qpqAh3Dmcf36wStyyWU+kCeDgrGnAve2nCC8+7h8Q0M=
157+
github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4=
158+
github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY=
153159
github.com/perimeterx/marshmallow v1.1.5 h1:a2LALqQ1BlHM8PZblsDdidgv1mWi1DgC2UmX50IvK2s=
154160
github.com/perimeterx/marshmallow v1.1.5/go.mod h1:dsXbUu8CRzfYP5a87xpp0xq9S3u0Vchtcl8we9tYaXw=
155161
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
@@ -159,18 +165,29 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN
159165
github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
160166
github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
161167
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
168+
github.com/sagikazarmark/locafero v0.11.0 h1:1iurJgmM9G3PA/I+wWYIOw/5SyBtxapeHDcg+AAIFXc=
169+
github.com/sagikazarmark/locafero v0.11.0/go.mod h1:nVIGvgyzw595SUSUE6tvCp3YYTeHs15MvlmU87WwIik=
162170
github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0=
163171
github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
164172
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
165173
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
174+
github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 h1:+jumHNA0Wrelhe64i8F6HNlS8pkoyMv5sreGx2Ry5Rw=
175+
github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8/go.mod h1:3n1Cwaq1E1/1lhQhtRK2ts/ZwZEhjcQeJQ1RuC6Q/8U=
166176
github.com/speakeasy-api/jsonpath v0.6.0 h1:IhtFOV9EbXplhyRqsVhHoBmmYjblIRh5D1/g8DHMXJ8=
167177
github.com/speakeasy-api/jsonpath v0.6.0/go.mod h1:ymb2iSkyOycmzKwbEAYPJV/yi2rSmvBCLZJcyD+VVWw=
168178
github.com/speakeasy-api/openapi-overlay v0.10.2 h1:VOdQ03eGKeiHnpb1boZCGm7x8Haj6gST0P3SGTX95GU=
169179
github.com/speakeasy-api/openapi-overlay v0.10.2/go.mod h1:n0iOU7AqKpNFfEt6tq7qYITC4f0yzVVdFw0S7hukemg=
180+
github.com/spf13/afero v1.15.0 h1:b/YBCLWAJdFWJTN9cLhiXXcD7mzKn9Dm86dNnfyQw1I=
181+
github.com/spf13/afero v1.15.0/go.mod h1:NC2ByUVxtQs4b3sIUphxK0NioZnmxgyCrfzeuq8lxMg=
182+
github.com/spf13/cast v1.10.0 h1:h2x0u2shc1QuLHfxi+cTJvs30+ZAHOGRic8uyGTDWxY=
183+
github.com/spf13/cast v1.10.0/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo=
170184
github.com/spf13/cobra v1.10.2 h1:DMTTonx5m65Ic0GOoRY2c16WCbHxOOw6xxezuLaBpcU=
171185
github.com/spf13/cobra v1.10.2/go.mod h1:7C1pvHqHw5A4vrJfjNwvOdzYu0Gml16OCs2GRiTUUS4=
172-
github.com/spf13/pflag v1.0.9 h1:9exaQaMOCwffKiiiYk6/BndUBv+iRViNW+4lEMi0PvY=
173186
github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
187+
github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk=
188+
github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
189+
github.com/spf13/viper v1.21.0 h1:x5S+0EU27Lbphp4UKm1C+1oQO+rKx36vfCoaVebLFSU=
190+
github.com/spf13/viper v1.21.0/go.mod h1:P0lhsswPGWD/1lZJ9ny3fYnVqxiegrlNrEmgLjbTCAY=
174191
github.com/spkg/bom v0.0.0-20160624110644-59b7046e48ad/go.mod h1:qLr4V1qq6nMqFKkMo8ZTx3f+BZEkzsRUY10Xsm2mwU0=
175192
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
176193
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
@@ -186,6 +203,8 @@ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO
186203
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
187204
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
188205
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
206+
github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8=
207+
github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU=
189208
github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU=
190209
github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg=
191210
github.com/vmware-labs/yaml-jsonpath v0.3.2 h1:/5QKeCBGdsInyDCyVNLbXyilb61MXGi9NP674f9Hobk=

pkg/cmd/cleanupdeployment.go

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"github.com/SwissDataScienceCenter/renku-dev-utils/pkg/k8s"
1313
ns "github.com/SwissDataScienceCenter/renku-dev-utils/pkg/namespace"
1414
"github.com/spf13/cobra"
15+
"github.com/spf13/viper"
1516
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1617
)
1718

@@ -22,7 +23,13 @@ var cleanupDeploymentCmd = &cobra.Command{
2223
}
2324

2425
func cleanupDeployment(cmd *cobra.Command, args []string) {
25-
ctx := context.Background()
26+
ctx := cmd.Context()
27+
if ctx == nil {
28+
ctx = context.Background()
29+
}
30+
31+
namespace := viper.GetString("namespace")
32+
deleteNamespace := viper.GetBool("delete-namespace")
2633

2734
if namespace == "" {
2835
cli, err := github.NewGitHubCLI("")
@@ -126,8 +133,8 @@ func cleanupDeployment(cmd *cobra.Command, args []string) {
126133
}
127134

128135
func init() {
129-
cleanupDeploymentCmd.Flags().StringVarP(&namespace, "namespace", "n", "", "k8s namespace")
130-
cleanupDeploymentCmd.Flags().BoolVar(&deleteNamespace, "delete-namespace", false, "if set, the namespace will be deleted")
136+
cleanupDeploymentCmd.Flags().StringP("namespace", "n", "", "k8s namespace")
137+
cleanupDeploymentCmd.Flags().Bool("delete-namespace", false, "if set, the namespace will be deleted")
131138
}
132139

133140
func askForConfirmation(question string) (response bool, err error) {

pkg/cmd/copykeycloakadminpassword.go

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"github.com/SwissDataScienceCenter/renku-dev-utils/pkg/k8s"
1010
ns "github.com/SwissDataScienceCenter/renku-dev-utils/pkg/namespace"
1111
"github.com/spf13/cobra"
12+
"github.com/spf13/viper"
1213
"golang.design/x/clipboard"
1314
)
1415

@@ -20,7 +21,14 @@ var copyKeycloakAdminPasswordCmd = &cobra.Command{
2021
}
2122

2223
func runCopyKeycloakAdminPassword(cmd *cobra.Command, args []string) {
23-
ctx := context.Background()
24+
ctx := cmd.Context()
25+
if ctx == nil {
26+
ctx = context.Background()
27+
}
28+
29+
namespace := viper.GetString("namespace")
30+
secretName := viper.GetString("secret-name")
31+
secretKey := viper.GetString("secret-key")
2432

2533
if namespace == "" {
2634
cli, err := github.NewGitHubCLI("")
@@ -64,7 +72,7 @@ func runCopyKeycloakAdminPassword(cmd *cobra.Command, args []string) {
6472
}
6573

6674
func init() {
67-
copyKeycloakAdminPasswordCmd.Flags().StringVarP(&namespace, "namespace", "n", "", "k8s namespace")
68-
copyKeycloakAdminPasswordCmd.Flags().StringVar(&secretName, "secret-name", "keycloak-password-secret", "secret name")
69-
copyKeycloakAdminPasswordCmd.Flags().StringVar(&secretKey, "secret-key", "KEYCLOAK_ADMIN_PASSWORD", "secret key")
75+
copyKeycloakAdminPasswordCmd.Flags().StringP("namespace", "n", "", "k8s namespace")
76+
copyKeycloakAdminPasswordCmd.Flags().String("secret-name", "keycloak-password-secret", "secret name")
77+
copyKeycloakAdminPasswordCmd.Flags().String("secret-key", "KEYCLOAK_ADMIN_PASSWORD", "secret key")
7078
}

pkg/cmd/login.go

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
ns "github.com/SwissDataScienceCenter/renku-dev-utils/pkg/namespace"
1010
"github.com/SwissDataScienceCenter/renku-dev-utils/pkg/renkuapi"
1111
"github.com/spf13/cobra"
12+
"github.com/spf13/viper"
1213
)
1314

1415
var loginCmd = &cobra.Command{
@@ -18,20 +19,15 @@ var loginCmd = &cobra.Command{
1819
}
1920

2021
func login(cmd *cobra.Command, args []string) {
21-
ctx := context.Background()
22-
23-
url, err := cmd.Flags().GetString("url")
24-
if err != nil {
25-
fmt.Println(err)
26-
os.Exit(1)
22+
ctx := cmd.Context()
23+
if ctx == nil {
24+
ctx = context.Background()
2725
}
2826

27+
url := viper.GetString("url")
28+
namespace := viper.GetString("namespace")
29+
2930
if url == "" {
30-
namespace, err := cmd.Flags().GetString("namespace")
31-
if err != nil {
32-
fmt.Println(err)
33-
os.Exit(1)
34-
}
3531
if namespace == "" {
3632
cli, err := github.NewGitHubCLI("")
3733
if err != nil {

pkg/cmd/logout.go

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
ns "github.com/SwissDataScienceCenter/renku-dev-utils/pkg/namespace"
1010
"github.com/SwissDataScienceCenter/renku-dev-utils/pkg/renkuapi"
1111
"github.com/spf13/cobra"
12+
"github.com/spf13/viper"
1213
)
1314

1415
var logoutCmd = &cobra.Command{
@@ -18,13 +19,15 @@ var logoutCmd = &cobra.Command{
1819
}
1920

2021
func logout(cmd *cobra.Command, args []string) {
21-
ctx := context.Background()
22-
23-
logoutAll, err := cmd.Flags().GetBool("all")
24-
if err != nil {
25-
fmt.Println(err)
26-
os.Exit(1)
22+
ctx := cmd.Context()
23+
if ctx == nil {
24+
ctx = context.Background()
2725
}
26+
27+
url := viper.GetString("url")
28+
namespace := viper.GetString("namespace")
29+
logoutAll := viper.GetBool("all")
30+
2831
if logoutAll {
2932
err := renkuapi.LogoutAll(ctx)
3033
if err != nil {
@@ -34,18 +37,7 @@ func logout(cmd *cobra.Command, args []string) {
3437
return
3538
}
3639

37-
url, err := cmd.Flags().GetString("url")
38-
if err != nil {
39-
fmt.Println(err)
40-
os.Exit(1)
41-
}
42-
4340
if url == "" {
44-
namespace, err := cmd.Flags().GetString("namespace")
45-
if err != nil {
46-
fmt.Println(err)
47-
os.Exit(1)
48-
}
4941
if namespace == "" {
5042
cli, err := github.NewGitHubCLI("")
5143
if err != nil {

pkg/cmd/makemeadmin.go

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"github.com/SwissDataScienceCenter/renku-dev-utils/pkg/keycloak"
1212
ns "github.com/SwissDataScienceCenter/renku-dev-utils/pkg/namespace"
1313
"github.com/spf13/cobra"
14+
"github.com/spf13/viper"
1415
)
1516

1617
var makeMeAdminCmd = &cobra.Command{
@@ -21,7 +22,17 @@ var makeMeAdminCmd = &cobra.Command{
2122
}
2223

2324
func makeMeAdmin(cmd *cobra.Command, args []string) {
24-
ctx := context.Background()
25+
ctx := cmd.Context()
26+
if ctx == nil {
27+
ctx = context.Background()
28+
}
29+
30+
namespace := viper.GetString("namespace")
31+
secretName := viper.GetString("secret-name")
32+
secretKey := viper.GetString("secret-key")
33+
secretKeyUsername := viper.GetString("secret-key-username")
34+
renkuRealm := viper.GetString("renku-realm")
35+
userEmail := viper.GetString("user-email")
2536

2637
if userEmail == "" {
2738
gitCli, err := git.NewGitCLI("")
@@ -119,10 +130,10 @@ func makeMeAdmin(cmd *cobra.Command, args []string) {
119130
}
120131

121132
func init() {
122-
makeMeAdminCmd.Flags().StringVarP(&namespace, "namespace", "n", "", "k8s namespace")
123-
makeMeAdminCmd.Flags().StringVar(&secretName, "secret-name", "keycloak-password-secret", "secret name")
124-
makeMeAdminCmd.Flags().StringVar(&secretKey, "secret-key", "KEYCLOAK_ADMIN_PASSWORD", "secret key")
125-
makeMeAdminCmd.Flags().StringVar(&secretKeyUsername, "secret-key-username", "KEYCLOAK_ADMIN", "secret key for the admin username")
126-
makeMeAdminCmd.Flags().StringVar(&renkuRealm, "renku-realm", "Renku", "the Keycloak realm used by renku")
127-
makeMeAdminCmd.Flags().StringVarP(&userEmail, "user-email", "u", "", "your email")
133+
makeMeAdminCmd.Flags().StringP("namespace", "n", "", "k8s namespace")
134+
makeMeAdminCmd.Flags().String("secret-name", "keycloak-password-secret", "secret name")
135+
makeMeAdminCmd.Flags().String("secret-key", "KEYCLOAK_ADMIN_PASSWORD", "secret key")
136+
makeMeAdminCmd.Flags().String("secret-key-username", "KEYCLOAK_ADMIN", "secret key for the admin username")
137+
makeMeAdminCmd.Flags().String("renku-realm", "Renku", "the Keycloak realm used by renku")
138+
makeMeAdminCmd.Flags().StringP("user-email", "u", "", "your email")
128139
}

pkg/cmd/namespace.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,17 @@ var namespaceCmd = &cobra.Command{
1818
}
1919

2020
func namespaceFn(cmd *cobra.Command, args []string) {
21-
ctx := context.Background()
21+
ctx := cmd.Context()
22+
if ctx == nil {
23+
ctx = context.Background()
24+
}
2225

2326
cli, err := github.NewGitHubCLI("")
2427
if err != nil {
2528
fmt.Println(err)
2629
os.Exit(1)
2730
}
28-
namespace, err = ns.FindCurrentNamespace(ctx, cli)
31+
namespace, err := ns.FindCurrentNamespace(ctx, cli)
2932
if err != nil {
3033
fmt.Println(err)
3134
os.Exit(1)

pkg/cmd/opendeployment.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"github.com/SwissDataScienceCenter/renku-dev-utils/pkg/github"
1212
ns "github.com/SwissDataScienceCenter/renku-dev-utils/pkg/namespace"
1313
"github.com/spf13/cobra"
14+
"github.com/spf13/viper"
1415
)
1516

1617
var openDeploymentCmd = &cobra.Command{
@@ -20,7 +21,12 @@ var openDeploymentCmd = &cobra.Command{
2021
}
2122

2223
func openDeployment(cmd *cobra.Command, args []string) {
23-
ctx := context.Background()
24+
ctx := cmd.Context()
25+
if ctx == nil {
26+
ctx = context.Background()
27+
}
28+
29+
namespace := viper.GetString("namespace")
2430

2531
if namespace == "" {
2632
cli, err := github.NewGitHubCLI("")
@@ -68,5 +74,5 @@ func openDeployment(cmd *cobra.Command, args []string) {
6874
}
6975

7076
func init() {
71-
openDeploymentCmd.Flags().StringVarP(&namespace, "namespace", "n", "", "k8s namespace")
77+
openDeploymentCmd.Flags().StringP("namespace", "n", "", "k8s namespace")
7278
}

pkg/cmd/root.go

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,14 @@ import (
44
"os"
55

66
"github.com/spf13/cobra"
7+
"github.com/spf13/viper"
78
)
89

9-
// Flags
10-
11-
var deleteNamespace bool
12-
var namespace string
13-
var renkuRealm string
14-
var secretKey string
15-
var secretKeyUsername string
16-
var secretName string
17-
var userEmail string
18-
1910
var rootCmd = &cobra.Command{
20-
Use: "rdu",
21-
Short: "renku-dev-utils is a dev utility CLI",
22-
RunE: runRoot,
11+
Use: "rdu",
12+
Short: "renku-dev-utils is a dev utility CLI",
13+
PersistentPreRunE: preRunRoot,
14+
RunE: runRoot,
2315
}
2416

2517
func Execute() error {
@@ -30,6 +22,10 @@ func runRoot(cmd *cobra.Command, args []string) error {
3022
return cmd.Help()
3123
}
3224

25+
func preRunRoot(cmd *cobra.Command, args []string) error {
26+
return viper.BindPFlags(cmd.Flags())
27+
}
28+
3329
func init() {
3430
rootCmd.AddCommand(cleanupDeploymentCmd)
3531
rootCmd.AddCommand(copyKeycloakAdminPasswordCmd)

0 commit comments

Comments
 (0)