@atomist/sdm
Version:
Atomist Software Delivery Machine SDK
36 lines • 1.73 kB
TypeScript
import { KubernetesApplication } from "../kubernetes/request";
export declare type ExternalUrls = Array<{
label?: string;
url: string;
}>;
/**
* Return proper SDM goal externalUrls structure or `undefined` if
* there is no externally accessible endpoint.
*/
export declare function appExternalUrls(ka: KubernetesApplication): ExternalUrls | undefined;
/**
* Create the URL for a deployment using the protocol, host, and path
* from the [[KubernetesApplication]] object. If `ka.path` is not
* truthy, no ingress was created so return `undefined`. If the path
* does not begin and end with a forward slash, /, add them. If the
* ingress spec has a TLS secret the scheme is set to "https",
* otherwise it is set to "http". If there is not enough information
* in the ingress spec to create an endpoint, `undefined` is returned.
*
* @param ka Kubernetes application
* @return endpoint URL for deployment service
*/
export declare function endpointBaseUrl(ka: Pick<KubernetesApplication, "path" | "ingressSpec">): string | undefined;
/**
* Determine host and scheme for endpoint. The host will be the
* `host` property of the first element of `ka.ingressSpec.spec.rules`
* that defines a host. The scheme will be "https" if the host
* appears in the list of hostnames for any ingress TLS secret,
* otherwise "http". If there is no ingress spec or no ingress spec
* rules contain a host, return `undefined`.
*
* @param ka Kubernetes application information
* @return "scheme://hostname" as determined from the ingress spec, or `undefined`
*/
export declare function kubeClusterHostScheme(ka: Pick<KubernetesApplication, "ingressSpec">): string | undefined;
//# sourceMappingURL=externalUrls.d.ts.map