chore: add collect script to run heml charts
This commit is contained in:
parent
25332720a5
commit
65fe0a00ba
70
collect.py
Normal file
70
collect.py
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
import json
|
||||||
|
import requests
|
||||||
|
import os
|
||||||
|
import time
|
||||||
|
from subprocess import Popen, PIPE
|
||||||
|
|
||||||
|
#5 for now
|
||||||
|
url = "https://artifacthub.io/api/v1/packages/search?offset=0&limit=60&facets=false&kind=0&deprecated=false&sort=stars"
|
||||||
|
|
||||||
|
if os.path.exists("helm-charts.json"):
|
||||||
|
with open("helm-charts.json", "r") as f:
|
||||||
|
templates = json.loads(f.read())
|
||||||
|
else:
|
||||||
|
r = requests.get(url)
|
||||||
|
templates = json.loads(r.text)
|
||||||
|
|
||||||
|
# Save to file
|
||||||
|
with open("helm-charts.json", "w") as f:
|
||||||
|
json.dump(templates, f)
|
||||||
|
|
||||||
|
blacklist = ['cilium', 'longhorn']
|
||||||
|
uninstall = True
|
||||||
|
install = True
|
||||||
|
|
||||||
|
if install:
|
||||||
|
p = Popen("helm repo update", shell=True)
|
||||||
|
p.communicate()
|
||||||
|
|
||||||
|
time.sleep(1)
|
||||||
|
|
||||||
|
if install:
|
||||||
|
for package in templates['packages']:
|
||||||
|
repo_name = package['repository']['name']
|
||||||
|
repo_url = package['repository']['url']
|
||||||
|
chart_name = package['name']
|
||||||
|
version = package['version']
|
||||||
|
|
||||||
|
# Check blacklist, these repos have issues
|
||||||
|
if chart_name in blacklist:
|
||||||
|
continue
|
||||||
|
|
||||||
|
# command = "helm repo add {repo_name} {repo_url}".format(repo_name=repo_name, repo_url=repo_url)
|
||||||
|
# print("######" + command)
|
||||||
|
# p = Popen(command, stdout=PIPE, stderr=PIPE, shell=True)
|
||||||
|
# p.communicate()
|
||||||
|
|
||||||
|
# time.sleep(2)
|
||||||
|
|
||||||
|
command = "helm install my-{chart_name} {repo_name}/{chart_name2} --namespace {chart_name3} --create-namespace --version {version} --timeout 45s".format(chart_name=chart_name, repo_name=repo_name, chart_name2=chart_name, chart_name3=chart_name, version=version)
|
||||||
|
print("######" + command)
|
||||||
|
p = Popen(command, stdout=PIPE, stderr=PIPE, shell=True)
|
||||||
|
p.communicate()
|
||||||
|
|
||||||
|
time.sleep(10)
|
||||||
|
|
||||||
|
time.sleep(5)
|
||||||
|
|
||||||
|
if uninstall:
|
||||||
|
for package in templates['packages']:
|
||||||
|
repo_name = package['repository']['name']
|
||||||
|
repo_url = package['repository']['url']
|
||||||
|
chart_name = package['name']
|
||||||
|
version = package['version']
|
||||||
|
|
||||||
|
command = "helm uninstall --namespace {chart_name3} my-{chart_name} --timeout 45s".format(chart_name3=chart_name, chart_name=chart_name)
|
||||||
|
print("######" + command)
|
||||||
|
p = Popen(command, stdout=PIPE, stderr=PIPE, shell=True)
|
||||||
|
p.communicate()
|
||||||
|
|
||||||
|
time.sleep(6)
|
Loading…
Reference in New Issue
Block a user