console/deployment/utils/local-endpoint.ts
Kamil Kisiela dc3bc1ec87 Hello
2022-05-18 09:26:57 +02:00

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`;
});
}