Skip to content
This repository has been archived by the owner on Mar 31, 2023. It is now read-only.

Add snap package definition #71

Closed
wants to merge 8 commits into from
Closed

Add snap package definition #71

wants to merge 8 commits into from

Conversation

fbarl
Copy link
Contributor

@fbarl fbarl commented Sep 20, 2019

This PR should enable users to install wksctl via snap command on Ubuntu systems.

Used a mix of https://snapcraft.io/docs/go-applications and fluxcd/flux template for the snapcraft.yaml draft (thanks @dholbach for leaving enough traces around :)).

Checklist

  • Add snapcraft.yaml that compiles into a working binary
  • Verify and tighten all the interface permissions
  • Test out basic wksctl commands in the snap install
  • Publish the snap package
    • Resolve the store request manual review
    • Release to edge
    • Release to stable
  • Update the package metadata - https://snapcraft.io/wksctl/listing
    • Update publisher account details (full name, username, email address) to point to Weaveworks instead of a personal account
    • Add a snap icon - Create a logo #77
    • Add video, images, featured banner
    • Add contact email
  • Update the docs with snap install instructions
    • Will do once we have the stable release pushed

TODO in follow-up PRs

@fbarl fbarl self-assigned this Sep 20, 2019
snapcraft.yaml Outdated Show resolved Hide resolved
@dholbach
Copy link
Contributor

dholbach commented Sep 20, 2019

I think it'd be good to start setting up the account. Registration of the package (or was it initial review?) took a while, if memory serves.

… and if it's just a placeholder version

@@ -0,0 +1,49 @@
name: wksctl
version: git
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://github.com/fluxcd/flux/blame/master/snap/snapcraft.yaml#L23-L37 might be helpful for automatically getting you the version.

snapcraft.yaml Outdated Show resolved Hide resolved
Copy link
Contributor

@dlespiau dlespiau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

goreleaser can do snap packages. That seems like a nice to way to do snaps as we already are using goreleaser: https://goreleaser.com/snapcraft/

@dholbach
Copy link
Contributor

goreleaser can do snap packages. That seems like a nice to way to do snaps as we already are using goreleaser: https://goreleaser.com/snapcraft/

If the snap part of goreleaser work for you, great. AFAIUI it only exposes a subset of what's available through snapcraft.yaml. I have no experience there.

@fbarl
Copy link
Contributor Author

fbarl commented Sep 23, 2019

goreleaser can do snap packages. That seems like a nice to way to do snaps as we already are using goreleaser: https://goreleaser.com/snapcraft/

Thanks for the suggestion! I did come across it but only after I had a buildable snapcraft.yaml so I wouldn't switch to it in this PR if this works. However, we might reconsider this decision later when branching out to other platforms, e.g. https://github.com/weaveworks/wks/issues/839.

@fbarl fbarl force-pushed the create-snap-package branch from 1555829 to 4335fb4 Compare September 23, 2019 15:08
@fbarl fbarl mentioned this pull request Sep 24, 2019
@fbarl fbarl force-pushed the create-snap-package branch from 4335fb4 to 13434a5 Compare September 25, 2019 10:10
@fbarl
Copy link
Contributor Author

fbarl commented Sep 25, 2019

The PR is currently blocked by manual approval that is needed from the snapcraft folks because wksctl needs to be able to break the snap confinement to read custom YAML files - https://forum.snapcraft.io/t/classic-confinement-for-wksctl/13383/2

@dholbach
Copy link
Contributor

Why don't you merge for now and then iterate with feedback from the store people?

@fbarl
Copy link
Contributor Author

fbarl commented Sep 25, 2019

Why don't you merge for now and then iterate with feedback from the store people?

I don't think we'd add any value to the codebase if we merged it as it is before we'd:

  • At least be able to push to the edge channel
  • Document how to push new versions

It might be confusing if snapcraft.yaml appeared in the master branch but was basically ineffective and besides I don't mind keeping the draft PR open as a personal reminder that it will need more of my attention later :)

snapcraft.yaml Outdated Show resolved Hide resolved
@fbarl fbarl force-pushed the create-snap-package branch from 13434a5 to 64d431f Compare September 27, 2019 16:28
@fbarl fbarl force-pushed the create-snap-package branch from 64d431f to fd5bb94 Compare November 21, 2019 11:19
@fbarl
Copy link
Contributor Author

fbarl commented Mar 23, 2020

Closing this PR due to inactivity (although I understand this work might be picked up again in the future).

@fbarl fbarl closed this Mar 23, 2020
@fbarl fbarl deleted the create-snap-package branch March 23, 2020 19:03
@dholbach
Copy link
Contributor

fluxcd/flux#3072 might be of interest at some stage.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants