mirror of
https://github.com/empayre/fleet.git
synced 2024-11-06 08:55:24 +00:00
parent
41fe404ef1
commit
2946eeabfc
6
Dockerfile
Normal file
6
Dockerfile
Normal file
@ -0,0 +1,6 @@
|
||||
FROM alpine:3.4
|
||||
MAINTAINER Kolide Developers <engineering@kolide.co>
|
||||
|
||||
COPY ./build/kolide /kolide
|
||||
|
||||
CMD ["/kolide", "serve"]
|
8
Makefile
8
Makefile
@ -45,3 +45,11 @@ restart: stop
|
||||
kolide serve & echo $$! > $(PID_FILE)
|
||||
|
||||
endif
|
||||
|
||||
docker:
|
||||
# pull the latest version of the build container
|
||||
docker pull kolide/kolide-builder:1.6
|
||||
# run build step to build linux binary
|
||||
docker run --rm -it -v $(shell pwd):/go/src/github.com/kolide/kolide-ose -v ${GOPATH}/pkg:/go/pkg kolide/kolide-builder:1.6 -B
|
||||
# compose up
|
||||
docker-compose up
|
||||
|
27
development.yml
Normal file
27
development.yml
Normal file
@ -0,0 +1,27 @@
|
||||
mysql:
|
||||
image: mysql:5.7.13
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: toor
|
||||
MYSQL_DATABASE: kolide
|
||||
MYSQL_USER: kolide
|
||||
MYSQL_PASSWORD: kolide
|
||||
ports:
|
||||
- "3306:3306"
|
||||
|
||||
mailhog:
|
||||
image: mailhog/mailhog:latest
|
||||
ports:
|
||||
- "8025:8025"
|
||||
- "1025:1025"
|
||||
|
||||
test:
|
||||
image: kolide/kolide-builder:1.6
|
||||
environment:
|
||||
MYSQL_ADDR: 127.0.0.1
|
||||
links:
|
||||
- mysql
|
||||
- mailhog
|
||||
command:
|
||||
- -C
|
||||
volumes:
|
||||
- ./:/go/src/github.com/kolide/kolide-ose
|
@ -8,20 +8,14 @@ mysql:
|
||||
ports:
|
||||
- "3306:3306"
|
||||
|
||||
mailhog:
|
||||
image: mailhog/mailhog:latest
|
||||
ports:
|
||||
- "8025:8025"
|
||||
- "1025:1025"
|
||||
|
||||
test:
|
||||
image: kolide/kolide-builder:1.6
|
||||
kolide:
|
||||
build: .
|
||||
environment:
|
||||
MYSQL_ADDR: 127.0.0.1
|
||||
KOLIDE_SERVER_CERT: /osquery/kolide.crt
|
||||
KOLIDE_SERVER_KEY: /osquery/kolide.key
|
||||
ports:
|
||||
- "8080:8080"
|
||||
links:
|
||||
- mysql
|
||||
- mailhog
|
||||
command:
|
||||
- -C
|
||||
volumes:
|
||||
- ./:/go/src/github.com/kolide/kolide-ose
|
||||
- ./tools/osquery:/osquery
|
||||
|
34
kolide.go
34
kolide.go
@ -158,13 +158,22 @@ $7777777....$....$777$.....+DI..DDD..DDI...8D...D8......$D:..8D....8D...8D......
|
||||
},
|
||||
}
|
||||
|
||||
connString := fmt.Sprintf(
|
||||
// get mysql connection from config or docker link
|
||||
// temporary until config is redone
|
||||
var connString string
|
||||
if os.Getenv("MYSQL_PORT_3306_TCP_ADDR") != "" {
|
||||
// try connection from docker link
|
||||
connString = dockerMySQLconnString()
|
||||
} else {
|
||||
connString = fmt.Sprintf(
|
||||
"%s:%s@(%s)/%s?charset=utf8&parseTime=True&loc=Local",
|
||||
viper.GetString("mysql.username"),
|
||||
viper.GetString("mysql.password"),
|
||||
viper.GetString("mysql.address"),
|
||||
viper.GetString("mysql.database"),
|
||||
)
|
||||
}
|
||||
|
||||
ds, err := datastore.New("gorm-mysql", connString)
|
||||
if err != nil {
|
||||
logrus.WithError(err).Fatal("error creating db connection")
|
||||
@ -228,6 +237,29 @@ var dbCmd = &cobra.Command{
|
||||
},
|
||||
}
|
||||
|
||||
// detect that docker --link to mysql container is up and use
|
||||
// the default env vars
|
||||
func dockerMySQLconnString() string {
|
||||
var (
|
||||
username = os.Getenv("MYSQL_ENV_MYSQL_USER")
|
||||
password = os.Getenv("MYSQL_ENV_MYSQL_PASSWORD")
|
||||
host = os.Getenv("MYSQL_PORT_3306_TCP_ADDR")
|
||||
port = os.Getenv("MYSQL_PORT_3306_TCP_PORT")
|
||||
dbName = os.Getenv("MYSQL_ENV_MYSQL_DATABASE")
|
||||
)
|
||||
|
||||
if host == "" {
|
||||
return "" // no docker conn detected
|
||||
}
|
||||
logrus.Infoln("detected docker mysql link, using link environment vars")
|
||||
|
||||
connString := fmt.Sprintf(
|
||||
"%s:%s@(%s:%s)/%s?charset=utf8&parseTime=True&loc=Local",
|
||||
username, password, host, port, dbName,
|
||||
)
|
||||
return connString
|
||||
}
|
||||
|
||||
// Due to a deficiency in viper (https://github.com/spf13/viper/issues/71), one
|
||||
// can not set the default values of nested config elements. For example, if the
|
||||
// "mysql" section of the config allows a user to define "username", "password",
|
||||
|
Loading…
Reference in New Issue
Block a user