wesleybiochat commited on
Commit
19b65aa
·
verified ·
1 Parent(s): 1cdc5fc

Add 3 files

Browse files
Files changed (3) hide show
  1. README.md +7 -5
  2. index.html +615 -19
  3. prompts.txt +0 -0
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Custos Sapains
3
- emoji: 👀
4
- colorFrom: gray
5
- colorTo: green
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: custos-sapains
3
+ emoji: 🐳
4
+ colorFrom: green
5
+ colorTo: yellow
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite
10
  ---
11
 
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
index.html CHANGED
@@ -1,19 +1,615 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>AWS Cost Breakdown Dashboard</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
9
+ <style>
10
+ .cost-card:hover {
11
+ transform: translateY(-5px);
12
+ box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
13
+ }
14
+ .progress-bar {
15
+ transition: width 1s ease-in-out;
16
+ }
17
+ .animate-pulse {
18
+ animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
19
+ }
20
+ @keyframes pulse {
21
+ 0%, 100% { opacity: 1; }
22
+ 50% { opacity: 0.5; }
23
+ }
24
+ </style>
25
+ </head>
26
+ <body class="bg-gray-50">
27
+ <div class="container mx-auto px-4 py-8">
28
+ <!-- Header -->
29
+ <header class="mb-10">
30
+ <div class="flex justify-between items-center">
31
+ <div>
32
+ <h1 class="text-3xl font-bold text-gray-800">AWS Infrastructure Cost Analysis</h1>
33
+ <p class="text-gray-600">Detailed monthly breakdown of cloud service expenses</p>
34
+ </div>
35
+ <div class="flex items-center space-x-4">
36
+ <div class="bg-blue-100 p-3 rounded-lg">
37
+ <i class="fas fa-cloud text-blue-500 text-2xl"></i>
38
+ </div>
39
+ </div>
40
+ </div>
41
+ </header>
42
+
43
+ <!-- Summary Cards -->
44
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-6 mb-10">
45
+ <div class="bg-white rounded-xl shadow-md p-6 border-l-4 border-blue-500">
46
+ <div class="flex justify-between items-start">
47
+ <div>
48
+ <p class="text-gray-500 font-medium">Monthly Cost</p>
49
+ <h2 class="text-3xl font-bold text-gray-800 mt-2">$3,865</h2>
50
+ </div>
51
+ <div class="bg-blue-100 p-3 rounded-lg">
52
+ <i class="fas fa-calendar-alt text-blue-500"></i>
53
+ </div>
54
+ </div>
55
+ <div class="mt-4">
56
+ <div class="flex justify-between text-sm text-gray-600">
57
+ <span>Last month</span>
58
+ <span>+2.5%</span>
59
+ </div>
60
+ <div class="w-full bg-gray-200 rounded-full h-2 mt-1">
61
+ <div class="bg-blue-500 h-2 rounded-full" style="width: 65%"></div>
62
+ </div>
63
+ </div>
64
+ </div>
65
+
66
+ <div class="bg-white rounded-xl shadow-md p-6 border-l-4 border-green-500">
67
+ <div class="flex justify-between items-start">
68
+ <div>
69
+ <p class="text-gray-500 font-medium">Annual Cost</p>
70
+ <h2 class="text-3xl font-bold text-gray-800 mt-2">$46,380</h2>
71
+ </div>
72
+ <div class="bg-green-100 p-3 rounded-lg">
73
+ <i class="fas fa-chart-line text-green-500"></i>
74
+ </div>
75
+ </div>
76
+ <div class="mt-4">
77
+ <div class="flex justify-between text-sm text-gray-600">
78
+ <span>Potential savings</span>
79
+ <span>~15%</span>
80
+ </div>
81
+ <div class="w-full bg-gray-200 rounded-full h-2 mt-1">
82
+ <div class="bg-green-500 h-2 rounded-full" style="width: 15%"></div>
83
+ </div>
84
+ </div>
85
+ </div>
86
+
87
+ <div class="bg-white rounded-xl shadow-md p-6 border-l-4 border-purple-500">
88
+ <div class="flex justify-between items-start">
89
+ <div>
90
+ <p class="text-gray-500 font-medium">Top Expense</p>
91
+ <h2 class="text-2xl font-bold text-gray-800 mt-2">LLM Deepseek</h2>
92
+ <p class="text-gray-600 text-sm mt-1">$1,000 (25.9%)</p>
93
+ </div>
94
+ <div class="bg-purple-100 p-3 rounded-lg">
95
+ <i class="fas fa-microchip text-purple-500"></i>
96
+ </div>
97
+ </div>
98
+ <div class="mt-4">
99
+ <div class="flex justify-between text-sm text-gray-600">
100
+ <span>GPU Utilization</span>
101
+ <span>72%</span>
102
+ </div>
103
+ <div class="w-full bg-gray-200 rounded-full h-2 mt-1">
104
+ <div class="bg-purple-500 h-2 rounded-full" style="width: 72%"></div>
105
+ </div>
106
+ </div>
107
+ </div>
108
+ </div>
109
+
110
+ <!-- Cost Breakdown Table -->
111
+ <div class="bg-white rounded-xl shadow-md overflow-hidden mb-10">
112
+ <div class="px-6 py-4 border-b border-gray-200">
113
+ <h2 class="text-xl font-semibold text-gray-800">Detailed Cost Breakdown</h2>
114
+ <p class="text-gray-600 text-sm">All AWS services with monthly costs</p>
115
+ </div>
116
+ <div class="overflow-x-auto">
117
+ <table class="min-w-full divide-y divide-gray-200">
118
+ <thead class="bg-gray-50">
119
+ <tr>
120
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Service Description</th>
121
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Quantity</th>
122
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Unit Cost</th>
123
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Total Cost</th>
124
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Notes</th>
125
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"></th>
126
+ </tr>
127
+ </thead>
128
+ <tbody class="bg-white divide-y divide-gray-200">
129
+ <tr class="hover:bg-gray-50">
130
+ <td class="px-6 py-4 whitespace-nowrap">
131
+ <div class="flex items-center">
132
+ <div class="flex-shrink-0 h-10 w-10 bg-blue-100 rounded-lg flex items-center justify-center">
133
+ <i class="fas fa-server text-blue-500"></i>
134
+ </div>
135
+ <div class="ml-4">
136
+ <div class="text-sm font-medium text-gray-900">EC2 (Backend/Microservices)</div>
137
+ <div class="text-sm text-gray-500">t3.xlarge instances</div>
138
+ </div>
139
+ </div>
140
+ </td>
141
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">4 instances</td>
142
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">$150</td>
143
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">$600</td>
144
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">For APIs, microservices and 10k user load</td>
145
+ <td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium">
146
+ <span class="bg-blue-100 text-blue-800 text-xs font-semibold px-2.5 py-0.5 rounded">Scalable</span>
147
+ </td>
148
+ </tr>
149
+ <tr class="hover:bg-gray-50">
150
+ <td class="px-6 py-4 whitespace-nowrap">
151
+ <div class="flex items-center">
152
+ <div class="flex-shrink-0 h-10 w-10 bg-purple-100 rounded-lg flex items-center justify-center">
153
+ <i class="fas fa-brain text-purple-500"></i>
154
+ </div>
155
+ <div class="ml-4">
156
+ <div class="text-sm font-medium text-gray-900">EC2 with GPU (LLM Deepseek)</div>
157
+ <div class="text-sm text-gray-500">g4dn.xlarge instances</div>
158
+ </div>
159
+ </div>
160
+ </td>
161
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">2 instances</td>
162
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">$500</td>
163
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">$1,000</td>
164
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">For LLM model inference and eventual training</td>
165
+ <td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium">
166
+ <span class="bg-purple-100 text-purple-800 text-xs font-semibold px-2.5 py-0.5 rounded">GPU</span>
167
+ </td>
168
+ </tr>
169
+ <tr class="hover:bg-gray-50">
170
+ <td class="px-6 py-4 whitespace-nowrap">
171
+ <div class="flex items-center">
172
+ <div class="flex-shrink-0 h-10 w-10 bg-green-100 rounded-lg flex items-center justify-center">
173
+ <i class="fas fa-database text-green-500"></i>
174
+ </div>
175
+ <div class="ml-4">
176
+ <div class="text-sm font-medium text-gray-900">Amazon RDS (PostgreSQL)</div>
177
+ <div class="text-sm text-gray-500">db.m5.large instance</div>
178
+ </div>
179
+ </div>
180
+ </td>
181
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">1 instance</td>
182
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">$200</td>
183
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">$200</td>
184
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Structured database for academic history and users</td>
185
+ <td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium">
186
+ <span class="bg-green-100 text-green-800 text-xs font-semibold px-2.5 py-0.5 rounded">SQL</span>
187
+ </td>
188
+ </tr>
189
+ <tr class="hover:bg-gray-50">
190
+ <td class="px-6 py-4 whitespace-nowrap">
191
+ <div class="flex items-center">
192
+ <div class="flex-shrink-0 h-10 w-10 bg-yellow-100 rounded-lg flex items-center justify-center">
193
+ <i class="fas fa-file-alt text-yellow-500"></i>
194
+ </div>
195
+ <div class="ml-4">
196
+ <div class="text-sm font-medium text-gray-900">Amazon DocumentDB (MongoDB)</div>
197
+ <div class="text-sm text-gray-500">db.r5.large instance</div>
198
+ </div>
199
+ </div>
200
+ </td>
201
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">1 instance</td>
202
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">$250</td>
203
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">$250</td>
204
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Unstructured data (feedbacks, logs)</td>
205
+ <td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium">
206
+ <span class="bg-yellow-100 text-yellow-800 text-xs font-semibold px-2.5 py-0.5 rounded">NoSQL</span>
207
+ </td>
208
+ </tr>
209
+ <tr class="hover:bg-gray-50">
210
+ <td class="px-6 py-4 whitespace-nowrap">
211
+ <div class="flex items-center">
212
+ <div class="flex-shrink-0 h-10 w-10 bg-red-100 rounded-lg flex items-center justify-center">
213
+ <i class="fas fa-bolt text-red-500"></i>
214
+ </div>
215
+ <div class="ml-4">
216
+ <div class="text-sm font-medium text-gray-900">Amazon ElastiCache (Redis)</div>
217
+ <div class="text-sm text-gray-500">cache.t3.medium instance</div>
218
+ </div>
219
+ </div>
220
+ </td>
221
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">1 instance</td>
222
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">$70</td>
223
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">$70</td>
224
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Cache for frequent queries</td>
225
+ <td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium">
226
+ <span class="bg-red-100 text-red-800 text-xs font-semibold px-2.5 py-0.5 rounded">Cache</span>
227
+ </td>
228
+ </tr>
229
+ <tr class="hover:bg-gray-50">
230
+ <td class="px-6 py-4 whitespace-nowrap">
231
+ <div class="flex items-center">
232
+ <div class="flex-shrink-0 h-10 w-10 bg-indigo-100 rounded-lg flex items-center justify-center">
233
+ <i class="fas fa-code text-indigo-500"></i>
234
+ </div>
235
+ <div class="ml-4">
236
+ <div class="text-sm font-medium text-gray-900">AWS Lambda</div>
237
+ <div class="text-sm text-gray-500">Serverless functions</div>
238
+ </div>
239
+ </div>
240
+ </td>
241
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">1M requests</td>
242
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">$0.20/1M</td>
243
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">$20</td>
244
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Async processing and serverless functions</td>
245
+ <td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium">
246
+ <span class="bg-indigo-100 text-indigo-800 text-xs font-semibold px-2.5 py-0.5 rounded">Serverless</span>
247
+ </td>
248
+ </tr>
249
+ <tr class="hover:bg-gray-50">
250
+ <td class="px-6 py-4 whitespace-nowrap">
251
+ <div class="flex items-center">
252
+ <div class="flex-shrink-0 h-10 w-10 bg-pink-100 rounded-lg flex items-center justify-center">
253
+ <i class="fas fa-hdd text-pink-500"></i>
254
+ </div>
255
+ <div class="ml-4">
256
+ <div class="text-sm font-medium text-gray-900">Amazon S3 (Storage)</div>
257
+ <div class="text-sm text-gray-500">Object storage</div>
258
+ </div>
259
+ </div>
260
+ </td>
261
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">1 TB</td>
262
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">$0.023/GB</td>
263
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">$23</td>
264
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Documents, backups and static data</td>
265
+ <td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium">
266
+ <span class="bg-pink-100 text-pink-800 text-xs font-semibold px-2.5 py-0.5 rounded">Storage</span>
267
+ </td>
268
+ </tr>
269
+ <tr class="hover:bg-gray-50">
270
+ <td class="px-6 py-4 whitespace-nowrap">
271
+ <div class="flex items-center">
272
+ <div class="flex-shrink-0 h-10 w-10 bg-teal-100 rounded-lg flex items-center justify-center">
273
+ <i class="fas fa-exchange-alt text-teal-500"></i>
274
+ </div>
275
+ <div class="ml-4">
276
+ <div class="text-sm font-medium text-gray-900">Data Transfer (Out)</div>
277
+ <div class="text-sm text-gray-500">Data egress</div>
278
+ </div>
279
+ </div>
280
+ </td>
281
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">500 GB</td>
282
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">$0.09/GB</td>
283
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">$45</td>
284
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Data transfer costs to users</td>
285
+ <td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium">
286
+ <span class="bg-teal-100 text-teal-800 text-xs font-semibold px-2.5 py-0.5 rounded">Network</span>
287
+ </td>
288
+ </tr>
289
+ <tr class="hover:bg-gray-50">
290
+ <td class="px-6 py-4 whitespace-nowrap">
291
+ <div class="flex items-center">
292
+ <div class="flex-shrink-0 h-10 w-10 bg-orange-100 rounded-lg flex items-center justify-center">
293
+ <i class="fas fa-tachometer-alt text-orange-500"></i>
294
+ </div>
295
+ <div class="ml-4">
296
+ <div class="text-sm font-medium text-gray-900">AWS CloudFront (CDN)</div>
297
+ <div class="text-sm text-gray-500">Content delivery</div>
298
+ </div>
299
+ </div>
300
+ </td>
301
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">1 TB transfer</td>
302
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">$0.085/GB</td>
303
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">$85</td>
304
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Static and dynamic content acceleration</td>
305
+ <td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium">
306
+ <span class="bg-orange-100 text-orange-800 text-xs font-semibold px-2.5 py-0.5 rounded">CDN</span>
307
+ </td>
308
+ </tr>
309
+ <tr class="hover:bg-gray-50">
310
+ <td class="px-6 py-4 whitespace-nowrap">
311
+ <div class="flex items-center">
312
+ <div class="flex-shrink-0 h-10 w-10 bg-gray-100 rounded-lg flex items-center justify-center">
313
+ <i class="fas fa-chart-bar text-gray-500"></i>
314
+ </div>
315
+ <div class="ml-4">
316
+ <div class="text-sm font-medium text-gray-900">AWS CloudWatch</div>
317
+ <div class="text-sm text-gray-500">Monitoring</div>
318
+ </div>
319
+ </div>
320
+ </td>
321
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">-</td>
322
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">$50</td>
323
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">$50</td>
324
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Metrics, logs and alerts</td>
325
+ <td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium">
326
+ <span class="bg-gray-100 text-gray-800 text-xs font-semibold px-2.5 py-0.5 rounded">Monitoring</span>
327
+ </td>
328
+ </tr>
329
+ <tr class="hover:bg-gray-50">
330
+ <td class="px-6 py-4 whitespace-nowrap">
331
+ <div class="flex items-center">
332
+ <div class="flex-shrink-0 h-10 w-10 bg-green-100 rounded-lg flex items-center justify-center">
333
+ <i class="fas fa-lock text-green-500"></i>
334
+ </div>
335
+ <div class="ml-4">
336
+ <div class="text-sm font-medium text-gray-900">SSL/TLS Certificates</div>
337
+ <div class="text-sm text-gray-500">Encryption</div>
338
+ </div>
339
+ </div>
340
+ </td>
341
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">1 certificate</td>
342
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">$0</td>
343
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">$0</td>
344
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">In-transit encryption via ACM</td>
345
+ <td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium">
346
+ <span class="bg-green-100 text-green-800 text-xs font-semibold px-2.5 py-0.5 rounded">Security</span>
347
+ </td>
348
+ </tr>
349
+ <tr class="hover:bg-gray-50">
350
+ <td class="px-6 py-4 whitespace-nowrap">
351
+ <div class="flex items-center">
352
+ <div class="flex-shrink-0 h-10 w-10 bg-red-100 rounded-lg flex items-center justify-center">
353
+ <i class="fas fa-shield-alt text-red-500"></i>
354
+ </div>
355
+ <div class="ml-4">
356
+ <div class="text-sm font-medium text-gray-900">WAF</div>
357
+ <div class="text-sm text-gray-500">Web Application Firewall</div>
358
+ </div>
359
+ </div>
360
+ </td>
361
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">-</td>
362
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">$20</td>
363
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">$20</td>
364
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Protection against application layer attacks</td>
365
+ <td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium">
366
+ <span class="bg-red-100 text-red-800 text-xs font-semibold px-2.5 py-0.5 rounded">Firewall</span>
367
+ </td>
368
+ </tr>
369
+ <tr class="hover:bg-gray-50">
370
+ <td class="px-6 py-4 whitespace-nowrap">
371
+ <div class="flex items-center">
372
+ <div class="flex-shrink-0 h-10 w-10 bg-blue-100 rounded-lg flex items-center justify-center">
373
+ <i class="fas fa-archive text-blue-500"></i>
374
+ </div>
375
+ <div class="ml-4">
376
+ <div class="text-sm font-medium text-gray-900">Backup (S3 Glacier)</div>
377
+ <div class="text-sm text-gray-500">Cold storage</div>
378
+ </div>
379
+ </div>
380
+ </td>
381
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">500 GB</td>
382
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">$0.004/GB</td>
383
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">$2</td>
384
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Cold storage for backups</td>
385
+ <td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium">
386
+ <span class="bg-blue-100 text-blue-800 text-xs font-semibold px-2.5 py-0.5 rounded">Backup</span>
387
+ </td>
388
+ </tr>
389
+ <tr class="hover:bg-gray-50 bg-gray-50">
390
+ <td class="px-6 py-4 whitespace-nowrap">
391
+ <div class="flex items-center">
392
+ <div class="flex-shrink-0 h-10 w-10 bg-indigo-100 rounded-lg flex items-center justify-center">
393
+ <i class="fas fa-gavel text-indigo-500"></i>
394
+ </div>
395
+ <div class="ml-4">
396
+ <div class="text-sm font-medium text-gray-900">Compliance (LGPD/WCAG)</div>
397
+ <div class="text-sm text-gray-500">External consulting</div>
398
+ </div>
399
+ </div>
400
+ </td>
401
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Consulting</td>
402
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">$1,500</td>
403
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">$1,500</td>
404
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Audits and legal compliance (outsourced)</td>
405
+ <td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium">
406
+ <span class="bg-indigo-100 text-indigo-800 text-xs font-semibold px-2.5 py-0.5 rounded">Legal</span>
407
+ </td>
408
+ </tr>
409
+ </tbody>
410
+ </table>
411
+ </div>
412
+ <div class="px-6 py-4 bg-gray-50 border-t border-gray-200">
413
+ <div class="flex justify-between items-center">
414
+ <div class="text-sm text-gray-600">
415
+ Showing <span class="font-medium">1</span> to <span class="font-medium">13</span> of <span class="font-medium">13</span> services
416
+ </div>
417
+ <div class="flex space-x-2">
418
+ <button class="px-3 py-1 border border-gray-300 rounded-md text-sm font-medium text-gray-700 bg-white hover:bg-gray-50">
419
+ Previous
420
+ </button>
421
+ <button class="px-3 py-1 border border-gray-300 rounded-md text-sm font-medium text-gray-700 bg-white hover:bg-gray-50">
422
+ Next
423
+ </button>
424
+ </div>
425
+ </div>
426
+ </div>
427
+ </div>
428
+
429
+ <!-- Cost Distribution Chart -->
430
+ <div class="grid grid-cols-1 lg:grid-cols-2 gap-6 mb-10">
431
+ <div class="bg-white rounded-xl shadow-md p-6">
432
+ <div class="flex justify-between items-center mb-6">
433
+ <h2 class="text-xl font-semibold text-gray-800">Cost Distribution</h2>
434
+ <div class="relative">
435
+ <select class="appearance-none bg-gray-100 border border-gray-300 text-gray-700 py-2 px-4 pr-8 rounded-lg leading-tight focus:outline-none focus:bg-white focus:border-gray-500">
436
+ <option>This Month</option>
437
+ <option>Last Month</option>
438
+ <option>Last 3 Months</option>
439
+ </select>
440
+ <div class="pointer-events-none absolute inset-y-0 right-0 flex items-center px-2 text-gray-700">
441
+ <i class="fas fa-chevron-down"></i>
442
+ </div>
443
+ </div>
444
+ </div>
445
+ <div class="h-64">
446
+ <canvas id="costChart" class="w-full h-full"></canvas>
447
+ </div>
448
+ </div>
449
+ <div class="bg-white rounded-xl shadow-md p-6">
450
+ <div class="flex justify-between items-center mb-6">
451
+ <h2 class="text-xl font-semibold text-gray-800">Cost Optimization</h2>
452
+ <span class="bg-green-100 text-green-800 text-xs font-semibold px-2.5 py-0.5 rounded-full">Potential Savings</span>
453
+ </div>
454
+ <div class="space-y-4">
455
+ <div>
456
+ <div class="flex justify-between text-sm font-medium text-gray-700 mb-1">
457
+ <span>Reserved Instances</span>
458
+ <span>~$450/mo</span>
459
+ </div>
460
+ <div class="w-full bg-gray-200 rounded-full h-2">
461
+ <div class="bg-blue-500 h-2 rounded-full" style="width: 45%"></div>
462
+ </div>
463
+ </div>
464
+ <div>
465
+ <div class="flex justify-between text-sm font-medium text-gray-700 mb-1">
466
+ <span>Spot Instances</span>
467
+ <span>~$300/mo</span>
468
+ </div>
469
+ <div class="w-full bg-gray-200 rounded-full h-2">
470
+ <div class="bg-green-500 h-2 rounded-full" style="width: 30%"></div>
471
+ </div>
472
+ </div>
473
+ <div>
474
+ <div class="flex justify-between text-sm font-medium text-gray-700 mb-1">
475
+ <span>Storage Optimization</span>
476
+ <span>~$150/mo</span>
477
+ </div>
478
+ <div class="w-full bg-gray-200 rounded-full h-2">
479
+ <div class="bg-yellow-500 h-2 rounded-full" style="width: 15%"></div>
480
+ </div>
481
+ </div>
482
+ <div>
483
+ <div class="flex justify-between text-sm font-medium text-gray-700 mb-1">
484
+ <span>Data Transfer</span>
485
+ <span>~$100/mo</span>
486
+ </div>
487
+ <div class="w-full bg-gray-200 rounded-full h-2">
488
+ <div class="bg-red-500 h-2 rounded-full" style="width: 10%"></div>
489
+ </div>
490
+ </div>
491
+ </div>
492
+ <div class="mt-6 pt-4 border-t border-gray-200">
493
+ <button class="w-full bg-blue-600 hover:bg-blue-700 text-white font-medium py-2 px-4 rounded-lg transition duration-200">
494
+ <i class="fas fa-lightbulb mr-2"></i> View Optimization Recommendations
495
+ </button>
496
+ </div>
497
+ </div>
498
+ </div>
499
+
500
+ <!-- Additional Notes -->
501
+ <div class="bg-white rounded-xl shadow-md p-6 mb-10">
502
+ <h2 class="text-xl font-semibold text-gray-800 mb-4">Additional Notes</h2>
503
+ <div class="bg-yellow-50 border-l-4 border-yellow-400 p-4 mb-4">
504
+ <div class="flex">
505
+ <div class="flex-shrink-0">
506
+ <i class="fas fa-exclamation-circle text-yellow-400"></i>
507
+ </div>
508
+ <div class="ml-3">
509
+ <p class="text-sm text-yellow-700">
510
+ <span class="font-medium">Variable Costs:</span> The actual monthly costs may vary based on usage patterns, especially for services like EC2, Lambda, data transfer, and S3 storage which are usage-based.
511
+ </p>
512
+ </div>
513
+ </div>
514
+ </div>
515
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-4">
516
+ <div class="bg-blue-50 border-l-4 border-blue-400 p-4">
517
+ <div class="flex">
518
+ <div class="flex-shrink-0">
519
+ <i class="fas fa-info-circle text-blue-400"></i>
520
+ </div>
521
+ <div class="ml-3">
522
+ <p class="text-sm text-blue-700">
523
+ <span class="font-medium">Annual Commitment:</span> Consider committing to 1-year or 3-year Reserved Instances for stable workloads to reduce EC2 costs by up to 75%.
524
+ </p>
525
+ </div>
526
+ </div>
527
+ </div>
528
+ <div class="bg-green-50 border-l-4 border-green-400 p-4">
529
+ <div class="flex">
530
+ <div class="flex-shrink-0">
531
+ <i class="fas fa-check-circle text-green-400"></i>
532
+ </div>
533
+ <div class="ml-3">
534
+ <p class="text-sm text-green-700">
535
+ <span class="font-medium">Cost Monitoring:</span> Enable AWS Cost Explorer and Budgets to monitor spending and set alerts when costs exceed thresholds.
536
+ </p>
537
+ </div>
538
+ </div>
539
+ </div>
540
+ </div>
541
+ </div>
542
+
543
+ <!-- Footer -->
544
+ <footer class="text-center text-gray-500 text-sm">
545
+ <p>Last updated: <span id="currentDate"></span></p>
546
+ <p class="mt-1">AWS Cost Breakdown Dashboard - For internal use only</p>
547
+ </footer>
548
+ </div>
549
+
550
+ <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
551
+ <script>
552
+ // Set current date
553
+ document.getElementById('currentDate').textContent = new Date().toLocaleDateString('en-US', {
554
+ year: 'numeric',
555
+ month: 'long',
556
+ day: 'numeric'
557
+ });
558
+
559
+ // Initialize chart
560
+ const ctx = document.getElementById('costChart').getContext('2d');
561
+ const costChart = new Chart(ctx, {
562
+ type: 'doughnut',
563
+ data: {
564
+ labels: ['Compute (EC2)', 'Database', 'Storage', 'Networking', 'AI/ML', 'Security', 'Other'],
565
+ datasets: [{
566
+ data: [1600, 520, 25, 130, 1000, 20, 570],
567
+ backgroundColor: [
568
+ '#3B82F6',
569
+ '#10B981',
570
+ '#F59E0B',
571
+ '#06B6D4',
572
+ '#8B5CF6',
573
+ '#EF4444',
574
+ '#6B7280'
575
+ ],
576
+ borderWidth: 0
577
+ }]
578
+ },
579
+ options: {
580
+ responsive: true,
581
+ maintainAspectRatio: false,
582
+ plugins: {
583
+ legend: {
584
+ position: 'right',
585
+ },
586
+ tooltip: {
587
+ callbacks: {
588
+ label: function(context) {
589
+ const label = context.label || '';
590
+ const value = context.raw || 0;
591
+ const total = context.dataset.data.reduce((a, b) => a + b, 0);
592
+ const percentage = Math.round((value / total) * 100);
593
+ return `${label}: $${value} (${percentage}%)`;
594
+ }
595
+ }
596
+ }
597
+ },
598
+ cutout: '70%'
599
+ }
600
+ });
601
+
602
+ // Add animation to progress bars
603
+ document.addEventListener('DOMContentLoaded', function() {
604
+ const progressBars = document.querySelectorAll('.progress-bar');
605
+ progressBars.forEach(bar => {
606
+ const width = bar.style.width;
607
+ bar.style.width = '0';
608
+ setTimeout(() => {
609
+ bar.style.width = width;
610
+ }, 100);
611
+ });
612
+ });
613
+ </script>
614
+ <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=wesleybiochat/custos-sapains" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
615
+ </html>
prompts.txt ADDED
File without changes