diff --git a/.golangci.yml b/.golangci.yml index 8019555..eaf412e 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,4 +1,11 @@ linters: disable: enable: - - gosec \ No newline at end of file + - gosec + +linters-settings: + gosec: + excludes: + # G115: integer overflow conversion + # exclude the rule since it tends to be false positive + - G115 diff --git a/Attribution.txt b/Attribution.txt index 2c396e8..a49f9d1 100644 --- a/Attribution.txt +++ b/Attribution.txt @@ -229,4 +229,229 @@ github.com/klauspost/compress (Apache-2.0) https://github.com/klauspost/compress https://github.com/klauspost/compress/blob/master/LICENSE github.com/gabriel-vasile/mimetype (MIT) https://github.com/gabriel-vasile/mimetype -https://github.com/gabriel-vasile/mimetype/blob/master/LICENSE \ No newline at end of file +https://github.com/gabriel-vasile/mimetype/blob/master/LICENSE + +github.com/labstack/echo/v4 (MIT) https://github.com/labstack/echo +https://github.com/labstack/echo/blob/master/LICENSE + +github.com/asaskevich/govalidator (MIT) - https://github.com/asaskevich/govalidator +https://github.com/asaskevich/govalidator/blob/master/LICENSE + +github.com/barkimedes/go-deepcopy (MIT) https://github.com/barkimedes/go-deepcopy +https://github.com/barkimedes/go-deepcopy/blob/master/LICENSE + +github.com/cenkalti/backoff/v4 (MIT) - https://github.com/cenkalti/backoff +https://github.com/cenkalti/backoff/blob/v4/LICENSE + +github.com/fsnotify/fsnotify (BSD-3) - REPOURL +https://github.com/fsnotify/fsnotify/blob/main/LICENSE + +github.com/fullsailor/pkcs7 (MIT) - https://github.com/fullsailor/pkcs7 +https://github.com/fullsailor/pkcs7/blob/master/LICENSE + +github.com/go-logr/logr (Apache 2.0) - https://github.com/go-logr/logr +https://github.com/go-logr/logr/blob/master/LICENSE + +github.com/go-logr/stdr (Apache 2.0) - https://github.com/go-logr/stdr +https://github.com/go-logr/stdr/blob/master/LICENSE + +github.com/go-ole/go-ole (MIT) - https://github.com/go-ole/go-ole +https://github.com/go-ole/go-ole/blob/master/LICENSE + +github.com/go-openapi/analysis (Apache 2.0) - https://github.com/go-openapi/analysis +https://github.com/go-openapi/analysis/blob/master/LICENSE + +github.com/go-openapi/errors (Apache 2.0) - https://github.com/go-openapi/errors +https://github.com/go-openapi/errors/blob/master/LICENSE + +github.com/go-openapi/jsonpointer (Apache 2.0) - https://github.com/go-openapi/jsonpointer +https://github.com/go-openapi/jsonpointer/blob/master/LICENSE + +github.com/go-openapi/jsonreference (Apache 2.0) - https://github.com/go-openapi/jsonreference +https://github.com/go-openapi/jsonreference/blob/master/LICENSE + +github.com/go-openapi/loads (Apache 2.0) - https://github.com/go-openapi/loads +https://github.com/go-openapi/loads/blob/master/LICENSE + +github.com/go-openapi/runtime (Apache 2.0) - https://github.com/go-openapi/runtime +https://github.com/go-openapi/runtime/blob/master/LICENSE + +github.com/go-openapi/spec (Apache 2.0) - https://github.com/go-openapi/spec +https://github.com/go-openapi/spec/blob/master/LICENSE + +github.com/go-openapi/strfmt (Apache 2.0) - https://github.com/go-openapi/strfmt +https://github.com/go-openapi/strfmt/blob/master/LICENSE + +github.com/go-openapi/swag (Apache 2.0) - https://github.com/go-openapi/swag +https://github.com/go-openapi/swag/blob/master/LICENSE + +github.com/go-openapi/validate (Apache 2.0) - https://github.com/go-openapi/validate +https://github.com/go-openapi/validate/blob/master/LICENSE + +github.com/go-resty/resty/v2 (MIT) - https://github.com/go-resty/resty +https://github.com/go-resty/resty/blob/v2/LICENSE + +github.com/golang-jwt/jwt/v5 (MIT) - https://github.com/golang-jwt/jwt +https://github.com/golang-jwt/jwt/blob/main/LICENSE + +github.com/gorilla/mux (BSD-3) - https://github.com/gorilla/mux +https://github.com/gorilla/mux/blob/main/LICENSE + +github.com/gorilla/schema (BSD-3) - https://github.com/gorilla/schema +https://github.com/gorilla/schema/blob/main/LICENSE + +github.com/gorilla/securecookie (BSD-3) - https://github.com/gorilla/securecookie +https://github.com/gorilla/securecookie/blob/main/LICENSE + +github.com/josharian/intern (MIT) - https://github.com/josharian/intern +https://github.com/josharian/intern/blob/master/LICENSE.md + +github.com/jackc/pgerrcode (MIT) https://github.com/jackc/pgerrcode +https://github.com/jackc/pgerrcode/blob/master/LICENSE + +github.com/jackc/pgpassfile (MIT) https://github.com/jackc/pgpassfile +https://github.com/jackc/pgpassfile/blob/master/LICENSE + +github.com/jackc/pgservicefile (MIT) https://github.com/jackc/pgservicefile +https://github.com/jackc/pgservicefile/blob/master/LICENSE + +github.com/jackc/pgx/v5 (MIT) https://github.com/jackc/pgx +https://github.com/jackc/pgx/blob/master/LICENSE + +github.com/kataras/go-events (MIT) - https://github.com/kataras/go-events +https://github.com/kataras/go-events/blob/master/LICENSE + +github.com/labstack/gommon (MIT) https://github.com/labstack/gommon +https://github.com/labstack/gommon/blob/master/LICENSE + +github.com/lufia/plan9stats (BSD-3) - https://github.com/lufia/plan9stats +https://github.com/lufia/plan9stats/blob/main/LICENSE + +github.com/mailru/easyjson (MIT) - https://github.com/mailru/easyjson +https://github.com/mailru/easyjson/blob/master/LICENSE + +github.com/mgutz/ansi (MIT) - https://github.com/mgutz/ansi +https://github.com/mgutz/ansi/blob/master/LICENSE + +github.com/michaelquigley/pfxlog (MIT) - https://github.com/michaelquigley/pfxlog +https://github.com/michaelquigley/pfxlog/blob/main/LICENSE + +github.com/miekg/pkcs11 (BSD-3) - https://github.com/miekg/pkcs11 +https://github.com/miekg/pkcs11/blob/master/LICENSE + +github.com/mitchellh/go-ps (MIT) - https://github.com/mitchellh/go-ps +https://github.com/mitchellh/go-ps/blob/master/LICENSE.md + +github.com/muhlemmer/gu (The Unlicense) - https://github.com/muhlemmer/gu +https://github.com/muhlemmer/gu/blob/main/LICENSE + +github.com/oklog/ulid (Apache 2.0) - https://github.com/oklog/ulid +https://github.com/oklog/ulid/blob/main/LICENSE + +github.com/opentracing/opentracing-go (Apache 2.0) - https://github.com/opentracing/opentracing-go +https://github.com/opentracing/opentracing-go/blob/master/LICENSE + +github.com/openziti/channel/v3 (Apache 2.0) - github.com/openziti/channel/v3 +https://github.com/openziti/channel/blob/main/LICENSE + +github.com/openziti/edge-api (Apache 2.0) - https://github.com/openziti/edge-api +https://github.com/openziti/edge-api/blob/main/LICENSE + +github.com/openziti/foundation/v2 (Apache 2.0) - https://github.com/openziti/foundation +https://github.com/openziti/foundation/blob/main/LICENSE + +github.com/openziti/identity (Apache 2.0) - https://github.com/openziti/identity +https://github.com/openziti/identity/blob/main/LICENSE + +github.com/openziti/metrics (Apache 2.0) - https://github.com/openziti/metrics +https://github.com/openziti/metrics/blob/main/LICENSE + +github.com/openziti/sdk-golang (Apache 2.0) - https://github.com/openziti/sdk-golang +https://github.com/openziti/sdk-golang/blob/main/LICENSE + +github.com/openziti/secretstream (MIT) - https://github.com/openziti/secretstream +https://github.com/openziti/secretstream/blob/main/LICENSE + +github.com/openziti/transport/v2 (Apache 2.0) - https://github.com/openziti/transport +https://github.com/openziti/transport/blob/main/LICENSE + +github.com/orcaman/concurrent-map/v2 (MIT) - https://github.com/orcaman/concurrent-map +https://github.com/orcaman/concurrent-map/blob/master/LICENSE + +github.com/parallaxsecond/parsec-client-go (Apache 2.0) - https://github.com/parallaxsecond/parsec-client-go +https://github.com/parallaxsecond/parsec-client-go/blob/main/LICENSE + +github.com/pkg/errors (BSD-2) - https://github.com/pkg/errors +https://github.com/pkg/errors/blob/master/LICENSE + +github.com/power-devops/perfstat (MIT) - https://github.com/power-devops/perfstat +https://github.com/power-devops/perfstat/blob/main/LICENSE + +github.com/shirou/gopsutil/v3 (BSD) - https://github.com/shirou/gopsutil +https://github.com/shirou/gopsutil/blob/master/LICENSE + +github.com/shoenig/go-m1cpu (Mozilla Public License 2.0) - https://github.com/shoenig/go-m1cpu +https://github.com/shoenig/go-m1cpu/blob/main/LICENSE + +github.com/sirupsen/logrus (MIT) - https://github.com/sirupsen/logrus +https://github.com/sirupsen/logrus/blob/master/LICENSE + +github.com/speps/go-hashids (MIT) - https://github.com/speps/go-hashids +https://github.com/speps/go-hashids/blob/master/LICENSE + +github.com/tklauser/go-sysconf (BSD-3) - https://github.com/tklauser/go-sysconf +https://github.com/tklauser/go-sysconf/blob/main/LICENSE + +github.com/tklauser/numcpus (Apache 2.0) - https://github.com/tklauser/numcpus +https://github.com/tklauser/numcpus/blob/main/LICENSE + +github.com/yusufpapurcu/wmi (MIT) - https://github.com/yusufpapurcu/wmi +https://github.com/yusufpapurcu/wmi/blob/master/LICENSE + +github.com/zitadel/oidc/v2 (Apache 2.0) - https://github.com/zitadel/oidc +https://github.com/zitadel/oidc/blob/main/LICENSE + +go.opentelemetry.io/otel (Apache 2.0) - https://github.com/open-telemetry/opentelemetry-go +https://github.com/open-telemetry/opentelemetry-go/blob/main/LICENSE + +go.opentelemetry.io/otel/metric (Apache 2.0) - https://github.com/open-telemetry/opentelemetry-go +https://github.com/open-telemetry/opentelemetry-go/blob/main/LICENSE + +go.opentelemetry.io/otel/trace (Apache 2.0) - https://github.com/open-telemetry/opentelemetry-go +https://github.com/open-telemetry/opentelemetry-go/blob/main/LICENSE + +golang.org/x/oauth2 (Unspecified) - https://cs.opensource.google/go/x/oauth2 +https://cs.opensource.google/go/x/oauth2/+/master:LICENSE + +golang.org/x/term (Unspecified) - https://cs.opensource.google/go/x/term +https://cs.opensource.google/go/x/term/+/master:LICENSE + +golang.org/x/time (Unspecified) https://github.com/golang/time +https://github.com/golang/text/blob/master/LICENSE + +google.golang.org/genproto/googleapis/rpc (Apache-2.0) https://pkg.go.dev/google.golang.org/genproto +https://pkg.go.dev/google.golang.org/genproto?tab=licenses + +gopkg.in/go-jose/go-jose.v2 (Apache 2.0) - https://github.com/go-jose/go-jose +https://github.com/go-jose/go-jose/blob/v2.6.3/LICENSE + +nhooyr.io/websocket (ISC License) - https://github.com/nhooyr/websocket +https://github.com/nhooyr/websocket/blob/master/LICENSE.txt + +github.com/go-jose/go-jose/v4 (Apache-2.0) https://github.com/go-jose/go-jose +https://github.com/go-jose/go-jose/blob/main/LICENSE + +github.com/jackc/puddle/v2 (MIT) https://github.com/jackc/puddle +https://github.com/jackc/puddle/blob/master/LICENSE + +spf13/cast (MIT) https://github.com/spf13/cast +https://github.com/spf13/cast/blob/master/LICENSE + +github.com/valyala/bytebufferpool (MIT) https://github.com/valyala/bytebufferpool +https://github.com/valyala/bytebufferpool/blob/master/LICENSE + +github.com/valyala/fasttemplate (MIT) https://github.com/valyala/fasttemplate +https://github.com/valyala/fasttemplate/blob/master/LICENSE + +go.mozilla.org/pkcs7 (MIT) - https://github.com/mozilla-services/pkcs7 +https://github.com/mozilla-services/pkcs7/blob/master/LICENSE diff --git a/Dockerfile b/Dockerfile index 529f01f..a1fc2ee 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,7 +14,7 @@ # limitations under the License. # build stage -ARG BASE=golang:1.21-alpine3.18 +ARG BASE=golang:1.23-alpine3.20 FROM ${BASE} AS builder ARG ALPINE_PKG_BASE="make git" @@ -32,7 +32,7 @@ ARG MAKE="make -e ADD_BUILD_TAGS=$ADD_BUILD_TAGS build" RUN $MAKE # final stage -FROM alpine:3.18 +FROM alpine:3.20 LABEL license='SPDX-License-Identifier: Apache-2.0' \ copyright='Copyright (c) 2023: Intel' LABEL Name=app-service-rfid-llrp-inventory Version=${VERSION} diff --git a/Makefile b/Makefile index baae9f7..4397d63 100644 --- a/Makefile +++ b/Makefile @@ -40,7 +40,7 @@ lint: @if [ "z${ARCH}" = "zx86_64" ] && which golangci-lint >/dev/null ; then golangci-lint run --config .golangci.yml ; else echo "WARNING: Linting skipped (not on x86_64 or linter not installed)"; fi install-lint: - sudo curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $$(go env GOPATH)/bin v1.54.2 + sudo curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $$(go env GOPATH)/bin v1.61.0 test: unittest lint go vet ./... diff --git a/go.mod b/go.mod index 4101cb0..22ae385 100644 --- a/go.mod +++ b/go.mod @@ -1,10 +1,10 @@ module edgexfoundry/app-rfid-llrp-inventory -go 1.21 +go 1.23 require ( - github.com/edgexfoundry/app-functions-sdk-go/v3 v3.2.0-dev.52 - github.com/edgexfoundry/go-mod-core-contracts/v3 v3.2.0-dev.46 + github.com/edgexfoundry/app-functions-sdk-go/v3 v3.2.0-dev.54 + github.com/edgexfoundry/go-mod-core-contracts/v3 v3.2.0-dev.50 github.com/google/uuid v1.6.0 github.com/labstack/echo/v4 v4.11.4 github.com/stretchr/testify v1.9.0 diff --git a/go.sum b/go.sum index fba5e85..c2c2e48 100644 --- a/go.sum +++ b/go.sum @@ -88,14 +88,14 @@ github.com/diegoholiveira/jsonlogic/v3 v3.5.3 h1:CPyZQ3fOgiIDZ1yWzPGUpyht5tYTOnR github.com/diegoholiveira/jsonlogic/v3 v3.5.3/go.mod h1:3nnfWovrlZq2rTpucrJ2KMIS8TMf6IoFneofmeqk/qk= github.com/eclipse/paho.mqtt.golang v1.5.0 h1:EH+bUVJNgttidWFkLLVKaQPGmkTUfQQqjOsyvMGvD6o= github.com/eclipse/paho.mqtt.golang v1.5.0/go.mod h1:du/2qNQVqJf/Sqs4MEL77kR8QTqANF7XU7Fk0aOTAgk= -github.com/edgexfoundry/app-functions-sdk-go/v3 v3.2.0-dev.52 h1:Jd07igvcrYCrTWaM1zskNNoEZjBO7XNCH+GAsJPW1vE= -github.com/edgexfoundry/app-functions-sdk-go/v3 v3.2.0-dev.52/go.mod h1:1sfiT4Smnu2T/1TJLd7sJ5zJAXcSautpelKS8/+2k+E= +github.com/edgexfoundry/app-functions-sdk-go/v3 v3.2.0-dev.54 h1:uU/ftshdidfXIx1fVmD7v4vXJ+od1xxR1V+KiesavFM= +github.com/edgexfoundry/app-functions-sdk-go/v3 v3.2.0-dev.54/go.mod h1:JaPGWRNc2jm+YAHG7tiq3m9ICG+IKIcr1dXPZ1DEScg= github.com/edgexfoundry/go-mod-bootstrap/v3 v3.2.0-dev.60 h1:4EnGLJIA285iPUVKsthCjigAqS0mNmLFZt/7ox9bwkg= github.com/edgexfoundry/go-mod-bootstrap/v3 v3.2.0-dev.60/go.mod h1:hDdB2Te8stOkIIyCrKa1tXvHlZLvAZ3luiAz6Qz6Cr8= github.com/edgexfoundry/go-mod-configuration/v3 v3.2.0-dev.17 h1:eNLGThT5fYtFLSrr6vtvHV92cm5IohJzwSRYcd5pvtg= github.com/edgexfoundry/go-mod-configuration/v3 v3.2.0-dev.17/go.mod h1:va3l+Nri1KijDM5KItsaYrwUSG3Nhj/4EDvR4uB+Jds= -github.com/edgexfoundry/go-mod-core-contracts/v3 v3.2.0-dev.46 h1:rivgaOszQTr568qpcJYamChuPcfR+qmmyzurADn/tNw= -github.com/edgexfoundry/go-mod-core-contracts/v3 v3.2.0-dev.46/go.mod h1:8MSv8MFJnUdjZUEfPpxEMQUskv5VENJQkKsroE7YKUM= +github.com/edgexfoundry/go-mod-core-contracts/v3 v3.2.0-dev.50 h1:Ho1TAQki5DN/ALdYP4YGNzj/Z/CXBXSeBancA+YHtO4= +github.com/edgexfoundry/go-mod-core-contracts/v3 v3.2.0-dev.50/go.mod h1:MLk37/79M26+bZr3IptNZuYmQBEVbXwzDp1VHQkFhIk= github.com/edgexfoundry/go-mod-messaging/v3 v3.2.0-dev.35 h1:ZKmq5Vd1QN86OLTbD8A2JIKTxR8k21gtqmEUS3hApBY= github.com/edgexfoundry/go-mod-messaging/v3 v3.2.0-dev.35/go.mod h1:SUTdo8v9V+XacowkZP5puBXnBcVP2NDSk5PBzOdsLEk= github.com/edgexfoundry/go-mod-registry/v3 v3.2.0-dev.16 h1:vG6cI1LU8QLpzUXYleYuVyqbpeYghLF3Jj6afcaUCHA=