示例#1
0
 def create_private_repo_without_chart(self, user, project_id,
                                       project_code):
     # 通过harbor api创建一次项目账号,然后存储在auth中
     private_repos = Repository.objects.filter(name=project_code,
                                               project_id=project_id)
     if private_repos.exists():
         return private_repos[0]
     account = get_jfrog_account(self.access_token, project_code,
                                 project_id)
     repo_auth = {
         "type": "basic",
         "role": "admin",
         "credentials": {
             # "username": settings.HELM_MERELY_REPO_USERNAME,
             # "password": settings.HELM_MERELY_REPO_PASSWORD,
             "username": account.get("user"),
             "password": account.get("password")
         }
     }
     url = '%s/chartrepo/%s/' % (settings.HELM_MERELY_REPO_URL,
                                 project_code)
     private_repo = add_plain_repo(target_project_id=project_id,
                                   name=project_code,
                                   url=url,
                                   repo_auth=repo_auth)
     return private_repo
示例#2
0
def get_or_create_private_repo(user, project):
    # 通过harbor api创建一次项目账号,然后存储在auth中
    project_id = project.project_id
    project_code = project.project_code
    private_repos = Repository.objects.filter(name=project_code,
                                              project_id=project_id)
    repo = private_repos.first()
    if repo:
        return repo
    account = get_jfrog_account(user.token.access_token, project_code,
                                project_id)
    repo_auth = {
        "type": "basic",
        "role": "admin",
        "credentials": {
            "username": account.get("user"),
            "password": account.get("password")
        },
    }
    url = f"{settings.HELM_MERELY_REPO_URL}/chartrepo/{project_code}/"
    private_repo = add_plain_repo(target_project_id=project_id,
                                  name=project_code,
                                  url=url,
                                  repo_auth=repo_auth)
    return private_repo
示例#3
0
 def get_or_add_private_repos(self, project_id, user):
     project = paas_cc.get_project(access_token=self.access_token,
                                   project_id=project_id)
     if settings.HELM_HAS_ABILITY_SUPPLY_CHART_REPO_SERVICE:
         # 2. add/get private repo for project
         private_repo = add_repo(
             target_project_id=project_id,
             name=project["data"]["english_name"],
             provider_name="chartmuseum",
             url="http://localhost/",  # merely provide schema
             user=user,
         )
     else:
         repo_auth = {
             "type": "basic",
             "role": "admin",
             "credentials": {
                 "username": settings.HELM_MERELY_REPO_USERNAME,
                 "password": settings.HELM_MERELY_REPO_PASSWORD,
             }
         }
         english_name = project['data']['english_name']
         url = '%s/chartrepo/%s/' % (settings.HELM_MERELY_REPO_URL,
                                     english_name)
         private_repo = add_plain_repo(target_project_id=project_id,
                                       name=english_name,
                                       url=url,
                                       repo_auth=repo_auth)
     return [private_repo]