console/deployment/utils/local-endpoint.ts

26 lines
985 B
TypeScript
Raw Normal View History

2022-05-18 07:26:57 +00:00
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}` : '';
2022-05-18 07:26:57 +00:00
return `http://${metadata?.name}.${
metadata?.namespace || 'default'
}.svc.cluster.local${portText}`;
});
2022-05-18 07:26:57 +00:00
}
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`;
2022-05-18 07:26:57 +00:00
});
}
export function serviceLocalMetricsEndpoint(service: k8s.types.input.core.v1.Service) {
2022-05-18 07:26:57 +00:00
return pulumi.all([service.metadata]).apply(([metadata]) => {
return `${metadata?.name}.${metadata?.namespace || 'default'}.svc.cluster.local:10254/metrics`;
2022-05-18 07:26:57 +00:00
});
}