Add test support for airgapped environments
What does this MR do?
This MR adds support for an Airgapped test instance, which allows for testing within a mostly (except from open ports needed for testing) Airgapped container.
It also allows for the runner to run on a specified airgapped internal network, and prove out that it is airgapped.
There was also a change to the Jenkins test to run on the same network if running airgapped (rather than defaulting to localhost), as from discussions it was suggested that this scenario could occur whereby Jenkins and GitLab share an airgapped network.
This complements a GitLab-QA change gitlab-qa!443 (merged) which introduces the Airgapped instance.
The work is part of #212586 (closed) (Stages 2 and 3) whereby we wish to run pipelines to test Airgapped functionality, and going forward including proving out future Secure Test Project end to end tests.
Screenshots
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry -
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers -
Informed Infrastructure department of a default or new setting change, if applicable per definition of done
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
-
Label as security and @ mention @gitlab-com/gl-security/appsec
-
The MR includes necessary changes to maintain consistency between UI, API, email, or other methods -
Security reports checked/validated by a reviewer from the AppSec team