1
+ import React from 'react' ;
2
+ import { ArrowPathIcon , CloudArrowUpIcon , LockClosedIcon } from '@heroicons/react/20/solid' ;
3
+
4
+ const features = [
5
+ {
6
+ name : 'Multicloud Deployment' ,
7
+ description :
8
+ 'Seamlessly deploy and manage infrastructure across AWS, Google Cloud, and Azure, all from a single platform.' ,
9
+ href : '#' ,
10
+ icon : CloudArrowUpIcon ,
11
+ } ,
12
+ {
13
+ name : 'Observability' ,
14
+ description :
15
+ 'Built-in monitoring and visibility with integrated tools like Prometheus, Grafana, and FluentBit, ensuring real-time insights and log management.' ,
16
+ href : '#' ,
17
+ icon : LockClosedIcon ,
18
+ } ,
19
+ {
20
+ name : 'In-Built Tracing Support' ,
21
+ description :
22
+ 'Native support for distributed tracing, enabling detailed tracking and optimization of application performance across microservices.' ,
23
+ href : '#' ,
24
+ icon : ArrowPathIcon ,
25
+ } ,
26
+ {
27
+ name : 'Container Image Management' ,
28
+ description :
29
+ 'Automatically sets up container registries, handles permissions, and manages credentials for deploying images within your cluster.' ,
30
+ href : '#' ,
31
+ icon : CloudArrowUpIcon ,
32
+ } ,
33
+ {
34
+ name : 'Service Configurations' ,
35
+ description :
36
+ 'Manages service settings by handling YAML configurations automatically and requiring only essential input from you.' ,
37
+ href : '#' ,
38
+ icon : LockClosedIcon ,
39
+ } ,
40
+ {
41
+ name : 'Secure Datastore Connections' ,
42
+ description :
43
+ 'Simplifies database setup, including creating datastores, managing firewalls, and securely attaching credentials to service pods.' ,
44
+ href : '#' ,
45
+ icon : ArrowPathIcon ,
46
+ } ,
47
+ // {
48
+ // name: 'Ingress Management',
49
+ // description:
50
+ // 'Automatically configures host attachments and manages TLS certificates to securely expose your services to the internet.',
51
+ // href: '#',
52
+ // icon: CloudArrowUpIcon,
53
+ // },
54
+ // {
55
+ // name: 'Permission Management',
56
+ // description:
57
+ // 'Streamlines user permission setup by allowing you to assign RBAC using email addresses, simplifying access control.',
58
+ // href: '#',
59
+ // icon: LockClosedIcon,
60
+ // },
61
+ ] ;
62
+
63
+ export default function FeatureGrid ( { title, heading, subheading, ...props } ) {
64
+ return (
65
+ < div className = "bg-gray-50 py-24 mt-8 sm:py-32" >
66
+ < div className = "mx-auto max-w-7xl px-6 lg:px-8" >
67
+ < div className = "mx-auto max-w-2xl lg:text-center" >
68
+ < h2 className = "text-base font-semibold leading-7 text-primary-600" > { title } </ h2 >
69
+ < p className = "mt-2 text-3xl font-bold tracking-tight text-gray-900 sm:text-4xl" >
70
+ { heading }
71
+ </ p >
72
+ < p className = "mt-6 text-lg leading-8 text-gray-600" >
73
+ { subheading }
74
+ </ p >
75
+ </ div >
76
+ < div className = "mx-auto mt-16 max-w-2xl sm:mt-20 lg:mt-24 lg:max-w-none" >
77
+ < dl className = "grid max-w-xl grid-cols-1 gap-x-8 gap-y-16 lg:max-w-none lg:grid-cols-3" >
78
+ { features . map ( ( feature ) => (
79
+ < div key = { feature . name } className = "flex flex-col" >
80
+ < dt className = "flex items-center gap-x-3 text-base font-semibold leading-7 text-gray-900" >
81
+ < feature . icon aria-hidden = "true" className = "h-5 w-5 flex-none text-primary-600" />
82
+ { feature . name }
83
+ </ dt >
84
+ < dd className = "mt-4 flex flex-auto flex-col text-base leading-7 text-gray-600" >
85
+ < p className = "flex-auto" > { feature . description } </ p >
86
+ < p className = "mt-6" >
87
+ { /* <a
88
+ href={feature.href}
89
+ className="text-sm font-semibold leading-6 text-indigo-600"
90
+ >
91
+ Learn more <span aria-hidden="true">→</span>
92
+ </a> */ }
93
+ </ p >
94
+ </ dd >
95
+ </ div >
96
+ ) ) }
97
+ </ dl >
98
+ </ div >
99
+ </ div >
100
+ </ div >
101
+ ) ;
102
+ }
0 commit comments