Aquarium: Labels - adobe/aquarium-fish GitHub Wiki

Labels in Aquarium were designed to keep the environment configuration in versioned storage with unique name. Label gets it's origins from Jenkins node labels, but in Aquarium world just one unique name describes the environment, not multiple ones - because automation need to surely know which environment it's needed to be built in - no less no more dependencies/tools should be there.

Versioning

Label has not just name, but also version. Version is needed, because in general Label is immutable, so the only way to change the environment - is creating another version of the Label.

Usually version is starting with "1" and goes up with each label update. If label is used as just name - it means version is latest.

Also there is "0" version which is dedicated for special editable type of Label. Those are created as an environment storage for development and debugging. Usually they are temporary (with set remove_at), which means on reaching the time they will be removed along with the image (if it's used just by this Label and not used by the other Labels).

Ownership & visibility

Ownership is assigned automatically to the user created the label. Visibility is defining the users or groups that can see the Label on the cluster. Regular users can only specify their Groups they are belong to and admin can specify anything, including empty visibility which means "everyone".