1
0
mirror of https://github.com/owncloud/ocis.git synced 2026-10-23 23:29:02 +03:00
Files
ocis/tests/ociswrapper/cmd/cmd.go
Sawjan Gurung 9ac0452d61 test: add setup and docs for running API tests in K8s (#12107)
* test: add locak k8s setup

Signed-off-by: Saw-jan <saw.jan.grg3e@gmail.com>

* chore: move k8s config files

Signed-off-by: Saw-jan <saw.jan.grg3e@gmail.com>

* fix: add host alias

Signed-off-by: Saw-jan <saw.jan.grg3e@gmail.com>

* fix: remove unsed dir

Signed-off-by: Saw-jan <saw.jan.grg3e@gmail.com>

* ci: use script to expose external servers to the cluster

Signed-off-by: Saw-jan <saw.jan.grg3e@gmail.com>

* ci: expose using existing script

Signed-off-by: Saw-jan <saw.jan.grg3e@gmail.com>

* docs: add docs

Signed-off-by: Saw-jan <saw.jan.grg3e@gmail.com>

* docs: refer k8s setup docs

Signed-off-by: Saw-jan <saw.jan.grg3e@gmail.com>

* ci: specify namespace

Signed-off-by: Saw-jan <saw.jan.grg3e@gmail.com>

* ci: create namespace

Signed-off-by: Saw-jan <saw.jan.grg3e@gmail.com>

* docs: fix docs errors

Signed-off-by: Saw-jan <saw.jan.grg3e@gmail.com>

* test: patch chart template only once

Signed-off-by: Saw-jan <saw.jan.grg3e@gmail.com>

* docs: add toc and setup cleanup

Signed-off-by: Saw-jan <saw.jan.grg3e@gmail.com>

* chore: remove deprecated --atomic helm option

Signed-off-by: Saw-jan <saw.jan.grg3e@gmail.com>

* test: add k8s namespace wrapper option

Signed-off-by: Saw-jan <saw.jan.grg3e@gmail.com>

* test: fix logs dir permissions

Signed-off-by: Saw-jan <saw.jan.grg3e@gmail.com>

* docs: update docs

Signed-off-by: Saw-jan <saw.jan.grg3e@gmail.com>

* test: fix host ip detection

Signed-off-by: Saw-jan <saw.jan.grg3e@gmail.com>

* docs: add show-logs command and warning for external services

Signed-off-by: Saw-jan <saw.jan.grg3e@gmail.com>

---------

Signed-off-by: Saw-jan <saw.jan.grg3e@gmail.com>
2026-03-19 15:26:57 +05:45

70 lines
2.2 KiB
Go

package cmd
import (
"fmt"
"ociswrapper/common"
ocis "ociswrapper/ocis"
ocisConfig "ociswrapper/ocis/config"
wrapper "ociswrapper/wrapper"
wrapperConfig "ociswrapper/wrapper/config"
"github.com/spf13/cobra"
)
var rootCmd = &cobra.Command{
Use: "ociswrapper",
Short: "ociswrapper is a wrapper for oCIS server",
Run: func(cmd *cobra.Command, args []string) {
if err := cmd.Help(); err != nil {
fmt.Printf("error executing help command: %v\n", err)
}
},
}
func serveCmd() *cobra.Command {
serveCmd := &cobra.Command{
Use: "serve",
Short: "Starts the server",
Run: func(cmd *cobra.Command, args []string) {
common.Wg.Add(2)
// set configs
ocisConfig.Set("bin", cmd.Flag("bin").Value.String())
ocisConfig.Set("url", cmd.Flag("url").Value.String())
ocisConfig.Set("retry", cmd.Flag("retry").Value.String())
ocisConfig.Set("adminUsername", cmd.Flag("admin-username").Value.String())
ocisConfig.Set("adminPassword", cmd.Flag("admin-password").Value.String())
ocisConfig.Set("namespace", cmd.Flag("namespace").Value.String())
if cmd.Flag("skip-ocis-run").Value.String() == "false" {
go ocis.Start(nil)
}
go wrapper.Start(cmd.Flag("port").Value.String())
},
}
// serve command args
serveCmd.Flags().SortFlags = false
serveCmd.Flags().StringP("bin", "", ocisConfig.Get("bin"), "Full oCIS binary path")
serveCmd.Flags().StringP("url", "", ocisConfig.Get("url"), "oCIS server url")
serveCmd.Flags().StringP("retry", "", ocisConfig.Get("retry"), "Number of retries to start oCIS server")
serveCmd.Flags().StringP("port", "p", wrapperConfig.Get("port"), "Wrapper API server port")
serveCmd.Flags().StringP("admin-username", "", "", "admin username for oCIS server")
serveCmd.Flags().StringP("admin-password", "", "", "admin password for oCIS server")
serveCmd.Flags().Bool("skip-ocis-run", false, "Skip running oCIS server")
serveCmd.Flags().StringP("namespace", "n", ocisConfig.Get("namespace"), "K8s namespace of oCIS server")
return serveCmd
}
// Execute executes the command
func Execute() {
rootCmd.CompletionOptions.DisableDefaultCmd = true
rootCmd.AddCommand(serveCmd())
if err := rootCmd.Execute(); err != nil {
fmt.Printf("error executing command: %v\n", err)
}
}