Skip to content

Commit df3e316

Browse files
easyCZroboquat
authored andcommitted
[usage-controller] Initial setup for component
1 parent 80bb697 commit df3e316

File tree

9 files changed

+775
-0
lines changed

9 files changed

+775
-0
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
/install/installer/pkg/components/public-api-server @gitpod-io/engineering-webapp
4242
/install/installer/pkg/components/server @gitpod-io/engineering-webapp
4343
/install/installer/pkg/components/server/ide @gitpod-io/engineering-ide
44+
/install/installer/pkg/components/usage @gitpod-io/engineering-webapp
4445
/install/installer/pkg/components/workspace @gitpod-io/engineering-workspace
4546
/install/installer/pkg/components/workspace/ide @gitpod-io/engineering-ide
4647
/install/installer/pkg/components/ws-daemon @gitpod-io/engineering-workspace

components/BUILD.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ packages:
5454
- components/image-builder-mk3:docker
5555
- components/local-app:docker
5656
- components/public-api-server:docker
57+
- components/usage:docker
5758
- components/openvsx-proxy:docker
5859
- components/proxy:docker
5960
- components/registry-facade:docker

components/usage/BUILD.yaml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
packages:
2+
- name: app
3+
type: go
4+
srcs:
5+
- "**/*.go"
6+
- "go.mod"
7+
- "go.sum"
8+
deps:
9+
- components/common-go:lib
10+
env:
11+
- CGO_ENABLED=0
12+
- GOOS=linux
13+
config:
14+
packaging: app
15+
buildCommand: ["go", "build", "-trimpath", "-ldflags", "-buildid= -w -s -X 'github.com/gitpod-io/gitpod/usage/cmd.Version=commit-${__git_commit}'"]
16+
- name: docker
17+
type: docker
18+
deps:
19+
- :app
20+
argdeps:
21+
- imageRepoBase
22+
config:
23+
buildArgs:
24+
VERSION: ${version}
25+
dockerfile: leeway.Dockerfile
26+
metadata:
27+
helm-component: usage
28+
image:
29+
- ${imageRepoBase}/usage:${version}
30+
- ${imageRepoBase}/usage:commit-${__git_commit}

components/usage/cmd/root.go

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
// Copyright (c) 2022 Gitpod GmbH. All rights reserved.
2+
// Licensed under the GNU Affero General Public License (AGPL).
3+
// See License-AGPL.txt in the project root for license information.
4+
5+
package cmd
6+
7+
import (
8+
"context"
9+
"os"
10+
11+
"github.com/gitpod-io/gitpod/common-go/log"
12+
"github.com/spf13/cobra"
13+
)
14+
15+
var (
16+
// ServiceName is the name we use for tracing/logging
17+
ServiceName = "usage"
18+
// Version of this service - set during build
19+
Version = ""
20+
)
21+
22+
// rootCmd represents the base command when called without any subcommands
23+
var rootCmd = &cobra.Command{
24+
Use: ServiceName,
25+
Short: "Usage service & controller",
26+
}
27+
28+
func Execute() {
29+
if err := rootCmd.ExecuteContext(context.Background()); err != nil {
30+
log.WithError(err).Error("Failed to execute command.")
31+
os.Exit(1)
32+
}
33+
}

components/usage/cmd/run.go

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
// Copyright (c) 2022 Gitpod GmbH. All rights reserved.
2+
// Licensed under the GNU Affero General Public License (AGPL).
3+
// See License-AGPL.txt in the project root for license information.
4+
5+
package cmd
6+
7+
import (
8+
"github.com/gitpod-io/gitpod/common-go/baseserver"
9+
"github.com/gitpod-io/gitpod/common-go/log"
10+
"github.com/spf13/cobra"
11+
)
12+
13+
func init() {
14+
rootCmd.AddCommand(run())
15+
}
16+
17+
func run() *cobra.Command {
18+
var (
19+
verbose bool
20+
)
21+
22+
cmd := &cobra.Command{
23+
Use: "run",
24+
Short: "Starts the service",
25+
Version: Version,
26+
Run: func(cmd *cobra.Command, args []string) {
27+
log.Init(ServiceName, Version, true, verbose)
28+
29+
log.Info("Hello world usage server")
30+
31+
srv, err := baseserver.New("usage")
32+
if err != nil {
33+
log.WithError(err).Fatal("Failed to initialize server.")
34+
}
35+
36+
err = srv.ListenAndServe()
37+
if err != nil {
38+
log.WithError(err).Fatal("Failed to listen and serve.")
39+
}
40+
},
41+
}
42+
43+
cmd.Flags().BoolVar(&verbose, "verbose", false, "Toggle verbose logging (debug level)")
44+
45+
return cmd
46+
}

components/usage/go.mod

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
module github.com/gitpod-io/gitpod/usage
2+
3+
go 1.18
4+
5+
replace github.com/gitpod-io/gitpod/common-go => ../common-go // leeway
6+
7+
replace k8s.io/api => k8s.io/api v0.23.5 // leeway indirect from components/common-go:lib
8+
9+
replace k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.23.5 // leeway indirect from components/common-go:lib
10+
11+
replace k8s.io/apimachinery => k8s.io/apimachinery v0.23.5 // leeway indirect from components/common-go:lib
12+
13+
replace k8s.io/apiserver => k8s.io/apiserver v0.23.5 // leeway indirect from components/common-go:lib
14+
15+
replace k8s.io/cli-runtime => k8s.io/cli-runtime v0.23.5 // leeway indirect from components/common-go:lib
16+
17+
replace k8s.io/client-go => k8s.io/client-go v0.23.5 // leeway indirect from components/common-go:lib
18+
19+
replace k8s.io/cloud-provider => k8s.io/cloud-provider v0.23.5 // leeway indirect from components/common-go:lib
20+
21+
replace k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.23.5 // leeway indirect from components/common-go:lib
22+
23+
replace k8s.io/code-generator => k8s.io/code-generator v0.23.5 // leeway indirect from components/common-go:lib
24+
25+
replace k8s.io/component-base => k8s.io/component-base v0.23.5 // leeway indirect from components/common-go:lib
26+
27+
replace k8s.io/cri-api => k8s.io/cri-api v0.23.5 // leeway indirect from components/common-go:lib
28+
29+
replace k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.23.5 // leeway indirect from components/common-go:lib
30+
31+
replace k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.23.5 // leeway indirect from components/common-go:lib
32+
33+
replace k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.23.5 // leeway indirect from components/common-go:lib
34+
35+
replace k8s.io/kube-proxy => k8s.io/kube-proxy v0.23.5 // leeway indirect from components/common-go:lib
36+
37+
replace k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.23.5 // leeway indirect from components/common-go:lib
38+
39+
replace k8s.io/kubelet => k8s.io/kubelet v0.23.5 // leeway indirect from components/common-go:lib
40+
41+
replace k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.23.5 // leeway indirect from components/common-go:lib
42+
43+
replace k8s.io/metrics => k8s.io/metrics v0.23.5 // leeway indirect from components/common-go:lib
44+
45+
replace k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.23.5 // leeway indirect from components/common-go:lib
46+
47+
replace k8s.io/component-helpers => k8s.io/component-helpers v0.23.5 // leeway indirect from components/common-go:lib
48+
49+
replace k8s.io/controller-manager => k8s.io/controller-manager v0.23.5 // leeway indirect from components/common-go:lib
50+
51+
replace k8s.io/kubectl => k8s.io/kubectl v0.23.5 // leeway indirect from components/common-go:lib
52+
53+
replace k8s.io/mount-utils => k8s.io/mount-utils v0.23.5 // leeway indirect from components/common-go:lib
54+
55+
replace k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.23.5 // leeway indirect from components/common-go:lib
56+
57+
require (
58+
github.com/gitpod-io/gitpod/common-go v0.0.0-00010101000000-000000000000
59+
github.com/spf13/cobra v1.4.0
60+
)
61+
62+
require (
63+
github.com/beorn7/perks v1.0.1 // indirect
64+
github.com/cespare/xxhash/v2 v2.1.2 // indirect
65+
github.com/davecgh/go-spew v1.1.1 // indirect
66+
github.com/golang/protobuf v1.5.2 // indirect
67+
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect
68+
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 // indirect
69+
github.com/hashicorp/golang-lru v0.5.1 // indirect
70+
github.com/heptiolabs/healthcheck v0.0.0-20211123025425-613501dd5deb // indirect
71+
github.com/inconshreveable/mousetrap v1.0.0 // indirect
72+
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
73+
github.com/opentracing/opentracing-go v1.2.0 // indirect
74+
github.com/pmezard/go-difflib v1.0.0 // indirect
75+
github.com/prometheus/client_golang v1.12.1 // indirect
76+
github.com/prometheus/client_model v0.2.0 // indirect
77+
github.com/prometheus/common v0.32.1 // indirect
78+
github.com/prometheus/procfs v0.7.3 // indirect
79+
github.com/sirupsen/logrus v1.8.1 // indirect
80+
github.com/spf13/pflag v1.0.5 // indirect
81+
github.com/stretchr/testify v1.7.0 // indirect
82+
golang.org/x/net v0.0.0-20211209124913-491a49abca63 // indirect
83+
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect
84+
golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 // indirect
85+
golang.org/x/text v0.3.7 // indirect
86+
golang.org/x/time v0.0.0-20191024005414-555d28b269f0 // indirect
87+
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
88+
google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154 // indirect
89+
google.golang.org/grpc v1.45.0 // indirect
90+
google.golang.org/protobuf v1.28.0 // indirect
91+
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect
92+
)

0 commit comments

Comments
 (0)