Juju Charm Store and CI

Tom Barber tom at spicule.co.uk
Tue Feb 27 21:54:08 UTC 2018

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


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 
> <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 
> <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/charmstore-client/issues/61 
> <https://github.com/juju/charmstore-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 
> <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.com/archives/juju/2017-November/009691.html 
> <https://lists.ubuntu.com/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 
> <https://github.com/juju/charmstore-client/issues/61> and 
> https://github.com/juju/charmstore-client/issues/145 
> <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
>   - Seehttps://github.com/juju/charmstore-client/issues/135 
> <https://github.com/juju/charmstore-client/issues/135>and 
> https://github.com/juju/charmstore-client/issues/146 
> <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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/juju/attachments/20180227/bb62dbda/attachment.html>

More information about the Juju mailing list