@chimoney.io/iaas-k8s-deployment
Version:
Kubernetes Infrastructure as a Service deployment package for streamlined multi-cloud environments
213 lines • 5.49 kB
TypeScript
import type { Logger, DeploymentOptions } from "../../types/index.js";
interface HelmChartValues {
companyName: string;
namespace?: string;
deploymentType: "shared" | "dedicated";
planTier?: string;
rafikiAuth: {
enabled: boolean;
name: string;
image: {
repository: string;
tag: string;
pullPolicy: string;
};
hpa?: {
enabled: boolean;
minReplicas?: number;
maxReplicas?: number;
targetCPUUtilizationPercentage?: number;
};
ports: {
main: number;
grant: number;
admin: number;
};
service: {
type: string;
ports: {
main: number;
grant: number;
admin: number;
};
};
secrets: {
name: string;
};
};
rafikiBackend: {
enabled: boolean;
name: string;
image: {
repository: string;
tag: string;
pullPolicy: string;
};
hpa?: {
enabled: boolean;
minReplicas?: number;
maxReplicas?: number;
targetCPUUtilizationPercentage?: number;
};
ports: {
openPayments: number;
graphql: number;
connector: number;
admin: number;
autopeering: number;
};
service: {
type: string;
ports: {
openPayments: number;
graphql: number;
connector: number;
admin: number;
autopeering: number;
};
};
secrets: {
name: string;
};
};
nginx: {
enabled: boolean;
name: string;
image: {
repository: string;
tag: string;
pullPolicy: string;
};
hpa?: {
enabled: boolean;
minReplicas?: number;
maxReplicas?: number;
targetCPUUtilizationPercentage?: number;
};
ports: {
http: number;
};
service: {
type: string;
port: number;
};
config?: {
serverNameIlp: string;
serverNameAuth: string;
serverNameConnector: string;
graphqlAllowedIps: Array<string>;
};
configMap: {
name: string;
};
};
redis: {
enabled: boolean;
name: string;
image: {
repository: string;
tag: string;
pullPolicy: string;
};
ports: {
redis: number;
};
service: {
type: string;
port: number;
};
};
ingress: {
enabled: boolean;
name: string;
className: string;
annotations: Record<string, string>;
hosts: {
[key: string]: {
host: string;
paths: Array<{
path: string;
pathType: string;
serviceNameSuffix: string;
servicePort: number;
}>;
};
};
};
networkPolicy?: {
enabled: boolean;
allowIngressFrom?: Array<Record<string, any>>;
allowEgressTo?: Array<{
cidr?: string;
namespaceSelector?: Record<string, any>;
ports?: Array<{
port: number;
protocol: string;
}>;
}>;
allowEgressPorts?: Array<{
port: number;
protocol: string;
}>;
};
monitoring?: {
dashboards: {
enabled: boolean;
};
};
tierConfig?: Record<string, any>;
tierResources?: {
cpu?: string;
memory?: string;
};
tierResourceQuota?: {
enabled?: boolean;
requests?: Record<string, string>;
limits?: Record<string, string>;
claims?: Record<string, string>;
};
gcp?: {
backendConfig?: {
healthCheck: {
checkIntervalSec: number;
port: number;
type: string;
requestPath: string;
};
};
managedCertificate?: {
enabled: boolean;
domains: string[];
};
};
aws?: {
loadBalancer?: {
healthCheck: {
enabled: boolean;
intervalSeconds: number;
path: string;
port: string;
protocol: string;
timeoutSeconds: number;
unhealthyThresholdCount: number;
healthyThresholdCount: number;
};
};
};
kubernetesSecrets?: {
rafikiAuth: {
create: boolean;
name: string;
stringData: Record<string, any>;
};
rafikiBackend: {
create: boolean;
name: string;
stringData: Record<string, any>;
};
};
}
export declare function generateDynamicHelmValues(options: DeploymentOptions, logger: Logger): HelmChartValues;
export declare function mergeHelmValues(baseValues: HelmChartValues, tierValues: any, logger: Logger): any;
export {};
//# sourceMappingURL=helm-values-generator.d.ts.map