@@ -47,16 +47,17 @@ import (
47
47
_ "github.com/google/trillian/merkle/coniks" // Register coniks
48
48
"github.com/google/trillian/merkle/hashers"
49
49
_ "github.com/google/trillian/merkle/objhasher" // Register objhasher
50
+ "html/template"
50
51
)
51
52
52
53
var (
53
54
addr = flag .String ("addr" , ":8099" , "The ip:port combination to listen on" )
54
- keyFile = flag .String ("tls-key" , "genfiles/server.key" , "TLS private key file" )
55
- certFile = flag .String ("tls-cert" , "genfiles/server.pem" , "TLS cert file" )
55
+ keyFile = flag .String ("tls-key" , "../../ genfiles/server.key" , "TLS private key file" )
56
+ certFile = flag .String ("tls-cert" , "../../ genfiles/server.pem" , "TLS cert file" )
56
57
57
- signingKey = flag .String ("sign-key" , "genfiles/monitor_sign-key.pem" , "Path to private key PEM for SMH signing" )
58
+ signingKey = flag .String ("sign-key" , "../../ genfiles/monitor_sign-key.pem" , "Path to private key PEM for SMH signing" )
58
59
signingKeyPassword = flag .String ("password" , "towel" , "Password of the private key PEM file for SMH signing" )
59
- ktURL = flag .String ("kt-url" , "localhost :8080" , "URL of key-server." )
60
+ ktURL = flag .String ("kt-url" , "35.184.134.53 :8080" , "URL of key-server." )
60
61
insecure = flag .Bool ("insecure" , false , "Skip TLS checks" )
61
62
ktCert = flag .String ("kt-cert" , "genfiles/server.crt" , "Path to kt-server's public key" )
62
63
@@ -68,11 +69,11 @@ var (
68
69
69
70
func grpcGatewayMux (addr string ) (* runtime.ServeMux , error ) {
70
71
ctx := context .Background ()
71
- creds , err := credentials .NewClientTLSFromFile (* certFile , "" )
72
- if err != nil {
73
- return nil , err
74
- }
75
- dopts := []grpc.DialOption {grpc .WithTransportCredentials ( creds )}
72
+ // creds, err := credentials.NewClientTLSFromFile(*certFile, "")
73
+ // if err != nil {
74
+ // return nil, err
75
+ // }
76
+ dopts := []grpc.DialOption {grpc .WithInsecure ( )}
76
77
gwmux := runtime .NewServeMux ()
77
78
if err := mopb .RegisterMonitorServiceHandlerFromEndpoint (ctx , gwmux , addr , dopts ); err != nil {
78
79
return nil , err
@@ -95,19 +96,47 @@ func grpcHandlerFunc(grpcServer *grpc.Server, otherHandler http.Handler) http.Ha
95
96
})
96
97
}
97
98
98
- func main () {
99
- flag .Parse ()
99
+ // Hackathon only code. Remove later!
100
+ type resHandler struct {
101
+ store * storage.Storage
102
+ }
103
+
104
+ func (h * resHandler ) ServeHTTP (w http.ResponseWriter , r * http.Request ) {
105
+ max := h .store .LatestEpoch ()
106
+ results := make ([]* storage.MonitoringResult , max )
107
+ for i := int64 (1 ); i <= max ; i ++ {
108
+ monRes , err := h .store .Get (i )
109
+ if err != nil {
110
+ glog .Errorf ("Couldn't retrieve mon result: %v" , err )
111
+ }
112
+ results [i - 1 ] = monRes
113
+ }
114
+ // TODO(ismail) make this file path configurable so that it can be found in
115
+ // docker as well
116
+ tmpl , err := template .ParseFiles ("/Users/khoffi/go/src/github.com/google/keytransparency/cmd/keytransparency-monitor/web/monitoring.tmpl" )
117
+ if err != nil {
118
+ glog .Errorf ("Could not parse template: %v" , err )
119
+ }
100
120
101
- creds , err := credentials . NewServerTLSFromFile ( * certFile , * keyFile )
121
+ err = tmpl . Execute ( w , results )
102
122
if err != nil {
103
- glog .Exitf ( "Failed to load server credentials %v" , err )
123
+ glog .Errorf ( "Could not write result: %v" , err )
104
124
}
125
+ }
126
+
127
+ func main () {
128
+ flag .Parse ()
129
+
130
+ //creds, err := credentials.NewServerTLSFromFile(*certFile, *keyFile)
131
+ //if err != nil {
132
+ // glog.Exitf("Failed to load server credentials %v", err)
133
+ //}
105
134
106
135
// Create gRPC server.
107
136
grpcServer := grpc .NewServer (
108
- grpc .Creds (creds ),
137
+ // grpc.Creds(creds),
109
138
grpc .StreamInterceptor (grpc_prometheus .StreamServerInterceptor ),
110
- grpc .UnaryInterceptor (grpc_prometheus .UnaryServerInterceptor ),
139
+ // grpc.UnaryInterceptor(grpc_prometheus.UnaryServerInterceptor),
111
140
)
112
141
113
142
// Connect to the kt-server's mutation API:
@@ -143,6 +172,10 @@ func main() {
143
172
144
173
// Insert handlers for other http paths here.
145
174
mux := http .NewServeMux ()
175
+
176
+ resultHandler := & resHandler {store :store }
177
+ mux .Handle ("/monitor" , resultHandler )
178
+
146
179
mux .Handle ("/" , gwmux )
147
180
logHasher , err := hashers .NewLogHasher (logTree .GetHashStrategy ())
148
181
if err != nil {
@@ -181,7 +214,7 @@ func main() {
181
214
182
215
// Serve HTTP2 server over TLS.
183
216
glog .Infof ("Listening on %v" , * addr )
184
- if err := http .ListenAndServeTLS (* addr , * certFile , * keyFile ,
217
+ if err := http .ListenAndServe (* addr , /** certFile, *keyFile,*/
185
218
grpcHandlerFunc (grpcServer , mux )); err != nil {
186
219
glog .Errorf ("ListenAndServeTLS: %v" , err )
187
220
}
0 commit comments