Skip to content

Commit 41db032

Browse files
wip
1 parent ce35f75 commit 41db032

File tree

8 files changed

+32
-26
lines changed

8 files changed

+32
-26
lines changed

internal/controller/kyma/controller.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -576,7 +576,8 @@ func (r *Reconciler) updateKyma(ctx context.Context, kyma *v1beta2.Kyma) error {
576576

577577
func (r *Reconciler) reconcileManifests(ctx context.Context, kyma *v1beta2.Kyma) error {
578578
templates := r.TemplateLookup.GetRegularTemplates(ctx, kyma)
579-
prsr := parser.NewParser(r.Client, r.DescriptorProvider, r.RemoteSyncNamespace)
579+
ociRepo := "http://k3d-kcp-registry.localhost:5000/component-descriptors" //TODO: Get from configuration
580+
prsr := parser.NewParser(r.Client, r.DescriptorProvider, r.RemoteSyncNamespace, ociRepo)
580581
modules := prsr.GenerateModulesFromTemplates(kyma, templates)
581582

582583
runner := sync.New(r)

internal/controller/mandatorymodule/installation_controller.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,8 @@ func (r *InstallationReconciler) Reconcile(ctx context.Context, req ctrl.Request
8585
func (r *InstallationReconciler) GenerateModulesFromTemplate(ctx context.Context,
8686
templates templatelookup.ModuleTemplatesByModuleName, kyma *v1beta2.Kyma,
8787
) (modulecommon.Modules, error) {
88-
parser := parser.NewParser(r.Client, r.DescriptorProvider, r.RemoteSyncNamespace)
88+
ociRepo := "http://k3d-kcp-registry.localhost:5000/component-descriptors" //TODO: Get from configuration
89+
parser := parser.NewParser(r.Client, r.DescriptorProvider, r.RemoteSyncNamespace, ociRepo)
8990
return parser.GenerateMandatoryModulesFromTemplates(ctx, kyma, templates), nil
9091
}
9192

internal/descriptor/cache/key.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package cache
22

33
import (
44
"fmt"
5+
56
"github.com/kyma-project/lifecycle-manager/internal/descriptor/types/ocmidentity"
67
)
78

internal/descriptor/provider/provider_test.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,12 @@ import (
55

66
//"github.com/stretchr/testify/assert"
77
"github.com/stretchr/testify/require"
8-
//"ocm.software/ocm/api/ocm/compdesc"
98

109
//"github.com/kyma-project/lifecycle-manager/api/v1beta2"
1110
//"github.com/kyma-project/lifecycle-manager/internal/descriptor/cache"
1211
"github.com/kyma-project/lifecycle-manager/internal/descriptor/provider"
1312
//"github.com/kyma-project/lifecycle-manager/internal/descriptor/types"
1413
"github.com/kyma-project/lifecycle-manager/internal/descriptor/types/ocmidentity"
15-
//"github.com/kyma-project/lifecycle-manager/pkg/testutils/builder"
1614
)
1715

1816
func TestGet_OnEmptyIdentity_ReturnsErr(t *testing.T) {

internal/manifest/img/layer.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,14 @@ type (
4343

4444
type Layers []Layer
4545

46-
func (l Layer) ConvertToImageSpec() (*v1beta2.ImageSpec, error) {
46+
func (l Layer) ConvertToImageSpec(repo string) (*v1beta2.ImageSpec, error) {
4747
ociImage, ok := l.LayerRepresentation.(*OCI)
4848
if !ok {
4949
return nil, fmt.Errorf("%w: not an OCIImage", ErrLayerParsing)
5050
}
51+
5152
return &v1beta2.ImageSpec{
52-
Repo: ociImage.Repo,
53+
Repo: repo, //Note: this value will be used to fetch the layer from the OCI registry
5354
Name: ociImage.Name,
5455
Ref: ociImage.Ref,
5556
Type: v1beta2.RefTypeMetadata(ociImage.Type),

internal/manifest/img/parse.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import (
1818

1919
"github.com/kyma-project/lifecycle-manager/api/v1beta2"
2020
"github.com/kyma-project/lifecycle-manager/pkg/common"
21-
"strings"
2221
)
2322

2423
const DefaultRepoSubdirectory = "component-descriptors"
@@ -130,30 +129,31 @@ func getOCIRef(
130129
switch repo.ComponentNameMapping {
131130
case genericocireg.OCIRegistryURLPathMapping:
132131
repoSubpath := DefaultRepoSubdirectory
133-
//baseURL := repo.Name()
134-
baseURL := "k3d-kcp-registry.localhost:5000"
135-
132+
baseURL := repo.Name()
133+
//baseURL := "k3d-kcp-registry.localhost:5000"
136134
if repo.SubPath != "" {
137135
baseURL = fmt.Sprintf("%s/%s", repo.Name(), repo.SubPath)
138136
}
137+
139138
layerRef.Repo = fmt.Sprintf("%s/%s", baseURL, repoSubpath)
140139

141-
fmt.Println(strings.Repeat("*", 80))
142-
fmt.Printf("layerRef.Repo: %q\n", layerRef.Repo)
143-
fmt.Println(strings.Repeat("*", 80))
140+
// fmt.Println(strings.Repeat("*", 80))
141+
// fmt.Printf("layerRef.Repo: %q\n", layerRef.Repo)
142+
// fmt.Println(strings.Repeat("*", 80))
144143

145144
layerRef.Name = descriptor.GetName()
146145
case genericocireg.OCIRegistryDigestMapping:
147-
//baseURL := repo.Name()
148-
baseURL := "k3d-kcp-registry.localhost:5000"
146+
baseURL := repo.Name()
147+
//baseURL := "k3d-kcp-registry.localhost:5000"
149148
if repo.SubPath != "" {
150149
baseURL = fmt.Sprintf("%s/%s", repo.Name(), repo.SubPath)
151150
}
151+
152152
layerRef.Repo = baseURL + "/"
153153

154-
fmt.Println(strings.Repeat("~", 80))
155-
fmt.Printf("layerRef.Repo: %q\n", layerRef.Repo)
156-
fmt.Println(strings.Repeat("~", 80))
154+
// fmt.Println(strings.Repeat("~", 80))
155+
// fmt.Printf("layerRef.Repo: %q\n", layerRef.Repo)
156+
// fmt.Println(strings.Repeat("~", 80))
157157

158158
layerRef.Name = sha256sum(descriptor.GetName())
159159
default:

internal/manifest/img/pathextractor_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ func TestPathExtractor_FetchLayerToFile(t *testing.T) {
101101
for _, testCase := range tests {
102102
t.Run(testCase.name, func(t *testing.T) {
103103
p := img.NewPathExtractor()
104-
imageSpec, err := testCase.want.ConvertToImageSpec()
104+
imageSpec, err := testCase.want.ConvertToImageSpec("fix-me") //TODO: Fix
105105
require.NoError(t, err)
106106
extractedFilePath, err := p.GetPathFromRawManifest(t.Context(), *imageSpec, authn.DefaultKeychain)
107107
require.NoError(t, err)

internal/manifest/parser/template_to_module.go

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"encoding/json"
66
"errors"
77
"fmt"
8+
"strings"
89

910
machineryruntime "k8s.io/apimachinery/pkg/runtime"
1011
"ocm.software/ocm/api/ocm"
@@ -20,7 +21,6 @@ import (
2021
"github.com/kyma-project/lifecycle-manager/pkg/log"
2122
modulecommon "github.com/kyma-project/lifecycle-manager/pkg/module/common"
2223
"github.com/kyma-project/lifecycle-manager/pkg/templatelookup"
23-
"strings"
2424
)
2525

2626
var ErrConvertingToOCIAccessSpec = errors.New("failed converting resource.AccessSpec to *ociartifact.AccessSpec")
@@ -29,11 +29,13 @@ type Parser struct {
2929
client.Client
3030
descriptorProvider *provider.CachedDescriptorProvider
3131
remoteSyncNamespace string
32+
ociRepo string //"http://k3d-kcp-registry.localhost:5000/component-descriptors"
3233
}
3334

3435
func NewParser(clnt client.Client,
3536
descriptorProvider *provider.CachedDescriptorProvider,
3637
remoteSyncNamespace string,
38+
ociRepo string,
3739
) *Parser {
3840
return &Parser{
3941
Client: clnt,
@@ -110,7 +112,7 @@ func (p *Parser) appendModuleWithInformation(module templatelookup.ModuleInfo, k
110112
setNameAndNamespaceIfEmpty(template, name, p.remoteSyncNamespace)
111113
var manifest *v1beta2.Manifest
112114
if manifest, err = newManifestFromTemplate(module.Module,
113-
template.ModuleTemplate, descriptor); err != nil {
115+
template.ModuleTemplate, descriptor, p.ociRepo); err != nil {
114116
template.Err = err
115117
modules = append(modules, &modulecommon.Module{
116118
ModuleName: module.Name,
@@ -153,6 +155,7 @@ func newManifestFromTemplate(
153155
module v1beta2.Module,
154156
template *v1beta2.ModuleTemplate,
155157
descriptor *types.Descriptor,
158+
repo string,
156159
) (*v1beta2.Manifest, error) {
157160
manifest := &v1beta2.Manifest{}
158161
if manifest.Annotations == nil {
@@ -171,7 +174,8 @@ func newManifestFromTemplate(
171174
return nil, fmt.Errorf("could not parse descriptor: %w", err)
172175
}
173176

174-
if err := translateLayersAndMergeIntoManifest(manifest, layers); err != nil {
177+
//repo := "http://k3d-kcp-registry.localhost:5000/component-descriptors" //TODO: Get from configuration
178+
if err := translateLayersAndMergeIntoManifest(manifest, layers, repo); err != nil {
175179
return nil, fmt.Errorf("could not translate layers and merge them: %w", err)
176180
}
177181

@@ -228,21 +232,21 @@ func appendOptionalCustomStateCheck(manifest *v1beta2.Manifest, stateCheck []*v1
228232
return nil
229233
}
230234

231-
func translateLayersAndMergeIntoManifest(manifest *v1beta2.Manifest, layers img.Layers) error {
235+
func translateLayersAndMergeIntoManifest(manifest *v1beta2.Manifest, layers img.Layers, repo string) error {
232236
for _, layer := range layers {
233-
if err := insertLayerIntoManifest(manifest, layer); err != nil {
237+
if err := insertLayerIntoManifest(manifest, layer, repo); err != nil {
234238
return fmt.Errorf("error in layer %s: %w", layer.LayerName, err)
235239
}
236240
}
237241
return nil
238242
}
239243

240-
func insertLayerIntoManifest(manifest *v1beta2.Manifest, layer img.Layer) error {
244+
func insertLayerIntoManifest(manifest *v1beta2.Manifest, layer img.Layer, repo string) error {
241245
switch layer.LayerName {
242246
case v1beta2.DefaultCRLayer:
243247
// default CR layer is not relevant for the manifest
244248
case v1beta2.ConfigLayer:
245-
imageSpec, err := layer.ConvertToImageSpec()
249+
imageSpec, err := layer.ConvertToImageSpec(repo)
246250
if err != nil {
247251
return fmt.Errorf("error while parsing config layer: %w", err)
248252
}

0 commit comments

Comments
 (0)