Skip to content

Commit 671e146

Browse files
authored
initial setup for the load balancer (#252)
* initial setup for the load balancer * generate docs * add load-balancer to set and unset config commands
1 parent 7e4b958 commit 671e146

13 files changed

Lines changed: 121 additions & 0 deletions

File tree

docs/stackit.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ stackit [flags]
3131
* [stackit config](./stackit_config.md) - Provides functionality for CLI configuration options
3232
* [stackit curl](./stackit_curl.md) - Executes an authenticated HTTP request to an endpoint
3333
* [stackit dns](./stackit_dns.md) - Provides functionality for DNS
34+
* [stackit load-balancer](./stackit_load-balancer.md) - Provides functionality for Load Balancer
3435
* [stackit logme](./stackit_logme.md) - Provides functionality for LogMe
3536
* [stackit mariadb](./stackit_mariadb.md) - Provides functionality for MariaDB
3637
* [stackit mongodbflex](./stackit_mongodbflex.md) - Provides functionality for MongoDB Flex

docs/stackit_config_set.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ stackit config set [flags]
3333
--authorization-custom-endpoint string Authorization API base URL, used in calls to this API
3434
--dns-custom-endpoint string DNS API base URL, used in calls to this API
3535
-h, --help Help for "stackit config set"
36+
--load-balancer-custom-endpoint string Load Balancer API base URL, used in calls to this API
3637
--logme-custom-endpoint string LogMe API base URL, used in calls to this API
3738
--mariadb-custom-endpoint string MariaDB API base URL, used in calls to this API
3839
--mongodbflex-custom-endpoint string MongoDB Flex API base URL, used in calls to this API

docs/stackit_config_unset.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ stackit config unset [flags]
3131
--authorization-custom-endpoint Authorization API base URL. If unset, uses the default base URL
3232
--dns-custom-endpoint DNS API base URL. If unset, uses the default base URL
3333
-h, --help Help for "stackit config unset"
34+
--load-balancer-custom-endpoint Load Balancer API base URL. If unset, uses the default base URL
3435
--logme-custom-endpoint LogMe API base URL. If unset, uses the default base URL
3536
--mariadb-custom-endpoint MariaDB API base URL. If unset, uses the default base URL
3637
--mongodbflex-custom-endpoint MongoDB Flex API base URL. If unset, uses the default base URL

docs/stackit_load-balancer.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
## stackit load-balancer
2+
3+
Provides functionality for Load Balancer
4+
5+
### Synopsis
6+
7+
Provides functionality for Load Balancer.
8+
9+
```
10+
stackit load-balancer [flags]
11+
```
12+
13+
### Options
14+
15+
```
16+
-h, --help Help for "stackit load-balancer"
17+
```
18+
19+
### Options inherited from parent commands
20+
21+
```
22+
-y, --assume-yes If set, skips all confirmation prompts
23+
--async If set, runs the command asynchronously
24+
-o, --output-format string Output format, one of ["json" "pretty" "none"]
25+
-p, --project-id string Project ID
26+
--verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info")
27+
```
28+
29+
### SEE ALSO
30+
31+
* [stackit](./stackit.md) - Manage STACKIT resources using the command line
32+

go.mod

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ require (
4848
github.com/spf13/afero v1.11.0 // indirect
4949
github.com/spf13/cast v1.6.0 // indirect
5050
github.com/stackitcloud/stackit-sdk-go/services/argus v0.10.0
51+
github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v0.12.0 // indirect
5152
github.com/stackitcloud/stackit-sdk-go/services/logme v0.13.0
5253
github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.13.0
5354
github.com/stackitcloud/stackit-sdk-go/services/objectstorage v0.9.0

go.sum

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,8 @@ github.com/stackitcloud/stackit-sdk-go/services/authorization v0.2.0 h1:vdv8DiG9
7676
github.com/stackitcloud/stackit-sdk-go/services/authorization v0.2.0/go.mod h1:1sLuXa7Qvp9f+wKWdRjyNe8B2F8JX7nSTd8fBKadri4=
7777
github.com/stackitcloud/stackit-sdk-go/services/dns v0.9.0 h1:sxvlcey7EcBc52rU6vYJEFguWkz9dNbSv2xJ3+c+97M=
7878
github.com/stackitcloud/stackit-sdk-go/services/dns v0.9.0/go.mod h1:MdZcRbs19s2NLeJmSLSoqTzm9IPIQhE1ZEMpo9gePq0=
79+
github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v0.12.0 h1:LAteZO46XmqTsmPw0QV8n8WiGM205pxrcqHqWznNmyY=
80+
github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v0.12.0/go.mod h1:wsO3+vXe1XiKLeCIctWAptaHQZ07Un7kmLTQ+drbj7w=
7981
github.com/stackitcloud/stackit-sdk-go/services/logme v0.13.0 h1:/wqs+pfHSjFWTakJVQGD/KwArxmFN8qdYrJDUgA1Gxw=
8082
github.com/stackitcloud/stackit-sdk-go/services/logme v0.13.0/go.mod h1:bj9cn1treNSxKTRCEmESwqfENN8vCYn60HUnEA0P83c=
8183
github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.13.0 h1:qioXHNeQ2xdwT5iGOk0c3hQIpct7zlAYzLRqXvsJ7CA=

internal/cmd/config/set/set.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ const (
2222
argusCustomEndpointFlag = "argus-custom-endpoint"
2323
authorizationCustomEndpointFlag = "authorization-custom-endpoint"
2424
dnsCustomEndpointFlag = "dns-custom-endpoint"
25+
loadBalancerCustomEndpointFlag = "load-balancer-custom-endpoint"
2526
logMeCustomEndpointFlag = "logme-custom-endpoint"
2627
mariaDBCustomEndpointFlag = "mariadb-custom-endpoint"
2728
mongoDBFlexCustomEndpointFlag = "mongodbflex-custom-endpoint"
@@ -97,6 +98,7 @@ func configureFlags(cmd *cobra.Command) {
9798
cmd.Flags().String(argusCustomEndpointFlag, "", "Argus API base URL, used in calls to this API")
9899
cmd.Flags().String(authorizationCustomEndpointFlag, "", "Authorization API base URL, used in calls to this API")
99100
cmd.Flags().String(dnsCustomEndpointFlag, "", "DNS API base URL, used in calls to this API")
101+
cmd.Flags().String(loadBalancerCustomEndpointFlag, "", "Load Balancer API base URL, used in calls to this API")
100102
cmd.Flags().String(logMeCustomEndpointFlag, "", "LogMe API base URL, used in calls to this API")
101103
cmd.Flags().String(mariaDBCustomEndpointFlag, "", "MariaDB API base URL, used in calls to this API")
102104
cmd.Flags().String(mongoDBFlexCustomEndpointFlag, "", "MongoDB Flex API base URL, used in calls to this API")
@@ -116,6 +118,8 @@ func configureFlags(cmd *cobra.Command) {
116118
cobra.CheckErr(err)
117119
err = viper.BindPFlag(config.DNSCustomEndpointKey, cmd.Flags().Lookup(dnsCustomEndpointFlag))
118120
cobra.CheckErr(err)
121+
err = viper.BindPFlag(config.LoadBalancerCustomEndpointKey, cmd.Flags().Lookup(loadBalancerCustomEndpointFlag))
122+
cobra.CheckErr(err)
119123
err = viper.BindPFlag(config.LogMeCustomEndpointKey, cmd.Flags().Lookup(logMeCustomEndpointFlag))
120124
cobra.CheckErr(err)
121125
err = viper.BindPFlag(config.MariaDBCustomEndpointKey, cmd.Flags().Lookup(mariaDBCustomEndpointFlag))

internal/cmd/config/unset/unset.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ const (
2525
argusCustomEndpointFlag = "argus-custom-endpoint"
2626
authorizationCustomEndpointFlag = "authorization-custom-endpoint"
2727
dnsCustomEndpointFlag = "dns-custom-endpoint"
28+
loadBalancerCustomEndpointFlag = "load-balancer-custom-endpoint"
2829
logMeCustomEndpointFlag = "logme-custom-endpoint"
2930
mariaDBCustomEndpointFlag = "mariadb-custom-endpoint"
3031
mongoDBFlexCustomEndpointFlag = "mongodbflex-custom-endpoint"
@@ -49,6 +50,7 @@ type inputModel struct {
4950
ArgusCustomEndpoint bool
5051
AuthorizationCustomEndpoint bool
5152
DNSCustomEndpoint bool
53+
LoadBalancerCustomEndpoint bool
5254
LogMeCustomEndpoint bool
5355
MariaDBCustomEndpoint bool
5456
MongoDBFlexCustomEndpoint bool
@@ -108,6 +110,9 @@ func NewCmd(p *print.Printer) *cobra.Command {
108110
if model.DNSCustomEndpoint {
109111
viper.Set(config.DNSCustomEndpointKey, "")
110112
}
113+
if model.LoadBalancerCustomEndpoint {
114+
viper.Set(config.LoadBalancerCustomEndpointKey, "")
115+
}
111116
if model.LogMeCustomEndpoint {
112117
viper.Set(config.LogMeCustomEndpointKey, "")
113118
}
@@ -166,6 +171,7 @@ func configureFlags(cmd *cobra.Command) {
166171
cmd.Flags().Bool(argusCustomEndpointFlag, false, "Argus API base URL. If unset, uses the default base URL")
167172
cmd.Flags().Bool(authorizationCustomEndpointFlag, false, "Authorization API base URL. If unset, uses the default base URL")
168173
cmd.Flags().Bool(dnsCustomEndpointFlag, false, "DNS API base URL. If unset, uses the default base URL")
174+
cmd.Flags().Bool(loadBalancerCustomEndpointFlag, false, "Load Balancer API base URL. If unset, uses the default base URL")
169175
cmd.Flags().Bool(logMeCustomEndpointFlag, false, "LogMe API base URL. If unset, uses the default base URL")
170176
cmd.Flags().Bool(mariaDBCustomEndpointFlag, false, "MariaDB API base URL. If unset, uses the default base URL")
171177
cmd.Flags().Bool(mongoDBFlexCustomEndpointFlag, false, "MongoDB Flex API base URL. If unset, uses the default base URL")
@@ -191,6 +197,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command) *inputModel {
191197
ArgusCustomEndpoint: flags.FlagToBoolValue(p, cmd, argusCustomEndpointFlag),
192198
AuthorizationCustomEndpoint: flags.FlagToBoolValue(p, cmd, authorizationCustomEndpointFlag),
193199
DNSCustomEndpoint: flags.FlagToBoolValue(p, cmd, dnsCustomEndpointFlag),
200+
LoadBalancerCustomEndpoint: flags.FlagToBoolValue(p, cmd, loadBalancerCustomEndpointFlag),
194201
LogMeCustomEndpoint: flags.FlagToBoolValue(p, cmd, logMeCustomEndpointFlag),
195202
MariaDBCustomEndpoint: flags.FlagToBoolValue(p, cmd, mariaDBCustomEndpointFlag),
196203
MongoDBFlexCustomEndpoint: flags.FlagToBoolValue(p, cmd, mongoDBFlexCustomEndpointFlag),

internal/cmd/config/unset/unset_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ func fixtureFlagValues(mods ...func(flagValues map[string]bool)) map[string]bool
1818
argusCustomEndpointFlag: true,
1919
authorizationCustomEndpointFlag: true,
2020
dnsCustomEndpointFlag: true,
21+
loadBalancerCustomEndpointFlag: true,
2122
logMeCustomEndpointFlag: true,
2223
mariaDBCustomEndpointFlag: true,
2324
objectStorageCustomEndpointFlag: true,
@@ -46,6 +47,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
4647
ArgusCustomEndpoint: true,
4748
AuthorizationCustomEndpoint: true,
4849
DNSCustomEndpoint: true,
50+
LoadBalancerCustomEndpoint: true,
4951
LogMeCustomEndpoint: true,
5052
MariaDBCustomEndpoint: true,
5153
ObjectStorageCustomEndpoint: true,
@@ -90,6 +92,7 @@ func TestParseInput(t *testing.T) {
9092
model.ArgusCustomEndpoint = false
9193
model.AuthorizationCustomEndpoint = false
9294
model.DNSCustomEndpoint = false
95+
model.LoadBalancerCustomEndpoint = false
9396
model.LogMeCustomEndpoint = false
9497
model.MariaDBCustomEndpoint = false
9598
model.ObjectStorageCustomEndpoint = false
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package loadbalancer
2+
3+
import (
4+
"github.com/stackitcloud/stackit-cli/internal/pkg/args"
5+
"github.com/stackitcloud/stackit-cli/internal/pkg/print"
6+
"github.com/stackitcloud/stackit-cli/internal/pkg/utils"
7+
8+
"github.com/spf13/cobra"
9+
)
10+
11+
func NewCmd(p *print.Printer) *cobra.Command {
12+
cmd := &cobra.Command{
13+
Use: "load-balancer",
14+
Aliases: []string{"lb"},
15+
Short: "Provides functionality for Load Balancer",
16+
Long: "Provides functionality for Load Balancer.",
17+
Args: args.NoArgs,
18+
Run: utils.CmdHelp,
19+
}
20+
addSubcommands(cmd, p)
21+
return cmd
22+
}
23+
24+
func addSubcommands(_ *cobra.Command, _ *print.Printer) {
25+
26+
}

0 commit comments

Comments
 (0)