"use strict";
// import k8s = require('@kubernetes/client-node');
// export interface HackDeploySpec {
//   cluster: Cluster;
//   cabinet: Cabinet;
// }
// export interface Cluster {
//   location: string;
//   location_domain: string;
//   subscription: string;
//   azure_tenant_id: string;
//   resource_group_name: string;
//   cluster_name: string;
//   ssh_key: string;
//   service_principal_name: string;
//   service_principal_password: string;
//   node_count: string;
//   node_vm_size: string;
//   acr_resource_group_name: string;
//   acr_name: string;
//   support_email: string;
//   node_resource_group_name?: string;
// }
// export interface Cabinet {
//   tenant_code: string;
//   enterprise: string;
//   name: string;
//   environment: string;
//   namespace: string;
//   ingress: IngressSpec;
//   services: (ServicesEntity)[];
// }
// export interface Enterprise {
//   name: string;
//   assets: ServicesEntity[];
// }
// export interface IngressSpec {
//   chart_name: string;
//   service_name: string;
//   service_namespace: string;
//   ingress_default_ruleset_name: string;
//   replicas: number;
//   ip_name: string;
//   // dns_hostname: string;
//   cert_secret_name: string;
//   cert_name: string;
//   cert_issuer: "staging"|"prod";
//   ip?: string;
// }
// export interface ServicesEntity {
//   name: string;
//   image: string;
//   hasIngress: boolean;
//   type: string;
//   tag: string;
//   registry: string;
//   registry_username: string;
//   registry_password: string;
//   contact_email: string;
//   fullImageId: string;
//   port_container: number;
//   port_app: number;
//   replica_count: string;
//   cpu_request: string;
//   memory_request: string;
//   cpu_limit: string;
//   memory_limit: string;
//   deployment: K8sManifest;
//   configs: string[];
// }
// export interface K8sManifest {
//   apiVersion: string;
//   kind: string;
//   metadata: Metadata;
//   spec: Spec;
// }
// export interface Metadata {
//   name: string;
//   namespace: string;
//   labels: LabelsOrMatchLabels;
// }
// export interface LabelsOrMatchLabels {
//   app: string;
// }
// export interface Spec {
//   selector: Selector;
//   replicas: number;
//   template: Template;
// }
// export interface Selector {
//   matchLabels: LabelsOrMatchLabels;
// }
// export interface Template {
//   metadata: Metadata1;
//   spec: Spec1;
// }
// export interface Metadata1 {
//   labels: LabelsOrMatchLabels;
// }
// export interface Spec1 {
//   imagePullSecrets?: (ImagePullSecretsEntity)[] | null;
//   containers?: (ContainersEntity)[] | null;
//   volumes?: k8s.V1Volume[];
// }
// export interface ImagePullSecretsEntity {
//   name: string;
// }
// export interface ContainersEntity {
//   name: string;
//   image: string;
//   imagePullPolicy: string;
//   resources: Resources;
//   ports?: (PortsEntity)[] | null;
//   env?: (EnvEntity)[] | null;
//   volumeMounts?: k8s.V1VolumeMount[];
// }
// export interface Resources {
//   requests: RequestsOrLimits;
//   limits: RequestsOrLimits;
// }
// export interface RequestsOrLimits {
//   cpu: number;
//   memory: string;
// }
// export interface PortsEntity {
//   containerPort: number;
//   hostPort: number;
// }
// export interface EnvEntity {
//   name: string;
//   value: string;
// }
//# sourceMappingURL=deployment-temp.js.map