diff --git a/mappers/idmvs/Dockerfile b/mappers/idmvs/Dockerfile new file mode 100644 index 00000000..e330b879 --- /dev/null +++ b/mappers/idmvs/Dockerfile @@ -0,0 +1,5 @@ +FROM ubuntu:20.04 +WORKDIR /usr/local/bin +COPY ./res /usr/local/res +COPY ./bin/idmvs /usr/local/bin/idmvs +ENTRYPOINT ["./idmvs", "--v", "4"] \ No newline at end of file diff --git a/mappers/idmvs/Makefile b/mappers/idmvs/Makefile new file mode 100644 index 00000000..cad4512c --- /dev/null +++ b/mappers/idmvs/Makefile @@ -0,0 +1,36 @@ +SHELL := /bin/bash + +curr_dir := $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))) +rest_args := $(wordlist 2, $(words $(MAKECMDGOALS)), $(MAKECMDGOALS)) +$(eval $(rest_args):;@:) + +help: + # + # Usage: + # make template : create a mapper based on a template. + # make mapper {mapper-name} : execute mapper building process. + # make all : execute building process to all mappers. + # + # Actions: + # - mod, m : download code dependencies. + # - lint, l : verify code via go fmt and `golangci-lint`. + # - build, b : compile code. + # - package, p : package docker image. + # - test, t : run unit tests. + # - clean, c : clean output binary. + # + # Parameters: + # ARM : true or undefined + # ARM64 : true or undefined + # + # Example: + # - make mapper idmvs ARM64=true : execute `build` "idmvs" mapper for ARM64. + # - make mapper idmvs test : execute `test` "idmvs" mapper. + @echo + +make_rules := $(shell ls $(curr_dir)/hack/make-rules | sed 's/.sh//g') +$(make_rules): + @$(curr_dir)/hack/make-rules/$@.sh $(rest_args) + +.DEFAULT_GOAL := help +.PHONY: $(make_rules) build test package diff --git a/mappers/idmvs/cmd/main.go b/mappers/idmvs/cmd/main.go new file mode 100644 index 00000000..4a91881b --- /dev/null +++ b/mappers/idmvs/cmd/main.go @@ -0,0 +1,12 @@ +package main + +import ( + "github.com/kubeedge/mappers-go/mapper-sdk-go/pkg/service" + "github.com/kubeedge/mappers-go/mappers/idmvs/driver" +) + +// main IDMVS device program entry +func main() { + gd := &driver.IDMVS{} + service.Bootstrap("IDMVS", gd) +} diff --git a/mappers/idmvs/driver/driver.go b/mappers/idmvs/driver/driver.go new file mode 100644 index 00000000..7b84f9f7 --- /dev/null +++ b/mappers/idmvs/driver/driver.go @@ -0,0 +1,167 @@ +package driver + +import ( + "encoding/json" + "fmt" + "net" + "strconv" + "strings" + "sync" + "unsafe" +) + +// IDMVSProtocolConfig is the protocol config structure. +type IDMVSProtocolConfig struct { + ProtocolName string `json:"protocolName"` + ProtocolConfigData `json:"configData"` +} +// ProtocolConfigData is the protocol config data structure. +type ProtocolConfigData struct { +} + +// IDMVSProtocolCommonConfig is the protocol common config structure. +type IDMVSProtocolCommonConfig struct { + CommonCustomizedValues `json:"customizedValues"` +} +// CommonCustomizedValues is the customized values structure. +type CommonCustomizedValues struct { + Port int `json:"TCPport"` +} +// IDMVSVisitorConfig is the visitor config structure. +type IDMVSVisitorConfig struct { + ProtocolName string `json:"protocolName"` + VisitorConfigData `json:"configData"` +} + +// VisitorConfigData is the visitor config data structure. +type VisitorConfigData struct { +} + +// IDMVS Realize the structure +type IDMVS struct { + mutex sync.Mutex + protocolConfig IDMVSProtocolConfig + protocolCommonConfig IDMVSProtocolCommonConfig + visitorConfig IDMVSVisitorConfig + listeners map[int]*IDMVSInstance +} + +// IDMVSInstance is the instance structure +type IDMVSInstance struct { + server net.Listener + codeValue string + status bool + reportTimes int +} + +// InitDevice Sth that need to do in the first +// If you need mount a persistent connection, you should provide parameters in configmap's protocolCommon. +// and handle these parameters in the following function +func (d *IDMVS) InitDevice(protocolCommon []byte) (err error) { + if protocolCommon != nil { + if err = json.Unmarshal(protocolCommon, &d.protocolCommonConfig); err != nil { + fmt.Printf("Unmarshal ProtocolCommonConfig error: %v\n", err) + return err + } + } + d.connect() + return nil +} + +// SetConfig Parse the configmap's raw json message +// In the case of high concurrency, d.mutex helps you get the correct value +func (d *IDMVS) SetConfig(protocolCommon, visitor, protocol []byte) (port int, err error) { + d.mutex.Lock() + defer d.mutex.Unlock() + if protocolCommon != nil { + if err = json.Unmarshal(protocolCommon, &d.protocolCommonConfig); err != nil { + fmt.Printf("Unmarshal protocolCommonConfig error: %v\n", err) + return 0, err + } + } + if visitor != nil { + if err = json.Unmarshal(visitor, &d.visitorConfig); err != nil { + fmt.Printf("Unmarshal visitorConfig error: %v\n", err) + return 0, err + } + } + if protocol != nil { + if err = json.Unmarshal(protocol, &d.protocolConfig); err != nil { + fmt.Printf("Unmarshal protocolConfig error: %v\n", err) + return 0, err + } + } + return d.protocolCommonConfig.Port, nil +} + +// ReadDeviceData is an interface that reads data from a specific device, data is a type of string +func (d *IDMVS) ReadDeviceData(protocolCommon, visitor, protocol []byte) (data interface{}, err error) { + // Parse raw json message to get a IDMVS instance + port, err := d.SetConfig(protocolCommon, visitor, protocol) + if err != nil { + return nil, err + } + if d.listeners[port].reportTimes == 0 { + return "NoRead", nil + } + + d.listeners[port].reportTimes-- + return d.listeners[port].codeValue, nil +} + +// WriteDeviceData is an interface that write data to a specific device, data's DataType is Consistent with configmap +func (d *IDMVS) WriteDeviceData(data interface{}, protocolCommon, visitor, protocol []byte) (err error) { + return nil +} + +// StopDevice is an interface to disconnect a specific device +// This function is called when mapper stops serving +func (d *IDMVS) StopDevice() (err error) { + return nil +} + +// GetDeviceStatus is an interface to get the device status true is OK , false is DISCONNECTED +func (d *IDMVS) GetDeviceStatus(protocolCommon, visitor, protocol []byte) (status bool) { + port, err := d.SetConfig(protocolCommon, visitor, protocol) + if err != nil { + return false + } + return d.listeners[port].status +} + +func (d *IDMVS) connect() { + if d.listeners == nil { + d.listeners = make(map[int]*IDMVSInstance) + } + clientPort := strconv.Itoa(d.protocolCommonConfig.Port) + address := fmt.Sprintf("0.0.0.0:%s", clientPort) + d.listeners[d.protocolCommonConfig.Port] = new(IDMVSInstance) + var err error + d.listeners[d.protocolCommonConfig.Port].server, err = net.Listen("tcp", address) + if err != nil { + fmt.Printf("Listen %s server failed,err:%s\n", address, err) + return + } + go func() { + conn, err := d.listeners[d.protocolCommonConfig.Port].server.Accept() + if err != nil { + fmt.Println("Listen.Accept failed,err:", err) + } + defer conn.Close() + for { + buf := make([]byte, 256) + n, err := conn.Read(buf[:]) + if err != nil { + fmt.Println("Read from tcp server failed,err:", err) + d.listeners[d.protocolCommonConfig.Port].status = false + } else { + data := buf[:n] + barCode := *(*string)(unsafe.Pointer(&data)) + barCode = strings.TrimRight(strings.TrimLeft(barCode, "

"), "

") + d.listeners[d.protocolCommonConfig.Port].codeValue = barCode + d.listeners[d.protocolCommonConfig.Port].status = true + d.listeners[d.protocolCommonConfig.Port].reportTimes = 2 //one for devicetwin,and another for third-part application + } + } + }() +} diff --git a/mappers/idmvs/hack/make-rules/mapper.sh b/mappers/idmvs/hack/make-rules/mapper.sh new file mode 100755 index 00000000..74715aa0 --- /dev/null +++ b/mappers/idmvs/hack/make-rules/mapper.sh @@ -0,0 +1,190 @@ +#!/usr/bin/env bash + +set -o errexit +set -o nounset +set -o pipefail + +CURR_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd -P)" +ROOT_DIR="$(cd "${CURR_DIR}/../.." && pwd -P)" +source "${ROOT_DIR}/hack/lib/init.sh" + +mkdir -p "${CURR_DIR}/bin" +mkdir -p "${CURR_DIR}/dist" + +function mod() { + [[ "${2:-}" != "only" ]] + local mapper="${1}" + + # the mapper is sharing the vendor with root + pushd "${ROOT_DIR}" >/dev/null || exist 1 + echo "downloading dependencies for mapper ${mapper}..." + + if [[ "$(go env GO111MODULE)" == "off" ]]; then + echo "go mod has been disabled by GO111MODULE=off" + else + echo "tidying" + go mod tidy + echo "vending" + go mod vendor + fi + + echo "...done" + popd >/dev/null || return +} + +function lint() { + [[ "${2:-}" != "only" ]] && mod "$@" + local mapper="${1}" + + echo "fmt and linting mapper ${mapper}..." + + gofmt -s -w "${CURR_DIR}/" + golangci-lint run "${CURR_DIR}/..." + + echo "...done" +} + +function build() { + [[ "${2:-}" != "only" ]] && lint "$@" + local mapper="${1}" + + local flags=" -w -s " + local ext_flags=" -extldflags '-static' " + local os="${OS:-$(go env GOOS)}" + local arch="${ARCH:-$(go env GOARCH)}" + + local platform + if [[ "${ARM:-false}" == "true" ]]; then + echo "crossed packaging for linux/arm" + platform=("linux/arm") + elif [[ "${ARM64:-false}" == "true" ]]; then + echo "crossed packaging for linux/arm64" + platform=("linux/arm64") + else + local os="${OS:-$(go env GOOS)}" + local arch="${ARCH:-$(go env GOARCH)}" + platform=("${os}/${arch}") + fi + + echo "building ${platform}" + + local os_arch + IFS="/" read -r -a os_arch <<<"${platform}" + local os=${os_arch[0]} + local arch=${os_arch[1]} + GOOS=${os} GOARCH=${arch} CGO_ENABLED=0 go build \ + -ldflags "${flags} ${ext_flags}" \ + -o "${CURR_DIR}/bin/${mapper}_${os}_${arch}" \ + "${CURR_DIR}/cmd/main.go" + + cp ${CURR_DIR}/bin/${mapper}_${os}_${arch} ${CURR_DIR}/bin/${mapper} + echo "...done" +} + +function package() { + [[ "${2:-}" != "only" ]] && build "$@" + local mapper="${1}" + + echo "packaging mapper ${mapper}..." + + local image_name="${mapper}-mapper" + local tag=v1.0 + + local platform + if [[ "${ARM:-false}" == "true" ]]; then + echo "crossed packaging for linux/arm" + platform=("linux/arm") + elif [[ "${ARM64:-false}" == "true" ]]; then + echo "crossed packaging for linux/arm64" + platform=("linux/arm64") + else + local os="${OS:-$(go env GOOS)}" + local arch="${ARCH:-$(go env GOARCH)}" + platform=("${os}/${arch}") + fi + + pushd "${CURR_DIR}" >/dev/null 2>&1 + if [[ "${platform}" =~ darwin/* ]]; then + echo "package into Darwin OS image is unavailable, please use CROSS=true env to containerize multiple arch images or use OS=linux ARCH=amd64 env to containerize linux/amd64 image" + fi + + local image_tag="${image_name}:${tag}-${platform////-}" + echo "packaging ${image_tag}" + sudo docker build \ + --platform "${platform}" \ + -t "${image_tag}" . + popd >/dev/null 2>&1 + + echo "...done" +} + +function test() { + [[ "${2:-}" != "only" ]] && build "$@" + local mapper="${1}" + + echo "running unit tests for mapper ${mapper}..." + + local unit_test_targets=( + "${CURR_DIR}/config/..." + "${CURR_DIR}/configmap/..." + "${CURR_DIR}/device/..." + "${CURR_DIR}/driver/..." + ) + + local os="${OS:-$(go env GOOS)}" + local arch="${ARCH:-$(go env GOARCH)}" + if [[ "${arch}" == "arm" ]]; then + # NB(thxCode): race detector doesn't support `arm` arch, ref to: + # - https://golang.org/doc/articles/race_detector.html#Supported_Systems + GOOS=${os} GOARCH=${arch} CGO_ENABLED=1 go test \ + -cover -coverprofile "${CURR_DIR}/dist/coverage_${mapper}_${os}_${arch}.out" \ + "${unit_test_targets[@]}" + else + GOOS=${os} GOARCH=${arch} CGO_ENABLED=1 go test \ + -race \ + -cover -coverprofile "${CURR_DIR}/dist/coverage_${mapper}_${os}_${arch}.out" \ + "${unit_test_targets[@]}" + fi + + echo "...done" +} + +function clean() { + local mapper="${1}" + + echo "cleanup mapper ${mapper}..." + + rm -rf "${CURR_DIR}/bin/*" + + echo "...done" +} + +function entry() { + local mapper="${1:-}" + shift 1 + + local stages="${1:-build}" + shift $(($# > 0 ? 1 : 0)) + + IFS="," read -r -a stages <<<"${stages}" + local commands=$* + if [[ ${#stages[@]} -ne 1 ]]; then + commands="only" + fi + + for stage in "${stages[@]}"; do + echo "# make mapper ${mapper} ${stage} ${commands}" + case ${stage} in + m | mod) mod "${mapper}" "${commands}" ;; + l | lint) lint "${mapper}" "${commands}" ;; + b | build) build "${mapper}" "${commands}" ;; + p | pkg | package) package "${mapper}" "${commands}" ;; + t | test) test "${mapper}" "${commands}" ;; + c | clean) clean "${mapper}" "${commands}" ;; + *) echo "unknown action '${stage}', select from mod,lint,build,test,clean" ;; + esac + done +} + +echo $@ +entry "$@" diff --git a/mappers/idmvs/res/ca.crt b/mappers/idmvs/res/ca.crt new file mode 100644 index 00000000..c0e6f714 --- /dev/null +++ b/mappers/idmvs/res/ca.crt @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDlzCCAn+gAwIBAgIUOqoWfzLFMjpDDJnjv0/m8qdDXCswDQYJKoZIhvcNAQEL +BQAwWzELMAkGA1UEBhMCQ04xDjAMBgNVBAgMBUh1YmVpMQ4wDAYDVQQHDAVXdWhh +bjEMMAoGA1UECgwDV1VUMQswCQYDVQQLDAJKUzERMA8GA1UEAwwIa3ViZWVkZ2Uw +HhcNMjIwNDAxMTMwOTMzWhcNMzIwMzI5MTMwOTMzWjBbMQswCQYDVQQGEwJDTjEO +MAwGA1UECAwFSHViZWkxDjAMBgNVBAcMBVd1aGFuMQwwCgYDVQQKDANXVVQxCzAJ +BgNVBAsMAkpTMREwDwYDVQQDDAhrdWJlZWRnZTCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAOw1sCfuNPbRnGQ2ePTEnxjPB+l8A6o6mAxzKSe2P+swPKzC +FAveEnddLR0dZKXuW+xnBJW1g3TFjTH/WWPF6xEQmmx+e5/y0kFWpwnui5HqTs15 +/hVv/5pakAdbxQmeh1WhrkHMvLjKU3/top5oNztQn1F4obTV4a7ata039+Jy99Pr +MLmn/+FGL+lcEc989zOLYlG19SmVBDmDUNx+v8KzsQlgxkV+hWXo+5y4lr/G6nZb +vUERXHM90BONeFdy0Ukg1xPQDTwjHEeZfsfWuA6psBIaS6EO3DVKn6EZRh4rJhNK +871BYS8/vAOEcUehc3vgPIObqQDeaoitdgTxO4MCAwEAAaNTMFEwHQYDVR0OBBYE +FLZS6qE4JTeO0w+2Wb4EASoOr+LCMB8GA1UdIwQYMBaAFLZS6qE4JTeO0w+2Wb4E +ASoOr+LCMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAJfvLsvP +22kI9hPwrtfw80HFuBZGBGiPaEFEJuut0dGa0/Ezx1wgkeVZ82T8K4u/PBZd+9oX +dkPa3tt4YEjMh0AgwgBnTsbA9qGkhHfeyQhw3thqoVoQZ63zuzus/gctj9uaEI1V +5YAF4dC1OlTivZW9yWGLDDXXqWSqcxuIX9ybSOX2ohnGBpZyPsOwjdCjNz3eaOqM +toCHa6J+X+pwhgPdKKIfGLdp2/S3VOmBdYacZN1iQLTgMpi/DfMKbfRK2ch5ttm9 +EO6wiXdzDRdyYKg8IE6cCuMIjf0EWlS8FCS3iTbqaLJTD4PgmWO3SmR7I1OHF/To +in7z6x8n6lsPdP8= +-----END CERTIFICATE----- diff --git a/mappers/idmvs/res/client.crt b/mappers/idmvs/res/client.crt new file mode 100644 index 00000000..7c44ceee --- /dev/null +++ b/mappers/idmvs/res/client.crt @@ -0,0 +1,20 @@ +-----BEGIN CERTIFICATE----- +MIIDNjCCAh4CFCArzrOzAh/rekUggX82gk68OY/WMA0GCSqGSIb3DQEBCwUAMFsx +CzAJBgNVBAYTAkNOMQ4wDAYDVQQIDAVIdWJlaTEOMAwGA1UEBwwFV3VoYW4xDDAK +BgNVBAoMA1dVVDELMAkGA1UECwwCQ1MxETAPBgNVBAMMCEt1YmVlZGdlMB4XDTIy +MDQyMDE2MTIxMFoXDTMyMDQxNzE2MTIxMFowVDELMAkGA1UEBhMCQ04xDjAMBgNV +BAgMBUh1YmVpMQ4wDAYDVQQHDAVXdWhhbjERMA8GA1UECgwIa3ViZWVkZ2UxEjAQ +BgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +AMHqnxg3osjKfNBqsooOnMdA/Jf5o0uf33oxvd7eXIYNNnUyvDIZ9kgt0IQHyamn +2BNDfMyDfXz6wHDuFV97+JtyLS1TLRMP4gGWGR/JC+iGNP0TGEtaEcwv7n1nRSkg +6j3FWErAvUhWU0Vlse7MB0GXevqezfDpSLeJLJvZ552C7SBTfLzBbNPhd2joJ/vJ +fKGz5f/OieGvhi7/0WmPzHH4RqT9q/va56FIO4MuEjhpRmg9OAsB/EAaOi9QFMD2 +rQkbRfA22hXA8PGqMq1PAnRwBUaWbwnwPNGm5rVeBMQfI4D8/JA+QYnXHrNMbSjC +cFwZmMIwC/TtwZ/GjwHSJmsCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAPjXQx3+p +wQVJ/GxE0jNAzdwm9MolvYgTzifpA693kTra5NSdocpQKFpqWJJ8NczaJyBn6JCg +X5Zx9xwD2wrNScelcQkOENg2ZjtAsiHESBtmkf+vBvj9QlBDrGtTDE5KQjg2ZgcU +EcFSjix685GxuxONRFXhvdRL+D1oAisoqvMjZTXbmbTV7h0Fke84GERxDmBvHKnj +SFVv+xoB3CSmD/LSn9baMed/akGpQG0IZ29nWlVLxHpaiUbhzrlEuNyVU/2qupZr +ffhKVhxD+z9j/1N/hkmbEOtZXwuwyOF7seUZktyyC+55t9XABfRBh85HYm+U/wqT +cWfh+yFb+3RsVA== +-----END CERTIFICATE----- diff --git a/mappers/idmvs/res/client.key b/mappers/idmvs/res/client.key new file mode 100644 index 00000000..e484df85 --- /dev/null +++ b/mappers/idmvs/res/client.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAweqfGDeiyMp80Gqyig6cx0D8l/mjS5/fejG93t5chg02dTK8 +Mhn2SC3QhAfJqafYE0N8zIN9fPrAcO4VX3v4m3ItLVMtEw/iAZYZH8kL6IY0/RMY +S1oRzC/ufWdFKSDqPcVYSsC9SFZTRWWx7swHQZd6+p7N8OlIt4ksm9nnnYLtIFN8 +vMFs0+F3aOgn+8l8obPl/86J4a+GLv/RaY/McfhGpP2r+9rnoUg7gy4SOGlGaD04 +CwH8QBo6L1AUwPatCRtF8DbaFcDw8aoyrU8CdHAFRpZvCfA80abmtV4ExB8jgPz8 +kD5Bidces0xtKMJwXBmYwjAL9O3Bn8aPAdImawIDAQABAoIBAFDEB79ubL50l8e2 +qOYXb/UNfCdQMlMtI0chsJNCygaLOkNV/kxfw9QMQOy80aF35ucfFLuZiIqlZcGj +aAN8/u6/f1GBcySdWOSQP6addfhC7Y76hQPdX8xLqmlQud2HeAiCSWPZIv0d91DQ +KmvrTppjHTWFLwFIKKFI4OuIto9DXxpEXExwYrHFJhbKtLuAKZiG2BJ0P4qP30EE +XHpgOOJisZpISoN6/2PpgoOb96Y1YAtUdLe1isLHuPbvDvePhiYNQN0WkXCfbabS +Jf2AMr9QpnARB6paJPyKgMp0vYjayuk7oDmHw7O+RjsX8pMH+ZIq3OgJ2wajuE8Q +FcXE2AECgYEA4/rj1JsOMLYAapNkQpTqdKb2XgaH+dLfvpvnqB6rZX4pd5kaNyOh +8Bs8x0phj01c6VJb6HlK2nEZCpjp3nnO8lUm/2OAyb2pWAKhT3SfOsVjJIYN13M7 +mICLW+LjVAz3NpEncYjzVlytXJo8W6Sux9v7um2Tz2tKtESwfLnEXGECgYEA2b/2 +zEnMAKxceYO5zyKMc31v8fpcTXFn2NKvcaH1BzDF6vxW9OJf9IhcubndD/Pt/j3n +UA4q9ENG2l3m6C91yAGAqmRGlYdaPVbgjT27CDar4tifeoVIJ9sEKHy+cRz3uK2/ +PuaBRA2h3JIG78zBm6Z9dum0hGk8bARGC3lS1ksCgYBXa/7vqSHQ5gnU1H5O1eHu +J5QzzBdaYlWwNwKnQlOBUNa/6PLXkA9qDlfJKCmvFQB67D0YMWLVzybGHIsZ5+XG +oYaZymM5eUQ13pRS7qqck9KHz+wA4UxKF4jZDHEV6v7latYQQG7ngBRufSqGDemD +9ERcYeabVE5KQEjZGzdEIQKBgQDFOEbyFMz+tx4yuQor/6CyYaRoyFedlN931Ksv +An+JebVo9hBUUEyUkIVbemosrsSaB7tgGNTy05Ry56XiGkpVUncU3SnI+QTUlcFg +a87gy5O3LHiVYe5OmuITQZjDnncH/+Y9tEzUNHyr6F78Bro8nfj5IQds/lvJgb1n +WwWaLQKBgDCgRxPLWUv08gaKHoDR383IbbDW+noFYRJa5y03ZmW4qPicLZ/SNcAT +oOAS0uyWJWBB00ZGIGd6kcOZ6ipvaI5472LbAQL//UATQ7iHoIFc/YD659NOea9o +eolNFDKalPzfmg5xCHxKDtoO79EXlFvovPitePv+7IeVncCX7oHY +-----END RSA PRIVATE KEY----- diff --git a/mappers/idmvs/res/config.yaml b/mappers/idmvs/res/config.yaml new file mode 100644 index 00000000..e2145a3f --- /dev/null +++ b/mappers/idmvs/res/config.yaml @@ -0,0 +1,14 @@ +mqtt: + server: mqtt://127.0.0.1:1884 + servername: 127.0.0.1 + username: "" + password: "" + clientId: "" + certification: "" + privatekey: + caCert: +http: + certification: "" + privatekey: "" + caCert: "" +configmap: /opt/kubeedge/deviceProfile.json diff --git a/mappers/idmvs/res/server.crt b/mappers/idmvs/res/server.crt new file mode 100644 index 00000000..c4587c40 --- /dev/null +++ b/mappers/idmvs/res/server.crt @@ -0,0 +1,20 @@ +-----BEGIN CERTIFICATE----- +MIIDVDCCAjygAwIBAgIUICvOs7MCH+t6RSCBfzaCTrw5j9cwDQYJKoZIhvcNAQEL +BQAwWzELMAkGA1UEBhMCQ04xDjAMBgNVBAgMBUh1YmVpMQ4wDAYDVQQHDAVXdWhh +bjEMMAoGA1UECgwDV1VUMQswCQYDVQQLDAJDUzERMA8GA1UEAwwIS3ViZWVkZ2Uw +HhcNMjIwNDIwMTYzNTM4WhcNMzIwNDE3MTYzNTM4WjBNMQswCQYDVQQGEwJDTjEO +MAwGA1UECAwFSHViZWkxDjAMBgNVBAcMBVd1aGFuMQswCQYDVQQKDAJDUzERMA8G +A1UEAwwIS3ViZWVkZ2UwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC4 +U/0DhAQMWLsOuWy3QpyYYCK8PxGuU9aYll7Q4oZUxNC1cZ6HnJlW0fXVJ4AOPdU7 +4XbCmDQDq4fnyKb1M0jMKCSJXnSsxVjUodTsZ8zw6zzoqed+O34oA2T0UKpZkM9b +fOIsgQdlyBw/TS5HBmwNKwgE3wjFrTQQw+WSmeCUyVcPyUxpjD7h44981mZkygua +GrdL/W5h9v4p3oAAGyH5BHwaaJ1O4FUXRyqssGlGE3uwFniXdo7Md8LAeqvsQHSe +0uZCeLZ+5Pwm+ou3v6fLzTwR3MrevOM3VUukCoYq/G8twQsejv9RakIG6HGsxNrq +/bcnOyg7XdO6jZ9VzWw5AgMBAAGjHjAcMBoGA1UdEQQTMBGHBH8AAAGCCWxvY2Fs +aG9zdDANBgkqhkiG9w0BAQsFAAOCAQEAdEf8xOzRl3c2Aohb6sB8Ecjr2E9U4iXz +rAVsOQe60675REXDDq34bqQdZ3CFzf9CfgoV1xVbkfeVE2FaiSD0qq5PDT6VHT23 +eXeHcQqU7JuTggld0P3/ou/lC28psvatkEM3wSjkUYA9kAK1sIICkcoD7Htop4U+ +glu+LuEJZrVVBmeyZDFLkUB1bdjw1uTSehdGUulbCtHrdRn4TqTCkWypAAvV4gFX +rrGjZMLHrM97etevraRaPwSVcYYhyR7eGlgk+Nu0ptX4epLFqtLF3tw7Qkb/fSJf +Xsc1kkuaAVUw9N31wsYg+rOwUpRk2hGlkMQ1OCMBHiIHP+U03G9xgA== +-----END CERTIFICATE----- diff --git a/mappers/idmvs/res/server.key b/mappers/idmvs/res/server.key new file mode 100644 index 00000000..ff2ed566 --- /dev/null +++ b/mappers/idmvs/res/server.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAuFP9A4QEDFi7Drlst0KcmGAivD8RrlPWmJZe0OKGVMTQtXGe +h5yZVtH11SeADj3VO+F2wpg0A6uH58im9TNIzCgkiV50rMVY1KHU7GfM8Os86Knn +fjt+KANk9FCqWZDPW3ziLIEHZcgcP00uRwZsDSsIBN8Ixa00EMPlkpnglMlXD8lM +aYw+4eOPfNZmZMoLmhq3S/1uYfb+Kd6AABsh+QR8GmidTuBVF0cqrLBpRhN7sBZ4 +l3aOzHfCwHqr7EB0ntLmQni2fuT8JvqLt7+ny808EdzK3rzjN1VLpAqGKvxvLcEL +Ho7/UWpCBuhxrMTa6v23JzsoO13Tuo2fVc1sOQIDAQABAoIBAQCavs/bYrovT1KC +swJk+4QRnCutE9mZG4M+CIdDH9kcUzrQCLnJKZvFunCCaS3lRt277rVP+o04Q4nN ++bLIiSxlUJITzPtwjCDeKZpieWYhH6u7u9+/JtzrZKYdQZcxqBOcv8P1DsGSHiQw +tG/UarzNdUG/LSrlIVpjdMJHh+11mgE3EtqmUkq/3qHg1iyaucB7eLwbt4+ZrHof +kCWW7XrjwWaFH5lLJYwmC99iGcNusF9R3gC3y+iNtdXCo97FFkb821rJFGJGaUK9 +S11GnooN/8dQbAa69bJfqABCxmuXgMHRegRdm7bF37lI0BqOEPaAPHaTbtC/uNBV +Ss0pcBENAoGBANzVZoOMv3TVXl9ZxVC2gx5Nmr9nI0uegHbyDWENwXjIi9pUaR3o +y+i/Figd35RhgbyqOHOAXL7lwuAxqXVoTqgYnc4I8AqVx8I6sTCWUf3YdkB9FyLU +boPBT4l9eUlV96ZAUny9cDNC/SApF4ymgopbpdN6/JblXK6NR0uwyIwDAoGBANWu +Y1D7vzYutCDHtL/up0ie+hKb6NZtJC5y9+qXauQ+SzMJJN9tYYfEIoX9UoU941Xd +ixxxu4TJM1OOkoWiWLsaX7xee2i0W04Ydgfk7VUr6AScjz1VoW0hNP2ihekheWGg +YnbDRz96oyqHGh7wU8w77iXF4CikcOr31ci07lgTAoGAEwEqeVe7gkp6fKo1GOUc +E5eKIb62guN5GsNp81hDtilMH9Xz1eca5UTMm1c2zoY1rA7aHNaHJMaRJsofU0NO +wZicvAZ44fBR6J00coH9PGNMifA59X1ipWQVfDeYIH+NeHlAoAuNhFvXfNUMecY6 +pb2NX83Nvw6uEzeFUzY7jBECgYAQJVUr0VnpZi4GLBDkT8wkGJ8cuNsnGKgbOmSx +PS++f1Z/TLmUiFdOQuu45CNQHhUHb+4LAC0DI5DVR3ia0GGUAbIqMZlxl+8uP3rr +rcihHugxMQNBxy6jaFbws08bBoR9c/j8sFS53zJlDEBVBiPO0thz0jfV2lcN6hwl +RkacMQKBgGZIJVYcLQHfn6SpurWSPoUBHjfsVcA9vWfBtmCzuMHds8oi6DDu/gHe +JVTo/+Ocolqg3FCT9NxSo+5vF6PXUnLk4VQ2BogaGIIf7ZTUJodPvVq5cr5o2S90 +h9iXKUkhwCQT879hKQIJ666GEQUUrhG8l7qWwx/mjC2CH1GfrZbm +-----END RSA PRIVATE KEY----- diff --git a/mappers/virtualdevice-sdk/res/config.yaml b/mappers/virtualdevice-sdk/res/config.yaml index 42036a9c..7795f655 100644 --- a/mappers/virtualdevice-sdk/res/config.yaml +++ b/mappers/virtualdevice-sdk/res/config.yaml @@ -1,5 +1,5 @@ mqtt: - server: mqtt://127.0.0.1:1883 + server: mqtt://127.0.0.1:1884 servername: 127.0.0.1 username: "" password: "" @@ -11,4 +11,4 @@ http: certification: "" privatekey: "" caCert: "" -configmap: opt/kubeedge/deviceProfile.json \ No newline at end of file +configmap: /opt/kubeedge/deviceProfile.json \ No newline at end of file