mirror of
https://github.com/katanemo/plano.git
synced 2026-05-15 11:02:39 +02:00
fix Tera template compat, remove Python from CI entirely
This commit is contained in:
parent
b7fd7771cd
commit
cc896bf20f
3 changed files with 54 additions and 29 deletions
|
|
@ -266,6 +266,10 @@ pub fn validate_and_render(
|
|||
// Override inferred clusters with endpoints
|
||||
for (name, details) in &endpoints {
|
||||
let mut cluster = details.clone();
|
||||
// Ensure protocol is always set
|
||||
if cluster.get("protocol").is_none() {
|
||||
cluster["protocol"] = json!("https");
|
||||
}
|
||||
if cluster.get("port").is_none() {
|
||||
let ep = cluster
|
||||
.get("endpoint")
|
||||
|
|
@ -279,6 +283,10 @@ pub fn validate_and_render(
|
|||
cluster["endpoint"] = json!(endpoint);
|
||||
cluster["port"] = json!(port);
|
||||
}
|
||||
// Ensure connect_timeout is set
|
||||
if cluster.get("connect_timeout").is_none() {
|
||||
cluster["connect_timeout"] = json!("5s");
|
||||
}
|
||||
inferred_clusters.insert(name.clone(), cluster);
|
||||
}
|
||||
|
||||
|
|
@ -702,6 +710,29 @@ pub fn validate_and_render(
|
|||
|
||||
let mut tera = tera::Tera::default();
|
||||
let template_content = std::fs::read_to_string(template_path)?;
|
||||
// Convert Jinja2 syntax to Tera syntax
|
||||
// indent(N) → indent(width=N)
|
||||
let template_content = regex::Regex::new(r"indent\((\d+)\)")
|
||||
.unwrap()
|
||||
.replace_all(&template_content, "indent(width=$1)")
|
||||
.to_string();
|
||||
// var.split(":") | first → var | split(pat=":") | first
|
||||
let template_content = regex::Regex::new(r#"(\w+)\.split\("([^"]+)"\)"#)
|
||||
.unwrap()
|
||||
.replace_all(&template_content, r#"$1 | split(pat="$2")"#)
|
||||
.to_string();
|
||||
// default('value') → default(value='value')
|
||||
let template_content = regex::Regex::new(r"default\('([^']+)'\)")
|
||||
.unwrap()
|
||||
.replace_all(&template_content, "default(value='$1')")
|
||||
.to_string();
|
||||
// replace(" ", "_") → replace(from=" ", to="_")
|
||||
let template_content = regex::Regex::new(r#"replace\("([^"]*)",\s*"([^"]*)"\)"#)
|
||||
.unwrap()
|
||||
.replace_all(&template_content, r#"replace(from="$1", to="$2")"#)
|
||||
.to_string();
|
||||
// dict.items() → dict (Tera iterates dicts directly)
|
||||
let template_content = template_content.replace(".items()", "");
|
||||
tera.add_raw_template(template_filename, &template_content)?;
|
||||
|
||||
let mut context = tera::Context::new();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue