diff --git a/app/main.py b/app/main.py index 7d3fbd8..df8dd30 100644 --- a/app/main.py +++ b/app/main.py @@ -10,26 +10,34 @@ CONTENT_TYPE_LATEST = str('text/plain; version=0.0.4; charset=utf-8') -c = Gauge('kube_csr_pending', 'List of unapproved CSR', ['name']) +c = Gauge('kube_csr_pending', 'List of unapproved CSR',) +csr_history_list = [] app = Flask(__name__) +@app.route("/healthz") +def healtz(): + return "OK" + @app.route("/metrics") def metrics(): try: - - - configuration = config.load_incluster_config() #kubernetes.client.Configuration().load_incluster_config() - + pprint("Starting metrics") + try: + configuration = config.load_incluster_config() + except config.ConfigException: + try: + pprint(config.load_kube_config()) + configuration = config.load_kube_config() + except config.ConfigException: + raise Exception("Could not configure kubernetes python client") with kubernetes.client.ApiClient(configuration) as api_client: api_instance = kubernetes.client.CertificatesV1beta1Api(api_client) - + c.set(0) certificates = api_instance.list_certificate_signing_request() for certificate in certificates.items: if certificate.status.certificate is None: - c.labels(name=certificate.metadata.name).set(1) - else: - c.labels(name=certificate.metadata.name).set(0) + c.inc() except ApiException as e: print("Exception when calling CertificatesV1beta1Api->list_certificate_signing_request: %s\n" % e) except AttributeError: