Skip to content
GitLab
Next
Projects
Groups
Snippets
Help
Loading...
Help
What's new
6
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
GitLab Operator
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
28
Issues
28
List
Boards
Labels
Service Desk
Milestones
Iterations
Merge Requests
6
Merge Requests
6
Requirements
Requirements
List
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Test Cases
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Package Registry
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issue
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
GitLab.org
OpenShift
GitLab Operator
Commits
052aae50
Commit
052aae50
authored
Sep 02, 2020
by
Edmund Ochieng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Create initial operator bundle
parent
bb66b7a1
Changes
20
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
3792 additions
and
46 deletions
+3792
-46
api/v1beta1/gitlab_types.go
api/v1beta1/gitlab_types.go
+1
-1
bundle.Dockerfile
bundle.Dockerfile
+17
-0
bundle/manifests/apps.gitlab.com_gitlabs.yaml
bundle/manifests/apps.gitlab.com_gitlabs.yaml
+944
-0
bundle/manifests/apps.gitlab.com_glbackups.yaml
bundle/manifests/apps.gitlab.com_glbackups.yaml
+85
-0
bundle/manifests/apps.gitlab.com_runners.yaml
bundle/manifests/apps.gitlab.com_runners.yaml
+91
-0
bundle/manifests/gitlab-leader-election-role_rbac.authorization.k8s.io_v1_role.yaml
...ader-election-role_rbac.authorization.k8s.io_v1_role.yaml
+33
-0
bundle/manifests/gitlab-leader-election-rolebinding_rbac.authorization.k8s.io_v1_rolebinding.yaml
...rolebinding_rbac.authorization.k8s.io_v1_rolebinding.yaml
+13
-0
bundle/manifests/gitlab-manager-role_rbac.authorization.k8s.io_v1_clusterrole.yaml
...anager-role_rbac.authorization.k8s.io_v1_clusterrole.yaml
+198
-0
bundle/manifests/gitlab-manager-rolebinding_rbac.authorization.k8s.io_v1_clusterrolebinding.yaml
...ding_rbac.authorization.k8s.io_v1_clusterrolebinding.yaml
+13
-0
bundle/manifests/gitlab-metrics-reader_rbac.authorization.k8s.io_v1beta1_clusterrole.yaml
...reader_rbac.authorization.k8s.io_v1beta1_clusterrole.yaml
+10
-0
bundle/manifests/gitlab-operator.clusterserviceversion.yaml
bundle/manifests/gitlab-operator.clusterserviceversion.yaml
+352
-0
bundle/manifests/gitlab-proxy-role_rbac.authorization.k8s.io_v1_clusterrole.yaml
...-proxy-role_rbac.authorization.k8s.io_v1_clusterrole.yaml
+18
-0
bundle/manifests/gitlab-proxy-rolebinding_rbac.authorization.k8s.io_v1_clusterrolebinding.yaml
...ding_rbac.authorization.k8s.io_v1_clusterrolebinding.yaml
+13
-0
bundle/metadata/annotations.yaml
bundle/metadata/annotations.yaml
+12
-0
bundle/tests/scorecard/config.yaml
bundle/tests/scorecard/config.yaml
+49
-0
config/crd/bases/apps.gitlab.com_gitlabs.yaml
config/crd/bases/apps.gitlab.com_gitlabs.yaml
+45
-45
config/deploy/apiextensions.k8s.io_v1beta1_customresourcedefinition_gitlabs.apps.gitlab.com.yaml
...ta1_customresourcedefinition_gitlabs.apps.gitlab.com.yaml
+1704
-0
config/deploy/apiextensions.k8s.io_v1beta1_customresourcedefinition_glbackups.apps.gitlab.com.yaml
...1_customresourcedefinition_glbackups.apps.gitlab.com.yaml
+91
-0
config/deploy/apiextensions.k8s.io_v1beta1_customresourcedefinition_runners.apps.gitlab.com.yaml
...ta1_customresourcedefinition_runners.apps.gitlab.com.yaml
+97
-0
config/manager/kustomization.yaml
config/manager/kustomization.yaml
+6
-0
No files found.
api/v1beta1/gitlab_types.go
View file @
052aae50
...
...
@@ -26,7 +26,7 @@ type GitLabSpec struct {
Release
string
`json:"release,omitempty"`
URL
string
`json:"url,omitempty"`
TLS
string
`json:"tls,omitempty"`
SMTP
SMTPConfiguration
`json:"
email
,omitempty"`
SMTP
SMTPConfiguration
`json:"
smtp
,omitempty"`
Registry
RegistrySpec
`json:"registry,omitempty"`
ObjectStore
ObjectStoreSpec
`json:"objectStore,omitempty"`
Redis
*
RedisSpec
`json:"redis,omitempty"`
...
...
bundle.Dockerfile
0 → 100644
View file @
052aae50
FROM
scratch
LABEL
operators.operatorframework.io.bundle.mediatype.v1=registry+v1
LABEL
operators.operatorframework.io.bundle.manifests.v1=manifests/
LABEL
operators.operatorframework.io.bundle.metadata.v1=metadata/
LABEL
operators.operatorframework.io.bundle.package.v1=gitlab-operator
LABEL
operators.operatorframework.io.bundle.channels.v1=alpha
LABEL
operators.operatorframework.io.bundle.channel.default.v1=
LABEL
operators.operatorframework.io.metrics.builder=operator-sdk-v1.0.0
LABEL
operators.operatorframework.io.metrics.mediatype.v1=metrics+v1
LABEL
operators.operatorframework.io.metrics.project_layout=go.kubebuilder.io/v2
LABEL
operators.operatorframework.io.test.config.v1=tests/scorecard/
LABEL
operators.operatorframework.io.test.mediatype.v1=scorecard+v1
COPY
bundle/manifests /manifests/
COPY
bundle/metadata /metadata/
COPY
bundle/tests/scorecard /tests/scorecard/
bundle/manifests/apps.gitlab.com_gitlabs.yaml
0 → 100644
View file @
052aae50
This diff is collapsed.
Click to expand it.
bundle/manifests/apps.gitlab.com_glbackups.yaml
0 → 100644
View file @
052aae50
apiVersion
:
apiextensions.k8s.io/v1beta1
kind
:
CustomResourceDefinition
metadata
:
annotations
:
controller-gen.kubebuilder.io/version
:
v0.3.0
creationTimestamp
:
null
name
:
glbackups.apps.gitlab.com
spec
:
group
:
apps.gitlab.com
names
:
kind
:
GLBackup
listKind
:
GLBackupList
plural
:
glbackups
shortNames
:
-
gbk
singular
:
glbackup
scope
:
Namespaced
subresources
:
status
:
{}
validation
:
openAPIV3Schema
:
description
:
GLBackup is the Schema for the glbackups API
properties
:
apiVersion
:
description
:
'
APIVersion
defines
the
versioned
schema
of
this
representation
of
an
object.
Servers
should
convert
recognized
schemas
to
the
latest
internal
value,
and
may
reject
unrecognized
values.
More
info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type
:
string
kind
:
description
:
'
Kind
is
a
string
value
representing
the
REST
resource
this
object
represents.
Servers
may
infer
this
from
the
endpoint
the
client
submits
requests
to.
Cannot
be
updated.
In
CamelCase.
More
info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type
:
string
metadata
:
type
:
object
spec
:
description
:
GLBackupSpec defines the desired state of GLBackup
properties
:
instance
:
description
:
Instance represents the GitLab instance to backup
type
:
string
restore
:
description
:
'
Restore
when
set
to
true
the
backup
defined
by
ID:
will
be
restored
to
the
gitlab
instance'
type
:
boolean
schedule
:
description
:
Schedule defines the time and day to run backup It takes cron time format
type
:
string
skip
:
description
:
Exclusions allows user to exclude components to backup
type
:
string
timestamp
:
description
:
Timestamp defines the prefix of the backup job
type
:
string
url
:
description
:
URL defines the address of the backup job
type
:
string
required
:
-
instance
type
:
object
status
:
description
:
GLBackupStatus defines the observed state of GLBackup
properties
:
completedAt
:
description
:
Completed returns time backup terminated or completed
type
:
string
phase
:
description
:
BackupState informs of current backup state
enum
:
-
Running
-
Completed
-
Scheduled
-
Failed
type
:
string
startedAt
:
description
:
StartedAt returns time when backup was initiated
type
:
string
type
:
object
type
:
object
version
:
v1beta1
versions
:
-
name
:
v1beta1
served
:
true
storage
:
true
status
:
acceptedNames
:
kind
:
"
"
plural
:
"
"
conditions
:
[]
storedVersions
:
[]
bundle/manifests/apps.gitlab.com_runners.yaml
0 → 100644
View file @
052aae50
apiVersion
:
apiextensions.k8s.io/v1beta1
kind
:
CustomResourceDefinition
metadata
:
annotations
:
controller-gen.kubebuilder.io/version
:
v0.3.0
creationTimestamp
:
null
name
:
runners.apps.gitlab.com
spec
:
group
:
apps.gitlab.com
names
:
kind
:
Runner
listKind
:
RunnerList
plural
:
runners
singular
:
runner
scope
:
Namespaced
subresources
:
status
:
{}
validation
:
openAPIV3Schema
:
description
:
Runner is the Schema for the runners API
properties
:
apiVersion
:
description
:
'
APIVersion
defines
the
versioned
schema
of
this
representation
of
an
object.
Servers
should
convert
recognized
schemas
to
the
latest
internal
value,
and
may
reject
unrecognized
values.
More
info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type
:
string
kind
:
description
:
'
Kind
is
a
string
value
representing
the
REST
resource
this
object
represents.
Servers
may
infer
this
from
the
endpoint
the
client
submits
requests
to.
Cannot
be
updated.
In
CamelCase.
More
info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type
:
string
metadata
:
type
:
object
spec
:
description
:
RunnerSpec defines the desired state of Runner
properties
:
cache
:
description
:
Cache defines an S3 compatible object store
properties
:
bucket
:
description
:
Bucket defines the s3 bucket name
type
:
string
credentials
:
description
:
Credentials is the name of the secret containing the
type
:
string
insecure
:
description
:
Insecure enables use of HTTP protocol
type
:
boolean
path
:
description
:
Path defines the Runner Cache path
type
:
string
region
:
description
:
Region for the cache
type
:
string
server
:
description
:
S3 cache server URL
type
:
string
type
:
object
gitlab
:
description
:
GitlabResource represents a Gitlab custom resource. Should only be used to reference Gitlab instance created by the operator
properties
:
name
:
description
:
Name of gitlab resource in kubernetes / openshift
type
:
string
url
:
description
:
Gitlab or Continuous Integration URL
type
:
string
type
:
object
tags
:
description
:
Tags passes the runner tags
type
:
string
token
:
description
:
RegistrationToken is name of secret with the runner-registration-token key used to register the runner
type
:
string
type
:
object
status
:
description
:
RunnerStatus defines the observed state of Runner
properties
:
phase
:
type
:
string
registration
:
type
:
string
type
:
object
type
:
object
version
:
v1beta1
versions
:
-
name
:
v1beta1
served
:
true
storage
:
true
status
:
acceptedNames
:
kind
:
"
"
plural
:
"
"
conditions
:
[]
storedVersions
:
[]
bundle/manifests/gitlab-leader-election-role_rbac.authorization.k8s.io_v1_role.yaml
0 → 100644
View file @
052aae50
apiVersion
:
rbac.authorization.k8s.io/v1
kind
:
Role
metadata
:
creationTimestamp
:
null
name
:
gitlab-leader-election-role
rules
:
-
apiGroups
:
-
"
"
resources
:
-
configmaps
verbs
:
-
get
-
list
-
watch
-
create
-
update
-
patch
-
delete
-
apiGroups
:
-
"
"
resources
:
-
configmaps/status
verbs
:
-
get
-
update
-
patch
-
apiGroups
:
-
"
"
resources
:
-
events
verbs
:
-
create
-
patch
bundle/manifests/gitlab-leader-election-rolebinding_rbac.authorization.k8s.io_v1_rolebinding.yaml
0 → 100644
View file @
052aae50
apiVersion
:
rbac.authorization.k8s.io/v1
kind
:
RoleBinding
metadata
:
creationTimestamp
:
null
name
:
gitlab-leader-election-rolebinding
roleRef
:
apiGroup
:
rbac.authorization.k8s.io
kind
:
Role
name
:
gitlab-leader-election-role
subjects
:
-
kind
:
ServiceAccount
name
:
default
namespace
:
gitlab-operator
bundle/manifests/gitlab-manager-role_rbac.authorization.k8s.io_v1_clusterrole.yaml
0 → 100644
View file @
052aae50
apiVersion
:
rbac.authorization.k8s.io/v1
kind
:
ClusterRole
metadata
:
creationTimestamp
:
null
name
:
gitlab-manager-role
rules
:
-
apiGroups
:
-
apps
resources
:
-
deployments
verbs
:
-
create
-
delete
-
get
-
list
-
patch
-
update
-
watch
-
apiGroups
:
-
apps
resources
:
-
statefulsets
verbs
:
-
create
-
delete
-
get
-
list
-
patch
-
update
-
watch
-
apiGroups
:
-
apps.gitlab.com
resources
:
-
gitlabs
verbs
:
-
create
-
delete
-
get
-
list
-
patch
-
update
-
watch
-
apiGroups
:
-
apps.gitlab.com
resources
:
-
gitlabs/status
verbs
:
-
get
-
patch
-
update
-
apiGroups
:
-
apps.gitlab.com
resources
:
-
glbackups
verbs
:
-
create
-
delete
-
get
-
list
-
patch
-
update
-
watch
-
apiGroups
:
-
apps.gitlab.com
resources
:
-
glbackups/status
verbs
:
-
get
-
patch
-
update
-
apiGroups
:
-
apps.gitlab.com
resources
:
-
runners
verbs
:
-
create
-
delete
-
get
-
list
-
patch
-
update
-
watch
-
apiGroups
:
-
apps.gitlab.com
resources
:
-
runners/status
verbs
:
-
get
-
patch
-
update
-
apiGroups
:
-
batch
resources
:
-
jobs
verbs
:
-
create
-
delete
-
get
-
list
-
patch
-
update
-
watch
-
apiGroups
:
-
"
"
resources
:
-
configmaps
verbs
:
-
create
-
delete
-
get
-
list
-
patch
-
update
-
watch
-
apiGroups
:
-
"
"
resources
:
-
cronjobs
verbs
:
-
create
-
delete
-
get
-
list
-
patch
-
update
-
watch
-
apiGroups
:
-
"
"
resources
:
-
persistentvolumeclaims
verbs
:
-
create
-
delete
-
get
-
list
-
patch
-
update
-
watch
-
apiGroups
:
-
"
"
resources
:
-
secrets
verbs
:
-
create
-
delete
-
get
-
list
-
patch
-
update
-
watch
-
apiGroups
:
-
"
"
resources
:
-
services
verbs
:
-
create
-
delete
-
get
-
list
-
patch
-
update
-
watch
-
apiGroups
:
-
extensions
resources
:
-
ingresses
verbs
:
-
create
-
delete
-
get
-
list
-
patch
-
update
-
watch
-
apiGroups
:
-
monitoring.coreos.com
resources
:
-
prometheuses
verbs
:
-
create
-
delete
-
get
-
list
-
patch
-
update
-
watch
-
apiGroups
:
-
monitoring.coreos.com
resources
:
-
servicemonitors
verbs
:
-
create
-
delete
-
get
-
list
-
patch
-
update
-
watch
bundle/manifests/gitlab-manager-rolebinding_rbac.authorization.k8s.io_v1_clusterrolebinding.yaml
0 → 100644
View file @
052aae50
apiVersion
:
rbac.authorization.k8s.io/v1
kind
:
ClusterRoleBinding
metadata
:
creationTimestamp
:
null
name
:
gitlab-manager-rolebinding
roleRef
:
apiGroup
:
rbac.authorization.k8s.io
kind
:
ClusterRole
name
:
gitlab-manager-role
subjects
:
-
kind
:
ServiceAccount
name
:
default
namespace
:
gitlab-operator
bundle/manifests/gitlab-metrics-reader_rbac.authorization.k8s.io_v1beta1_clusterrole.yaml
0 → 100644
View file @
052aae50
apiVersion
:
rbac.authorization.k8s.io/v1beta1
kind
:
ClusterRole
metadata
:
creationTimestamp
:
null
name
:
gitlab-metrics-reader
rules
:
-
nonResourceURLs
:
-
/metrics
verbs
:
-
get
bundle/manifests/gitlab-operator.clusterserviceversion.yaml
0 → 100644
View file @
052aae50
This diff is collapsed.
Click to expand it.
bundle/manifests/gitlab-proxy-role_rbac.authorization.k8s.io_v1_clusterrole.yaml
0 → 100644
View file @
052aae50
apiVersion
:
rbac.authorization.k8s.io/v1
kind
:
ClusterRole
metadata
:
creationTimestamp
:
null
name
:
gitlab-proxy-role
rules
:
-
apiGroups
:
-
authentication.k8s.io
resources
:
-
tokenreviews
verbs
:
-
create
-
apiGroups
:
-
authorization.k8s.io
resources
:
-
subjectaccessreviews
verbs
:
-
create
bundle/manifests/gitlab-proxy-rolebinding_rbac.authorization.k8s.io_v1_clusterrolebinding.yaml
0 → 100644
View file @
052aae50
apiVersion
:
rbac.authorization.k8s.io/v1
kind
:
ClusterRoleBinding
metadata
:
creationTimestamp
:
null
name
:
gitlab-proxy-rolebinding
roleRef
:
apiGroup
:
rbac.authorization.k8s.io
kind
:
ClusterRole
name
:
gitlab-proxy-role
subjects
:
-
kind
:
ServiceAccount
name
:
default
namespace
:
gitlab-operator
bundle/metadata/annotations.yaml
0 → 100644
View file @
052aae50
annotations
:
operators.operatorframework.io.bundle.channel.default.v1
:
"
"
operators.operatorframework.io.bundle.channels.v1
:
alpha
operators.operatorframework.io.bundle.manifests.v1
:
manifests/
operators.operatorframework.io.bundle.mediatype.v1
:
registry+v1
operators.operatorframework.io.bundle.metadata.v1
:
metadata/
operators.operatorframework.io.bundle.package.v1
:
gitlab-operator
operators.operatorframework.io.metrics.builder
:
operator-sdk-v1.0.0
operators.operatorframework.io.metrics.mediatype.v1
:
metrics+v1
operators.operatorframework.io.metrics.project_layout
:
go.kubebuilder.io/v2
operators.operatorframework.io.test.config.v1
:
tests/scorecard/
operators.operatorframework.io.test.mediatype.v1
:
scorecard+v1
bundle/tests/scorecard/config.yaml
0 → 100644
View file @
052aae50
apiVersion
:
scorecard.operatorframework.io/v1alpha3
kind
:
Configuration
metadata
:
name
:
config
stages
:
-
parallel
:
true
tests
:
-
entrypoint
:
-
scorecard-test
-
basic-check-spec
image
:
quay.io/operator-framework/scorecard-test:master
labels
:
suite
:
basic
test
:
basic-check-spec-test
-
entrypoint
:
-
scorecard-test
-
olm-bundle-validation
image
:
quay.io/operator-framework/scorecard-test:master
labels
:
suite
:
olm
test
:
olm-bundle-validation-test
-
entrypoint
:
-
scorecard-test
-
olm-crds-have-validation
image
:
quay.io/operator-framework/scorecard-test:master
labels
:
suite
:
olm
test
:
olm-crds-have-validation-test
-
entrypoint
:
-
scorecard-test
-
olm-crds-have-resources
image
:
quay.io/operator-framework/scorecard-test:master
labels
:
suite
:
olm
test
:
olm-crds-have-resources-test
-
entrypoint
:
-
scorecard-test
-
olm-spec-descriptors
image
:
quay.io/operator-framework/scorecard-test:master
labels
:
suite
:
olm
test
:
olm-spec-descriptors-test
-
entrypoint
:
-
scorecard-test
-
olm-status-descriptors
image
:
quay.io/operator-framework/scorecard-test:master