Juju Charm Store and CI

Sandor Zeestraten sandor at zeestrataca.com
Tue Feb 27 22:10:24 UTC 2018


Hey Tom.

Yes, I saw your hack in
https://lists.ubuntu.com/archives/juju/2017-November/009691.html which was
handy, however I was hoping for something less hacky from the charm store
folks.

--
Sandor Zeestraten

On Feb 27, 2018 22:54, "Tom Barber" <tom at spicule.co.uk> wrote:

I have a proper hack for a circleci build chain I wrote, but works pretty
well:

https://github.com/spiculedata/circleci-juju


On 27/02/18 21:44, Sandor Zeestraten wrote:

Hey Juju folks,

I feel like I'm hitting some rough spots while setting up a simple pipeline
which pushes a charm build to the edge channel using the charm store CLI.
The last Juju Show (#30) talked about macaroon support in libjuju and CI
which sounds great, but that seems to be aimed at those using libjuju
and/or JAAS controllers.

Here are some of the steps for a new project:
* Create a launchpad team for a namespace in the charm store
    - Fair enough
* Create a launchpad CI user/bot and add it project so we can push to the
store without using personal credentials
    - This feels like a hack and rather insecure. Why not use limited
deploy/API keys? https://github.com/juju/charmstore/issues/776
* Manually login to launchpad with the CI user in order to activate it in
the charm store
    - This gotcha took me a few moments to figure out.
https://jujucharms.com/docs/stable/authors-charm-store#the-juju-charm-store
* Manually login to the charm store with the CI user with `charm login` to
create a token.
    - Had to find this bug, https://github.com/juju/c
harmstore-client/issues/61, after I figured out that `charm login` did not
have a non-interactive way to authenticate
    - This is still not document anywhere as far as I can tell.
https://github.com/juju/charmstore-client/issues/145
    - According to the comments in #61 it needs to be updated periodically
    - I've seen another approach using expect, https://lists.ubuntu.c
om/archives/juju/2017-November/009691.html, but that seems like a
workaround too
* Encrypt and deploy token to a specific directory in CI in order for
`charm login` to work
    - Again, https://github.com/juju/charmstore-client/issues/61 and
https://github.com/juju/charmstore-client/issues/145
* Mess around with `charm push` and `charm release` in order to push charm
to the edge channel
    - This involves dealing with revisions which feels rather unnecessary
    - See https://github.com/juju/charmstore-client/issues/135 and
https://github.com/juju/charmstore-client/issues/146
* Celebrate with your favourite beverage

How are you all interacting with the charm store with your charm CI?
Am I missing some obvious steps which would simplify things?
Is anyone working on proper deploy/API keys for the charm store?

Cheers
--
Sandor Zeestraten




Spicule Limited is registered in England & Wales. Company Number: 09954122.
Registered office: First Floor, Telecom House, 125-135 Preston Road,
Brighton, England, BN1 6AF. VAT No. 251478891.


All engagements are subject to Spicule Terms and Conditions of Business.
This email and its contents are intended solely for the individual to whom
it is addressed and may contain information that is confidential,
privileged or otherwise protected from disclosure, distributing or copying.
Any views or opinions presented in this email are solely those of the
author and do not necessarily represent those of Spicule Limited. The
company accepts no liability for any damage caused by any virus transmitted
by this email. If you have received this message in error, please notify us
immediately by reply email before deleting it from your system. Service of
legal notice cannot be effected on Spicule Limited by email.

--
Juju mailing list
Juju at lists.ubuntu.com
Modify settings or unsubscribe at: https://lists.ubuntu.com/
mailman/listinfo/juju
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/juju/attachments/20180227/fe6cb1f0/attachment.html>


More information about the Juju mailing list