Skip to content

Commit e46f146

Browse files
authored
feat: Determine default metro from profile (#224)
Reviewed-by: Alexander Jung <alex@unikraft.com> Approved-by: Alexander Jung <alex@unikraft.com>
2 parents 4ad54f7 + b465bd1 commit e46f146

32 files changed

Lines changed: 170 additions & 58 deletions

cmd/unikraft/testdata/TestGolden/config/get

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cmd/unikraft/testdata/TestGolden/config/help

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/cmd/any.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ func (a AnyResource) Key() resource.Key {
153153
}
154154
}
155155

156-
func (a AnyResource) Fields() ([]resource.Field, error) {
156+
func (a AnyResource) Fields(ctx context.Context) ([]resource.Field, error) {
157157
fields, err := resource.FieldsFromStruct(a)
158158
if err != nil {
159159
return nil, err
@@ -165,7 +165,7 @@ func (a AnyResource) Fields() ([]resource.Field, error) {
165165
}
166166
}
167167
if underlying != nil {
168-
underlyingFields, err := underlying.Fields()
168+
underlyingFields, err := underlying.Fields(ctx)
169169
if err != nil {
170170
return nil, err
171171
}

internal/cmd/certificates.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,8 @@ func (c Certificate) Raw() any {
102102
return c.Certificate
103103
}
104104

105-
func (c Certificate) Fields() ([]resource.Field, error) {
105+
func (c Certificate) Fields(ctx context.Context) ([]resource.Field, error) {
106+
c.MetroName = defaultMetro(ctx, c.MetroName)
106107
result, err := resource.FieldsFromStruct(c)
107108
if err != nil {
108109
return nil, err

internal/cmd/config.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ func (c Config) Raw() any {
4141
return c.Config
4242
}
4343

44-
func (c Config) Fields() ([]resource.Field, error) {
44+
func (c Config) Fields(ctx context.Context) ([]resource.Field, error) {
4545
return resource.FieldsFromStruct(c.Config)
4646
}
4747

internal/cmd/images.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ func (i Image) Raw() any {
9494
return nil // NOTE: no platform API response associated
9595
}
9696

97-
func (i Image) Fields() ([]resource.Field, error) {
97+
func (i Image) Fields(ctx context.Context) ([]resource.Field, error) {
9898
return resource.FieldsFromStruct(i)
9999
}
100100

@@ -271,7 +271,7 @@ func (i ImageEntry) Raw() any {
271271
return i.Image
272272
}
273273

274-
func (i ImageEntry) Fields() ([]resource.Field, error) {
274+
func (i ImageEntry) Fields(ctx context.Context) ([]resource.Field, error) {
275275
result, err := resource.FieldsFromStruct(i)
276276
if err != nil {
277277
return nil, err

internal/cmd/instance_templates.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ func (i InstanceTemplate) Raw() any {
130130
return i.Instance
131131
}
132132

133-
func (i InstanceTemplate) Fields() ([]resource.Field, error) {
133+
func (i InstanceTemplate) Fields(ctx context.Context) ([]resource.Field, error) {
134134
result, err := resource.FieldsFromStruct(i)
135135
if err != nil {
136136
return nil, err

internal/cmd/instances.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -452,7 +452,8 @@ func (i Instance) Raw() any {
452452
return i.Instance
453453
}
454454

455-
func (i Instance) Fields() ([]resource.Field, error) {
455+
func (i Instance) Fields(ctx context.Context) ([]resource.Field, error) {
456+
i.MetroName = defaultMetro(ctx, i.MetroName)
456457
result, err := resource.FieldsFromStruct(i)
457458
if err != nil {
458459
return nil, err

internal/cmd/metros.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ func (i Metro) Raw() any {
5252
return i
5353
}
5454

55-
func (i Metro) Fields() ([]resource.Field, error) {
55+
func (i Metro) Fields(ctx context.Context) ([]resource.Field, error) {
5656
fields, err := resource.FieldsFromStruct(i)
5757
if err != nil {
5858
return nil, err

internal/cmd/profile.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ func (i Profile) Raw() any {
5252
return i
5353
}
5454

55-
func (i Profile) Fields() ([]resource.Field, error) {
55+
func (i Profile) Fields(ctx context.Context) ([]resource.Field, error) {
5656
return resource.FieldsFromStruct(i)
5757
}
5858

0 commit comments

Comments
 (0)