mirror of
https://github.com/graphql-hive/console
synced 2026-04-21 14:37:17 +00:00
33 lines
1 KiB
TypeScript
33 lines
1 KiB
TypeScript
import * as k8s from '@pulumi/kubernetes';
|
|
import * as pulumi from '@pulumi/pulumi';
|
|
|
|
export function serviceLocalEndpoint(service: k8s.types.input.core.v1.Service) {
|
|
return pulumi
|
|
.all([service.metadata, service.spec])
|
|
.apply(([metadata, spec]) => {
|
|
const defaultPort = (spec.ports || [])[0];
|
|
const portText = defaultPort ? `:${defaultPort.port}` : '';
|
|
|
|
return `http://${metadata.name}.${
|
|
metadata.namespace || 'default'
|
|
}.svc.cluster.local${portText}`;
|
|
});
|
|
}
|
|
|
|
export function serviceLocalHost(service: k8s.types.input.core.v1.Service) {
|
|
return pulumi.all([service.metadata]).apply(([metadata]) => {
|
|
return `${metadata.name}.${
|
|
metadata.namespace || 'default'
|
|
}.svc.cluster.local`;
|
|
});
|
|
}
|
|
|
|
export function serviceLocalMetricsEndpoint(
|
|
service: k8s.types.input.core.v1.Service
|
|
) {
|
|
return pulumi.all([service.metadata]).apply(([metadata]) => {
|
|
return `${metadata.name}.${
|
|
metadata.namespace || 'default'
|
|
}.svc.cluster.local:10254/metrics`;
|
|
});
|
|
}
|