← Back to team overview

launchpad-reviewers team mailing list archive

[Merge] ~alvarocs/launchpad-mojo-specs/+git/private:fetch-service-bump-to-314-prod into launchpad-mojo-specs:master

 

Alvaro Crespo Serrano has proposed merging ~alvarocs/launchpad-mojo-specs/+git/private:fetch-service-bump-to-314-prod into launchpad-mojo-specs:master.

Commit message:
lp-fetch-service: Bump fetch-service snap revision from 277 to 314

Requested reviews:
  Canonical Launchpad Engineering (launchpad)

For more details, see:
https://code.launchpad.net/~alvarocs/launchpad-mojo-specs/+git/private/+merge/488608

bump fetch service snap revision in prod
-- 
Your team Launchpad code reviewers is subscribed to branch ~alvarocs/launchpad-mojo-specs/+git/private:fetch-service-bump-to-314-prod.
diff --git a/lp-builder-proxy/bundle.yaml b/lp-builder-proxy/bundle.yaml
index 7da1211..9b80842 100644
--- a/lp-builder-proxy/bundle.yaml
+++ b/lp-builder-proxy/bundle.yaml
@@ -94,6 +94,11 @@ applications:
             # Platform engineering team builders
             10.145.212.0/24,
 {%- endif %}
+{%- if stage_name == "qastaging" %}
+            # Add new builders created inside the platform engineering team
+            # infrastructure.
+            10.145.212.0/24,
+{%- endif %}
             ]
           http_access: deny
         # Allow certain hosts on denied networks.  dstdomain is unsafe.  DO
diff --git a/lp-fetch-service/README.md b/lp-fetch-service/README.md
new file mode 100644
index 0000000..1ad35cd
--- /dev/null
+++ b/lp-fetch-service/README.md
@@ -0,0 +1,21 @@
+# Launchpad fetch service
+
+This spec deploys Launchpad's fetch service.
+
+You can run it locally using Juju's LXD support and Mojo. First, configure
+your environment:
+
+    export MOJO_ROOT="$HOME/.local/share/mojo"
+    export MOJO_PROJECT=mojo-lp-fetch-service
+    export MOJO_WORKSPACE=devel
+    export MOJO_SERIES=jammy
+    export MOJO_SPEC="$HOME/spec"
+    export MOJO_STAGE=lp-fetch-service/devel
+
+Then run the spec using Mojo:
+
+    mojo project-new -c containerless
+    mojo workspace-new
+    mojo run
+
+You must have python3-yaml installed.
diff --git a/lp-fetch-service/bundle.yaml b/lp-fetch-service/bundle.yaml
new file mode 100644
index 0000000..4b1ec30
--- /dev/null
+++ b/lp-fetch-service/bundle.yaml
@@ -0,0 +1,214 @@
+{%- if stage_name == "production" %}
+{%-   set devel = False %}
+{%-   set fetch_service_snap_revision = 314 %}
+{%-   set nagios_context = "lp-prodstack-fetch-service" %}
+{%-   set nagios_hostgroups = "prodstack-lp" %}
+{%-   set nagios_master = "nagios.ps5.internal" %}
+{%- elif stage_name == "qastaging" %}
+{%-   set devel = False %}
+{%-   set fetch_service_snap_revision = 314 %}
+{%-   set nagios_context = "lp-stagingstack-fetch-service" %}
+{%-   set nagios_hostgroups = "stagingstack-lp" %}
+{%-   set nagios_master = "devops-nagios.ps5.internal" %}
+{%- else %}
+{%-   set devel = True %}
+{%-   set fetch_service_snap_revision = 314 %}
+{%-   set nagios_context = "lp-devel-fetch-service" %}
+{%-   set nagios_hostgroups = "devel-lp" %}
+{#-   The configured nagios_master doesn't have to be real, but it does have
+      to resolve. #}
+{%-   set nagios_master = "localhost" %}
+{%- endif -%}
+
+series: jammy
+applications:
+  fetch-service:
+    charm: ch:fetch-service
+    channel: beta
+    revision: 20
+    num_units: 1
+    expose: true
+    options:
+        {#- Inspectors configuration for the fetch service. #}
+        inspectors: |-
+          git:
+            urls:
+            {%- if stage_name == "production" %}
+              - https://git.pkg.store:443/**
+              - https://git.staging.snapcraftcontent.com:443/**
+            {%- elif stage_name == "qastaging" %}
+              - https://git.pkg.store:443/**
+              - https://git.staging.snapcraftcontent.com:443/**
+              - https://git.qastaging.paddev.net:443/**
+            {%- else %}
+              - https://git.pkg.store:443/**
+              - https://git.staging.snapcraftcontent.com:443/**
+              - https://git.qastaging.paddev.net:443/**
+            {%- endif %}
+
+          crafts:
+            urls:
+            {%- if stage_name == "production" %}
+              - https://git.pkg.store:443/**
+              - https://git.staging.snapcraftcontent.com:443/**
+            {%- elif stage_name == "qastaging" %}
+              - https://git.pkg.store:443/**
+              - https://git.staging.snapcraftcontent.com:443/**
+              - https://git.qastaging.paddev.net:443/**
+            {%- else %}
+              - https://git.pkg.store:443/**
+              - https://git.staging.snapcraftcontent.com:443/**
+              - https://git.qastaging.paddev.net:443/**
+            {%- endif %}
+
+          snap:
+            snap-declaration:
+              - name: publisher-id
+                value: [canonical]
+
+          store:
+            urls:
+              - https://api.staging.snapcraft.io:443/v2/bins/info/**
+
+          bldbin:
+            urls:
+              - https://api.staging.snapcraft.io:443/api/v1/bins/download/**
+              - https://canonical-*.cdn.staging.snapcraftcontent.com:443/download-origin/canonical-*/**
+
+          apt:
+            repositories:
+              default:
+                urls:
+                  - http://archive.ubuntu.com/ubuntu
+                  - http://*.archive.ubuntu.com/ubuntu
+                  - http://security.ubuntu.com/ubuntu
+                  - http://ports.ubuntu.com/ubuntu-ports
+                  - http://ftpmaster.internal/ubuntu
+                dists:
+                  - "*"
+                components:
+                  - "*"
+                public-key: |
+                  -----BEGIN PGP PUBLIC KEY BLOCK-----
+
+                  mQINBFufwdoBEADv/Gxytx/LcSXYuM0MwKojbBye81s0G1nEx+lz6VAUpIUZnbkq
+                  dXBHC+dwrGS/CeeLuAjPRLU8AoxE/jjvZVp8xFGEWHYdklqXGZ/gJfP5d3fIUBtZ
+                  HZEJl8B8m9pMHf/AQQdsC+YzizSG5t5Mhnotw044LXtdEEkx2t6Jz0OGrh+5Ioxq
+                  X7pZiq6Cv19BohaUioKMdp7ES6RYfN7ol6HSLFlrMXtVfh/ijpN9j3ZhVGVeRC8k
+                  KHQsJ5PkIbmvxBiUh7SJmfZUx0IQhNMaDHXfdZAGNtnhzzNReb1FqNLSVkrS/Pns
+                  AQzMhG1BDm2VOSF64jebKXffFqM5LXRQTeqTLsjUbbrqR6s/GCO8UF7jfUj6I7ta
+                  LygmsHO/JD4jpKRC0gbpUBfaiJyLvuepx3kWoqL3sN0LhlMI80+fA7GTvoOx4tpq
+                  VlzlE6TajYu+jfW3QpOFS5ewEMdL26hzxsZg/geZvTbArcP+OsJKRmhv4kNo6Ayd
+                  yHQ/3ZV/f3X9mT3/SPLbJaumkgp3Yzd6t5PeBu+ZQk/mN5WNNuaihNEV7llb1Zhv
+                  Y0Fxu9BVd/BNl0rzuxp3rIinB2TX2SCg7wE5xXkwXuQ/2eTDE0v0HlGntkuZjGow
+                  DZkxHZQSxZVOzdZCRVaX/WEFLpKa2AQpw5RJrQ4oZ/OfifXyJzP27o03wQARAQAB
+                  tEJVYnVudHUgQXJjaGl2ZSBBdXRvbWF0aWMgU2lnbmluZyBLZXkgKDIwMTgpIDxm
+                  dHBtYXN0ZXJAdWJ1bnR1LmNvbT6JAjgEEwEKACIFAlufwdoCGwMGCwkIBwMCBhUI
+                  AgkKCwQWAgMBAh4BAheAAAoJEIcZINGZG8k8LHMQAKS2cnxz/5WaoCOWArf5g6UH
+                  beOCgc5DBm0hCuFDZWWv427aGei3CPuLw0DGLCXZdyc5dqE8mvjMlOmmAKKlj1uG
+                  g3TYCbQWjWPeMnBPZbkFgkZoXJ7/6CB7bWRht1sHzpt1LTZ+SYDwOwJ68QRp7DRa
+                  Zl9Y6QiUbeuhq2DUcTofVbBxbhrckN4ZteLvm+/nG9m/ciopc66LwRdkxqfJ32Cy
+                  q+1TS5VaIJDG7DWziG+Kbu6qCDM4QNlg3LH7p14CrRxAbc4lvohRgsV4eQqsIcdF
+                  kuVY5HPPj2K8TqpY6STe8Gh0aprG1RV8ZKay3KSMpnyV1fAKn4fM9byiLzQAovC0
+                  LZ9MMMsrAS/45AvC3IEKSShjLFn1X1dRCiO6/7jmZEoZtAp53hkf8SMBsi78hVNr
+                  BumZwfIdBA1v22+LY4xQK8q4XCoRcA9G+pvzU9YVW7cRnDZZGl0uwOw7z9PkQBF5
+                  KFKjWDz4fCk+K6+YtGpovGKekGBb8I7EA6UpvPgqA/QdI0t1IBP0N06RQcs1fUaA
+                  QEtz6DGy5zkRhR4pGSZn+dFET7PdAjEK84y7BdY4t+U1jcSIvBj0F2B7LwRL7xGp
+                  SpIKi/ekAXLs117bvFHaCvmUYN7JVp1GMmVFxhIdx6CFm3fxG8QjNb5tere/YqK+
+                  uOgcXny1UlwtCUzlrSaP
+                  =9AdM
+                  -----END PGP PUBLIC KEY BLOCK-----
+              esm:
+                urls:
+                  - https://esm.ubuntu.com:443/*/ubuntu
+                dists:
+                  - "*"
+                components:
+                  - "*"
+                public-key: |
+                  -----BEGIN PGP PUBLIC KEY BLOCK-----
+                  Comment: Hostname:
+                  Version: Hockeypuck 2.2
+
+                  xsFNBF3WVA4BEAC7MDr8HClfKptSd4VeB12Vy+Ao/4NpY2ITdkRed4vfh/4eBWWn
+                  3+in6So2ekweifACSxScB/M9zVObsI1cab7QPMkIiATNUfIyOEP7iNWLX4+AytM1
+                  LP3bZo8OpghnLZNstCGbiRUO4CDNmCI04DOPCu9EVEO4WWNuWIMRwCLShDSf7Cid
+                  J2fn2TT/7vsmA4eI3YnAne+u8g4X2zMHQFkHANhylB0lPyThXo5jaxHImzm4wf/2
+                  LF8f1Y1nRQObS2jcvYc3fm9B7iOGpyNAw3h6hrPKH5T9tY/ZoMtFHqn66J1CBSHb
+                  hDkEvA46X50su4yAHeSiEG/hMYG7SoHzmAsjEXnvkTIE41WhmxlidQnRs2uWy34U
+                  7VmOpaidWn3R99fNHYOtSOB6bpIvls8snWSQ63jcFXnt05nVZsp/Ixzl0Oqitynx
+                  DFwoxEwt3ZuCHwxbx2vZ+FiZXVFN7I0IyBDOEL6XS27FNaMCZ7Q/6z/ckdWto55E
+                  264OWf9lnw31bXFXHWSusRXWzD6FK8dqWgjtrWwRxlvF4jm688lqpjac6fFES3UK
+                  BhjyHXFGL/+HHZ9CNxlLYF5QnXq1mGR0Ykw975u8KoOFSLBqsx+1a21m6dfzujY7
+                  2Gq6Sju+9Yo1aOF+CNvTMYdRBoDL4sFj6VAmUsszMA5aAb+82pOCaDvGJQARAQAB
+                  zTVVYnVudHUgQXBwcyBBdXRvbWF0aWMgU2lnbmluZyBLZXkgPGVzbUBjYW5vbmlj
+                  YWwuY29tPsLBeAQTAQIAIgUCXdZUDgIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgEC
+                  F4AACgkQqwGhAdtTkHuTOw/8Czv42TSpwHz+eNtl3ZFyxta9rR/qWC3h+vMu0R/l
+                  5KU3aQQOygWOoUcr1QTPSSg3v/H+v/8vqVq2UuUxSIfpMxBj2kIX2vqskv6Roez7
+                  xR8lVDa0a47z/NYMfKpxrEJxOLh/c7I6aAsa597bTqDHtucHL/22BvfUJJqw6jq1
+                  7SswP5lqKPBFz7x+E2hgfJE7Vn7h0ICm29FkWnOeTKfj8VwTAeKXKUI9Hw6+aqr9
+                  29Y2NdLsYZ57mpivRLNM9sBZoF3avP1pUC2k0IwP3dwh4AxUMXjRRPh173iXBfR2
+                  yAf1lWET/5+8dSBrfFIZSo+FF/EEBmqIVtJpHkq8+YxUbCLbkoikRi2kwrgyXLEn
+                  FqxSU2Ab0xurFHiHcJoCGVD38xjznO5cQl7H4K9+B/rFpTTowOHbOcFpKAzpYqB5
+                  8rnR1yRSsB33zac8xesUIfzYWRtLc5/VIb5mOkWlb62d8emILx2XuRFVjKq6mKki
+                  oGckhDUOuEFrjW1cQq+PWBBxyJoXcy6wGSoPJ/ELeaf9zg8SF0jwuN6BPHVBeJ/E
+                  W53zR5iV0N9fRT+M2JN5tc5HenO92xLgPAh+GPWLYmPdTmHu+kFozqsHx/NUw2iP
+                  PBL6Q1VZytt2Uf6qLPUx7GpYMKf42Vldb0feFo/YA/lzOgPlY29pDLKXbse6o+Sr
+                  kmnCwPMEEAEKAB0WIQSuFW2FH6EUY505Vy5peOGN+xAtAgUCZYHw2QAKCRBpeOGN
+                  +xAtAsFGC/sElB6xJDM0taBAqAis+PuRQ82HyB9a5DuvkaKqDX49TEM2yq+ikYQl
+                  LfG4rJTHusbK6YbK/phXlo0VmNYWQc1VFqKSUzSWPAKDmzAajDpXU6PCKk+MHsY2
+                  pi8DnGfAjHbe3HHXm3/53eoAFNJLtM21D2f/70pWngIRYrcOWck1NzPgONxHiA8i
+                  EyC+CD6xTVTeXX0jRdqTApmkhfSEi1/1ornevzgGVQscUzkLgdtLc7hzCC+S3Hv4
+                  lDjh4O27LZNiYy2pShMM5znGNLEace1zvcL+qau4xg/p3ZohopcfsECvBZcjtIHN
+                  UDDGwSkFzPN7mtRihdS0JEZTnzDF9lJoSCTiynJgaR9rGILwRBXhLC5b78hBUKxH
+                  IYre9rrmr0OpfKxRPJEUZkhn4lzCRscmoFX7yDUYCUmzJM2RLXZ4NRJk0oMfQExw
+                  tzSX2TxxAm4nTPmqimFY2BWofbus0wpivyXLKnmfbdXarPlV+nRj1uVbMoyiEZ4f
+                  hGtjjxVBWvfOwU0EXdZUDgEQAKBoUuIvCP2R5LLd9AKQoDPfDW7zcr8jywLx1ph3
+                  U3rYJ/liMKv+xTQ0DYvqo3ROTe5oQ2+haJ4Ns0bkynSMg+48tgrnu7iYmJ8L1ZdG
+                  V8HxhTVh9zvSwQpoz5JdJ5FEGo5t2/whGdQfJvp8orzK7bUA2MORtN6s7iWDHZKu
+                  tEZrYztniir+0zA6Fq4RmE0xwsTOYaVmqBiCDWZujIE4tccOBOuvd2yBu6j6EITJ
+                  oaFn981tDFd4WzDWBIJhllH2u3QgzizXG8QswlI52FARHEg8Vin9sAz/jqEo9qCb
+                  SX+SpYQdgSMvCKJSC0tFZD9kKSEjZEjXLeB3yQ5BOaLa5q6hDd6xbSTS4yt9lDw/
+                  gb2ZQtu4kNZikib+4S8dOyYiLhoBWU6E4vWL8DEKYhY3MiicFdGtDd4pudajru9+
+                  bnooBClhjllcW2k3zrNc2uyfSSQF0zXNtmqrkmHmDKrn/bybcQs4mU4Owt8R5nkX
+                  efYVYd/zA19yQFSJLne+Thzjyl4v04onYW5CkGxpO9Ol+sjnyhgSlf/PNrv4hj1a
+                  /RDX4292g3zxCE9W8jThXRO6Xuo3CwIUk6Ad2Fuud+D7NWIo3nTpBi+Z7KwkxuPJ
+                  x5LPvNBwwyjw7tokavaxVWC7qbIWTq6ZiUrOzTgG0By1FHbzBfAZ0UADGDSxeKtY
+                  4lkTABEBAAHCwV8EGAECAAkFAl3WVA4CGwwACgkQqwGhAdtTkHs4exAAhxMLSXtG
+                  NWsb3K02AOZpdJs68RPJsk47XbnfqZa7LaCxtxlIFU94i1l0j3TvRNm6AEoAnvzq
+                  ZL3fz0mupVDEE3rO7+UY3aUeEaa21GcDFwTtTzp5haGCggv9Qt6k9tqoQg7ibA/u
+                  bDWWZXOrhnS+0TlFdYdgbjXGt0Ld6IT8ldECWoMROdG0/goOweiYK0At4mrPcEF4
+                  PdaK0zzuff9F2rfUkWD6ltqdshgv8OvIKrKowdy3z39JJo1niDqIgt076CyXzlUh
+                  uAzEy+tYitgmMLA1VgsbdWYcTl2yPpZaivITiaQYgIcXSBCCwQbeNhrzSfCrt/p3
+                  egB6m4gzrrGax1VLRlPayC+g70wHkg6YipCawwPGLbh4PeVxXBSG6NTJi9TVGWiL
+                  glRf8hMqwlaYCpCbhtCqbres6M+KS7b8EIzSlYcwzzjChHRyTq5awXQK+D7DzeG2
+                  OGqu0BDRo6SCJxJRnvjqkJ6nLTYGYo8ZZRrCDpUeoT75GmYyXo5jpzVoQC5FHC9N
+                  jgVGSjmBTHLQWXFiS7L8QF9H5pGVWqfDNxF3T7k1lh6A5UH71y+ASzisUUU+0erC
+                  HhCzCnXmXxMAz3DC+bgApSecJcKy9Yth5XLA7Y+9Ol0GK4Hg9AMG8KlRVomllE52
+                  gW1RgFwq9IQ21MOzB9P6bUCyfF3cBYjgVT4=
+                  =tskY
+                  -----END PGP PUBLIC KEY BLOCK-----
+        {#- Revision configuration for the fetch service snap. #}
+        revision: {{ fetch_service_snap_revision }}
+        log_hosts_allow: "launchpad-bastion-ps5.internal"
+        log.file: "fetch-service.log"
+  nrpe:
+    charm: ch:nrpe
+    channel: stable
+    revision: 121
+    options:
+      export_nagios_definitions: true
+      hostgroups: "{{ nagios_hostgroups }}"
+      nagios_host_context: "{{ nagios_context }}"
+      nagios_master: "{{ nagios_master }}"
+  telegraf:
+    charm: ch:telegraf
+    channel: stable
+    revision: 75
+    expose: true
+    options:
+      install_method: snap
+
+relations:
+- ["nrpe", "fetch-service"]
+- ["telegraf:juju-info", "fetch-service:juju-info"]
diff --git a/lp-fetch-service/configs/custom-secgroups-staging.yaml b/lp-fetch-service/configs/custom-secgroups-staging.yaml
new file mode 100644
index 0000000..78f1546
--- /dev/null
+++ b/lp-fetch-service/configs/custom-secgroups-staging.yaml
@@ -0,0 +1,9 @@
+applications:
+    fetch-service:
+        type: neutron
+        rules:
+            - rsync-logs
+rules:
+    rsync-logs:
+        # Allow launchpad-bastion-ps5 to fetch logs.
+        - {"protocol": "tcp", "family": "IPv4", "port": 873, "cidr": "10.131.10.100/32"}
diff --git a/lp-fetch-service/manifest b/lp-fetch-service/manifest
new file mode 120000
index 0000000..e1c38b1
--- /dev/null
+++ b/lp-fetch-service/manifest
@@ -0,0 +1 @@
+manifests/deploy
\ No newline at end of file
diff --git a/lp-fetch-service/manifest-perform-autodeploy b/lp-fetch-service/manifest-perform-autodeploy
new file mode 120000
index 0000000..e1c38b1
--- /dev/null
+++ b/lp-fetch-service/manifest-perform-autodeploy
@@ -0,0 +1 @@
+manifests/deploy
\ No newline at end of file
diff --git a/lp-fetch-service/manifest-verify b/lp-fetch-service/manifest-verify
new file mode 120000
index 0000000..6e02de4
--- /dev/null
+++ b/lp-fetch-service/manifest-verify
@@ -0,0 +1 @@
+manifests/verify
\ No newline at end of file
diff --git a/lp-fetch-service/manifests/deploy b/lp-fetch-service/manifests/deploy
new file mode 100644
index 0000000..2d52196
--- /dev/null
+++ b/lp-fetch-service/manifests/deploy
@@ -0,0 +1,5 @@
+script config=predeploy
+bundle config=bundle.yaml max-wait=900 local=deploy-secrets
+juju-check-wait
+include config=manifests/secgroups
+include config=manifests/verify
diff --git a/lp-fetch-service/manifests/secgroups b/lp-fetch-service/manifests/secgroups
new file mode 100644
index 0000000..8c438ee
--- /dev/null
+++ b/lp-fetch-service/manifests/secgroups
@@ -0,0 +1 @@
+script config=utils/custom-secgroups.py SKIP_STAGES=devel
diff --git a/lp-fetch-service/manifests/verify b/lp-fetch-service/manifests/verify
new file mode 100644
index 0000000..f25f902
--- /dev/null
+++ b/lp-fetch-service/manifests/verify
@@ -0,0 +1,4 @@
+juju-check-wait
+# It occasionally takes a little while for all the servers to start
+# accepting connections.
+verify retry=3
diff --git a/lp-fetch-service/predeploy b/lp-fetch-service/predeploy
new file mode 100755
index 0000000..e6e2fbc
--- /dev/null
+++ b/lp-fetch-service/predeploy
@@ -0,0 +1,3 @@
+#! /bin/sh
+set -e
+exit 0
diff --git a/lp-fetch-service/utils b/lp-fetch-service/utils
new file mode 120000
index 0000000..468ba70
--- /dev/null
+++ b/lp-fetch-service/utils
@@ -0,0 +1 @@
+../utils
\ No newline at end of file
diff --git a/lp-fetch-service/verify b/lp-fetch-service/verify
new file mode 100755
index 0000000..df9e6ef
--- /dev/null
+++ b/lp-fetch-service/verify
@@ -0,0 +1,8 @@
+#! /bin/sh
+set -e
+
+TOP="${0%/*}"
+
+export EXTRA_SKIP_CHECKS="check_swap${EXTRA_SKIP_CHECKS:+|${EXTRA_SKIP_CHECKS}}"
+
+exec "$TOP/utils/verify"

Follow ups