Skip to content

Commit 22bb984

Browse files
authored
HMS-5501: support new features api (#1006)
* HMS-5501: support new features api * move client packages to shared directory * fix distribution version returned for high-availability content
1 parent 102d3e5 commit 22bb984

File tree

84 files changed

+109
-103
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+109
-103
lines changed

README.md

+2-2

cmd/candlepin/main.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import (
55
"fmt"
66
"os"
77

8-
"github.com/content-services/content-sources-backend/pkg/candlepin_client"
8+
"github.com/content-services/content-sources-backend/pkg/clients/candlepin_client"
99
"github.com/content-services/content-sources-backend/pkg/config"
1010
"github.com/content-services/content-sources-backend/pkg/dao"
1111
"github.com/content-services/content-sources-backend/pkg/db"

cmd/content-sources/main.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ import (
1010
"syscall"
1111
"time"
1212

13+
"github.com/content-services/content-sources-backend/pkg/clients/pulp_client"
1314
"github.com/content-services/content-sources-backend/pkg/config"
1415
"github.com/content-services/content-sources-backend/pkg/db"
1516
ce "github.com/content-services/content-sources-backend/pkg/errors"
1617
"github.com/content-services/content-sources-backend/pkg/handler"
1718
m "github.com/content-services/content-sources-backend/pkg/instrumentation"
1819
custom_collector "github.com/content-services/content-sources-backend/pkg/instrumentation/custom"
19-
"github.com/content-services/content-sources-backend/pkg/pulp_client"
2020
"github.com/content-services/content-sources-backend/pkg/router"
2121
"github.com/content-services/content-sources-backend/pkg/tasks"
2222
"github.com/content-services/content-sources-backend/pkg/tasks/queue"

cmd/external-repos/main.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ import (
1010
"sync"
1111
"time"
1212

13+
"github.com/content-services/content-sources-backend/pkg/clients/feature_service_client"
14+
"github.com/content-services/content-sources-backend/pkg/clients/pulp_client"
1315
"github.com/content-services/content-sources-backend/pkg/config"
1416
"github.com/content-services/content-sources-backend/pkg/dao"
1517
"github.com/content-services/content-sources-backend/pkg/db"
1618
"github.com/content-services/content-sources-backend/pkg/external_repos"
17-
"github.com/content-services/content-sources-backend/pkg/feature_service_client"
1819
"github.com/content-services/content-sources-backend/pkg/models"
19-
"github.com/content-services/content-sources-backend/pkg/pulp_client"
2020
"github.com/content-services/content-sources-backend/pkg/tasks"
2121
"github.com/content-services/content-sources-backend/pkg/tasks/client"
2222
"github.com/content-services/content-sources-backend/pkg/tasks/payloads"

configs/config.yaml.example

+1-1
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ clients:
135135
pulp_content_path: 1h
136136
subscription_check: 1h
137137
feature_service:
138-
server: #https://subscription.stage.api.redhat.com/svcrest/subscription/v5
138+
server: #https://feature.stage.api.redhat.com/features/v1
139139
client_cert:
140140
client_key:
141141
ca_cert:
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

pkg/feature_service_client/features.go pkg/clients/feature_service_client/features.go

+10-4
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ import (
1919
)
2020

2121
type FeaturesResponse struct {
22-
Content []Content `json:"content"`
22+
Features []Feature `json:"features"`
2323
}
2424

25-
type Content struct {
25+
type Feature struct {
2626
Name string `json:"name"`
2727
Rules Rules `json:"rules"`
2828
}
@@ -38,15 +38,15 @@ type MatchProducts struct {
3838
type FeatureStatusResponse struct {
3939
Features []struct {
4040
Name string `json:"name"`
41-
Entitled bool `json:"entitled"`
41+
Entitled bool `json:"isEntitled"`
4242
} `json:"features"`
4343
}
4444

4545
func (fs featureServiceImpl) ListFeatures(ctx context.Context) (FeaturesResponse, int, error) {
4646
statusCode := http.StatusInternalServerError
4747
var err error
4848

49-
server := config.Get().Clients.FeatureService.Server + "/features/"
49+
server := config.Get().Clients.FeatureService.Server
5050
req, err := http.NewRequestWithContext(ctx, http.MethodGet, server, nil)
5151
if err != nil {
5252
return FeaturesResponse{}, statusCode, err
@@ -235,6 +235,12 @@ func getVersionFromLabel(label string) string {
235235
for i := 0; i < len(splitLabel); i++ {
236236
if splitLabel[i] == "rhel" {
237237
version = splitLabel[i+1]
238+
239+
// high-availability repos have different label formatting "rhel-ha-for-rhel-<version>..."
240+
if version == "ha" {
241+
continue
242+
}
243+
238244
break
239245
}
240246
}
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

pkg/pulp_client/status.go pkg/clients/pulp_client/status.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ func (r *pulpDaoImpl) GetContentPath(ctx context.Context) (string, error) {
3131
logger := zerolog.Ctx(ctx)
3232

3333
pulpContentPath, err := r.cache.GetPulpContentPath(ctx)
34-
if err != nil && (!errors.Is(err, cache.NotFound) || !errors.Is(err, context.Canceled)) {
34+
if err != nil && !(errors.Is(err, cache.NotFound) || errors.Is(err, context.Canceled)) {
3535
logger.Error().Err(err).Msg("GetContentPath: error reading from cache")
3636
}
3737

File renamed without changes.
File renamed without changes.

pkg/dao/admin_tasks.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ import (
99
"time"
1010

1111
"github.com/content-services/content-sources-backend/pkg/api"
12+
"github.com/content-services/content-sources-backend/pkg/clients/pulp_client"
1213
ce "github.com/content-services/content-sources-backend/pkg/errors"
1314
"github.com/content-services/content-sources-backend/pkg/models"
14-
"github.com/content-services/content-sources-backend/pkg/pulp_client"
1515
"github.com/content-services/content-sources-backend/pkg/tasks/payloads"
1616
"gorm.io/gorm"
1717
)

pkg/dao/admin_tasks_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ import (
99
"time"
1010

1111
"github.com/content-services/content-sources-backend/pkg/api"
12+
"github.com/content-services/content-sources-backend/pkg/clients/pulp_client"
1213
"github.com/content-services/content-sources-backend/pkg/config"
1314
ce "github.com/content-services/content-sources-backend/pkg/errors"
1415
"github.com/content-services/content-sources-backend/pkg/models"
15-
"github.com/content-services/content-sources-backend/pkg/pulp_client"
1616
"github.com/content-services/content-sources-backend/pkg/seeds"
1717
"github.com/content-services/content-sources-backend/pkg/tasks/payloads"
1818
"github.com/content-services/content-sources-backend/pkg/utils"

pkg/dao/domains.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ import (
44
"context"
55
"fmt"
66

7-
"github.com/content-services/content-sources-backend/pkg/candlepin_client"
7+
"github.com/content-services/content-sources-backend/pkg/clients/candlepin_client"
8+
"github.com/content-services/content-sources-backend/pkg/clients/pulp_client"
89
"github.com/content-services/content-sources-backend/pkg/config"
910
"github.com/content-services/content-sources-backend/pkg/models"
10-
"github.com/content-services/content-sources-backend/pkg/pulp_client"
1111
"github.com/labstack/gommon/random"
1212
"gorm.io/gorm"
1313
"gorm.io/gorm/clause"

pkg/dao/domains_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ import (
55
"sync"
66
"testing"
77

8-
"github.com/content-services/content-sources-backend/pkg/candlepin_client"
8+
"github.com/content-services/content-sources-backend/pkg/clients/candlepin_client"
9+
"github.com/content-services/content-sources-backend/pkg/clients/pulp_client"
910
"github.com/content-services/content-sources-backend/pkg/db"
1011
"github.com/content-services/content-sources-backend/pkg/models"
11-
"github.com/content-services/content-sources-backend/pkg/pulp_client"
1212
uuid2 "github.com/google/uuid"
1313
"github.com/stretchr/testify/assert"
1414
"github.com/stretchr/testify/suite"

pkg/dao/interfaces.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ import (
44
"context"
55

66
"github.com/content-services/content-sources-backend/pkg/api"
7-
"github.com/content-services/content-sources-backend/pkg/candlepin_client"
8-
"github.com/content-services/content-sources-backend/pkg/feature_service_client"
7+
"github.com/content-services/content-sources-backend/pkg/clients/candlepin_client"
8+
"github.com/content-services/content-sources-backend/pkg/clients/feature_service_client"
9+
"github.com/content-services/content-sources-backend/pkg/clients/pulp_client"
910
"github.com/content-services/content-sources-backend/pkg/models"
10-
"github.com/content-services/content-sources-backend/pkg/pulp_client"
1111
"github.com/content-services/tang/pkg/tangy"
1212
"github.com/content-services/yummy/pkg/yum"
1313
"gorm.io/gorm"

pkg/dao/repository_configs.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@ import (
1212
"github.com/ProtonMail/go-crypto/openpgp"
1313
"github.com/RedHatInsights/event-schemas-go/apps/repositories/v1"
1414
"github.com/content-services/content-sources-backend/pkg/api"
15+
"github.com/content-services/content-sources-backend/pkg/clients/feature_service_client"
16+
"github.com/content-services/content-sources-backend/pkg/clients/pulp_client"
1517
"github.com/content-services/content-sources-backend/pkg/config"
1618
ce "github.com/content-services/content-sources-backend/pkg/errors"
1719
"github.com/content-services/content-sources-backend/pkg/event"
18-
"github.com/content-services/content-sources-backend/pkg/feature_service_client"
1920
"github.com/content-services/content-sources-backend/pkg/models"
20-
"github.com/content-services/content-sources-backend/pkg/pulp_client"
2121
"github.com/content-services/content-sources-backend/pkg/utils"
2222
"github.com/content-services/yummy/pkg/yum"
2323
"github.com/jackc/pgx/v5/pgconn"

pkg/dao/repository_configs_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ import (
1111
"time"
1212

1313
"github.com/content-services/content-sources-backend/pkg/api"
14+
"github.com/content-services/content-sources-backend/pkg/clients/feature_service_client"
15+
"github.com/content-services/content-sources-backend/pkg/clients/pulp_client"
1416
"github.com/content-services/content-sources-backend/pkg/config"
1517
ce "github.com/content-services/content-sources-backend/pkg/errors"
16-
"github.com/content-services/content-sources-backend/pkg/feature_service_client"
1718
"github.com/content-services/content-sources-backend/pkg/models"
18-
"github.com/content-services/content-sources-backend/pkg/pulp_client"
1919
"github.com/content-services/content-sources-backend/pkg/seeds"
2020
"github.com/content-services/content-sources-backend/pkg/test"
2121
"github.com/content-services/content-sources-backend/pkg/utils"

pkg/dao/snapshots.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ import (
99
"time"
1010

1111
"github.com/content-services/content-sources-backend/pkg/api"
12+
"github.com/content-services/content-sources-backend/pkg/clients/feature_service_client"
13+
"github.com/content-services/content-sources-backend/pkg/clients/pulp_client"
1214
"github.com/content-services/content-sources-backend/pkg/config"
1315
ce "github.com/content-services/content-sources-backend/pkg/errors"
14-
"github.com/content-services/content-sources-backend/pkg/feature_service_client"
1516
"github.com/content-services/content-sources-backend/pkg/models"
16-
"github.com/content-services/content-sources-backend/pkg/pulp_client"
1717
"github.com/content-services/content-sources-backend/pkg/utils"
1818
"golang.org/x/exp/slices"
1919
"gorm.io/gorm"

pkg/dao/snapshots_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ import (
1010
"time"
1111

1212
"github.com/content-services/content-sources-backend/pkg/api"
13+
"github.com/content-services/content-sources-backend/pkg/clients/feature_service_client"
14+
"github.com/content-services/content-sources-backend/pkg/clients/pulp_client"
1315
"github.com/content-services/content-sources-backend/pkg/config"
1416
ce "github.com/content-services/content-sources-backend/pkg/errors"
15-
"github.com/content-services/content-sources-backend/pkg/feature_service_client"
1617
"github.com/content-services/content-sources-backend/pkg/models"
17-
"github.com/content-services/content-sources-backend/pkg/pulp_client"
1818
"github.com/content-services/content-sources-backend/pkg/seeds"
1919
"github.com/content-services/content-sources-backend/pkg/utils"
2020
"github.com/content-services/yummy/pkg/yum"

pkg/dao/task_info_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ import (
77
"time"
88

99
"github.com/content-services/content-sources-backend/pkg/api"
10+
"github.com/content-services/content-sources-backend/pkg/clients/feature_service_client"
11+
"github.com/content-services/content-sources-backend/pkg/clients/pulp_client"
1012
"github.com/content-services/content-sources-backend/pkg/config"
1113
ce "github.com/content-services/content-sources-backend/pkg/errors"
12-
"github.com/content-services/content-sources-backend/pkg/feature_service_client"
1314
"github.com/content-services/content-sources-backend/pkg/models"
14-
"github.com/content-services/content-sources-backend/pkg/pulp_client"
1515
"github.com/content-services/content-sources-backend/pkg/seeds"
1616
"github.com/content-services/content-sources-backend/pkg/test/handler"
1717
"github.com/content-services/content-sources-backend/pkg/utils"

pkg/dao/templates.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ import (
1010
"time"
1111

1212
"github.com/content-services/content-sources-backend/pkg/api"
13-
"github.com/content-services/content-sources-backend/pkg/candlepin_client"
13+
"github.com/content-services/content-sources-backend/pkg/clients/candlepin_client"
14+
"github.com/content-services/content-sources-backend/pkg/clients/feature_service_client"
15+
"github.com/content-services/content-sources-backend/pkg/clients/pulp_client"
1416
"github.com/content-services/content-sources-backend/pkg/config"
1517
ce "github.com/content-services/content-sources-backend/pkg/errors"
1618
"github.com/content-services/content-sources-backend/pkg/event"
17-
"github.com/content-services/content-sources-backend/pkg/feature_service_client"
1819
"github.com/content-services/content-sources-backend/pkg/models"
19-
"github.com/content-services/content-sources-backend/pkg/pulp_client"
2020
"github.com/jackc/pgx/v5/pgconn"
2121
"golang.org/x/exp/slices"
2222
"gorm.io/gorm"

pkg/dao/templates_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ import (
99
"time"
1010

1111
"github.com/content-services/content-sources-backend/pkg/api"
12-
"github.com/content-services/content-sources-backend/pkg/candlepin_client"
12+
"github.com/content-services/content-sources-backend/pkg/clients/candlepin_client"
13+
"github.com/content-services/content-sources-backend/pkg/clients/pulp_client"
1314
"github.com/content-services/content-sources-backend/pkg/config"
1415
ce "github.com/content-services/content-sources-backend/pkg/errors"
1516
"github.com/content-services/content-sources-backend/pkg/models"
16-
"github.com/content-services/content-sources-backend/pkg/pulp_client"
1717
"github.com/content-services/content-sources-backend/pkg/seeds"
1818
"github.com/content-services/content-sources-backend/pkg/utils"
1919
"github.com/google/uuid"

pkg/dao/uploads.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ package dao
33
import (
44
"context"
55

6+
"github.com/content-services/content-sources-backend/pkg/clients/pulp_client"
67
"github.com/content-services/content-sources-backend/pkg/models"
7-
"github.com/content-services/content-sources-backend/pkg/pulp_client"
88
"gorm.io/gorm"
99
)
1010

pkg/dao/uploads_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import (
44
"context"
55
"testing"
66

7-
"github.com/content-services/content-sources-backend/pkg/pulp_client"
7+
"github.com/content-services/content-sources-backend/pkg/clients/pulp_client"
88
"github.com/stretchr/testify/assert"
99
"github.com/stretchr/testify/suite"
1010
)

pkg/handler/admin_tasks.go

+7-7
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@ import (
66

77
caliri "github.com/content-services/caliri/release/v4"
88
"github.com/content-services/content-sources-backend/pkg/api"
9-
"github.com/content-services/content-sources-backend/pkg/candlepin_client"
9+
"github.com/content-services/content-sources-backend/pkg/clients/candlepin_client"
10+
"github.com/content-services/content-sources-backend/pkg/clients/feature_service_client"
1011
"github.com/content-services/content-sources-backend/pkg/dao"
1112
ce "github.com/content-services/content-sources-backend/pkg/errors"
12-
fs "github.com/content-services/content-sources-backend/pkg/feature_service_client"
1313
"github.com/content-services/content-sources-backend/pkg/rbac"
1414
"github.com/labstack/echo/v4"
1515
"github.com/rs/zerolog/log"
1616
)
1717

1818
type AdminTaskHandler struct {
1919
DaoRegistry dao.DaoRegistry
20-
fsClient fs.FeatureServiceClient
20+
fsClient feature_service_client.FeatureServiceClient
2121
cpClient candlepin_client.CandlepinClient
2222
}
2323

@@ -30,7 +30,7 @@ func checkAccessible(next echo.HandlerFunc) echo.HandlerFunc {
3030
}
3131
}
3232

33-
func RegisterAdminTaskRoutes(engine *echo.Group, daoReg *dao.DaoRegistry, fsClient *fs.FeatureServiceClient, cpClient *candlepin_client.CandlepinClient) {
33+
func RegisterAdminTaskRoutes(engine *echo.Group, daoReg *dao.DaoRegistry, fsClient *feature_service_client.FeatureServiceClient, cpClient *candlepin_client.CandlepinClient) {
3434
if engine == nil {
3535
panic("engine is nil")
3636
}
@@ -84,7 +84,7 @@ func (adminTaskHandler *AdminTaskHandler) listFeatures(c echo.Context) error {
8484
}
8585

8686
subsAsFeatResp := api.ListFeaturesResponse{}
87-
for _, content := range resp.Content {
87+
for _, content := range resp.Features {
8888
subsAsFeatResp.Features = append(subsAsFeatResp.Features, content.Name)
8989
}
9090

@@ -102,7 +102,7 @@ func (adminTaskHandler *AdminTaskHandler) listContentForFeature(c echo.Context)
102102

103103
var found bool
104104
var engIDs []int
105-
for _, content := range resp.Content {
105+
for _, content := range resp.Features {
106106
if name == content.Name {
107107
found = true
108108
engIDs = content.Rules.MatchProducts[0].EngIDs
@@ -125,7 +125,7 @@ func (adminTaskHandler *AdminTaskHandler) listContentForFeature(c echo.Context)
125125

126126
var contents []api.FeatureServiceContentResponse
127127
for _, product := range products {
128-
contents = append(contents, fs.ProductToRepoJSON(product, name)...)
128+
contents = append(contents, feature_service_client.ProductToRepoJSON(product, name)...)
129129
}
130130
return c.JSON(http.StatusOK, contents)
131131
}

0 commit comments

Comments
 (0)