Split off cli into separate binaries (#37)

* 🎨 Split off cli into separate binaries

This commit splits off the cli into 3 binaries:
- agent
- cli
- provider

The provider now is a separate component that can be tested by itself
and have its own lifecycle. This paves the way to a ligher c3os variant,
HA support and other features that can be provided on runtime.

This is working, but still there are low hanging fruit to care about.

Fixes #14

* 🤖 Add provider bin to releases

* ⚙️ Handle signals

* ⚙️ Reduce buildsize footprint

* 🎨 Scan for providers also in /system/providers

* 🤖 Run goreleaser

* 🎨 Refactoring
This commit is contained in:
Ettore Di Giacinto 2022-07-04 22:39:34 +02:00 committed by Itxaka
parent 6b9084ab84
commit 0e3391a2f5

View File

@ -10,9 +10,34 @@ builds:
goarch: goarch:
- amd64 - amd64
- 386 - 386
main: ./cli/ main: ./cmd/cli/
id: "c3os" id: "c3os"
binary: "c3os" binary: "c3os"
- ldflags:
- -w -s
env:
- CGO_ENABLED=0
goos:
- linux
- windows
goarch:
- amd64
- 386
main: ./cmd/agent/
id: "c3os-agent"
binary: "c3os-agent"
- ldflags:
- -w -s
env:
- CGO_ENABLED=0
goos:
- linux
goarch:
- amd64
- 386
main: ./cmd/provider/
id: "agent-provider-c3os"
binary: "agent-provider-c3os"
source: source:
enabled: true enabled: true
name_template: '{{ .ProjectName }}-{{ .Tag }}-source' name_template: '{{ .ProjectName }}-{{ .Tag }}-source'