Rafts are an advanced feature. If you are just getting started with Otter, you should revisit this topic once you've familiarized yourself with the other components.
Plans and Assets are essentially just files, and to make sharing, versioning, branching, etc. possible, Otter uses a raft to store these files. A raft is sort of an abstracted file system, specifically designed for Otter plans and assets.
Because you likely won't need multiple rafts right away, a raft named "Default" is automatically created when you install Otter. This is a Database raft and is backed up when you do a regular Back-up of Otter.
If you only have a single raft configured, and that raft is named "Default", then the ability to filter or select rafts will not be exposed on plan, job, asset, server, etc. pages.
You can create, manage, and download a raft as a zip file by going to Admin > Global Components > Rafts.
When a raft is associated with an Environment, access to contents within the raft will be restricted in two ways:
Both Servers and Server Roles may be associated with a raft. When a raft is specified, the corresponding configuration plan will be persisted within that raft. If no raft is specified, then the "Default" raft (if one is named that) is used.
Because rafts can be modified external to Otter, it's possible to create "orphaned" Configuration Plans that are not associated with a server or server role in Otter. Those are simply ignored, but are still displayed on the configuration plans page.
Rafts rely on an Extensible Raft Provider to retrieve and store raft data. There are three built-in raft types:
When stored on disk, in source control, or exported as a zip file, rafts are laid-out as follows.
Type | Location |
---|---|
Orchestration Plans | Files (.otter ) within the /plans subdirectory |
Server Plans | Files (.otter ) within the /servers subdirectory |
Server Role Plans | Files (.otter ) within the /roles subdirectory |
Variables | An OtterScript stored in the /variables file, consisting entirely of assign variable statements |
Scripts | Files (.ps1 , .js , .sh ) within the /scripts subdirectory |
Modules | Files (.otter ) within the /modules subdirectory |
Assets | Files within the /files subdirectory |
Variables persisted within a raft are not currently displayed anywhere in the UI, and are intended to be used for storing default or fallback values for plans stored in portable/reusable rafts. They are the lowest scope, and are only used if a Configuration Variable of the same name does not exist
Is this documentation incorrect or incomplete? Help us by contributing!
This documentation is licensed under CC-BY-SA-4.0 and stored in GitHub.