Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
H
Hetzner-Master
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
Hetzner-Master
Commits
d7bce6a5
Commit
d7bce6a5
authored
Apr 09, 2020
by
Ahmad Nemati
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
init
parent
91b305f2
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
29 additions
and
35 deletions
+29
-35
app.js
app.js
+29
-35
No files found.
app.js
View file @
d7bce6a5
...
@@ -13,6 +13,7 @@ const cronSpeed = require('node-cron');
...
@@ -13,6 +13,7 @@ const cronSpeed = require('node-cron');
const
shellExec
=
require
(
'
shell-exec
'
)
const
shellExec
=
require
(
'
shell-exec
'
)
let
Hetzner
=
require
(
'
./Hetzner
'
)
let
Hetzner
=
require
(
'
./Hetzner
'
)
let
constant
=
require
(
'
./constant
'
)
let
constant
=
require
(
'
./constant
'
)
let
masterId
=
0
let
het
let
het
...
@@ -130,18 +131,19 @@ async function init() {
...
@@ -130,18 +131,19 @@ async function init() {
await
initToken
()
await
initToken
()
addMaster
()
addMaster
()
postRequest
()
postRequest
()
attacher
()
attacher
()
// checkServers()
// checkServers()
}
}
async
function
checkServers
()
{
async
function
checkServers
()
{
let
servers
=
await
het
.
getAllServers
(
'
fsn1
'
)
let
servers
=
await
het
.
getAllServers
()
console
.
log
(
servers
)
let
masterid
=
await
het
.
getMasterServerId
()
if
(
masterId
===
0
)
return
for
(
let
i
=
0
;
i
<
servers
.
length
;
i
++
)
for
(
let
i
=
0
;
i
<
servers
.
length
;
i
++
)
if
(
servers
[
i
].
id
!==
master
i
d
)
{
if
(
servers
[
i
].
id
!==
master
I
d
)
{
let
min
=
getMinDiff
(
servers
[
i
].
created
)
let
min
=
getMinDiff
(
servers
[
i
].
created
)
...
@@ -151,7 +153,7 @@ async function checkServers() {
...
@@ -151,7 +153,7 @@ async function checkServers() {
case
404
:
case
404
:
if
(
min
>
45
)
{
if
(
min
>
30
)
{
await
het
.
deleteServer
(
servers
[
i
].
id
)
await
het
.
deleteServer
(
servers
[
i
].
id
)
console
.
log
(
'
Need remove server
'
+
servers
[
i
].
name
+
'
Idle is
'
+
min
)
console
.
log
(
'
Need remove server
'
+
servers
[
i
].
name
+
'
Idle is
'
+
min
)
}
}
...
@@ -188,34 +190,32 @@ function getMinDiff(end) {
...
@@ -188,34 +190,32 @@ function getMinDiff(end) {
}
}
async
function
checkIps
(
ip
)
{
async
function
checkIps
(
ip
)
{
let
status
=
await
getWorkFloating
(
ip
)
status
=
parseInt
(
status
)
switch
(
status
)
{
case
404
:
await
postFloatingIps
([
ip
])
break
case
400
:
await
postFloatingIps
([
ip
])
break
case
0
:
await
het
.
removeFloatingIpByIp
(
ip
)
break
case
1
:
break
}
let
status
=
await
getWorkFloating
(
ip
)
status
=
parseInt
(
status
)
switch
(
status
)
{
case
404
:
await
postFloatingIps
([
ip
])
break
case
400
:
await
postFloatingIps
([
ip
])
break
case
0
:
await
het
.
removeFloatingIpByIp
(
ip
)
break
case
1
:
break
}
}
}
async
function
initToken
()
{
async
function
initToken
()
{
var
contents
=
await
fs
.
readFileSync
(
'
./token.txt
'
,
'
utf8
'
);
var
contents
=
await
fs
.
readFileSync
(
'
./token.txt
'
,
'
utf8
'
);
het
=
new
Hetzner
(
contents
)
het
=
new
Hetzner
(
contents
)
masterId
=
await
het
.
getMasterServerId
()
// remover()
// remover()
...
@@ -256,8 +256,7 @@ async function attacher() {
...
@@ -256,8 +256,7 @@ async function attacher() {
let
ips
=
await
het
.
getAllFloatingIps
()
let
ips
=
await
het
.
getAllFloatingIps
()
let
attached
=
false
let
attached
=
false
for
(
let
i
=
0
;
i
<
ips
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
ips
.
length
;
i
++
)
{
if
(
typeof
ips
[
i
].
server
===
"
number
"
)
if
(
typeof
ips
[
i
].
server
===
"
number
"
)
{
{
if
(
ips
[
i
].
server
===
serverId
)
{
if
(
ips
[
i
].
server
===
serverId
)
{
attached
=
true
attached
=
true
await
postFloatingIps
([
ips
[
i
].
ip
])
await
postFloatingIps
([
ips
[
i
].
ip
])
...
@@ -269,12 +268,9 @@ async function attacher() {
...
@@ -269,12 +268,9 @@ async function attacher() {
}
}
for
(
let
i
=
0
;
i
<
ips
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
ips
.
length
;
i
++
)
{
if
(
typeof
ips
[
i
].
server
!==
"
number
"
)
if
(
typeof
ips
[
i
].
server
!==
"
number
"
)
{
{
await
het
.
updateFlotingIP
(
ips
[
i
].
id
,
serverId
)
await
het
.
updateFlotingIP
(
ips
[
i
].
id
,
serverId
)
await
postFloatingIps
([
ips
[
i
].
ip
])
await
postFloatingIps
([
ips
[
i
].
ip
])
addBaship
(
ips
[
i
].
ip
)
addBaship
(
ips
[
i
].
ip
)
break
break
...
@@ -360,8 +356,6 @@ function getWorkMaster(ip) {
...
@@ -360,8 +356,6 @@ function getWorkMaster(ip) {
}
}
function
addIp
()
{
function
addIp
()
{
const
request
=
require
(
'
request
'
);
const
request
=
require
(
'
request
'
);
let
url
=
'
http://admin.fcfglobal.co:3000/add/
'
let
url
=
'
http://admin.fcfglobal.co:3000/add/
'
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment