in ee/lib/remote_development/workspace_operations/create/workspace_variables_builder.rb [20:177]
def self.build(
name:, dns_zone:, personal_access_token_value:, user_name:, user_email:, workspace_id:,
vscode_extension_marketplace:, variables:
)
vscode_extension_marketplace => {
service_url: String => vscode_extension_marketplace_service_url,
item_url: String => vscode_extension_marketplace_item_url,
resource_url_template: String => vscode_extension_marketplace_resource_url_template,
}
internal_variables = [
{
key: "GL_WORKSPACE_LOGS_DIR",
value: WORKSPACE_LOGS_DIR,
variable_type: ENVIRONMENT_TYPE,
workspace_id: workspace_id
},
{
key: TOKEN_FILE_NAME,
value: personal_access_token_value,
variable_type: FILE_TYPE,
workspace_id: workspace_id
},
{
key: "GL_TOKEN_FILE_PATH",
value: TOKEN_FILE_PATH,
variable_type: ENVIRONMENT_TYPE,
workspace_id: workspace_id
},
{
key: GIT_CREDENTIAL_STORE_SCRIPT_FILE_NAME,
value: GIT_CREDENTIAL_STORE_SCRIPT,
variable_type: FILE_TYPE,
workspace_id: workspace_id
},
{
key: "GIT_CONFIG_COUNT",
value: "3",
variable_type: ENVIRONMENT_TYPE,
workspace_id: workspace_id
},
{
key: "GIT_CONFIG_KEY_0",
value: "credential.helper",
variable_type: ENVIRONMENT_TYPE,
workspace_id: workspace_id
},
{
key: "GIT_CONFIG_VALUE_0",
value: GIT_CREDENTIAL_STORE_SCRIPT_FILE_PATH,
variable_type: ENVIRONMENT_TYPE,
workspace_id: workspace_id
},
{
key: "GIT_CONFIG_KEY_1",
value: "user.name",
variable_type: ENVIRONMENT_TYPE,
workspace_id: workspace_id
},
{
key: "GIT_CONFIG_VALUE_1",
value: user_name,
variable_type: ENVIRONMENT_TYPE,
workspace_id: workspace_id
},
{
key: "GIT_CONFIG_KEY_2",
value: "user.email",
variable_type: ENVIRONMENT_TYPE,
workspace_id: workspace_id
},
{
key: "GIT_CONFIG_VALUE_2",
value: user_email,
variable_type: ENVIRONMENT_TYPE,
workspace_id: workspace_id
},
{
key: "GL_WORKSPACE_DOMAIN_TEMPLATE",
value: "${PORT}-#{name}.#{dns_zone}",
variable_type: ENVIRONMENT_TYPE,
workspace_id: workspace_id
},
{
key: "GL_EDITOR_EXTENSIONS_GALLERY_SERVICE_URL",
value: vscode_extension_marketplace_service_url,
variable_type: ENVIRONMENT_TYPE,
workspace_id: workspace_id
},
{
key: "GL_EDITOR_EXTENSIONS_GALLERY_ITEM_URL",
value: vscode_extension_marketplace_item_url,
variable_type: ENVIRONMENT_TYPE,
workspace_id: workspace_id
},
{
key: "GL_EDITOR_EXTENSIONS_GALLERY_RESOURCE_URL_TEMPLATE",
value: vscode_extension_marketplace_resource_url_template,
variable_type: ENVIRONMENT_TYPE,
workspace_id: workspace_id
},
{
key: "GITLAB_WORKFLOW_INSTANCE_URL",
value: Gitlab::Routing.url_helpers.root_url,
variable_type: ENVIRONMENT_TYPE,
workspace_id: workspace_id
},
{
key: "GITLAB_WORKFLOW_TOKEN_FILE",
value: TOKEN_FILE_PATH,
variable_type: ENVIRONMENT_TYPE,
workspace_id: workspace_id
}
]
user_provided_variables = variables.map do |variable|
{
key: variable.fetch(:key),
value: variable.fetch(:value),
variable_type: variable.fetch(:type),
user_provided: true,
workspace_id: workspace_id
}
end
internal_variables + user_provided_variables
end