From 35dcd022f6eb99b17839d67791002264a81532e3 Mon Sep 17 00:00:00 2001
From: Jared Tan <jian.tan@daocloud.io>
Date: Sat, 11 Nov 2023 08:57:34 +0800
Subject: [PATCH] fix sample not works.

---
 internal/examples/server/opampsrv/opampsrv.go | 16 +++++++++++++---
 internal/examples/server/uisrv/ui.go          |  2 +-
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/internal/examples/server/opampsrv/opampsrv.go b/internal/examples/server/opampsrv/opampsrv.go
index 4beb7818..e6a4dd48 100644
--- a/internal/examples/server/opampsrv/opampsrv.go
+++ b/internal/examples/server/opampsrv/opampsrv.go
@@ -4,6 +4,8 @@ import (
 	"context"
 	"log"
 	"net/http"
+	"os"
+	"path"
 
 	"github.com/open-telemetry/opamp-go/internal"
 	"github.com/open-telemetry/opamp-go/internal/examples/server/data"
@@ -54,10 +56,18 @@ func (srv *Server) Start() {
 		},
 		ListenEndpoint: "127.0.0.1:4320",
 	}
+
+	rootDir, err := os.Getwd()
+	if err != nil {
+		panic(err)
+	}
+	certPath := path.Join(rootDir, "../certs/certs")
+	serverCertPath := path.Join(rootDir, "../certs/server_certs")
+
 	tlsConfig, err := internal.CreateServerTLSConfig(
-		"../../certs/certs/ca.cert.pem",
-		"../../certs/server_certs/server.cert.pem",
-		"../../certs/server_certs/server.key.pem",
+		certPath+"/ca.cert.pem",
+		serverCertPath+"/server.cert.pem",
+		serverCertPath+"/server.key.pem",
 	)
 	if err != nil {
 		srv.logger.Debugf("Could not load TLS config, working without TLS: %v", err.Error())
diff --git a/internal/examples/server/uisrv/ui.go b/internal/examples/server/uisrv/ui.go
index 3e18f481..7e94dba8 100644
--- a/internal/examples/server/uisrv/ui.go
+++ b/internal/examples/server/uisrv/ui.go
@@ -19,7 +19,7 @@ var srv *http.Server
 var logger = log.New(log.Default().Writer(), "[UI] ", log.Default().Flags()|log.Lmsgprefix|log.Lmicroseconds)
 
 func Start(rootDir string) {
-	htmlDir = path.Join(rootDir, "uisrv/html")
+	htmlDir = path.Join(rootDir, "server/uisrv/html")
 
 	mux := http.NewServeMux()
 	mux.HandleFunc("/", renderRoot)