← Back to team overview

launchpad-reviewers team mailing list archive

[Merge] ~pelpsi/launchpad:ftpmaster-publisher-configuration into launchpad:master

 

Simone Pelosi has proposed merging ~pelpsi/launchpad:ftpmaster-publisher-configuration into launchpad:master.

Commit message:
Added rsync configuration to ftpmaster publisher
    
According to the legacy deployment of the publisher
we added a configuration file to configure correctly rsync

Requested reviews:
  Launchpad code reviewers (launchpad-reviewers)

For more details, see:
https://code.launchpad.net/~pelpsi/launchpad/+git/launchpad/+merge/453838
-- 
Your team Launchpad code reviewers is requested to review the proposed merge of ~pelpsi/launchpad:ftpmaster-publisher-configuration into launchpad:master.
diff --git a/charm/launchpad-ftpmaster-publisher/config.yaml b/charm/launchpad-ftpmaster-publisher/config.yaml
index d871574..b33716b 100644
--- a/charm/launchpad-ftpmaster-publisher/config.yaml
+++ b/charm/launchpad-ftpmaster-publisher/config.yaml
@@ -7,6 +7,18 @@ options:
     type: string
     description: Domain name for the published Ubuntu archive.
     default: "archive.ubuntu.test"
+  ftp_auth_users:
+    type: string
+    description: Authenticated users for rsync ubuntu
+    default: ""
+  ftp_secrets:
+    type: string
+    description: Path for rsync secrets
+    default: ""
+  partner_auth_users:
+    type: string
+    description: Authenticated users for rsync ubuntu-partner
+    default: ""
   signing_client_public_key:
     type: string
     description: Public key for encrypting communication between client and signing service. 
@@ -23,3 +35,11 @@ options:
     type: string
     description: Webmaster contact address.
     default: "webmaster@xxxxxxxxxxxxxx"
+  ubuntu_dists_hosts_allow:
+    type: string
+    description: IP addresses permitted to connect to ubuntu/dists.
+    default: ""
+  ubuntu_germinate_hosts_allow:
+    type: string
+    description: IP addresses permitted to connect to ubuntu-germinate.
+    default: ""
\ No newline at end of file
diff --git a/charm/launchpad-ftpmaster-publisher/reactive/launchpad-ftpmaster-publisher.py b/charm/launchpad-ftpmaster-publisher/reactive/launchpad-ftpmaster-publisher.py
index 0342c89..eb1a447 100644
--- a/charm/launchpad-ftpmaster-publisher/reactive/launchpad-ftpmaster-publisher.py
+++ b/charm/launchpad-ftpmaster-publisher/reactive/launchpad-ftpmaster-publisher.py
@@ -57,6 +57,12 @@ def configure():
         "launchpad-ftpmaster-publisher-secrets-lazr.conf",
         secret=True,
     )
+    templating.render(
+        "publisher.conf.j2",
+        "/etc/rsync-juju.d/publisher.conf",
+        config,
+        perms=0o644,
+    )
     configure_email(config, "launchpad-ftpmaster-publisher")
     configure_logrotate(config)
     configure_cron(config, "crontab.j2")
diff --git a/charm/launchpad-ftpmaster-publisher/templates/publisher.conf.j2 b/charm/launchpad-ftpmaster-publisher/templates/publisher.conf.j2
new file mode 100644
index 0000000..e5d5f9a
--- /dev/null
+++ b/charm/launchpad-ftpmaster-publisher/templates/publisher.conf.j2
@@ -0,0 +1,32 @@
+max connections = 25
+
+[ftp]
+  path = {{ archives_dir }}/ubuntu-archive/ubuntu
+  comment = Ubuntu Archive
+  list = false
+  read only = true
+  auth users = {{ ftp_auth_users }}
+  secrets file = {{ ftp_secrets }}
+
+[partner]
+  path = {{ archives_dir }}/ubuntu-archive/ubuntu-partner/
+  comment = Partner
+  list = false
+  read only = true
+  auth users = {{ partner_auth_users }}
+  secrets file = {{ ftp_secrets }}
+
+[ubuntu-dists]
+  path = {{ archives_dir }}/ubuntu-archive/ubuntu/dists
+  comment = Ubuntu Archive Dists
+  list = false
+  read only = true
+  hosts allow = {{ ubuntu_dists_hosts_allow }}
+
+[ubuntu-germinate]
+  path = {{ archives_dir }}/ubuntu-archive/ubuntu-germinate
+  comment = Ubuntu Archive Germinate output
+  list = false
+  read only = true
+  hosts allow = {{ ubuntu_germinate_hosts_allow }}
+

Follow ups