Introduction¶
The whole Qaack structure moves around the concept of environment. In a nutshell, a environment is a set of services that runs your web application.
Conceptually, above a given environment you will find a repository, which provides the code for the environment.
Every repository is contained in a group. Any user can belong to one or more groups.
Let’s see more details of each concept:
Group
A entity that contains repositorires. Each group may have many repositories and at least one user belongs to every group.
By default, a new group is created for every user with the name of the users. Under groups settings, new users can be added.
Repository
A entity that holds information about a code platform (like GitHub, GitLab, Bitbucket, etc). It also has settings related with time to life, webhooks, SSH keys and much more.
Environment
Every environment is attached to a git reference. All environments are created and built from a configuration file, the Qaackfile. This file can fetch from the git reference (as a file in the repository) or from the repository settings and its very similar to a docker-compose file.
All environments are proxied through a subdomain.
In addition, the environment has a status (like creating, building, failed, etc) to indicate the users whats happening.
Service
This is a docker container running following the Qaackfile.