Commit 505e44a0 authored by Faizan Azim's avatar Faizan Azim 🤓

added git clone and copy logic

parent 2c37df7c
__pycache__ __pycache__
.idea .idea
.vscode .vscode
data
logs
\ No newline at end of file
...@@ -27,6 +27,7 @@ global_configmap = os.environ.get("GLOBAL_VARIABLES_FILE", default="") ...@@ -27,6 +27,7 @@ global_configmap = os.environ.get("GLOBAL_VARIABLES_FILE", default="")
HELM_PATH = "/ilens-core/ilens-modules" HELM_PATH = "/ilens-core/ilens-modules"
HELM_STORE_PATH = "./helm-charts" HELM_STORE_PATH = "./helm-charts"
REPO_CLONE_PATH = "./data"
def render_helm_chart(helm_name, data_dict, variables_list, helm_template_file): def render_helm_chart(helm_name, data_dict, variables_list, helm_template_file):
...@@ -121,19 +122,12 @@ def push_helm_deployments(repo_link:str, private_token:str, branch: str): ...@@ -121,19 +122,12 @@ def push_helm_deployments(repo_link:str, private_token:str, branch: str):
logging.exception(f'Exception while pushing helm deployments: {e.args}') logging.exception(f'Exception while pushing helm deployments: {e.args}')
def pull_global_config(repo_link: str, private_token:str, branch: str, file_name: str): def pull_global_config(repo_link: str, private_token:str, branch: str, file_name: str):
base_url = os.environ.get("GIT_BASE_URL", default=default_link) if repo_link.split("https://")[-1].startswith("gitlab-pm"):
repo_link_split = repo_link.split(base_url) repo_link = repo_link.replace("https://", f"https://{git_user_name}:{git_access_token}@")
if not repo_link_split: repo = git.Repo.clone_from(url=repo_link, to_path=REPO_CLONE_PATH)
return False repo.git.checkout(branch)
gl = gitlab.Gitlab(url=base_url, private_token=private_token) shutil.copy(f'{REPO_CLONE_PATH}{HELM_PATH}/{file_name}', ".")
search_str = repo_link_split[-1].replace(".git", "") print("I can break here")
if pl := gl.projects.list(search=search_str):
pl = pl[0]
else:
return False
with open(file_name, 'wb') as f:
pl.files.raw(file_path=f'{HELM_PATH[1:]}/{file_name}', ref=branch, streamed=True, action=f.write)
return True
def remove_all_files_from_repo(repo_link: str, private_token: str, branch: str, exclude_file: list): def remove_all_files_from_repo(repo_link: str, private_token: str, branch: str, exclude_file: list):
base_url = os.environ.get("GIT_BASE_URL", default=default_link) base_url = os.environ.get("GIT_BASE_URL", default=default_link)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment