Skip to content

Instantly share code, notes, and snippets.

@richbruce
Last active June 4, 2020 17:58
Show Gist options
  • Save richbruce/05cba61c308b6d331fc448a687e86811 to your computer and use it in GitHub Desktop.
Save richbruce/05cba61c308b6d331fc448a687e86811 to your computer and use it in GitHub Desktop.
from pexpect import pxssh
import os
import subprocess
PWD = os.getenv('PWD')
secrets_folder = PWD + '/secrets/'
secrets_folder_files = [f for r, d, f in os.walk(secrets_folder)][0]
secrets_files = [
e for e in secrets_folder_files if ".py" not in e if '.gitignore' not in e]
IPADDRESS = os.getenv('IPADDRESS')
SERVER_USERNAME = os.getenv('SERVER_USERNAME')
SERVER_USERNAME_PASSWORD = os.getenv('SERVER_USERNAME_PASSWORD')
# ## SUBPROCESSES #################################################################################
for secret in secrets_files:
subprocess.run(
f'scp {PWD}/secrets/{secret} {SERVER_USERNAME}@{IPADDRESS}:.', shell=True, check=True)
# ## SSH ##########################################################################################
s = pxssh.pxssh()
s.login(IPADDRESS, SERVER_USERNAME)
s.sendline(
f'echo {SERVER_USERNAME_PASSWORD} | sudo -k -S sudo docker secret rm {secret}')
s.prompt()
print(s.before.decode('utf-8'))
s.sendline(
f'echo {SERVER_USERNAME_PASSWORD} | sudo -k -S sudo docker secret create {secret} {secret}')
s.prompt()
print(s.before.decode('utf-8'))
# ## CLEAN UP #####################################################################################
s.sendline(f'rm {secret}')
s.prompt()
print(s.before.decode('utf-8'))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment