Administration

The Administration section is used to manage all things related to all Meteor operations:

  • Settings: Manage all settings such as file storage, Amazon S3 and security.
  • Users: Manage all users.
  • Groups: Manage all groups.
  • Inventory: Manage all user's inventories.
  • Deployments: Manage all deployments.
  • Monitoring: Manage all monitored servers.
  • Utils: Manage all utils operations being done.
  • Client: Monitor all executed queries and manage all attached servers.

Settings

The Settings view is used to manage some application global parameters:

License

The License section shows information (in read-only) related to the license. We can see if the copy of the Meteor Next that we're using is activated and the amount of resources we currently have available.

alt text

SQL

The SQL section shows the credentials (in read-only) where Meteor Next is stored.

alt text

Amazon S3

The Amazon S3 section shows information about the credentials needed to connect the Meteor Next app to the Amazon S3 storage engine.

alt text

Enable this option to store all generated files like deployment results into Amazon S3. Although Meteor can work without Amazon S3, we strongly recommended choosing this storage engine. You won't have to worry any more about the storage left on your machin, and all the deployment results will be preserved when you perform a Meteor update.

The credentials needed to work are an AWS IAM user with Programmatic access with the following IAM Policy attached.

  • AWS IAM Policy
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::yourbucket",
                "arn:aws:s3:::yourbucket/*"
            ]
        }
    ]
}

Replace yourbucket to the bucket's name you want to to give access.

Make sure your credentials are valid by clicking the TEST CREDENTIALS button.

Security

The Security section is used to ensure some security policies for all Meteor accounts.

alt text

PASSWORD POLICY

  • Maximum Password Age: The days that have to pass before forcing the user to change their password. This value can be: Never, 3 Months, 6 Months, 1 Year.
  • Minimum Password Length: The minimum number of characters allowed (current passwords are exempt until their age expires).
  • Require lowercase character: Enable this option to force new passwords to contain at least one lowercase character.
  • Require uppercase character: Enable this option to force new passwords to contain at least one uppercase character.
  • Require number: Enable this option to force new passwords to contain at least one number.
  • Require special character: Enable this option to force new passwords to contain at least one special character.

The following screenshot shows the behavior when a user tries to log in with an expired password. After proceeding to log in a dialog is shown forcing the user to change their password.

alt text

MFA

  • Force Multi-Factor Authentication (MFA): Enable this option to force all users to have the MFA enabled.

The following screenshot shows the behavior when the MFA is forced and a user tries to log in into the application without having their MFA enabled. A new dialog is shown forcing him/her to enable it.

alt text

SECURE ADMIN

  • Administration URL: Fill this option to restrict the access to the Administration panel only to a specific IP address or domain.

This option is useful to add an extra security layer to the Administration panel. Let's make an example to better understand it.

Imagine that in your company all users are accessing the Meteor app through meteor.yourcompany.io, admins included. In this scenario, if a non-admin user could guess the credentials of an admin user, he/she would be able to log in as an admin.

To prevent this hypothetical situation, you could set up another URL such as meteor-admin.yourcompany.io pointing also to the Meteor application, and add this URL to the Administration URL field. Finally, you could restrict by network (a VPN for example) that only a set of users (the admin ones) could have access to this new URL. In this way, although a non-admin user could know an admin account, he/she would not be able to access to the admin panel.

Mind that if a user accesses to an URL different from the one set in Administration URL, he/she won't be able to access the admin panel (even if accesses with an admin account).

WARNING

If you set this field by mistake and therefore you lose access to the administration panel, keep in mind that this option can be reverted by changing a value in the database where Meteor resides.

Access the settings table and in the second row (the one with name: "SECURITY") edit the value column, that contains a JSON.

Look for the restrict_url key and leave its value empty.

  • Before
{"password_age": "0", "password_min": "5", "password_lowercase": false, "password_uppercase": false, "password_number": false, "password_special": false, "force_mfa": false, "restrict_url": "meteor.yourcompany.io"}
  • After
{"password_age": "0", "password_min": "5", "password_lowercase": false, "password_uppercase": false, "password_number": false, "password_special": false, "force_mfa": false, "restrict_url": ""}

The next time you log in into the app, you will be able to access to the Administration panel.

Advanced

The Advanced section it's used to tune up some parameters to ensure that Meteor Next performs at maximum efficiency.

alt text

When the memory cleanup happens a new worker process is started. This process then starts serving all next API requests transparently. The old worker waits up to 30 seconds to finish serving the remaining active requests (for example long-running queries executed by the Client). After 30 seconds this worker is gracefully shutdown.

All active Deployments, Imports, Exports and Clones at the moment of the cleanup remain unaffected, since are processes outside the API ecosystem.

The only requests that can fail at the moment of the cleanup are long-running queries executed by the Client that takes more than 30 seconds to finish. That's why it's recommended to set the cleanup execution time in non-working hours.

This option is enabled by default and it's recommended not to disable it.

Users

The users view is used to manage all the user accounts that have access to the Meteor application.

alt text

When creating a new user, some fields are required:

  • Username: A unique username that identifies the user.
  • Email: The user's email.
  • Password: The user's password.
  • Coins: The amount of coins to have.
  • Group: The group that the user will be part.
  • Administrator: To access the administration panel and all the deployments & restores from other users.
  • Disable Account: By locking an account will prevent the user from being able to log in into the application. If the user is already logged in, the next action he does, it will be automatically logged out.
  • Force user to change password at next login: At next login the user will be forced to change their password. It's useful if you create a new user with a random generated password, but you want to be sure that at next login the user changes the password. This option is useful also when editing an existing user and you want to force that the user will change their password at next login. After the user changes their password, this flag will be automatically disabled.

alt text

The following screenshot shows all the columns that can be displayed.

alt text

Groups

The Groups view is used to create groups to be assigned to your users. Here you can define all the required application permissions.

alt text

Creating a group

To create a group, there are some required fields to be filled:

  • Name: The name of this group (must be unique).
  • Description: The description to give this new group.
  • Coins per day: The coins that every day at 00:00 UTC will be automatically given to the users contained in this group.
  • Maximum coins: The maximum coins that can reach. If a user currently has reached the maximum amount of coins, he won't be able to get more coins at the next coins delivery.

Next, you need to set up all the permissions from the different Meteor apps.

Inventory

Here you can manage the permissions of the Inventory.

alt text

RIGHTS

  • Access Inventory: If this option is enabled, all user's contained in this group will be able to access the inventory and the inventory icon will be shown at the top bar.

OWNERS

Owners are users that can manage shared resources (servers, regions, environments, auxiliary connections, cloud keys). A user that is not an owner of their group, will not be able to create shared resources. They will only be able to create Personal resources.

INFO

A resource can be either Personal or Shared.

  • Personal: The resource is only usable by the user who create it.
  • Shared: The resource is usable for all users whose group is the same as the user who create it.

TIP

Bear in mind that when you create a new group, you won't be able to add owners, since you have not yet added users to this group (done in the Users section). To add new owners, first add users to an existing group and then edit it. After that, you will be able to select which users you want to be owners.

Deployments

Here you can set the permissions affecting the Deployments section.

alt text

RIGHTS

  • Perform Deployments: If this option is enabled, all user's contained in this group will be able to access the deployments section and the deployments button will be visible at the top bar.
    • BASIC: Enable this option to grant permissions to perform BASIC deployments.
    • PRO: Enable this option to grant permissions to perform PRO deployments.

LIMITS

Here we can set the limits of all the deployment executions.

  • Coins per Deployment: How many coins will be consumed for every deployment. If a user does not have the required amount of coins to perform a deployment, then it will have to wait for the next day or that some admin gives him/her more coins.

  • Concurrent Deployments: This value is used to limit the amount of deployments that can be executed in the same time. It's useful to give stability to your infrastructure. In this way, you will avoid unwanted peaks of large amount of deployments at the same time.

  • Execution Threads: How many parallel connections will be spawned at database level. A value of 1 means that the execution will go database per database, one by one (sequentially). A value of 2 means that the execution will perform the deployment in two databases at the same time. And so on. So, the larger the value, the faster the execution will go and the less time it will take to finish. But keep in mind that also the larger the value, the more resources will consume.

The following screenshot shows a graphic example about having Execution Threads = 2. We can see that for each server, the execution will apply the deployment in two databases at the same time.

alt text

  • Execution Timeout: This value (numeric) is optional, and it's used to limit the execution time per query (in seconds). Queries that take more time to execute will be automatically terminated. It's useful if you want to limit the SQL queries that your users can execute, avoiding unwanted slow/dangerous queries.

RETENTION

This value is used to determine how many days we would like to retain the deployment results. All deployments done previously with the selected value will be automatically deleted.

WARNING

This setting does not apply if the Amazon S3 storage engine it's been enabled.

TIP

To set retention for files stored into S3, create an Amazon S3 lifecycle ruleopen in new window.

SLACK

  • Enable Notifications: Enable this option to receive a Slack notification every time a deployment finishes, showing some information about it. It's useful if you want to track all the deployments that are being done in real-time.
    • Channel Name: The Slack channel's name to send the notifications.
    • Webhook URL: The Slack's webhook URL to sent all the notifications.

Monitoring

Here you can set the permissions affecting the Monitoring section.

alt text

RIGHTS

  • Access Monitoring: If this option is enabled, all user's contained in this group will be able to access the monitoring section and the monitoring button will be visible at the top bar.

LIMITS

  • Data Collection Interval (seconds): The interval of seconds that have to pass to retrieve again all server's status. The value must be greater or equal than 10.

Utils

Here you can set the permissions affecting the Utils section.

alt text

RIGHTS

  • Access Utils: If this option is enabled, all user's contained in this group will be able to access the utils section and the utils button will be visible at the top bar.

LIMITS

  • Maximum Size (MB): This value is optional and it's used to limit the maximum file size in MB allowed to perform File Imports.

  • Concurrent executions: This value (numeric) is optional and it's used to limit the amount of Imports, Exports and Clones that can be executed in the same time. If this values is set up then an automated queue system will start and will only execute X operations every 10 seconds (using polling). It's useful to give stability to your infrastructure. In this way, you will avoid unwanted peaks of large amount of data transfer at the same time.

SLACK

  • Enable Notifications: Enable this option to receive a Slack notification every time a restore finishes, showing some information about it. It's useful if you want to track all the restores that are being done in real-time.
    • Channel Name: The Slack channel's name to send the notifications.
    • Webhook URL: The Slack's webhook URL to sent all the notifications.

Client

Here you can set the permissions affecting the Client section.

alt text

RIGHTS

  • Access Client: If this option is enabled, all user's contained in this group will be able to access the client section and the client button will be visible at the top bar.

LIMITS

  • Apply Limits: Enable this option to apply limits of all executed queries through Client section.
    • Execution Timeout Mode: This option can be either All Queries or Only SELECTs.
    • Execution Timeout Value: This value (measured in seconds) is used to limit the maximum execution time that queries can last (all queries or only selects, depending on the mode selected). If a query takes more time to be executed, it will be automatically stopped, raising a timeout error.
    • Execution Rows: This value (measured in number of rows) is used to limit the maximum returned rows returned by SELECTs. It can be useful to prevent users to SELECT millions of rows of Production databases.

TRACKING

  • Track Queries: Enable this option to store all the queries that are being executed in the Client section. It's useful if you want to know which kind of queries your users are executing. Also, it can be useful in case of someone executes a query and breaks something. In this way you will know exactly what queries the user executed, and this information may come in handy in order to solve the issue.
    • Tracking Mode: This option can be either All Queries to track every query the users execute, or All Queries (exclude SELECTs) to exclude SELECTs and EXPLAINs to be tracked.
    • Tracking Retention Days: This value is used to determine how many days we would like to retain the queries tracked.

Inventory

The Inventory view is used to manage all the resources (Servers, Regions, Environments, Auxiliary Connections, Cloud Keys) for all Meteor accounts.

To change from one resource to another, click the SERVERS button and then choose another one.

alt text

Servers

The default view when accessing the Inventory is the Servers. Here you can manage all servers for all Meteor users.

alt text

Regions

The Regions view is used to manage all regions for all Meteor users.

alt text

Environments

The Environments view is used to manage all environments for all Meteor users.

alt text

Auxiliary Connections

The Auxiliary view is used to manage all auxiliary connections for all Meteor users.

alt text

Cloud Keys

The Cloud Keys view is used to manage all cloud keys for all Meteor users.

alt text

Filter Resources

You can filter all resources by user or group, and also by scope and secured.

alt text

Deployments

The Deployments view is used to manage all the deployments done by all users.

alt text

Note that this list shows the last execution of each deployment (like the Deployments section). To filter and see all the past executions done in all deployments, enable the Filter all deployment executions option in the Filter dialog.

alt text

You can also decide which columns you want to display or hide.

alt text

Monitoring

The Monitoring view is used to know which servers are monitored by which users.

alt text

Also you can perform any filter by user or by server.

alt text

Utils

The Utils view is used to manage all the restores done by all users.

alt text

You can also filter any restore by any parameter.

alt text

And decide which columns you want to show or hide.

alt text

Client

The Client view has two main uses:

Queries

Track all the queries being executed in the Client section by all users.

alt text

TIP

Mind that to start tracking all the executed queries you first have to enable the Track Queries option in the Groups section

You can also filter the queries by some fields.

alt text

Servers

Manage the servers that your users have added in their Client. You can also attach/detach a server to a user.

alt text

Also, you can perform any kind of filtering.

alt text

Last Updated:
Contributors: Pol Alzina