Skip to content

Commit 0643eda

Browse files
feat: mainly multi-node support (#20)
- renamed binary helmvm. - added helmvm builder service. - added support for multi-arch builds. - downloading yq as part of the build process. - readme updated to document new features. - allowing users to pass a configuration file to apply command. - added option to only apply addons and skip cluster update. - added option to embed helm charts into the binary. - renamed adminconsole and openebs release names. - added custom helmchart intaller. - added support for load balancer configuration. - using different location when storing configuration on macosx. - added script for "curl | bash" install. - standardised error messages. - added helmvm shell command to spawn a pre-configured bash. - reads all ssh keys from within ~/.ssh directory recursively. - users can now inform a different path for their ssh keys. - remembering selected ssh user, port and key. - stop spawning a new bash and use $SHEL instead. - using binary name instead of "helmvm". - getting rid of static check warnings. - make sure we have a proper default ssh key path - disable konnectivity server and openebs ndm - adding subcommands to manage nodes - add support for infra and node commands - creating systemd service with binary name
1 parent e2fe54b commit 0643eda

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+3346
-3545
lines changed

.dockerignore

Lines changed: 0 additions & 4 deletions
This file was deleted.

.github/workflows/pullrequest.yml

Lines changed: 0 additions & 24 deletions
This file was deleted.

.github/workflows/release-dev.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ jobs:
2323
go-version: "1.20"
2424

2525
- name: Build
26-
run: make build
26+
run: make
2727

2828
- name: Compress binary
29-
run: tar -C bin -czvf helmbin.tgz helmbin
29+
run: tar -C output/bin -czvf helmvm.tgz helmvm
3030

3131
- name: Publish release
3232
uses: marvinpinto/action-automatic-releases@latest

.gitignore

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
/bin/
2-
/static/bin/
3-
/static/helm/*tgz
4-
dist/
1+
output
2+
bundle
3+
pkg/goods/bins
4+
pkg/goods/images
5+
*tgz

.golangci.yml

Lines changed: 0 additions & 70 deletions
This file was deleted.

.goreleaser.yaml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
project_name: helmbin
1+
project_name: helmvm
22
release:
33
github:
44
owner: replicatedhq
5-
name: helmbin
5+
name: helmvm
66
builds:
7-
- id: helmbin
7+
- id: helmvm
88
goos:
99
- linux
1010
goarch:
@@ -13,6 +13,4 @@ builds:
1313
- CGO_ENABLED=0
1414
hooks:
1515
pre: make static
16-
main: cmd/helmbin/main.go
17-
snapshot:
18-
name_template: "devel"
16+
main: ./cmd

Dockerfile

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,21 @@
1-
# TODO
2-
ARG ARCH
3-
4-
FROM docker.io/library/golang:1.20-alpine as build
5-
RUN apk add --no-cache bash curl make openssl
6-
WORKDIR /go/src/github.com/replicatedhq/helmbin
1+
FROM golang:1.20.6-bullseye AS builder
2+
RUN apt update -y
3+
RUN apt install -y unzip
4+
WORKDIR /helmvm-builder
5+
COPY go.mod go.sum ./
76
COPY . .
8-
ARG VERSION="dev"
9-
RUN make build
10-
11-
FROM docker.io/library/${ARCH}alpine
12-
13-
RUN apk add --no-cache bash coreutils curl findutils iptables tini
14-
15-
ENV KUBECONFIG=/var/lib/replicated/k0s/pki/admin.conf
16-
17-
ADD docker-entrypoint.sh /entrypoint.sh
18-
COPY --from=build /go/src/github.com/replicatedhq/helmbin/bin/helmbin /usr/local/bin/helmbin
19-
20-
ENTRYPOINT ["/sbin/tini", "--", "/bin/sh", "/entrypoint.sh" ]
7+
RUN make builder && mv output/bin/builder builder
8+
RUN make helmvm-linux-amd64 && mv output/bin/helmvm helmvm-linux-amd64
9+
RUN make clean
10+
RUN make helmvm-darwin-amd64 && mv output/bin/helmvm helmvm-darwin-amd64
11+
RUN make clean
12+
RUN make helmvm-darwin-arm64 && mv output/bin/helmvm helmvm-darwin-arm64
2113

22-
CMD ["helmbin", "run"]
14+
FROM alpine:3.18.2
15+
RUN mkdir /helmvm
16+
COPY --from=builder /helmvm-builder/helmvm-linux-amd64 /helmvm/helmvm-linux-amd64
17+
COPY --from=builder /helmvm-builder/helmvm-darwin-amd64 /helmvm/helmvm-darwin-amd64
18+
COPY --from=builder /helmvm-builder/helmvm-darwin-arm64 /helmvm/helmvm-darwin-arm64
19+
COPY --from=builder /helmvm-builder/builder /helmvm/builder
20+
EXPOSE 8080/tcp
21+
CMD ["/helmvm/builder"]

0 commit comments

Comments
 (0)