Skip to content
This repository has been archived by the owner on Nov 27, 2024. It is now read-only.

split internal from rest-api workspace #93

Merged
merged 8 commits into from
May 8, 2024
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
9 changes: 9 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
E2E_FOLDER ?= e2e
OPERATOR_FOLDER ?= operator
SERVER_FOLDER ?= server

.PHONY: vet
vet:
-$(MAKE) -C $(E2E_FOLDER) vet
-$(MAKE) -C $(OPERATOR_FOLDER) vet
-$(MAKE) -C $(SERVER_FOLDER) vet
2 changes: 1 addition & 1 deletion e2e/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -71,4 +71,4 @@ clean:
-$(KUBECLI) delete masteruserrecords --all --all-namespaces
-$(KUBECLI) delete spacebindings --all --all-namespaces
-$(KUBECLI) delete spaces --all --all-namespaces
-$(KUBECLI) delete workspaces.workspaces.io --all --all-namespaces
-$(KUBECLI) delete internalworkspaces.workspaces.konflux.io --all --all-namespaces
4 changes: 2 additions & 2 deletions e2e/hook/cleanup_resources.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import (

toolchainv1alpha1 "github.com/codeready-toolchain/api/api/v1alpha1"
tcontext "github.com/konflux-workspaces/workspaces/e2e/pkg/context"
workspacesiov1alpha1 "github.com/konflux-workspaces/workspaces/operator/api/v1alpha1"
workspacesv1alpha1 "github.com/konflux-workspaces/workspaces/operator/api/v1alpha1"
)

func deleteResources(ctx context.Context, sc *godog.Scenario, err error) (context.Context, error) {
Expand Down Expand Up @@ -125,7 +125,7 @@ func deleteResources(ctx context.Context, sc *godog.Scenario, err error) (contex
}
}
{
wl := &workspacesiov1alpha1.WorkspaceList{}
wl := &workspacesv1alpha1.InternalWorkspaceList{}
if err := cli.Client.List(ctx, wl, client.InNamespace(metav1.NamespaceAll)); err != nil {
errs = append(errs, err)
} else {
Expand Down
12 changes: 6 additions & 6 deletions e2e/pkg/context/host.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,12 +72,12 @@ func RetrieveTestNamespace(ctx context.Context) string {
}

// Default Workspace
func InjectWorkspace(ctx context.Context, w workspacesv1alpha1.Workspace) context.Context {
func InjectWorkspace(ctx context.Context, w workspacesv1alpha1.InternalWorkspace) context.Context {
return context.WithValue(ctx, keyWorkspace, w)
}

func RetrieveWorkspace(ctx context.Context) workspacesv1alpha1.Workspace {
return get[workspacesv1alpha1.Workspace](ctx, keyWorkspace)
func RetrieveWorkspace(ctx context.Context) workspacesv1alpha1.InternalWorkspace {
return get[workspacesv1alpha1.InternalWorkspace](ctx, keyWorkspace)
}

// Default User
Expand All @@ -90,12 +90,12 @@ func RetrieveUser(ctx context.Context) toolchainv1alpha1.UserSignup {
}

// Workspaces
func InjectUserWorkspaces(ctx context.Context, ww workspacesv1alpha1.WorkspaceList) context.Context {
func InjectUserWorkspaces(ctx context.Context, ww workspacesv1alpha1.InternalWorkspaceList) context.Context {
return context.WithValue(ctx, keyUserWorkspaces, ww)
}

func RetrieveUserWorkspaces(ctx context.Context) workspacesv1alpha1.WorkspaceList {
return get[workspacesv1alpha1.WorkspaceList](ctx, keyUserWorkspaces)
func RetrieveUserWorkspaces(ctx context.Context) workspacesv1alpha1.InternalWorkspaceList {
return get[workspacesv1alpha1.InternalWorkspaceList](ctx, keyUserWorkspaces)
}

// Scenario Id
Expand Down
10 changes: 5 additions & 5 deletions e2e/step/user/user_when.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import (
tcontext "github.com/konflux-workspaces/workspaces/e2e/pkg/context"

toolchainv1alpha1 "github.com/codeready-toolchain/api/api/v1alpha1"
workspacesiov1alpha1 "github.com/konflux-workspaces/workspaces/operator/api/v1alpha1"
workspacesv1alpha1 "github.com/konflux-workspaces/workspaces/operator/api/v1alpha1"
)

func whenAnUserOnboards(ctx context.Context) (context.Context, error) {
Expand All @@ -38,7 +38,7 @@ func whenUserRequestsTheListOfWorkspaces(ctx context.Context) (context.Context,
if err != nil {
return ctx, err
}
ww := workspacesiov1alpha1.WorkspaceList{}
ww := workspacesv1alpha1.InternalWorkspaceList{}
if err := c.List(ctx, &ww, &client.ListOptions{}); err != nil {
u := tcontext.RetrieveUser(ctx)
k := tcontext.RetrieveUnauthKubeconfig(ctx)
Expand All @@ -55,7 +55,7 @@ func whenUserRequestsTheirDefaultWorkspace(ctx context.Context) (context.Context
}

u := tcontext.RetrieveUser(ctx)
w := workspacesiov1alpha1.Workspace{}
w := workspacesv1alpha1.InternalWorkspace{}
wk := types.NamespacedName{Namespace: u.Name, Name: u.Name}
if err := c.Get(ctx, wk, &w, &client.GetOptions{}); err != nil {
k := tcontext.RetrieveUnauthKubeconfig(ctx)
Expand All @@ -68,7 +68,7 @@ func whenUserRequestsTheirDefaultWorkspace(ctx context.Context) (context.Context
func buildWorkspacesClient(ctx context.Context) (client.Client, error) {
scheme := runtime.NewScheme()
utilruntime.Must(clientgoscheme.AddToScheme(scheme))
utilruntime.Must(workspacesiov1alpha1.AddToScheme(scheme))
utilruntime.Must(workspacesv1alpha1.AddToScheme(scheme))
utilruntime.Must(toolchainv1alpha1.AddToScheme(scheme))

u := tcontext.RetrieveUser(ctx)
Expand Down Expand Up @@ -129,7 +129,7 @@ func whenTheUserChangesWorkspaceVisibilityTo(ctx context.Context, visibility str
return ctx, err
}

w.Spec.Visibility = workspacesiov1alpha1.WorkspaceVisibility(visibility)
w.Spec.Visibility = workspacesv1alpha1.InternalWorkspaceVisibility(visibility)
if err := cli.Update(ctx, &w, &client.UpdateOptions{}); err != nil {
return ctx, err
}
Expand Down
10 changes: 5 additions & 5 deletions e2e/step/workspace/workspace_common.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ func createUserSignupAndWaitForWorkspace(
ctx context.Context,
cli cli.Cli,
namespace, name string,
) (*toolchainv1alpha1.UserSignup, *workspacesv1alpha1.Workspace, error) {
) (*toolchainv1alpha1.UserSignup, *workspacesv1alpha1.InternalWorkspace, error) {
u, err := user.OnboardUser(ctx, cli, namespace, user.DefaultUserName)
if err != nil {
return nil, nil, err
Expand All @@ -43,15 +43,15 @@ func createUserSignupAndWaitForWorkspace(
return u, w, nil
}

func getWorkspaceFromWorkspacesNamespace(ctx context.Context, name string) (*workspacesv1alpha1.Workspace, error) {
func getWorkspaceFromWorkspacesNamespace(ctx context.Context, name string) (*workspacesv1alpha1.InternalWorkspace, error) {
cli := tcontext.RetrieveHostClient(ctx)
ns := tcontext.RetrieveWorkspacesNamespace(ctx)

return getWorkspace(ctx, cli, ns, name)
}

func getWorkspace(ctx context.Context, cli cli.Cli, ns, name string) (*workspacesv1alpha1.Workspace, error) {
w := workspacesv1alpha1.Workspace{
func getWorkspace(ctx context.Context, cli cli.Cli, ns, name string) (*workspacesv1alpha1.InternalWorkspace, error) {
w := workspacesv1alpha1.InternalWorkspace{
ObjectMeta: metav1.ObjectMeta{
Name: name,
Namespace: ns,
Expand All @@ -68,7 +68,7 @@ func getWorkspace(ctx context.Context, cli cli.Cli, ns, name string) (*workspace
return &w, nil
}

func checkWorkspaceVisibility(ctx context.Context, name string, visibility workspacesv1alpha1.WorkspaceVisibility) error {
func checkWorkspaceVisibility(ctx context.Context, name string, visibility workspacesv1alpha1.InternalWorkspaceVisibility) error {
w, err := getWorkspaceFromWorkspacesNamespace(ctx, name)
if err != nil {
return err
Expand Down
4 changes: 2 additions & 2 deletions e2e/step/workspace/workspace_given.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import (

tcontext "github.com/konflux-workspaces/workspaces/e2e/pkg/context"
"github.com/konflux-workspaces/workspaces/e2e/step/user"
workspacesiov1alpha1 "github.com/konflux-workspaces/workspaces/operator/api/v1alpha1"
workspacesv1alpha1 "github.com/konflux-workspaces/workspaces/operator/api/v1alpha1"
)

func givenDefaultWorkspaceIsCreatedForThem(ctx context.Context) (context.Context, error) {
Expand Down Expand Up @@ -35,7 +35,7 @@ func givenACommunityWorkspaceExists(ctx context.Context) (context.Context, error
return ctx, err
}

w, err := createWorkspace(ctx, cli, ns, "new-community", u.Status.CompliantUsername, workspacesiov1alpha1.WorkspaceVisibilityCommunity)
w, err := createWorkspace(ctx, cli, ns, "new-community", u.Status.CompliantUsername, workspacesv1alpha1.InternalWorkspaceVisibilityCommunity)
if err != nil {
return ctx, err
}
Expand Down
8 changes: 4 additions & 4 deletions e2e/step/workspace/workspace_then.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,12 +61,12 @@ func thenTheWorkspaceIsReadableForEveryone(ctx context.Context) error {

func thenACommunityWorkspaceIsCreated(ctx context.Context) error {
w := tcontext.RetrieveWorkspace(ctx)
return checkWorkspaceVisibility(ctx, w.Name, workspacesv1alpha1.WorkspaceVisibilityCommunity)
return checkWorkspaceVisibility(ctx, w.Name, workspacesv1alpha1.InternalWorkspaceVisibilityCommunity)
}

func thenAPrivateWorkspaceIsCreated(ctx context.Context) error {
w := tcontext.RetrieveWorkspace(ctx)
return checkWorkspaceVisibility(ctx, w.Name, workspacesv1alpha1.WorkspaceVisibilityPrivate)
return checkWorkspaceVisibility(ctx, w.Name, workspacesv1alpha1.InternalWorkspaceVisibilityPrivate)
}

func thenTheOwnerIsGrantedAdminAccessToTheWorkspace(ctx context.Context) error {
Expand Down Expand Up @@ -103,7 +103,7 @@ func thenTheOwnerIsGrantedAdminAccessToTheWorkspace(ctx context.Context) error {
func thenTheWorkspaceVisibilityIsSetTo(ctx context.Context, visibility string) error {
w := tcontext.RetrieveWorkspace(ctx)

if w.Spec.Visibility != workspacesv1alpha1.WorkspaceVisibility(visibility) {
if w.Spec.Visibility != workspacesv1alpha1.InternalWorkspaceVisibility(visibility) {
return fmt.Errorf(`expected visibility "%s", found "%s"`, visibility, w.Spec.Visibility)
}
return nil
Expand Down Expand Up @@ -147,7 +147,7 @@ func thenTheWorkspaceVisibilityIsUpdatedTo(ctx context.Context, visibility strin
return false, err
}

if w.Spec.Visibility != workspacesv1alpha1.WorkspaceVisibility(visibility) {
if w.Spec.Visibility != workspacesv1alpha1.InternalWorkspaceVisibility(visibility) {
return false, nil
}

Expand Down
18 changes: 9 additions & 9 deletions e2e/step/workspace/workspace_when.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,14 @@ import (
)

func whenUserRequestsANewPrivateWorkspace(ctx context.Context) (context.Context, error) {
return createNewWorkspace(ctx, "new-private", workspacesv1alpha1.WorkspaceVisibilityPrivate)
return createNewWorkspace(ctx, "new-private", workspacesv1alpha1.InternalWorkspaceVisibilityPrivate)
}

func whenUserRequestsANewCommunityWorkspace(ctx context.Context) (context.Context, error) {
return createNewWorkspace(ctx, "new-community", workspacesv1alpha1.WorkspaceVisibilityCommunity)
return createNewWorkspace(ctx, "new-community", workspacesv1alpha1.InternalWorkspaceVisibilityCommunity)
}

func createNewWorkspace(ctx context.Context, name string, visibility workspacesv1alpha1.WorkspaceVisibility) (context.Context, error) {
func createNewWorkspace(ctx context.Context, name string, visibility workspacesv1alpha1.InternalWorkspaceVisibility) (context.Context, error) {
u := tcontext.RetrieveUser(ctx)
cli := tcontext.RetrieveHostClient(ctx)
ns := tcontext.RetrieveWorkspacesNamespace(ctx)
Expand Down Expand Up @@ -54,14 +54,14 @@ func whenAWorkspaceIsCreatedForUser(ctx context.Context) (context.Context, error
}

func whenOwnerChangesVisibilityToCommunity(ctx context.Context) (context.Context, error) {
return ownerChangesVisibilityTo(ctx, workspacesv1alpha1.WorkspaceVisibilityCommunity)
return ownerChangesVisibilityTo(ctx, workspacesv1alpha1.InternalWorkspaceVisibilityCommunity)
}

func whenOwnerChangesVisibilityToPrivate(ctx context.Context) (context.Context, error) {
return ownerChangesVisibilityTo(ctx, workspacesv1alpha1.WorkspaceVisibilityPrivate)
return ownerChangesVisibilityTo(ctx, workspacesv1alpha1.InternalWorkspaceVisibilityPrivate)
}

func ownerChangesVisibilityTo(ctx context.Context, visibility workspacesv1alpha1.WorkspaceVisibility) (context.Context, error) {
func ownerChangesVisibilityTo(ctx context.Context, visibility workspacesv1alpha1.InternalWorkspaceVisibility) (context.Context, error) {
w := tcontext.RetrieveWorkspace(ctx)
cli := tcontext.RetrieveHostClient(ctx)

Expand All @@ -79,13 +79,13 @@ func ownerChangesVisibilityTo(ctx context.Context, visibility workspacesv1alpha1
return tcontext.InjectWorkspace(ctx, w), nil
}

func createWorkspace(ctx context.Context, cli cli.Cli, namespace, name, user string, visibility workspacesv1alpha1.WorkspaceVisibility) (*workspacesv1alpha1.Workspace, error) {
w := workspacesv1alpha1.Workspace{
func createWorkspace(ctx context.Context, cli cli.Cli, namespace, name, user string, visibility workspacesv1alpha1.InternalWorkspaceVisibility) (*workspacesv1alpha1.InternalWorkspace, error) {
w := workspacesv1alpha1.InternalWorkspace{
ObjectMeta: metav1.ObjectMeta{
Name: name,
Namespace: namespace,
},
Spec: workspacesv1alpha1.WorkspaceSpec{
Spec: workspacesv1alpha1.InternalWorkspaceSpec{
Visibility: visibility,
Owner: workspacesv1alpha1.Owner{Id: user},
},
Expand Down
4 changes: 2 additions & 2 deletions operator/api/v1alpha1/groupversion_info.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ limitations under the License.

// Package v1alpha1 contains API Schema definitions for the v1alpha1 API group
// +kubebuilder:object:generate=true
// +groupName=workspaces.io
// +groupName=workspaces.konflux.io
package v1alpha1

import (
Expand All @@ -26,7 +26,7 @@ import (

var (
// GroupVersion is group version used to register these objects
GroupVersion = schema.GroupVersion{Group: "workspaces.io", Version: "v1alpha1"}
GroupVersion = schema.GroupVersion{Group: "workspaces.konflux.io", Version: "v1alpha1"}

// SchemeBuilder is used to add go types to the GroupVersionKind scheme
SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}
Expand Down
28 changes: 14 additions & 14 deletions operator/api/v1alpha1/workspace_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

type WorkspaceVisibility string
type InternalWorkspaceVisibility string

const (
WorkspaceVisibilityCommunity WorkspaceVisibility = "community"
WorkspaceVisibilityPrivate WorkspaceVisibility = "private"
InternalWorkspaceVisibilityCommunity InternalWorkspaceVisibility = "community"
InternalWorkspaceVisibilityPrivate InternalWorkspaceVisibility = "private"
)

const (
Expand All @@ -43,10 +43,10 @@ type Owner struct {
Id string `json:"id"`
}

// WorkspaceSpec defines the desired state of Workspace
type WorkspaceSpec struct {
// InternalWorkspaceSpec defines the desired state of Workspace
type InternalWorkspaceSpec struct {
// +required
Visibility WorkspaceVisibility `json:"visibility"`
Visibility InternalWorkspaceVisibility `json:"visibility"`
// +required
Owner Owner `json:"owner"`
}
Expand All @@ -60,24 +60,24 @@ type WorkspaceStatus struct {
//+kubebuilder:subresource:status
// +kubebuilder:printcolumn:name="Visibility",type="string",JSONPath=`.spec.visibility`

// Workspace is the Schema for the workspaces API
type Workspace struct {
// InternalWorkspace is the Schema for the workspaces API
type InternalWorkspace struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`

Spec WorkspaceSpec `json:"spec,omitempty"`
Status WorkspaceStatus `json:"status,omitempty"`
Spec InternalWorkspaceSpec `json:"spec,omitempty"`
Status WorkspaceStatus `json:"status,omitempty"`
}

//+kubebuilder:object:root=true

// WorkspaceList contains a list of Workspace
type WorkspaceList struct {
// InternalWorkspaceList contains a list of Workspace
type InternalWorkspaceList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Workspace `json:"items"`
Items []InternalWorkspace `json:"items"`
}

func init() {
SchemeBuilder.Register(&Workspace{}, &WorkspaceList{})
SchemeBuilder.Register(&InternalWorkspace{}, &InternalWorkspaceList{})
}
Loading
Loading