Files
onix/aws-cdk/beckn-cdk/lib/helm-gateway.ts

55 lines
1.5 KiB
TypeScript

import * as cdk from 'aws-cdk-lib';
import * as eks from 'aws-cdk-lib/aws-eks';
import * as helm from 'aws-cdk-lib/aws-eks';
import { Stack, StackProps } from 'aws-cdk-lib';
import { Construct } from 'constructs';
import { ConfigProps } from './config';
interface HelmGAtewayStackProps extends cdk.StackProps {
config: ConfigProps;
eksCluster: eks.Cluster;
rdsHost: string;
rdsPassword: string;
}
export class HelmGatewayStack extends Stack {
constructor(scope: Construct, id: string, props: HelmGAtewayStackProps) {
super(scope, id, props);
const eksCluster = props.eksCluster;
const externalDomain = props.config.GATEWAY_EXTERNAL_DOMAIN;
const certArn = props.config.CERT_ARN;
const registryUrl = props.config.REGISTRY_URL;
const releaseName = props.config.GATEWAY_RELEASE_NAME;
const repository = props.config.REPOSITORY;
const rdsHost = props.rdsHost;
const rdsPassword = props.rdsPassword;
new helm.HelmChart(this, "gatewayhelm", {
cluster: eksCluster,
chart: "beckn-onix-gateway",
release: releaseName,
wait: false,
repository: repository,
values: {
externalDomain: externalDomain,
registry_url: registryUrl,
database: {
host: rdsHost,
password: rdsPassword,
},
ingress: {
tls:
{
certificateArn: certArn,
},
},
}
});
}
}