← Back to team overview

launchpad-reviewers team mailing list archive

[Merge] ~cjwatson/rutabaga:charmcraft into rutabaga:master

 

Colin Watson has proposed merging ~cjwatson/rutabaga:charmcraft into rutabaga:master.

Commit message:
charm: Build using charmcraft

Requested reviews:
  Launchpad code reviewers (launchpad-reviewers)

For more details, see:
https://code.launchpad.net/~cjwatson/rutabaga/+git/rutabaga/+merge/451680

I've left the old build system in place as well for a transitional period, but this is much simpler and will let us use Launchpad charm recipes.
-- 
Your team Launchpad code reviewers is requested to review the proposed merge of ~cjwatson/rutabaga:charmcraft into rutabaga:master.
diff --git a/charm/.gitignore b/charm/.gitignore
index 80d9ebb..da831d3 100644
--- a/charm/.gitignore
+++ b/charm/.gitignore
@@ -1,4 +1,4 @@
+*.charm
 bundle.yaml
 dist
-interface/*/codetree-collect-info.yaml
 tmp
diff --git a/charm/dependencies.txt b/charm/dependencies.txt
index 96a28e1..40c6c62 100644
--- a/charm/dependencies.txt
+++ b/charm/dependencies.txt
@@ -1,7 +1,6 @@
 interface			@
 interface/http			git+https://github.com/juju-solutions/interface-http;revno=632131b1
 interface/nrpe-external-master	git+https://github.com/canonical-ols/nrpe-external-master-interface;revno=2e0e1fde
-interface/squid-auth-helper	../../../interface/squid-auth-helper;method=link
 
 layer				@
 layer/apt			git+https://git.launchpad.net/layer-apt;revno=3caa4a89
diff --git a/charm/rutabaga-auth-helper/charmcraft.yaml b/charm/rutabaga-auth-helper/charmcraft.yaml
new file mode 100644
index 0000000..49bca9e
--- /dev/null
+++ b/charm/rutabaga-auth-helper/charmcraft.yaml
@@ -0,0 +1,87 @@
+type: charm
+bases:
+  - build-on:
+    - name: ubuntu
+      channel: "20.04"
+      architectures: [amd64]
+    run-on:
+    - name: ubuntu
+      channel: "20.04"
+      architectures: [amd64]
+parts:
+  charm-wheels:
+    source: https://git.launchpad.net/~ubuntuone-hackers/ols-charm-deps/+git/wheels
+    source-commit: "7bcd79fa4fca485eaf15ee9e2ee16f3ab902678d"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": charm-wheels/
+    prime: ["-charm-wheels"]
+  interface-http:
+    source: https://github.com/juju-solutions/interface-http
+    source-commit: "632131b1f122daf6fb601fd4c9f1e4dbb1a92e09"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/interface/http/
+    stage: [layers]
+    prime: ["-layers"]
+  layer-apt:
+    source: https://git.launchpad.net/layer-apt
+    source-commit: "3caa4a8951b9efbba2174e0deca36ae9edb4a75e"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/layer/apt/
+    stage: [layers]
+    prime: ["-layers"]
+  layer-basic:
+    source: https://github.com/juju-solutions/layer-basic
+    source-commit: "e3affe74ff0c33e2fbfc560fcd1d873726c40233"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/layer/basic/
+    stage: [layers]
+    prime: ["-layers"]
+  layer-options:
+    source: https://github.com/juju-solutions/layer-options
+    source-commit: "fcdcea4e5de3e1556c24e6704607862d0ba00a56"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/layer/options/
+    stage: [layers]
+    prime: ["-layers"]
+  layer-status:
+    source: https://github.com/juju-solutions/layer-status
+    source-commit: "a7d7b6423db37a47611310039e6ed1929c0a2eab"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/layer/status/
+    stage: [layers]
+    prime: ["-layers"]
+  charm:
+    after:
+      - charm-wheels
+      - interface-http
+      - layer-apt
+      - layer-basic
+      - layer-options
+      - layer-status
+    source: .
+    plugin: reactive
+    build-snaps: [charm]
+    build-environment:
+      - CHARM_LAYERS_DIR: $CRAFT_STAGE/layers/layer
+      - CHARM_INTERFACES_DIR: $CRAFT_STAGE/layers/interface
+      - PIP_NO_INDEX: "true"
+      - PIP_FIND_LINKS: $CRAFT_STAGE/charm-wheels
+    reactive-charm-build-arguments: [--binary-wheels-from-source]
diff --git a/charm/rutabaga-auth-helper/layer.yaml b/charm/rutabaga-auth-helper/layer.yaml
index 1d931ee..aef77e4 100644
--- a/charm/rutabaga-auth-helper/layer.yaml
+++ b/charm/rutabaga-auth-helper/layer.yaml
@@ -3,7 +3,6 @@ includes:
     - layer:apt
     - layer:status
     - interface:http
-    - interface:squid-auth-helper
 repo: https://git.launchpad.net/rutabaga
 options:
     basic:
diff --git a/charm/rutabaga-auth-helper/metadata.yaml b/charm/rutabaga-auth-helper/metadata.yaml
index e2b2a22..8287281 100644
--- a/charm/rutabaga-auth-helper/metadata.yaml
+++ b/charm/rutabaga-auth-helper/metadata.yaml
@@ -1,7 +1,7 @@
 name: rutabaga-auth-helper
 display-name: Rutabaga authentication helper for Squid
 summary: Squid helper to authenticate requests against Rutabaga
-maintainer: Colin Watson <cjwatson@xxxxxxxxxxxxx>
+maintainer: Launchpad Developers <launchpad-dev@xxxxxxxxxxxxxxxxxxx>
 description: >
   Rutabaga is a microservice for creating and revoking time-limited
   authentication tokens in Squid.  This authentication helper hooks into
@@ -10,10 +10,6 @@ tags:
   # https://docs.jujucharms.com/devel/en/authors-charm-metadata#charm-store-fields
   - network
   - web_server
-series:
-  - focal
-  - bionic
-  - xenial
 subordinate: true
 requires:
   squid-auth-helper:
diff --git a/charm/interface/squid-auth-helper/interface.yaml b/charm/rutabaga-auth-helper/reactive/relations/squid-auth-helper/interface.yaml
similarity index 100%
rename from charm/interface/squid-auth-helper/interface.yaml
rename to charm/rutabaga-auth-helper/reactive/relations/squid-auth-helper/interface.yaml
diff --git a/charm/interface/squid-auth-helper/requires.py b/charm/rutabaga-auth-helper/reactive/relations/squid-auth-helper/requires.py
similarity index 100%
rename from charm/interface/squid-auth-helper/requires.py
rename to charm/rutabaga-auth-helper/reactive/relations/squid-auth-helper/requires.py
diff --git a/charm/rutabaga/charmcraft.yaml b/charm/rutabaga/charmcraft.yaml
new file mode 100644
index 0000000..4fc48b8
--- /dev/null
+++ b/charm/rutabaga/charmcraft.yaml
@@ -0,0 +1,98 @@
+type: charm
+bases:
+  - build-on:
+    - name: ubuntu
+      channel: "20.04"
+      architectures: [amd64]
+    run-on:
+    - name: ubuntu
+      channel: "20.04"
+      architectures: [amd64]
+parts:
+  charm-wheels:
+    source: https://git.launchpad.net/~ubuntuone-hackers/ols-charm-deps/+git/wheels
+    source-commit: "7bcd79fa4fca485eaf15ee9e2ee16f3ab902678d"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": charm-wheels/
+    prime: ["-charm-wheels"]
+  interface-http:
+    source: https://github.com/juju-solutions/interface-http
+    source-commit: "632131b1f122daf6fb601fd4c9f1e4dbb1a92e09"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/interface/http/
+    stage: [layers]
+    prime: ["-layers"]
+  interface-nrpe-external-master:
+    source: https://github.com/canonical-ols/nrpe-external-master-interface
+    source-commit: "2e0e1fdea6d83b55078200aacb537d60013ec5bc"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/interface/nrpe-external-master/
+    stage: [layers]
+    prime: ["-layers"]
+  layer-apt:
+    source: https://git.launchpad.net/layer-apt
+    source-commit: "3caa4a8951b9efbba2174e0deca36ae9edb4a75e"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/layer/apt/
+    stage: [layers]
+    prime: ["-layers"]
+  layer-basic:
+    source: https://github.com/juju-solutions/layer-basic
+    source-commit: "e3affe74ff0c33e2fbfc560fcd1d873726c40233"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/layer/basic/
+    stage: [layers]
+    prime: ["-layers"]
+  layer-options:
+    source: https://github.com/juju-solutions/layer-options
+    source-commit: "fcdcea4e5de3e1556c24e6704607862d0ba00a56"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/layer/options/
+    stage: [layers]
+    prime: ["-layers"]
+  layer-status:
+    source: https://github.com/juju-solutions/layer-status
+    source-commit: "a7d7b6423db37a47611310039e6ed1929c0a2eab"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/layer/status/
+    stage: [layers]
+    prime: ["-layers"]
+  charm:
+    after:
+      - charm-wheels
+      - interface-http
+      - interface-nrpe-external-master
+      - layer-apt
+      - layer-basic
+      - layer-options
+      - layer-status
+    source: .
+    plugin: reactive
+    build-snaps: [charm]
+    build-environment:
+      - CHARM_LAYERS_DIR: $CRAFT_STAGE/layers/layer
+      - CHARM_INTERFACES_DIR: $CRAFT_STAGE/layers/interface
+      - PIP_NO_INDEX: "true"
+      - PIP_FIND_LINKS: $CRAFT_STAGE/charm-wheels
+    reactive-charm-build-arguments: [--binary-wheels-from-source]
diff --git a/charm/rutabaga/metadata.yaml b/charm/rutabaga/metadata.yaml
index 7a4589a..1686add 100644
--- a/charm/rutabaga/metadata.yaml
+++ b/charm/rutabaga/metadata.yaml
@@ -1,7 +1,7 @@
 name: rutabaga
 display-name: Rutabaga
 summary: Microservice for managing authentication tokens in Squid
-maintainer: Colin Watson <cjwatson@xxxxxxxxxxxxx>
+maintainer: Launchpad Developers <launchpad-dev@xxxxxxxxxxxxxxxxxxx>
 description: >
   Rutabaga is a microservice for creating and revoking time-limited
   authentication tokens in Squid.
@@ -9,10 +9,6 @@ tags:
   # https://docs.jujucharms.com/devel/en/authors-charm-metadata#charm-store-fields
   - network
   - web_server
-series:
-  - focal
-  - bionic
-  - xenial
 subordinate: false
 provides:
   website: