Guides
Apps
Getting Started
To download and install the software, check out this section in our FAQ.
Running Operator Toolbox
If you don't have any AWS credentials on your computer, you will see a screen asking for them.

You can copy your credentials from here.
If you do have credentials on your computer, the list of applications on the left hand side of the screen will be expanded, apps are ready to download, launch and update.

Click on the side-bar headings to expand them, the apps section contains all the apps that you currently have installed or can install with your license.

If you've never launched an app before, it will download. If you have, it will just launch. Updates are downloaded in the background.
Operator early preview.
How to join the preview
Join us in discord! Let us know what you're working on and what you'd like to see in our products. It's also a good venue to discuss feedback & bug reports.
What is the early preview
Operator early preview is an exclusive early preview of Operator Tools. You are provided with an activation key that is associated with your email address and allows you to try Operator tools for free.
Locating your product key
We’ve signed you up with your email and sent you a product key which also includes a link to the download for your operating system.
Please don't share this download link at this stage.
Setting up AWS credentials for operator.
One of the upcoming features is an IAM wizard that will help walk you through setting up the AWS IAM permissions to get the most out of the Operator applications.
In the meanwhile, here's a short guide in how to setup a user and a role to use with the operator applications.
Creating an operator policy
To avoid giving the Operator tools access to your entire AWS account you can create a policy that includes only the permissions that the operator tools need.
Start by going to IAM and clicking on policies and then create policy

Then you want to copy our recommended policy JSON into the JSON editor in the AWS console
You can find our policy here for now

Give the policy a name, I would recommend OperatorToolsAccess
and then review/save it.
Creating a CLI user for the Operator apps.
With a IAM policy created you can create a new user with it's AWS access key and AWS secret.
Go to the IAM users section and click add a user.

Then enter a name for your user and enable programattic access.

When setting permissions, go to the attach a policy tab and find
the OperatorToolsAccess
role that you have created and select it.

You can skip tags and then review the IAM user to be created.
Once the user is created you will see the access key & secret credentials

Using credentials in Operator app.
You can import these credentials into the Operator toolbox under
Settings
=> AWS Profiles

There's a section in the getting started guide about adding credentials.
Frequently Asked Questions
Who uses Operator Tools?
Developers, Creatives, Managers, Founders
Cloud services like AWS are powerful, they provide a lot of utility, but they're also very complex. They have a steep learning curve, and are difficult to work with, even for experienced users.
Operator makes it easier to use the cloud to do things like deploy your code, manage your static assets, and manage your data.
Organizations
Operator isn't a service, it runs entirely within your network and can be administered by your organization. Changes made with Operator tools are sync'd between team members and can be reverted and exported with Operator Time Machine.
Why would anyone use a GUI? Do you even 1337??
Microsoft acquired a UI called Github for 7.5 Billion USD. People like GUIs.
Do you collect telemetry data?
No! Use something like Little Snitch
if you want to verify it. But our
reasons are that, like you, we have work to do and wouldn't want someone
watching over our shoulder as we do it. We collect no data what-so-ever
from you or about you, it's not our business.
Do you audit the dependencies you use in your product?
Yes. Almost all of the deps we use, we also contribute to. If not, we read the code. To make this more viable, we use as few dependencies as possible. We also fork Elecron to remove dependencies that are non-essential.
How safe is your product?
Our products read only your data. We make sure your data is escaped and properly contained when loaded. We don't load or execute any arbitrary 3rd party code. All our updates are signed and sent over encrypted channels. Any opeartions that write data can be easily reverted using Operator Time Machine.
I like your UI, what framework did you use?
We are minimalists. We try to ship as little code as possible. We built our own framework called Tonic.
If I find a vulnerability, do you have a bug-bounty program?
Yes. Please email us at infosec at optool dot co
.
How can I improve the docs?
If you want to contribute to the docs, the repo is here.
How can I report an issue?
If you have found an issue, please report it on our github beta repository.
Can I share the logs for the operator application ?
Yes, it would be very helpful if you took the local logfile for the operator apps and pasted it to share in the github issue.
You can find our log files on disk for
- MacOS :
~/Library/Application Support/$APP_NAME/optoolco/logs.nldj
- Windows :
%appdata%\$APP_NAME\optoolco\logs.nldj
- Linux :
~/.config/$APP_NAME/optoolco/logs.nldj
The $APP_NAME
is one of ( Operator
, Buckets
, Data
, Functions
)
Can I launch the application from the terminal and get logs on stdout ?
Yes, the applications can be launched from the terminal and will provide you with logging information on stdout
You can use the following commands
- MacOs :
/Applications/Operator.app/Contents/MacOS/Operator --application $APP_NAME
- Linux :
operator --application $APP_NAME
The $APP_NAME would be buckets
, data
or functions
.
To launch the Operator
toolbox from the terminal you do not need the
--application
command line flag and can just run either operator
or
/Applications/Operator.app/Contents/MacOS/Operator
.
How do I install Operator Tools?
How do I download Operator Tools?
To download the software, visit the downloads page.
Does 5 Apps mean 5 copies of electron?
No. We only ship one binary. And we have a fork of electron that is much smaller and optimized for our use cases.
How to install on macOS
- Download the
.dmg
file - Navigate to your Downloads folder and double-click the
.dmg
to open - When the installer appears, drag the Operator Icon onto the Applications folder to install
- Navigate to your Applications folder and double-click the Operator App Icon to open
- Eject the Operator installer
How to installation on Windows
- Select Save or Save As to download the
.exe
file from the downloads page. - If you select Save, the program file is in your Downloads folder.
- If you select Save as, you can choose where to save it.
- Launch from the Operator icon.
How to install on Linux
The following installers are available for Linux operating systems: .AppImage
,
.deb
, .rpm
, and .tar.gz
How to install with .AppImage:
- Download the
.AppImage
file from the downloads page. - Right click on the downloaded
.AppImage
file and select Properties. - In the Permissions tab, check the box that says Allow executing file as program.
- Launch the application
Can I install Operator on another computer?
With a single developer license, you can install operator on as many computers as you like.
How to do a complete uninstall
You can use your OS to uninstall the application and then you can delete the local files the applications have written
- MacOS :
~/Library/Application Support/$APP_NAME/optoolco
- Windows :
%appdata%\$APP_NAME\optoolco
- Linux :
~/.config/$APP_NAME/optoolco
You will have to delete them for Buckets
, Data
, Functions
& Operator
How to get the latest Operator updates.
The Operator Toolbox application checks for updates on a daily basis, if you would like to update to the latest version immediately you can check for updates in the toolbox under the Preferences menu.

Once updates have been downloaded, you need to restart the app to use the newest version of it.
Accounts
How do I change my password?
- Sign in to the management page.
- On the Account tab, under Password, enter your old password and new password. Click Save.
- A code will be emailed to you. Enter it to confirm the change.
I forgotten my password
- Proceed to the management page. If you are already signed in, click Sign out.
- On the Sign In page, click Forgot Password and follow the instructions.
- A code will be sent to your email for password reset.
License
What does my Operator license include?
A license includes access to all Operator applications, including periodic software updates.
Applications
How do I add multiple AWS accounts?
- Launch the Operator Toolbox application.
- Under the settings tab, select AWS Profiles.
- Type the name, key, and secret into the empty inputs and then click the check mark to save.
How do I launch an app?
You can launch a Operator app from the toolbar application by selecting the Launch icon next to the application.
How do I install new Operator apps?
- Launch the Operator Toolbox application from your menu bar.
- At the left you will aee the apps, pick the one you want to download.
- Click the download button.
- After download, the app will launch.
- If you cannot select the download button, please check the status of your license.
Functions
The Functions app helps you deploy and manage serverless code.
Create a Function
To create a function, choose Create
from the Functions
menu.

Git Integration
Enabling git integration will ensure you and your team are always working with the latest version of the code.
New Functions
If you create a new function that points to a directory on your
computer and that code is initalized as a git repository, the
Functions app can automatically detect your remote. All you have
to do is click the toggle labeled Git Integration
.
If you create a new function and don't have any code on your
computer, you can get it by entering the remote and clicking the
Git Integration
toggle.
Existing Functions
If you create a new function that points to a directory on your
If someone else created the function using the Functions app,
you will see the remote already entered into the input and you
can click the Git Integration
toggle.

Quick Edit
The Functions app will show you the files form your function in the tree. The app isn't inteneded to replace your editor but in some cases it's convenient to quickly view or edit source files.

Configuration
API

Permissions
TODO
Deploying
When you are ready to deploy, go to the main menu and select Code
and then Deploy
.
Preparing for Production
The total number of concurrent connections for all functions in a particular region is, by default, limited to 100. This limit is a guard-rail that AWS puts in place by default to protect you from run-away costs. If you want to increase the limit, follow the steps found in this guide.
Log output
You can log to stdout
or stderr
from any function. Logs are
piped to CloudWatch and you can tail them immediately using the
built-in console. The console shoud correctly highlight JSON and
other notable things that you log.

Buckets
The Buckets app is a GUI for viewing and managing cloud files.
Description
Manage, sync, filter, search, drag and drop between folders, buckets and even accounts with this remte file explorer.
Dynamo
The Operator Data app is a DymanoDB compatible UI for NoSQL data.
Searching
The input at the top of the app is for searching. There are three different
ways to use it. Clicking the input's label will toggle between Scan
, Query
and PQL
modes.

The difference between modes
A scan
iterates over all rows in a database. Scans are simple, but the
trade-off is that the larger the table gets, the slower the scan will be.
A query
allows you to be more specific about what you are searching for
by only looking at rows within a certain range. PQL
has the highest amount
of specificity, and its cost varies depending on how complicated and intensive
your queries are.
Scanning
Consider a table where a row has a property called app
. The following query
will show all entries where the app
value is equal to buckets
. All you need
to type is...
app = 'buckets'

You can check for multiple properties by adding more conditions...
app = 'buckets' AND tag = 'beta'

If you want help deciding how to formulate your search, click the up/down arrow inside the input box (right side) and a form will appear. This form will help you add more conditions. From here you can choose how to compare the value you are searching for with the values in the database. This form will also help you discover property names and input the correct value type for your search.

Querying
Tables are rows of related data. All rows of data are just objects with properties.
But when you create your table, you pick one or two special properties that are
known as the partition
and range
properties.
Dynamo uses the partition
and range
properties as the keys
to organize your
tables. A query will give you faster results because it can focus-in on a single
partition of your table and look at only rows that match.
Note: DynamoDB requires your
partition
property when for queries (yourrange
is optional).
hash = 'release' AND begins_with(range, 'alpha')

In this example, we used a function
. You can see a complete list of functions and
operators here.
SQL-compatible queries
DynamoDB data can be relational. And sometimes you want to query it that way. PartiQL is a SQL-compatible language that allows you to query dynamodb in the same way you would query a regular relational database.

Query Inspector
A search will generate JSON that cab be used as the parameters to the with the DynamoDB aws-sdk. You can inspect, edit and copy this value with the Query inspector. This can be useful if you are trying to test and develop a query for your app.

Editing
When you select a row, it will open the value editor. Since DynamoDB rows are just objects, a tree is a good way to progressively disclose the value. From here you can change the type of a property, edit, delete and add new properties.
Note: the
partition
andrange
properties are only editable on new records.

If you want to edit the DynamoDB value directly, click the code icon at the bottom of the panel.

Create a Table
To create a table, choose Create
from the Table
menu. Any options you
don't see here now you can change later in the properties panel.

Time Machine
The Time Machine app is a GUI for managing change.
Viewing changes
All changes that are made by Operator apps, by either you or your team members, can be reverted or exported. Changes can be reviewed by scrolling the table. It
Is also possible to refine the changes that you are seeing by sorting and or
filtering. Expand the Filter
section of the property panel on the right side
of the screen for more options.

Sync
Time Machine can automatically create and or use a repositoy for your changes
and sync them for you. Alternatively, you can sync only with your peers. To turn
on sync, select the Manage with Git
checkbox.
Export
To create and export a snapshot from Time Machine, select the Actions
section
of the properties panel on the right side. Choose the format and select a location
to save the JSON file.

Toolbox
What is the Operator Toolbox?
Toolbox launches and updates your wizards and apps. It also helps you manage your profiles.
When you start Operator, an icon will appear in your tray
, near your
Wifi icon (the top or lower bar of your desktop, depending on what OS you
are using).
If you have a team license, this app is how your team members can find and connect to you.
Wizards
Wizards guide you through common tasks. They make your job easier by reducing the steps to only what is needed. Some wizards for example...
- Creating or updating static websites
- Configuting and managing domains
- Managing users and their permissions
Wizards are also extensible, see this section for more details.
Notifications
Toolbox is a single place to get real-time notifications about what your team is working on and what they need. You can get alerts in realtime when...
- A team member needs permissions to do something.
- A long running task has completed on your computer or the computer of someone on your team (ie, builds or CI jobs)
Updates
Operator tries to not be annoying about updates. You never have to update if you don't want. Especially when you are busy, we wont harass you about updating your software. If you launch your app from Toolbox, you'll always be using the most up to date versions.
Settings
Settings that apply to all Opeartor apps.
Custom Wizards
Installing
npm install optoolco/example-wizard -g