def init_mesos_ns_by_bcs(self, access_token, project_id, project_code, cluster_id, ns_name): """新建包含仓库账号信息的sercret配置文件并下发""" # 获取镜像仓库地址 jfrog_domain = paas_cc.get_jfrog_domain(access_token, project_id, cluster_id) # 按项目申请仓库的账号信息 # 判断是否为研发仓库,正式环境分为:研发仓库、生产仓库,这2个仓库的账号要分开申请 if jfrog_domain.startswith(settings.BK_JFROG_ACCOUNT_DOMAIN): is_bk_jfrog = True else: is_bk_jfrog = False jfrog_account = get_jfrog_account(access_token, project_code, project_id, is_bk_jfrog) _user = jfrog_account.get('user', '') _pwd = jfrog_account.get('password', '') jfrog_config = { "kind": "secret", "metadata": {"name": MESOS_IMAGE_SECRET, "namespace": ns_name}, "datas": { "user": {"content": base64.b64encode(_user.encode(encoding="utf-8")).decode()}, "pwd": {"content": base64.b64encode(_pwd.encode(encoding="utf-8")).decode()}, }, "apiVersion": "v4", } # 下发secret配置文件 client = MesosClient(access_token, project_id, cluster_id, env=None) result = client.create_secret(ns_name, jfrog_config) if result.get('code') != 0: client.delete_secret(ns_name, MESOS_IMAGE_SECRET) raise error_codes.ComponentError.f(_("创建registry secret失败,{}").format(result.get('message')))
def delete_secret_for_mesos(self, access_token, project_id, cluster_id, ns_name): client = MesosClient(access_token, project_id, cluster_id, env=None) client.delete_secret(ns_name, MESOS_IMAGE_SECRET)