Skip to content

Commit

Permalink
Merge pull request #4 from Klevry/master
Browse files Browse the repository at this point in the history
agent docker image
  • Loading branch information
Mrchopa committed Aug 4, 2020
2 parents 291b4a9 + 9df99a9 commit 0d6db2c
Show file tree
Hide file tree
Showing 7 changed files with 39 additions and 23 deletions.
16 changes: 16 additions & 0 deletions Dockerfile/agent/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
FROM ubuntu:focal
LABEL version=0.1
COPY ./klevr /
COPY ./entrypoint.sh /

# Set environment variable
ENV K_API_KEY ""
ENV K_PLATFORM ""
ENV K_MANAGER_URL ""
ENV K_ZONE_ID ""

# Entrypoint for startup
ENTRYPOINT /entrypoint.sh

EXPOSE 8080

4 changes: 4 additions & 0 deletions Dockerfile/agent/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
## How to run docker of Klevr agent
```
sudo docker -e K_API_KEY="1231" -e K_PLATFORM="1231" -e K_MANAGER_URL="http://192.168.2.100:8090" -e K_ZONE_ID="13123"
```
2 changes: 2 additions & 0 deletions Dockerfile/agent/entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#!/bin/sh
/klevr -apiKey=${K_API_KEY} -platform=${K_PLATFORM} -manager=${K_MANAGER_URL} -zoneId=${K_ZONE_ID}
Binary file renamed cmd/klevr-agent/klevr → Dockerfile/agent/klevr
Binary file not shown.
1 change: 1 addition & 0 deletions cmd/klevr-agent/Dockerfile
2 changes: 1 addition & 1 deletion cmd/klevr-agent/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ require:
go get -u

build: require
go build -o ./klevr ./main.go
go build -o ./Dockerfile/klevr ./main.go
run:
## go run ./main.go -id=ralf -platform=baremetal -webconsole=${WEBCONSOLE} -zone=dev -group="klevr-a-team"
go run ./main.go -apiKey="apiKey" -platform="baremetal" -manager="localhost:8080" -zoneId="8282"
Expand Down
37 changes: 15 additions & 22 deletions cmd/klevr-agent/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ var Klevr_agent_id_string string
var Klevr_console string
var Api_key_string string
var Local_ip_add string
var User_account_id string
var API_key_id string
var Platform_type string
var Klevr_zone string
var Klevr_company string
Expand Down Expand Up @@ -126,22 +126,17 @@ func Check_variable() string {

// Flag options
// Sample: -apiKey=\"{apiKey}\" -platform={platform} -manager=\"{managerUrl}\" -zoneId={zoneId}
userid := flag.String("id", "", "Account ID from Klevr service")
apikey := flag.String("apiKey", "", "API Key from Klevr service")
platform := flag.String("platform", "", "[baremetal|aws] - Service Platform for Host build up")
company := flag.String("group", "", "Group name will be a uniq company name or team name")
zone := flag.String("zone", "dev-zone", "zone will be a [Dev/Stg/Prod]")
zone := flag.String("zoneId", "dev-zone", "zone will be a [Dev/Stg/Prod]")
local_ip := flag.String("ip", default_ip.String(), "local IP address for networking")
klevr_addr := flag.String("webconsole", klevr_tmp_server, "Klevr webconsole(server) address (URL or IP, Optional: Port) for connect")
klevr_addr := flag.String("manager", klevr_tmp_server, "Klevr webconsole(server) address (URL or IP, Optional: Port) for connect")

flag.Parse() // Important for parsing

// Check the null data from CLI
if len(*userid) == 0 {
fmt.Println("Please insert an AccountID")
os.Exit(0)
}
if len(*company) == 0 {
fmt.Println("Please make sure the group name")
if len(*apikey) == 0 {
fmt.Println("Please insert an API Key")
os.Exit(0)
}
if len(*platform) == 0 {
Expand All @@ -163,25 +158,23 @@ func Check_variable() string {
Klevr_console = "http://" + klevr_tmp_server

// Check for the Print
User_account_id = *userid
fmt.Println("Account:", User_account_id)
API_key_id = *apikey
fmt.Println("Account:", API_key_id)
mca := Get_mac()
//base_info := "User Account ID + MAC address as a HW + local IP address"
base_info := *userid + mca + *local_ip
base_info := *apikey + mca + *local_ip
_, err = ioutil.ReadFile(Klevr_agent_id_file)
if err != nil {
hash_create(base_info)
}
Platform_type = string(*platform)
Klevr_zone = string(*zone)
Klevr_company = string(*company)

return Platform_type
return Local_ip_add
return User_account_id
return API_key_id
return Klevr_console
return Klevr_zone
return Klevr_company

return Api_key_string
}
Expand Down Expand Up @@ -281,13 +274,13 @@ func Get_provisionig_script() {
//Klevr_company Klevr_zone
func Alive_chk_to_mgm(fail_chk string) {
now_time := strconv.FormatInt(time.Now().UTC().Unix(), 10)
uri := fmt.Sprint(Klevr_console + "/group/" + Klevr_company + "/user/" + User_account_id + "/zone/" + Klevr_zone + "/platform/" + Platform_type + "/hostname/" + Klevr_agent_id_string + "/" + Local_ip_add + "/" + now_time + "/" + fail_chk)
uri := fmt.Sprint(Klevr_console + "/group/" + "/user/" + API_key_id + "/zone/" + Klevr_zone + "/platform/" + Platform_type + "/hostname/" + Klevr_agent_id_string + "/" + Local_ip_add + "/" + now_time + "/" + fail_chk)
Debug(uri) /// log output
communicator.Get_http(uri, Api_key_string)
}

func Get_primaryinfo() string {
uri_result := strings.Split(communicator.Get_http(Klevr_console+"/group/"+Klevr_company+"/user/"+User_account_id+"/zone/"+Klevr_zone+"/platform/"+Platform_type+"/primaryinfo", Api_key_string), "=")
uri_result := strings.Split(communicator.Get_http(Klevr_console+"/group/"+Klevr_company+"/user/"+API_key_id+"/zone/"+Klevr_zone+"/platform/"+Platform_type+"/primaryinfo", Api_key_string), "=")
Primary_ip = uri_result[1]
Debug(Primary_ip) /// log output
return Primary_ip
Expand All @@ -307,7 +300,7 @@ func Check_primary() string {
}

func Resource_chk_to_mgm() {
uri := fmt.Sprint(Klevr_console + "/group/" + Klevr_company + "/user/" + User_account_id + "/zone/" + Klevr_zone + "/platform/" + Platform_type + "/hostname/" + Klevr_agent_id_string + "/hostinfo")
uri := fmt.Sprint(Klevr_console + "/group/" + "/user/" + API_key_id + "/zone/" + Klevr_zone + "/platform/" + Platform_type + "/hostname/" + Klevr_agent_id_string + "/hostinfo")
Debug(uri) /// log output
Resource_info()
communicator.Put_http(uri, System_info, Api_key_string)
Expand Down Expand Up @@ -360,7 +353,7 @@ func Secondary_scanner() {

func Hosts_alive_list(alive_list string) {
// Hosts alive list klevr/groups/klevr-a-team/users/ralf/zones/dev/platforms/baremetal/alive_hosts
uri := fmt.Sprint(Klevr_console + "/groups/" + Klevr_company + "/users/" + User_account_id + "/zones/" + Klevr_zone + "/platforms/" + Platform_type + "/aliveagent")
uri := fmt.Sprint(Klevr_console + "/groups/" + "/users/" + API_key_id + "/zones/" + Klevr_zone + "/platforms/" + Platform_type + "/aliveagent")
Debug(uri) /// log output
alive_conv := fmt.Sprintf("%s", alive_list)
communicator.Put_http(uri, alive_conv, Api_key_string)
Expand All @@ -370,7 +363,7 @@ func RnR() {
Check_primary()
if AM_I_PRIMARY == "PRIMARY" {
// Put primary alive time to stamp
ack_timecheck_from_api := communicator.Get_http(Klevr_console+"/group/"+Klevr_company+"/user/"+User_account_id+"/zone/"+Klevr_zone+"/platform/"+Platform_type+"/ackprimary", Api_key_string)
ack_timecheck_from_api := communicator.Get_http(Klevr_console+"/group/"+Klevr_company+"/user/"+API_key_id+"/zone/"+Klevr_zone+"/platform/"+Platform_type+"/ackprimary", Api_key_string)

// Write done the information about of Final result time & hostlists
ioutil.WriteFile(Primary_communication_result, []byte(ack_timecheck_from_api), 0644)
Expand Down

0 comments on commit 0d6db2c

Please sign in to comment.