From e34cfe5423bf9745f38fb85d16a65b9ceb72da03 Mon Sep 17 00:00:00 2001 From: Joe Lombrozo Date: Fri, 26 Sep 2025 15:48:17 -0700 Subject: [PATCH 01/17] host file parsing fails without trailing newline --- packages/envd/internal/api/init.go | 22 +++++++++---- packages/envd/internal/api/init_test.go | 43 +++++++++++++++++++++++++ 2 files changed, 58 insertions(+), 7 deletions(-) create mode 100644 packages/envd/internal/api/init_test.go diff --git a/packages/envd/internal/api/init.go b/packages/envd/internal/api/init.go index 65a4c813f5..f248357ed2 100644 --- a/packages/envd/internal/api/init.go +++ b/packages/envd/internal/api/init.go @@ -69,19 +69,27 @@ func (a *API) PostInit(w http.ResponseWriter, r *http.Request) { } func (a *API) SetupHyperloop(address string) { - hosts, err := txeh.NewHosts(&txeh.HostsConfig{ReadFilePath: "/etc/hosts", WriteFilePath: "/etc/hosts"}) - if err != nil { - a.logger.Error().Msgf("Failed to create hosts: %v", err) + if err := rewriteHostsFile(address, "/etc/hosts", "/etc/hosts"); err != nil { + a.logger.Error().Err(err).Msg("failed to modify hosts file") return } + a.envVars.Store("E2B_EVENTS_ADDRESS", fmt.Sprintf("http://%s", address)) +} + +func rewriteHostsFile(address, inputPath, outputPath string) error { + hosts, err := txeh.NewHosts(&txeh.HostsConfig{ReadFilePath: inputPath, WriteFilePath: outputPath}) + if err != nil { + return fmt.Errorf("failed to create hosts: %w", err) + } + // Update /etc/hosts to point events.e2b.local to the hyperloop IP // This will remove any existing entries for events.e2b.local first hosts.AddHost(address, "events.e2b.local") - err = hosts.Save() - if err != nil { - a.logger.Error().Msgf("Failed to add events host entry: %v", err) + + if err = hosts.Save(); err != nil { + return fmt.Errorf("failed to add events host entry: %w", err) } - a.envVars.Store("E2B_EVENTS_ADDRESS", fmt.Sprintf("http://%s", address)) + return nil } diff --git a/packages/envd/internal/api/init_test.go b/packages/envd/internal/api/init_test.go new file mode 100644 index 0000000000..1ac0827247 --- /dev/null +++ b/packages/envd/internal/api/init_test.go @@ -0,0 +1,43 @@ +package api + +import ( + "os" + "path/filepath" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +const perms = 0o700 + +func TestSimpleCases(t *testing.T) { + testCases := map[string]string{ + "header newline": ` +127.0.0.1 localhost`, + "trailing newline": `127.0.0.1 localhost +`, + "trimmed string": "127.0.0.1 localhost", + } + + for name, value := range testCases { + t.Run(name, func(t *testing.T) { + tempDir := t.TempDir() + + inputPath := filepath.Join(tempDir, "hosts") + err := os.WriteFile(inputPath, []byte(value), perms) + require.NoError(t, err) + + err = rewriteHostsFile("127.0.0.2", inputPath, inputPath) + require.NoError(t, err) + + data, err := os.ReadFile(inputPath) + require.NoError(t, err) + + assert.Equal(t, `127.0.0.1 localhost +127.0.0.2 events.e2b.local +`, string(data)) + + }) + } +} From 566719719d30d2f0aed82a32196387f5400cb20d Mon Sep 17 00:00:00 2001 From: Joe Lombrozo Date: Fri, 26 Sep 2025 15:53:54 -0700 Subject: [PATCH 02/17] clean up tests --- packages/envd/internal/api/init_test.go | 27 +++++++++++++++---------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/packages/envd/internal/api/init_test.go b/packages/envd/internal/api/init_test.go index 1ac0827247..7c46452a3a 100644 --- a/packages/envd/internal/api/init_test.go +++ b/packages/envd/internal/api/init_test.go @@ -3,6 +3,7 @@ package api import ( "os" "path/filepath" + "strings" "testing" "github.com/stretchr/testify/assert" @@ -12,31 +13,35 @@ import ( const perms = 0o700 func TestSimpleCases(t *testing.T) { - testCases := map[string]string{ - "header newline": ` -127.0.0.1 localhost`, - "trailing newline": `127.0.0.1 localhost -`, - "trimmed string": "127.0.0.1 localhost", + testCases := map[string]func(string) string{ + "both newlines": func(s string) string { return s }, + "no newline prefix": func(s string) string { return strings.TrimPrefix(s, "\n") }, + "no newline suffix": func(s string) string { return strings.TrimSuffix(s, "\n") }, + "no newline prefix or suffix": func(s string) string { return strings.TrimSpace(s) }, } - for name, value := range testCases { + for name, preprocessor := range testCases { t.Run(name, func(t *testing.T) { tempDir := t.TempDir() + value := ` +127.0.0.1 one.host +127.0.0.2 two.host +` + value = preprocessor(value) inputPath := filepath.Join(tempDir, "hosts") err := os.WriteFile(inputPath, []byte(value), perms) require.NoError(t, err) - err = rewriteHostsFile("127.0.0.2", inputPath, inputPath) + err = rewriteHostsFile("127.0.0.3", inputPath, inputPath) require.NoError(t, err) data, err := os.ReadFile(inputPath) require.NoError(t, err) - assert.Equal(t, `127.0.0.1 localhost -127.0.0.2 events.e2b.local -`, string(data)) + assert.Equal(t, `127.0.0.1 one.host +127.0.0.2 two.host +127.0.0.3 events.e2b.local`, strings.TrimSpace(string(data))) }) } From 90cdc3c9fb14aabd7e10097fab54f08346d3c843 Mon Sep 17 00:00:00 2001 From: Joe Lombrozo Date: Fri, 26 Sep 2025 15:55:51 -0700 Subject: [PATCH 03/17] linting --- packages/envd/internal/api/init_test.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/envd/internal/api/init_test.go b/packages/envd/internal/api/init_test.go index 7c46452a3a..62fcec642f 100644 --- a/packages/envd/internal/api/init_test.go +++ b/packages/envd/internal/api/init_test.go @@ -17,7 +17,7 @@ func TestSimpleCases(t *testing.T) { "both newlines": func(s string) string { return s }, "no newline prefix": func(s string) string { return strings.TrimPrefix(s, "\n") }, "no newline suffix": func(s string) string { return strings.TrimSuffix(s, "\n") }, - "no newline prefix or suffix": func(s string) string { return strings.TrimSpace(s) }, + "no newline prefix or suffix": strings.TrimSpace, } for name, preprocessor := range testCases { @@ -42,7 +42,6 @@ func TestSimpleCases(t *testing.T) { assert.Equal(t, `127.0.0.1 one.host 127.0.0.2 two.host 127.0.0.3 events.e2b.local`, strings.TrimSpace(string(data))) - }) } } From 3421f3d1d5fe5461e78ea56f9ac591a7df2912fa Mon Sep 17 00:00:00 2001 From: Joe Lombrozo Date: Fri, 26 Sep 2025 16:41:07 -0700 Subject: [PATCH 04/17] take control of reading/writing so we can ensure the newline --- packages/envd/internal/api/init.go | 18 +++++++++++++++--- packages/envd/internal/api/init_test.go | 4 +++- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/packages/envd/internal/api/init.go b/packages/envd/internal/api/init.go index f248357ed2..75f0885b2e 100644 --- a/packages/envd/internal/api/init.go +++ b/packages/envd/internal/api/init.go @@ -6,8 +6,10 @@ import ( "fmt" "io" "net/http" + "os" "time" + "github.com/e2b-dev/infra/packages/shared/pkg/utils" "github.com/txn2/txeh" "github.com/e2b-dev/infra/packages/envd/internal/host" @@ -78,7 +80,17 @@ func (a *API) SetupHyperloop(address string) { } func rewriteHostsFile(address, inputPath, outputPath string) error { - hosts, err := txeh.NewHosts(&txeh.HostsConfig{ReadFilePath: inputPath, WriteFilePath: outputPath}) + data, err := os.ReadFile(inputPath) + if err != nil { + return fmt.Errorf("failed to read hosts file: %w", err) + } + + // the txeh library drops an entry if the file does not end with a newline + if data[len(data)-1] != '\n' { + data = append(data, '\n') + } + + hosts, err := txeh.NewHosts(&txeh.HostsConfig{RawText: utils.ToPtr(string(data))}) if err != nil { return fmt.Errorf("failed to create hosts: %w", err) } @@ -87,8 +99,8 @@ func rewriteHostsFile(address, inputPath, outputPath string) error { // This will remove any existing entries for events.e2b.local first hosts.AddHost(address, "events.e2b.local") - if err = hosts.Save(); err != nil { - return fmt.Errorf("failed to add events host entry: %w", err) + if err = os.WriteFile(outputPath, []byte(hosts.RenderHostsFile()), 0); err != nil { + return fmt.Errorf("failed to save hosts file: %w", err) } return nil diff --git a/packages/envd/internal/api/init_test.go b/packages/envd/internal/api/init_test.go index 62fcec642f..d487ea31a5 100644 --- a/packages/envd/internal/api/init_test.go +++ b/packages/envd/internal/api/init_test.go @@ -25,6 +25,7 @@ func TestSimpleCases(t *testing.T) { tempDir := t.TempDir() value := ` +# comment 127.0.0.1 one.host 127.0.0.2 two.host ` @@ -39,7 +40,8 @@ func TestSimpleCases(t *testing.T) { data, err := os.ReadFile(inputPath) require.NoError(t, err) - assert.Equal(t, `127.0.0.1 one.host + assert.Equal(t, `# comment +127.0.0.1 one.host 127.0.0.2 two.host 127.0.0.3 events.e2b.local`, strings.TrimSpace(string(data))) }) From fdd95ae8f34e66bea6b8f9f2424b3d5692d0f8ee Mon Sep 17 00:00:00 2001 From: Joe Lombrozo Date: Fri, 26 Sep 2025 16:44:36 -0700 Subject: [PATCH 05/17] linting --- packages/envd/internal/api/init.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/envd/internal/api/init.go b/packages/envd/internal/api/init.go index b6c1e1544c..c3dd5658a1 100644 --- a/packages/envd/internal/api/init.go +++ b/packages/envd/internal/api/init.go @@ -9,11 +9,11 @@ import ( "os" "time" - "github.com/e2b-dev/infra/packages/shared/pkg/utils" "github.com/txn2/txeh" "github.com/e2b-dev/infra/packages/envd/internal/host" "github.com/e2b-dev/infra/packages/envd/internal/logs" + "github.com/e2b-dev/infra/packages/shared/pkg/utils" ) func (a *API) PostInit(w http.ResponseWriter, r *http.Request) { From 9c77e33455266ceb369532a29227b17192e43a80 Mon Sep 17 00:00:00 2001 From: Joe Lombrozo Date: Fri, 26 Sep 2025 16:50:57 -0700 Subject: [PATCH 06/17] clean up, thanks cursor! --- packages/envd/internal/api/init.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/envd/internal/api/init.go b/packages/envd/internal/api/init.go index c3dd5658a1..177e288b0d 100644 --- a/packages/envd/internal/api/init.go +++ b/packages/envd/internal/api/init.go @@ -89,7 +89,7 @@ func rewriteHostsFile(address, inputPath, outputPath string) error { } // the txeh library drops an entry if the file does not end with a newline - if data[len(data)-1] != '\n' { + if len(data) > 0 && data[len(data)-1] != '\n' { data = append(data, '\n') } @@ -102,7 +102,7 @@ func rewriteHostsFile(address, inputPath, outputPath string) error { // This will remove any existing entries for events.e2b.local first hosts.AddHost(address, "events.e2b.local") - if err = os.WriteFile(outputPath, []byte(hosts.RenderHostsFile()), 0); err != nil { + if err = os.WriteFile(outputPath, []byte(hosts.RenderHostsFile()), 0o644); err != nil { return fmt.Errorf("failed to save hosts file: %w", err) } From 339be1cd384f755c073ffaa75e3d4732a4fa36ec Mon Sep 17 00:00:00 2001 From: Joe Lombrozo Date: Tue, 30 Sep 2025 11:23:27 -0700 Subject: [PATCH 07/17] some optimizations --- packages/envd/internal/api/init.go | 36 +++++++++++++++++++++---- packages/envd/internal/api/init_test.go | 2 +- 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/packages/envd/internal/api/init.go b/packages/envd/internal/api/init.go index 4a8d568f42..5ca96faabc 100644 --- a/packages/envd/internal/api/init.go +++ b/packages/envd/internal/api/init.go @@ -6,6 +6,7 @@ import ( "errors" "fmt" "io" + "net" "net/http" "os" "time" @@ -85,7 +86,7 @@ func (a *API) SetupHyperloop(address string) { a.hyperloopLock.Lock() defer a.hyperloopLock.Unlock() - if err := rewriteHostsFile(address, "/etc/hosts", "/etc/hosts"); err != nil { + if err := rewriteHostsFile(address, "/etc/hosts"); err != nil { a.logger.Error().Err(err).Msg("failed to modify hosts file") return } @@ -93,8 +94,10 @@ func (a *API) SetupHyperloop(address string) { a.envVars.Store("E2B_EVENTS_ADDRESS", fmt.Sprintf("http://%s", address)) } -func rewriteHostsFile(address, inputPath, outputPath string) error { - data, err := os.ReadFile(inputPath) +const eventsHost = "events.e2b.local" + +func rewriteHostsFile(address, path string) error { + data, err := os.ReadFile(path) if err != nil { return fmt.Errorf("failed to read hosts file: %w", err) } @@ -111,11 +114,34 @@ func rewriteHostsFile(address, inputPath, outputPath string) error { // Update /etc/hosts to point events.e2b.local to the hyperloop IP // This will remove any existing entries for events.e2b.local first - hosts.AddHost(address, "events.e2b.local") + ipFamily, err := getIPFamily(address) + if err != nil { + return fmt.Errorf("failed to get ip family: %w", err) + } + + if ok, _, _ := hosts.HostAddressLookup(eventsHost, ipFamily); ok { + return nil // nothing to be done + } + + hosts.AddHost(address, eventsHost) - if err = os.WriteFile(outputPath, []byte(hosts.RenderHostsFile()), 0o644); err != nil { + if err = os.WriteFile(path, []byte(hosts.RenderHostsFile()), 0o644); err != nil { return fmt.Errorf("failed to save hosts file: %w", err) } return nil } + +var ErrEmptyAddress = errors.New("empty address") + +func getIPFamily(address string) (txeh.IPFamily, error) { + addressIP := net.ParseIP(address) + if addressIP == nil { + return txeh.IPFamilyV4, ErrEmptyAddress + } + ipFamily := txeh.IPFamilyV4 + if addressIP.To4() == nil { + ipFamily = txeh.IPFamilyV6 + } + return ipFamily, nil +} diff --git a/packages/envd/internal/api/init_test.go b/packages/envd/internal/api/init_test.go index d487ea31a5..536060bbf5 100644 --- a/packages/envd/internal/api/init_test.go +++ b/packages/envd/internal/api/init_test.go @@ -34,7 +34,7 @@ func TestSimpleCases(t *testing.T) { err := os.WriteFile(inputPath, []byte(value), perms) require.NoError(t, err) - err = rewriteHostsFile("127.0.0.3", inputPath, inputPath) + err = rewriteHostsFile("127.0.0.3", inputPath) require.NoError(t, err) data, err := os.ReadFile(inputPath) From 25a71df2f27a2845ee8aed25cb36134ff8a0b897 Mon Sep 17 00:00:00 2001 From: Joe Lombrozo Date: Tue, 30 Sep 2025 11:44:16 -0700 Subject: [PATCH 08/17] good catch, cursor! --- packages/envd/internal/api/init.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/envd/internal/api/init.go b/packages/envd/internal/api/init.go index 5ca96faabc..81aaac9e6a 100644 --- a/packages/envd/internal/api/init.go +++ b/packages/envd/internal/api/init.go @@ -119,7 +119,7 @@ func rewriteHostsFile(address, path string) error { return fmt.Errorf("failed to get ip family: %w", err) } - if ok, _, _ := hosts.HostAddressLookup(eventsHost, ipFamily); ok { + if ok, current, _ := hosts.HostAddressLookup(eventsHost, ipFamily); ok && current == address { return nil // nothing to be done } From 9ab43579b1fa6359dfd466264e8b56980e8fa49f Mon Sep 17 00:00:00 2001 From: Joseph Lombrozo Date: Mon, 6 Oct 2025 09:53:47 -0700 Subject: [PATCH 09/17] don't return on failed hosts file rewrite MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit in the future we might add some more functionality here. Co-authored-by: Jakub Novák --- packages/envd/internal/api/init.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/envd/internal/api/init.go b/packages/envd/internal/api/init.go index 81aaac9e6a..e0197cf810 100644 --- a/packages/envd/internal/api/init.go +++ b/packages/envd/internal/api/init.go @@ -88,10 +88,9 @@ func (a *API) SetupHyperloop(address string) { if err := rewriteHostsFile(address, "/etc/hosts"); err != nil { a.logger.Error().Err(err).Msg("failed to modify hosts file") - return + } else { + a.envVars.Store("E2B_EVENTS_ADDRESS", fmt.Sprintf("http://%s", address)) } - - a.envVars.Store("E2B_EVENTS_ADDRESS", fmt.Sprintf("http://%s", address)) } const eventsHost = "events.e2b.local" From 86ed1d3b5432de3c314f643e1c6b19afbe0f6398 Mon Sep 17 00:00:00 2001 From: Joe Lombrozo Date: Mon, 6 Oct 2025 09:54:10 -0700 Subject: [PATCH 10/17] consolidate permissions --- packages/envd/internal/api/init.go | 4 +++- packages/envd/internal/api/init_test.go | 4 +--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/envd/internal/api/init.go b/packages/envd/internal/api/init.go index e0197cf810..a4570f633c 100644 --- a/packages/envd/internal/api/init.go +++ b/packages/envd/internal/api/init.go @@ -19,6 +19,8 @@ import ( "github.com/e2b-dev/infra/packages/shared/pkg/utils" ) +const hostsFilePermissions = 0o644 + func (a *API) PostInit(w http.ResponseWriter, r *http.Request) { defer r.Body.Close() @@ -124,7 +126,7 @@ func rewriteHostsFile(address, path string) error { hosts.AddHost(address, eventsHost) - if err = os.WriteFile(path, []byte(hosts.RenderHostsFile()), 0o644); err != nil { + if err = os.WriteFile(path, []byte(hosts.RenderHostsFile()), hostsFilePermissions); err != nil { return fmt.Errorf("failed to save hosts file: %w", err) } diff --git a/packages/envd/internal/api/init_test.go b/packages/envd/internal/api/init_test.go index 536060bbf5..41be86f421 100644 --- a/packages/envd/internal/api/init_test.go +++ b/packages/envd/internal/api/init_test.go @@ -10,8 +10,6 @@ import ( "github.com/stretchr/testify/require" ) -const perms = 0o700 - func TestSimpleCases(t *testing.T) { testCases := map[string]func(string) string{ "both newlines": func(s string) string { return s }, @@ -31,7 +29,7 @@ func TestSimpleCases(t *testing.T) { ` value = preprocessor(value) inputPath := filepath.Join(tempDir, "hosts") - err := os.WriteFile(inputPath, []byte(value), perms) + err := os.WriteFile(inputPath, []byte(value), hostsFilePermissions) require.NoError(t, err) err = rewriteHostsFile("127.0.0.3", inputPath) From c8a08f173f922ca768d920b6a666ac8ee84b6432 Mon Sep 17 00:00:00 2001 From: Joe Lombrozo Date: Mon, 6 Oct 2025 10:02:20 -0700 Subject: [PATCH 11/17] better errors --- packages/envd/internal/api/init.go | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/packages/envd/internal/api/init.go b/packages/envd/internal/api/init.go index a4570f633c..c9d8477c19 100644 --- a/packages/envd/internal/api/init.go +++ b/packages/envd/internal/api/init.go @@ -6,8 +6,8 @@ import ( "errors" "fmt" "io" - "net" "net/http" + "net/netip" "os" "time" @@ -133,16 +133,21 @@ func rewriteHostsFile(address, path string) error { return nil } -var ErrEmptyAddress = errors.New("empty address") +var ErrInvalidAddress = errors.New("invalid IP address") +var ErrUnknownAddressFormat = errors.New("unknown IP address format") func getIPFamily(address string) (txeh.IPFamily, error) { - addressIP := net.ParseIP(address) - if addressIP == nil { - return txeh.IPFamilyV4, ErrEmptyAddress + addressIP, err := netip.ParseAddr(address) + if err != nil { + return txeh.IPFamilyV4, fmt.Errorf("failed to parse IP address: %w", err) } - ipFamily := txeh.IPFamilyV4 - if addressIP.To4() == nil { - ipFamily = txeh.IPFamilyV6 + + switch { + case addressIP.Is4(): + return txeh.IPFamilyV4, nil + case addressIP.Is6(): + return txeh.IPFamilyV6, nil + default: + return txeh.IPFamilyV4, fmt.Errorf("%w: %s", ErrUnknownAddressFormat, address) } - return ipFamily, nil } From 1bbf9470c416fa842ec28e3085646a489ce24505 Mon Sep 17 00:00:00 2001 From: Joe Lombrozo Date: Mon, 6 Oct 2025 10:13:43 -0700 Subject: [PATCH 12/17] slots are 1-based, not 0-based --- packages/orchestrator/internal/sandbox/network/storage_kv.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/orchestrator/internal/sandbox/network/storage_kv.go b/packages/orchestrator/internal/sandbox/network/storage_kv.go index 47f8ae35d4..13f0e6df33 100644 --- a/packages/orchestrator/internal/sandbox/network/storage_kv.go +++ b/packages/orchestrator/internal/sandbox/network/storage_kv.go @@ -70,7 +70,7 @@ func (s *StorageKV) Acquire(_ context.Context) (*Slot, error) { } for randomTry := 1; randomTry <= 10; randomTry++ { - slotIdx := rand.Intn(s.slotsSize) + slotIdx := rand.Intn(s.slotsSize) + 1 key := s.getKVKey(slotIdx) maybeSlot, err := trySlot(slotIdx, key) From de2f305a786b05e770a34c999c3638192b16d786 Mon Sep 17 00:00:00 2001 From: Joe Lombrozo Date: Tue, 7 Oct 2025 15:27:14 -0700 Subject: [PATCH 13/17] remove bug fix (moved to #1317) --- packages/orchestrator/internal/sandbox/network/storage_kv.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/orchestrator/internal/sandbox/network/storage_kv.go b/packages/orchestrator/internal/sandbox/network/storage_kv.go index 13f0e6df33..47f8ae35d4 100644 --- a/packages/orchestrator/internal/sandbox/network/storage_kv.go +++ b/packages/orchestrator/internal/sandbox/network/storage_kv.go @@ -70,7 +70,7 @@ func (s *StorageKV) Acquire(_ context.Context) (*Slot, error) { } for randomTry := 1; randomTry <= 10; randomTry++ { - slotIdx := rand.Intn(s.slotsSize) + 1 + slotIdx := rand.Intn(s.slotsSize) key := s.getKVKey(slotIdx) maybeSlot, err := trySlot(slotIdx, key) From 71d5c44eee4c948ed21a28913d9b8b605fb7906e Mon Sep 17 00:00:00 2001 From: Joe Lombrozo Date: Tue, 7 Oct 2025 15:31:58 -0700 Subject: [PATCH 14/17] fix linting --- .../orchestrator/internal/sandbox/template/mask_template.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/orchestrator/internal/sandbox/template/mask_template.go b/packages/orchestrator/internal/sandbox/template/mask_template.go index d99490b2f6..d1df5e9751 100644 --- a/packages/orchestrator/internal/sandbox/template/mask_template.go +++ b/packages/orchestrator/internal/sandbox/template/mask_template.go @@ -38,7 +38,7 @@ func NewMaskTemplate( return t } -func (c *MaskTemplate) Close(ctx context.Context) error { +func (c *MaskTemplate) Close(_ context.Context) error { if c.memfile != nil { return (*c.memfile).Close() } From aea36181ab823ea03444b7127db77052e1966f21 Mon Sep 17 00:00:00 2001 From: Joe Lombrozo Date: Tue, 7 Oct 2025 15:42:47 -0700 Subject: [PATCH 15/17] fix merge issue --- packages/orchestrator/cmd/clean-nfs-cache/main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/orchestrator/cmd/clean-nfs-cache/main.go b/packages/orchestrator/cmd/clean-nfs-cache/main.go index 0e110d2e8a..490b5e4fb9 100644 --- a/packages/orchestrator/cmd/clean-nfs-cache/main.go +++ b/packages/orchestrator/cmd/clean-nfs-cache/main.go @@ -140,7 +140,7 @@ func newOtelCore(ctx context.Context, opts opts) (zapcore.Core, error) { return nil, fmt.Errorf("failed to create logs exporter: %w", err) } - loggerProvider := telemetry.NewLogProvider(ctx, logsExporter, resource) + loggerProvider := telemetry.NewLogProvider(logsExporter, resource) otelCore := logger.GetOTELCore(loggerProvider, serviceName) return otelCore, nil } From 162d46d023f66a79e4a22e58ef8e502ec2238644 Mon Sep 17 00:00:00 2001 From: Joe Lombrozo Date: Wed, 8 Oct 2025 09:04:28 -0700 Subject: [PATCH 16/17] bump the envd version --- packages/envd/main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/envd/main.go b/packages/envd/main.go index ca782ea223..62c31d4ce5 100644 --- a/packages/envd/main.go +++ b/packages/envd/main.go @@ -38,7 +38,7 @@ const ( ) var ( - Version = "0.3.4" + Version = "0.3.5" commitSHA string From 183d6f33fe9de14b24882e87f8e801e6017ab16c Mon Sep 17 00:00:00 2001 From: Joe Lombrozo Date: Wed, 8 Oct 2025 09:12:27 -0700 Subject: [PATCH 17/17] bump envd version for real --- packages/envd/main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/envd/main.go b/packages/envd/main.go index 62c31d4ce5..f0e4f437ac 100644 --- a/packages/envd/main.go +++ b/packages/envd/main.go @@ -38,7 +38,7 @@ const ( ) var ( - Version = "0.3.5" + Version = "0.3.6" commitSHA string