Skip to main content

Create Cron Job Via Lambda, to update certificate and put it to S3 Bucket.

Project description

NPM version PyPI version Release

cdk-certbot-dns-route53

cdk-certbot-dns-route53 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-route53
or
npm install cdk-certbot-dns-route53@latest

// for CDKv1
npm install cdk-certbot-dns-route53@cdkv1
import * as r53 from '@aws-cdk/aws-route53';
import * as s3 from '@aws-cdk/aws-s3';
import * as cdk from '@aws-cdk/core';
import { CertbotDnsRoute53Job } from 'cdk-certbot-dns-route53';

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 CertbotDnsRoute53Job(stack, 'Demo', {
  certbotOptions: {
    domainName: '*.example.com',
    email: 'user@example.com',
  },
  zone: r53.HostedZone.fromHostedZoneAttributes(stack, 'myZone', {
    zoneName: 'example.com',
    hostedZoneId:  'mockId',
  }),
  destinationBucket: s3.Bucket.fromBucketName(stack, 'myBucket', 'mybucket'),
});

You can define Lambda Image Architecture now. 2022/04/19

import * as r53 from '@aws-cdk/aws-route53';
import * as s3 from '@aws-cdk/aws-s3';
import * as cdk from '@aws-cdk/core';
import * as lambda from '@aws-cdk/aws-lambda';
import { CertbotDnsRoute53Job } from 'cdk-certbot-dns-route53';
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 CertbotDnsRoute53Job(stack, 'Testtask', {
  certbotOptions: {
    domainName: 'example.com',
    email: 'user@example.com',
    customPrefixDirectory: '/',
  },
  zone,
  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

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cdk_certbot_dns_route53-1.2.285.tar.gz (38.7 kB view details)

Uploaded Source

Built Distribution

cdk_certbot_dns_route53-1.2.285-py3-none-any.whl (37.3 kB view details)

Uploaded Python 3

File details

Details for the file cdk_certbot_dns_route53-1.2.285.tar.gz.

File metadata

File hashes

Hashes for cdk_certbot_dns_route53-1.2.285.tar.gz
Algorithm Hash digest
SHA256 ea357f5930ddf7193d032c43035f94be678bc85230a8ec38fe29a84d2d7d715f
MD5 2ed218df39ae76beaeeb99d222780c8b
BLAKE2b-256 773d91b1544aa9351ecb6b0c04bfdf443537e54ce565048394dff78ad5199454

See more details on using hashes here.

File details

Details for the file cdk_certbot_dns_route53-1.2.285-py3-none-any.whl.

File metadata

File hashes

Hashes for cdk_certbot_dns_route53-1.2.285-py3-none-any.whl
Algorithm Hash digest
SHA256 77305d11bbe5c3c382c6835ddb09f2ee299e97af008f94cc90e3cf053057c013
MD5 472fb9e302a0b08fc3fa1faa893a0d81
BLAKE2b-256 28a82d57dc3c3ccd1461af649b40c7a98ff3a44e8639d2b1a5293a59e8111268

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page