Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
gNMI Target
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
danet
gNMI Target
Commits
3786a6d1
Commit
3786a6d1
authored
6 months ago
by
Vincentius Raynaldi
Browse files
Options
Downloads
Patches
Plain Diff
changed getMotd function and added ca certificate openssl in makefile
parent
21ddd535
No related branches found
No related tags found
No related merge requests found
Pipeline
#229650
failed
6 months ago
Stage: build
Stage: analyze
Changes
3
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
Makefile
+14
-1
14 additions, 1 deletion
Makefile
examples/example01/osclient/additions/system_linux.go
+8
-2
8 additions, 2 deletions
examples/example01/osclient/additions/system_linux.go
target.go
+28
-26
28 additions, 26 deletions
target.go
with
50 additions
and
29 deletions
Makefile
+
14
−
1
View file @
3786a6d1
...
...
@@ -51,10 +51,23 @@ lint: install-tools
lint-fix
:
install-tools
./
$(
TOOLS_DIR
)
/golangci-lint run
--config
.golangci.yml
--fix
generate-root-ca
:
pre
mkdir
-p
./artifacts/ssl
openssl req
-x509
-nodes
-days
365
-newkey
rsa:4096
-subj
'/C=DE/O=H_DA/CN=ROOT_CA'
\
-keyout
./artifacts/ssl/ca.key
-out
./artifacts/ssl/ca.crt
;
\
self-certs
:
mkdir
-p
./artifacts/ssl/private
mkdir
-p
./artifacts/ssl/certs
openssl req
-x509
-nodes
-days
365
-newkey
rsa:4096
-keyout
./artifacts/ssl/private/gnmi-target-selfsigned.key
-out
./artifacts/ssl/certs/gnmi-target-selfsigned.crt
openssl req
-x509
-nodes
-days
365
-newkey
rsa:4096
\
-subj
'/C=DE/O=H_DA/CN=TARGET'
\
-keyout
./artifacts/ssl/private/gnmi-target-selfsigned.key
\
-out
./artifacts/ssl/certs/gnmi-target-selfsigned.crt
\
-CA
./artifacts/ssl/ca.crt
\
-CAkey
./artifacts/ssl/ca.key
# openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout ./artifacts/ssl/private/gnmi-target-selfsigned.key -out ./artifacts/ssl/certs/gnmi-target-selfsigned.crt -CA ./artifacts/ssl/ca.key -CAkey ./artifacts/ssl/ca.key
# Warning: Depending on you go configuration might also clean caches, modules and docker containers from your other projects.
clean
:
...
...
This diff is collapsed.
Click to expand it.
examples/example01/osclient/additions/system_linux.go
+
8
−
2
View file @
3786a6d1
...
...
@@ -2,6 +2,7 @@ package additions
import
(
"bufio"
// "fmt"
"os"
"os/exec"
"strings"
...
...
@@ -113,9 +114,14 @@ func (sys *system) GetSoftwareVersion() (string, error) {
}
func
(
sys
*
system
)
GetMotd
()
(
string
,
error
)
{
motdMessage
,
err
:=
os
.
ReadFile
(
"/etc/motd"
)
if
err
==
nil
{
return
string
(
motdMessage
),
nil
}
cmd
:=
exec
.
Command
(
"run-parts"
,
"/etc/update-motd.d/"
)
motdMessage
,
err
:=
cmd
.
Output
()
// motdMessage, err := os.ReadFile("/etc/motd")
motdMessage
,
err
=
cmd
.
Output
()
if
err
!=
nil
{
return
""
,
err
}
...
...
This diff is collapsed.
Click to expand it.
target.go
+
28
−
26
View file @
3786a6d1
package
gnmitarget
import
(
//
"crypto/tls"
//
"crypto/x509"
"crypto/tls"
"crypto/x509"
"net"
//
"os"
"os"
"reflect"
"code.fbi.h-da.de/danet/gnmi-target/handler"
server
"code.fbi.h-da.de/danet/gnmi-target/internal/gnmiserver"
"google.golang.org/grpc"
//
"google.golang.org/grpc/credentials"
"google.golang.org/grpc/credentials"
"google.golang.org/grpc/reflection"
not
"code.fbi.h-da.de/danet/gnmi-target/internal/notifications"
...
...
@@ -93,35 +93,37 @@ func (gt *GnmiTarget) Start(bindAddress string, certFile string, keyFile string,
var
grpcServer
*
grpc
.
Server
// if insecure == false {
// cert, err := tls.LoadX509KeyPair(certFile, keyFile)
// if err != nil {
// log.Fatalf("error in loading server certificate: %v", err)
// }
// ca, err := os.ReadFile(caFile)
if
insecure
==
false
{
cert
,
err
:=
tls
.
LoadX509KeyPair
(
certFile
,
keyFile
)
if
err
!=
nil
{
log
.
Fatalf
(
"error in loading server certificate: %v"
,
err
)
}
// pool := x509.NewCertPool()
// if !pool.AppendCertsFromPEM(ca) {
// log.Fatalf("error in appending ca certificate: %v", err)
// }
ca
,
err
:=
os
.
ReadFile
(
caFile
)
if
err
!=
nil
{
log
.
Fatalf
(
"error in loading ca certificate: %v %s"
,
err
,
caFile
)
}
pool
:=
x509
.
NewCertPool
()
if
!
pool
.
AppendCertsFromPEM
(
ca
)
{
log
.
Fatalf
(
"error in appending ca certificate: %v"
,
err
)
}
//
tlsConfig := &tls.Config{
//
// activate mTLS
//
ClientAuth: tls.RequireAndVerifyClientCert,
//
Certificates: []tls.Certificate{cert},
//
ClientCAs: pool,
//
}
tlsConfig
:=
&
tls
.
Config
{
// activate mTLS
ClientAuth
:
tls
.
RequireAndVerifyClientCert
,
Certificates
:
[]
tls
.
Certificate
{
cert
},
ClientCAs
:
pool
,
}
//
transportCredentials := credentials.NewTLS(tlsConfig)
transportCredentials
:=
credentials
.
NewTLS
(
tlsConfig
)
//
// Create new GRPC Server without service registered
//
grpcServer = grpc.NewServer(grpc.Creds(transportCredentials))
//
} else {
// Create new GRPC Server without service registered
grpcServer
=
grpc
.
NewServer
(
grpc
.
Creds
(
transportCredentials
))
}
else
{
log
.
Infof
(
"
\n\n
*****WARNING*********WARNING*****
\n
Starting without secured gnmi server!
\n
All gnmi transmissions are unencrypted
\n
*****WARNING*********WARNING*****
\n\n
"
)
// Create new GRPC Server without service registered
grpcServer
=
grpc
.
NewServer
()
//
}
}
// Register GNMI Server
pbGNMI
.
RegisterGNMIServer
(
grpcServer
,
gnmiServer
)
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment