infracloud/dev-scripts/sync_to_civo_manual.py

51 lines
1.5 KiB
Python

import boto3
import os
from botocore.config import Config
# Configurações Civo
ACCESS_KEY = "0UZ69TH03Q292DMTB82B"
SECRET_KEY = "JJ5XXZYvoWdnqBCNP5oREjACyrXeH6EgSqeSybT7"
ENDPOINT = "https://objectstore.nyc1.civo.com"
BUCKET_NAME = "rede5"
REGION = "NYC1"
SSH_DIR = os.path.expanduser("~/.ssh")
S3_PREFIX = "vault/ssh/"
def sync_manual():
print(f"--- Sincronização Manual ~/.ssh -> Civo ---")
s3 = boto3.client(
's3',
aws_access_key_id=ACCESS_KEY,
aws_secret_access_key=SECRET_KEY,
endpoint_url=ENDPOINT,
region_name=REGION,
config=Config(signature_version='s3')
)
files_to_sync = [
"civo", "github", "ic-ad", "cloudflare-token",
"cloudflare-token-inventcloud", "coolify-redbull-token",
"forgejo-token", "github-token", "monday.env",
"bookstack-token", "openproject-token"
]
for filename in files_to_sync:
local_path = os.path.join(SSH_DIR, filename)
if os.path.exists(local_path):
s3_path = f"{S3_PREFIX}{filename}"
print(f"Enviando {filename}...")
try:
with open(local_path, 'rb') as data:
s3.put_object(
Bucket=BUCKET_NAME,
Key=s3_path,
Body=data
)
print(f" OK: {filename} salvo.")
except Exception as e:
print(f" Erro em {filename}: {e}")
if __name__ == "__main__":
sync_manual()