0.0.3 • Published 3 years ago

@stabil/types v0.0.3

Weekly downloads
3
License
UNLICENSED
Repository
-
Last release
3 years ago

Stabil types

Terms

  • Project - A project in the Stabil hierarchy.
  • Platform - A platform in the Stabil hierarchy (e.g. node, static, etc).
  • Database - A database in the Stabil hierarchy.
  • Entity - An identifyable item in the config (project, platform, database).

Config

The config types are tightly connected to how the config system works internally in Stabil. There is three different variants of the config type; StabilConfig, StabilSyncedConfig, StabilCompleteConfig.

The mentality is mainly as follows:

  1. The config file should only require as much as is required for a functional deployment.
  2. The config file that is sent to the server requires all fields to be filled. The fields that are not required to be filled in the config files are filled with one specific for the field or with null.

StabilConfig

This is the initial config that the user creates. It contains everything that is essential to the deployment except the unique id's of each config Entity.

This config is required to exist before the user can run stabil sync.

StabilSyncedConfig

When the user has synced the StabilConfig (by running stabil sync) the config will be updated with the unique id of each defined Entity. This means that the project and every resource has been created in stabil's database and is accessible in the admin panel.

StabilSyncedConfig is the interface that the config should be in after the initial config has been synced.

Apart from the uid, if anything is changed in the synced config it will be uploaded to the Stabil servers and replace the current configuration. For example, if you change the project name in the config file and then syncs it, it will change the name of the project in the Stabil database.

StabilCompleteConfig

Starts from StabilConfig and adds a few more data such as environment.

This is the data that is sent to the server when stabil sync is run the first time.

StabilSyncedCompleteConfig

Identical to StabilCompleteConfig but uses StabilSyncedConfig instead of StabilSyncedConfig.

This is the data that is sent to the server each time stabil sync is run.