34 lines
1.4 KiB
Plaintext
34 lines
1.4 KiB
Plaintext
const DOMAIN = config.domain;
|
|
const NAME = instance;
|
|
fn check_domain() {
|
|
assert(have_namespace(`${global::DOMAIN}`), `There is no ${global::DOMAIN} namespace`);
|
|
}
|
|
fn pre_check() {
|
|
check_domain();
|
|
}
|
|
fn have_taiga() {
|
|
have_namespace(`${global::DOMAIN}-ci`) && have_install(`${global::DOMAIN}-ci`, "taiga") && have_service(`${global::DOMAIN}-ci`, "taiga-taiga") && have_secret(`${global::DOMAIN}-ci`, "taiga-taiga")
|
|
}
|
|
fn conditions() {
|
|
let org = global::NAME;
|
|
org.replace("org-","");
|
|
let insts = list_install(`${global::DOMAIN}-ci`).items;
|
|
let repos = [];
|
|
if (insts.some(|i| i.metadata.name=="gitea") && insts.some(|i| i.metadata.name=="sonar")) {
|
|
let gitea = get_secret(`${global::DOMAIN}-ci`, "gitea-admin-user");
|
|
let username = base64_decode(gitea.data.username);
|
|
let password = base64_decode(gitea.data.password);
|
|
let headers = http_header_basic(username,password);
|
|
let response = http_get_json(`http://gitea-http.${global::DOMAIN}-ci.svc:3000/api/v1/orgs/${org}/repos`, headers);
|
|
log_warn(type_of(response.code*1));
|
|
if (response.code*1>=200&&response.code*1<300) {
|
|
repos += response.json.map(|p| p.name);
|
|
repos.sort();
|
|
log_info(`Found ${repos.len} repos`);
|
|
}
|
|
}
|
|
json_encode(#{
|
|
repos: repos,
|
|
have_taiga: have_taiga()
|
|
})
|
|
} |