← Back to team overview

launchpad-reviewers team mailing list archive

[Merge] ~jugmac00/turnip:migrate-dependencies into turnip:master

 

Jürgen Gmach has proposed merging ~jugmac00/turnip:migrate-dependencies into turnip:master.

Commit message:
Use Charmcraft for building charms

Requested reviews:
  Launchpad code reviewers (launchpad-reviewers)

For more details, see:
https://code.launchpad.net/~jugmac00/turnip/+git/turnip/+merge/445039
-- 
Your team Launchpad code reviewers is requested to review the proposed merge of ~jugmac00/turnip:migrate-dependencies into turnip:master.
diff --git a/.gitignore b/.gitignore
index bc07593..61230b9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,3 +19,5 @@ TAGS
 turnip/version_info.py
 .tox/
 docs/_build/
+# do not track build artifacts
+*.charm
\ No newline at end of file
diff --git a/charm/turnip-api/charmcraft.yaml b/charm/turnip-api/charmcraft.yaml
new file mode 100644
index 0000000..60744e5
--- /dev/null
+++ b/charm/turnip-api/charmcraft.yaml
@@ -0,0 +1,151 @@
+type: charm
+bases:
+  - build-on:
+    - name: ubuntu
+      channel: "18.04"
+      architectures: [amd64]
+    run-on:
+    - name: ubuntu
+      channel: "18.04"
+      architectures: [amd64]
+parts:
+  charm-wheels:
+    source: https://git.launchpad.net/~canonical-launchpad-branches/turnip/+git/dependencies
+    source-commit: "030fe3e51edfe8e8c8b3590b52c4792b21631f01"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": charm-wheels/
+    prime:
+      - "-charm-wheels"
+  interface-rabbitmq:
+    source: https://github.com/openstack/charm-interface-rabbitmq
+    source-commit: "571f4864c2f942d92991b3f413323a04c6f56d72"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/interface/rabbitmq/
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  interface-http:
+    source: https://github.com/juju-solutions/interface-http
+    source-commit: "4a232c6998a0c7deac0c2362e7a9a4f1c776603b"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*":  layers/interface/http/
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  interface-mount:
+    source: https://github.com/juju-solutions/interface-mount
+    source-commit: "d5a2526fec9c3e8581f18b56e84a86871583e080"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/interface/mount/
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  interface-nrpe-external-master:
+    source: https://github.com/canonical-ols/nrpe-external-master-interface
+    source-commit: "20b2b9fb80613997cb99b8096040cbba72a0ef0c"
+    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: "cf78622e68fe1ca97eb8993c5adc2616f9e110b9"
+    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: "baf582236a7b946da4cd140fd6532a2e0c2774d5"
+    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: "02658f0f6b2d29316b79820b206cec532c0459c8"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/layer/status/
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  launchpad-layers:
+    source: https://git.launchpad.net/launchpad-layers
+    source-commit: "010076b94e548088d1501a77eefaa93d142db983"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      turnip-base: layers/layer/turnip-base
+      turnip-storage: layers/layer/turnip-storage
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  turnip-api:
+    after:
+      - charm-wheels
+      - interface-rabbitmq
+      - interface-http
+      - interface-mount
+      - interface-nrpe-external-master
+      - layer-apt
+      - layer-basic
+      - layer-options
+      - layer-status
+      - launchpad-layers
+    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/turnip-celery/charmcraft.yaml b/charm/turnip-celery/charmcraft.yaml
new file mode 100644
index 0000000..e19dd1a
--- /dev/null
+++ b/charm/turnip-celery/charmcraft.yaml
@@ -0,0 +1,151 @@
+type: charm
+bases:
+  - build-on:
+    - name: ubuntu
+      channel: "18.04"
+      architectures: [amd64]
+    run-on:
+    - name: ubuntu
+      channel: "18.04"
+      architectures: [amd64]
+parts:
+  charm-wheels:
+    source: https://git.launchpad.net/~canonical-launchpad-branches/turnip/+git/dependencies
+    source-commit: "030fe3e51edfe8e8c8b3590b52c4792b21631f01"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": charm-wheels/
+    prime:
+      - "-charm-wheels"
+  interface-rabbitmq:
+    source: https://github.com/openstack/charm-interface-rabbitmq
+    source-commit: "571f4864c2f942d92991b3f413323a04c6f56d72"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/interface/rabbitmq/
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  interface-http:
+    source: https://github.com/juju-solutions/interface-http
+    source-commit: "4a232c6998a0c7deac0c2362e7a9a4f1c776603b"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*":  layers/interface/http/
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  interface-mount:
+    source: https://github.com/juju-solutions/interface-mount
+    source-commit: "d5a2526fec9c3e8581f18b56e84a86871583e080"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/interface/mount/
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  interface-nrpe-external-master:
+    source: https://github.com/canonical-ols/nrpe-external-master-interface
+    source-commit: "20b2b9fb80613997cb99b8096040cbba72a0ef0c"
+    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: "cf78622e68fe1ca97eb8993c5adc2616f9e110b9"
+    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: "baf582236a7b946da4cd140fd6532a2e0c2774d5"
+    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: "02658f0f6b2d29316b79820b206cec532c0459c8"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/layer/status/
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  launchpad-layers:
+    source: https://git.launchpad.net/launchpad-layers
+    source-commit: "010076b94e548088d1501a77eefaa93d142db983"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      turnip-base: layers/layer/turnip-base
+      turnip-storage: layers/layer/turnip-storage
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  turnip-celery:
+    after:
+      - charm-wheels
+      - interface-rabbitmq
+      - interface-http
+      - interface-mount
+      - interface-nrpe-external-master
+      - layer-apt
+      - layer-basic
+      - layer-options
+      - layer-status
+      - launchpad-layers
+    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/turnip-pack-backend/charmcraft.yaml b/charm/turnip-pack-backend/charmcraft.yaml
new file mode 100644
index 0000000..7a23c6e
--- /dev/null
+++ b/charm/turnip-pack-backend/charmcraft.yaml
@@ -0,0 +1,151 @@
+type: charm
+bases:
+  - build-on:
+    - name: ubuntu
+      channel: "18.04"
+      architectures: [amd64]
+    run-on:
+    - name: ubuntu
+      channel: "18.04"
+      architectures: [amd64]
+parts:
+  charm-wheels:
+    source: https://git.launchpad.net/~canonical-launchpad-branches/turnip/+git/dependencies
+    source-commit: "030fe3e51edfe8e8c8b3590b52c4792b21631f01"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": charm-wheels/
+    prime:
+      - "-charm-wheels"
+  interface-rabbitmq:
+    source: https://github.com/openstack/charm-interface-rabbitmq
+    source-commit: "571f4864c2f942d92991b3f413323a04c6f56d72"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/interface/rabbitmq/
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  interface-http:
+    source: https://github.com/juju-solutions/interface-http
+    source-commit: "4a232c6998a0c7deac0c2362e7a9a4f1c776603b"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*":  layers/interface/http/
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  interface-mount:
+    source: https://github.com/juju-solutions/interface-mount
+    source-commit: "d5a2526fec9c3e8581f18b56e84a86871583e080"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/interface/mount/
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  interface-nrpe-external-master:
+    source: https://github.com/canonical-ols/nrpe-external-master-interface
+    source-commit: "20b2b9fb80613997cb99b8096040cbba72a0ef0c"
+    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: "cf78622e68fe1ca97eb8993c5adc2616f9e110b9"
+    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: "baf582236a7b946da4cd140fd6532a2e0c2774d5"
+    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: "02658f0f6b2d29316b79820b206cec532c0459c8"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/layer/status/
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  launchpad-layers:
+    source: https://git.launchpad.net/launchpad-layers
+    source-commit: "010076b94e548088d1501a77eefaa93d142db983"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      turnip-base: layers/layer/turnip-base
+      turnip-storage: layers/layer/turnip-storage
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  turnip-pack-backend:
+    after:
+      - charm-wheels
+      - interface-rabbitmq
+      - interface-http
+      - interface-mount
+      - interface-nrpe-external-master
+      - layer-apt
+      - layer-basic
+      - layer-options
+      - layer-status
+      - launchpad-layers
+    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/turnip-pack-frontend-git/charmcraft.yaml b/charm/turnip-pack-frontend-git/charmcraft.yaml
new file mode 100644
index 0000000..f828ef1
--- /dev/null
+++ b/charm/turnip-pack-frontend-git/charmcraft.yaml
@@ -0,0 +1,150 @@
+type: charm
+bases:
+  - build-on:
+    - name: ubuntu
+      channel: "18.04"
+      architectures: [amd64]
+    run-on:
+    - name: ubuntu
+      channel: "18.04"
+      architectures: [amd64]
+parts:
+  charm-wheels:
+    source: https://git.launchpad.net/~canonical-launchpad-branches/turnip/+git/dependencies
+    source-commit: "030fe3e51edfe8e8c8b3590b52c4792b21631f01"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": charm-wheels/
+    prime:
+      - "-charm-wheels"
+  interface-rabbitmq:
+    source: https://github.com/openstack/charm-interface-rabbitmq
+    source-commit: "571f4864c2f942d92991b3f413323a04c6f56d72"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/interface/rabbitmq/
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  interface-http:
+    source: https://github.com/juju-solutions/interface-http
+    source-commit: "4a232c6998a0c7deac0c2362e7a9a4f1c776603b"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*":  layers/interface/http/
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  interface-mount:
+    source: https://github.com/juju-solutions/interface-mount
+    source-commit: "d5a2526fec9c3e8581f18b56e84a86871583e080"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/interface/mount/
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  interface-nrpe-external-master:
+    source: https://github.com/canonical-ols/nrpe-external-master-interface
+    source-commit: "20b2b9fb80613997cb99b8096040cbba72a0ef0c"
+    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: "cf78622e68fe1ca97eb8993c5adc2616f9e110b9"
+    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: "baf582236a7b946da4cd140fd6532a2e0c2774d5"
+    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: "02658f0f6b2d29316b79820b206cec532c0459c8"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/layer/status/
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  launchpad-layers:
+    source: https://git.launchpad.net/launchpad-layers
+    source-commit: "010076b94e548088d1501a77eefaa93d142db983"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      turnip-base: layers/layer/turnip-base
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  turnip-pack-frontend-git:
+    after:
+      - charm-wheels
+      - interface-rabbitmq
+      - interface-http
+      - interface-mount
+      - interface-nrpe-external-master
+      - layer-apt
+      - layer-basic
+      - layer-options
+      - layer-status
+      - launchpad-layers
+    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/turnip-pack-frontend-http/charmcraft.yaml b/charm/turnip-pack-frontend-http/charmcraft.yaml
new file mode 100644
index 0000000..cbd7539
--- /dev/null
+++ b/charm/turnip-pack-frontend-http/charmcraft.yaml
@@ -0,0 +1,151 @@
+type: charm
+bases:
+  - build-on:
+    - name: ubuntu
+      channel: "18.04"
+      architectures: [amd64]
+    run-on:
+    - name: ubuntu
+      channel: "18.04"
+      architectures: [amd64]
+parts:
+  charm-wheels:
+    source: https://git.launchpad.net/~canonical-launchpad-branches/turnip/+git/dependencies
+    source-commit: "030fe3e51edfe8e8c8b3590b52c4792b21631f01"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": charm-wheels/
+    prime:
+      - "-charm-wheels"
+  interface-rabbitmq:
+    source: https://github.com/openstack/charm-interface-rabbitmq
+    source-commit: "571f4864c2f942d92991b3f413323a04c6f56d72"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/interface/rabbitmq/
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  interface-http:
+    source: https://github.com/juju-solutions/interface-http
+    source-commit: "4a232c6998a0c7deac0c2362e7a9a4f1c776603b"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*":  layers/interface/http/
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  interface-mount:
+    source: https://github.com/juju-solutions/interface-mount
+    source-commit: "d5a2526fec9c3e8581f18b56e84a86871583e080"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/interface/mount/
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  interface-nrpe-external-master:
+    source: https://github.com/canonical-ols/nrpe-external-master-interface
+    source-commit: "20b2b9fb80613997cb99b8096040cbba72a0ef0c"
+    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: "cf78622e68fe1ca97eb8993c5adc2616f9e110b9"
+    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: "baf582236a7b946da4cd140fd6532a2e0c2774d5"
+    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: "02658f0f6b2d29316b79820b206cec532c0459c8"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/layer/status/
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  launchpad-layers:
+    source: https://git.launchpad.net/launchpad-layers
+    source-commit: "010076b94e548088d1501a77eefaa93d142db983"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      turnip-base: layers/layer/turnip-base
+      turnip-storage: layers/layer/turnip-storage
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  turnip-pack-frontend-http:
+    after:
+      - charm-wheels
+      - interface-rabbitmq
+      - interface-http
+      - interface-mount
+      - interface-nrpe-external-master
+      - layer-apt
+      - layer-basic
+      - layer-options
+      - layer-status
+      - launchpad-layers
+    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/turnip-pack-frontend-ssh/charmcraft.yaml b/charm/turnip-pack-frontend-ssh/charmcraft.yaml
new file mode 100644
index 0000000..a07ec9d
--- /dev/null
+++ b/charm/turnip-pack-frontend-ssh/charmcraft.yaml
@@ -0,0 +1,150 @@
+type: charm
+bases:
+  - build-on:
+    - name: ubuntu
+      channel: "18.04"
+      architectures: [amd64]
+    run-on:
+    - name: ubuntu
+      channel: "18.04"
+      architectures: [amd64]
+parts:
+  charm-wheels:
+    source: https://git.launchpad.net/~canonical-launchpad-branches/turnip/+git/dependencies
+    source-commit: "030fe3e51edfe8e8c8b3590b52c4792b21631f01"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": charm-wheels/
+    prime:
+      - "-charm-wheels"
+  interface-rabbitmq:
+    source: https://github.com/openstack/charm-interface-rabbitmq
+    source-commit: "571f4864c2f942d92991b3f413323a04c6f56d72"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/interface/rabbitmq/
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  interface-http:
+    source: https://github.com/juju-solutions/interface-http
+    source-commit: "4a232c6998a0c7deac0c2362e7a9a4f1c776603b"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*":  layers/interface/http/
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  interface-mount:
+    source: https://github.com/juju-solutions/interface-mount
+    source-commit: "d5a2526fec9c3e8581f18b56e84a86871583e080"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/interface/mount/
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  interface-nrpe-external-master:
+    source: https://github.com/canonical-ols/nrpe-external-master-interface
+    source-commit: "20b2b9fb80613997cb99b8096040cbba72a0ef0c"
+    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: "cf78622e68fe1ca97eb8993c5adc2616f9e110b9"
+    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: "baf582236a7b946da4cd140fd6532a2e0c2774d5"
+    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: "02658f0f6b2d29316b79820b206cec532c0459c8"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/layer/status/
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  launchpad-layers:
+    source: https://git.launchpad.net/launchpad-layers
+    source-commit: "010076b94e548088d1501a77eefaa93d142db983"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      turnip-base: layers/layer/turnip-base
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  turnip-pack-frontend-ssh:
+    after:
+      - charm-wheels
+      - interface-rabbitmq
+      - interface-http
+      - interface-mount
+      - interface-nrpe-external-master
+      - layer-apt
+      - layer-basic
+      - layer-options
+      - layer-status
+      - launchpad-layers
+    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/turnip-pack-virt/charmcraft.yaml b/charm/turnip-pack-virt/charmcraft.yaml
new file mode 100644
index 0000000..cdfc656
--- /dev/null
+++ b/charm/turnip-pack-virt/charmcraft.yaml
@@ -0,0 +1,150 @@
+type: charm
+bases:
+  - build-on:
+    - name: ubuntu
+      channel: "18.04"
+      architectures: [amd64]
+    run-on:
+    - name: ubuntu
+      channel: "18.04"
+      architectures: [amd64]
+parts:
+  charm-wheels:
+    source: https://git.launchpad.net/~canonical-launchpad-branches/turnip/+git/dependencies
+    source-commit: "030fe3e51edfe8e8c8b3590b52c4792b21631f01"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": charm-wheels/
+    prime:
+      - "-charm-wheels"
+  interface-rabbitmq:
+    source: https://github.com/openstack/charm-interface-rabbitmq
+    source-commit: "571f4864c2f942d92991b3f413323a04c6f56d72"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/interface/rabbitmq/
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  interface-http:
+    source: https://github.com/juju-solutions/interface-http
+    source-commit: "4a232c6998a0c7deac0c2362e7a9a4f1c776603b"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*":  layers/interface/http/
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  interface-mount:
+    source: https://github.com/juju-solutions/interface-mount
+    source-commit: "d5a2526fec9c3e8581f18b56e84a86871583e080"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/interface/mount/
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  interface-nrpe-external-master:
+    source: https://github.com/canonical-ols/nrpe-external-master-interface
+    source-commit: "20b2b9fb80613997cb99b8096040cbba72a0ef0c"
+    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: "cf78622e68fe1ca97eb8993c5adc2616f9e110b9"
+    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: "baf582236a7b946da4cd140fd6532a2e0c2774d5"
+    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: "02658f0f6b2d29316b79820b206cec532c0459c8"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      "*": layers/layer/status/
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  launchpad-layers:
+    source: https://git.launchpad.net/launchpad-layers
+    source-commit: "010076b94e548088d1501a77eefaa93d142db983"
+    source-submodules: []
+    source-type: git
+    plugin: dump
+    organize:
+      turnip-base: layers/layer/turnip-base
+    stage:
+      - layers
+    prime:
+      - "-layers"
+  turnip-pack-virt:
+    after:
+      - charm-wheels
+      - interface-rabbitmq
+      - interface-http
+      - interface-mount
+      - interface-nrpe-external-master
+      - layer-apt
+      - layer-basic
+      - layer-options
+      - layer-status
+      - launchpad-layers
+    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]

Follow ups