Skip to content

Commit

Permalink
Merge pull request #1141 from valdar/issue/MGDCTRS-997
Browse files Browse the repository at this point in the history
fix MGDCTRS-997: Admin API to list connectors with new revisions
  • Loading branch information
valdar authored Jun 29, 2022
2 parents 0ecff40 + 66ae690 commit a1a2496
Show file tree
Hide file tree
Showing 46 changed files with 1,340 additions and 1,256 deletions.
416 changes: 163 additions & 253 deletions internal/connector/internal/api/admin/private/api/openapi.yaml

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ package private

// ConnectorAvailableOperatorUpgrade An available operator upgrade for a connector
type ConnectorAvailableOperatorUpgrade struct {
ConnectorId string `json:"connector_id,omitempty"`
NamespaceId string `json:"namespace_id,omitempty"`
ConnectorTypeId string `json:"connector_type_id,omitempty"`
Channel string `json:"channel,omitempty"`
Operator ConnectorAvailableOperatorUpgradeOperator `json:"operator,omitempty"`
ConnectorId string `json:"connector_id,omitempty"`
NamespaceId string `json:"namespace_id,omitempty"`
ConnectorTypeId string `json:"connector_type_id,omitempty"`
Channel string `json:"channel,omitempty"`
Operator ConnectorUpgradeStatus `json:"operator,omitempty"`
}

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/*
* Connector Service Fleet Manager Admin APIs
*
* Connector Service Fleet Manager Admin is a Rest API to manage connector clusters.
*
* API version: 0.0.3
* Generated by: OpenAPI Generator (https://openapi-generator.tech)
*/

package private

// ConnectorDeploymentAdminStatus The status of connector deployment
type ConnectorDeploymentAdminStatus struct {
Phase ConnectorState `json:"phase,omitempty"`
ResourceVersion int64 `json:"resource_version,omitempty"`
ShardMetadata ConnectorDeploymentAdminStatusShardMetadata `json:"shard_metadata,omitempty"`
Operators ConnectorDeploymentAdminStatusOperators `json:"operators,omitempty"`
Conditions []MetaV1Condition `json:"conditions,omitempty"`
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@

package private

// ConnectorDeploymentStatusOperators struct for ConnectorDeploymentStatusOperators
type ConnectorDeploymentStatusOperators struct {
// ConnectorDeploymentAdminStatusOperators struct for ConnectorDeploymentAdminStatusOperators
type ConnectorDeploymentAdminStatusOperators struct {
Assigned ConnectorOperator `json:"assigned,omitempty"`
Available ConnectorOperator `json:"available,omitempty"`
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
/*
* Connector Service Fleet Manager Admin APIs
*
* Connector Service Fleet Manager Admin is a Rest API to manage connector clusters.
*
* API version: 0.0.3
* Generated by: OpenAPI Generator (https://openapi-generator.tech)
*/

package private

// ConnectorDeploymentAdminStatusShardMetadata latest available revision of deployment shared metadata
type ConnectorDeploymentAdminStatusShardMetadata struct {
Assigned ConnectorShardMetadata `json:"assigned,omitempty"`
Available ConnectorShardMetadata `json:"available,omitempty"`
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,5 @@ type ConnectorDeploymentAdminView struct {
Href string `json:"href,omitempty"`
Metadata ConnectorDeploymentAdminViewAllOfMetadata `json:"metadata,omitempty"`
Spec ConnectorDeploymentAdminSpec `json:"spec,omitempty"`
Status ConnectorDeploymentStatus `json:"status,omitempty"`
Status ConnectorDeploymentAdminStatus `json:"status,omitempty"`
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
/*
* Connector Service Fleet Manager Admin APIs
*
* Connector Service Fleet Manager Admin is a Rest API to manage connector clusters.
*
* API version: 0.0.3
* Generated by: OpenAPI Generator (https://openapi-generator.tech)
*/

package private

// ConnectorShardMetadata identifies a shard metadata of a connector type.
type ConnectorShardMetadata struct {
// the channel of the shard metadata
Channel string `json:"channel,omitempty"`
// the connector type id this shard metadata refers to
ConnectorTypeId string `json:"connector_type_id,omitempty"`
// the revision of the shard metadate
Revision int64 `json:"revision,omitempty"`
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@

package private

// ConnectorAvailableOperatorUpgradeOperator struct for ConnectorAvailableOperatorUpgradeOperator
type ConnectorAvailableOperatorUpgradeOperator struct {
// ConnectorUpgradeStatus Assigned and available update ids
type ConnectorUpgradeStatus struct {
AssignedId string `json:"assigned_id,omitempty"`
AvailableId string `json:"available_id,omitempty"`
}
36 changes: 11 additions & 25 deletions internal/connector/internal/api/dbapi/connector.go
Original file line number Diff line number Diff line change
Expand Up @@ -84,15 +84,17 @@ type ConnectorWithConditionsList []*ConnectorWithConditions
// ConnectorDeployment Holds the deployment configuration of a connector
type ConnectorDeployment struct {
db.Model
Version int64
ConnectorID string
OperatorID string
ConnectorVersion int64
ConnectorTypeChannelId int64
ClusterID string
NamespaceID string
AllowUpgrade bool
Status ConnectorDeploymentStatus `gorm:"foreignKey:ID"`
Version int64
ConnectorID string
Connector Connector
OperatorID string
ConnectorVersion int64
ConnectorShardMetadataID int64
ConnectorShardMetadata ConnectorShardMetadata
ClusterID string
NamespaceID string
AllowUpgrade bool
Status ConnectorDeploymentStatus `gorm:"foreignKey:ID;references:ID"`
}

type ConnectorDeploymentList []ConnectorDeployment
Expand Down Expand Up @@ -122,22 +124,6 @@ type ServiceAccount struct {
ClientSecretRef string `gorm:"column:client_secret"`
}

type ConnectorDeploymentTypeUpgrade struct {
ConnectorID string `json:"connector_id,omitempty"`
DeploymentID string `json:"deployment_id,omitempty"`
ConnectorTypeId string `json:"connector_type_id,omitempty"`
NamespaceID string `json:"namespace_id,omitempty"`
Channel string `json:"channel,omitempty"`
ShardMetadata *ConnectorTypeUpgrade `json:"shard_metadata,omitempty"`
}

type ConnectorTypeUpgrade struct {
AssignedId int64 `json:"assigned_id,omitempty"`
AvailableId int64 `json:"available_id,omitempty"`
}

type ConnectorDeploymentTypeUpgradeList []ConnectorDeploymentTypeUpgrade

type ConnectorDeploymentOperatorUpgrade struct {
ConnectorID string `json:"connector_id,omitempty"`
DeploymentID string `json:"deployment_id,omitempty"`
Expand Down
12 changes: 7 additions & 5 deletions internal/connector/internal/api/dbapi/connector_type.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@ package dbapi

import (
"encoding/json"
"github.com/bf2fc6cc711aee1a0c2a/kas-fleet-manager/pkg/db"
"time"

"github.com/bf2fc6cc711aee1a0c2a/kas-fleet-manager/pkg/db"

"github.com/bf2fc6cc711aee1a0c2a/kas-fleet-manager/pkg/api"
"github.com/bf2fc6cc711aee1a0c2a/kas-fleet-manager/pkg/errors"
"gorm.io/gorm"
Expand Down Expand Up @@ -50,11 +51,12 @@ type ConnectorTypeCapability struct {
}

type ConnectorShardMetadata struct {
ID int64 `gorm:"primaryKey:autoIncrement"`
ConnectorTypeId string `gorm:"primaryKey"`
Channel string `gorm:"primaryKey"`
ID int64 `gorm:"primaryKey:autoIncrement"`
ConnectorTypeId string `gorm:"index:idx_typeid_channel_revision;index:idx_typeid_channel"`
Channel string `gorm:"index:idx_typeid_channel_revision;index:idx_typeid_channel"`
Revision int64 `gorm:"index:idx_typeid_channel_revision;default:0"`
LatestRevision *int64
ShardMetadata api.JSON `gorm:"type:jsonb"`
LatestId *int64
}

type ConnectorCatalogEntry struct {
Expand Down
4 changes: 2 additions & 2 deletions internal/connector/internal/config/connectors.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,14 @@ import (
"crypto/sha1"
"encoding/json"
"fmt"
"github.com/bf2fc6cc711aee1a0c2a/kas-fleet-manager/pkg/shared/utils/files"
"io/fs"
"io/ioutil"
"os"
"sort"
"strings"

"github.com/bf2fc6cc711aee1a0c2a/kas-fleet-manager/pkg/shared/utils/files"

gherrors "github.com/pkg/errors"

"time"
Expand All @@ -35,7 +36,6 @@ type ConnectorsConfig struct {
var _ environments.ConfigModule = &ConnectorsConfig{}

type ConnectorChannelConfig struct {
Revision int64 `json:"revision,omitempty"`
ShardMetadata map[string]interface{} `json:"shard_metadata,omitempty"`
}

Expand Down
1 change: 1 addition & 0 deletions internal/connector/internal/environments/integration.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ func (b IntegrationEnvLoader) Defaults() map[string]string {
func (b IntegrationEnvLoader) ModifyConfiguration(env *environments.Env) error {
// Support a one-off env to allow enabling db debug in testing
var databaseConfig *db.DatabaseConfig
env.MustResolveAll(&databaseConfig)
if os.Getenv("DB_DEBUG") == "true" {
databaseConfig.Debug = true
}
Expand Down
Loading

0 comments on commit a1a2496

Please sign in to comment.