Your IP : 18.225.255.226


Current Path : /snap/certbot/3834/snap/
Upload File :
Current File : //snap/certbot/3834/snap/snapcraft.yaml

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