74 lines
4.0 KiB
TypeScript
74 lines
4.0 KiB
TypeScript
export default function ReplicationControllers() {
|
|
const replicationControllers = [
|
|
{
|
|
name: 'legacy-app',
|
|
namespace: 'default',
|
|
desired: 2,
|
|
current: 2,
|
|
ready: 2,
|
|
age: '5d',
|
|
image: 'legacy-app:v1.0',
|
|
labels: 'app=legacy'
|
|
},
|
|
]
|
|
|
|
return (
|
|
<div className="space-y-6">
|
|
<div>
|
|
<h1 className="text-2xl font-semibold">Replication Controllers</h1>
|
|
<p className="text-sm text-gray-600">Manage legacy replication controllers (deprecated in favor of Deployments).</p>
|
|
</div>
|
|
|
|
<div className="bg-white border border-gray-200 rounded-lg shadow-sm">
|
|
<div className="px-6 py-4 border-b border-gray-200">
|
|
<div className="flex items-center justify-between">
|
|
<h2 className="text-lg font-medium">Replication Controller List</h2>
|
|
<button className="px-4 py-2 bg-blue-600 text-white rounded-md hover:bg-blue-700 text-sm">
|
|
Create Replication Controller
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div className="overflow-x-auto">
|
|
<table className="min-w-full">
|
|
<thead className="bg-gray-50 border-b border-gray-200">
|
|
<tr>
|
|
<th className="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Name</th>
|
|
<th className="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Namespace</th>
|
|
<th className="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Desired</th>
|
|
<th className="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Current</th>
|
|
<th className="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Ready</th>
|
|
<th className="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Age</th>
|
|
<th className="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Image</th>
|
|
<th className="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Labels</th>
|
|
<th className="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Actions</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody className="bg-white divide-y divide-gray-200">
|
|
{replicationControllers.map((rc) => (
|
|
<tr key={rc.name} className="hover:bg-gray-50">
|
|
<td className="px-6 py-4 whitespace-nowrap">
|
|
<div className="text-sm font-medium text-gray-900">{rc.name}</div>
|
|
</td>
|
|
<td className="px-6 py-4 whitespace-nowrap text-sm text-gray-500">{rc.namespace}</td>
|
|
<td className="px-6 py-4 whitespace-nowrap text-sm text-gray-500">{rc.desired}</td>
|
|
<td className="px-6 py-4 whitespace-nowrap text-sm text-gray-500">{rc.current}</td>
|
|
<td className="px-6 py-4 whitespace-nowrap text-sm text-gray-500">{rc.ready}</td>
|
|
<td className="px-6 py-4 whitespace-nowrap text-sm text-gray-500">{rc.age}</td>
|
|
<td className="px-6 py-4 whitespace-nowrap text-sm text-gray-500">{rc.image}</td>
|
|
<td className="px-6 py-4 whitespace-nowrap text-sm text-gray-500">{rc.labels}</td>
|
|
<td className="px-6 py-4 whitespace-nowrap text-sm font-medium">
|
|
<button className="text-blue-600 hover:text-blue-900 mr-3">View</button>
|
|
<button className="text-green-600 hover:text-green-900 mr-3">Scale</button>
|
|
<button className="text-orange-600 hover:text-orange-900 mr-3">Migrate to Deployment</button>
|
|
<button className="text-red-600 hover:text-red-900">Delete</button>
|
|
</td>
|
|
</tr>
|
|
))}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
)
|
|
}
|