Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gloo: Create gloo upstreams from non-discovered services #894

Merged
merged 14 commits into from
May 11, 2021
2 changes: 2 additions & 0 deletions pkg/apis/gloo/v1/register.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ func addKnownTypes(scheme *runtime.Scheme) error {
scheme.AddKnownTypes(SchemeGroupVersion,
&RouteTable{},
&RouteTableList{},
&Upstream{},
&UpstreamList{},
)
metav1.AddToGroupVersion(scheme, SchemeGroupVersion)
return nil
Expand Down
32 changes: 32 additions & 0 deletions pkg/apis/gloo/v1/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,28 @@ type RouteTableSpec struct {
Routes []Route `json:"routes,omitempty"`
}

// +genclient
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

// Upstream is a specification for a Gloo Upstream resource
type Upstream struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`

UpstreamType UpstreamType `json:"upstream_type,omitempty"`
}

type UpstreamType struct {
Kube KubeUpstream `json:"kube,omitempty"`
}

type KubeUpstream struct {
ServiceName string `json:"service_name,omitempty""`
ServiceNamespace string `json:"service_namespace,omitempty"`
ServicePort int32 `json:"service_port,omitempty"`
Selector map[string]string `json:"selector,omitempty"`
}

type Route struct {
Matchers []Matcher `json:"matchers,omitempty"`
Action RouteAction `json:"routeAction,omitempty"`
Expand Down Expand Up @@ -80,3 +102,13 @@ type RouteTableList struct {

Items []RouteTable `json:"items"`
}

// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

// UpstreamList is a list of Upstream resources
type UpstreamList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata"`

Items []Upstream `json:"items"`
}
100 changes: 100 additions & 0 deletions pkg/apis/gloo/v1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

130 changes: 130 additions & 0 deletions pkg/client/clientset/versioned/typed/gloo/v1/fake/fake_upstream.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions pkg/client/clientset/versioned/typed/gloo/v1/gloo_client.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading