Skip to main content

Organizations

zrok (starting with v0.4.45) includes support for "organizations". Organizations are groups of related accounts that are typically centrally managed in some capacity. A zrok account can be a member of multiple organizations. Organization membership can also include an "admin" permission. As of v0.4.45 organization admins are able to retrieve an "overview" (zrok overview) from any other account in the organization, allowing the admin to see the details of the environments, shares, and accesses created within that account.

Future zrok releases will include additional organization features, including --closed permission sharing functions.

Configuring an Organization

The API endpoints used to manage organizations and their members require a site-level ZROK_ADMIN_TOKEN to access. See the self-hosting guide for details on configuring admin tokens.

Create an Organization

The zrok admin create organization command is used to create organizations:

$ zrok admin create organization --help
Create a new organization

Usage:
zrok admin create organization [flags]

Aliases:
organization, org

Flags:
-d, --description string Organization description
-h, --help help for organization

Global Flags:
-p, --panic Panic instead of showing pretty errors
-v, --verbose Enable verbose logging

Use the -d flag to add a description that shows up in end-user membership listings.

We'll create an example organization:

$ zrok admin create organization -d "documentation"
[ 0.006] INFO main.(*adminCreateOrganizationCommand).run: created new organization with token 'gK1XRvthq7ci'

List Organizations

We use the zrok admin list organizations command to list our organizations:

$ zrok admin list organizations

ORGANIZATION TOKEN DESCRIPTION
gK1XRvthq7ci documentation

Add a Member to an Organization

We use the zrok admin create org-member command to add members to organizations:

$ zrok admin create org-member 
Error: accepts 2 arg(s), received 0
Usage:
zrok admin create org-member <organizationToken> <accountEmail> [flags]

Aliases:
org-member, member

Flags:
--admin Make the new account an admin of the organization
-h, --help help for org-member

Global Flags:
-p, --panic Panic instead of showing pretty errors
-v, --verbose Enable verbose logging

Like this:

$ zrok admin create org-member gK1XRvthq7ci michael.quigley@netfoundry.io
[ 0.006] INFO main.(*adminCreateOrgMemberCommand).run: added 'michael.quigley@netfoundry.io' to organization 'gK1XRvthq7ci

The --admin flag can be added to the zrok admin create org-member command to mark the member as an administrator of the organization.

List Members of an Organization

$ zrok admin list org-members gK1XRvthq7ci

ACCOUNT EMAIL ADMIN?
michael.quigley@netfoundry.io false

Removing Organizations and Members

The zrok admin delete org-member and zrok admin delete organization commands are available to clean up organizations and their membership lists.

End-user Organization Administrator Commands

When a zrok account is added to an organization as an administrator it allows them to use the zrok organization admin commands, which include:

$ zrok organization admin
Organization admin commands

Usage:
zrok organization admin [command]

Available Commands:
list List the members of an organization
overview Retrieve account overview for organization member account

Flags:
-h, --help help for admin

Global Flags:
-p, --panic Panic instead of showing pretty errors
-v, --verbose Enable verbose logging

Use "zrok organization admin [command] --help" for more information about a command.

The zrok organization admin list command is used to list the members of an organization.

The zrok organization admin overview command is used to retrieve an overview of an organization member account. This is functionally equivalent to what the zrok overview command does, but it allows an organization admin to retrieve the overview for another zrok account.

End-user Organization Commands

All zrok accounts can use the zrok organization memberships command to list the organizations they're a member of:

$ zrok organization memberships

ORGANIZATION TOKEN DESCRIPTION ADMIN?
gK1XRvthq7ci documentation false