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 grade: devel base: core18 adopt-info: certbot apps: certbot: command: 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" LD_LIBRARY_PATH: "$SNAP/usr/lib/x86_64-linux-gnu/:$LD_LIBRARY_PATH" renew: command: 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 LD_LIBRARY_PATH: "$SNAP/usr/lib/x86_64-linux-gnu/:$LD_LIBRARY_PATH" # Run approximately twice a day with randomization timer: 00:00~24:00/2 parts: python-augeas: plugin: python source: git://github.com/basak/python-augeas source-branch: snap python-version: python3 build-packages: [libaugeas-dev] acme: plugin: python source: . source-subdir: acme constraints: [$SNAPCRAFT_PART_SRC/constraints.txt] python-version: python3 certbot: plugin: python source: . source-subdir: certbot constraints: [$SNAPCRAFT_PART_SRC/constraints.txt] python-version: python3 after: [acme] override-pull: | snapcraftctl pull snapcraftctl set-version `cd $SNAPCRAFT_PART_SRC && git describe|sed s/^v//` # Workaround for lack of site-packages leading to empty sitecustomize.py stage: - -usr/lib/python3.6/sitecustomize.py certbot-apache: plugin: python source: . source-subdir: certbot-apache constraints: [$SNAPCRAFT_PART_SRC/constraints.txt] python-version: python3 after: [python-augeas, certbot] stage-packages: [libaugeas0] stage: # Prefer cffi - -lib/python3.6/site-packages/augeas.py certbot-nginx: plugin: python source: . source-subdir: certbot-nginx constraints: [$SNAPCRAFT_PART_SRC/constraints.txt] python-version: python3 # This is the last step, compile pycache now as there should be no conflicts. override-prime: | snapcraftctl prime ./usr/bin/python3 -m compileall -q . # After certbot-apache to not rebuild duplicates (essentially sharing what was already staged, # like zope) after: [certbot-apache] plugs: plugin: interface: content content: certbot-1 target: $SNAP/certbot-plugin