Skip to content

Commit

Permalink
refactor packages, update go.mod, and add config validator
Browse files Browse the repository at this point in the history
  • Loading branch information
free5gc-org committed Mar 23, 2022
1 parent 816b57d commit 9fc9f68
Show file tree
Hide file tree
Showing 51 changed files with 765 additions and 569 deletions.
18 changes: 14 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,19 +1,29 @@
# Swap files
*.swp

# Toolchain
# Goland project folder
# Golang project folder
.idea/

# Visual Studio Code
.vscode/

# Build
build/
log/
vendor/

# emacs/vim
GPATH
GRTAGS
GTAGS
TAGS
tags
cscope.*
# mac

# macOS
.DS_Store

# debug
# Debug
*.log
*.pcap

17 changes: 6 additions & 11 deletions .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,6 @@ run:
# "/" will be replaced by current OS file path separator to properly work
# on Windows.
skip-files:
- "api_.*\\.go$"
- "model_.*\\.go$"
- "routers.go"
- "client.go"
- "configuration.go"
- "nas.go"
# by default isn't set. If set we pass it to "go list -mod={option}". From "go help modules":
# If invoked with -mod=readonly, the go command is disallowed from the implicit
# automatic updating of go.mod described above. Instead, it fails when any changes
Expand Down Expand Up @@ -250,13 +244,14 @@ linters:
# Additional
- lll
- godox
#- gomnd
#- goconst
# - gomnd
# - goconst
# - gocognit
# - maligned
# - nestif
# - gomodguard
- nakedret
# - golint
- gci
- misspell
- gofumpt
Expand All @@ -267,9 +262,9 @@ linters:
- dogsled
- bodyclose
- asciicheck
#- stylecheck
# - unparam
# - wsl
# - stylecheck
# - unparam
# - wsl

#disable-all: false
fast: true
Expand Down
9 changes: 0 additions & 9 deletions CHANGELOG.md

This file was deleted.

File renamed without changes.
96 changes: 96 additions & 0 deletions cmd/main.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
/*
* Npcf_BDTPolicyControl Service API
*
* The Npcf_BDTPolicyControl Service is used by an NF service consumer to
* retrieve background data transfer policies from the PCF and to update the PCF with
* the background data transfer policy selected by the NF service consumer.
*
* API version: 1.0.0
* Generated by: OpenAPI Generator (https://openapi-generator.tech)
*/

package main

import (
"fmt"
"os"
"path/filepath"
"runtime/debug"

"github.com/asaskevich/govalidator"
"github.com/urfave/cli"

"github.com/free5gc/pcf/internal/logger"
"github.com/free5gc/pcf/internal/util"
"github.com/free5gc/pcf/pkg/service"
"github.com/free5gc/util/version"
)

var PCF = &service.PCF{}

func main() {
defer func() {
if p := recover(); p != nil {
// Print stack for panic to log. Fatalf() will let program exit.
logger.AppLog.Fatalf("panic: %v\n%s", p, string(debug.Stack()))
}
}()

app := cli.NewApp()
app.Name = "pcf"
app.Usage = "5G Policy Control Function (PCF)"
app.Action = action
app.Flags = PCF.GetCliCmd()
if err := app.Run(os.Args); err != nil {
fmt.Printf("PCF Run Error: %v\n", err)
}
}

func action(c *cli.Context) error {
if err := initLogFile(c.String("log"), c.String("log5gc")); err != nil {
logger.AppLog.Errorf("%+v", err)
return err
}

if err := PCF.Initialize(c); err != nil {
switch err1 := err.(type) {
case govalidator.Errors:
errs := err1.Errors()
for _, e := range errs {
logger.CfgLog.Errorf("%+v", e)
}
default:
logger.CfgLog.Errorf("%+v", err)
}

logger.CfgLog.Errorf("[-- PLEASE REFER TO SAMPLE CONFIG FILE COMMENTS --]")
return fmt.Errorf("Failed to initialize !!")
}
logger.AppLog.Infoln(c.App.Name)
logger.AppLog.Infoln("PCF version: ", version.GetVersion())

PCF.Start()

return nil
}

func initLogFile(logNfPath, log5gcPath string) error {
PCF.KeyLogPath = util.PcfDefaultKeyLogPath

if err := logger.LogFileHook(logNfPath, log5gcPath); err != nil {
return err
}

if logNfPath != "" {
nfDir, _ := filepath.Split(logNfPath)
tmpDir := filepath.Join(nfDir, "key")
if err := os.MkdirAll(tmpDir, 0775); err != nil {
logger.InitLog.Errorf("Make directory %s failed: %+v", tmpDir, err)
return err
}
_, name := filepath.Split(util.PcfDefaultKeyLogPath)
PCF.KeyLogPath = filepath.Join(tmpDir, name)
}

return nil
}
66 changes: 0 additions & 66 deletions factory/config.go

This file was deleted.

24 changes: 8 additions & 16 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,18 @@ go 1.14

require (
github.com/antihax/optional v1.0.0
github.com/antonfisher/nested-logrus-formatter v1.3.0
github.com/cpuguy83/go-md2man/v2 v2.0.0 // indirect
github.com/antonfisher/nested-logrus-formatter v1.3.1
github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d
github.com/cydev/zero v0.0.0-20160322155811-4a4535dd56e7
github.com/free5gc/MongoDBLibrary v1.0.0
github.com/free5gc/http2_util v1.0.0
github.com/free5gc/http_wrapper v1.0.0
github.com/free5gc/idgenerator v1.0.0
github.com/free5gc/logger_conf v1.0.0
github.com/free5gc/logger_util v1.0.0
github.com/free5gc/openapi v1.0.0
github.com/free5gc/path_util v1.0.0
github.com/free5gc/version v1.0.0
github.com/free5gc/openapi v1.0.4
github.com/free5gc/util v1.0.1
github.com/gin-contrib/cors v1.3.1
github.com/gin-gonic/gin v1.6.3
github.com/google/uuid v1.1.2
github.com/gin-gonic/gin v1.7.3
github.com/google/uuid v1.3.0
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/sirupsen/logrus v1.7.0
github.com/sirupsen/logrus v1.8.1
github.com/tim-ywliu/event v0.1.0
github.com/urfave/cli v1.22.5
go.mongodb.org/mongo-driver v1.4.4
go.mongodb.org/mongo-driver v1.7.1
gopkg.in/yaml.v2 v2.4.0
)
Loading

0 comments on commit 9fc9f68

Please sign in to comment.