← Back to team overview

launchpad-reviewers team mailing list archive

[Merge] ~ines-almeida/launchpad-mojo-specs/+git/private:lp-fetch-service into launchpad-mojo-specs:master

 

Ines Almeida has proposed merging ~ines-almeida/launchpad-mojo-specs/+git/private:lp-fetch-service into launchpad-mojo-specs:master.

Commit message:
lp-fetch-service: add num_units to bundle

Requested reviews:
  Canonical Launchpad Engineering (launchpad)

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

This was missing from the last MP. Without this, there are no units initiated
-- 
Your team Launchpad code reviewers is subscribed to branch ~ines-almeida/launchpad-mojo-specs/+git/private:lp-fetch-service.
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..f61625e
--- /dev/null
+++ b/lp-fetch-service/bundle.yaml
@@ -0,0 +1,23 @@
+{%- if stage_name == "production" %}
+{%-   set devel = False %}
+{%- elif stage_name == "qastaging" %}
+{%-   set devel = False %}
+{%- else %}
+{%-   set devel = True %}
+{%- endif -%}
+
+series: jammy
+applications:
+{%- if devel or stage_name == "qastaging" %}
+  fetch-service:
+    {#- While the fetch-service charm and snap are not public, we are deploying
+        a locally built charm. The lines below should be replaced with the path
+        to charmhub, channel and revision number once the charm and snap are
+        public. Currently, this expects the charm and snap to be copied to the
+        path where the bundle.yaml is rendered, in the mojo project folder (eg.
+        .../mojo/lp-fetch-service/jammy/devel/charms/lp-fetch-service/). #}
+    charm: "./fetch-service_ubuntu-22.04-amd64.charm"
+    resources:
+      snap: "./fetch-service.snap"
+    num_units: 1
+{%- endif %}
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