k8ts
Version:
Powerful framework for building Kubernetes manifests in TypeScript.
30 lines • 1.48 kB
TypeScript
import { Refable, type InputPortMapping } from "@k8ts/instruments";
import { api } from "../../kinds";
import { ManifestResource } from "../../node";
import { Deployment } from "../deployment";
import { Frontend as Frontend_ } from "./frontend";
import { Port as Port_ } from "./service-port";
export type Service<ExposedPorts extends string = string> = Service.Service<ExposedPorts>;
export declare namespace Service {
export import Port = Port_;
export import Frontend = Frontend_;
interface Props<DeployPorts extends string, ExposedPorts extends DeployPorts> {
$ports: InputPortMapping<ExposedPorts>;
$backend: Deployment.AbsDeployment<DeployPorts>;
$frontend: Frontend;
}
type AbsService<ExposedPorts extends string> = Refable<api.v1_.Service> & {
__PORTS__: ExposedPorts;
};
class Service<ExposedPorts extends string = string> extends ManifestResource<Props<string, ExposedPorts>> {
__PORTS__: ExposedPorts;
kind: import("@k8ts/instruments").Kind.Kind<"Service", import("@k8ts/instruments").Kind.Version<"v1", import("@k8ts/instruments").Kind.Group<"">>>;
private get backend();
get ports(): import("@k8ts/instruments").PortMap<ExposedPorts>;
portRef(name: ExposedPorts): Port.Port<ExposedPorts>;
get hostname(): string;
private _getPortoPart;
address(protocol: "http" | "https", port: ExposedPorts): string;
}
}
//# sourceMappingURL=service.d.ts.map