carlos / opentofu Public

Clone
git clone https://amadan.net/carlos/opentofu

Plain git — no account needed to clone.

Download

Download this file

1from pathlib import Path
2import re
3import subprocess
4
5script = Path("modules/region/cloud-init.sh.tftpl").read_text()
6values = {
7 "local_region": "eu-west-2",
8 "deployment_region": "eu-west-1",
9 "deployment_bucket_name": "test-platform",
10 "data_bucket_name": "test-data",
11 "placement_region": "secondary",
12 "release_public_key": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
13 "apps_domain": "apps.example.com",
14}
15rendered = re.sub(r"\$\{([^}]+)\}", lambda match: values[match[1]], script)
16subprocess.run(["bash", "-n"], input=rendered, text=True, check=True)
17assert rendered.index("sha256sum -c -") < rendered.index("dpkg -i")
18assert rendered.rindex("sha256sum -c -") < rendered.index('install -m 0755 "$stage/carlos"')
19assert rendered.index("CARLOS_HIBERNATE_REGION=") < rendered.index("/opt/carlos/carlos bootstrap")
20assert rendered.index("/opt/carlos/carlos bootstrap") < rendered.index("systemctl start carlos-edge")
21assert "latest/" not in rendered
22assert "CARLOS_RELEASE_KEY=" not in rendered
23print("Bootstrap syntax, verification and startup order passed.")
24