Skip to content

Commit ed65591

Browse files
committed
fix(bad context name in header)
1 parent 120c075 commit ed65591

3 files changed

Lines changed: 26 additions & 22 deletions

File tree

internal/dao/common/common.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ type HostStats struct {
4242
LatestVersion string
4343
}
4444

45-
func GetHostStats(cli *client.Client, ctx context.Context) (HostStats, error) {
45+
func GetHostStats(cli *client.Client, ctx context.Context, contextName string) (HostStats, error) {
4646
info, err := cli.Info(ctx)
4747
if err != nil {
4848
return HostStats{}, err
@@ -69,16 +69,16 @@ func GetHostStats(cli *client.Client, ctx context.Context) (HostStats, error) {
6969
MemPercent: "...", // Placeholder
7070
Name: info.Name,
7171
Version: info.ServerVersion,
72-
Context: "default",
72+
Context: contextName,
7373
User: user,
7474
Hostname: hostname,
7575
D4SVersion: buildinfo.Version,
7676
}, nil
7777
}
7878

79-
func GetHostStatsWithUsage(cli *client.Client, ctx context.Context) (HostStats, error) {
79+
func GetHostStatsWithUsage(cli *client.Client, ctx context.Context, contextName string) (HostStats, error) {
8080
// First get basic stats
81-
stats, err := GetHostStats(cli, ctx)
81+
stats, err := GetHostStats(cli, ctx, contextName)
8282
if err != nil {
8383
return stats, err
8484
}

internal/dao/docker.go

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ type ComposeProject = compose.ComposeProject
4040
type DockerClient struct {
4141
Cli *client.Client
4242
Ctx context.Context
43+
ContextName string
4344

4445
// Managers
4546
Container *container.Manager
@@ -55,7 +56,7 @@ func NewDockerClient(contextName string) (*DockerClient, error) {
5556
logger, cleanup := initLogger()
5657
defer cleanup()
5758

58-
opts, err := resolveClientOpts(contextName, logger)
59+
ctxName, opts, err := resolveClientOpts(contextName, logger)
5960
if err != nil {
6061
return nil, err
6162
}
@@ -67,15 +68,16 @@ func NewDockerClient(contextName string) (*DockerClient, error) {
6768
ctx := context.Background()
6869

6970
return &DockerClient{
70-
Cli: cli,
71-
Ctx: ctx,
72-
Container: container.NewManager(cli, ctx),
73-
Image: image.NewManager(cli, ctx),
74-
Volume: volume.NewManager(cli, ctx),
75-
Network: network.NewManager(cli, ctx),
76-
Service: service.NewManager(cli, ctx),
77-
Node: node.NewManager(cli, ctx),
78-
Compose: compose.NewManager(cli, ctx),
71+
Cli: cli,
72+
Ctx: ctx,
73+
ContextName: ctxName,
74+
Container: container.NewManager(cli, ctx),
75+
Image: image.NewManager(cli, ctx),
76+
Volume: volume.NewManager(cli, ctx),
77+
Network: network.NewManager(cli, ctx),
78+
Service: service.NewManager(cli, ctx),
79+
Node: node.NewManager(cli, ctx),
80+
Compose: compose.NewManager(cli, ctx),
7981
}, nil
8082
}
8183

@@ -87,22 +89,23 @@ func initLogger() (*log.Logger, func()) {
8789
return log.New(f, "d4s-dao: ", log.LstdFlags), func() { f.Close() }
8890
}
8991

90-
func resolveClientOpts(flagContext string, logger *log.Logger) ([]client.Opt, error) {
92+
func resolveClientOpts(flagContext string, logger *log.Logger) (string, []client.Opt, error) {
9193
opts := []client.Opt{
9294
client.WithAPIVersionNegotiation(),
9395
}
9496

9597
// 1. Flag takes precedence
9698
if flagContext != "" {
9799
logger.Printf("Explicit context requested via flag: %s", flagContext)
98-
return loadSpecificContext(flagContext, logger, opts)
100+
opts, err := loadSpecificContext(flagContext, logger, opts)
101+
return flagContext, opts, err
99102
}
100103

101104
// 2. DOCKER_HOST takes precedence if no flag
102105
if h := os.Getenv("DOCKER_HOST"); h != "" {
103106
logger.Printf("DOCKER_HOST set to %s, using FromEnv", h)
104107
opts = append(opts, client.FromEnv)
105-
return opts, nil
108+
return "env", opts, nil
106109
}
107110

108111
// 3. Identify Target Context
@@ -122,11 +125,12 @@ func resolveClientOpts(flagContext string, logger *log.Logger) ([]client.Opt, er
122125
if targetCtx == "default" {
123126
logger.Println("Context is default, using FromEnv")
124127
opts = append(opts, client.FromEnv)
125-
return opts, nil
128+
return "default", opts, nil
126129
}
127130

128131
// 4. Load Specific Context
129-
return loadSpecificContext(targetCtx, logger, opts)
132+
opts, err := loadSpecificContext(targetCtx, logger, opts)
133+
return targetCtx, opts, err
130134
}
131135

132136
func loadSpecificContext(targetCtx string, logger *log.Logger, baseOpts []client.Opt) ([]client.Opt, error) {
@@ -304,11 +308,11 @@ func (d *DockerClient) GetComposeConfig(projectName string) (string, error) {
304308

305309
// Common/Stats wrappers
306310
func (d *DockerClient) GetHostStats() (common.HostStats, error) {
307-
return common.GetHostStats(d.Cli, d.Ctx)
311+
return common.GetHostStats(d.Cli, d.Ctx, d.ContextName)
308312
}
309313

310314
func (d *DockerClient) GetHostStatsWithUsage() (common.HostStats, error) {
311-
return common.GetHostStatsWithUsage(d.Cli, d.Ctx)
315+
return common.GetHostStatsWithUsage(d.Cli, d.Ctx, d.ContextName)
312316
}
313317

314318
func (d *DockerClient) Inspect(resourceType, id string) (string, error) {

internal/ui/components/header/header.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ func (h *HeaderComponent) Update(stats dao.HostStats, shortcuts []string) {
103103
fmt.Sprintf("[orange]Host: [white]%s", stats.Hostname),
104104
fmt.Sprintf("[orange]User: [white]%s", stats.User),
105105
versionStr,
106-
fmt.Sprintf("[orange]Context: [white]%s [dim](%s)", stats.Name, stats.Version),
106+
fmt.Sprintf("[orange]Context: [white]%s [dim](%s)", stats.Context, stats.Version),
107107
fmt.Sprintf("[orange]CPU: [white]%s", cpuDisplay),
108108
fmt.Sprintf("[orange]Mem: [white]%s", memDisplay),
109109
}

0 commit comments

Comments
 (0)