Skip to content

Commit da12cdc

Browse files
authored
K8SPS-263: set error state if invalid issuer is used (#401)
* K8SPS-263: set error state if invalid issuer is used https://jira.percona.com/browse/K8SPS-263 * fix problem with `r.allLoadBalancersReady()` * fix merge * fix `golangci-lint` * update `status_test.go`
1 parent b90ada1 commit da12cdc

File tree

17 files changed

+1270
-412
lines changed

17 files changed

+1270
-412
lines changed

cmd/manager/main.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import (
3939
"sigs.k8s.io/controller-runtime/pkg/log/zap"
4040

4141
apiv1alpha1 "github.com/percona/percona-server-mysql-operator/api/v1alpha1"
42+
"github.com/percona/percona-server-mysql-operator/pkg/clientcmd"
4243
"github.com/percona/percona-server-mysql-operator/pkg/controller/ps"
4344
"github.com/percona/percona-server-mysql-operator/pkg/controller/psbackup"
4445
"github.com/percona/percona-server-mysql-operator/pkg/controller/psrestore"
@@ -102,7 +103,13 @@ func main() {
102103

103104
nsClient := client.NewNamespacedClient(mgr.GetClient(), ns)
104105

105-
serverVersion, err := platform.GetServerVersion()
106+
cliCmd, err := clientcmd.NewClient()
107+
if err != nil {
108+
setupLog.Error(err, "unable to create clientcmd")
109+
os.Exit(1)
110+
}
111+
112+
serverVersion, err := platform.GetServerVersion(cliCmd)
106113
if err != nil {
107114
setupLog.Error(err, "unable to get server version")
108115
os.Exit(1)
@@ -118,6 +125,7 @@ func main() {
118125
Scheme: mgr.GetScheme(),
119126
ServerVersion: serverVersion,
120127
Recorder: mgr.GetEventRecorderFor("ps-controller"),
128+
ClientCmd: cliCmd,
121129
}).SetupWithManager(mgr); err != nil {
122130
setupLog.Error(err, "unable to create controller", "controller", "ps-controller")
123131
os.Exit(1)

cmd/orc-handler/main.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import (
1919
"sigs.k8s.io/controller-runtime/pkg/log/zap"
2020

2121
apiv1alpha1 "github.com/percona/percona-server-mysql-operator/api/v1alpha1"
22+
perconaClientCmd "github.com/percona/percona-server-mysql-operator/pkg/clientcmd"
2223
"github.com/percona/percona-server-mysql-operator/pkg/k8s"
2324
"github.com/percona/percona-server-mysql-operator/pkg/mysql"
2425
"github.com/percona/percona-server-mysql-operator/pkg/platform"
@@ -88,7 +89,12 @@ func setPrimaryLabel(ctx context.Context, primary string) error {
8889
return err
8990
}
9091

91-
serverVersion, err := platform.GetServerVersion()
92+
cliCmd, err := perconaClientCmd.NewClient()
93+
if err != nil {
94+
return err
95+
}
96+
97+
serverVersion, err := platform.GetServerVersion(cliCmd)
9298
if err != nil {
9399
return err
94100
}

pkg/clientcmd/clientcmd.go

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,17 @@ import (
1212
"k8s.io/client-go/tools/remotecommand"
1313
)
1414

15-
type Client struct {
15+
type client struct {
1616
client corev1client.CoreV1Interface
1717
restconfig *restclient.Config
1818
}
1919

20-
func NewClient() (*Client, error) {
20+
type Client interface {
21+
Exec(ctx context.Context, pod *corev1.Pod, containerName string, command []string, stdin io.Reader, stdout, stderr io.Writer, tty bool) error
22+
REST() restclient.Interface
23+
}
24+
25+
func NewClient() (Client, error) {
2126
// Instantiate loader for kubeconfig file.
2227
kubeconfig := clientcmd.NewNonInteractiveDeferredLoadingClientConfig(
2328
clientcmd.NewDefaultClientConfigLoadingRules(),
@@ -39,13 +44,13 @@ func NewClient() (*Client, error) {
3944
return nil, err
4045
}
4146

42-
return &Client{
47+
return &client{
4348
client: cl,
4449
restconfig: restconfig,
4550
}, nil
4651
}
4752

48-
func (c *Client) Exec(
53+
func (c *client) Exec(
4954
ctx context.Context,
5055
pod *corev1.Pod,
5156
containerName string,
@@ -84,6 +89,6 @@ func (c *Client) Exec(
8489

8590
}
8691

87-
func (c *Client) REST() restclient.Interface {
92+
func (c *client) REST() restclient.Interface {
8893
return c.client.RESTClient()
8994
}

0 commit comments

Comments
 (0)