Skip to content

Commit 69aa54c

Browse files
committed
Removing handling of plugin metadata
Avoid processing plugin metadata as there's still not defined way to translate metadata from a devfile into a DevWorkspace[Template] Signed-off-by: Angel Misevski <[email protected]>
1 parent a103cab commit 69aa54c

File tree

3 files changed

+32
-34
lines changed

3 files changed

+32
-34
lines changed

Diff for: pkg/library/flatten/flatten.go

+25-26
Original file line numberDiff line numberDiff line change
@@ -76,12 +76,11 @@ func recursiveResolve(workspace devworkspace.DevWorkspaceTemplateSpec, tooling R
7676
// No action necessary
7777
resolvedContent.Components = append(resolvedContent.Components, component)
7878
} else {
79-
pluginComponent, pluginMeta, err := resolvePluginComponent(component.Name, component.Plugin, tooling)
79+
pluginComponent, err := resolvePluginComponent(component.Name, component.Plugin, tooling)
8080
if err != nil {
8181
return nil, err
8282
}
8383
newCtx := resolveCtx.addPlugin(component.Name, component.Plugin)
84-
newCtx.pluginMetadata = pluginMeta
8584
if err := newCtx.hasCycle(); err != nil {
8685
return nil, err
8786
}
@@ -107,24 +106,24 @@ func recursiveResolve(workspace devworkspace.DevWorkspaceTemplateSpec, tooling R
107106
func resolvePluginComponent(
108107
name string,
109108
plugin *devworkspace.PluginComponent,
110-
tooling ResolverTools) (resolvedPlugin *devworkspace.DevWorkspaceTemplateSpec, pluginMeta map[string]string, err error) {
109+
tooling ResolverTools) (resolvedPlugin *devworkspace.DevWorkspaceTemplateSpec, err error) {
111110
switch {
112111
// TODO: Add support for plugin ID and URI
113112
case plugin.Kubernetes != nil:
114113
// Search in devworkspace's namespace if namespace ref is unset
115114
if plugin.Kubernetes.Namespace == "" {
116115
plugin.Kubernetes.Namespace = tooling.InstanceNamespace
117116
}
118-
resolvedPlugin, pluginMeta, err = resolvePluginComponentByKubernetesReference(name, plugin, tooling)
117+
resolvedPlugin, err = resolvePluginComponentByKubernetesReference(name, plugin, tooling)
119118
case plugin.Uri != "":
120-
resolvedPlugin, pluginMeta, err = resolvePluginComponentByURI(name, plugin, tooling)
119+
resolvedPlugin, err = resolvePluginComponentByURI(name, plugin, tooling)
121120
case plugin.Id != "":
122-
resolvedPlugin, pluginMeta, err = resolvePluginComponentById(name, plugin, tooling)
121+
resolvedPlugin, err = resolvePluginComponentById(name, plugin, tooling)
123122
default:
124123
err = fmt.Errorf("plugin %s does not define any resources", name)
125124
}
126125
if err != nil {
127-
return nil, nil, err
126+
return nil, err
128127
}
129128

130129
if plugin.Components != nil || plugin.Commands != nil {
@@ -134,17 +133,17 @@ func resolvePluginComponent(
134133
})
135134

136135
if err != nil {
137-
return nil, nil, err
136+
return nil, err
138137
}
139138
resolvedPlugin.DevWorkspaceTemplateSpecContent = *overrideSpec
140139
}
141-
return resolvedPlugin, pluginMeta, nil
140+
return resolvedPlugin, nil
142141
}
143142

144143
func resolvePluginComponentByKubernetesReference(
145144
name string,
146145
plugin *devworkspace.PluginComponent,
147-
tooling ResolverTools) (resolvedPlugin *devworkspace.DevWorkspaceTemplateSpec, pluginLabels map[string]string, err error) {
146+
tooling ResolverTools) (resolvedPlugin *devworkspace.DevWorkspaceTemplateSpec, err error) {
148147

149148
var dwTemplate devworkspace.DevWorkspaceTemplate
150149
namespacedName := types.NamespacedName{
@@ -154,54 +153,54 @@ func resolvePluginComponentByKubernetesReference(
154153
err = tooling.K8sClient.Get(tooling.Context, namespacedName, &dwTemplate)
155154
if err != nil {
156155
if errors.IsNotFound(err) {
157-
return nil, nil, fmt.Errorf("plugin for component %s not found", name)
156+
return nil, fmt.Errorf("plugin for component %s not found", name)
158157
}
159-
return nil, nil, fmt.Errorf("failed to retrieve plugin referenced by kubernetes name and namespace '%s': %w", name, err)
158+
return nil, fmt.Errorf("failed to retrieve plugin referenced by kubernetes name and namespace '%s': %w", name, err)
160159
}
161-
return &dwTemplate.Spec, dwTemplate.Labels, nil
160+
return &dwTemplate.Spec, nil
162161
}
163162

164163
func resolvePluginComponentById(
165164
name string,
166165
plugin *devworkspace.PluginComponent,
167-
tools ResolverTools) (resolvedPlugin *devworkspace.DevWorkspaceTemplateSpec, pluginLabels map[string]string, err error) {
166+
tools ResolverTools) (resolvedPlugin *devworkspace.DevWorkspaceTemplateSpec, err error) {
168167

169168
// Check internal registry for plugins that do not specify a registry
170169
if plugin.RegistryUrl == "" {
171170
if tools.InternalRegistry == nil {
172-
return nil, nil, fmt.Errorf("plugin %s does not specify a registryUrl and no internal registry is configured", name)
171+
return nil, fmt.Errorf("plugin %s does not specify a registryUrl and no internal registry is configured", name)
173172
}
174173
if !tools.InternalRegistry.IsInInternalRegistry(plugin.Id) {
175-
return nil, nil, fmt.Errorf("plugin for component %s does not specify a registry and is not present in the internal registry", name)
174+
return nil, fmt.Errorf("plugin for component %s does not specify a registry and is not present in the internal registry", name)
176175
}
177176
pluginDWT, err := tools.InternalRegistry.ReadPluginFromInternalRegistry(plugin.Id)
178177
if err != nil {
179-
return nil, nil, fmt.Errorf("failed to read plugin for component %s from internal registry: %w", name, err)
178+
return nil, fmt.Errorf("failed to read plugin for component %s from internal registry: %w", name, err)
180179
}
181-
return &pluginDWT.Spec, pluginDWT.Labels, nil
180+
return &pluginDWT.Spec, nil
182181
}
183182

184183
pluginURL, err := url.Parse(plugin.RegistryUrl)
185184
if err != nil {
186-
return nil, nil, fmt.Errorf("failed to parse registry URL for plugin %s: %w", name, err)
185+
return nil, fmt.Errorf("failed to parse registry URL for plugin %s: %w", name, err)
187186
}
188187
pluginURL.Path = path.Join(pluginURL.Path, "plugins", plugin.Id)
189188

190-
dwt, labels, err := network.FetchDevWorkspaceTemplate(pluginURL.String(), tools.HttpClient)
189+
dwt, err := network.FetchDevWorkspaceTemplate(pluginURL.String(), tools.HttpClient)
191190
if err != nil {
192-
return nil, nil, fmt.Errorf("failed to resolve plugin %s from registry %s: %w", name, plugin.RegistryUrl, err)
191+
return nil, fmt.Errorf("failed to resolve plugin %s from registry %s: %w", name, plugin.RegistryUrl, err)
193192
}
194-
return dwt, labels, nil
193+
return dwt, nil
195194
}
196195

197196
func resolvePluginComponentByURI(
198197
name string,
199198
plugin *devworkspace.PluginComponent,
200-
tools ResolverTools) (resolvedPlugin *devworkspace.DevWorkspaceTemplateSpec, pluginLabels map[string]string, err error) {
199+
tools ResolverTools) (resolvedPlugin *devworkspace.DevWorkspaceTemplateSpec, err error) {
201200

202-
dwt, labels, err := network.FetchDevWorkspaceTemplate(plugin.Uri, tools.HttpClient)
201+
dwt, err := network.FetchDevWorkspaceTemplate(plugin.Uri, tools.HttpClient)
203202
if err != nil {
204-
return nil, nil, fmt.Errorf("failed to resolve plugin %s by URI: %w", name, err)
203+
return nil, fmt.Errorf("failed to resolve plugin %s by URI: %w", name, err)
205204
}
206-
return dwt, labels, nil
205+
return dwt, nil
207206
}

Diff for: pkg/library/flatten/helper.go

-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ import (
2424
type resolutionContextTree struct {
2525
componentName string
2626
importReference devworkspace.ImportReference
27-
pluginMetadata map[string]string
2827
plugins []*resolutionContextTree
2928
parentNode *resolutionContextTree
3029
}

Diff for: pkg/library/flatten/network/fetch.go

+7-7
Original file line numberDiff line numberDiff line change
@@ -25,31 +25,31 @@ type HTTPGetter interface {
2525
Get(location string) (*http.Response, error)
2626
}
2727

28-
func FetchDevWorkspaceTemplate(location string, httpClient HTTPGetter) (*dw.DevWorkspaceTemplateSpec, map[string]string, error) {
28+
func FetchDevWorkspaceTemplate(location string, httpClient HTTPGetter) (*dw.DevWorkspaceTemplateSpec, error) {
2929
resp, err := httpClient.Get(location)
3030
if err != nil {
31-
return nil, nil, fmt.Errorf("failed to fetch file from %s: %w", location, err)
31+
return nil, fmt.Errorf("failed to fetch file from %s: %w", location, err)
3232
}
3333
defer resp.Body.Close() // ignoring error because what would we even do?
3434
if resp.StatusCode != http.StatusOK {
35-
return nil, nil, fmt.Errorf("could not fetch file from %s: got status %d", location, resp.StatusCode)
35+
return nil, fmt.Errorf("could not fetch file from %s: got status %d", location, resp.StatusCode)
3636
}
3737
bytes, err := ioutil.ReadAll(resp.Body)
3838
if err != nil {
39-
return nil, nil, fmt.Errorf("could not read data from %s: %w", location, err)
39+
return nil, fmt.Errorf("could not read data from %s: %w", location, err)
4040
}
4141

4242
// Assume we're getting a devfile, not a DevWorkspaceTemplate (TODO: Detect type and handle both?)
4343
devfile := &Devfile{}
4444
err = yaml.Unmarshal(bytes, devfile)
4545
if err != nil {
46-
return nil, nil, fmt.Errorf("could not unmarshal devfile from response: %w", err)
46+
return nil, fmt.Errorf("could not unmarshal devfile from response: %w", err)
4747
}
4848

4949
dwt, err := ConvertDevfileToDevWorkspaceTemplate(devfile)
5050
if err != nil {
51-
return nil, nil, fmt.Errorf("failed to convert devfile to DevWorkspaceTemplate: %s", err)
51+
return nil, fmt.Errorf("failed to convert devfile to DevWorkspaceTemplate: %s", err)
5252
}
5353

54-
return &dwt.Spec, dwt.Labels, nil
54+
return &dwt.Spec, nil
5555
}

0 commit comments

Comments
 (0)