Skip to content
This repository has been archived by the owner on Apr 24, 2023. It is now read-only.

Commit

Permalink
Merge pull request #53 from integr8ly/threescale-dashboard-fuse
Browse files Browse the repository at this point in the history
add 3scale management dashboard to fuse online custom resource
  • Loading branch information
aidenkeating authored Nov 29, 2019
2 parents b2c872e + c60009b commit c372368
Show file tree
Hide file tree
Showing 4,490 changed files with 600,335 additions and 264 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
13 changes: 10 additions & 3 deletions Gopkg.lock

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

31 changes: 20 additions & 11 deletions pkg/deploys/fuse/deployer.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@ import (
"archive/tar"
"compress/gzip"
"fmt"
synv1 "github.com/syndesisio/syndesis/install/operator/pkg/apis/syndesis/v1alpha1"
"io"
v1 "k8s.io/api/authentication/v1"
corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/runtime/schema"
"net/http"
"os"
"os/exec"
Expand All @@ -15,7 +17,6 @@ import (

brokerapi "github.com/integr8ly/managed-service-broker/pkg/broker"
"github.com/integr8ly/managed-service-broker/pkg/clients/openshift"
fuseV1alpha1 "github.com/integr8ly/managed-service-broker/pkg/deploys/fuse/pkg/apis/syndesis/v1alpha1"
k8sClient "github.com/operator-framework/operator-sdk/pkg/k8sclient"
"github.com/operator-framework/operator-sdk/pkg/util/k8sutil"
"github.com/pkg/errors"
Expand Down Expand Up @@ -101,7 +102,7 @@ func (fd *FuseDeployer) Deploy(req *brokerapi.ProvisionRequest, async bool) (*br

return &brokerapi.ProvisionResponse{
Code: http.StatusAccepted,
DashboardURL: "https://" + frt.Spec.RouteHostName,
DashboardURL: "https://" + frt.Spec.RouteHostname,
Operation: "deploy",
}, nil
}
Expand Down Expand Up @@ -186,17 +187,20 @@ func (fd *FuseDeployer) ServiceInstanceLastOperation(req *brokerapi.LastOperatio
return nil, err
}
if fr == nil {
return nil, apiErrors.NewNotFound(fuseV1alpha1.SchemeGroupResource, req.InstanceId)
return nil, apiErrors.NewNotFound(schema.GroupResource{
Group: synv1.SchemeGroupVersion.Group,
Resource: "Syndesis",
}, req.InstanceId)
}

if fr.Status.Phase == fuseV1alpha1.SyndesisPhaseStartupFailed {
if fr.Status.Phase == synv1.SyndesisPhaseStartupFailed {
return &brokerapi.LastOperationResponse{
State: brokerapi.StateFailed,
Description: fr.Status.Description,
}, nil
}

if fr.Status.Phase == fuseV1alpha1.SyndesisPhaseInstalled {
if fr.Status.Phase == synv1.SyndesisPhaseInstalled {
return &brokerapi.LastOperationResponse{
State: brokerapi.StateSucceeded,
Description: fr.Status.Description,
Expand Down Expand Up @@ -227,7 +231,7 @@ func (fd *FuseDeployer) ServiceInstanceLastOperation(req *brokerapi.LastOperatio
return nil, err
}
if fr == nil {
return nil, apiErrors.NewNotFound(fuseV1alpha1.SchemeGroupResource, req.InstanceId)
return nil, apiErrors.NewNotFound(schema.GroupResource{Group: synv1.SchemeGroupVersion.Group, Resource: "Syndesis"}, req.InstanceId)
}

return &brokerapi.LastOperationResponse{
Expand All @@ -250,22 +254,27 @@ func (fd *FuseDeployer) createRoleBindings(namespace string, userInfo v1.UserInf
}

// Create the fuse custom resource template
func (fd *FuseDeployer) createFuseCustomResourceTemplate(namespace, userNamespace, userID string, parameters map[string]interface{}) *fuseV1alpha1.Syndesis {
func (fd *FuseDeployer) createFuseCustomResourceTemplate(namespace, userNamespace, userID string, parameters map[string]interface{}) *synv1.Syndesis {
integrationsLimit := 0
if parameters["limit"] != nil {
integrationsLimit = int(parameters["limit"].(float64))
}

fuseObj := getFuseObj(namespace, userNamespace, integrationsLimit)
fuseDashboardURL := fd.getRouteHostname(namespace)
fuseObj.Spec.RouteHostName = fuseDashboardURL
fuseObj.Spec.RouteHostname = fuseDashboardURL
fuseObj.Annotations["syndesis.io/created-by"] = userID

// Handle exposing via 3scale if management URL is set for 3scale
threescaleDashboardUrl := os.Getenv("THREESCALE_DASHBOARD_URL")
if threescaleDashboardUrl != "" {
fuseObj.Spec.Components.Server.Features.ManagementUrlFor3scale = threescaleDashboardUrl
}
return fuseObj
}

// Create the fuse custom resource
func (fd *FuseDeployer) createFuseCustomResource(namespace string, fr *fuseV1alpha1.Syndesis) error {
func (fd *FuseDeployer) createFuseCustomResource(namespace string, fr *synv1.Syndesis) error {
fuseClient, _, err := k8sClient.GetResourceClient("syndesis.io/v1alpha1", "Syndesis", namespace)
if err != nil {
return err
Expand All @@ -290,7 +299,7 @@ func (fd *FuseDeployer) getRouteHostname(namespace string) string {
}

// Get fuse resource in namespace
func getFuse(ns string) (*fuseV1alpha1.Syndesis, error) {
func getFuse(ns string) (*synv1.Syndesis, error) {
fuseClient, _, err := k8sClient.GetResourceClient("syndesis.io/v1alpha1", "Syndesis", ns)
if err != nil {
return nil, err
Expand All @@ -300,7 +309,7 @@ func getFuse(ns string) (*fuseV1alpha1.Syndesis, error) {
if err != nil {
return nil, err
}
fl := fuseV1alpha1.NewSyndesisList()
fl := &synv1.SyndesisList{}
if err := k8sutil.RuntimeObjectIntoRuntimeObject(u, fl); err != nil {
return nil, errors.Wrap(err, "failed to get the fuse resources")
}
Expand Down
24 changes: 11 additions & 13 deletions pkg/deploys/fuse/objects.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ package fuse

import (
brokerapi "github.com/integr8ly/managed-service-broker/pkg/broker"
"github.com/integr8ly/managed-service-broker/pkg/deploys/fuse/pkg/apis/syndesis/v1alpha1"
authv1 "github.com/openshift/api/authorization/v1"
synv1 "github.com/syndesisio/syndesis/install/operator/pkg/apis/syndesis/v1alpha1"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
Expand Down Expand Up @@ -91,8 +91,8 @@ func getUserViewRoleBindingObj(namespace, username string) *authv1.RoleBinding {
}

// Fuse Custom Resource
func getFuseObj(deployNamespace, consumerNamespace string, integrationsLimit int) *v1alpha1.Syndesis {
return &v1alpha1.Syndesis{
func getFuseObj(deployNamespace, consumerNamespace string, integrationsLimit int) *synv1.Syndesis {
return &synv1.Syndesis{
TypeMeta: metav1.TypeMeta{
Kind: "Syndesis",
APIVersion: "syndesis.io/v1alpha1",
Expand All @@ -102,20 +102,18 @@ func getFuseObj(deployNamespace, consumerNamespace string, integrationsLimit int
GenerateName: "fuse-",
Annotations: map[string]string{},
},
Spec: v1alpha1.SyndesisSpec{
Spec: synv1.SyndesisSpec{
SarNamespace: consumerNamespace,
Integration: v1alpha1.IntegrationSpec{
Integration: synv1.IntegrationSpec{
Limit: &integrationsLimit,
},
Components: v1alpha1.ComponentsSpec{
Db: v1alpha1.DbConfiguration{},
Prometheus: v1alpha1.PrometheusConfiguration{},
Server: v1alpha1.ServerConfiguration{
Features: v1alpha1.ServerFeatures{
ExposeVia3Scale: true,
},
Components: synv1.ComponentsSpec{
Db: synv1.DbConfiguration{},
Prometheus: synv1.PrometheusConfiguration{},
Server: synv1.ServerConfiguration{
Features: synv1.ServerFeatures{},
},
Meta: v1alpha1.MetaConfiguration{},
Meta: synv1.MetaConfiguration{},
},
},
}
Expand Down
3 changes: 0 additions & 3 deletions pkg/deploys/fuse/pkg/apis/syndesis/v1alpha1/doc.go

This file was deleted.

36 changes: 0 additions & 36 deletions pkg/deploys/fuse/pkg/apis/syndesis/v1alpha1/register.go

This file was deleted.

144 changes: 0 additions & 144 deletions pkg/deploys/fuse/pkg/apis/syndesis/v1alpha1/types.go

This file was deleted.

Loading

0 comments on commit c372368

Please sign in to comment.