my-cloud-devops-consulting 1.1.202507120112__tar.gz → 1.1.202507120158__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. my-cloud-devops-consulting-1.1.202507120158/PKG-INFO +21 -0
  2. my-cloud-devops-consulting-1.1.202507120158/README.md +3 -0
  3. my-cloud-devops-consulting-1.1.202507120158/my_cloud_devops_consulting.egg-info/PKG-INFO +21 -0
  4. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/my_cloud_devops_consulting.egg-info/SOURCES.txt +1 -0
  5. my-cloud-devops-consulting-1.1.202507120158/static/video/7989443-hd_1920_1080_25fps.mp4 +3 -0
  6. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/templates/index.html +152 -164
  7. my-cloud-devops-consulting-1.1.202507120112/PKG-INFO +0 -108
  8. my-cloud-devops-consulting-1.1.202507120112/README.md +0 -91
  9. my-cloud-devops-consulting-1.1.202507120112/my_cloud_devops_consulting.egg-info/PKG-INFO +0 -108
  10. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/MANIFEST.in +0 -0
  11. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/app.py +0 -0
  12. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/my_cloud_devops_consulting.egg-info/dependency_links.txt +0 -0
  13. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/my_cloud_devops_consulting.egg-info/requires.txt +0 -0
  14. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/my_cloud_devops_consulting.egg-info/top_level.txt +0 -0
  15. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/setup.cfg +0 -0
  16. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/setup.py +0 -0
  17. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/static/anifest.json +0 -0
  18. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/static/css/about.css +0 -0
  19. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/static/css/assessment.css +0 -0
  20. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/static/css/contact-form.css +0 -0
  21. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/static/css/index.css +0 -0
  22. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/static/css/login.css +0 -0
  23. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/static/css/main.css +0 -0
  24. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/static/css/register.css +0 -0
  25. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/static/css/services.css +0 -0
  26. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/static/images/facebook.png +0 -0
  27. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/static/images/favicon.svg +0 -0
  28. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/static/images/image.jpg +0 -0
  29. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/static/images/instagram.png +0 -0
  30. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/static/images/linkedin.png +0 -0
  31. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/static/images/pexels-divinetechygirl-1181341.jpg +0 -0
  32. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/static/images/pexels-divinetechygirl-1181472.jpg +0 -0
  33. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/static/images/pexels-fotios-photos-16129703.jpg +0 -0
  34. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/static/images/pexels-tiger-lily-7108466.jpg +0 -0
  35. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/static/images/whatsapp-navbar.png +0 -0
  36. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/static/images/worldmap.jpeg +0 -0
  37. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/static/js/counter.js +0 -0
  38. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/static/js/index.js +0 -0
  39. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/static/js/login.js +0 -0
  40. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/static/js/main.js +0 -0
  41. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/static/js/register.js +0 -0
  42. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/static/js/services.js +0 -0
  43. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/static/js/typing.js +0 -0
  44. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/static/robots.txt +0 -0
  45. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/static/sitemap.xml +0 -0
  46. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/templates/about.html +0 -0
  47. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/templates/assessment.html +0 -0
  48. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/templates/base.html +0 -0
  49. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/templates/contact-form.html +0 -0
  50. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/templates/forgot-password.html +0 -0
  51. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/templates/login.html +0 -0
  52. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/templates/private-videos.html +0 -0
  53. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/templates/register.html +0 -0
  54. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/templates/reset-password.html +0 -0
  55. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/templates/services.html +0 -0
  56. {my-cloud-devops-consulting-1.1.202507120112 → my-cloud-devops-consulting-1.1.202507120158}/test/test.py +0 -0
@@ -0,0 +1,21 @@
1
+ Metadata-Version: 2.1
2
+ Name: my-cloud-devops-consulting
3
+ Version: 1.1.202507120158
4
+ Summary: This is my consulting website for Cloud & DevOps services.
5
+ Home-page: https://github.com/Betrand1999/project-root
6
+ Author: Betrand Mutagha
7
+ Author-email: mmutagha@gmail.com
8
+ License: UNKNOWN
9
+ Platform: UNKNOWN
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.10
12
+ Classifier: License :: OSI Approved :: MIT License
13
+ Classifier: Operating System :: OS Independent
14
+ Requires-Python: >=3.6
15
+ Description-Content-Type: text/markdown
16
+
17
+ version https://git-lfs.github.com/spec/v1
18
+ oid sha256:394e615b3896176f1cf9c740125d5ded5ed4f97df135f1276942e915f84bdbc9
19
+ size 2771
20
+
21
+
@@ -0,0 +1,3 @@
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:394e615b3896176f1cf9c740125d5ded5ed4f97df135f1276942e915f84bdbc9
3
+ size 2771
@@ -0,0 +1,21 @@
1
+ Metadata-Version: 2.1
2
+ Name: my-cloud-devops-consulting
3
+ Version: 1.1.202507120158
4
+ Summary: This is my consulting website for Cloud & DevOps services.
5
+ Home-page: https://github.com/Betrand1999/project-root
6
+ Author: Betrand Mutagha
7
+ Author-email: mmutagha@gmail.com
8
+ License: UNKNOWN
9
+ Platform: UNKNOWN
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.10
12
+ Classifier: License :: OSI Approved :: MIT License
13
+ Classifier: Operating System :: OS Independent
14
+ Requires-Python: >=3.6
15
+ Description-Content-Type: text/markdown
16
+
17
+ version https://git-lfs.github.com/spec/v1
18
+ oid sha256:394e615b3896176f1cf9c740125d5ded5ed4f97df135f1276942e915f84bdbc9
19
+ size 2771
20
+
21
+
@@ -36,6 +36,7 @@ static/js/main.js
36
36
  static/js/register.js
37
37
  static/js/services.js
38
38
  static/js/typing.js
39
+ static/video/7989443-hd_1920_1080_25fps.mp4
39
40
  templates/about.html
40
41
  templates/assessment.html
41
42
  templates/base.html
@@ -0,0 +1,3 @@
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d240ccc5d3564659b81313628c9a18e189e6e8aa274dcb61c97654695b50ee46
3
+ size 6844432
@@ -1,181 +1,174 @@
1
1
  {% extends "base.html" %} {% block main %}
2
2
 
3
+ <!-- Hero Section -->
4
+ <section
5
+ class="hero-section"
6
+ style="position: relative; text-align: center; padding: 60px 20px"
7
+ >
8
+ <!-- ✨ Floating Shapes -->
9
+ <div class="floating-shape one"></div>
10
+ <div class="floating-shape two"></div>
3
11
 
12
+ <h1 data-aos="fade-up" id="dynamic-headline"></h1>
13
+ <p data-aos="fade-up" data-aos-delay="200">
14
+ We specialize in delivering Cloud and DevOps consulting services tailored to
15
+ your unique business needs.
16
+ </p>
17
+ <a
18
+ href="{{ url_for('services') }}"
19
+ class="btn btn-primary mt-3"
20
+ data-aos="zoom-in"
21
+ data-aos-delay="400"
22
+ >
23
+ Explore Our Services
24
+ </a>
25
+ </section>
4
26
 
5
- <!-- Hero Section -->
6
- <section
7
- class="hero-section"
8
- style="position: relative; text-align: center; padding: 60px 20px"
27
+ <!-- 🔥 Background Video Section -->
28
+ <section
29
+ class="video-hero-section"
30
+ style="
31
+ position: relative;
32
+ height: 100vh;
33
+ overflow: hidden;
34
+ text-align: center;
35
+ "
36
+ >
37
+ <!-- 🌐 Background Video with Poster -->
38
+ <video
39
+ autoplay
40
+ muted
41
+ loop
42
+ playsinline
43
+ aria-hidden="true"
44
+ poster="{{ url_for('static', filename='images/video-poster.jpg') }}"
45
+ style="
46
+ position: absolute;
47
+ top: 0;
48
+ left: 0;
49
+ width: 100%;
50
+ height: 100%;
51
+ object-fit: cover;
52
+ z-index: -2;
53
+ "
9
54
  >
10
- <!-- ✨ Floating Shapes -->
11
- <div class="floating-shape one"></div>
12
- <div class="floating-shape two"></div>
55
+ <source
56
+ src="{{ url_for('static', filename='videos/7989443-hd_1920_1080_25fps.mp4') }}"
57
+ type="video/mp4"
58
+ />
59
+ Your browser does not support the video tag.
60
+ </video>
13
61
 
14
- <h1 data-aos="fade-up" id="dynamic-headline"></h1>
62
+ <!-- 💡 Optional Dark Overlay -->
63
+ <div
64
+ style="
65
+ position: absolute;
66
+ top: 0;
67
+ left: 0;
68
+ width: 100%;
69
+ height: 100%;
70
+ background: rgba(0, 0, 0, 0.5);
71
+ z-index: -1;
72
+ "
73
+ ></div>
74
+
75
+ <!-- ✨ Content Over Video -->
76
+ <div
77
+ style="position: relative; z-index: 1; padding: 120px 20px; color: white"
78
+ >
79
+ <h1 data-aos="fade-up">Innovation That Scales Globally</h1>
15
80
  <p data-aos="fade-up" data-aos-delay="200">
16
- We specialize in delivering Cloud and DevOps consulting services tailored
17
- to your unique business needs.
81
+ Automation. Performance. Security. Delivered from the cloud to the edge.
18
82
  </p>
19
83
  <a
20
- href="{{ url_for('services') }}"
84
+ href="{{ url_for('contact_form') }}"
21
85
  class="btn btn-primary mt-3"
22
86
  data-aos="zoom-in"
23
87
  data-aos-delay="400"
24
88
  >
25
- Explore Our Services
89
+ Request a Consultation
26
90
  </a>
27
- </section>
91
+ </div>
92
+ </section>
28
93
 
29
- <!-- 🔥 Background Video Section -->
30
- <section
31
- class="video-hero-section"
94
+ <!-- 🔥 Background Video Section -->
95
+
96
+ <!-- add demo -->
97
+ <section style="background: #f8f9fa; padding: 60px 20px; text-align: center">
98
+ <h2
32
99
  style="
33
- position: relative;
34
- height: 100vh;
35
- overflow: hidden;
36
- text-align: center;
100
+ color: #1b1b1b;
101
+ font-size: 28px;
102
+ font-weight: 600;
103
+ margin-bottom: 10px;
37
104
  "
38
105
  >
39
- <!-- 🌐 Background Video with Poster -->
40
- <video
41
- autoplay
42
- muted
43
- loop
44
- playsinline
45
- aria-hidden="true"
46
- poster="{{ url_for('static', filename='images/video-poster.jpg') }}"
47
- style="
48
- position: absolute;
49
- top: 0;
50
- left: 0;
51
- width: 100%;
52
- height: 100%;
53
- object-fit: cover;
54
- z-index: -2;
55
- "
56
- >
57
- <source
58
- src="{{ url_for('static', filename='videos/6804123-uhd_4096_2160_25fps.mp4') }}"
59
- type="video/mp4"
60
- />
61
- Your browser does not support the video tag.
62
- </video>
63
-
64
- <!-- 💡 Optional Dark Overlay -->
65
- <div
66
- style="
67
- position: absolute;
68
- top: 0;
69
- left: 0;
70
- width: 100%;
71
- height: 100%;
72
- background: rgba(0, 0, 0, 0.5);
73
- z-index: -1;
74
- "
75
- ></div>
76
-
77
- <!-- ✨ Content Over Video -->
78
- <div
79
- style="position: relative; z-index: 1; padding: 120px 20px; color: white"
80
- >
81
- <h1 data-aos="fade-up">Innovation That Scales Globally</h1>
82
- <p data-aos="fade-up" data-aos-delay="200">
83
- Automation. Performance. Security. Delivered from the cloud to the edge.
84
- </p>
85
- <a
86
- href="{{ url_for('contact_form') }}"
87
- class="btn btn-primary mt-3"
88
- data-aos="zoom-in"
89
- data-aos-delay="400"
90
- >
91
- Request a Consultation
92
- </a>
93
- </div>
94
- </section>
95
-
96
- <!-- 🔥 Background Video Section -->
97
-
98
- <!-- add demo -->
99
- <section style="background: #f8f9fa; padding: 60px 20px; text-align: center">
100
- <h2
101
- style="
102
- color: #1b1b1b;
103
- font-size: 28px;
104
- font-weight: 600;
105
- margin-bottom: 10px;
106
- "
107
- >
108
- Drive More Sales and Deliver an Effortless Experience
109
- </h2>
110
- <h1
111
- style="
112
- color: #005f73;
113
- font-size: 36px;
114
- font-weight: 700;
115
- margin-bottom: 20px;
116
- "
117
- >
118
- Live Chat Customer Service Software
119
- </h1>
120
- <p
121
- style="
122
- color: #333;
123
- font-size: 18px;
124
- max-width: 700px;
125
- margin: 0 auto 30px;
126
- "
127
- >
128
- CDC’s highly effective solution for cross-channel interactive customer
129
- interactions.
130
- </p>
131
- <a
132
- href="/contact-form"
133
- style="
134
- display: inline-block;
135
- background-color: #005f73;
136
- color: white;
137
- padding: 15px 30px;
138
- border-radius: 30px;
139
- font-weight: 600;
140
- text-decoration: none;
141
- "
142
- >
143
- Request A Demo
144
- </a>
145
- </section>
106
+ Drive More Sales and Deliver an Effortless Experience
107
+ </h2>
108
+ <h1
109
+ style="
110
+ color: #005f73;
111
+ font-size: 36px;
112
+ font-weight: 700;
113
+ margin-bottom: 20px;
114
+ "
115
+ >
116
+ Live Chat Customer Service Software
117
+ </h1>
118
+ <p
119
+ style="color: #333; font-size: 18px; max-width: 700px; margin: 0 auto 30px"
120
+ >
121
+ CDC’s highly effective solution for cross-channel interactive customer
122
+ interactions.
123
+ </p>
124
+ <a
125
+ href="/contact-form"
126
+ style="
127
+ display: inline-block;
128
+ background-color: #005f73;
129
+ color: white;
130
+ padding: 15px 30px;
131
+ border-radius: 30px;
132
+ font-weight: 600;
133
+ text-decoration: none;
134
+ "
135
+ >
136
+ Request A Demo
137
+ </a>
138
+ </section>
146
139
 
147
- <!-- Moving Image Section 1 -->
148
- <!-- Horizontal Moving Images -->
149
- <section class="moving-images-row">
150
- <div class="moving-image-box">
151
- <img
152
- src="{{ url_for('static', filename='images/pexels-tiger-lily-7108466.jpg') }}"
153
- alt="Tiger Lily"
154
- class="moving-image"
155
- />
156
- </div>
157
- <div class="moving-image-box">
158
- <img
159
- src="{{ url_for('static', filename='images/pexels-divinetechygirl-1181341.jpg') }}"
160
- alt="Techy Girl"
161
- class="moving-image"
162
- />
163
- </div>
164
- <div class="moving-image-box">
165
- <img
166
- src="{{ url_for('static', filename='images/pexels-divinetechygirl-1181472.jpg') }}"
167
- alt="Techy Girl"
168
- class="moving-image"
169
- />
170
- </div>
171
- <div class="moving-image-box">
172
- <img
173
- src="{{ url_for('static', filename='images/pexels-fotios-photos-16129703.jpg') }}"
174
- alt="Techy Girl"
175
- class="moving-image"
176
- />
177
- </div>
178
- </section>
140
+ <!-- Moving Image Section 1 -->
141
+ <!-- Horizontal Moving Images -->
142
+ <section class="moving-images-row">
143
+ <div class="moving-image-box">
144
+ <img
145
+ src="{{ url_for('static', filename='images/pexels-tiger-lily-7108466.jpg') }}"
146
+ alt="Tiger Lily"
147
+ class="moving-image"
148
+ />
149
+ </div>
150
+ <div class="moving-image-box">
151
+ <img
152
+ src="{{ url_for('static', filename='images/pexels-divinetechygirl-1181341.jpg') }}"
153
+ alt="Techy Girl"
154
+ class="moving-image"
155
+ />
156
+ </div>
157
+ <div class="moving-image-box">
158
+ <img
159
+ src="{{ url_for('static', filename='images/pexels-divinetechygirl-1181472.jpg') }}"
160
+ alt="Techy Girl"
161
+ class="moving-image"
162
+ />
163
+ </div>
164
+ <div class="moving-image-box">
165
+ <img
166
+ src="{{ url_for('static', filename='images/pexels-fotios-photos-16129703.jpg') }}"
167
+ alt="Techy Girl"
168
+ class="moving-image"
169
+ />
170
+ </div>
171
+ </section>
179
172
 
180
173
  =======
181
174
 
@@ -312,7 +305,6 @@
312
305
  environments.
313
306
  </p>
314
307
  <a href="{{ url_for('services') }}" class="btn-link">Learn More</a>
315
-
316
308
  </div>
317
309
  </div>
318
310
  </section>
@@ -382,12 +374,10 @@
382
374
  <div class="testimonial">
383
375
  <p>Their DevOps support transformed our infrastructure!</p>
384
376
  <span>– <strong>DevOps Solutions</strong></span>
385
-
386
377
  </div>
387
378
  </div>
388
379
  </section>
389
380
 
390
-
391
381
  <!-- me added -->
392
382
  <!-- Impact Stats Section -->
393
383
  <section
@@ -457,7 +447,6 @@
457
447
  </div>
458
448
  </section>
459
449
 
460
-
461
450
  <!-- Quick Links Section -->
462
451
  <section class="quick-links">
463
452
  <h3>Quick Links for more</h3>
@@ -494,7 +483,6 @@
494
483
  />
495
484
  </section>
496
485
 
497
-
498
486
  <!-- Subscription Section -->
499
487
  <section
500
488
  style="
@@ -1,108 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: my-cloud-devops-consulting
3
- Version: 1.1.202507120112
4
- Summary: This is my consulting website for Cloud & DevOps services.
5
- Home-page: https://github.com/Betrand1999/project-root
6
- Author: Betrand Mutagha
7
- Author-email: mmutagha@gmail.com
8
- License: UNKNOWN
9
- Platform: UNKNOWN
10
- Classifier: Programming Language :: Python :: 3
11
- Classifier: Programming Language :: Python :: 3.10
12
- Classifier: License :: OSI Approved :: MIT License
13
- Classifier: Operating System :: OS Independent
14
- Requires-Python: >=3.6
15
- Description-Content-Type: text/markdown
16
-
17
- # Project‑Root
18
-
19
- A full‑stack web application with an **API‑driven Python backend**, a **static/templated frontend**, and complete **container/Kubernetes** deployment workflows.
20
- Security gates (Gitleaks) and CI/CD are handled through GitHub Actions.
21
-
22
- ---
23
- ##
24
- crontab -e
25
- #####
26
-
27
-
28
-
29
- ## Table of Contents
30
- 1. [Architecture](#architecture)
31
- 2. [Directory Layout](#directory-layout)
32
- 3. [Local Development](#local-development)
33
- 4. [Docker Usage](#docker-usage)
34
- 5. [Kubernetes Deployment](#kubernetes-deployment)
35
- 6. [CI/CD & Secret Scanning](#cicd--secret-scanning)
36
- 7. [Environment Variables](#environment-variables)
37
- 8. [Contributing](#contributing)
38
- 9. [License](#license)
39
-
40
- ---
41
-
42
- ## Architecture
43
- ```text
44
- ┌─────────────┐ HTTP ┌──────────────┐
45
- │ Browser │ ───────────▶ │ Flask API │
46
- │ (frontend) │ │ (backend) │
47
- └─────────────┘ └──────────────┘
48
- ▲ │
49
- │ Static assets / Jinja │
50
- └───────────────┬──────────────┘
51
-
52
- ┌──────────────┐
53
- │ Database │
54
- └──────────────┘
55
-
56
-
57
- ### 🔧 Tech Stack at a Glance
58
-
59
- | Layer | What We Use | Where It Lives |
60
- |-------|-------------|----------------|
61
- | **Frontend** | HTML • CSS • JavaScript | `static/`, `templates/` |
62
- | **Backend** | Flask (`app.py`) | project root |
63
- | **Container** | Docker (single image) | `Dockerfile` |
64
- | **Orchestration** | Kubernetes manifests | `kubernetes/` |
65
- | **Automation / CI · CD** | GitHub Actions | `.github/workflows/` |
66
-
67
-
68
- # 1. Clone & install deps
69
- git clone https://github.com/your-org/project-root.git
70
- cd project-root
71
- python -m venv .venv && source .venv/bin/activate
72
- pip install -r requirements.txt
73
-
74
- # 2. Set env vars (see .env.example)
75
- export FLASK_ENV=development
76
- export SECRET_KEY=changeme
77
- # …
78
-
79
- # 3. Run the server
80
- python app.py
81
- # → http://localhost:5000
82
-
83
-
84
-
85
- /etc/nginx/nginx.conf
86
- #
87
-
88
- #
89
-
90
- ####################################################
91
- pending pod disk space
92
- # See what images are present
93
- clear
94
- ctr -n k8s.io images list
95
-
96
- # Remove unused containerd images (be cautious)
97
- ctr -n k8s.io images prune
98
-
99
- # Or for Docker users (if running Docker instead):
100
- docker system prune -a
101
- ################################################
102
-
103
-
104
- site:1beto.com ### it confirms that 1beto.com is not yet indexed by Google
105
-
106
-
107
- # moving image is in the base.html start with moving
108
-
@@ -1,91 +0,0 @@
1
- # Project‑Root
2
-
3
- A full‑stack web application with an **API‑driven Python backend**, a **static/templated frontend**, and complete **container/Kubernetes** deployment workflows.
4
- Security gates (Gitleaks) and CI/CD are handled through GitHub Actions.
5
-
6
- ---
7
- ##
8
- crontab -e
9
- #####
10
-
11
-
12
-
13
- ## Table of Contents
14
- 1. [Architecture](#architecture)
15
- 2. [Directory Layout](#directory-layout)
16
- 3. [Local Development](#local-development)
17
- 4. [Docker Usage](#docker-usage)
18
- 5. [Kubernetes Deployment](#kubernetes-deployment)
19
- 6. [CI/CD & Secret Scanning](#cicd--secret-scanning)
20
- 7. [Environment Variables](#environment-variables)
21
- 8. [Contributing](#contributing)
22
- 9. [License](#license)
23
-
24
- ---
25
-
26
- ## Architecture
27
- ```text
28
- ┌─────────────┐ HTTP ┌──────────────┐
29
- │ Browser │ ───────────▶ │ Flask API │
30
- │ (frontend) │ │ (backend) │
31
- └─────────────┘ └──────────────┘
32
- ▲ │
33
- │ Static assets / Jinja │
34
- └───────────────┬──────────────┘
35
-
36
- ┌──────────────┐
37
- │ Database │
38
- └──────────────┘
39
-
40
-
41
- ### 🔧 Tech Stack at a Glance
42
-
43
- | Layer | What We Use | Where It Lives |
44
- |-------|-------------|----------------|
45
- | **Frontend** | HTML • CSS • JavaScript | `static/`, `templates/` |
46
- | **Backend** | Flask (`app.py`) | project root |
47
- | **Container** | Docker (single image) | `Dockerfile` |
48
- | **Orchestration** | Kubernetes manifests | `kubernetes/` |
49
- | **Automation / CI · CD** | GitHub Actions | `.github/workflows/` |
50
-
51
-
52
- # 1. Clone & install deps
53
- git clone https://github.com/your-org/project-root.git
54
- cd project-root
55
- python -m venv .venv && source .venv/bin/activate
56
- pip install -r requirements.txt
57
-
58
- # 2. Set env vars (see .env.example)
59
- export FLASK_ENV=development
60
- export SECRET_KEY=changeme
61
- # …
62
-
63
- # 3. Run the server
64
- python app.py
65
- # → http://localhost:5000
66
-
67
-
68
-
69
- /etc/nginx/nginx.conf
70
- #
71
-
72
- #
73
-
74
- ####################################################
75
- pending pod disk space
76
- # See what images are present
77
- clear
78
- ctr -n k8s.io images list
79
-
80
- # Remove unused containerd images (be cautious)
81
- ctr -n k8s.io images prune
82
-
83
- # Or for Docker users (if running Docker instead):
84
- docker system prune -a
85
- ################################################
86
-
87
-
88
- site:1beto.com ### it confirms that 1beto.com is not yet indexed by Google
89
-
90
-
91
- # moving image is in the base.html start with moving
@@ -1,108 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: my-cloud-devops-consulting
3
- Version: 1.1.202507120112
4
- Summary: This is my consulting website for Cloud & DevOps services.
5
- Home-page: https://github.com/Betrand1999/project-root
6
- Author: Betrand Mutagha
7
- Author-email: mmutagha@gmail.com
8
- License: UNKNOWN
9
- Platform: UNKNOWN
10
- Classifier: Programming Language :: Python :: 3
11
- Classifier: Programming Language :: Python :: 3.10
12
- Classifier: License :: OSI Approved :: MIT License
13
- Classifier: Operating System :: OS Independent
14
- Requires-Python: >=3.6
15
- Description-Content-Type: text/markdown
16
-
17
- # Project‑Root
18
-
19
- A full‑stack web application with an **API‑driven Python backend**, a **static/templated frontend**, and complete **container/Kubernetes** deployment workflows.
20
- Security gates (Gitleaks) and CI/CD are handled through GitHub Actions.
21
-
22
- ---
23
- ##
24
- crontab -e
25
- #####
26
-
27
-
28
-
29
- ## Table of Contents
30
- 1. [Architecture](#architecture)
31
- 2. [Directory Layout](#directory-layout)
32
- 3. [Local Development](#local-development)
33
- 4. [Docker Usage](#docker-usage)
34
- 5. [Kubernetes Deployment](#kubernetes-deployment)
35
- 6. [CI/CD & Secret Scanning](#cicd--secret-scanning)
36
- 7. [Environment Variables](#environment-variables)
37
- 8. [Contributing](#contributing)
38
- 9. [License](#license)
39
-
40
- ---
41
-
42
- ## Architecture
43
- ```text
44
- ┌─────────────┐ HTTP ┌──────────────┐
45
- │ Browser │ ───────────▶ │ Flask API │
46
- │ (frontend) │ │ (backend) │
47
- └─────────────┘ └──────────────┘
48
- ▲ │
49
- │ Static assets / Jinja │
50
- └───────────────┬──────────────┘
51
-
52
- ┌──────────────┐
53
- │ Database │
54
- └──────────────┘
55
-
56
-
57
- ### 🔧 Tech Stack at a Glance
58
-
59
- | Layer | What We Use | Where It Lives |
60
- |-------|-------------|----------------|
61
- | **Frontend** | HTML • CSS • JavaScript | `static/`, `templates/` |
62
- | **Backend** | Flask (`app.py`) | project root |
63
- | **Container** | Docker (single image) | `Dockerfile` |
64
- | **Orchestration** | Kubernetes manifests | `kubernetes/` |
65
- | **Automation / CI · CD** | GitHub Actions | `.github/workflows/` |
66
-
67
-
68
- # 1. Clone & install deps
69
- git clone https://github.com/your-org/project-root.git
70
- cd project-root
71
- python -m venv .venv && source .venv/bin/activate
72
- pip install -r requirements.txt
73
-
74
- # 2. Set env vars (see .env.example)
75
- export FLASK_ENV=development
76
- export SECRET_KEY=changeme
77
- # …
78
-
79
- # 3. Run the server
80
- python app.py
81
- # → http://localhost:5000
82
-
83
-
84
-
85
- /etc/nginx/nginx.conf
86
- #
87
-
88
- #
89
-
90
- ####################################################
91
- pending pod disk space
92
- # See what images are present
93
- clear
94
- ctr -n k8s.io images list
95
-
96
- # Remove unused containerd images (be cautious)
97
- ctr -n k8s.io images prune
98
-
99
- # Or for Docker users (if running Docker instead):
100
- docker system prune -a
101
- ################################################
102
-
103
-
104
- site:1beto.com ### it confirms that 1beto.com is not yet indexed by Google
105
-
106
-
107
- # moving image is in the base.html start with moving
108
-