Skip to content

Commit

Permalink
feat: add options
Browse files Browse the repository at this point in the history
Signed-off-by: Vishal Choudhary <[email protected]>
  • Loading branch information
vishal-chdhry committed Oct 8, 2024
1 parent d9e7c9b commit 1e1ae86
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 10 deletions.
2 changes: 2 additions & 0 deletions pkg/app/opts/options.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ type Options struct {
Kubeconfig string

// dbopts
EtcdDir string
DBHost string
DBPort int
DBUser string
Expand Down Expand Up @@ -66,6 +67,7 @@ func (o *Options) validate() []error {
func (o *Options) Flags() (fs flag.NamedFlagSets) {
msfs := fs.FlagSet("policy server")
msfs.BoolVar(&o.Debug, "debug", false, "Use inmemory database for debugging")
msfs.StringVar(&o.EtcdDir, "etcdDir", "", "Directory used for creating etcd server")

Check warning on line 70 in pkg/app/opts/options.go

View check run for this annotation

Codecov / codecov/patch

pkg/app/opts/options.go#L70

Added line #L70 was not covered by tests
msfs.BoolVar(&o.ShowVersion, "version", false, "Show version")
msfs.StringVar(&o.Kubeconfig, "kubeconfig", o.Kubeconfig, "The path to the kubeconfig used to connect to the Kubernetes API server and the Kubelets (defaults to in-cluster config)")
msfs.StringVar(&o.DBHost, "dbhost", "reportsdb.kyverno", "Host url of postgres instance")
Expand Down
13 changes: 13 additions & 0 deletions pkg/app/policyserver.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,13 @@ import (
"os"

"github.com/kyverno/reports-server/pkg/app/opts"
"github.com/kyverno/reports-server/pkg/storage/etcd"
"github.com/spf13/cobra"
cliflag "k8s.io/component-base/cli/flag"
"k8s.io/component-base/logs"
"k8s.io/component-base/term"
"k8s.io/component-base/version"
"k8s.io/klog/v2"
)

func NewPolicyServer(stopCh <-chan struct{}) *cobra.Command {
Expand Down Expand Up @@ -62,6 +64,17 @@ func runCommand(o *opts.Options, stopCh <-chan struct{}) error {
if err != nil {
return err
}

if o.Debug {
go func() {
err := etcd.StartETCDServer(stopCh, o.EtcdDir)
if err != nil {
klog.ErrorS(err, "failed to start etcd server")
os.Exit(1)

Check warning on line 73 in pkg/app/policyserver.go

View check run for this annotation

Codecov / codecov/patch

pkg/app/policyserver.go#L68-L73

Added lines #L68 - L73 were not covered by tests
}
}()
}

s, err := config.Complete()
if err != nil {
return err
Expand Down
24 changes: 14 additions & 10 deletions pkg/storage/store.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package storage
import (
"github.com/kyverno/reports-server/pkg/storage/api"
"github.com/kyverno/reports-server/pkg/storage/db"
"github.com/kyverno/reports-server/pkg/storage/inmemory"
"github.com/kyverno/reports-server/pkg/storage/etcd"
"k8s.io/klog/v2"
)

Expand All @@ -14,19 +14,23 @@ type Interface interface {

func New(debug bool, config *db.PostgresConfig) (Interface, error) {
klog.Infof("setting up storage, debug=%v", debug)
var storage api.Storage
var err error

Check warning on line 18 in pkg/storage/store.go

View check run for this annotation

Codecov / codecov/patch

pkg/storage/store.go#L17-L18

Added lines #L17 - L18 were not covered by tests

if debug {
return &store{
db: inmemory.New(),
versioning: NewVersioning(),
}, nil
storage, err = etcd.New()
if err != nil {
return nil, err

Check warning on line 23 in pkg/storage/store.go

View check run for this annotation

Codecov / codecov/patch

pkg/storage/store.go#L21-L23

Added lines #L21 - L23 were not covered by tests
}
} else {
storage, err = db.New(config)
if err != nil {
return nil, err

Check warning on line 28 in pkg/storage/store.go

View check run for this annotation

Codecov / codecov/patch

pkg/storage/store.go#L25-L28

Added lines #L25 - L28 were not covered by tests
}
}

db, err := db.New(config)
if err != nil {
return nil, err
}
return &store{
db: db,
db: storage,

Check warning on line 33 in pkg/storage/store.go

View check run for this annotation

Codecov / codecov/patch

pkg/storage/store.go#L33

Added line #L33 was not covered by tests
versioning: NewVersioning(),
}, nil
}
Expand Down

0 comments on commit 1e1ae86

Please sign in to comment.