What does this MR do?
In order to implement https://gitlab.com/gitlab-org/gitlab-ee/issues/5276 we need several modifications on the Web ide configuration. We need to accept a
ports section in both the main image section and in each service one.
In this MR we update the configuration and also modify other parts to include it.
This is an example of the new
ports options in
terminal: image: name: alpine:3.9 ports: - 80 services: - name: tomcat alias: tomcat ports: - external_port: 8080 protocol: http - name: tomcat alias: tomcat2 ports: - external_port: 8080 internal_port: 80 name: main_port - external_port: 8081 name: secondary_port - name: tomcat alias: tomcat3 ports: - [8080, 80]
ports configuration can accept different options:
- Only one port. In this option the
internal_portis the same as the
ports: - 80
- An array of two values. In this option the first value is the external port and the second one the internal.
ports: - [80, 81]
A hash. The accepts the keys:
- If no
internal_portis set, the value of
external_portwill be used
- If no
ports: - external_port: 8080 internal_port: 8081 protocol: http name: port_name
By default all services are
Inside the same service, you can't have different ports pointing to the same external or internal port.
internal_portmust be unique within the configuration
If there is more than one service you are forced to set a port name.
If only one port is set,
default_portwill be used as the port name
When the proxy endpoint is requested you can use either the number or the name version of the port
What are the relevant issue numbers?
Does this MR meet the acceptance criteria?
Changelog entry added, if necessary
Documentation created/updated via this MR
Documentation reviewed by technical writer or follow-up review issue created
Tests added for this feature/bug
Tested in all supported browsers
Conforms to the code review guidelines
Conforms to the merge request performance guidelines
Conforms to the style guides
Conforms to the database guides
Link to e2e tests MR added if this MR has Requires e2e tests label. See the Test Planning Process.
EE specific content should be in the top level
For a paid feature, have we considered GitLab.com plans, how it works for groups, and is there a design for promoting it to users who aren't on the correct plan?
Security reports checked/validated by reviewer