Skip to content

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.

License

Notifications You must be signed in to change notification settings

timeswind/cdk-certbot-dns-dnspod

 
 

Repository files navigation

NPM version PyPI version Release

Downloads npm PyPI

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: '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'),
});

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: 'user@example.com',
    customPrefixDirectory: '/',
  },
  dnsDnspodApiId: 'xxx',
  dnsDnspodApiToken: 'xxx',
  destinationBucket: bucket,
  schedule: events.Schedule.cron({ month: '2' }),
  architecture: lambda.Architecture.ARM_64, // <- like this way.
});

Example: Invoke Lambda Function log.

Example: Renew certificate to store on S3 Bucket

About

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.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 66.5%
  • Shell 19.9%
  • Python 6.4%
  • JavaScript 5.4%
  • Dockerfile 1.8%