Refactor iam app cue files (#108542)

A breaking change was introduced by this grafana-app-sdk PR: https://github.com/grafana/grafana-app-sdk/pull/795

This PR refactors the definition of our CUE files (manifest and kinds) to match the new model in the latest version of grafana-app-sdk.
This commit is contained in:
Mihai Turdean 2025-07-24 02:52:52 -06:00 committed by GitHub
parent 69731658a2
commit b1de534092
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 119 additions and 149 deletions

View File

@ -8,5 +8,4 @@ generate: install-app-sdk update-app-sdk ## Run Grafana App SDK code generation
--grouping=group \ --grouping=group \
--defencoding=none \ --defencoding=none \
--noschemasinmanifest \ --noschemasinmanifest \
--postprocess \ --postprocess \
--useoldmanifestkinds

View File

@ -1,18 +1,24 @@
package kinds package kinds
manifest: { manifest: {
appName: "iam" appName: "iam"
groupOverride: "iam.grafana.app" groupOverride: "iam.grafana.app"
kinds: [ versions: {
globalrole, "v0alpha1": v0alpha1
globalrolebinding, }
corerole,
role,
rolebinding,
resourcepermission,
user,
team,
teambinding,
serviceaccount,
]
} }
v0alpha1: {
kinds: [
globalrolev0alpha1,
globalrolebindingv0alpha1,
corerolev0alpha1,
rolev0alpha1,
rolebindingv0alpha1,
resourcepermissionv0alpha1,
userv0alpha1,
teamv0alpha1,
teambindingv0alpha1,
serviceaccountv0alpha1,
]
}

View File

@ -4,20 +4,17 @@ import (
"github.com/grafana/grafana/apps/iam/kinds/v0alpha1" "github.com/grafana/grafana/apps/iam/kinds/v0alpha1"
) )
resourcepermission: { resourcepermissionKind: {
kind: "ResourcePermission" kind: "ResourcePermission"
pluralName: "ResourcePermissions" pluralName: "ResourcePermissions"
current: "v0alpha1" codegen: {
ts: { enabled: false }
versions: { go: { enabled: true }
"v0alpha1": { }
codegen: { }
ts: { enabled: false }
go: { enabled: true } resourcepermissionv0alpha1: resourcepermissionKind & {
} schema: {
schema: { spec: v0alpha1.ResourcePermission
spec: v0alpha1.ResourcePermission
}
}
} }
} }

View File

@ -4,56 +4,47 @@ import (
"github.com/grafana/grafana/apps/iam/kinds/v0alpha1" "github.com/grafana/grafana/apps/iam/kinds/v0alpha1"
) )
role: { roleKind: {
kind: "Role" kind: "Role"
pluralName: "Roles" pluralName: "Roles"
current: "v0alpha1" codegen: {
ts: { enabled: false }
versions: { go: { enabled: true }
"v0alpha1": {
codegen: {
ts: { enabled: false }
go: { enabled: true }
}
schema: {
spec: v0alpha1.RoleSpec
}
}
} }
} }
corerole: { coreroleKind: {
kind: "CoreRole" kind: "CoreRole"
pluralName: "CoreRoles" pluralName: "CoreRoles"
current: "v0alpha1" codegen: {
ts: { enabled: false }
versions: { go: { enabled: true }
"v0alpha1": {
codegen: {
ts: { enabled: false }
go: { enabled: true }
}
schema: {
spec: v0alpha1.RoleSpec
}
}
} }
} }
globalrole: { globalroleKind: {
kind: "GlobalRole" kind: "GlobalRole"
pluralName: "GlobalRoles" pluralName: "GlobalRoles"
current: "v0alpha1" codegen: {
ts: { enabled: false }
go: { enabled: true }
}
}
versions: { rolev0alpha1: roleKind & {
"v0alpha1": { schema: {
codegen: { spec: v0alpha1.RoleSpec
ts: { enabled: false } }
go: { enabled: true } }
}
schema: { corerolev0alpha1: coreroleKind & {
spec: v0alpha1.RoleSpec schema: {
} spec: v0alpha1.RoleSpec
} }
}
globalrolev0alpha1: globalroleKind & {
schema: {
spec: v0alpha1.RoleSpec
} }
} }

View File

@ -4,38 +4,32 @@ import (
"github.com/grafana/grafana/apps/iam/kinds/v0alpha1" "github.com/grafana/grafana/apps/iam/kinds/v0alpha1"
) )
rolebinding: { rolebindingKind: {
kind: "RoleBinding" kind: "RoleBinding"
pluralName: "RoleBindings" pluralName: "RoleBindings"
current: "v0alpha1" codegen: {
ts: { enabled: false }
versions: { go: { enabled: true }
"v0alpha1": {
codegen: {
ts: { enabled: false }
go: { enabled: true }
}
schema: {
spec: v0alpha1.RoleBindingSpec
}
}
} }
} }
globalrolebinding: { globalrolebindingKind: {
kind: "GlobalRoleBinding" kind: "GlobalRoleBinding"
pluralName: "GlobalRoleBindings" pluralName: "GlobalRoleBindings"
current: "v0alpha1" codegen: {
ts: { enabled: false }
versions: { go: { enabled: true }
"v0alpha1": { }
codegen: { }
ts: { enabled: false }
go: { enabled: true } rolebindingv0alpha1: rolebindingKind & {
} schema: {
schema: { spec: v0alpha1.RoleBindingSpec
spec: v0alpha1.GlobalRoleBindingSpec }
} }
}
globalrolebindingv0alpha1: globalrolebindingKind & {
schema: {
spec: v0alpha1.GlobalRoleBindingSpec
} }
} }

View File

@ -4,20 +4,17 @@ import (
"github.com/grafana/grafana/apps/iam/kinds/v0alpha1" "github.com/grafana/grafana/apps/iam/kinds/v0alpha1"
) )
serviceaccount: { serviceaccountKind: {
kind: "ServiceAccount" kind: "ServiceAccount"
pluralName: "ServiceAccounts" pluralName: "ServiceAccounts"
current: "v0alpha1" codegen: {
ts: { enabled: false }
versions: { go: { enabled: true }
"v0alpha1": {
codegen: {
ts: { enabled: false }
go: { enabled: true }
}
schema: {
spec: v0alpha1.ServiceAccountSpec
}
}
} }
} }
serviceaccountv0alpha1: serviceaccountKind & {
schema: {
spec: v0alpha1.ServiceAccountSpec
}
}

View File

@ -4,20 +4,18 @@ import (
"github.com/grafana/grafana/apps/iam/kinds/v0alpha1" "github.com/grafana/grafana/apps/iam/kinds/v0alpha1"
) )
team: { teamKind: {
kind: "Team" kind: "Team"
pluralName: "Teams" pluralName: "Teams"
current: "v0alpha1" current: "v0alpha1"
codegen: {
versions: { ts: { enabled: false }
"v0alpha1": { go: { enabled: true }
codegen: { }
ts: { enabled: false } }
go: { enabled: true }
} teamv0alpha1: teamKind & {
schema: { schema: {
spec: v0alpha1.TeamSpec spec: v0alpha1.TeamSpec
}
}
} }
} }

View File

@ -4,20 +4,17 @@ import (
"github.com/grafana/grafana/apps/iam/kinds/v0alpha1" "github.com/grafana/grafana/apps/iam/kinds/v0alpha1"
) )
teambinding: { teambindingKind: {
kind: "TeamBinding" kind: "TeamBinding"
pluralName: "TeamBindings" pluralName: "TeamBindings"
current: "v0alpha1" codegen: {
ts: { enabled: false }
versions: { go: { enabled: true }
"v0alpha1": { }
codegen: { }
ts: { enabled: false }
go: { enabled: true } teambindingv0alpha1: teambindingKind & {
} schema: {
schema: { spec: v0alpha1.TeamBindingSpec
spec: v0alpha1.TeamBindingSpec
}
}
} }
} }

View File

@ -4,26 +4,17 @@ import (
"github.com/grafana/grafana/apps/iam/kinds/v0alpha1" "github.com/grafana/grafana/apps/iam/kinds/v0alpha1"
) )
user: { userKind: {
kind: "User" kind: "User"
pluralName: "Users" pluralName: "Users"
current: "v0alpha1" codegen: {
ts: { enabled: false }
versions: { go: { enabled: true }
"v0alpha1": { }
codegen: { }
ts: { enabled: false }
go: { enabled: true } userv0alpha1: userKind & {
} schema: {
validation: { spec: v0alpha1.UserSpec
operations: [
"CREATE",
"UPDATE",
]
}
schema: {
spec: v0alpha1.UserSpec
}
}
} }
} }