Create Cron Job Via Lambda, to update certificate using DNSPod verifaction and put it to S3 Bucket.
npm install cdk-certbot-dns-dnspod


bash
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.š”š”š”
`ts
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: 'user@example.com', // <- your email address and at same time is your dnspod account associate email.
},
dnsDnspodApiId: 'xxx',
dnsDnspodApiToken: 'xxx',
destinationBucket: s3.Bucket.fromBucketName(stack, 'myBucket', 'mybucket'),
});
`
$3
`ts
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: 'user@example.com',
customPrefixDirectory: '/',
},
dnsDnspodApiId: 'xxx',
dnsDnspodApiToken: 'xxx',
destinationBucket: bucket,
schedule: events.Schedule.cron({ month: '2' }),
architecture: lambda.Architecture.ARM_64, // <- like this way.
});
``