Your IP : 18.216.204.44
name: certbot
summary: Automatically configure HTTPS using Let's Encrypt
description: |
The objective of Certbot, Let's Encrypt, and the ACME (Automated
Certificate Management Environment) protocol is to make it possible
to set up an HTTPS server and have it automatically obtain a
browser-trusted certificate, without any human intervention. This is
accomplished by running a certificate management agent on the web
server.
This agent is used to:
- Automatically prove to the Let's Encrypt CA that you control the website
- Obtain a browser-trusted certificate and set it up on your web server
- Keep track of when your certificate is going to expire, and renew it
- Help you revoke the certificate if that ever becomes necessary.
confinement: classic
base: core20
grade: stable
adopt-info: certbot
apps:
certbot:
command: bin/python3 -s $SNAP/bin/certbot
environment:
PATH: $SNAP/bin:$SNAP/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
AUGEAS_LENS_LIB: $SNAP/usr/share/augeas/lenses/dist
CERTBOT_SNAPPED: 'True'
renew:
command: bin/python3 -s $SNAP/bin/certbot -q renew
daemon: oneshot
environment:
PATH: $SNAP/bin:$SNAP/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
AUGEAS_LENS_LIB: $SNAP/usr/share/augeas/lenses/dist
CERTBOT_SNAPPED: 'True'
timer: 00:00~24:00/2
parts:
certbot:
plugin: python
source: sources/certbot/certbot.tar.gz
python-packages:
- git+https://github.com/certbot/python-augeas.git@certbot-patched
- ./acme
- ./certbot
- ./certbot-apache
- ./certbot-nginx
stage:
- -usr/lib/python3.8/sitecustomize.py
stage-packages:
- libaugeas0
- libpython3.8-dev
- libpython3-stdlib
- libpython3.8-stdlib
- libpython3.8-minimal
- python3-pip
- python3-wheel
- python3-venv
- python3-minimal
- python3-distutils
- python3-pkg-resources
- python3.8-minimal
build-packages:
- gcc
- git
- libaugeas-dev
- build-essential
- libssl-dev
- libffi-dev
- python3-dev
- cargo
- pkg-config
build-environment:
- CARGO_NET_GIT_FETCH_WITH_CLI: 'true'
- SNAPCRAFT_PYTHON_VENV_ARGS: --upgrade
- PIP_CONSTRAINT: $SNAPCRAFT_PART_SRC/snap-constraints.txt
override-build: |
python3 -m venv "${SNAPCRAFT_PART_INSTALL}"
"${SNAPCRAFT_PART_INSTALL}/bin/python3" "${SNAPCRAFT_PART_SRC}/tools/pipstrap.py"
snapcraftctl build
override-pull: |
snapcraftctl pull
grep -v python-augeas "${SNAPCRAFT_PART_SRC}/tools/requirements.txt" >> "${SNAPCRAFT_PART_SRC}/snap-constraints.txt"
snapcraftctl set-version `grep -oP "__version__ = '\K.*(?=')" "${SNAPCRAFT_PART_SRC}/certbot/certbot/__init__.py"`
source-type: tar
shared-metadata:
plugin: dump
source: sources/shared-metadata/shared-metadata.tar.gz
override-pull: |
snapcraftctl pull
mkdir -p certbot-metadata
grep -oP "__version__ = '\K.*(?=')" $SNAPCRAFT_PART_SRC/certbot/certbot/__init__.py > certbot-metadata/certbot-version.txt
stage:
- certbot-metadata/certbot-version.txt
source-type: tar
plugs:
plugin:
interface: content
content: certbot-1
target: $SNAP/certbot-plugin
slots:
certbot-metadata:
interface: content
content: metadata-1
read:
- $SNAP/certbot-metadata