Re: suggested patch for review - issue 7158

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 09/11/2018 09:12 AM, Zach Villers wrote:
> Sorry this has taken so long - I've been fooling around trying to test
> locally. I _believe_ I've followed Kevin's guidance. Without further ado;
> 
> - adding planet vars to people role;
> 
> diff --git a/playbooks/groups/people.yml b/playbooks/groups/people.yml
> index e7661b4b4..1d00f77ca 100644
> --- a/playbooks/groups/people.yml
> +++ b/playbooks/groups/people.yml
> @@ -68,7 +68,6 @@
>    - cgit/clean_lock_cron
>    - cgit/make_pkgs_list
>    - clamav
> -  - planet
>    - fedmsg/base
>    - git/server
>  
> @@ -79,6 +78,18 @@
>      SSLCertificateChainFile:
> wildcard-2017.fedorapeople.org.intermediate.cert
>  
>    - people
> + 
> +  - role: planet
> +    certbot: true
> +    certbot_addhost: fedoraplanet.org
> +    site_name: fedoraplanet.org
> +    cert_name: wildcard-2018.fedoraplanet.org
> +    server_aliases: planet.fedoraproject.org
> +    server_admin: webmaster@xxxxxxxxxxxxxxxxx
> +    ssl: true
> +    sslonly: false
> +    SSLCertificateChainFile:
> wildcard-2018.fedoraplanet.org.intermediate.cert
> +    gzip: false


So, very close, but we don't want to use the wildcard cert here, just
let certbot handle it.

Confusingly, we have a 'certbot' rule, but thats old and we should nuke
it. The new one is the 'letencrypt' role. It handles requesting a cert
from letsencrypt for the site it's called with and putting certs on any
other machines.

So, keep the planet role as it is.

Instead add to the playbooks/groups/people.yml the letencrypt role with
the site_name as fedoraplanet.org. Take a look at the taskotron.yml
playbook, I added this setup for taskotron-dev eariler today.

Then, when that playbook runs it delegates to the 'certgetter01' host,
which runs certbot command to get a cert, as part of that it writes out
a challenge file locally that it gets back from letsencrypt. Then,
letsencrypt tries to get that file from fedorapeople.org, which
redirects it to the proxies which proxies it to certgetter01 and it's
happy. ;)


>    tasks:
>    - import_tasks: "{{ tasks_path }}/yumrepos.yml"
> 
> -------------------------------
> 
> And planet redirect https -> http patch;
> 
> diff --git a/roles/planet/templates/planet.conf
> b/roles/planet/templates/planet.conf
> index 319923d2a..7e12b8f35 100644
> --- a/roles/planet/templates/planet.conf
> +++ b/roles/planet/templates/planet.conf
> @@ -14,6 +14,11 @@
>  
>      ErrorLog logs/planet-error.log
>      CustomLog logs/fedoraplanet.org-access.log common
> +
> +    # let certbot get an answer from certgetter01
> +    RewriteEngine on
> +    RewriteRule
> ^/\.well-known/(.*)/srv/web/acme-challenge/.well-known/$1 [L]
> +    RewriteRule "^/?(.*)" "https://certgetter01/$1"; [L,R=301,NE]

Change 'certgetter01' here to 'fedoraproject.org'. That will hit our
proxies and get proxied into certgetter.
>  
>      UserDir disable
>      AddCharset UTF-8 .xml
> @@ -79,3 +84,32 @@
>      RedirectMatch permanent /(.*) http://fedoraplanet.org/$1
>  
>  </VirtualHost>
> +<VirtualHost {{public_ip}}:443 _default_:443>
> +    ##
> +    # Domain: fedoraplanet.org
> +    # Owner: admin@xxxxxxxxxxxxxxxx
> +    #
> +    ServerName fedoraplanet.org
> +
> +    SSLEngine on
> +    SSLCertificateFile /etc/letsencrypt/live/fedoraplanet.org/cert.pem
> +    SSLCertificateKeyFile
> /etc/letsencrypt/live/fedoraplanet.org/privkey.pem
> +    SSLCertificateChainFile
> /etc/letsencrypt/live/fedoraplanet.org/fullchain.pem
> +    SSLHonorCipherOrder On
> +    SSLCipherSuite RC4-SHA:AES128-SHA:ALL:!ADH:!EXP:!LOW:!MD5:!SSLV2:!NULL
> +    SSLProtocol ALL -SSLv2
> +
> +    ServerAdmin admin@xxxxxxxxxxxxxxxx
> +    ServerName fedoraplanet.org
> +
> +    DocumentRoot "/srv/planet/site/"
> +
> +    ErrorLog logs/planet-error.log
> +    CustomLog logs/planet.fedoraproject.org-access.log common
> +
> +    UserDir disable
> +    AddCharset UTF-8 .xml
> +
> +    RedirectMatch permanent /(.*) http://fedoraplanet.org/$1
> +
> +</VirtualHost>

That looks perfect for the https->http redirect. :)

Thanks again at poking at this and I am sorry I have been so slow to
provide feedback. ;(

kevin

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
infrastructure mailing list -- infrastructure@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to infrastructure-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/infrastructure@xxxxxxxxxxxxxxxxxxxxxxx

[Index of Archives]     [Fedora Development]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]

  Powered by Linux