diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-17 02:39:23 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-17 02:39:23 +0000 |
| commit | 4102549d28ad16a72b765b0dd7785c291e36c9d7 (patch) | |
| tree | da1c0f859ff1c809ec06b1a471196ab61f6804df | |
| parent | 1e3cc85f1e3928ef17f447fcae79a587b57b8fa4 (diff) | |
automatic import of python-cryptdomainmgr
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-cryptdomainmgr.spec | 447 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 449 insertions, 0 deletions
@@ -0,0 +1 @@ +/cryptdomainmgr-0.2.7.tar.gz diff --git a/python-cryptdomainmgr.spec b/python-cryptdomainmgr.spec new file mode 100644 index 0000000..e133104 --- /dev/null +++ b/python-cryptdomainmgr.spec @@ -0,0 +1,447 @@ +%global _empty_manifest_terminate_build 0 +Name: python-cryptdomainmgr +Version: 0.2.7 +Release: 1 +Summary: Software managing certificate, dkim and domain updates automagically. +License: https://www.fsf.org/licensing/licenses/agpl-3.0.html +URL: https://www.entroserv.de/offene-software/cryptdomainmgr +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/9c/bb/4e4cd0d869291e397921fe4e8686ef26b42cca98087285f4ba129fa4e2b2/cryptdomainmgr-0.2.7.tar.gz +BuildArch: noarch + + +%description +[](https://app.travis-ci.com/TheTesla/cryptdomainmgr) + +# Crypto Domain Manager + +Automate all your cryptographic needs! + +## Goals + +* Zero downtime +* Automatic certificate renewal +* Spam protection +* Updated DNS records + +Configure once and always stay up to date. + +## Use cases + +* Renew letsencrypt certicates +* Derive all kinds of data from the signature +* Ensure everything is secure + +## External Service APIs + +* Domain Certificate: [letsencrypt.org](https://letsencrypt.org) +* DNS Record Updates: [inwx.de](https://inwx.de) + +## Linux Services + +* DKIM signatures: + * rspamd +* Reload systemd services: + * apache2 + * postfix + * dovecot + * rspamd + * traefik in Docker + +## Managed DNS Records + +* TLSA - for [DNS based authentication of named entities](https://en.wikipedia.org/wiki/DNS-based_Authentication_of_Named_Entities) DANE +* DKIM - domain keys for email signatures and spam detection +* CAA - specify the CA +* DMARC, SPF, ADSP - configure secure DNS + +## No downtime strategy + +Updating keys, certifcates and other needs 3 steps to prevent gaps in availabillity: + +1. **Prepare**: Create certificates, keys etc. and publish corresponding records to DNS. +2. **Rollover**: Apply new certificates and keys, because now negative cache TTL on DNS is reached. +3. **Cleanup**: Delete all no more needed stuff from disk and DNS. + +## Needed Plugins and Dependencies + +* **dnsuptools**: to interface with DNS API -- updating DNS entries +* **dehydrated**: to get new certificate (included with cryptdomainmgr) +* **rspamd**: to create (and use) DKIM keys + +## Installation + +These libraries are needed for pycurl used by dnsuptools for automatic ip retrieving: +```bash +apt install -y libcurl4-openssl-dev libssl-dev +``` +This comman is used by dehydrated to communicate with letsencrypt for certificate renewal: +```bash +apt install -y curl +``` +For DKIM we need rspamd: +```bash +apt install -y lsb-release wget # optional +CODENAME=`lsb_release -c -s` +wget -O- https://rspamd.com/apt-stable/gpg.key | apt-key add - +echo "deb [arch=amd64] http://rspamd.com/apt-stable/ $CODENAME main" > /etc/apt/sources.list.d/rspamd.list +echo "deb-src [arch=amd64] http://rspamd.com/apt-stable/ $CODENAME main" >> /etc/apt/sources.list.d/rspamd.list +apt update +apt install -y rspamd +``` +Now install the cryptdomainmgr. This pulls all need dependencies. +```bash +python2 -m pip install cryptdomainmgr +``` +Feel free to try python3, but inwx client doesn't support it. +```bash +python3 -m pip install cryptdomainmgr +``` + +## Documentation + +We need help here! + +For now please look at: +* German project description and tutorial: https://www.entroserv.de/offene-software/cryptdomainmgr +* Slides: https://github.com/TheTesla/cryptdomainmgr-talk +* Look at the configfiles examples + +hints: +* Multiple Configfiles with priority allowed +* Specify content of config file content as argument + +## Next goals + +* improve documentation +* docker support - partly done, ToDo: label handling needed, daemon mode without external shell stript needed +* website +* automated tests - partly done +* nsupdate for DNS updates + +Long term goals: +* ARC key renewal +* WPIA integration +* DNSSEC key renewal +* TXT record (may collide with SPF and other TXT based records) +* multi server support for one domain: TLSA delete by timeout +* constrain minimum renewal/phase time interval +* validations - ensure signatures are used correctly +* run as service +* PowerDNS support + +## Contributions + +If you like the project feel free to give me a star. +Please let us know if you use this project. + +All kind of contributions are welcome. + + +%package -n python3-cryptdomainmgr +Summary: Software managing certificate, dkim and domain updates automagically. +Provides: python-cryptdomainmgr +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-cryptdomainmgr +[](https://app.travis-ci.com/TheTesla/cryptdomainmgr) + +# Crypto Domain Manager + +Automate all your cryptographic needs! + +## Goals + +* Zero downtime +* Automatic certificate renewal +* Spam protection +* Updated DNS records + +Configure once and always stay up to date. + +## Use cases + +* Renew letsencrypt certicates +* Derive all kinds of data from the signature +* Ensure everything is secure + +## External Service APIs + +* Domain Certificate: [letsencrypt.org](https://letsencrypt.org) +* DNS Record Updates: [inwx.de](https://inwx.de) + +## Linux Services + +* DKIM signatures: + * rspamd +* Reload systemd services: + * apache2 + * postfix + * dovecot + * rspamd + * traefik in Docker + +## Managed DNS Records + +* TLSA - for [DNS based authentication of named entities](https://en.wikipedia.org/wiki/DNS-based_Authentication_of_Named_Entities) DANE +* DKIM - domain keys for email signatures and spam detection +* CAA - specify the CA +* DMARC, SPF, ADSP - configure secure DNS + +## No downtime strategy + +Updating keys, certifcates and other needs 3 steps to prevent gaps in availabillity: + +1. **Prepare**: Create certificates, keys etc. and publish corresponding records to DNS. +2. **Rollover**: Apply new certificates and keys, because now negative cache TTL on DNS is reached. +3. **Cleanup**: Delete all no more needed stuff from disk and DNS. + +## Needed Plugins and Dependencies + +* **dnsuptools**: to interface with DNS API -- updating DNS entries +* **dehydrated**: to get new certificate (included with cryptdomainmgr) +* **rspamd**: to create (and use) DKIM keys + +## Installation + +These libraries are needed for pycurl used by dnsuptools for automatic ip retrieving: +```bash +apt install -y libcurl4-openssl-dev libssl-dev +``` +This comman is used by dehydrated to communicate with letsencrypt for certificate renewal: +```bash +apt install -y curl +``` +For DKIM we need rspamd: +```bash +apt install -y lsb-release wget # optional +CODENAME=`lsb_release -c -s` +wget -O- https://rspamd.com/apt-stable/gpg.key | apt-key add - +echo "deb [arch=amd64] http://rspamd.com/apt-stable/ $CODENAME main" > /etc/apt/sources.list.d/rspamd.list +echo "deb-src [arch=amd64] http://rspamd.com/apt-stable/ $CODENAME main" >> /etc/apt/sources.list.d/rspamd.list +apt update +apt install -y rspamd +``` +Now install the cryptdomainmgr. This pulls all need dependencies. +```bash +python2 -m pip install cryptdomainmgr +``` +Feel free to try python3, but inwx client doesn't support it. +```bash +python3 -m pip install cryptdomainmgr +``` + +## Documentation + +We need help here! + +For now please look at: +* German project description and tutorial: https://www.entroserv.de/offene-software/cryptdomainmgr +* Slides: https://github.com/TheTesla/cryptdomainmgr-talk +* Look at the configfiles examples + +hints: +* Multiple Configfiles with priority allowed +* Specify content of config file content as argument + +## Next goals + +* improve documentation +* docker support - partly done, ToDo: label handling needed, daemon mode without external shell stript needed +* website +* automated tests - partly done +* nsupdate for DNS updates + +Long term goals: +* ARC key renewal +* WPIA integration +* DNSSEC key renewal +* TXT record (may collide with SPF and other TXT based records) +* multi server support for one domain: TLSA delete by timeout +* constrain minimum renewal/phase time interval +* validations - ensure signatures are used correctly +* run as service +* PowerDNS support + +## Contributions + +If you like the project feel free to give me a star. +Please let us know if you use this project. + +All kind of contributions are welcome. + + +%package help +Summary: Development documents and examples for cryptdomainmgr +Provides: python3-cryptdomainmgr-doc +%description help +[](https://app.travis-ci.com/TheTesla/cryptdomainmgr) + +# Crypto Domain Manager + +Automate all your cryptographic needs! + +## Goals + +* Zero downtime +* Automatic certificate renewal +* Spam protection +* Updated DNS records + +Configure once and always stay up to date. + +## Use cases + +* Renew letsencrypt certicates +* Derive all kinds of data from the signature +* Ensure everything is secure + +## External Service APIs + +* Domain Certificate: [letsencrypt.org](https://letsencrypt.org) +* DNS Record Updates: [inwx.de](https://inwx.de) + +## Linux Services + +* DKIM signatures: + * rspamd +* Reload systemd services: + * apache2 + * postfix + * dovecot + * rspamd + * traefik in Docker + +## Managed DNS Records + +* TLSA - for [DNS based authentication of named entities](https://en.wikipedia.org/wiki/DNS-based_Authentication_of_Named_Entities) DANE +* DKIM - domain keys for email signatures and spam detection +* CAA - specify the CA +* DMARC, SPF, ADSP - configure secure DNS + +## No downtime strategy + +Updating keys, certifcates and other needs 3 steps to prevent gaps in availabillity: + +1. **Prepare**: Create certificates, keys etc. and publish corresponding records to DNS. +2. **Rollover**: Apply new certificates and keys, because now negative cache TTL on DNS is reached. +3. **Cleanup**: Delete all no more needed stuff from disk and DNS. + +## Needed Plugins and Dependencies + +* **dnsuptools**: to interface with DNS API -- updating DNS entries +* **dehydrated**: to get new certificate (included with cryptdomainmgr) +* **rspamd**: to create (and use) DKIM keys + +## Installation + +These libraries are needed for pycurl used by dnsuptools for automatic ip retrieving: +```bash +apt install -y libcurl4-openssl-dev libssl-dev +``` +This comman is used by dehydrated to communicate with letsencrypt for certificate renewal: +```bash +apt install -y curl +``` +For DKIM we need rspamd: +```bash +apt install -y lsb-release wget # optional +CODENAME=`lsb_release -c -s` +wget -O- https://rspamd.com/apt-stable/gpg.key | apt-key add - +echo "deb [arch=amd64] http://rspamd.com/apt-stable/ $CODENAME main" > /etc/apt/sources.list.d/rspamd.list +echo "deb-src [arch=amd64] http://rspamd.com/apt-stable/ $CODENAME main" >> /etc/apt/sources.list.d/rspamd.list +apt update +apt install -y rspamd +``` +Now install the cryptdomainmgr. This pulls all need dependencies. +```bash +python2 -m pip install cryptdomainmgr +``` +Feel free to try python3, but inwx client doesn't support it. +```bash +python3 -m pip install cryptdomainmgr +``` + +## Documentation + +We need help here! + +For now please look at: +* German project description and tutorial: https://www.entroserv.de/offene-software/cryptdomainmgr +* Slides: https://github.com/TheTesla/cryptdomainmgr-talk +* Look at the configfiles examples + +hints: +* Multiple Configfiles with priority allowed +* Specify content of config file content as argument + +## Next goals + +* improve documentation +* docker support - partly done, ToDo: label handling needed, daemon mode without external shell stript needed +* website +* automated tests - partly done +* nsupdate for DNS updates + +Long term goals: +* ARC key renewal +* WPIA integration +* DNSSEC key renewal +* TXT record (may collide with SPF and other TXT based records) +* multi server support for one domain: TLSA delete by timeout +* constrain minimum renewal/phase time interval +* validations - ensure signatures are used correctly +* run as service +* PowerDNS support + +## Contributions + +If you like the project feel free to give me a star. +Please let us know if you use this project. + +All kind of contributions are welcome. + + +%prep +%autosetup -n cryptdomainmgr-0.2.7 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-cryptdomainmgr -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 17 2023 Python_Bot <Python_Bot@openeuler.org> - 0.2.7-1 +- Package Spec generated @@ -0,0 +1 @@ +5b2eaa8265d81b2d7bb9aed304bdcbee cryptdomainmgr-0.2.7.tar.gz |
