Miserlou/Zappa

Lets Encrypt Certify Issue - 'NoneType' object has no attribute 'groups'

ksummersill2 opened this issue · 0 comments

I've followed the handy guide reference here to associate a Let's Encrypt SSL certificate and validating it using DNS validation.
https://github.com/Miserlou/Zappa/blob/master/docs/domain_with_free_ssl_dns.md

However, I am receiving the following error message when running:
zappa certify dev

The response given back:

(jobatscale) λ zappa certify dev
Calling certify for stage dev..
Are you sure you want to certify? [y/n] y
Certifying domain dev.jobatscale.com..
'NoneType' object has no attribute 'groups'
Failed to generate or install a certificate! :(

Expected Behavior

Should be able to certified the SSL certificate from the Route 53 domain name and access the application utilizing the specified domain name.

Actual Behavior

Receiving error message.

(jobatscale) λ zappa certify dev
Calling certify for stage dev..
Are you sure you want to certify? [y/n] y
Certifying domain dev.jobatscale.com..
'NoneType' object has no attribute 'groups'
Failed to generate or install a certificate! :(

Possible Fix

I am attempted to try and fix the lets-encrypt.py file for the issue with groups but not really sure where to begin.

Steps to Reproduce

Reproduce by following the guide in the repo: https://github.com/Miserlou/Zappa/blob/master/docs/domain_with_free_ssl_dns.md

Your Environment

  • Zappa version used: 0.52.0

  • Operating System and Python version: Windows 10 / Python 3.8.7

  • The output of pip freeze:
    argcomplete==1.12.2
    boto3==1.16.49
    botocore==1.19.49
    certifi==2020.12.5
    cfn-flip==1.2.3
    chardet==4.0.0
    click==7.1.2
    durationpy==0.5
    Flask==1.1.2
    Flask-PyMongo==2.3.0
    future==0.18.2
    hjson==3.0.2
    idna==2.10
    itsdangerous==1.1.0
    Jinja2==2.11.2
    jmespath==0.10.0
    kappa==0.6.0
    MarkupSafe==1.1.1
    pip-tools==5.5.0
    placebo==0.9.0
    pymongo==3.11.2
    python-dateutil==2.8.1
    python-slugify==4.0.1
    PyYAML==5.3.1
    requests==2.25.1
    s3transfer==0.3.3
    six==1.15.0
    text-unidecode==1.3
    toml==0.10.2
    tqdm==4.55.1
    troposphere==2.6.3
    urllib3==1.26.2
    Werkzeug==0.16.1
    wsgi-request-logger==0.4.6
    zappa==0.52.0

  • Your zappa_settings.json:
    {
    "dev": {
    "app_function": "app.app",
    "parameter_depth": 1,
    "aws_region": "us-east-1",
    "profile_name": "jobatscale",
    "project_name": "jobsatscale",
    "runtime": "python3.7",
    "manage_roles": false,
    "s3_bucket": "jobsatscale",
    "domain": "dev.jobatscale.com",
    "lets_encrypt_key": "account.key",
    "lets_encrypt_expression": "rate(30 days)"
    },
    "dev_ap_east_1": {
    "aws_region": "ap-east-1",
    "extends": "dev"
    },
    "dev_ap_northeast_1": {
    "aws_region": "ap-northeast-1",
    "extends": "dev"
    },
    "dev_ap_northeast_2": {
    "aws_region": "ap-northeast-2",
    "extends": "dev"
    },
    "dev_ap_northeast_3": {
    "aws_region": "ap-northeast-3",
    "extends": "dev"
    },
    "dev_ap_south_1": {
    "aws_region": "ap-south-1",
    "extends": "dev"
    },
    "dev_ap_southeast_1": {
    "aws_region": "ap-southeast-1",
    "extends": "dev"
    },
    "dev_ap_southeast_2": {
    "aws_region": "ap-southeast-2",
    "extends": "dev"
    },
    "dev_ca_central_1": {
    "aws_region": "ca-central-1",
    "extends": "dev"
    },
    "dev_cn_north_1": {
    "aws_region": "cn-north-1",
    "extends": "dev"
    },
    "dev_cn_northwest_1": {
    "aws_region": "cn-northwest-1",
    "extends": "dev"
    },
    "dev_eu_central_1": {
    "aws_region": "eu-central-1",
    "extends": "dev"
    },
    "dev_eu_north_1": {
    "aws_region": "eu-north-1",
    "extends": "dev"
    },
    "dev_eu_west_1": {
    "aws_region": "eu-west-1",
    "extends": "dev"
    },
    "dev_eu_west_2": {
    "aws_region": "eu-west-2",
    "extends": "dev"
    },
    "dev_eu_west_3": {
    "aws_region": "eu-west-3",
    "extends": "dev"
    },
    "dev_sa_east_1": {
    "aws_region": "sa-east-1",
    "extends": "dev"
    },
    "dev_us_east_2": {
    "aws_region": "us-east-2",
    "extends": "dev"
    },
    "dev_us_gov_east_1": {
    "aws_region": "us-gov-east-1",
    "extends": "dev"
    },
    "dev_us_gov_west_1": {
    "aws_region": "us-gov-west-1",
    "extends": "dev"
    },
    "dev_us_west_1": {
    "aws_region": "us-west-1",
    "extends": "dev"
    },
    "dev_us_west_2": {
    "aws_region": "us-west-2",
    "extends": "dev"
    },
    "staging": {
    "app_function": "app.app",
    "parameter_depth": 1,
    "aws_region": "us-east-1",
    "profile_name": "jobatscale",
    "project_name": "jobsatscale",
    "runtime": "python3.7",
    "manage_roles": false,
    "s3_bucket": "jobsatscale",
    "domain": "staging.jobatscale.com",
    "lets_encrypt_key": "account.key",
    "lets_encrypt_expression": "rate(30 days)"
    },
    "production": {
    "app_function": "app.app",
    "parameter_depth": 1,
    "aws_region": "us-east-1",
    "profile_name": "jobatscale",
    "project_name": "jobsatscale",
    "runtime": "python3.7",
    "manage_roles": false,
    "s3_bucket": "jobsatscale",
    "domain": "jobatscale.com",
    "lets_encrypt_key": "account.key",
    "lets_encrypt_expression": "rate(30 days)"
    }
    }