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
44fa5b78
Commit
44fa5b78
authored
Apr 08, 2020
by
Ahmad Nemati
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
init
parent
548e061a
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
103 additions
and
37 deletions
+103
-37
Hetzner.js
Hetzner.js
+25
-2
app.js
app.js
+61
-27
test.js
test.js
+17
-8
No files found.
Hetzner.js
View file @
44fa5b78
...
...
@@ -236,11 +236,34 @@ class Hetzner {
client
.
floatingIPs
.
build
()
.
type
(
'
ipv4
'
)
.
location
(
location
)
.
server
(
server
)
.
create
()
.
then
(
function
(
response
)
{
resolve
(
response
.
floatingIP
.
ip
)
resolve
(
response
)
})
.
catch
(
function
(
error
)
{
resolve
(
false
)
})
})
}
updateFlotingIP
(
id
,
serverId
)
{
// nuremberg nbg1
//fsn1
return
new
Promise
(
function
(
resolve
,
reject
)
{
client
.
floatingIPs
.
actions
.
assign
(
id
,
serverId
)
.
then
(
function
(
response
)
{
let
d
=
_
.
values
(
response
.
floatingIP
);
resolve
(
d
)
})
.
catch
(
function
(
error
)
{
resolve
(
false
)
...
...
app.js
View file @
44fa5b78
...
...
@@ -55,30 +55,6 @@ app.get('/test', (req, res) => {
})
async
function
newFloatingIpsOrder
(
req
,
res
)
{
let
order
=
parseInt
(
req
.
params
.
num
)
res
.
send
(
'
Floating Ips from
'
+
(
order
===
1
?
'
Nuremberg
'
:
order
===
2
?
'
Falkenstein
'
:
'
Helsinki
'
)
+
'
Requested
'
)
let
ips
=
await
het
.
getAllFloatingIps
()
if
(
ips
.
length
===
10
)
return
let
masterid
=
await
het
.
getMasterServerId
()
let
floatNum
=
10
-
ips
.
length
let
location
=
order
===
1
?
constant
.
nuremberg
:
order
===
2
?
constant
.
falkenstein
:
constant
.
helsinki
let
newIps
=
[]
for
(
let
i
=
1
;
i
<=
floatNum
;
i
++
)
{
let
ip
=
await
het
.
createFloatingIp
(
location
,
masterid
)
addBaship
(
ip
)
newIps
.
push
(
ip
)
}
// console.log(req.params.ip)
// addBaship(req.params.ip)
}
async
function
newServerOrder
(
req
,
res
)
{
let
order
=
parseInt
(
req
.
params
.
num
)
...
...
@@ -148,14 +124,12 @@ async function init() {
await
initToken
()
addMaster
()
postRequest
()
checkIps
()
attacher
()
checkServers
()
}
async
function
checkServers
()
{
let
servers
=
await
het
.
getAllServers
(
'
fsn1
'
)
console
.
log
(
servers
)
...
...
@@ -246,6 +220,66 @@ async function addNewIp(req, res) {
addBaship
(
req
.
params
.
ip
)
}
async
function
newFloatingIpsOrder
(
req
,
res
)
{
let
order
=
parseInt
(
req
.
params
.
num
)
res
.
send
(
'
Floating Ips from
'
+
(
order
===
1
?
'
Nuremberg
'
:
order
===
2
?
'
Falkenstein
'
:
'
Helsinki
'
)
+
'
Requested
'
)
let
ips
=
await
het
.
getAllFloatingIps
()
if
(
ips
.
length
===
10
)
return
let
floatNum
=
10
-
ips
.
length
let
location
=
order
===
1
?
constant
.
nuremberg
:
order
===
2
?
constant
.
falkenstein
:
constant
.
helsinki
for
(
let
i
=
1
;
i
<=
floatNum
;
i
++
)
{
let
ip
=
await
het
.
createFloatingIp
(
location
)
}
}
async
function
attacher
()
{
let
serverId
=
await
het
.
getMasterServerId
()
serverId
=
parseInt
(
serverId
)
let
ips
=
await
het
.
getAllFloatingIps
()
let
attached
=
false
for
(
let
i
=
0
;
i
<
ips
.
length
;
i
++
)
{
if
(
typeof
ips
[
i
].
server
===
"
number
"
)
{
if
(
ips
[
i
].
server
===
serverId
)
{
attached
=
true
await
postFloatingIps
([
ips
[
i
].
ip
])
addBaship
(
ips
[
i
].
ip
)
break
}
}
}
if
(
attached
)
return
for
(
let
i
=
0
;
i
<
ips
.
length
;
i
++
)
{
if
(
typeof
ips
[
i
].
server
!==
"
number
"
)
{
await
het
.
updateFlotingIP
(
ips
[
i
].
id
,
serverId
)
await
postFloatingIps
([
ips
[
i
].
ip
])
addBaship
(
ips
[
i
].
ip
)
break
}
}
}
function
postFloatingIps
(
data
)
{
data
=
JSON
.
stringify
(
data
)
...
...
test.js
View file @
44fa5b78
...
...
@@ -19,14 +19,23 @@ tesT()
async
function
tesT
()
{
await
init
()
let
ips
=
await
het
.
getAllFloatingIps
()
for
(
let
i
=
0
;
i
<
ips
.
length
;
i
++
)
{
console
.
log
(
typeof
ips
[
i
].
server
===
'
number
'
)
}
// let ips = await het.getAllServers()
// console.log(ips)
//console.log(ips)
// for (let i = 0; i < ips.length; i++) {
// //console.log( typeof ips[i].server === "number")
// // if (typeof ips[i].server !== "number")
// // {
// // await het.removeFloatingIpByIp(ips[i].ip)
// // }
//
//
//
// }
// let d= await het.createFloatingIp('fsn1',null)
// console.log(d)
// await het.updateFlotingIP(232110,5297311)
}
function
getWorkFloating
(
ip
)
{
...
...
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