cdk-certbot-dns-dnspod
v2.1.477
Published
Create Cron Job Via Lambda, to update certificate using DNSPod verifaction and put it to S3 Bucket.
Downloads
13
Readme
cdk-certbot-dns-dnspod
cdk-certbot-dns-dnspod is a CDK construct library that allows you to create Certbot Lambda Function on AWS with CDK, and setting schedule cron job to renew certificate to store on S3 Bucket.
Install
Use the npm dist tag to opt in CDKv1 or CDKv2:
// for CDKv2
npm install cdk-certbot-dns-dnspod
or
npm install cdk-certbot-dns-dnspod@latest
// for CDKv1
npm install cdk-certbot-dns-dnspod@cdkv1
💡💡💡 please click here, if you are using aws-cdk v1.x.x version.💡💡💡
import * as s3 from 'aws-cdk-lib/aws-s3';
import * as cdk from 'aws-cdk-lib';
import { CertbotDnsDnspodJob } from 'cdk-certbot-dns-dnspod';
const devEnv = {
account: process.env.CDK_DEFAULT_ACCOUNT,
region: process.env.CDK_DEFAULT_REGION,
};
const app = new cdk.App();
const stack = new cdk.Stack(app, 'lambda-certbot-dev', { env: devEnv });
new CertbotDnsDnspodJob(stack, 'Demo', {
certbotOptions: {
domainName: '*.example.com',
email: '[email protected]', // <- your email address and at same time is your dnspod account associate email.
},
dnsDnspodApiId: 'xxx',
dnsDnspodApiToken: 'xxx',
destinationBucket: s3.Bucket.fromBucketName(stack, 'myBucket', 'mybucket'),
});
You can define Lambda Image Architecture now. 2022/04/19
import * as s3 from 'aws-cdk-lib/aws-s3';
import * as lambda from 'aws-cdk-lib/aws-lambda';
import * as cdk from 'aws-cdk-lib';
import { CertbotDnsDnspodJob } from 'cdk-certbot-dns-dnspod';
const mockApp = new cdk.App();
const stack = new cdk.Stack(mockApp, 'teststack', { env: devEnv });
const bucket = new s3.Bucket(stack, 'testingBucket');
const zone = r53.HostedZone.fromHostedZoneAttributes(stack, 'zone', {
zoneName: mock.zoneName, hostedZoneId: mock.zoneId,
});
new CertbotDnsDnspodJob(stack, 'Testtask', {
certbotOptions: {
domainName: 'example.com',
email: '[email protected]',
customPrefixDirectory: '/',
},
dnsDnspodApiId: 'xxx',
dnsDnspodApiToken: 'xxx',
destinationBucket: bucket,
schedule: events.Schedule.cron({ month: '2' }),
architecture: lambda.Architecture.ARM_64, // <- like this way.
});