default_target: str
max_file_size: int
site_url: Optional[str]
+ cluster_issuer: Optional[str]
ingress_whitelist_source_range: Optional[str]
tls_secret_name: Optional[str]
enable_web_admin_api: bool
self.prometheus.publish_info(self.app.name, PORT)
def _on_backup_action(self, event: EventBase) -> NoReturn:
- url = f"http://{self.model.app.name}:{PORT}/api/v2/admin/tsdb/snapshot"
+ url = f"http://{self.model.app.name}:{PORT}/api/v1/admin/tsdb/snapshot"
result = requests.post(url)
if result.status_code == 200:
event.set_results({"backup-name": result.json()["name"]})
else:
- event.fail(f"status-code: {result.status_code}, result: {result.json()}")
+ event.fail(f"status-code: {result.status_code}")
def _build_files(self, config: ConfigModel):
files_builder = FilesV3Builder()
if config.max_file_size > 0
else config.max_file_size
),
+ "kubernetes.io/ingress.class": "public",
}
ingress_resource_builder = IngressResourceV3Builder(
f"{self.app.name}-ingress", annotations
"nginx.ingress.kubernetes.io/whitelist-source-range"
] = config.ingress_whitelist_source_range
+ if config.cluster_issuer:
+ annotations["cert-manager.io/cluster-issuer"] = config.cluster_issuer
+
if parsed.scheme == "https":
ingress_resource_builder.add_tls(
[parsed.hostname], config.tls_secret_name