Skip to content

Commit 6b4c829

Browse files
authored
Merge pull request #33 from nsec/rework-templates
Reworked the template files and folders.
2 parents 509f494 + 9e71b2c commit 6b4c829

27 files changed

+26
-11
lines changed

ctf/new.py

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,12 @@ def new(
8282

8383
env = jinja2.Environment(
8484
loader=jinja2.FileSystemLoader(
85-
searchpath=get_ctf_script_templates_directory(), encoding="utf-8"
85+
searchpath=(
86+
new_template_path := os.path.join(
87+
get_ctf_script_templates_directory(), "new"
88+
)
89+
),
90+
encoding="utf-8",
8691
)
8792
)
8893

@@ -106,7 +111,7 @@ def new(
106111
ipv6_address = f"216:3eff:fe{rb[0]}{rb[1]}:{rb[2]}{rb[3]}{rb[4]}{rb[5]}"
107112
full_ipv6_address = f"{ipv6_subnet}:{ipv6_address}"
108113

109-
track_template = env.get_template(name="track.yaml.j2")
114+
track_template = env.get_template(name=os.path.join("common", "track.yaml.j2"))
110115
render = track_template.render(
111116
data={
112117
"name": name,
@@ -130,7 +135,7 @@ def new(
130135

131136
LOG.debug(msg=f"Directory {posts_directory} created.")
132137

133-
track_template = env.get_template(name="topic.yaml.j2")
138+
track_template = env.get_template(name=os.path.join("common", "topic.yaml.j2"))
134139
render = track_template.render(data={"name": name})
135140
with open(
136141
file=(p := os.path.join(posts_directory, f"{name}.yaml")),
@@ -141,7 +146,7 @@ def new(
141146

142147
LOG.debug(msg=f"Wrote {p}.")
143148

144-
track_template = env.get_template(name="post.yaml.j2")
149+
track_template = env.get_template(name=os.path.join("common", "post.yaml.j2"))
145150
render = track_template.render(data={"name": name})
146151
with open(
147152
file=(p := os.path.join(posts_directory, f"{name}_flag1.yaml")),
@@ -170,7 +175,7 @@ def new(
170175

171176
LOG.debug(msg=f"Directory {terraform_directory} created.")
172177

173-
track_template = env.get_template(name="main.tf.j2")
178+
track_template = env.get_template(name=os.path.join("common", "main.tf.j2"))
174179

175180
render = track_template.render(
176181
data={
@@ -215,7 +220,7 @@ def new(
215220

216221
LOG.debug(msg=f"Directory {ansible_directory} created.")
217222

218-
track_template = env.get_template(name=f"deploy-{template}.yaml.j2")
223+
track_template = env.get_template(name=os.path.join(template, "deploy.yaml.j2"))
219224
render = track_template.render(data={"name": name})
220225
with open(
221226
file=(p := os.path.join(ansible_directory, "deploy.yaml")),
@@ -226,7 +231,7 @@ def new(
226231

227232
LOG.debug(msg=f"Wrote {p}.")
228233

229-
track_template = env.get_template(name="inventory.j2")
234+
track_template = env.get_template(name=os.path.join("common", "inventory.j2"))
230235
render = track_template.render(data={"name": name})
231236
with open(
232237
file=(p := os.path.join(ansible_directory, "inventory")),
@@ -244,7 +249,9 @@ def new(
244249
LOG.debug(msg=f"Directory {ansible_challenge_directory} created.")
245250

246251
if template == Template.APACHE_PHP:
247-
track_template = env.get_template(name="index.php.j2")
252+
track_template = env.get_template(
253+
name=os.path.join(Template.APACHE_PHP, "index.php.j2")
254+
)
248255
render = track_template.render(data={"name": name})
249256
with open(
250257
file=(p := os.path.join(ansible_challenge_directory, "index.php")),
@@ -256,7 +263,9 @@ def new(
256263
LOG.debug(msg=f"Wrote {p}.")
257264

258265
if template == Template.PYTHON_SERVICE:
259-
track_template = env.get_template(name="app.py.j2")
266+
track_template = env.get_template(
267+
name=os.path.join(Template.PYTHON_SERVICE, "app.py.j2")
268+
)
260269
render = track_template.render(data={"name": name})
261270
with open(
262271
file=(p := os.path.join(ansible_challenge_directory, "app.py")),
@@ -279,13 +288,19 @@ def new(
279288
if template == Template.RUST_WEBSERVICE:
280289
# Copy the entire challenge template
281290
shutil.copytree(
282-
os.path.join(get_ctf_script_templates_directory(), "rust-webservice"),
291+
os.path.join(
292+
new_template_path,
293+
Template.RUST_WEBSERVICE,
294+
"source",
295+
),
283296
ansible_challenge_directory,
284297
dirs_exist_ok=True,
285298
)
286299
LOG.debug(msg=f"Wrote files to {ansible_challenge_directory}")
287300

288-
manifest_template = env.get_template(name="Cargo.toml.j2")
301+
manifest_template = env.get_template(
302+
name=os.path.join(Template.RUST_WEBSERVICE, "Cargo.toml.j2")
303+
)
289304
render = manifest_template.render(data={"name": name})
290305
with open(
291306
file=(p := os.path.join(ansible_challenge_directory, "Cargo.toml")),
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)