51 lines
1.4 KiB
TypeScript
51 lines
1.4 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 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,
|
|
},
|
|
},
|
|
}
|
|
|
|
});
|
|
}
|
|
}
|