Skip to content

Commit 9b3be19

Browse files
committed
Merge branch 'develop'
2 parents 49b5d9b + b6b3cb1 commit 9b3be19

File tree

8 files changed

+38
-12
lines changed

8 files changed

+38
-12
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ Flags:
6464
--volume string Docker volume mount execution [required] [ [ex: --volume $PWD]
6565
--network string Set network name usage
6666
--yaml string File yaml serverless [default serverless.yml]
67+
--env string File for using environment variables other than serverless. Can replace serverless variables
6768
```
6869

6970
** Usage --volume for define source path of project **

bin/darwin/lambda-local

224 Bytes
Binary file not shown.

bin/linux/lambda-local

4.25 KB
Binary file not shown.

cmd/start.go

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,13 @@ var Host string
2020
var Yaml string
2121
var Volume string
2222
var Network string
23+
var Environment string
2324

2425
func init() {
2526
startCmd.PersistentFlags().StringVar(&Port, "port", "3000", "port usage [default 3000]")
2627
startCmd.PersistentFlags().StringVar(&Host, "host", "0.0.0.0", "host usage [default 0.0.0.0]")
2728
startCmd.PersistentFlags().StringVar(&Yaml, "yaml", "serverless.yml", "File yaml serverless.yml [default serverless.yml]")
29+
startCmd.PersistentFlags().StringVar(&Environment, "env", "", "File for using environment variables other than serverless. Can replace serverless variables")
2830
startCmd.Flags().StringVar(&Volume, "volume", "", "Docker volume mount execution [ex: --volume $PWD]")
2931
startCmd.Flags().StringVar(&Network, "network", "", "Set network name usage")
3032
startCmd.MarkFlagRequired("volume")
@@ -33,11 +35,12 @@ func init() {
3335
func ExecuteCmdStart(cmd *cobra.Command, args []string) {
3436

3537
se := controller.Server{
36-
Host: Host,
37-
Port: Port,
38-
Yaml: Yaml,
39-
Volume: Volume,
40-
Network: Network,
38+
Host: Host,
39+
Port: Port,
40+
Yaml: Yaml,
41+
Volume: Volume,
42+
Network: Network,
43+
EnvironmentFile: Environment,
4144
}
4245
ep := controller.EndpointsController{
4346
Host: Host,

controller/server.go

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package controller
22

33
import (
4+
"bufio"
45
"encoding/json"
56
"fmt"
67
"log"
78
"net/http"
9+
"os"
810
"regexp"
911
"strings"
1012

@@ -13,12 +15,13 @@ import (
1315
)
1416

1517
type Server struct {
16-
Host string
17-
Port string
18-
Yaml string
19-
Volume string
20-
Network string
21-
JSON model.Serverless
18+
Host string
19+
Port string
20+
Yaml string
21+
Volume string
22+
Network string
23+
EnvironmentFile string
24+
JSON model.Serverless
2225
}
2326

2427
var strReg = "{[a-z0-9A-Z-]+}"
@@ -76,12 +79,30 @@ func (se *Server) ContentYaml() {
7679
json.Unmarshal(content, &se.JSON)
7780
}
7881

82+
func (se *Server) ReadEnv() {
83+
if se.EnvironmentFile != "" {
84+
file, err := os.Open(se.EnvironmentFile)
85+
if err != nil {
86+
log.Fatal(err)
87+
}
88+
defer file.Close()
89+
90+
scanner := bufio.NewScanner(file)
91+
for scanner.Scan() {
92+
textLine := scanner.Text()
93+
envArgs := strings.Split(textLine, "=")
94+
se.JSON.Provider.Environment[envArgs[0]] = envArgs[1]
95+
}
96+
}
97+
}
98+
7999
func (se *Server) StartConfig() {
80100
se.ContentYaml()
81101
lambda.PullImageDocker(se.JSON.Provider.Runtime)
82102

83103
http.Handle("/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
84104
se.ContentYaml()
105+
se.ReadEnv()
85106
for _, functions := range se.JSON.Functions {
86107
check, parameters := checkPath(functions.Events[0].HttpEvent, r.URL.RequestURI(), r.Method)
87108
if check {

example/go/.env

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
TEST_ENV=1234

example/go/adapters/hello/hello.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99

1010
func HandleRequest(request events.APIGatewayProxyRequest) (events.APIGatewayProxyResponse, error) {
1111
return events.APIGatewayProxyResponse{
12-
Body: "Hello:" + os.Getenv("DATABASE") + os.Getenv("TABLE_NAME"),
12+
Body: "Hello:" + os.Getenv("DATABASE") + " - " + os.Getenv("TABLE_NAME") + " - " + os.Getenv("TEST_ENV"),
1313
StatusCode: 200,
1414
}, nil
1515
}

example/go/bin/hello

0 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)