org.appvia.io/v2beta1
Package v2beta1 contains API Schema definitions for the org API group
Exported Resource Types
- AuditEvent
- Channel
- DefaultWorkspaceGroup
- Identity
- PlatformAccessToken
- PlatformSecret
- Stage
- User
- WayfinderGroup
- WayfinderRole
- WayfinderRoleBinding
- Workspace
- WorkspaceAccessToken
- WorkspaceGroup
- WorkspaceInvitation
- WorkspaceRoleBinding
AuditEvent
AuditEvent is the Schema for the audit API
Field | Description | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersion | org.appvia.io/v2beta1 | ||||||||||||||||||||||||||
kind | AuditEvent | ||||||||||||||||||||||||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the metadata field. | ||||||||||||||||||||||||||
spec AuditEventSpec |
|
Channel
Channel is the Schema for the channels API
Field | Description | ||||||
---|---|---|---|---|---|---|---|
apiVersion | org.appvia.io/v2beta1 | ||||||
kind | Channel | ||||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the metadata field. | ||||||
spec ChannelSpec |
| ||||||
status ChannelStatus |
|
DefaultWorkspaceGroup
DefaultWorkspaceGroup represents a desire for a default workspace group which will be created in each workspace when that workspace is created.
Field | Description | ||
---|---|---|---|
apiVersion | org.appvia.io/v2beta1 | ||
kind | DefaultWorkspaceGroup | ||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the metadata field. | ||
spec DefaultWorkspaceGroupSpec | Spec is the desired state of the group
| ||
status DefaultWorkspaceGroupStatus | Status is the status of the group
|
Identity
Identity is the Schema for the identities API
Field | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersion | org.appvia.io/v2beta1 | ||||||||||||||
kind | Identity | ||||||||||||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the metadata field. | ||||||||||||||
spec IdentitySpec |
|
PlatformAccessToken
PlatformAccessToken is an access token able to be used to automate all Wayfinder features, both inside and outside of workspaces.
Field | Description | ||||
---|---|---|---|---|---|
apiVersion | org.appvia.io/v2beta1 | ||||
kind | PlatformAccessToken | ||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the metadata field. | ||||
spec AccessTokenSpec |
| ||||
status AccessTokenStatus |
|
PlatformSecret
PlatformSecret defines a structured secret that can be used across Wayfinder
Field | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
apiVersion | org.appvia.io/v2beta1 | ||||||||||
kind | PlatformSecret | ||||||||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the metadata field. | ||||||||||
spec PlatformSecretSpec |
|
Stage
Stage is the Schema for the stages API
Field | Description | ||||
---|---|---|---|---|---|
apiVersion | org.appvia.io/v2beta1 | ||||
kind | Stage | ||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the metadata field. | ||||
spec StageSpec |
| ||||
status StageStatus |
|
User
User is the Schema for the users API
Field | Description | ||||
---|---|---|---|---|---|
apiVersion | org.appvia.io/v2beta1 | ||||
kind | User | ||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the metadata field. | ||||
spec UserSpec |
| ||||
status UserStatus |
|
WayfinderGroup
WayfinderGroup represents a collection of Wayfinder users
Field | Description | ||||
---|---|---|---|---|---|
apiVersion | org.appvia.io/v2beta1 | ||||
kind | WayfinderGroup | ||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the metadata field. | ||||
spec GroupSpec | Spec is the specification of the group
| ||||
status WayfinderGroupStatus | Status is the status of the group
|
WayfinderRole
WayfinderRole represents a set of Kubernetes RBAC-style rules that can describe permission for users against Wayfinder itself
Field | Description | ||||
---|---|---|---|---|---|
apiVersion | org.appvia.io/v2beta1 | ||||
kind | WayfinderRole | ||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the metadata field. | ||||
spec WayfinderRoleSpec | Spec is the specification of the role
| ||||
status WayfinderRoleStatus | Status is the status of the role
|
WayfinderRoleBinding
WayfinderRoleBinding represents actual access to a cluster for subjects
Field | Description | ||||
---|---|---|---|---|---|
apiVersion | org.appvia.io/v2beta1 | ||||
kind | WayfinderRoleBinding | ||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the metadata field. | ||||
spec WayfinderRoleBindingSpec |
| ||||
status WayfinderRoleBindingStatus |
|
Workspace
Workspace is the Schema for the workspace API
Field | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersion | org.appvia.io/v2beta1 | ||||||||||||
kind | Workspace | ||||||||||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the metadata field. | ||||||||||||
spec WorkspaceSpec |
| ||||||||||||
status WorkspaceStatus |
|
WorkspaceAccessToken
WorkspaceAccessToken is an access token can automate Wayfinder features solely within a specified workspace.
Field | Description | ||||
---|---|---|---|---|---|
apiVersion | org.appvia.io/v2beta1 | ||||
kind | WorkspaceAccessToken | ||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the metadata field. | ||||
spec AccessTokenSpec |
| ||||
status AccessTokenStatus |
|
WorkspaceGroup
WorkspaceGroup is the Schema for the workspace groups API
Field | Description | ||||
---|---|---|---|---|---|
apiVersion | org.appvia.io/v2beta1 | ||||
kind | WorkspaceGroup | ||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the metadata field. | ||||
spec GroupSpec | Spec is the desired state of the group
| ||||
status WorkspaceGroupStatus | Status is the status of the group
|
WorkspaceInvitation
WorkspaceInvitation is the Schema for the workspace invitation API
Field | Description | ||||
---|---|---|---|---|---|
apiVersion | org.appvia.io/v2beta1 | ||||
kind | WorkspaceInvitation | ||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the metadata field. | ||||
spec WorkspaceInvitationSpec |
| ||||
status WorkspaceInvitationStatus |
|
WorkspaceRoleBinding
WorkspaceRoleBinding represents the binding of a workspace role to a workspace group or user
Field | Description | ||||
---|---|---|---|---|---|
apiVersion | org.appvia.io/v2beta1 | ||||
kind | WorkspaceRoleBinding | ||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the metadata field. | ||||
spec WorkspaceRoleBindingSpec |
| ||||
status WorkspaceRoleBindingStatus |
|
Internal Resource Types
- AccessTokenSpec
- AccessTokenStatus
- AuditEventSpec
- ChannelSpec
- ChannelStatus
- DefaultWorkspaceGroupSpec
- DefaultWorkspaceGroupStatus
- GroupSpec
- IdentityAccountType
- IdentitySpec
- PackageVersion
- PlatformOrWorkspaceAccessToken
- PlatformSecretSpec
- ProviderVersions
- RBACRuleSource
- RoleRef
- SecretFieldInfo
- SecretPurpose
- SecretPurposeInfo
- SecretType
- SecretTypeInfo
- StageSpec
- StageStatus
- StructuredSecretsMeta
- Subject
- SubjectKind
- UpdateBasicAuthIdentity
- UpdateIDPIdentity
- UserSpec
- UserStatus
- Versions
- WayfinderGroupStatus
- WayfinderRoleBindingSpec
- WayfinderRoleBindingStatus
- WayfinderRoleScope
- WayfinderRoleSpec
- WayfinderRoleStatus
- WorkspaceGroupStatus
- WorkspaceInvitationSpec
- WorkspaceInvitationStatus
- WorkspaceRoleBindingSpec
- WorkspaceRoleBindingStatus
- WorkspaceSpec
- WorkspaceStatus
- WorkspaceType
AccessTokenSpec
(Appears on: PlatformAccessToken, WorkspaceAccessToken)
AccessTokenSpec defines the desired state of policy
Field | Description |
---|---|
description string | Description provides a short summary on the use of the access token |
tokenIDs []string | TokenIDs is the set of signed token IDs which are currently valid for this access token. This will be populated by Wayfinder, always leave blank on definition. |
AccessTokenStatus
(Appears on: PlatformAccessToken, WorkspaceAccessToken)
AccessTokenStatus defines the observed state of status on a policy
Field | Description |
---|---|
CommonStatus CommonStatus | (Members of CommonStatus are embedded into this type.) |
AuditEventSpec
(Appears on: AuditEvent)
AuditEventSpec defines the desired state of User
Field | Description |
---|---|
id int | ID is the unique identifier of this audit event. |
createdAt Kubernetes meta/v1.Time | CreatedAt is the timestamp of record creation |
resource string | Resource is the area of the API accessed in this audit operation (e.g. workspaces, etc). |
resourceURI string | ResourceURI is the identifier of the resource in question. |
apiVersion string | APIVersion is the version of the API used for this operation. |
verb string | Verb is the type of action performed (e.g. PUT, GET, etc) |
operation string | Operation is the operation performed (e.g. UpdateCluster, CreateCluster, etc). |
workspace WorkspaceKey | Workspace is the workspace whom event may be associated to |
user string | User is the user which the event is related |
startedAt Kubernetes meta/v1.Time | StartedAt is the timestamp the operation was initiated |
completedAt Kubernetes meta/v1.Time | CompletedAt is the timestamp the operation completed |
responseCode int | ResponseCode indicates the HTTP status code of the operation (e.g. 200, 404, etc). |
message string | Message is event message itself |
ChannelSpec
(Appears on: Channel)
ChannelSpec defines the desired state of Channel
Field | Description |
---|---|
displayName string | DisplayName provides a user-friendly name for the channel |
description string | Description provides a summary of this channel |
kubernetesVersions map[string]string | KubernetesVersions specifies the semver versions of Kubernetes by provider The key of the provider relates to the cluster type (e.g. AKS, GKE, EKS) - This is only required if the channel is the source of truth for Kubernetes versions - If a provider (or all providers is absent) then the platform defaults will be used |
ChannelStatus
(Appears on: Channel)
ChannelStatus defines the observed state of Channel
Field | Description |
---|---|
CommonStatus CommonStatus | (Members of CommonStatus are embedded into this type.) |
versions ProviderVersions | Versions is a map of versions per provider… |
DefaultWorkspaceGroupSpec
(Appears on: DefaultWorkspaceGroup)
DefaultWorkspaceGroupSpec defines the specification for a default workspace group
Field | Description |
---|---|
description string | Description provides a human-readable description of this group |
DefaultWorkspaceGroupStatus
(Appears on: DefaultWorkspaceGroup)
DefaultWorkspaceGroupStatus defines the status of a default group
Field | Description |
---|---|
CommonStatus CommonStatus | (Members of CommonStatus are embedded into this type.) |
GroupSpec
(Appears on: WayfinderGroup, WorkspaceGroup)
GroupSpec defines the specification for a group
Field | Description |
---|---|
description string | Description provides a human-readable description of this group |
members []Subject | Members are the members of the group |
IdentityAccountType
(string
alias)
(Appears on: IdentitySpec)
Value | Description |
---|---|
"BasicAuth" | |
"SSO" | |
"Token" |
IdentitySpec
(Appears on: Identity)
IdentitySpec describes an identity profile for a subject
Field | Description |
---|---|
subject Subject | Subject identifies the Wayfinder user that this refers to. At this time, the only supported subject kind is User. |
accountType IdentityAccountType | AccountType is the account type of the identity |
provider string | Provider uniquely identifies the provider within the account type (e.g. auth0, azuread, etc) |
username string | ProviderUsername is the name of this user in the provider |
providerToken string | ProviderToken is a token to authenticate or identify this user with the provider, if required |
providerUID string | ProviderUID is the ID of the user in the provider, if required |
email string | Email is the email of this user in the provider, if available |
PackageVersion
Field | Description |
---|---|
version string | Version is the version of the package |
name string | Name is the metadata name of the global helm package |
PlatformOrWorkspaceAccessToken
PlatformSecretSpec
(Appears on: PlatformSecret)
PlatformSecretSpec defines the secret
Field | Description |
---|---|
description string | Description provides an optional extended description of this secret to help users identify what it is for. |
purpose SecretPurpose | Purpose describes the reason this secret is being added to Wayfinder, this ensures the secret can only be referenced by the intended Wayfinder resources |
type SecretType | Type defines the structure of this secret, allowing Wayfinder to understand the provided set of fields |
scope string | Scope is an optional restriction within a purpose to a specific scope, for example, you can specify the specific Helm repository URL this secret is for if the purpose is HelmRepository. |
fields map[string]string | Fields are the set of secret data for this secret. The keys to use in the Fields are dependent on the Type of the secret. Note that these fields are not readable and will always be unpopulated when retrieving secrets. |
ProviderVersions
(map[string]github.com/appvia/wayfinder/tmpcrdref/pkg/apis/org/v2beta1.Versions
alias)
(Appears on: ChannelStatus)
ProviderVersions is a particular set of versions to use for a provider The key of the provider relates to the cluster type (e.g. AKS, GKE, EKS)
RBACRuleSource
RBACRuleSource is an interface implemented by the various sources of RBAC rules in this API
RoleRef
(Appears on: WayfinderRoleBindingSpec, WorkspaceRoleBindingSpec)
RoleRef defines a reference to a Wayfinder or Workspace role
Field | Description |
---|---|
kind string | Kind of object being referenced, for future compatibility. At this time, the only value used is WayfinderRole. |
name string | Name of the object being referenced. |
namespace string | Namespace of the referenced object (not applicable to WayfinderRole). |
SecretFieldInfo
(Appears on: SecretTypeInfo)
SecretFieldInfo describes the metadata about a single key in a secret type
Field | Description |
---|---|
name string | |
description string | |
optional bool | |
nonSensitive bool | |
fromFile bool | |
multiline bool | Multiline is true when this field typically contains a multi-line string (such as a GCP JSON Service Account key) |
SecretPurpose
(string
alias)
(Appears on: PlatformSecretSpec, SecretPurposeInfo, SecretTypeInfo)
SecretPurpose describes the intended usage of a secret, i.e. the purpose of that secret.
Value | Description |
---|---|
"CloudIdentity" | |
"HelmRepo" | |
"Package" | |
"TerraformRepo" |
SecretPurposeInfo
(Appears on: StructuredSecretsMeta)
SecretPurposeInfo describes the metadata about a particular purpose a secret can be added for
Field | Description |
---|---|
purpose SecretPurpose | |
description string | |
supportsScope bool | |
requiresScope bool | |
scopeDescription string |
SecretType
(string
alias)
(Appears on: PlatformSecretSpec, SecretTypeInfo)
SecretType describes the type of a secret, i.e. what the structure and format of the secret it.
Value | Description |
---|---|
"AWSIAMUserKey" | |
"AzureADClientSecret" | |
"BasicAuth" | |
"GCPServiceAccountKey" | |
"Generic" | SecretTypeGeneric represents an unopinionated secret containing a set of user-providede key value pairs. |
"GitHubToken" | |
"TLSClientCert" |
SecretTypeInfo
(Appears on: StructuredSecretsMeta)
Field | Description |
---|---|
type SecretType | |
title string | |
fields []SecretFieldInfo | |
generic bool | Generic indicates that this secret type allows any generic key=value fields to be supplied. |
supportedPurposes []SecretPurpose | |
exampleDescription string | |
admin bool | Admin will be true if this secret type supports platform-wide admin workspace usage |
workspaced bool | Workspaced will be true if this secret type supports workspaced usage |
StageSpec
(Appears on: Stage)
StageSpec defines the desired state of Stage
Field | Description |
---|---|
displayName string | DisplayName provides a user-friendly name for the stage |
description string | Description provides a summary of this stage |
StageStatus
(Appears on: Stage)
StageStatus defines the observed state of Stage
Field | Description |
---|---|
CommonStatus CommonStatus | (Members of CommonStatus are embedded into this type.) |
StructuredSecretsMeta
Field | Description |
---|---|
supportedPurposes []SecretPurposeInfo | |
supportedTypes []SecretTypeInfo |
Subject
(Appears on: GroupSpec, IdentitySpec, WayfinderRoleBindingSpec, WorkspaceRoleBindingSpec, WorkspaceSpec)
Subject defines a subject for group memberships and role bindings.
Field | Description |
---|---|
kind SubjectKind | Kind of subject being referenced. |
name string | Name of the object being referenced. |
workspace WorkspaceKey | Workspace is the workspace of the subject - only applicable to kind ‘WorkspaceAccessToken’ |
SubjectKind
(string
alias)
(Appears on: Subject)
SubjectKind represents types of subject that Wayfinder can use
Value | Description |
---|---|
"PlatformAccessToken" | SubjectKindPlaformAccessToken is a Wayfinder-scoped access token |
"User" | SubjectKindUser is a Wayfinder user account |
"WayfinderGroup" | SubjectKindWayfinderGroup is a globally defined Wayfinder group |
"WorkspaceAccessToken" | SubjectKindWorkspaceAccessToken is a Workspace-scoped access token |
"WorkspaceGroup" | SubjectKindWorkspaceGroup is a group defined in a workspace |
UpdateBasicAuthIdentity
UpdateBasicAuthIdentity defines the desired state of an update
Field | Description |
---|---|
oldPassword string | OldPassword is the user’s current password. Required if you are not a global Wayfinder admin. |
password string | Password is a password associated to the user |
username string | Username is the user you are update the credential for |
UpdateIDPIdentity
UpdateIDPIdentity defines the desired state of an update
Field | Description |
---|---|
IDToken string | IDToken is the identity token from the provider |
UserSpec
(Appears on: User)
UserSpec defines the desired state of User
Field | Description |
---|---|
username string | Username is the userame or identity for this user - typically this would be an email address. It must be unique. |
disabled bool | Disabled indicates if the user is disabled |
UserStatus
(Appears on: User)
UserStatus defines the observed state of User
Field | Description |
---|---|
CommonStatus CommonStatus | (Members of CommonStatus are embedded into this type.) |
Versions
Versions are versions for a provider TODO: include other things that may need to be tied to a provider
Field | Description |
---|---|
kubernetes string | Kubernetes is the default version of Kubernetes for this channel. Where KubernetesByRegion is populated for the relevant region, that should be used in preference. |
kubernetesByRegion map[string]string | KubernetesByRegion provides cloud provider region-specific versions of Kubernetes. On Azure and GCP, supported Kubernetes versions can vary between regions. If no value is populated here, the value in Kubernetes should be used instead. |
packages map[string]string | Packages is a list of the packages versions on the channel |
WayfinderGroupStatus
(Appears on: WayfinderGroup)
WayfinderGroupStatus defines the status of a group
Field | Description |
---|---|
CommonStatus CommonStatus | (Members of CommonStatus are embedded into this type.) |
WayfinderRoleBindingSpec
(Appears on: WayfinderRoleBinding)
WayfinderRoleBindingSpec defines the desired state of WayfinderRoleBinding Will create a ClusterPolicy with a role binding only
Field | Description |
---|---|
roleRef RoleRef | RoleRef is the role being bound |
subjects []Subject | Subjects is the list of one or more subjects that this role is bound to |
WayfinderRoleBindingStatus
(Appears on: WayfinderRoleBinding)
WayfinderRoleBindingStatus defines the status of an WayfinderRoleBinding
Field | Description |
---|---|
CommonStatus CommonStatus | (Members of CommonStatus are embedded into this type.) |
WayfinderRoleScope
(string
alias)
WayfinderRoleScope defines the scope of a role - i.e. whether it applies across Wayfinder or to only those objects in a single workspace
Value | Description |
---|---|
"Global" | WayfinderRoleScopeGlobal provides Wayfinder-wide access to the specied resources |
"Workspace" | WayfinderRoleScopeWorkspace provides access to the specified resources in a workspace |
WayfinderRoleSpec
(Appears on: WayfinderRole)
WayfinderRoleSpec defines a set of RBAC rules to Wayfinder objects
Field | Description |
---|---|
description string | Description is a human-readable description of the role Should describe what the role would provide access to when bound to a user/group/accesstoken |
rules []Kubernetes rbac/v1.PolicyRule | Rules is rules |
WayfinderRoleStatus
(Appears on: WayfinderRole)
WayfinderRoleStatus defines the status of a WayfinderRole
Field | Description |
---|---|
CommonStatus CommonStatus | (Members of CommonStatus are embedded into this type.) |
WorkspaceGroupStatus
(Appears on: WorkspaceGroup)
WorkspaceGroupStatus defines the status of a group
Field | Description |
---|---|
CommonStatus CommonStatus | (Members of CommonStatus are embedded into this type.) |
WorkspaceInvitationSpec
(Appears on: WorkspaceInvitation)
WorkspaceInvitationSpec defines the desired state of a workspace invitation
Field | Description |
---|---|
username string | Username is the user being bound to the workspace |
workspace WorkspaceKey | Workspace is the name of the workspace being invitied to |
WorkspaceInvitationStatus
(Appears on: WorkspaceInvitation)
WorkspaceInvitationStatus defines the observed state of a workspace invite
Field | Description |
---|---|
CommonStatus CommonStatus | (Members of CommonStatus are embedded into this type.) |
WorkspaceRoleBindingSpec
(Appears on: WorkspaceRoleBinding)
WorkspaceRoleBindingSpec defines the desired state of WorkspaceRoleBinding
Field | Description |
---|---|
roleRef RoleRef | RoleRef is the role being bound |
subjects []Subject | Subjects is the list of one or more subjects that this role is bound to |
WorkspaceRoleBindingStatus
(Appears on: WorkspaceRoleBinding)
WorkspaceRoleBindingStatus defines the status of a WorkspaceRoleBinding
Field | Description |
---|---|
CommonStatus CommonStatus | (Members of CommonStatus are embedded into this type.) |
WorkspaceSpec
(Appears on: Workspace)
WorkspaceSpec defines the desired state of workspace
Field | Description |
---|---|
key WorkspaceKey | Key is the unique identifier for this workspace |
type WorkspaceType | Type is an optional type for this workspace. If unspecified, ‘standard’ is assumed. |
summary string | Summary is a short human-readable name for this workspace |
description string | Description is an extended description for the workspace |
resourceNamespace string | ResourceNamespace will be set by Wayfinder on creation and cannot be modified or defined by users. This is the namespace within Wayfinder in which this workspace’s resources will exist. |
owners []Subject | Owners is the set of users who own this workspace (i.e. can control access to the workspace and its resources). If unpopulated on creation, Wayfinder will set this to the user who created the workspace. |
WorkspaceStatus
(Appears on: Workspace)
WorkspaceStatus defines the observed state of workspace
Field | Description |
---|---|
CommonStatus CommonStatus | (Members of CommonStatus are embedded into this type.) |
WorkspaceType
(string
alias)
(Appears on: WorkspaceSpec)
WorkspaceType identifies the type of a workspace
Value | Description |
---|---|
"admin" | WorkspaceTypeAdmin is for internal, Wayfinder managed workspaces used by the system. These can only be created by Wayfinder itself. |
"infrastructure" | WorkspaceTypeInfrastructure identifies that this workspace is a container for infrastructure, for example to contain multi-tenant clusters allocated to multiple standard workspaces |
"standard" | WorkspaceTypeStandard is the default workspace type for normal, application-team-oriented workspaces |