Skip to content

Commit 724478a

Browse files
committed
*: add krew metadata and CI workflows
1 parent 975da13 commit 724478a

File tree

4 files changed

+137
-0
lines changed

4 files changed

+137
-0
lines changed

.github/workflows/ci.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
2+
name: ci
3+
on:
4+
push:
5+
pull_request:
6+
jobs:
7+
goreleaser:
8+
runs-on: ubuntu-latest
9+
steps:
10+
- name: Checkout
11+
uses: actions/checkout@v2
12+
13+
- name: Setup Go
14+
uses: actions/setup-go@v2
15+
with:
16+
go-version: 1.14
17+
18+
- name: Run GoReleaser
19+
uses: goreleaser/goreleaser-action@v2
20+
with:
21+
version: latest
22+
args: release --snapshot --rm-dist

.github/workflows/release.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: release
2+
on:
3+
push:
4+
tags:
5+
- 'v*.*.*'
6+
jobs:
7+
goreleaser:
8+
runs-on: ubuntu-latest
9+
steps:
10+
11+
- name: Checkout
12+
uses: actions/checkout@v2
13+
14+
- name: Setup Go
15+
uses: actions/setup-go@v2
16+
with:
17+
go-version: 1.14
18+
19+
- name: GoReleaser
20+
uses: goreleaser/goreleaser-action@v2
21+
with:
22+
version: latest
23+
args: release --rm-dist
24+
env:
25+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
26+
# - name: Update new version in krew-index
27+
# uses: rajatjindal/[email protected]

.goreleaser.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
before:
2+
hooks:
3+
- go mod download
4+
builds:
5+
- id: kubectl-operator
6+
main: ./
7+
binary: kubectl-operator
8+
env:
9+
- CGO_ENABLED=0
10+
goos:
11+
- linux
12+
- darwin
13+
- windows
14+
goarch:
15+
- amd64
16+
- arm64
17+
- ppc64le
18+
- s390x
19+
ignore:
20+
- goos: darwin
21+
goarch: arm64
22+
- goos: darwin
23+
goarch: ppc64le
24+
- goos: darwin
25+
goarch: s390x
26+
- goos: windows
27+
goarch: arm64
28+
- goos: windows
29+
goarch: ppc64le
30+
- goos: windows
31+
goarch: s390x
32+
33+
archives:
34+
- builds:
35+
- kubectl-operator
36+
name_template: "{{ .ProjectName }}_{{ .Tag }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}"
37+
wrap_in_directory: false
38+
format: tar.gz
39+
files:
40+
- LICENSE

.krew.yaml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
apiVersion: krew.googlecontainertools.github.com/v1alpha2
2+
kind: Plugin
3+
metadata:
4+
name: operator
5+
spec:
6+
version: {{ .TagName }}
7+
homepage: https://github.com/joelanford/kubectl-operator
8+
shortDescription: Manage Kubernetes Operators with Operator Lifecycle Manager
9+
description: |
10+
This plugin is a package manager for Operators in your cluster. It
11+
simplifies adding and removing Operator catalogs, and it has familiar
12+
commands for installing, uninstalling, and listing available and
13+
installed Operators.
14+
caveats: |
15+
* This plugin requires Operator Lifecycle Manager to be installed in your
16+
cluster. See the installation instructions at https://olm.operatorframework.io/docs/getting-started/
17+
platforms:
18+
- selector:
19+
matchLabels:
20+
os: darwin
21+
arch: amd64
22+
{{addURIAndSha "https://github.com/joelanford/kubectl-operator/releases/download/{{ .TagName }}/kubectl-operator_{{ .TagName }}_darwin_amd64.tar.gz" .TagName }}
23+
bin: kubectl-operator
24+
- selector:
25+
matchLabels:
26+
os: linux
27+
arch: amd64
28+
{{addURIAndSha "https://github.com/joelanford/kubectl-operator/releases/download/{{ .TagName }}/kubectl-operator_{{ .TagName }}_linux_amd64.tar.gz" .TagName }}
29+
bin: kubectl-operator
30+
- selector:
31+
matchLabels:
32+
os: linux
33+
arch: ppc64le
34+
{{addURIAndSha "https://github.com/joelanford/kubectl-operator/releases/download/{{ .TagName }}/kubectl-operator_{{ .TagName }}_linux_ppc64le.tar.gz" .TagName }}
35+
bin: kubectl-operator
36+
- selector:
37+
matchLabels:
38+
os: linux
39+
arch: s390x
40+
{{addURIAndSha "https://github.com/joelanford/kubectl-operator/releases/download/{{ .TagName }}/kubectl-operator_{{ .TagName }}_linux_s390x.tar.gz" .TagName }}
41+
bin: kubectl-operator
42+
- selector:
43+
matchLabels:
44+
os: windows
45+
arch: amd64
46+
{{addURIAndSha "https://github.com/joelanford/kubectl-operator/releases/download/{{ .TagName }}/kubectl-operator_{{ .TagName }}_windows_amd64.tar.gz" .TagName }}
47+
bin: kubectl-operator.exe
48+

0 commit comments

Comments
 (0)