feat: Add AWS CDK project and Helm charts for Beckn-Onix deployment on AWS cloud
This commit is contained in:
50
aws-cdk/beckn-cdk/lib/helm-registry.ts
Normal file
50
aws-cdk/beckn-cdk/lib/helm-registry.ts
Normal file
@@ -0,0 +1,50 @@
|
||||
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 HelmRegistryStackProps extends StackProps {
|
||||
config: ConfigProps;
|
||||
eksCluster: eks.Cluster;
|
||||
rdsHost: string;
|
||||
rdsPassword: string;
|
||||
}
|
||||
|
||||
export class HelmRegistryStack extends Stack {
|
||||
constructor(scope: Construct, id: string, props: HelmRegistryStackProps) {
|
||||
super(scope, id, props);
|
||||
|
||||
const eksCluster = props.eksCluster;
|
||||
const externalDomain = props.config.REGISTRY_EXTERNAL_DOMAIN;
|
||||
const certArn = props.config.CERT_ARN;
|
||||
const releaseName = props.config.REGISTRY_RELEASE_NAME;
|
||||
const repository = props.config.REPOSITORY;
|
||||
|
||||
const rdsHost = props.rdsHost;
|
||||
const rdsPassword = props.rdsPassword;
|
||||
|
||||
new helm.HelmChart(this, "registryhelm", {
|
||||
cluster: eksCluster,
|
||||
chart: "beckn-onix-registry",
|
||||
release: releaseName,
|
||||
wait: false,
|
||||
repository: repository,
|
||||
values: {
|
||||
externalDomain: externalDomain,
|
||||
database: {
|
||||
host: rdsHost,
|
||||
password: rdsPassword
|
||||
},
|
||||
ingress: {
|
||||
tls:
|
||||
{
|
||||
certificateArn: certArn,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user