-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcreatre.py
More file actions
117 lines (110 loc) · 3.94 KB
/
creatre.py
File metadata and controls
117 lines (110 loc) · 3.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
"""
Creates the exact folder/file structure of the DevOps Study Guide repo.
Run: python create_structure.py [target_dir]
Default target: ./devops-study-guide
"""
import os
import sys
TARGET = sys.argv[1] if len(sys.argv) > 1 else "devops-study-guide"
FILES = [
".github/copilot-instructions.md",
".github/workflows/pages.yml",
".gitignore",
"data/scenarios.js",
"data/topics.js",
"deepdives/ansible-config.html",
"deepdives/api-design.html",
"deepdives/api-management.html",
"deepdives/app-gateway.html",
"deepdives/bash-scripting.html",
"deepdives/cd-deploy.html",
"deepdives/chaos-engineering.html",
"deepdives/ci-devsecops.html",
"deepdives/compliance-audit.html",
"deepdives/containers-k8s.html",
"deepdives/cost.html",
"deepdives/data-patterns.html",
"deepdives/databases.html",
"deepdives/ddos-waf.html",
"deepdives/developer-platforms.html",
"deepdives/dns-domains.html",
"deepdives/dr-ha.html",
"deepdives/east-west.html",
"deepdives/event-driven.html",
"deepdives/finops.html",
"deepdives/git-advanced.html",
"deepdives/global-lb-cdn.html",
"deepdives/governance.html",
"deepdives/helm-kustomize.html",
"deepdives/hybrid-cloud.html",
"deepdives/hybrid-connectivity.html",
"deepdives/iac.html",
"deepdives/identity-access.html",
"deepdives/incident-mgmt.html",
"deepdives/k8s-networking.html",
"deepdives/k8s-rbac-security.html",
"deepdives/k8s-storage.html",
"deepdives/linux-admin.html",
"deepdives/load-balancer.html",
"deepdives/messaging.html",
"deepdives/microservices.html",
"deepdives/migration.html",
"deepdives/monitoring.html",
"deepdives/multi-cloud.html",
"deepdives/network-security.html",
"deepdives/networking-fundamentals.html",
"deepdives/powershell-azure.html",
"deepdives/python-devops.html",
"deepdives/secrets-encryption.html",
"deepdives/serverless-paas.html",
"deepdives/source-control.html",
"deepdives/sre-practices.html",
"deepdives/storage.html",
"deepdives/supply-chain.html",
"deepdives/system-design.html",
"deepdives/testing-strategies.html",
"deepdives/threat-modeling.html",
"deepdives/traffic-routing.html",
"deepdives/twelve-factor.html",
"deepdives/user-request.html",
"deepdives/vm-compute.html",
"deepdives/vnet-subnets.html",
"deepdives/well-architected.html",
"deepdives/zero-trust.html",
"index.html",
"azure-vs-aws-comparison.html",
"azure-vs-aws-vs-gcp.html",
"project-mode-architecture.html",
"revision-material.html",
"well-architected-framework.html",
]
def main():
created_dirs = set()
created_files = 0
for filepath in FILES:
full = os.path.join(TARGET, filepath)
d = os.path.dirname(full)
if d and d not in created_dirs:
os.makedirs(d, exist_ok=True)
created_dirs.add(d)
with open(full, "w", encoding="utf-8") as f:
f.write("") # empty placeholder
created_files += 1
print(f"Created {created_files} files in {len(created_dirs)} directories under '{TARGET}/'")
print(f"\nStructure:")
print(f" {TARGET}/")
print(f" ├── .github/copilot-instructions.md")
print(f" ├── .github/workflows/pages.yml")
print(f" ├── .gitignore")
print(f" ├── index.html")
print(f" ├── azure-vs-aws-comparison.html")
print(f" ├── azure-vs-aws-vs-gcp.html")
print(f" ├── project-mode-architecture.html")
print(f" ├── revision-material.html")
print(f" ├── well-architected-framework.html")
print(f" ├── data/")
print(f" │ ├── scenarios.js")
print(f" │ └── topics.js")
print(f" └── deepdives/ (59 HTML files)")
if __name__ == "__main__":
main()