diff --git a/pkg/snap/snapcraft.yaml b/pkg/snap/snapcraft.yaml new file mode 100644 index 00000000..9e1bb0b7 --- /dev/null +++ b/pkg/snap/snapcraft.yaml @@ -0,0 +1,53 @@ +name: kompose +summary: Go from Docker Compose to Kubernetes. +description:Kompose is a tool to help users who are familiar with docker-compose move to Kubernetes. kompose takes a Docker Compose file and translates it into Kubernetes resources. + +grade: stable +confinement: classic + +architectures: + - build-on: i386 + - build-on: amd64 + - build-on: armhf + - build-on: arm64 + +apps: + kompose: + command: bin/kompose + plugs: + - home + - network + - docker + - removable-media + +parts: + kompose: + plugin: nil + source: https://github.com/kubernetes/kompose.git + source-type: git + override-pull: | + git clone https://github.com/kubernetes/kompose.git src/github.com/kubernetes/kompose + cd src/github.com/kubernetes/kompose + last_committed_tag="$(git describe --tags --abbrev=0)" + last_committed_tag_ver="$(echo ${last_committed_tag} | sed 's/v//')" + last_released_tag="$(snap info $SNAPCRAFT_PROJECT_NAME | awk '$1 == "beta:" { print $2 }')" + # If the latest tag from the upstream project has not been released to + # beta, build that tag instead of master. + if [ "${last_committed_tag_ver}" != "${last_released_tag}" ]; then + git fetch + git checkout "${last_committed_tag}" + fi + snapcraftctl set-version "$(git describe --tags | sed 's/v//')" + override-build: | + export GOPATH=$PWD + cd src/github.com/kubernetes/kompose + env CGO_ENABLED=0 GOOS=linux \ + go build --ldflags "-s -w \ + -X 'github.com/kubernetes/kompose/version.GitCommit=$(git rev-list -1 HEAD)' \ + -X 'github.com/kubernetes/kompose/version.Version=$(git describe --tags --abbrev=0)'" \ + -a -installsuffix cgo -o $SNAPCRAFT_PART_INSTALL/bin/kompose + build-snaps: + - go + build-packages: + - git + - sed