.
This commit is contained in:
parent
bf5c2e4731
commit
73c8d2443b
@ -1,11 +0,0 @@
|
|||||||
#cloud-config
|
|
||||||
write_files:
|
|
||||||
- content: |
|
|
||||||
curl -fsSL https://code-server.dev/install.sh > /root/install.sh
|
|
||||||
permissions: "755"
|
|
||||||
owner: root:root
|
|
||||||
path: /root/install.sh
|
|
||||||
|
|
||||||
runcmd:
|
|
||||||
- bash /root/install.sh
|
|
||||||
- code-server --bind-addr 0.0.0.0:8080
|
|
@ -1,7 +1,6 @@
|
|||||||
import json
|
import json
|
||||||
import time
|
import time
|
||||||
import sys
|
import sys
|
||||||
import paramiko
|
|
||||||
import requests
|
import requests
|
||||||
from hcloud import Client
|
from hcloud import Client
|
||||||
from hcloud.networks.domain import NetworkSubnet
|
from hcloud.networks.domain import NetworkSubnet
|
||||||
@ -39,18 +38,18 @@ class Client_MS:
|
|||||||
return self.client.ssh_keys.create(name=self.config["ssh_name"], public_key=self.config["ssh_public"])
|
return self.client.ssh_keys.create(name=self.config["ssh_name"], public_key=self.config["ssh_public"])
|
||||||
|
|
||||||
def create_vscode_server(self):
|
def create_vscode_server(self):
|
||||||
with open("vscode.yml", "r") as f:
|
with open("webservice.yml", "r") as f:
|
||||||
vs = f.read()
|
vs = f.read()
|
||||||
|
|
||||||
if(self.client.servers.get_by_name(self.config["vs-code-name"])):
|
if(self.client.servers.get_by_name(self.config["server-name"])):
|
||||||
print("Server exists.")
|
print("Server exists.")
|
||||||
self.vscode = self.client.servers.get_by_name(
|
self.vscode = self.client.servers.get_by_name(
|
||||||
self.config["vs-code-name"])
|
self.config["server-name"])
|
||||||
return self.vscode
|
return self.vscode
|
||||||
else:
|
else:
|
||||||
print("Creating server.")
|
print("Creating server.")
|
||||||
vscode = self.client.servers.create(
|
vscode = self.client.servers.create(
|
||||||
name=self.config["vs-code-name"],
|
name=self.config["server-name"],
|
||||||
server_type=ServerType(self.config["server-type"]),
|
server_type=ServerType(self.config["server-type"]),
|
||||||
image=Image(name=self.config["server-image"]),
|
image=Image(name=self.config["server-image"]),
|
||||||
ssh_keys=[self.ssh_key],
|
ssh_keys=[self.ssh_key],
|
||||||
@ -60,23 +59,6 @@ class Client_MS:
|
|||||||
self.vscode = vscode.server
|
self.vscode = vscode.server
|
||||||
return vscode.server
|
return vscode.server
|
||||||
|
|
||||||
def get_password(self):
|
|
||||||
while(True):
|
|
||||||
try:
|
|
||||||
print("Status: Setting up...", end='\r')
|
|
||||||
requests.get(f'http://{self.vscode.data_model.public_net.ipv4.ip}:8080')
|
|
||||||
break
|
|
||||||
except:
|
|
||||||
time.sleep(1)
|
|
||||||
print("Status: Running. ", end='\n')
|
|
||||||
ssh = paramiko.SSHClient()
|
|
||||||
k = paramiko.RSAKey.from_private_key_file(self.config["ssh_private"])
|
|
||||||
|
|
||||||
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
|
||||||
ssh.connect( hostname=self.vscode.data_model.public_net.ipv4.ip, username="root", pkey=k, timeout=1000)
|
|
||||||
stdin, stdout, stderr = ssh.exec_command('cat < ~/.config/code-server/config.yaml')
|
|
||||||
print(f'VS Code password: {stdout.readlines()[2].split()[1]}\n')
|
|
||||||
|
|
||||||
def print_info(self):
|
def print_info(self):
|
||||||
print("----- Server info -----")
|
print("----- Server info -----")
|
||||||
print(
|
print(
|
||||||
@ -95,7 +77,7 @@ if __name__ == '__main__':
|
|||||||
else:
|
else:
|
||||||
c = Client_MS(sys.argv[1])
|
c = Client_MS(sys.argv[1])
|
||||||
c.print_info()
|
c.print_info()
|
||||||
c.get_password()
|
# c.get_password()
|
||||||
try:
|
try:
|
||||||
for remaining in range(60, 0, -1):
|
for remaining in range(60, 0, -1):
|
||||||
sys.stdout.write("\r")
|
sys.stdout.write("\r")
|
BIN
4_1_hetzner/requirements.txt
Normal file
BIN
4_1_hetzner/requirements.txt
Normal file
Binary file not shown.
6
4_1_hetzner/webservice.yml
Normal file
6
4_1_hetzner/webservice.yml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
#cloud-config
|
||||||
|
runcmd:
|
||||||
|
- cd /home
|
||||||
|
- git clone https://git.wmi.amu.edu.pl/s434784/04_Public_cloud
|
||||||
|
- chmod -x /04_Public_cloud/webservice
|
||||||
|
- bash /home/04_Public_cloud/webservice
|
Loading…
Reference in New Issue
Block a user