Skip to content

Commit 5fdcb1e

Browse files
Add loggregator-metron mock to devconfig (#4666)
- BBS and locket require this to run now - Mock is built based off the test ingress server in diego-logging-client with help of AI Signed-off-by: Tom Kennedy <kennedy513@gmail.com> Signed-off-by: Tom Kennedy <tom.kennedy@broadcom.com>
1 parent 45cf242 commit 5fdcb1e

File tree

11 files changed

+299
-2
lines changed

11 files changed

+299
-2
lines changed

.devcontainer/images/bbs/bbs.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,13 @@
1414
"encryption_keys": {
1515
"key-2016-06": "J7dy5tgYSyb5kUeKmhU944TFhVTEoq"
1616
},
17+
"loggregator": {
18+
"loggregator_ca_path": "/bbs/certs/metron_ca.crt",
19+
"loggregator_cert_path": "/bbs/certs/metron.crt",
20+
"loggregator_key_path": "/bbs/certs/metron.key",
21+
"loggregator_api_port": 3456,
22+
"loggregator_api_host": "loggregator-metron"
23+
},
1724
"active_key_label": "key-2016-06",
1825
"auctioneer_address": "http://mockserver:1234",
1926
"ca_file": "/bbs/certs/bbs_ca.crt",

.devcontainer/images/bbs/locket.json

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,12 @@
77
"listen_address": "127.0.0.1:8891",
88
"log_level": "debug",
99
"database_connection_string": "postgres://postgres:supersecret@postgres:5432/locket",
10-
"database_driver": "postgres"
10+
"database_driver": "postgres",
11+
"loggregator": {
12+
"loggregator_ca_path": "/bbs/certs/metron_ca.crt",
13+
"loggregator_cert_path": "/bbs/certs/metron.crt",
14+
"loggregator_key_path": "/bbs/certs/metron.key",
15+
"loggregator_api_port": 3456,
16+
"loggregator_api_host": "loggregator-metron"
17+
}
1118
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
FROM golang:1
2+
3+
WORKDIR /app
4+
5+
COPY main.go .
6+
COPY go.* .
7+
8+
RUN go build -o metron main.go
9+
10+
CMD ["/app/metron"]
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
module loggregator-metron-mock
2+
3+
go 1.24.0
4+
5+
require (
6+
code.cloudfoundry.org/diego-logging-client v0.79.0
7+
code.cloudfoundry.org/go-loggregator/v9 v9.2.1
8+
google.golang.org/grpc v1.76.0
9+
)
10+
11+
require (
12+
code.cloudfoundry.org/go-diodes v0.0.0-20251110090230-86c716268a29 // indirect
13+
code.cloudfoundry.org/tlsconfig v0.40.0 // indirect
14+
github.com/google/go-cmp v0.7.0 // indirect
15+
github.com/onsi/gomega v1.38.2 // indirect
16+
go.yaml.in/yaml/v3 v3.0.4 // indirect
17+
golang.org/x/net v0.46.0 // indirect
18+
golang.org/x/sys v0.38.0 // indirect
19+
golang.org/x/text v0.30.0 // indirect
20+
google.golang.org/genproto/googleapis/rpc v0.0.0-20251110190251-83f479183930 // indirect
21+
google.golang.org/protobuf v1.36.10 // indirect
22+
)
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
code.cloudfoundry.org/diego-logging-client v0.79.0 h1:aICflukGWkeJskienUOmcZKzffUfBDMKxnf3U749jWI=
2+
code.cloudfoundry.org/diego-logging-client v0.79.0/go.mod h1:IfoCideYJCr5k8M23pbo03vls43jttRQHIvZccm9WAQ=
3+
code.cloudfoundry.org/go-diodes v0.0.0-20251110090230-86c716268a29 h1:1nq03CXGIL3Cz5CrGMSn9ZC8PlznQ4XNHAR96STWKLs=
4+
code.cloudfoundry.org/go-diodes v0.0.0-20251110090230-86c716268a29/go.mod h1:V4TqkLFyKOZSJdvTtgKlZvPThF31f03H9Vwq8HrJcWQ=
5+
code.cloudfoundry.org/go-loggregator/v9 v9.2.1 h1:S6Lgg5UJbhh2bt2TGQxs6R00CF8PrUA3GFPYDxy56Fk=
6+
code.cloudfoundry.org/go-loggregator/v9 v9.2.1/go.mod h1:FTFFruqGeOhVCDFvyLgl8EV8YW63NNwRzLhxJcporu8=
7+
code.cloudfoundry.org/tlsconfig v0.40.0 h1:TwQTN3WgCIH+j0yPXUQQy0jV9Z4FOzTuxaAWAMVd+ZU=
8+
code.cloudfoundry.org/tlsconfig v0.40.0/go.mod h1:Isd5XjgtHHf/Co2DesnzqEWZZq5Al5+ECU4mg8BZ0Tg=
9+
filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA=
10+
filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4=
11+
github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0=
12+
github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
13+
github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
14+
github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
15+
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
16+
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
17+
github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI=
18+
github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI=
19+
github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
20+
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
21+
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
22+
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
23+
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
24+
github.com/google/pprof v0.0.0-20251007162407-5df77e3f7d1d h1:KJIErDwbSHjnp/SGzE5ed8Aol7JsKiI5X7yWKAtzhM0=
25+
github.com/google/pprof v0.0.0-20251007162407-5df77e3f7d1d/go.mod h1:I6V7YzU0XDpsHqbsyrghnFZLO1gwK6NPTNvmetQIk9U=
26+
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
27+
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
28+
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
29+
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
30+
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
31+
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
32+
github.com/onsi/ginkgo/v2 v2.27.2 h1:LzwLj0b89qtIy6SSASkzlNvX6WktqurSHwkk2ipF/Ns=
33+
github.com/onsi/ginkgo/v2 v2.27.2/go.mod h1:ArE1D/XhNXBXCBkKOLkbsb2c81dQHCRcF5zwn/ykDRo=
34+
github.com/onsi/gomega v1.38.2 h1:eZCjf2xjZAqe+LeWvKb5weQ+NcPwX84kqJ0cZNxok2A=
35+
github.com/onsi/gomega v1.38.2/go.mod h1:W2MJcYxRGV63b418Ai34Ud0hEdTVXq9NW9+Sx6uXf3k=
36+
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
37+
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
38+
github.com/square/certstrap v1.3.0 h1:N9P0ZRA+DjT8pq5fGDj0z3FjafRKnBDypP0QHpMlaAk=
39+
github.com/square/certstrap v1.3.0/go.mod h1:wGZo9eE1B7WX2GKBn0htJ+B3OuRl2UsdCFySNooy9hU=
40+
go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA=
41+
go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A=
42+
go.opentelemetry.io/otel v1.37.0 h1:9zhNfelUvx0KBfu/gb+ZgeAfAgtWrfHJZcAqFC228wQ=
43+
go.opentelemetry.io/otel v1.37.0/go.mod h1:ehE/umFRLnuLa/vSccNq9oS1ErUlkkK71gMcN34UG8I=
44+
go.opentelemetry.io/otel/metric v1.37.0 h1:mvwbQS5m0tbmqML4NqK+e3aDiO02vsf/WgbsdpcPoZE=
45+
go.opentelemetry.io/otel/metric v1.37.0/go.mod h1:04wGrZurHYKOc+RKeye86GwKiTb9FKm1WHtO+4EVr2E=
46+
go.opentelemetry.io/otel/sdk v1.37.0 h1:ItB0QUqnjesGRvNcmAcU0LyvkVyGJ2xftD29bWdDvKI=
47+
go.opentelemetry.io/otel/sdk v1.37.0/go.mod h1:VredYzxUvuo2q3WRcDnKDjbdvmO0sCzOvVAiY+yUkAg=
48+
go.opentelemetry.io/otel/sdk/metric v1.37.0 h1:90lI228XrB9jCMuSdA0673aubgRobVZFhbjxHHspCPc=
49+
go.opentelemetry.io/otel/sdk/metric v1.37.0/go.mod h1:cNen4ZWfiD37l5NhS+Keb5RXVWZWpRE+9WyVCpbo5ps=
50+
go.opentelemetry.io/otel/trace v1.37.0 h1:HLdcFNbRQBE2imdSEgm/kwqmQj1Or1l/7bW6mxVK7z4=
51+
go.opentelemetry.io/otel/trace v1.37.0/go.mod h1:TlgrlQ+PtQO5XFerSPUYG0JSgGyryXewPGyayAWSBS0=
52+
go.step.sm/crypto v0.74.0 h1:/APBEv45yYR4qQFg47HA8w1nesIGcxh44pGyQNw6JRA=
53+
go.step.sm/crypto v0.74.0/go.mod h1:UoXqCAJjjRgzPte0Llaqen7O9P7XjPmgjgTHQGkKCDk=
54+
go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc=
55+
go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
56+
golang.org/x/crypto v0.44.0 h1:A97SsFvM3AIwEEmTBiaxPPTYpDC47w720rdiiUvgoAU=
57+
golang.org/x/crypto v0.44.0/go.mod h1:013i+Nw79BMiQiMsOPcVCB5ZIJbYkerPrGnOa00tvmc=
58+
golang.org/x/mod v0.29.0 h1:HV8lRxZC4l2cr3Zq1LvtOsi/ThTgWnUk/y64QSs8GwA=
59+
golang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w=
60+
golang.org/x/net v0.46.0 h1:giFlY12I07fugqwPuWJi68oOnpfqFnJIJzaIIm2JVV4=
61+
golang.org/x/net v0.46.0/go.mod h1:Q9BGdFy1y4nkUwiLvT5qtyhAnEHgnQ/zd8PfU6nc210=
62+
golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I=
63+
golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
64+
golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc=
65+
golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
66+
golang.org/x/text v0.30.0 h1:yznKA/E9zq54KzlzBEAWn1NXSQ8DIp/NYMy88xJjl4k=
67+
golang.org/x/text v0.30.0/go.mod h1:yDdHFIX9t+tORqspjENWgzaCVXgk0yYnYuSZ8UzzBVM=
68+
golang.org/x/tools v0.38.0 h1:Hx2Xv8hISq8Lm16jvBZ2VQf+RLmbd7wVUsALibYI/IQ=
69+
golang.org/x/tools v0.38.0/go.mod h1:yEsQ/d/YK8cjh0L6rZlY8tgtlKiBNTL14pGDJPJpYQs=
70+
gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk=
71+
gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E=
72+
google.golang.org/genproto/googleapis/rpc v0.0.0-20251110190251-83f479183930 h1:tK4fkUnnRhig9TsTp4otV1FxwBFYgbKUq1RY0V6KZ4U=
73+
google.golang.org/genproto/googleapis/rpc v0.0.0-20251110190251-83f479183930/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk=
74+
google.golang.org/grpc v1.76.0 h1:UnVkv1+uMLYXoIz6o7chp59WfQUYA2ex/BXQ9rHZu7A=
75+
google.golang.org/grpc v1.76.0/go.mod h1:Ju12QI8M6iQJtbcsV+awF5a4hfJMLi4X0JLo94ULZ6c=
76+
google.golang.org/protobuf v1.36.10 h1:AYd7cD/uASjIL6Q9LiTjz8JLcrh/88q5UObnmY3aOOE=
77+
google.golang.org/protobuf v1.36.10/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
78+
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
79+
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
80+
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
package main
2+
3+
import (
4+
"context"
5+
"crypto/tls"
6+
"crypto/x509"
7+
"log"
8+
"net"
9+
"os"
10+
11+
"code.cloudfoundry.org/diego-logging-client/testhelpers"
12+
"code.cloudfoundry.org/go-loggregator/v9/rpc/loggregator_v2"
13+
"google.golang.org/grpc"
14+
"google.golang.org/grpc/credentials"
15+
)
16+
17+
const port = ":3456"
18+
19+
func main() {
20+
certFile := os.Getenv("METRON_CERT")
21+
keyFile := os.Getenv("METRON_KEY")
22+
caFile := os.Getenv("METRON_CA")
23+
24+
if certFile == "" || keyFile == "" || caFile == "" {
25+
log.Fatal("METRON_CERT, METRON_KEY, and METRON_CA environment variables must be set")
26+
}
27+
28+
cert, err := tls.LoadX509KeyPair(certFile, keyFile)
29+
if err != nil {
30+
log.Fatalf("Failed to load server certificate: %v", err)
31+
}
32+
33+
caCertBytes, err := os.ReadFile(caFile)
34+
if err != nil {
35+
log.Fatalf("Failed to read CA certificate: %v", err)
36+
}
37+
caCertPool := x509.NewCertPool()
38+
caCertPool.AppendCertsFromPEM(caCertBytes)
39+
40+
tlsConfig := &tls.Config{
41+
Certificates: []tls.Certificate{cert},
42+
ClientAuth: tls.RequestClientCert,
43+
InsecureSkipVerify: false,
44+
RootCAs: caCertPool,
45+
ClientCAs: caCertPool,
46+
}
47+
48+
lis, err := net.Listen("tcp4", port)
49+
if err != nil {
50+
log.Fatalf("Failed to listen on port %s: %v", port, err)
51+
}
52+
53+
grpcServer := grpc.NewServer(grpc.Creds(credentials.NewTLS(tlsConfig)))
54+
55+
fakeServer := &testhelpers.FakeIngressServer{}
56+
fakeServer.BatchSenderStub = func(srv loggregator_v2.Ingress_BatchSenderServer) error {
57+
<-srv.Context().Done()
58+
return nil
59+
}
60+
61+
fakeServer.SendStub = func(ctx context.Context, batch *loggregator_v2.EnvelopeBatch) (*loggregator_v2.SendResponse, error) {
62+
return &loggregator_v2.SendResponse{}, nil
63+
}
64+
65+
loggregator_v2.RegisterIngressServer(grpcServer, fakeServer)
66+
67+
log.Printf("server listening on %s", port)
68+
if err := grpcServer.Serve(lis); err != nil {
69+
log.Fatalf("Failed to serve: %v", err)
70+
}
71+
}
72+

docker-compose.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,8 @@ services:
6767
- ./spec/fixtures/certs:/bbs/certs:ro
6868
ports:
6969
- "8889:8889"
70+
depends_on:
71+
- loggregator-metron
7072
networks:
7173
- cc-net
7274
restart: unless-stopped
@@ -89,6 +91,24 @@ services:
8991
- cc-net
9092
restart: unless-stopped
9193

94+
# Loggregator Metron Mock
95+
loggregator-metron:
96+
container_name: loggregator-metron
97+
build:
98+
context: .devcontainer/images/loggregator-metron
99+
dockerfile: Dockerfile
100+
ports:
101+
- "127.0.0.1:3456:3456"
102+
environment:
103+
METRON_CERT: /metron/certs/metron.crt
104+
METRON_KEY: /metron/certs/metron.key
105+
METRON_CA: /metron/certs/metron_ca.crt
106+
volumes:
107+
- ./spec/fixtures/certs:/metron/certs:ro
108+
networks:
109+
- cc-net
110+
restart: unless-stopped
111+
92112
# Minio S3 Blobstore
93113
minio:
94114
container_name: minio

spec/fixtures/certs/bbs_ca.crt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,3 @@ W4wf8IOOmVso9VrQdnw0KIWTHsh+vo/1P7M218whfyzBv87NWM1cLdxNyGYVNDox
2727
RbA0VD3XzBQs1/CIA3YvE3ulnsD1iy/p1CSvZb20nzN6E9oq08d+rJsaWbRycTgC
2828
rL9Avd9fzKXjhVPY0uVHHT0JXEndxeBaPNwUFTkyBv/XTjCdC3fXb0ky33Fx
2929
-----END CERTIFICATE-----
30-
¨3

spec/fixtures/certs/metron.crt

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIELjCCAhagAwIBAgIQbzv3sI3TskO8v1YfgeBB3DANBgkqhkiG9w0BAQsFADAN
3+
MQswCQYDVQQDEwJDQTAeFw0yNTAzMTIxOTExNDdaFw0yNjA5MTIxOTIxNDVaMBEx
4+
DzANBgNVBAMTBm1ldHJvbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
5+
ANYeHxH65vFS1ET6WqnqiF6r9bCFNC8zR0FMLp3WCEZ4j+4HnOeKRwx8mmNSyopw
6+
mtRIjhIBnCO+6+x65+o7oy+FNPrGCTlDJ0GcZIHh+SdaZrfiB8uKzJaPolc3zfb3
7+
EF7VNXYQKS7K+FQZcDkfvsMjc+Y6h+1KS6ywOzlxv+GjB9PYbViEWSnJ/L7kDatQ
8+
ufPz7f0cCWEb7t86CukpZtsAA82krbzvLY8K2uP5RYqdu8dK1pg5IUwsqarEPEGP
9+
/iRmZXrniSeWYgX/h061bQygbCFh4Dy4/Pog2rZIL7t5C3KNsf+X+jH6LNqY2dCh
10+
ygWut2tTTOa846xupGb/JHECAwEAAaOBhTCBgjAOBgNVHQ8BAf8EBAMCA7gwHQYD
11+
VR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMB0GA1UdDgQWBBTDuSo0Dgnr59/q
12+
Ndqo+A/UwdsgQzAfBgNVHSMEGDAWgBRmrVSAvVCxI7w1Q5rxXyEXh5E/cDARBgNV
13+
HREECjAIggZtZXRyb24wDQYJKoZIhvcNAQELBQADggIBALTkvFUp20mR8w42UTgn
14+
lFzQsFKpmGTV7QK9BuwX2lMV+Yv8rOqbVEal2+skIJq9HjOyvld2ioH8gxQ/LMZ/
15+
9u5Jp4NYajP+OxxWzqflnWcXdI/0yH4QPvk9dTnquqO96hlzQCbsg64uCy+crn5u
16+
z/mjNlrf7gxABQi5laZtGMVAbH1u3ISx3NvfvEPA1vTGpgpT4j/77/sHMZwgpSef
17+
krJxMWbSAYamSmjB5uxu9CVLPYv76ds63RBVHMLneYNIIUuckWvFScP7qK1WAN/7
18+
dtb6SwwzVurVCBSqp5nOpjtVzwjsdD8kj0eDi2LrkH4WyZl1pRhVM0ch8o1inRSO
19+
Elxyl2d4qE+0Tg+QFAw4QWlRd961td3G5d2ACtnlbljfvh35NdJ0q+fukyXBX6Qk
20+
xV1Mb+wZLV6oGcn5yHBwU0reDKpuYelQzCElsVcCi49eXf812Ct/DWVpVAF1edVj
21+
m0Y+Ls3QVMtCW6LXUmpHMkGP+W4BNA9MjUYKCETErZIntiOyGwu70lpK9brq/Lu/
22+
nhdwUUqnIFlIwotEhU9EJ9nqgB89UFJIOkxuGKeRKVwWtx1A9fDoIgf5yPLXueKi
23+
UFlJdyL37xaK0ceBSOLOzc6JwcNCsNpJs3maRcZICQ86X2QLsaQMUck5yYe22/I9
24+
YRaA/pkIGSPtBB1lIiESfvO7
25+
-----END CERTIFICATE-----

spec/fixtures/certs/metron.key

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
-----BEGIN RSA PRIVATE KEY-----
2+
MIIEpAIBAAKCAQEA1h4fEfrm8VLURPpaqeqIXqv1sIU0LzNHQUwundYIRniP7gec
3+
54pHDHyaY1LKinCa1EiOEgGcI77r7Hrn6jujL4U0+sYJOUMnQZxkgeH5J1pmt+IH
4+
y4rMlo+iVzfN9vcQXtU1dhApLsr4VBlwOR++wyNz5jqH7UpLrLA7OXG/4aMH09ht
5+
WIRZKcn8vuQNq1C58/Pt/RwJYRvu3zoK6Slm2wADzaStvO8tjwra4/lFip27x0rW
6+
mDkhTCypqsQ8QY/+JGZleueJJ5ZiBf+HTrVtDKBsIWHgPLj8+iDatkgvu3kLco2x
7+
/5f6Mfos2pjZ0KHKBa63a1NM5rzjrG6kZv8kcQIDAQABAoIBAQCDUaH4owr0wroR
8+
PAJS59aPSaO7iVaCBE8VSyXkA5q7rcGIWP7wOqxsihceB27VDU7IF1+ax4X9nmCP
9+
fqmxzLW+tVHS45ZQmlD/Om2iAveOHTGWYXgqa4wiYyFLoJwfdVOC9fx91leLrUw0
10+
OA3N2xxiDeJNN2SaMdDLrqIEDzGBrh41D8QjOFnWxiQzDMqk8WQ8Pvkft4fu+bO6
11+
5mV5WWElfX315nM0FW8MeG+hg5BvtS9475CyYJ4sWJYiGwFm7g069waomwCUjMmg
12+
FNRNFgZH+mI7yv0AfNxzuH77gGvrRZ+O5bk7bBXiirEWiHlcVNlJdReDEfrcmClI
13+
3AQZWBNJAoGBAOjQPgZArYcCFNuZGtxE2cZ4DYXL2OMXTw1medQjFRgGyit+5Xzb
14+
JvvixpIY69MWFL8WuONjeDxO9r2fZdwBZ4ltIy/LhTU1F5Q/Qh376LXUhryI4/31
15+
kAh/XpSmw+u3fhcD2SMA5LIEc+mv1owi6L5Orax9wTCNnWowb80aTmx3AoGBAOtx
16+
NzcdXUqjhe2dKYV2Iec7bJhtfAPkUTavwPAKP7QxtG2aeRKgEv+WO58om213apYO
17+
n12fG/gg5fYQopEaI08EWkSuKdOMgSJAK6H/DnlzlWXt7pLo0lRBJo6km8v/fJLa
18+
t51rhvuaub1obXEsxcLMoZOIGfBVfG0VZMDfI/hXAoGALffQB1QF7z5N9/4G+67s
19+
gO97XAufy1by2OZ+74/tvky45lWr4jczP1DLfFVHWuplNkW6Q8uEFgRRW6d5aTMt
20+
ykiuReWda6AMA81ptJnknOJVqCwvOBmgUs0zU46J6KTWVJ0B5pNqlGukp2N8rTbH
21+
VawbRo+d8YRErI7bxFeJXIkCgYASlYQrOIklnBS1NcOSQknYy6r9uR6h3ALBE0xi
22+
ZhyzJ307bYcC/lmhjQU1wenK0TM7lvnjVOzLQCWGr7d1Rp/k284YP7sTdLK4tmH7
23+
TnuhAIuZWReMxw3bEq1tcvbNOmRl3xfBODyWXZctqTGCTmtpvec/Eu4hN04z+g1S
24+
4AohzwKBgQCCMR5DzKcPnRvMxvIF3pqqRo0wTr4ZNju+DWR0lA4IEO03HAU5Ksvf
25+
OzYaEwaRGm63fc/JDvAimJeggxpzj45ZOqlx9scPXIZCIzh00zqg2RZf20ykzPq6
26+
UM3hjrsIq6V/2HBQpzz1rs4NQwUCDpjfDLkaUt/TUBbiMr4JcI77oA==
27+
-----END RSA PRIVATE KEY-----

0 commit comments

Comments
 (0)