Skip to content

Commit

Permalink
addressing comments from josh
Browse files Browse the repository at this point in the history
  • Loading branch information
gehrkefc committed Jan 29, 2025
1 parent 57577ba commit 015c101
Show file tree
Hide file tree
Showing 7 changed files with 25 additions and 38 deletions.
4 changes: 1 addition & 3 deletions cmd/proxy/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import (
"github.com/sirupsen/logrus"
"k8s.io/client-go/rest"

"github.com/rancher/lasso/pkg/log"
"github.com/rancher/remotedialer/proxy"
)

Expand All @@ -16,10 +15,9 @@ func main() {
logrus.Fatalf("fatal configuration error: %v", err)
}

// Initializing Wrangler
restConfig, err := rest.InClusterConfig()
if err != nil {
log.Errorf("failed to get in-cluster config: %w", err)
logrus.Errorf("failed to get in-cluster config: %w", err)

Check failure on line 20 in cmd/proxy/main.go

View workflow job for this annotation

GitHub Actions / ci

github.com/sirupsen/logrus.Errorf does not support error-wrapping directive %w

Check failure on line 20 in cmd/proxy/main.go

View workflow job for this annotation

GitHub Actions / ci

github.com/sirupsen/logrus.Errorf does not support error-wrapping directive %w
return
}

Expand Down
10 changes: 5 additions & 5 deletions cmd/proxy/deployment.yaml → cmd/proxy/proxy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,9 @@ metadata:
name: remotedialer-proxy-secret-access
namespace: cattle-system
rules:
- apiGroups: [""] # "" indicates the core API group
resources: ["secrets"] # We need to read secrets
verbs: ["get", "list", "watch", "create", "delete"] # Allowed verbs
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get", "create"]

---
apiVersion: rbac.authorization.k8s.io/v1
Expand All @@ -85,8 +85,8 @@ metadata:
namespace: cattle-system
subjects:
- kind: ServiceAccount
name: default # The service account name
namespace: cattle-system # The same namespace as the SA
name: default
namespace: cattle-system
roleRef:
kind: Role
name: remotedialer-proxy-secret-access
Expand Down
File renamed without changes.
19 changes: 9 additions & 10 deletions forward/forward.go
Original file line number Diff line number Diff line change
Expand Up @@ -71,13 +71,12 @@ func (r *PortForward) Stop() {
}

func (r *PortForward) Start() error {
var failed bool
var err error

r.readyCh = make(chan struct{}, 1)
var readyErr error

ctx, cancel := context.WithCancel(context.Background())

r.cancel = cancel
r.readyCh = make(chan struct{}, 1)

go func() {
for {
Expand All @@ -86,14 +85,14 @@ func (r *PortForward) Start() error {
logrus.Infoln("Goroutine stopped.")
return
default:
err = r.runForwarder(ctx, r.readyCh, r.stopCh, r.Ports)
err := r.runForwarder(ctx, r.readyCh, r.stopCh, r.Ports)
if err != nil {
if errors.Is(err, portforward.ErrLostConnectionToPod) {
logrus.Errorf("Lost connection to pod (no automatic retry in this refactor): %v", err)
} else {
logrus.Errorf("Non-restartable error: %v", err)
failed = true
r.readyCh <- struct{}{}
readyErr = err
return
}
}
Expand All @@ -104,15 +103,15 @@ func (r *PortForward) Start() error {
// wait for the port forward to be ready if not failed
<-r.readyCh

if failed {
return err
if readyErr != nil {
return readyErr
}

return nil
}

func (r *PortForward) runForwarder(ctx context.Context, readyCh, stopCh chan struct{}, ports []string) error {
podName, err := findPodName(ctx, r.namespace, r.labelSelector, r.podClient)
podName, err := lookForPodName(ctx, r.namespace, r.labelSelector, r.podClient)
if err != nil {
return err
}
Expand Down Expand Up @@ -143,7 +142,7 @@ func (r *PortForward) runForwarder(ctx context.Context, readyCh, stopCh chan str
return forwarder.ForwardPorts()
}

func findPodName(ctx context.Context, namespace, labelSelector string, podClient v1.PodClient) (string, error) {
func lookForPodName(ctx context.Context, namespace, labelSelector string, podClient v1.PodClient) (string, error) {
for {
select {
case <-ctx.Done():
Expand Down
8 changes: 6 additions & 2 deletions proxy/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ import (
"github.com/gorilla/mux"
"github.com/rancher/dynamiclistener"
"github.com/rancher/dynamiclistener/server"

"github.com/rancher/wrangler/v3/pkg/generated/controllers/core"
"github.com/sirupsen/logrus"
"k8s.io/client-go/rest"

Expand Down Expand Up @@ -100,12 +102,14 @@ func Start(cfg *Config, restConfig *rest.Config) error {
}
}()

// Setting Up Remote Dialer HTTPS Server
secretController, err := remotedialer.BuildSecretController(restConfig)
// Setting Up Secret Controller
core, err := core.NewFactoryFromConfigWithOptions(restConfig, nil)
if err != nil {
return fmt.Errorf("build secret controller failed w/ err: %w", err)
}
secretController := core.Core().V1().Secret()

// Setting Up Remote Dialer HTTPS Server
if err := server.ListenAndServe(ctx, cfg.HTTPSPort, 0, router, &server.ListenOpts{
Secrets: secretController,
CAName: cfg.CAName,
Expand Down
6 changes: 4 additions & 2 deletions proxyclient/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import (

"github.com/gorilla/websocket"
"github.com/rancher/remotedialer"
"github.com/rancher/wrangler/v3/pkg/generated/controllers/core"
v1 "github.com/rancher/wrangler/v3/pkg/generated/controllers/core/v1"
"github.com/sirupsen/logrus"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
Expand Down Expand Up @@ -88,12 +89,13 @@ func New(serverSharedSecret, namespace, certSecretName, certServerName string, r
}

func buildDialer(namespace, certSecretName, certServerName string, restConfig *rest.Config) (*websocket.Dialer, error) {
secretController, err := remotedialer.BuildSecretController(restConfig)
core, err := core.NewFactoryFromConfigWithOptions(restConfig, nil)
if err != nil {
logrus.Error("build secret controller failed: %w, defaulting to non TLS connection", err)
return nonTLSDialer, nil
return nonTLSDialer, err
}

secretController := core.Core().V1().Secret()
secret, err := secretController.Get(namespace, certSecretName, metav1.GetOptions{})
if err != nil {
return nil, err
Expand Down
16 changes: 0 additions & 16 deletions secret.go

This file was deleted.

0 comments on commit 015c101

Please sign in to comment.