Compare commits

...
Author SHA1 Message Date
Miguel Angel Ajo f8dc2dc5d1 Enable globalnet E2E matrix
Signed-off-by: Miguel Angel Ajo <majopela@redhat.com>
2021-02-24 14:39:49 +01:00
Miguel Angel Ajo d7b3ab6204 Add globalCidr mappings to the submariner template
also includes the questions.yaml which is UI.

Signed-off-by: Miguel Angel Ajo <majopela@redhat.com>
2021-02-24 14:29:16 +01:00
Steve MattarandMiguel Angel Ajo Pelayo cce1bf6494 fix(crd): add the missing service discovery crd
Signed-off-by: Steve Mattar <smattar@redhat.com>
2021-02-24 12:45:03 +01:00
Steve MattarandMiguel Angel Ajo Pelayo 83177c8083 fix(crd): add the broker crd
Signed-off-by: Steve Mattar <smattar@redhat.com>
2021-02-24 12:45:03 +01:00
Steve MattarandGitHub 7f2d832e6f fix(rbac): sa and rbac definitions (#117)
Sync the SA and RBAC definitions with what we have in submariner-operator.

Signed-off-by: Steve Mattar <smattar@redhat.com>
2021-02-23 16:08:55 +01:00
Daniel FarrellandStephen Kitt c1177daa36 Use shared GHAs from Shipyard
Run the E2E tests using Submariner's custom GitHub Actions.

Signed-off-by: Daniel Farrell <dfarrell@redhat.com>
2021-02-08 09:47:58 +01:00
Stephen KittandThomas Pantelis af9332cb53 Track the devel branch for release
Signed-off-by: Stephen Kitt <skitt@redhat.com>
2021-02-05 08:23:55 -05:00
Daniel FarrellandDaniel Farrell ad064a97b2 Add git commit message linting
As implemented and configured in other Submariner repos.

Signed-off-by: Daniel Farrell <dfarrell@redhat.com>
2021-02-02 08:49:25 -06:00
Daniel FarrellandStephen Kitt 8754508eb0 Add .dapper and .shflags to gitignore
Both are generated by our standard make commands, both are ignored in
other Submariner repos.

Signed-off-by: Daniel Farrell <dfarrell@redhat.com>
2021-02-02 14:02:52 +01:00
Daniel FarrellandThomas Pantelis 472ad44a87 Use markdownlint from Shipyard
Instead of an external GitHub action, use the same markdownlint make
target from Shipyard that we use in other repos.

Signed-off-by: Daniel Farrell <dfarrell@redhat.com>
2021-02-01 16:42:35 -05:00
Stephen KittandThomas Pantelis 0d566a4104 Use the PR base branch as reference when linting
To determine the changed files, the Markdown linter needs to know the
base branch; instead of using the default everywhere, use the base
branch set in the PR.

Signed-off-by: Stephen Kitt <skitt@redhat.com>
2021-01-21 09:49:13 -05:00
Aswin SuryanarayananandGitHub 83aeade0cc Add a cluster role for submariner-engine serivce-account
The submainer-engine now access the node object as part
of golbalnet-healthcheck support and the required roles are
added

Signed-off-by: Aswin Surayanarayanan <asuryana@redhat.com>
2021-01-14 10:33:21 +01:00
Sridhar GaddamandStephen Kitt 69a435efb3 Update GatewayEngine Pod env with the host nodeName
Related to: https://github.com/submariner-io/submariner/issues/1068
Signed-Off-by: Sridhar Gaddam <sgaddam@redhat.com>
2021-01-12 11:11:34 +01:00
Sridhar GaddamandStephen Kitt 54b9fab7f0 Fix broken globalnet helm jobs
Signed-Off-by: Sridhar Gaddam <sgaddam@redhat.com>
2021-01-04 09:09:39 +01:00
Sridhar GaddamandStephen Kitt 9946eeb071 Update Globalnet Pod env with the host nodeName
Related to: https://github.com/submariner-io/submariner/issues/970

Signed-Off-by: Sridhar Gaddam <sgaddam@redhat.com>
2020-12-24 14:06:14 +01:00
Daniel FarrellandStephen Kitt 6edd0a2f10 Fix all broken links
Signed-off-by: Daniel Farrell <dfarrell@redhat.com>
2020-12-17 15:44:34 +01:00
Daniel FarrellandStephen Kitt 701ad09f63 Fix periodic broken link test issue reporting
Use new GHA for reporting issues when broken links are detected. This
logic was verified to work by the frequently-run flaky test finder.

Signed-off-by: Daniel Farrell <dfarrell@redhat.com>
2020-12-17 15:10:59 +01:00
Stephen KittandThomas Pantelis 8a670ad49d Set the serviceDiscoveryEnabled flag
This allows the e2e tests to complete successfully.

Signed-off-by: Stephen Kitt <skitt@redhat.com>
2020-12-17 08:21:41 -05:00
24 changed files with 1472 additions and 209 deletions
+2 -8
View File
@@ -1,8 +1,2 @@
--- Periodic link aliveness CI detected a broken link. Please see the [periodic job
name: Broken link detected by CI results](https://github.com/submariner-io/submariner-charts/actions?query=workflow%3APeriodic) for details.
labels: bug
---
<!-- Used by automation to raise an Issue when the periodic link aliveness tests detect a broken link. -->
Periodic link aliveness CI detected a broken link. Please see the job results for details.
+6 -13
View File
@@ -11,24 +11,17 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
fail-fast: false fail-fast: false
matrix:
globalnet: ['', 'globalnet']
steps: steps:
- name: Check out the repository - name: Check out the repository
uses: actions/checkout@v2 uses: actions/checkout@v2
- name: Reclaim free space
run: |
sudo swapoff -a
sudo rm -f /swapfile
df -h
free -h
- name: Run E2E deployment and tests - name: Run E2E deployment and tests
run: | uses: submariner-io/shipyard/gh-actions/e2e@devel
make e2e with:
globalnet: ${{ matrix.globalnet }}
- name: Post mortem - name: Post mortem
if: failure() if: failure()
run: | uses: submariner-io/shipyard/gh-actions/post-mortem@devel
df -h
free -h
make post-mortem
+13 -4
View File
@@ -19,6 +19,17 @@ jobs:
with: with:
commits: ${{ steps.get-pr-commits.outputs.commits }} commits: ${{ steps.get-pr-commits.outputs.commits }}
gitlint:
name: Commit Message(s)
runs-on: ubuntu-latest
steps:
- name: Check out the repository
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Run gitlint
run: make gitlint
markdown-link-check: markdown-link-check:
name: Markdown Links (modified files) name: Markdown Links (modified files)
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -31,6 +42,7 @@ jobs:
with: with:
config-file: ".markdownlinkcheck.json" config-file: ".markdownlinkcheck.json"
check-modified-files-only: "yes" check-modified-files-only: "yes"
base-branch: ${{ github.base_ref }}
markdownlint: markdownlint:
name: Markdown name: Markdown
@@ -39,10 +51,7 @@ jobs:
- name: Check out the repository - name: Check out the repository
uses: actions/checkout@v2 uses: actions/checkout@v2
- name: Run markdownlint - name: Run markdownlint
uses: nosborn/github-action-markdown-cli@v1.1.1 run: make markdownlint
with:
files: .
config_file: ".markdownlint.yml"
yaml-lint: yaml-lint:
name: YAML name: YAML
+4 -4
View File
@@ -20,8 +20,8 @@ jobs:
- name: Raise an Issue to report broken links - name: Raise an Issue to report broken links
if: ${{ failure() }} if: ${{ failure() }}
uses: JasonEtco/create-an-issue@v2 uses: peter-evans/create-issue-from-file@v2.3.2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
filename: .github/ISSUE_TEMPLATE/broken-link.md title: Broken link detected by CI
content-filepath: .github/ISSUE_TEMPLATE/broken-link.md
labels: automated, broken link
+1 -1
View File
@@ -4,7 +4,7 @@ name: Release Charts
on: on:
push: push:
branches: branches:
- master - devel
jobs: jobs:
release: release:
+2
View File
@@ -1,2 +1,4 @@
.dapper
.idea .idea
.shflags
*.tgz *.tgz
+9
View File
@@ -0,0 +1,9 @@
[general]
# body-is-missing: Allow commit messages with only a title
# body-min-length: Allow short body lines, like "Relates-to: #issue"
ignore=body-is-missing,body-min-length
[ignore-by-body]
# Dependabot doesn't follow our conventions, unfortunately
regex=^Signed-off-by: dependabot\[bot\](.*)
ignore=all
+1 -1
View File
@@ -1,3 +1,3 @@
# Code of Conduct # Code of Conduct
Please see the [Code of Conduct docs on Submariner's website](https://submariner.io/contributing/code-of-conduct/). Please see the [Code of Conduct docs on Submariner's website](https://submariner.io/community/code-of-conduct/).
+1 -1
View File
@@ -1,3 +1,3 @@
# Contributing # Contributing
Please see the [Contributing docs on Submariner's website](https://submariner.io/for_developers/). Please see the [Development docs on Submariner's website](https://submariner.io/development/).
+155
View File
@@ -720,3 +720,158 @@ status:
plural: "" plural: ""
conditions: [] conditions: []
storedVersions: [] storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.3.0
creationTimestamp: null
name: servicediscoveries.submariner.io
spec:
group: submariner.io
names:
kind: ServiceDiscovery
listKind: ServiceDiscoveryList
plural: servicediscoveries
singular: servicediscovery
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: ServiceDiscovery is the Schema for the servicediscoveries 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: ServiceDiscoverySpec defines the desired state of ServiceDiscovery
properties:
brokerK8sApiServer:
type: string
brokerK8sApiServerToken:
type: string
brokerK8sCA:
type: string
brokerK8sRemoteNamespace:
type: string
clusterID:
type: string
customDomains:
items:
type: string
type: array
x-kubernetes-list-type: set
debug:
type: boolean
globalnetEnabled:
type: boolean
imageOverrides:
additionalProperties:
type: string
type: object
namespace:
type: string
repository:
type: string
version:
type: string
required:
- brokerK8sApiServer
- brokerK8sApiServerToken
- brokerK8sCA
- brokerK8sRemoteNamespace
- clusterID
- debug
- namespace
type: object
status:
description: ServiceDiscoveryStatus defines the observed state of ServiceDiscovery
type: object
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.3.0
creationTimestamp: null
name: brokers.submariner.io
spec:
group: submariner.io
names:
kind: Broker
listKind: BrokerList
plural: brokers
singular: broker
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: Broker is the Schema for the brokers 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: BrokerSpec defines the desired state of Broker
properties:
components:
items:
type: string
type: array
defaultCustomDomains:
items:
type: string
type: array
defaultGlobalnetClusterSize:
type: integer
globalnetCIDRRange:
type: string
globalnetEnabled:
type: boolean
type: object
status:
description: BrokerStatus defines the observed state of Broker
type: object
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
+7
View File
@@ -92,6 +92,13 @@ questions:
label: "Service CIDR" label: "Service CIDR"
group: "CIDR Configuration" group: "CIDR Configuration"
required: true required: true
- variable: submariner.globalCidr
default: ""
description: "Enter the globalnet CIDR (i.e. 169.254.1.0/24) for this cluster if using globalnet"
type: string
label: "Globalnet CIDR"
group: "CIDR Configuration"
required: false
- variable: submariner.natEnabled - variable: submariner.natEnabled
type: boolean type: boolean
default: false default: false
+19 -8
View File
@@ -47,7 +47,7 @@ Create the name of the submariner-engine service account to use
*/}} */}}
{{- define "submariner.engineServiceAccountName" -}} {{- define "submariner.engineServiceAccountName" -}}
{{- if .Values.serviceAccounts.engine.create -}} {{- if .Values.serviceAccounts.engine.create -}}
{{ default (printf "%s-engine" (include "submariner.fullname" .)) .Values.serviceAccounts.engine.name }} {{ default "submariner-engine" .Values.serviceAccounts.engine.name }}
{{- else -}} {{- else -}}
{{ default "default" .Values.serviceAccounts.engine.name }} {{ default "default" .Values.serviceAccounts.engine.name }}
{{- end -}} {{- end -}}
@@ -58,7 +58,7 @@ Create the name of the submariner-route-agent service account to use
*/}} */}}
{{- define "submariner.routeAgentServiceAccountName" -}} {{- define "submariner.routeAgentServiceAccountName" -}}
{{- if .Values.serviceAccounts.routeAgent.create -}} {{- if .Values.serviceAccounts.routeAgent.create -}}
{{ default (printf "%s-routeagent" (include "submariner.fullname" .)) .Values.serviceAccounts.routeAgent.name }} {{ default "submariner-routeagent" .Values.serviceAccounts.routeAgent.name }}
{{- else -}} {{- else -}}
{{ default "default" .Values.serviceAccounts.routeAgent.name }} {{ default "default" .Values.serviceAccounts.routeAgent.name }}
{{- end -}} {{- end -}}
@@ -69,20 +69,31 @@ Create the name of the submariner-globalnet service account to use
*/}} */}}
{{- define "submariner.globalnetServiceAccountName" -}} {{- define "submariner.globalnetServiceAccountName" -}}
{{- if .Values.serviceAccounts.globalnet.create -}} {{- if .Values.serviceAccounts.globalnet.create -}}
{{ default (printf "%s-globalnet" (include "submariner.fullname" .)) .Values.serviceAccounts.globalnet.name }} {{ default "submariner-globalnet" .Values.serviceAccounts.globalnet.name }}
{{- else -}} {{- else -}}
{{ default "default" .Values.serviceAccounts.globalnet.name }} {{ default "default" .Values.serviceAccounts.globalnet.name }}
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}
{{/* {{/*
Create the name of the submariner-lighthouse service account to use Create the name of the submariner-lighthouse-agent service account to use
*/}} */}}
{{- define "submariner.lighthouseServiceAccountName" -}} {{- define "submariner.lighthouseAgentServiceAccountName" -}}
{{- if .Values.submariner.serviceDiscovery -}} {{- if and (.Values.submariner.serviceDiscovery ) (.Values.serviceAccounts.lighthouseAgent.create) -}}
{{ default (printf "%s-lighthouse" (include "submariner.fullname" .)) .Values.serviceAccounts.lighthouse.name }} {{ default "submariner-lighthouse-agent" .Values.serviceAccounts.lighthouseAgent.name }}
{{- else -}} {{- else -}}
{{ default "default" .Values.serviceAccounts.lighthouse.name }} {{ default "default" .Values.serviceAccounts.lighthouseAgent.name }}
{{- end -}}
{{- end -}}
{{/*
Create the name of the submariner-lighthouse-coredns service account to use
*/}}
{{- define "submariner.lighthouseCoreDnsServiceAccountName" -}}
{{- if and (.Values.submariner.serviceDiscovery ) (.Values.serviceAccounts.lighthouseCoreDns.create) -}}
{{ default "submariner-lighthouse-coredns" .Values.serviceAccounts.lighthouseCoreDns.name }}
{{- else -}}
{{ default "default" .Values.serviceAccounts.lighthouseCoreDns.name }}
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}
+574 -63
View File
@@ -77,7 +77,7 @@ metadata:
app: {{ template "submariner.name" . }} app: {{ template "submariner.name" . }}
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: {{ template "submariner.fullname" . }} name: {{ template "submariner.operatorServiceAccountName" . }}
roleRef: roleRef:
kind: Role kind: Role
name: {{ template "submariner.fullname" . }} name: {{ template "submariner.fullname" . }}
@@ -93,15 +93,75 @@ metadata:
chart: {{ template "submariner.chart" . }} chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }} app: {{ template "submariner.name" . }}
rules: rules:
- apiGroups: [""] - apiGroups:
resources: ["configmaps"] - ""
verbs: ["create", "get", "list", "watch", "patch", "update"] resources:
- apiGroups: ["submariner.io"] - pods
resources: ["clusters", "endpoints", "gateways"] - services
verbs: ["create", "get", "list", "watch", "patch", "update", "delete"] - services/finalizers
- apiGroups: [""] - endpoints
resources: ["events"] - persistentvolumeclaims
verbs: ["create", "patch"] - events
- configmaps
- secrets
verbs:
- '*'
- apiGroups:
- apps
resources:
- deployments
- daemonsets
- replicasets
- statefulsets
verbs:
- '*'
- apiGroups:
- monitoring.coreos.com
resources:
- servicemonitors
verbs:
- get
- create
- apiGroups:
- apps
resourceNames:
- submariner-operator
resources:
- deployments/finalizers
verbs:
- update
- apiGroups:
- ""
resources:
- pods
verbs:
- get
- apiGroups:
- apps
resources:
- replicasets
verbs:
- get
- apiGroups:
- submariner.io
resources:
- '*'
- servicediscoveries
verbs:
- '*'
- apiGroups:
- lighthouse.submariner.io
resources:
- '*'
- serviceexports
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
--- ---
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding kind: RoleBinding
@@ -118,7 +178,7 @@ roleRef:
name: {{ template "submariner.fullname" . }}:engine name: {{ template "submariner.fullname" . }}:engine
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: {{ template "submariner.operatorServiceAccountName" . }} name: {{ template "submariner.engineServiceAccountName" . }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
--- ---
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
@@ -131,12 +191,75 @@ metadata:
chart: {{ template "submariner.chart" . }} chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }} app: {{ template "submariner.name" . }}
rules: rules:
- apiGroups: ["submariner.io"] - apiGroups:
resources: ["clusters", "endpoints", "gateways"] - ""
verbs: ["create", "get", "list", "watch", "patch", "update"] resources:
- apiGroups: [""] - pods
resources: ["pods"] - services
verbs: ["get", "watch", "list"] - services/finalizers
- endpoints
- persistentvolumeclaims
- events
- configmaps
- secrets
verbs:
- '*'
- apiGroups:
- apps
resources:
- deployments
- daemonsets
- replicasets
- statefulsets
verbs:
- '*'
- apiGroups:
- monitoring.coreos.com
resources:
- servicemonitors
verbs:
- get
- create
- apiGroups:
- apps
resourceNames:
- submariner-operator
resources:
- deployments/finalizers
verbs:
- update
- apiGroups:
- ""
resources:
- pods
verbs:
- get
- apiGroups:
- apps
resources:
- replicasets
verbs:
- get
- apiGroups:
- submariner.io
resources:
- '*'
- servicediscoveries
verbs:
- '*'
- apiGroups:
- lighthouse.submariner.io
resources:
- '*'
- serviceexports
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
--- ---
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding kind: RoleBinding
@@ -153,9 +276,109 @@ roleRef:
name: {{ template "submariner.fullname" . }}:routeagent name: {{ template "submariner.fullname" . }}:routeagent
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: {{ template "submariner.operatorServiceAccountName" . }} name: {{ template "submariner.routeAgentServiceAccountName" . }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
--- ---
{{- if ne .Values.submariner.globalCidr "" }}
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: {{ template "submariner.fullname" . }}:globalnet
labels:
heritage: {{ .Release.Service | quote }}
release: {{ .Release.Name | quote }}
chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }}
rules:
- apiGroups:
- ""
resources:
- pods
- services
- services/finalizers
- endpoints
- persistentvolumeclaims
- events
- configmaps
- secrets
verbs:
- '*'
- apiGroups:
- apps
resources:
- deployments
- daemonsets
- replicasets
- statefulsets
verbs:
- '*'
- apiGroups:
- monitoring.coreos.com
resources:
- servicemonitors
verbs:
- get
- create
- apiGroups:
- apps
resourceNames:
- submariner-operator
resources:
- deployments/finalizers
verbs:
- update
- apiGroups:
- ""
resources:
- pods
verbs:
- get
- apiGroups:
- apps
resources:
- replicasets
verbs:
- get
- apiGroups:
- submariner.io
resources:
- '*'
- servicediscoveries
verbs:
- '*'
- apiGroups:
- lighthouse.submariner.io
resources:
- '*'
- serviceexports
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: {{ template "submariner.fullname" . }}:globalnet
labels:
heritage: {{ .Release.Service | quote }}
release: {{ .Release.Name | quote }}
chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: {{ template "submariner.fullname" . }}:globalnet
subjects:
- kind: ServiceAccount
name: {{ template "submariner.globalnetServiceAccountName" . }}
namespace: {{ .Release.Namespace }}
---
{{- end -}}
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole kind: ClusterRole
metadata: metadata:
@@ -169,24 +392,50 @@ rules:
# submariner-operator updates the config map of core-dns to forward requests to # submariner-operator updates the config map of core-dns to forward requests to
# clusterset.local to Lighthouse DNS, also looks at existing configmaps # clusterset.local to Lighthouse DNS, also looks at existing configmaps
# to figure out network settings # to figure out network settings
- apiGroups: [""] - apiGroups:
resources: ["configmaps"] - ""
verbs: ["get", "list", "watch", "update"] resources:
- apiGroups: ["apiextensions.k8s.io"] - configmaps
resources: ["customresourcedefinitions"] verbs:
verbs: ["get", "list", "create", "update", "delete"] - get
- apiGroups: [""] # pods and services are looked up to figure out network settings - list
resources: ["pods", "services"] - watch
verbs: ["get", "list", "watch"] - update
- apiGroups: ["operator.openshift.io"] - apiGroups:
resources: ["dnses"] - apiextensions.k8s.io
verbs: ["get", "list", "watch", "update"] resources:
- apiGroups: ["config.openshift.io"] - customresourcedefinitions
resources: ["networks"] verbs:
verbs: ["get", "list"] - get
- apiGroups: ["multicluster.x-k8s.io"] - list
resources: ["*"] - create
verbs: ["create", "get", "list", "watch", "update", "delete"] - update
- delete
- apiGroups: # pods and services are looked up to figure out network settings
- ""
resources:
- pods
- services
verbs:
- get
- list
- watch
- apiGroups:
- operator.openshift.io
resources:
- dnses
verbs:
- get
- list
- watch
- update
- apiGroups:
- config.openshift.io
resources:
- networks
verbs:
- get
- list
--- ---
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding kind: ClusterRoleBinding
@@ -208,6 +457,91 @@ roleRef:
--- ---
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole kind: ClusterRole
metadata:
name: {{ template "submariner.fullname" . }}:engine
labels:
heritage: {{ .Release.Service | quote }}
release: {{ .Release.Name | quote }}
chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }}
rules:
- apiGroups:
- ""
resources:
- configmaps
verbs:
- get
- list
- watch
- create
- update
- apiGroups:
- apiextensions.k8s.io
resources:
- customresourcedefinitions
verbs:
- get
- list
- create
- update
- delete
- apiGroups: # pods and services are looked up to figure out network settings
- ""
resources:
- pods
- services
- nodes
verbs:
- get
- list
- watch
- apiGroups:
- operator.openshift.io
resources:
- dnses
verbs:
- get
- list
- watch
- update
- apiGroups:
- config.openshift.io
resources:
- networks
verbs:
- get
- list
- apiGroups:
- submariner.io
resources:
- endpoints
- gateways
- clusters
verbs:
- get
- list
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: {{ template "submariner.fullname" . }}:engine
labels:
heritage: {{ .Release.Service | quote }}
release: {{ .Release.Name | quote }}
chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: {{ template "submariner.fullname" . }}:engine
subjects:
- kind: ServiceAccount
name: {{ template "submariner.engineServiceAccountName" . }}
namespace: {{ .Release.Namespace }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata: metadata:
name: {{ template "submariner.fullname" . }}:routeagent name: {{ template "submariner.fullname" . }}:routeagent
labels: labels:
@@ -216,9 +550,59 @@ metadata:
chart: {{ template "submariner.chart" . }} chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }} app: {{ template "submariner.name" . }}
rules: rules:
- apiGroups: [""] - apiGroups:
resources: ["nodes"] - ""
verbs: ["get", "update"] resources:
- configmaps
verbs:
- get
- list
- watch
- update
- apiGroups:
- apiextensions.k8s.io
resources:
- customresourcedefinitions
verbs:
- get
- list
- create
- update
- delete
- apiGroups: # pods and services are looked up to figure out network settings
- ""
resources:
- pods
- services
verbs:
- get
- list
- watch
- apiGroups:
- operator.openshift.io
resources:
- dnses
verbs:
- get
- list
- watch
- update
- apiGroups:
- config.openshift.io
resources:
- networks
verbs:
- get
- list
- apiGroups:
- ""
verbs:
- get
- list
- watch
- update
resources:
- nodes
--- ---
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding kind: ClusterRoleBinding
@@ -235,9 +619,10 @@ roleRef:
name: {{ template "submariner.fullname" . }}:routeagent name: {{ template "submariner.fullname" . }}:routeagent
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: {{ template "submariner.operatorServiceAccountName" . }} name: {{ template "submariner.routeAgentServiceAccountName" . }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
--- ---
{{- if ne .Values.submariner.globalCidr "" }}
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole kind: ClusterRole
metadata: metadata:
@@ -248,13 +633,37 @@ metadata:
chart: {{ template "submariner.chart" . }} chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }} app: {{ template "submariner.name" . }}
rules: rules:
- apiGroups: [""] - apiGroups:
resources: ["services", "namespaces", "pods", "nodes"] - ""
verbs: ["get", "list", "watch", "update"] resources:
- apiGroups: ["submariner.io"] - pods
resources: ["clusters", "endpoints", "gateways"] - services
verbs: ["get", "list", "watch"] - namespaces
- nodes
verbs:
- get
- list
- watch
- update
- apiGroups:
- submariner.io
resources:
- endpoints
- clusters
verbs:
- get
- list
- watch
- apiGroups:
- multicluster.x-k8s.io
resources:
- "serviceexports"
verbs:
- get
- list
- watch
--- ---
{{- end -}}
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding kind: ClusterRoleBinding
metadata: metadata:
@@ -270,37 +679,67 @@ roleRef:
name: {{ template "submariner.fullname" . }}:globalnet name: {{ template "submariner.fullname" . }}:globalnet
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: {{ template "submariner.operatorServiceAccountName" . }} name: {{ template "submariner.globalnetServiceAccountName" . }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
--- ---
{{- if .Values.submariner.serviceDiscovery }} {{- if .Values.submariner.serviceDiscovery }}
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole kind: ClusterRole
metadata: metadata:
name: {{ template "submariner.fullname" . }}:lighthouse name: {{ template "submariner.fullname" . }}:lighthouse-agent
labels: labels:
heritage: {{ .Release.Service | quote }} heritage: {{ .Release.Service | quote }}
release: {{ .Release.Name | quote }} release: {{ .Release.Name | quote }}
chart: {{ template "submariner.chart" . }} chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }} app: {{ template "submariner.name" . }}
rules: rules:
- apiGroups: [""] - apiGroups:
resources: ["services", "namespaces", "configmaps", "endpoints"] - ""
verbs: ["get", "list", "watch", "update"] resources:
- apiGroups: ["discovery.k8s.io"] - services
resources: ["endpointslices"] - namespaces
verbs: ["create", "get", "list", "watch", "update", "delete"] - endpoints
- apiGroups: ["lighthouse.submariner.io"] verbs:
resources: ["*"] - get
verbs: ["create", "get", "list", "watch", "update", "delete"] - list
- apiGroups: ["submariner.io"] - watch
resources: ["gateways"] - update
verbs: ["get", "list", "watch"] - apiGroups:
- discovery.k8s.io
resources:
- endpointslices
verbs:
- create
- get
- list
- watch
- update
- delete
- deletecollection
- apiGroups:
- submariner.io
resources:
- "gateways"
verbs:
- get
- list
- watch
- apiGroups:
- multicluster.x-k8s.io
resources:
- "*"
verbs:
- create
- get
- list
- watch
- update
- delete
--- ---
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding kind: ClusterRoleBinding
metadata: metadata:
name: {{ template "submariner.fullname" . }}:lighthouse name: {{ template "submariner.fullname" . }}:lighthouse-agent
labels: labels:
heritage: {{ .Release.Service | quote }} heritage: {{ .Release.Service | quote }}
release: {{ .Release.Name | quote }} release: {{ .Release.Name | quote }}
@@ -309,10 +748,82 @@ metadata:
roleRef: roleRef:
apiGroup: rbac.authorization.k8s.io apiGroup: rbac.authorization.k8s.io
kind: ClusterRole kind: ClusterRole
name: {{ template "submariner.fullname" . }}:lighthouse name: {{ template "submariner.fullname" . }}:lighthouse-agent
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: {{ template "submariner.operatorServiceAccountName" . }} name: {{ template "submariner.lighthouseAgentServiceAccountName" . }}
namespace: {{ .Release.Namespace }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ template "submariner.fullname" . }}:lighthouse-coredns
rules:
- apiGroups:
- ""
resources:
- services
- namespaces
- endpoints
verbs:
- get
- list
- watch
- update
- apiGroups:
- discovery.k8s.io
resources:
- endpointslices
verbs:
- create
- get
- list
- watch
- update
- delete
- deletecollection
- apiGroups:
- lighthouse.submariner.io
resources:
- "*"
verbs:
- create
- get
- list
- watch
- update
- delete
- apiGroups:
- submariner.io
resources:
- "gateways"
verbs:
- get
- list
- watch
- apiGroups:
- multicluster.x-k8s.io
resources:
- "*"
verbs:
- create
- get
- list
- watch
- update
- delete
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: {{ template "submariner.fullname" . }}:lighthouse-coredns
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: {{ template "submariner.fullname" . }}:lighthouse-coredns
subjects:
- kind: ServiceAccount
name: {{ template "submariner.lighthouseCoreDnsServiceAccountName" . }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}
@@ -22,3 +22,5 @@ spec:
repository: {{ .Values.submariner.images.repository }} repository: {{ .Values.submariner.images.repository }}
version: {{ .Values.submariner.images.tag }} version: {{ .Values.submariner.images.tag }}
serviceCIDR: "{{ .Values.submariner.serviceCidr }}" serviceCIDR: "{{ .Values.submariner.serviceCidr }}"
globalCIDR: "{{ .Values.submariner.globalCidr }}"
serviceDiscoveryEnabled: {{ .Values.submariner.serviceDiscovery }}
+14 -2
View File
@@ -46,14 +46,26 @@ metadata:
app: {{ template "submariner.name" . }} app: {{ template "submariner.name" . }}
{{- end }} {{- end }}
--- ---
{{- if .Values.serviceAccounts.lighthouse.create }} {{- if .Values.serviceAccounts.lighthouseAgent.create }}
apiVersion: v1 apiVersion: v1
kind: ServiceAccount kind: ServiceAccount
metadata: metadata:
name: {{ template "submariner.lighthouseServiceAccountName" . }} name: {{ template "submariner.lighthouseAgentServiceAccountName" . }}
labels: labels:
heritage: {{ .Release.Service | quote }} heritage: {{ .Release.Service | quote }}
release: {{ .Release.Name | quote }} release: {{ .Release.Name | quote }}
chart: {{ template "submariner.chart" . }} chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }} app: {{ template "submariner.name" . }}
{{- end }} {{- end }}
---
{{- if .Values.serviceAccounts.lighthouseCoreDns.create }}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ template "submariner.lighthouseCoreDnsServiceAccountName" . }}
labels:
heritage: {{ .Release.Service | quote }}
release: {{ .Release.Name | quote }}
chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }}
{{- end }}
+5 -2
View File
@@ -54,6 +54,9 @@ serviceAccounts:
globalnet: globalnet:
create: true create: true
name: "" name: ""
lighthouse: lighthouseAgent:
create: false create: true
name: ""
lighthouseCoreDns:
create: true
name: "" name: ""
+19 -8
View File
@@ -36,7 +36,7 @@ Create the name of the submariner-engine service account to use
*/}} */}}
{{- define "submariner.engineServiceAccountName" -}} {{- define "submariner.engineServiceAccountName" -}}
{{- if .Values.serviceAccounts.engine.create -}} {{- if .Values.serviceAccounts.engine.create -}}
{{ default (printf "%s-engine" (include "submariner.fullname" .)) .Values.serviceAccounts.engine.name }} {{ default "submariner-engine" .Values.serviceAccounts.engine.name }}
{{- else -}} {{- else -}}
{{ default "default" .Values.serviceAccounts.engine.name }} {{ default "default" .Values.serviceAccounts.engine.name }}
{{- end -}} {{- end -}}
@@ -47,7 +47,7 @@ Create the name of the submariner-route-agent service account to use
*/}} */}}
{{- define "submariner.routeAgentServiceAccountName" -}} {{- define "submariner.routeAgentServiceAccountName" -}}
{{- if .Values.serviceAccounts.routeAgent.create -}} {{- if .Values.serviceAccounts.routeAgent.create -}}
{{ default (printf "%s-routeagent" (include "submariner.fullname" .)) .Values.serviceAccounts.routeAgent.name }} {{ default "submariner-routeagent" .Values.serviceAccounts.routeAgent.name }}
{{- else -}} {{- else -}}
{{ default "default" .Values.serviceAccounts.routeAgent.name }} {{ default "default" .Values.serviceAccounts.routeAgent.name }}
{{- end -}} {{- end -}}
@@ -58,20 +58,31 @@ Create the name of the submariner-globalnet service account to use
*/}} */}}
{{- define "submariner.globalnetServiceAccountName" -}} {{- define "submariner.globalnetServiceAccountName" -}}
{{- if .Values.serviceAccounts.globalnet.create -}} {{- if .Values.serviceAccounts.globalnet.create -}}
{{ default (printf "%s-globalnet" (include "submariner.fullname" .)) .Values.serviceAccounts.globalnet.name }} {{ default "submariner-globalnet" .Values.serviceAccounts.globalnet.name }}
{{- else -}} {{- else -}}
{{ default "default" .Values.serviceAccounts.globalnet.name }} {{ default "default" .Values.serviceAccounts.globalnet.name }}
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}
{{/* {{/*
Create the name of the submariner-lighthouse service account to use Create the name of the submariner-lighthouse-agent service account to use
*/}} */}}
{{- define "submariner.lighthouseServiceAccountName" -}} {{- define "submariner.lighthouseAgentServiceAccountName" -}}
{{- if .Values.submariner.serviceDiscovery -}} {{- if and (.Values.submariner.serviceDiscovery ) (.Values.serviceAccounts.lighthouseAgent.create) -}}
{{ default (printf "%s-lighthouse" (include "submariner.fullname" .)) .Values.serviceAccounts.lighthouse.name }} {{ default "submariner-lighthouse-agent" .Values.serviceAccounts.lighthouseAgent.name }}
{{- else -}} {{- else -}}
{{ default "default" .Values.serviceAccounts.lighthouse.name }} {{ default "default" .Values.serviceAccounts.lighthouseAgent.name }}
{{- end -}}
{{- end -}}
{{/*
Create the name of the submariner-lighthouse-coredns service account to use
*/}}
{{- define "submariner.lighthouseCoreDnsServiceAccountName" -}}
{{- if and (.Values.submariner.serviceDiscovery ) (.Values.serviceAccounts.lighthouseCoreDns.create) -}}
{{ default "submariner-lighthouse-coredns" .Values.serviceAccounts.lighthouseCoreDns.name }}
{{- else -}}
{{ default "default" .Values.serviceAccounts.lighthouseCoreDns.name }}
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}
+4
View File
@@ -108,6 +108,10 @@ spec:
value: "{{ .Values.leadership.renewDeadline }}" value: "{{ .Values.leadership.renewDeadline }}"
- name: LEADERSHIP_RETRYPERIOD - name: LEADERSHIP_RETRYPERIOD
value: "{{ .Values.leadership.retryPeriod }}" value: "{{ .Values.leadership.retryPeriod }}"
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: "spec.nodeName"
image: {{ .Values.engine.image.repository }}:{{ default .Chart.AppVersion .Values.engine.image.tag }} image: {{ .Values.engine.image.repository }}:{{ default .Chart.AppVersion .Values.engine.image.tag }}
imagePullPolicy: {{ .Values.engine.image.pullPolicy }} imagePullPolicy: {{ .Values.engine.image.pullPolicy }}
name: submariner name: submariner
+27 -23
View File
@@ -29,29 +29,33 @@ spec:
nodeSelector: nodeSelector:
submariner.io/gateway: 'true' submariner.io/gateway: 'true'
containers: containers:
- name: {{ template "submariner.fullname" . }}-globalnet - name: {{ template "submariner.fullname" . }}-globalnet
image: {{ .Values.globalnet.image.repository }}:{{ default .Chart.AppVersion .Values.globalnet.image.tag }} image: {{ .Values.globalnet.image.repository }}:{{ default .Chart.AppVersion .Values.globalnet.image.tag }}
imagePullPolicy: {{ .Values.globalnet.image.pullPolicy }} imagePullPolicy: {{ .Values.globalnet.image.pullPolicy }}
env: env:
- name: SUBMARINER_CLUSTERID - name: SUBMARINER_CLUSTERID
value: '{{ .Values.submariner.clusterId }}' value: '{{ .Values.submariner.clusterId }}'
- name: SUBMARINER_EXCLUDENS - name: SUBMARINER_EXCLUDENS
value: 'submariner-operator,kube-system,operators,openshift-monitoring,openshift-dns' value: 'submariner-operator,kube-system,operators,openshift-monitoring,openshift-dns'
- name: SUBMARINER_NAMESPACE - name: SUBMARINER_NAMESPACE
value: '{{ .Release.Namespace }}' value: '{{ .Release.Namespace }}'
securityContext: - name: NODE_NAME
allowPrivilegeEscalation: true valueFrom:
capabilities: fieldRef:
add: fieldPath: "spec.nodeName"
- ALL securityContext:
privileged: true allowPrivilegeEscalation: true
readOnlyRootFilesystem: false capabilities:
runAsNonRoot: false add:
volumeMounts: - ALL
# Because we don't actually run iptables locally, but chroot in to the host privileged: true
- mountPath: /host readOnlyRootFilesystem: false
name: host-slash runAsNonRoot: false
readOnly: true volumeMounts:
# Because we don't actually run iptables locally, but chroot in to the host
- mountPath: /host
name: host-slash
readOnly: true
volumes: volumes:
- name: host-slash - name: host-slash
hostPath: hostPath:
+1 -1
View File
@@ -30,7 +30,7 @@ spec:
- mountPath: /etc/coredns - mountPath: /etc/coredns
name: config-volume name: config-volume
readOnly: true readOnly: true
serviceAccountName: {{ template "submariner.lighthouseServiceAccountName" . }} serviceAccountName: {{ template "submariner.lighthouseCoreDnsServiceAccountName" . }}
volumes: volumes:
- configMap: - configMap:
defaultMode: 420 defaultMode: 420
+1 -1
View File
@@ -19,7 +19,7 @@ spec:
labels: labels:
app: {{ template "submariner.fullname" . }}-lighthouse-agent app: {{ template "submariner.fullname" . }}-lighthouse-agent
spec: spec:
serviceAccountName: {{ template "submariner.lighthouseServiceAccountName" . }} serviceAccountName: {{ template "submariner.lighthouseAgentServiceAccountName" . }}
containers: containers:
- command: - command:
- lighthouse-agent.sh - lighthouse-agent.sh
+584 -63
View File
@@ -9,15 +9,93 @@ metadata:
chart: {{ template "submariner.chart" . }} chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }} app: {{ template "submariner.name" . }}
rules: rules:
- apiGroups: [""] - apiGroups:
resources: ["configmaps"] - ""
verbs: ["create", "get", "list", "watch", "patch", "update"] resources:
- apiGroups: ["submariner.io"] - pods
resources: ["clusters", "endpoints", "gateways"] - services
verbs: ["create", "get", "list", "watch", "patch", "update", "delete"] - services/finalizers
- apiGroups: [""] - endpoints
resources: ["events"] - persistentvolumeclaims
verbs: ["create", "patch"] - events
- configmaps
- secrets
verbs:
- '*'
- apiGroups:
- apps
resources:
- deployments
- daemonsets
- replicasets
- statefulsets
verbs:
- '*'
- apiGroups:
- monitoring.coreos.com
resources:
- servicemonitors
verbs:
- get
- create
- apiGroups:
- apps
resourceNames:
- submariner-operator
resources:
- deployments/finalizers
verbs:
- update
- apiGroups:
- ""
resources:
- pods
verbs:
- get
- apiGroups:
- apps
resources:
- replicasets
verbs:
- get
- apiGroups:
- submariner.io
resources:
- '*'
- servicediscoveries
verbs:
- '*'
- apiGroups:
- lighthouse.submariner.io
resources:
- '*'
- serviceexports
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: {{ template "submariner.fullname" . }}:engine
labels:
heritage: {{ .Release.Service | quote }}
release: {{ .Release.Name | quote }}
chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: {{ template "submariner.fullname" . }}:engine
subjects:
- kind: ServiceAccount
name: {{ template "submariner.engineServiceAccountName" . }}
namespace: {{ .Release.Namespace }}
--- ---
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: Role kind: Role
@@ -29,52 +107,353 @@ metadata:
chart: {{ template "submariner.chart" . }} chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }} app: {{ template "submariner.name" . }}
rules: rules:
- apiGroups: ["submariner.io"] - apiGroups:
resources: ["clusters", "endpoints", "gateways"] - ""
verbs: ["create", "get", "list", "watch", "patch", "update"] resources:
- apiGroups: [""] - pods
resources: ["pods"] - services
verbs: ["get", "watch", "list"] - services/finalizers
--- - endpoints
apiVersion: rbac.authorization.k8s.io/v1 - persistentvolumeclaims
kind: RoleBinding - events
metadata: - configmaps
name: {{ template "submariner.fullname" . }}:engine - secrets
roleRef: verbs:
apiGroup: rbac.authorization.k8s.io - '*'
kind: Role - apiGroups:
name: {{ template "submariner.fullname" . }}:engine - apps
subjects: resources:
- kind: ServiceAccount - deployments
name: {{ template "submariner.engineServiceAccountName" . }} - daemonsets
namespace: {{ .Release.Namespace }} - replicasets
- statefulsets
verbs:
- '*'
- apiGroups:
- monitoring.coreos.com
resources:
- servicemonitors
verbs:
- get
- create
- apiGroups:
- apps
resourceNames:
- submariner-operator
resources:
- deployments/finalizers
verbs:
- update
- apiGroups:
- ""
resources:
- pods
verbs:
- get
- apiGroups:
- apps
resources:
- replicasets
verbs:
- get
- apiGroups:
- submariner.io
resources:
- '*'
- servicediscoveries
verbs:
- '*'
- apiGroups:
- lighthouse.submariner.io
resources:
- '*'
- serviceexports
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
--- ---
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding kind: RoleBinding
metadata: metadata:
name: {{ template "submariner.fullname" . }}:routeagent name: {{ template "submariner.fullname" . }}:routeagent
labels:
heritage: {{ .Release.Service | quote }}
release: {{ .Release.Name | quote }}
chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }}
roleRef: roleRef:
apiGroup: rbac.authorization.k8s.io apiGroup: rbac.authorization.k8s.io
kind: Role kind: Role
name: {{ template "submariner.fullname" . }}:routeagent name: {{ template "submariner.fullname" . }}:routeagent
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: {{ template "submariner.routeAgentServiceAccountName" . }} name: {{ template "submariner.routeAgentServiceAccountName" . }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
---
{{- if ne .Values.submariner.globalCidr "" }}
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: {{ template "submariner.fullname" . }}:globalnet
labels:
heritage: {{ .Release.Service | quote }}
release: {{ .Release.Name | quote }}
chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }}
rules:
- apiGroups:
- ""
resources:
- pods
- services
- services/finalizers
- endpoints
- persistentvolumeclaims
- events
- configmaps
- secrets
verbs:
- '*'
- apiGroups:
- apps
resources:
- deployments
- daemonsets
- replicasets
- statefulsets
verbs:
- '*'
- apiGroups:
- monitoring.coreos.com
resources:
- servicemonitors
verbs:
- get
- create
- apiGroups:
- apps
resourceNames:
- submariner-operator
resources:
- deployments/finalizers
verbs:
- update
- apiGroups:
- ""
resources:
- pods
verbs:
- get
- apiGroups:
- apps
resources:
- replicasets
verbs:
- get
- apiGroups:
- submariner.io
resources:
- '*'
- servicediscoveries
verbs:
- '*'
- apiGroups:
- lighthouse.submariner.io
resources:
- '*'
- serviceexports
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: {{ template "submariner.fullname" . }}:globalnet
labels:
heritage: {{ .Release.Service | quote }}
release: {{ .Release.Name | quote }}
chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: {{ template "submariner.fullname" . }}:globalnet
subjects:
- kind: ServiceAccount
name: {{ template "submariner.globalnetServiceAccountName" . }}
namespace: {{ .Release.Namespace }}
---
{{- end -}}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ template "submariner.fullname" . }}:engine
labels:
heritage: {{ .Release.Service | quote }}
release: {{ .Release.Name | quote }}
chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }}
rules:
- apiGroups:
- ""
resources:
- configmaps
verbs:
- get
- list
- watch
- create
- update
- apiGroups:
- apiextensions.k8s.io
resources:
- customresourcedefinitions
verbs:
- get
- list
- create
- update
- delete
- apiGroups: # pods and services are looked up to figure out network settings
- ""
resources:
- pods
- services
- nodes
verbs:
- get
- list
- watch
- apiGroups:
- operator.openshift.io
resources:
- dnses
verbs:
- get
- list
- watch
- update
- apiGroups:
- config.openshift.io
resources:
- networks
verbs:
- get
- list
- apiGroups:
- submariner.io
resources:
- endpoints
- gateways
- clusters
verbs:
- get
- list
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: {{ template "submariner.fullname" . }}:engine
labels:
heritage: {{ .Release.Service | quote }}
release: {{ .Release.Name | quote }}
chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: {{ template "submariner.fullname" . }}:engine
subjects:
- kind: ServiceAccount
name: {{ template "submariner.engineServiceAccountName" . }}
namespace: {{ .Release.Namespace }}
--- ---
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole kind: ClusterRole
metadata: metadata:
name: {{ template "submariner.fullname" . }}:routeagent name: {{ template "submariner.fullname" . }}:routeagent
labels:
heritage: {{ .Release.Service | quote }}
release: {{ .Release.Name | quote }}
chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }}
rules: rules:
- apiGroups: [""] - apiGroups:
resources: ["nodes"] - ""
verbs: ["get", "list", "watch", "update"] resources:
- configmaps
verbs:
- get
- list
- watch
- update
- apiGroups:
- apiextensions.k8s.io
resources:
- customresourcedefinitions
verbs:
- get
- list
- create
- update
- delete
- apiGroups: # pods and services are looked up to figure out network settings
- ""
resources:
- pods
- services
verbs:
- get
- list
- watch
- apiGroups:
- operator.openshift.io
resources:
- dnses
verbs:
- get
- list
- watch
- update
- apiGroups:
- config.openshift.io
resources:
- networks
verbs:
- get
- list
- apiGroups:
- ""
verbs:
- get
- list
- watch
- update
resources:
- nodes
--- ---
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding kind: ClusterRoleBinding
metadata: metadata:
name: {{ template "submariner.fullname" . }}:routeagent name: {{ template "submariner.fullname" . }}:routeagent
labels:
heritage: {{ .Release.Service | quote }}
release: {{ .Release.Name | quote }}
chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }}
roleRef: roleRef:
apiGroup: rbac.authorization.k8s.io apiGroup: rbac.authorization.k8s.io
kind: ClusterRole kind: ClusterRole
@@ -89,61 +468,203 @@ apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole kind: ClusterRole
metadata: metadata:
name: {{ template "submariner.fullname" . }}:globalnet name: {{ template "submariner.fullname" . }}:globalnet
labels:
heritage: {{ .Release.Service | quote }}
release: {{ .Release.Name | quote }}
chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }}
rules: rules:
- apiGroups: [""] - apiGroups:
resources: ["services", "namespaces", "pods", "nodes"] - ""
verbs: ["get", "list", "watch", "update"] resources:
- apiGroups: ["submariner.io"] - pods
resources: ["clusters", "endpoints", "gateways"] - services
verbs: ["get", "list", "watch"] - namespaces
- nodes
verbs:
- get
- list
- watch
- update
- apiGroups:
- submariner.io
resources:
- endpoints
- clusters
verbs:
- get
- list
- watch
- apiGroups:
- multicluster.x-k8s.io
resources:
- "serviceexports"
verbs:
- get
- list
- watch
--- ---
{{- end -}}
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding kind: ClusterRoleBinding
metadata: metadata:
name: {{ template "submariner.fullname" . }}:globalnet name: {{ template "submariner.fullname" . }}:globalnet
labels:
heritage: {{ .Release.Service | quote }}
release: {{ .Release.Name | quote }}
chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }}
roleRef: roleRef:
apiGroup: rbac.authorization.k8s.io apiGroup: rbac.authorization.k8s.io
kind: ClusterRole kind: ClusterRole
name: {{ template "submariner.fullname" . }}:globalnet name: {{ template "submariner.fullname" . }}:globalnet
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: {{ template "submariner.globalnetServiceAccountName" . }} name: {{ template "submariner.globalnetServiceAccountName" . }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
--- ---
{{- end -}}
{{- if .Values.submariner.serviceDiscovery }} {{- if .Values.submariner.serviceDiscovery }}
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole kind: ClusterRole
metadata: metadata:
name: {{ template "submariner.fullname" . }}:lighthouse name: {{ template "submariner.fullname" . }}:lighthouse-agent
labels:
heritage: {{ .Release.Service | quote }}
release: {{ .Release.Name | quote }}
chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }}
rules: rules:
- apiGroups: [""] - apiGroups:
resources: ["services", "namespaces", "configmaps", "endpoints"] - ""
verbs: ["get", "list", "watch", "update"] resources:
- apiGroups: ["discovery.k8s.io"] - services
resources: ["endpointslices"] - namespaces
verbs: ["create", "get", "list", "watch", "update", "delete", "deletecollection"] - endpoints
- apiGroups: ["lighthouse.submariner.io"] verbs:
resources: ["*"] - get
verbs: ["create", "get", "list", "watch", "update", "delete"] - list
- apiGroups: ["submariner.io"] - watch
resources: ["gateways"] - update
verbs: ["get", "list", "watch"] - apiGroups:
- apiGroups: ["multicluster.x-k8s.io"] - discovery.k8s.io
resources: ["*"] resources:
verbs: ["create", "get", "list", "watch", "update", "delete"] - endpointslices
verbs:
- create
- get
- list
- watch
- update
- delete
- deletecollection
- apiGroups:
- submariner.io
resources:
- "gateways"
verbs:
- get
- list
- watch
- apiGroups:
- multicluster.x-k8s.io
resources:
- "*"
verbs:
- create
- get
- list
- watch
- update
- delete
--- ---
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding kind: ClusterRoleBinding
metadata: metadata:
name: {{ template "submariner.fullname" . }}:lighthouse name: {{ template "submariner.fullname" . }}:lighthouse-agent
labels:
heritage: {{ .Release.Service | quote }}
release: {{ .Release.Name | quote }}
chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }}
roleRef: roleRef:
apiGroup: rbac.authorization.k8s.io apiGroup: rbac.authorization.k8s.io
kind: ClusterRole kind: ClusterRole
name: {{ template "submariner.fullname" . }}:lighthouse name: {{ template "submariner.fullname" . }}:lighthouse-agent
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: {{ template "submariner.lighthouseServiceAccountName" . }} name: {{ template "submariner.lighthouseAgentServiceAccountName" . }}
namespace: {{ .Release.Namespace }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ template "submariner.fullname" . }}:lighthouse-coredns
rules:
- apiGroups:
- ""
resources:
- services
- namespaces
- endpoints
verbs:
- get
- list
- watch
- update
- apiGroups:
- discovery.k8s.io
resources:
- endpointslices
verbs:
- create
- get
- list
- watch
- update
- delete
- deletecollection
- apiGroups:
- lighthouse.submariner.io
resources:
- "*"
verbs:
- create
- get
- list
- watch
- update
- delete
- apiGroups:
- submariner.io
resources:
- "gateways"
verbs:
- get
- list
- watch
- apiGroups:
- multicluster.x-k8s.io
resources:
- "*"
verbs:
- create
- get
- list
- watch
- update
- delete
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: {{ template "submariner.fullname" . }}:lighthouse-coredns
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: {{ template "submariner.fullname" . }}:lighthouse-coredns
subjects:
- kind: ServiceAccount
name: {{ template "submariner.lighthouseCoreDnsServiceAccountName" . }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}
+14 -2
View File
@@ -34,14 +34,26 @@ metadata:
app: {{ template "submariner.name" . }} app: {{ template "submariner.name" . }}
{{- end }} {{- end }}
--- ---
{{- if .Values.serviceAccounts.lighthouse.create }} {{- if .Values.serviceAccounts.lighthouseAgent.create }}
apiVersion: v1 apiVersion: v1
kind: ServiceAccount kind: ServiceAccount
metadata: metadata:
name: {{ template "submariner.lighthouseServiceAccountName" . }} name: {{ template "submariner.lighthouseAgentServiceAccountName" . }}
labels: labels:
heritage: {{ .Release.Service | quote }} heritage: {{ .Release.Service | quote }}
release: {{ .Release.Name | quote }} release: {{ .Release.Name | quote }}
chart: {{ template "submariner.chart" . }} chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }} app: {{ template "submariner.name" . }}
{{- end }} {{- end }}
---
{{- if .Values.serviceAccounts.lighthouseCoreDns.create }}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ template "submariner.lighthouseCoreDnsServiceAccountName" . }}
labels:
heritage: {{ .Release.Service | quote }}
release: {{ .Release.Name | quote }}
chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }}
{{- end }}
+6 -3
View File
@@ -72,8 +72,11 @@ serviceAccounts:
create: true create: true
name: "" name: ""
globalnet: globalnet:
create: false create: true
name: "" name: ""
lighthouse: lighthouseAgent:
create: false create: true
name: ""
lighthouseCoreDns:
create: true
name: "" name: ""