-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathgitlab.yaml
138 lines (138 loc) · 5.64 KB
/
gitlab.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
---
plugin: "gitlab"
version: "0.1"
description: "gitlab plugin for FORJJ."
runtime:
docker_image: "docker.hos.hpecorp.net/forjj/gitlab"
service_type: "REST API"
service:
#socket: "gitlab.sock"
parameters: [ "service", "start" ]
created_flag_file: "{{ .InstanceName }}/forjj-{{ .Name }}.yaml"
task_flags:
common:
forjj-infra:
help: "Name of the Infra repository to use"
gitlab-debug:
help: "To activate gitlab debug information"
forjj-source-mount: # Used by the plugin to store plugin data in yaml. See gitlab_plugin.go
help: "Where the source dir is located for gitlab plugin."
forjj-instance-name:
forjj-deploy-mount:
forjj-group:
maintain:
deploy-to:
default: docker
forjj-workspace-mount:
help: "Where the workspace dir is located in the gitlab plugin container"
force:
help: Set 'true' to force removal of teams/users when forjj creates a new forge.
objects: # All objects will be delivered by forjj except workspace/infra under objects/<type>/<instance>/<action>/key=value
# Define infra object special flag for github
app: # already defined by Forjj
# Default is : actions: ["add", "change", "remove"] No need to define it.
flags:
server:
help: "Github Enterprise Server name. By default, public 'github.com' API is used."
forjj-group:
only-for-actions: ["add"]
help: "Default FORJJ group. Used by default as gitlab group. If you want different one, use --gitlab-group"
# organization:
# only-for-actions: ["add"]
# help: "Github Organization name. By default, it uses the FORJJ organization name"
group:
only-for-actions: ["add"]
help: "Gitlab group name. By default, it uses the Forjj group name"
default: "{{ .Deployments.GetFromPRO \"app\" .Current.Name \"organization\" }}"
production-group:
help: "Production github organization name. By default, it uses the FORJJ organization name"
default: "{{ .Deployments.GetFromPRO \"app\" .Current.Name \"organization\" }}"
forjj-infra:
only-for-actions: ["add", "change"]
help: "Name of the Infra repository to use in github if requested."
token:
cli-exported-to-actions: ["create", "update", "maintain"]
only-for-actions: ["add", "change"]
help: "Github token to access. This token must authorize organization level access."
required: true
secure: true
envar: "TOKEN"
# teams-disabled:
# help: "true if the plugin should not manage github users and groups"
# default: false
projects-disabled:
help: "true if the plugin should not manage github repositories except the infra repository."
default: false
organization-webhooks-disabled:
help: true if the plugin should not manage github organization webhooks.
default: false
projects-webhooks-disabled:
help: true if the plugin should not manage github repositories webhooks.
default: false
org-hook-policy:
help: Set 'sync' to manage all repository webhooks. set 'manage' to manage only listed.
default: sync
pro-deployment:
help: true if current deployment is production one
default: "{{ if (eq (.Deployments.Get .Current.Deployment).Type \"PRO\") }}true{{ else }}false{{ end }}"
# Define github group exposure to forjj
group: # New object type in forjj
# Default is : actions: ["add", "change", "remove", "list", "rename"]
help: "Manage teams in github"
identified_by_flag: name
flags:
members:
only-for-actions: ["add"]
help: "List of users to attach to the new group."
of-type: "[]string"
name:
help: "group name"
required: true
role:
only-for-actions: ["add"]
help: "List of roles to apply to the new group."
# Define github users exposure to forjj
user: # New object type in forjj
# Default is : actions: ["add", "change", "remove", "list", "rename"]
help: "Manage organization list of users"
identified_by_flag: name
flags:
name:
options:
help: "user name"
required: true
role:
only-for-actions: ["add"]
options:
help: "List of roles to apply to the new user."
repo: # Enhance Forjj repo object
actions: ["add", "change"]
flags:
name:
help: "Repository name"
title:
help: "Github Repository title"
issue_tracker:
help: "To activate the Issue tracker to the Repository"
default: "true"
users:
only-for-actions: ["add"]
help: "List of users to attach to the repository, separated by comma."
format-regexp: "[+-]?[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?([a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9]))*,"
groups:
only-for-actions: ["add"]
help: "List of groups to attach to the repository, separated by comma."
format-regexp: "[+-]?[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?([a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9]))*,"
flow:
help: "Flow activated on this repository"
forjj-workspace-mount:
help: "Where the workspace dir is located in the github plugin container."
webhooks-management:
help: Set 'sync' to manage all repository webhooks. set 'manage' to manage only listed.
default: sync
role:
help: Role of the repository. Forjj will set it to 'infra', 'deploy' or 'code'
Deployable:
internal: true
help: true if the repo is identified by forjj as deployable in the current deployment context
default: "{{ if (index .Forjfile.Repos .Current.Name).IsDeployable }}true{{ end }}"