Skip to content
This repository was archived by the owner on Jun 11, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions .tools/nvim/__http__/infra/names.graphql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,21 @@ global:
providerSecretName: provider-sample
---
label: Check Name Availability
query: |+
query Infra_checkNameAvailability($resType: ResType!, $name: String!) {
infra_checkNameAvailability(resType: $resType, name: $name) {
query: |+ #graphql
query Infra_checkNameAvailability($resType: ResType!, $clusterName: String!, $name: String!) {
infra_checkNameAvailability(resType: $resType,clusterName: $clusterName, name: $name) {
result
suggestedNames
}
}
variables:
resType: vpn_device
# name: sample
resType: cluster_managed_service
clusterName: "{{.clusterName}}"
name: sample
---

label: Check Name Availability, with ClusterName
query: |+
query: |+ #graphql
query Infra_checkNameAvailability($resType: ResType!, $clusterName: String, $name: String!) {
infra_checkNameAvailability(resType: $resType, clusterName: $clusterName, name: $name) {
result
Expand Down
1,349 changes: 614 additions & 735 deletions apps/console/internal/app/graph/generated/generated.go

Large diffs are not rendered by default.

45 changes: 21 additions & 24 deletions apps/console/internal/app/graph/model/models_gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

236 changes: 118 additions & 118 deletions apps/console/internal/app/graph/schema.graphqls

Large diffs are not rendered by default.

20 changes: 10 additions & 10 deletions apps/console/internal/app/graph/schema.resolvers.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,14 @@ type Github__com___kloudlite___api___pkg___types__SyncStatus @shareable {
syncScheduledAt: Date
}

type Github__com___kloudlite___operator___apis___common____types__MsvcRef @shareable {
apiVersion: String
clusterName: String!
kind: String
name: String!
namespace: String!
}

type Github__com___kloudlite___operator___apis___crds___v1__AppContainer @shareable {
args: [String!]
command: [String!]
Expand Down Expand Up @@ -54,10 +62,8 @@ type Github__com___kloudlite___operator___apis___crds___v1__AppSpec @shareable {
}

type Github__com___kloudlite___operator___apis___crds___v1__AppSvc @shareable {
name: String
port: Int!
targetPort: Int
type: String
protocol: String
}

type Github__com___kloudlite___operator___apis___crds___v1__BasicAuth @shareable {
Expand Down Expand Up @@ -148,17 +154,10 @@ type Github__com___kloudlite___operator___apis___crds___v1__ManagedResourceSpec
type Github__com___kloudlite___operator___apis___crds___v1__MresResourceTemplate @shareable {
apiVersion: String!
kind: String!
msvcRef: Github__com___kloudlite___operator___apis___crds___v1__MsvcNamedRef!
msvcRef: Github__com___kloudlite___operator___apis___common____types__MsvcRef!
spec: Map!
}

type Github__com___kloudlite___operator___apis___crds___v1__MsvcNamedRef @shareable {
apiVersion: String!
kind: String!
name: String!
namespace: String!
}

type Github__com___kloudlite___operator___apis___crds___v1__Probe @shareable {
failureThreshold: Int
httpGet: Github__com___kloudlite___operator___apis___crds___v1__HttpGetProbe
Expand Down Expand Up @@ -319,6 +318,13 @@ type PageInfo @shareable {
startCursor: String
}

input Github__com___kloudlite___operator___apis___common____types__MsvcRefIn {
apiVersion: String
kind: String
name: String!
namespace: String!
}

input Github__com___kloudlite___operator___apis___crds___v1__AppContainerIn {
args: [String!]
command: [String!]
Expand Down Expand Up @@ -355,10 +361,8 @@ input Github__com___kloudlite___operator___apis___crds___v1__AppSpecIn {
}

input Github__com___kloudlite___operator___apis___crds___v1__AppSvcIn {
name: String
port: Int!
targetPort: Int
type: String
protocol: String
}

input Github__com___kloudlite___operator___apis___crds___v1__BasicAuthIn {
Expand Down Expand Up @@ -447,17 +451,10 @@ input Github__com___kloudlite___operator___apis___crds___v1__ManagedResourceSpec
input Github__com___kloudlite___operator___apis___crds___v1__MresResourceTemplateIn {
apiVersion: String!
kind: String!
msvcRef: Github__com___kloudlite___operator___apis___crds___v1__MsvcNamedRefIn!
msvcRef: Github__com___kloudlite___operator___apis___common____types__MsvcRefIn!
spec: Map!
}

input Github__com___kloudlite___operator___apis___crds___v1__MsvcNamedRefIn {
apiVersion: String!
kind: String!
name: String!
namespace: String!
}

input Github__com___kloudlite___operator___apis___crds___v1__ProbeIn {
failureThreshold: Int
httpGet: Github__com___kloudlite___operator___apis___crds___v1__HttpGetProbeIn
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ type ImagePullSecret @shareable {
creationTime: Date!
displayName: String!
dockerConfigJson: String
environmentName: String!
environments: [String!]
format: Github__com___kloudlite___api___apps___console___internal___entities__PullSecretFormat!
id: ID!
lastUpdatedBy: Github__com___kloudlite___api___common__CreatedOrUpdatedBy!
Expand Down Expand Up @@ -32,6 +32,7 @@ type ImagePullSecretPaginatedRecords @shareable {
input ImagePullSecretIn {
displayName: String!
dockerConfigJson: String
environments: [String!]
format: Github__com___kloudlite___api___apps___console___internal___entities__PullSecretFormat!
metadata: MetadataIn!
registryPassword: String
Expand Down
15 changes: 7 additions & 8 deletions apps/console/internal/app/process-resource-updates.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ func newResourceContext(ctx domain.ConsoleContext, environmentName string) domai
}

var (
//projectGVK = fn.GVK("crds.kloudlite.io/v1", "Project")
appsGVK = fn.GVK("crds.kloudlite.io/v1", "App")
environmentGVK = fn.GVK("crds.kloudlite.io/v1", "Environment")
deviceGVK = fn.GVK("wireguard.kloudlite.io/v1", "Device")
Expand Down Expand Up @@ -241,20 +240,20 @@ func ProcessResourceUpdates(consumer ResourceUpdateConsumer, d domain.Domain, lo
return errors.NewE(err)
}

rctx, err := getResourceContext(dctx, entities.ResourceTypeSecret, ru.ClusterName, obj)
if err != nil {
return errors.NewE(err)
}

if secret.Type == corev1.SecretTypeDockerConfigJson {
// secret is an image pull secret
ips := entities.ImagePullSecret{
ObjectMeta: secret.ObjectMeta,
}
if resStatus == types.ResourceStatusDeleted {
return d.OnImagePullSecretDeleteMessage(rctx, ips)
return d.OnImagePullSecretDeleteMessage(dctx, ips)
}
return d.OnImagePullSecretUpdateMessage(rctx, ips, resStatus, opts)
return d.OnImagePullSecretUpdateMessage(dctx, ips, resStatus, opts)
}

rctx, err := getResourceContext(dctx, entities.ResourceTypeSecret, ru.ClusterName, obj)
if err != nil {
return errors.NewE(err)
}

if resStatus == types.ResourceStatusDeleted {
Expand Down
16 changes: 8 additions & 8 deletions apps/console/internal/domain/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -217,16 +217,16 @@ type Domain interface {
ResyncManagedResource(ctx ResourceContext, name string) error

// image pull secrets
ListImagePullSecrets(ctx ResourceContext, search map[string]repos.MatchFilter, pagination repos.CursorPagination) (*repos.PaginatedRecord[*entities.ImagePullSecret], error)
GetImagePullSecret(ctx ResourceContext, name string) (*entities.ImagePullSecret, error)
CreateImagePullSecret(ctx ResourceContext, secret entities.ImagePullSecret) (*entities.ImagePullSecret, error)
DeleteImagePullSecret(ctx ResourceContext, name string) error
ListImagePullSecrets(ctx ConsoleContext, search map[string]repos.MatchFilter, pagination repos.CursorPagination) (*repos.PaginatedRecord[*entities.ImagePullSecret], error)
GetImagePullSecret(ctx ConsoleContext, name string) (*entities.ImagePullSecret, error)
CreateImagePullSecret(ctx ConsoleContext, secret entities.ImagePullSecret) (*entities.ImagePullSecret, error)
DeleteImagePullSecret(ctx ConsoleContext, name string) error

OnImagePullSecretApplyError(ctx ResourceContext, errMsg string, name string, opts UpdateAndDeleteOpts) error
OnImagePullSecretDeleteMessage(ctx ResourceContext, ips entities.ImagePullSecret) error
OnImagePullSecretUpdateMessage(ctx ResourceContext, ips entities.ImagePullSecret, status types.ResourceStatus, opts UpdateAndDeleteOpts) error
OnImagePullSecretApplyError(ctx ConsoleContext, errMsg string, name string, opts UpdateAndDeleteOpts) error
OnImagePullSecretDeleteMessage(ctx ConsoleContext, ips entities.ImagePullSecret) error
OnImagePullSecretUpdateMessage(ctx ConsoleContext, ips entities.ImagePullSecret, status types.ResourceStatus, opts UpdateAndDeleteOpts) error

ResyncImagePullSecret(ctx ResourceContext, name string) error
ResyncImagePullSecret(ctx ConsoleContext, name string) error

GetEnvironmentResourceMapping(ctx ConsoleContext, resType entities.ResourceType, clusterName string, namespace string, name string) (*entities.ResourceMapping, error)
//GetProjectResourceMapping(ctx ConsoleContext, resType entities.ResourceType, clusterName string, namespace string, name string) (*entities.ResourceMapping, error)
Expand Down
19 changes: 0 additions & 19 deletions apps/console/internal/domain/domain.go
Original file line number Diff line number Diff line change
Expand Up @@ -400,25 +400,6 @@ func (d *domain) canReadSecretsFromAccount(ctx context.Context, userId string, a
return nil
}

//func (d *domain) checkProjectAccess(ctx ConsoleContext, projectName string, action iamT.Action) error {
// co, err := d.iamClient.Can(ctx, &iam.CanIn{
// UserId: string(ctx.UserId),
// ResourceRefs: []string{
// iamT.NewResourceRef(ctx.AccountName, iamT.ResourceAccount, ctx.AccountName),
// iamT.NewResourceRef(ctx.AccountName, iamT.ResourceProject, projectName),
// },
// Action: string(action),
// })
// if err != nil {
// return errors.NewE(err)
// }
//
// if !co.Status {
// return errors.Newf("unauthorized to access project %q", projectName)
// }
// return nil
//}

func (d *domain) checkEnvironmentAccess(ctx ResourceContext, action iamT.Action) error {
co, err := d.iamClient.Can(ctx, &iam.CanIn{
UserId: string(ctx.UserId),
Expand Down
6 changes: 6 additions & 0 deletions apps/console/internal/domain/environment.go
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,12 @@ func (d *domain) ListEnvironments(ctx ConsoleContext, search map[string]repos.Ma
return d.environmentRepo.FindPaginated(ctx, d.environmentRepo.MergeMatchFilters(filter, search), pq)
}

func (d *domain) listEnvironments(ctx ConsoleContext) ([]*entities.Environment, error) {
return d.environmentRepo.Find(ctx, repos.Query{
Filter: repos.Filter{fields.AccountName: ctx.AccountName},
})
}

func (d *domain) findEnvironmentByTargetNs(ctx ConsoleContext, targetNs string) (*entities.Environment, error) {
w, err := d.environmentRepo.FindOne(ctx, repos.Filter{
fields.AccountName: ctx.AccountName,
Expand Down
Loading