2.1.477 ā€¢ Published 6 months ago

cdk-certbot-dns-dnspod v2.1.477

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
6 months ago

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.

npm.io

Example: Renew certificate to store on S3 Bucket

npm.io

2.1.477

6 months ago

2.1.476

6 months ago

2.1.475

6 months ago

2.1.474

6 months ago

2.1.473

6 months ago

2.0.1

6 months ago

0.0.0

6 months ago