Compare commits

...
28 Commits
Author SHA1 Message Date
Stephen KittandThomas Pantelis 5ab8347f4f Bump to 0.11.1
Signed-off-by: Stephen Kitt <skitt@redhat.com>
2022-01-26 08:45:13 -05:00
Daniel FarrellandThomas Pantelis 3dd6eeb961 Update K8s in E2E, EOL 1.19 and add 1.23
Update the versions of Kubernetes tested in the E2E CI. Add 1.23 as the
new default for most tests, remove 1.19 as it is now EOL.

Signed-off-by: Daniel Farrell <dfarrell@redhat.com>
(cherry picked from commit b6590df91b)
2022-01-26 08:44:26 -05:00
Sridhar GaddamandThomas Pantelis 85bc80cbe4 Configure RBAC for Globalnet pods on OCP deployments
Globalnet controller now uses internal services with external-ips
to support exported services. On OCP Clusters, we require an explicit
RBAC to create services with external-ips, this PR includes the
necessary RBAC for Globalnet pods.

Related to: https://github.com/submariner-io/submariner/issues/1166
Signed-Off-by: Sridhar Gaddam <sgaddam@redhat.com>

(cherry picked from commit bf2c41115b)
2022-01-26 08:44:26 -05:00
NegashandThomas Pantelis cdc0e0e0c5 Fix coreDNSCustomConfig values
Signed-off-by: Negash <i@negash.ru>
(cherry picked from commit 9ba0123e72)
2022-01-26 08:44:26 -05:00
Sridhar GaddamandThomas Pantelis 6250b283fa Globalnet include ClusterRole for services
As part of Globalnet enhancement where kubeproxy dependency
is removed, the Globalnet Pod will now create internal
services for every exported service in the respective
namespace where the original service resides. This PR
adds the necessary clusterRole to allow Globalnet pod
to create/delete such internal services.

Related to: https://github.com/submariner-io/submariner/issues/1166
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
(cherry picked from commit b3a5e40a5a)
2022-01-26 08:44:26 -05:00
Stephen KittandThomas Pantelis ed33b07bd9 Add roles and privileges required for monitoring
This replicates the RBAC changes applied to the operator in
https://github.com/submariner-io/submariner-operator/pull/1416

Fixes: #191
Signed-off-by: Stephen Kitt <skitt@redhat.com>
(cherry picked from commit 9358c86eb5)
2022-01-26 08:44:26 -05:00
Masaki KimuraandThomas Pantelis f1410811d7 Allow submariner-globalnet role to handle endpoints
Signed-off-by: Masaki Kimura <masaki.kimura@hitachivantara.com>
(cherry picked from commit 5da180d44f)
2022-01-26 08:44:26 -05:00
Stephen KittandThomas Pantelis 648dbeacb3 Add dfarrell07 as *.md code owner
See <https://github.com/submariner-io/submariner/issues/1622>.

Signed-off-by: Stephen Kitt <skitt@redhat.com>
(cherry picked from commit 7068abafc8)
2022-01-26 08:44:26 -05:00
Stephen KittandThomas Pantelis 2a4213f768 Update all CRDs to v1 CRDs
... and drop the obsolete Lighthouse CRDs.

Fixes: #186
Signed-off-by: Stephen Kitt <skitt@redhat.com>
(cherry picked from commit 2cfbd5c394)
2022-01-26 08:44:26 -05:00
Stephen KittandThomas Pantelis 0f97bc9c11 Pass the broker.insecure flag to the CR
Fixes: #185
Signed-off-by: Stephen Kitt <skitt@redhat.com>
(cherry picked from commit 42a2af008a)
2022-01-26 08:44:26 -05:00
Stephen KittandThomas Pantelis 36945da91c Remove mangelajo from CODEOWNERS
... with his approval.

Signed-off-by: Stephen Kitt <skitt@redhat.com>
(cherry picked from commit 1fbd3da4ae)
2022-01-26 08:44:26 -05:00
Stephen KittandThomas Pantelis dfc0280658 Update K8s versions: drop 1.17/1.18, add 1.21/1.22
1.17 and 1.18 have reached EOL.

Signed-off-by: Stephen Kitt <skitt@redhat.com>
(cherry picked from commit fc77796287)
2022-01-26 08:44:26 -05:00
Stephen KittandThomas Pantelis 12c3cbe928 Bump to 0.11.0
Signed-off-by: Stephen Kitt <skitt@redhat.com>
2021-10-28 08:26:13 -04:00
Vishal ThaparandStephen Kitt 06ce316138 Fix connectionHealthCheck
connectionHealthCheck in submariner CR is a nested field
but is being added as a variable. This means it is ignored
and the field isn't set correctly in gateway pods.

Signed-off-by: Vishal Thapar <5137689+vthapar@users.noreply.github.com>
2021-10-28 11:05:40 +02:00
Aswin SurayanarayananandThomas Pantelis 27eb25c8f6 Add RBAC permission endpointslices/restricted in broker roles
Fixes : github.com/submariner-io/lighthouse/issues#627

Signed-off-by: Aswin Surayanarayanan <asuryana@redhat.com>
2021-10-26 08:53:15 -04:00
5cc6ec47de Update submariner-operator/questions.yml
Co-authored-by: Sridhar Gaddam <sgaddam@redhat.com>
Signed-off-by: Victor  Godoy Hernández <vigohe@gmail.com>
2021-10-26 08:34:24 -04:00
Victor Godoy HernándezandThomas Pantelis 9fcea9930c Update Readme.md
Signed-off-by: Victor  Godoy Hernández <vigohe@gmail.com>
2021-10-26 08:34:24 -04:00
Victor Godoy HernándezandThomas Pantelis c1ce210c89 Add ceIPSecForceUDPEncaps & coreDNSCustomConfig variables
Signed-off-by: Victor  Godoy Hernández <vigohe@gmail.com>
2021-10-26 08:34:24 -04:00
Victor Godoy HernándezandThomas Pantelis 7d8bf6a3ac Add enable/disable connectionHealthCheck
Signed-off-by: Victor  Godoy Hernández <vigohe@gmail.com>
2021-10-26 08:34:24 -04:00
Victor Godoy HernándezandThomas Pantelis 4cf74cfc3b Bump up to 0.10.1
Signed-off-by: Victor  Godoy Hernández <vigohe@gmail.com>
2021-10-26 08:34:24 -04:00
Automated Release 14e85ad476 Update base image to use stable branch 'release-0.11'
Signed-off-by: Automated Release <release@submariner.io>
2021-10-20 07:36:16 +00:00
Vishal ThaparandStephen Kitt 6b7fed425a Add endpontslices/restricted to lighthouse-agent
Fixes: submariner-io/lighthouse#627

Signed-off-by: Vishal Thapar <5137689+vthapar@users.noreply.github.com>
2021-10-19 16:22:31 +02:00
Stephen KittandThomas Pantelis ea1df8ed54 Add Sridhar Gaddam as code owner
... since he is now a project administrator, as voted on the mailing list.

Signed-off-by: Stephen Kitt <skitt@redhat.com>
2021-10-01 12:32:51 -04:00
Daniel FarrellandThomas Pantelis 2788692ffc Update create-issue-from-file GHA 2.3.2 to 3.0.0
Signed-off-by: Daniel Farrell <dfarrell@redhat.com>
2021-09-14 08:00:47 -04:00
Daniel FarrellandThomas Pantelis 87390b6e5d Enable strict YAML linting
Fail yamllint on warnings, as we do with other repos.

Signed-off-by: Daniel Farrell <dfarrell@redhat.com>
2021-09-10 08:32:45 -04:00
Daniel FarrellandThomas Pantelis 47a7aec05d Update ibiqlik/action-yamllint GHA 1.0.0 to 3.0.4
Signed-off-by: Daniel Farrell <dfarrell@redhat.com>
2021-09-09 17:26:16 -04:00
Daniel FarrellandThomas Pantelis eea398da4e Use SHAs for GHA versions
Per GitHub's security guidelines, GHAs should be pinned using full
length commit SHAs instead of tags.

The SHAs are of the commits currently resolved by the versions.

Even "trusted" GHAs from GitHub developers are pinned because it's
possible their repo rights could be compromised and a malicious GHA
published. These core repos are not frequently substantially updated.

Submariner-internal GHAs are left pinned at devel because we want
automatic updates from Shipyard's shared tooling.

Signed-off-by: Daniel Farrell <dfarrell@redhat.com>
2021-08-24 08:18:22 -04:00
Daniel FarrellandDaniel Farrell 50489802e2 Don't run periodic PR dependency checks on forks
As we do with the Flake Finder and other periodic jobs, skip the checks
for PR dependencies on forks.

Signed-off-by: Daniel Farrell <dfarrell@redhat.com>
2021-08-09 16:39:00 -04:00
20 changed files with 1328 additions and 874 deletions
+3 -3
View File
@@ -6,9 +6,9 @@ on:
jobs: jobs:
target_devel: target_devel:
name: PR targets devel name: PR targets release-0.11
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Check that the PR targets devel - name: Check that the PR targets release-0.11
if: ${{ github.base_ref != 'devel' }} if: ${{ github.base_ref != 'release-0.11' }}
run: exit 1 run: exit 1
+2 -1
View File
@@ -22,6 +22,7 @@ on:
jobs: jobs:
check: check:
name: Check Dependencies name: Check Dependencies
if: github.repository_owner == 'submariner-io'
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: z0al/dependent-issues@70a1b2d4ee1cdc743af33498bd0204123953a887 - uses: z0al/dependent-issues@70a1b2d4ee1cdc743af33498bd0204123953a887
@@ -35,4 +36,4 @@ jobs:
check_issues: on check_issues: on
# A comma-separated list of keywords to mark dependency. # A comma-separated list of keywords to mark dependency.
keywords: depends on, Depends on keywords: depends on, Depends on
+6 -6
View File
@@ -16,22 +16,22 @@ jobs:
matrix: matrix:
cable_driver: ['libreswan', 'wireguard', 'vxlan'] cable_driver: ['libreswan', 'wireguard', 'vxlan']
globalnet: ['', 'globalnet'] globalnet: ['', 'globalnet']
k8s_version: ['1.17'] k8s_version: ['1.23']
lighthouse: ['', 'lighthouse'] lighthouse: ['', 'lighthouse']
include: include:
- k8s_version: '1.18'
- k8s_version: '1.19'
- k8s_version: '1.20' - k8s_version: '1.20'
- k8s_version: '1.21'
- k8s_version: '1.22'
steps: steps:
- name: Check out the repository - name: Check out the repository
uses: actions/checkout@v2 uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
- name: Run E2E deployment and tests - name: Run E2E deployment and tests
uses: submariner-io/shipyard/gh-actions/e2e@devel uses: submariner-io/shipyard/gh-actions/e2e@release-0.11
with: with:
k8s_version: ${{ matrix.k8s_version }} k8s_version: ${{ matrix.k8s_version }}
using: ${{ matrix.cable_driver }} ${{ matrix.globalnet }} ${{ matrix.lighthouse }} using: ${{ matrix.cable_driver }} ${{ matrix.globalnet }} ${{ matrix.lighthouse }}
- name: Post mortem - name: Post mortem
if: failure() if: failure()
uses: submariner-io/shipyard/gh-actions/post-mortem@devel uses: submariner-io/shipyard/gh-actions/post-mortem@release-0.11
+3 -3
View File
@@ -11,11 +11,11 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Check out the repository - name: Check out the repository
uses: actions/checkout@v2 uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
- name: Run E2E deployment and tests - name: Run E2E deployment and tests
uses: submariner-io/shipyard/gh-actions/e2e@devel uses: submariner-io/shipyard/gh-actions/e2e@release-0.11
- name: Post mortem - name: Post mortem
if: failure() if: failure()
uses: submariner-io/shipyard/gh-actions/post-mortem@devel uses: submariner-io/shipyard/gh-actions/post-mortem@release-0.11
+3 -3
View File
@@ -19,13 +19,13 @@ jobs:
lighthouse: ['', 'lighthouse'] lighthouse: ['', 'lighthouse']
steps: steps:
- name: Check out the repository - name: Check out the repository
uses: actions/checkout@v2 uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
- name: Run E2E deployment and tests - name: Run E2E deployment and tests
uses: submariner-io/shipyard/gh-actions/e2e@devel uses: submariner-io/shipyard/gh-actions/e2e@release-0.11
with: with:
using: ${{ matrix.cable_driver }} ${{ matrix.globalnet }} ${{ matrix.lighthouse }} using: ${{ matrix.cable_driver }} ${{ matrix.globalnet }} ${{ matrix.lighthouse }}
- name: Post mortem - name: Post mortem
if: failure() if: failure()
uses: submariner-io/shipyard/gh-actions/post-mortem@devel uses: submariner-io/shipyard/gh-actions/post-mortem@release-0.11
+14 -13
View File
@@ -11,12 +11,12 @@ jobs:
steps: steps:
- name: Get PR commits - name: Get PR commits
id: 'get-pr-commits' id: 'get-pr-commits'
uses: tim-actions/get-pr-commits@v1.1.0 uses: tim-actions/get-pr-commits@55b867b9b28954e6f5c1a0fe2f729dc926c306d0
with: with:
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.GITHUB_TOKEN }}
- name: 'Verify no "Apply suggestions from code review" commits' - name: 'Verify no "Apply suggestions from code review" commits'
uses: tim-actions/commit-message-checker-with-regex@v0.3.1 uses: tim-actions/commit-message-checker-with-regex@d6d9770051dd6460679d1cab1dcaa8cffc5c2bbd
with: with:
commits: ${{ steps.get-pr-commits.outputs.commits }} commits: ${{ steps.get-pr-commits.outputs.commits }}
pattern: '^(?!.*(apply suggestions from code review))' pattern: '^(?!.*(apply suggestions from code review))'
@@ -28,20 +28,20 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Check out the repository - name: Check out the repository
uses: actions/checkout@v2 uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
- name: Set up Helm - name: Set up Helm
uses: azure/setup-helm@v1 uses: azure/setup-helm@18bc76811624f360dbd7f18c2d4ecb32c7b87bab
with: with:
version: v3.6.0 version: v3.6.0
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v2 uses: actions/setup-python@dc73133d4da04e56a135ae2246682783cc7c7cb6
with: with:
python-version: '3.x' python-version: '3.x'
- name: Set up helm/chart-testing - name: Set up helm/chart-testing
uses: helm/chart-testing-action@v2.1.0 uses: helm/chart-testing-action@5f16c27cf7a4fa9c776ff73734df3909b2b65127
- name: Run helm/chart-testing (lint) - name: Run helm/chart-testing (lint)
run: ct lint --config ct.yaml run: ct lint --config ct.yaml
@@ -51,7 +51,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Check out the repository - name: Check out the repository
uses: actions/checkout@v2 uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Run gitlint - name: Run gitlint
@@ -62,7 +62,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Check out the repository - name: Check out the repository
uses: actions/checkout@v2 uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
- name: Run helm-docs and verify docs are up-to-date - name: Run helm-docs and verify docs are up-to-date
run: make helm-docs run: make helm-docs
@@ -72,10 +72,10 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Check out the repository - name: Check out the repository
uses: actions/checkout@v2 uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
- name: Run markdown-link-check - name: Run markdown-link-check
uses: gaurav-nelson/github-action-markdown-link-check@v1 uses: gaurav-nelson/github-action-markdown-link-check@9710f0fec812ce0a3b98bef4c9d842fc1f39d976
with: with:
config-file: ".markdownlinkcheck.json" config-file: ".markdownlinkcheck.json"
check-modified-files-only: "yes" check-modified-files-only: "yes"
@@ -86,7 +86,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Check out the repository - name: Check out the repository
uses: actions/checkout@v2 uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
- name: Run markdownlint - name: Run markdownlint
run: make markdownlint run: make markdownlint
@@ -95,9 +95,10 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Check out the repository - name: Check out the repository
uses: actions/checkout@v2 uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
- name: Run yamllint - name: Run yamllint
uses: ibiqlik/action-yamllint@v1 uses: ibiqlik/action-yamllint@ed2b6e911569708ed121c14b87d513860a7e36a7
with: with:
file_or_dir: submariner-k8s-broker/Chart.yaml submariner-k8s-broker/values.yaml submariner-operator/Chart.yaml submariner-operator/values.yaml file_or_dir: submariner-k8s-broker/Chart.yaml submariner-k8s-broker/values.yaml submariner-operator/Chart.yaml submariner-operator/values.yaml
config_file: .yamllint.yml config_file: .yamllint.yml
strict: true
+3 -3
View File
@@ -12,16 +12,16 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Check out the repository - name: Check out the repository
uses: actions/checkout@v2 uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
- name: Run markdown-link-check - name: Run markdown-link-check
uses: gaurav-nelson/github-action-markdown-link-check@v1 uses: gaurav-nelson/github-action-markdown-link-check@9710f0fec812ce0a3b98bef4c9d842fc1f39d976
with: with:
config-file: ".markdownlinkcheck.json" config-file: ".markdownlinkcheck.json"
- name: Raise an Issue to report broken links - name: Raise an Issue to report broken links
if: ${{ failure() }} if: ${{ failure() }}
uses: peter-evans/create-issue-from-file@v2.3.2 uses: peter-evans/create-issue-from-file@97e6f902a416aac38834e23fa52e166aad0437d2
with: with:
title: Broken link detected by CI title: Broken link detected by CI
content-filepath: .github/ISSUE_TEMPLATE/broken-link.md content-filepath: .github/ISSUE_TEMPLATE/broken-link.md
+2 -2
View File
@@ -4,7 +4,7 @@ name: Release Charts
on: on:
push: push:
branches: branches:
- devel - release-0.11
jobs: jobs:
release: release:
@@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
with: with:
fetch-depth: 0 fetch-depth: 0
+3 -1
View File
@@ -1 +1,3 @@
* @mangelajo @Oats87 @skitt @tpantelis # Auto-generated, do not edit; see CODEOWNERS.in
* @Oats87 @skitt @sridhargaddam @tpantelis
*.md @dfarrell07 @Oats87 @skitt @sridhargaddam @tpantelis
+5
View File
@@ -0,0 +1,5 @@
@dfarrell07 *.md
@Oats87 *
@skitt *
@sridhargaddam *
@tpantelis *
+2 -2
View File
@@ -1,4 +1,4 @@
BASE_BRANCH ?= devel BASE_BRANCH ?= release-0.11
export BASE_BRANCH export BASE_BRANCH
ifneq (,$(DAPPER_HOST_ARCH)) ifneq (,$(DAPPER_HOST_ARCH))
@@ -21,7 +21,7 @@ override DEPLOY_ARGS += $(CLUSTER_SETTINGS_FLAG) --deploytool helm
export DEPLOY_ARGS export DEPLOY_ARGS
GH_URL=https://submariner-io.github.io/submariner-charts/charts GH_URL=https://submariner-io.github.io/submariner-charts/charts
CHARTS_DIR=charts CHARTS_DIR=charts
CHARTS_VERSION=0.7.0 CHARTS_VERSION=0.11.1
HELM_DOCS_VERSION=0.15.0 HELM_DOCS_VERSION=0.15.0
REPO_URL=$(shell git config remote.origin.url) REPO_URL=$(shell git config remote.origin.url)
+300 -64
View File
@@ -1,97 +1,333 @@
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
name: clusters.submariner.io name: clusters.submariner.io
spec: spec:
group: submariner.io group: submariner.io
version: v1
names: names:
kind: Cluster kind: Cluster
listKind: ClusterList
plural: clusters plural: clusters
singular: cluster
scope: Namespaced scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
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:
properties:
cluster_cidr:
items:
type: string
type: array
cluster_id:
type: string
color_codes:
items:
type: string
type: array
global_cidr:
items:
type: string
type: array
service_cidr:
items:
type: string
type: array
required:
- cluster_cidr
- cluster_id
- color_codes
- global_cidr
- service_cidr
type: object
required:
- spec
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
--- ---
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
name: endpoints.submariner.io name: endpoints.submariner.io
spec: spec:
group: submariner.io group: submariner.io
version: v1
names: names:
kind: Endpoint kind: Endpoint
listKind: EndpointList
plural: endpoints plural: endpoints
singular: endpoint
scope: Namespaced scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
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:
properties:
backend:
type: string
backend_config:
additionalProperties:
type: string
type: object
cable_name:
type: string
cluster_id:
type: string
healthCheckIP:
type: string
hostname:
type: string
nat_enabled:
type: boolean
private_ip:
type: string
public_ip:
type: string
subnets:
items:
type: string
type: array
required:
- backend
- cable_name
- cluster_id
- hostname
- nat_enabled
- private_ip
- public_ip
- subnets
type: object
required:
- spec
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
--- ---
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
name: gateways.submariner.io name: gateways.submariner.io
spec: spec:
group: submariner.io group: submariner.io
version: v1
names: names:
kind: Gateway kind: Gateway
listKind: GatewayList
plural: gateways plural: gateways
singular: gateway
scope: Namespaced scope: Namespaced
additionalPrinterColumns: versions:
- name: ha-status - additionalPrinterColumns:
- description: High availability status of the Gateway
jsonPath: .status.haStatus
name: HA Status
type: string type: string
description: High Availability Status of the Gateway name: v1
JSONPath: .status.haStatus schema:
--- openAPIV3Schema:
apiVersion: apiextensions.k8s.io/v1beta1 properties:
kind: CustomResourceDefinition apiVersion:
metadata: description: 'APIVersion defines the versioned schema of this representation
name: multiclusterservices.lighthouse.submariner.io of an object. Servers should convert recognized schemas to the latest
spec: internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
group: lighthouse.submariner.io type: string
version: v1 kind:
names: description: 'Kind is a string value representing the REST resource this
kind: MultiClusterService object represents. Servers may infer this from the endpoint the client
plural: multiclusterservices submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
singular: multiclusterservice type: string
scope: Namespaced metadata:
validation: type: object
openAPIV3Schema: status:
properties: properties:
spec: connections:
properties: items:
clusterServiceInfo: properties:
properties: endpoint:
clusterID: properties:
type: "string" backend:
clusterDomain: type: string
type: "string" backend_config:
serviceIP: additionalProperties:
type: "string" type: string
port: type: object
type: "integer" cable_name:
--- type: string
apiVersion: apiextensions.k8s.io/v1beta1 cluster_id:
kind: CustomResourceDefinition type: string
metadata: healthCheckIP:
name: serviceexports.lighthouse.submariner.io type: string
spec: hostname:
group: lighthouse.submariner.io type: string
version: v2alpha1 nat_enabled:
names: type: boolean
kind: ServiceExport private_ip:
plural: serviceexports type: string
singular: serviceexport public_ip:
scope: Namespaced type: string
--- subnets:
apiVersion: apiextensions.k8s.io/v1beta1 items:
kind: CustomResourceDefinition type: string
metadata: type: array
name: serviceimports.lighthouse.submariner.io required:
spec: - backend
group: lighthouse.submariner.io - cable_name
version: v2alpha1 - cluster_id
names: - hostname
kind: ServiceImport - nat_enabled
plural: serviceimports - private_ip
singular: serviceimport - public_ip
scope: Namespaced - subnets
type: object
latency:
description: LatencySpec describes the round trip time information
in nanoseconds for a packet between the gateway pods of two
clusters.
properties:
averageRTT:
format: int64
type: integer
lastRTT:
description: TODO This shall be deleted once the operator
is using the latest. Using Optional to avoid validation
errors when this field is not used.
format: int64
type: integer
maxRTT:
format: int64
type: integer
minRTT:
format: int64
type: integer
stddevRTT:
format: int64
type: integer
type: object
latencyRTT:
description: LatencySpec describes the round trip time information
for a packet between the gateway pods of two clusters.
properties:
average:
type: string
last:
type: string
max:
type: string
min:
type: string
stdDev:
type: string
type: object
status:
type: string
statusMessage:
type: string
required:
- endpoint
- status
- statusMessage
type: object
type: array
haStatus:
type: string
localEndpoint:
properties:
backend:
type: string
backend_config:
additionalProperties:
type: string
type: object
cable_name:
type: string
cluster_id:
type: string
healthCheckIP:
type: string
hostname:
type: string
nat_enabled:
type: boolean
private_ip:
type: string
public_ip:
type: string
subnets:
items:
type: string
type: array
required:
- backend
- cable_name
- cluster_id
- hostname
- nat_enabled
- private_ip
- public_ip
- subnets
type: object
statusFailure:
type: string
version:
type: string
required:
- connections
- haStatus
- localEndpoint
- statusFailure
- version
type: object
required:
- status
type: object
served: true
storage: true
subresources: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
--- ---
apiVersion: apiextensions.k8s.io/v1 apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
+1 -1
View File
@@ -16,7 +16,7 @@ rules:
resources: ["*"] resources: ["*"]
verbs: ["create", "get", "list", "watch", "patch", "update", "delete"] verbs: ["create", "get", "list", "watch", "patch", "update", "delete"]
- apiGroups: ["discovery.k8s.io"] - apiGroups: ["discovery.k8s.io"]
resources: ["endpointslices"] resources: ["endpointslices", "endpointslices/restricted"]
verbs: ["create", "get", "list", "watch","patch", "update", "delete"] verbs: ["create", "get", "list", "watch","patch", "update", "delete"]
- apiGroups: ["multicluster.x-k8s.io"] - apiGroups: ["multicluster.x-k8s.io"]
resources: ["*"] resources: ["*"]
+2 -2
View File
@@ -1,8 +1,8 @@
--- ---
name: submariner-operator name: submariner-operator
version: 0.7.0 version: 0.11.1
apiVersion: v2 apiVersion: v2
appVersion: 0.7.0 appVersion: 0.11.1
description: Submariner enables direct networking between Pods and Services in different Kubernetes clusters description: Submariner enables direct networking between Pods and Services in different Kubernetes clusters
keywords: keywords:
home: https://submariner-io.github.io/ home: https://submariner-io.github.io/
+7 -4
View File
@@ -1,6 +1,6 @@
# submariner-operator # submariner-operator
![Version: 0.7.0](https://img.shields.io/badge/Version-0.7.0-informational?style=flat-square) ![AppVersion: 0.7.0](https://img.shields.io/badge/AppVersion-0.7.0-informational?style=flat-square) ![Version: 0.11.1](https://img.shields.io/badge/Version-0.11.1-informational?style=flat-square) ![AppVersion: 0.11.1](https://img.shields.io/badge/AppVersion-0.11.1-informational?style=flat-square)
Submariner enables direct networking between Pods and Services in different Kubernetes clusters Submariner enables direct networking between Pods and Services in different Kubernetes clusters
@@ -27,8 +27,9 @@ Submariner enables direct networking between Pods and Services in different Kube
| broker.server | string | `"example.k8s.apiserver"` | | | broker.server | string | `"example.k8s.apiserver"` | |
| broker.token | string | `"test"` | | | broker.token | string | `"test"` | |
| gateway.image.repository | string | `"quay.io/submariner/submariner-gateway"` | | | gateway.image.repository | string | `"quay.io/submariner/submariner-gateway"` | |
| gateway.image.tag | string | `"0.7.0"` | | | gateway.image.tag | string | `"0.11.1"` | |
| ipsec.debug | bool | `false` | | | ipsec.debug | bool | `false` | |
| ipsec.forceUDPEncaps | bool | `false` | |
| ipsec.ikePort | int | `500` | | | ipsec.ikePort | int | `500` | |
| ipsec.natPort | int | `4500` | | | ipsec.natPort | int | `4500` | |
| ipsec.psk | string | `""` | | | ipsec.psk | string | `""` | |
@@ -38,7 +39,7 @@ Submariner enables direct networking between Pods and Services in different Kube
| operator.affinity | object | `{}` | | | operator.affinity | object | `{}` | |
| operator.image.pullPolicy | string | `"IfNotPresent"` | | | operator.image.pullPolicy | string | `"IfNotPresent"` | |
| operator.image.repository | string | `"quay.io/submariner/submariner-operator"` | | | operator.image.repository | string | `"quay.io/submariner/submariner-operator"` | |
| operator.image.tag | string | `"0.7.0"` | | | operator.image.tag | string | `"0.11.1"` | |
| operator.resources | object | `{}` | | | operator.resources | object | `{}` | |
| operator.tolerations | list | `[]` | | | operator.tolerations | list | `[]` | |
| rbac.create | bool | `true` | | | rbac.create | bool | `true` | |
@@ -58,10 +59,12 @@ Submariner enables direct networking between Pods and Services in different Kube
| submariner.clusterCidr | string | `""` | | | submariner.clusterCidr | string | `""` | |
| submariner.clusterId | string | `""` | | | submariner.clusterId | string | `""` | |
| submariner.colorCodes | string | `"blue"` | | | submariner.colorCodes | string | `"blue"` | |
| submariner.coreDNSCustomConfig | object | `{}` | |
| submariner.debug | bool | `false` | | | submariner.debug | bool | `false` | |
| submariner.globalCidr | string | `""` | | | submariner.globalCidr | string | `""` | |
| submariner.healthcheckEnabled | bool | `true` | |
| submariner.images.repository | string | `"quay.io/submariner"` | | | submariner.images.repository | string | `"quay.io/submariner"` | |
| submariner.images.tag | string | `"0.7.0"` | | | submariner.images.tag | string | `"0.11.1"` | |
| submariner.natEnabled | bool | `false` | | | submariner.natEnabled | bool | `false` | |
| submariner.serviceCidr | string | `""` | | | submariner.serviceCidr | string | `""` | |
| submariner.serviceDiscovery | bool | `true` | | | submariner.serviceDiscovery | bool | `true` | |
File diff suppressed because it is too large Load Diff
+8 -2
View File
@@ -13,7 +13,7 @@ questions:
type: string type: string
label: Submariner Operator Image Repository label: Submariner Operator Image Repository
- variable: operator.image.tag - variable: operator.image.tag
default: "0.7.0" default: "0.11.1"
description: "Submariner Operator Image Tag" description: "Submariner Operator Image Tag"
type: string type: string
label: Submariner Operator Image Tag label: Submariner Operator Image Tag
@@ -31,7 +31,7 @@ questions:
type: string type: string
label: Submariner Repository label: Submariner Repository
- variable: submariner.images.tag - variable: submariner.images.tag
default: "0.7.0" default: "0.11.1"
description: "Submariner Images Tag (shared for all non-operator images)" description: "Submariner Images Tag (shared for all non-operator images)"
type: string type: string
label: Submariner Images Tag label: Submariner Images Tag
@@ -136,3 +136,9 @@ questions:
group: "Advanced Configuration" group: "Advanced Configuration"
description: "Cable driver implementation" description: "Cable driver implementation"
label: "Cable Driver" label: "Cable Driver"
- variable: submariner.healthcheckEnabled
type: boolean
default: true
group: "Advanced Configuration"
description: "Disable Healthcheck"
label: "Healthcheck Disabled"
+60 -1
View File
@@ -439,6 +439,21 @@ rules:
verbs: verbs:
- get - get
- list - list
- apiGroups:
- ""
resources:
- namespaces
verbs:
- get
- list
- watch
- apiGroups:
- monitoring.coreos.com
resources:
- servicemonitors
verbs:
- get
- create
--- ---
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding kind: ClusterRoleBinding
@@ -459,6 +474,29 @@ roleRef:
name: {{ template "submariner.fullname" . }} name: {{ template "submariner.fullname" . }}
--- ---
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: submariner-metrics-reader
namespace: {{ .Release.Namespace }}
rules:
- apiGroups: [""]
resources: ["pods", "services", "endpoints"]
verbs: ["get", "list", "watch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: read-submariner-metrics
subjects:
- kind: ServiceAccount
name: prometheus-k8s
namespace: openshift-monitoring
roleRef:
kind: Role
name: submariner-metrics-reader
apiGroup: rbac.authorization.k8s.io
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole kind: ClusterRole
metadata: metadata:
name: {{ template "submariner.fullname" . }}:gateway name: {{ template "submariner.fullname" . }}:gateway
@@ -640,14 +678,25 @@ rules:
- "" - ""
resources: resources:
- pods - pods
- services
- namespaces - namespaces
- nodes - nodes
- endpoints
verbs: verbs:
- get - get
- list - list
- watch - watch
- update - update
- apiGroups:
- ""
resources:
- services
verbs:
- create
- get
- list
- watch
- update
- delete
- apiGroups: - apiGroups:
- submariner.io - submariner.io
resources: resources:
@@ -688,6 +737,15 @@ rules:
- get - get
- list - list
- watch - watch
- apiGroups:
- network.openshift.io
resources:
- service/externalips
verbs:
- create
- get
- list
- delete
--- ---
{{- end -}} {{- end -}}
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
@@ -734,6 +792,7 @@ rules:
- discovery.k8s.io - discovery.k8s.io
resources: resources:
- endpointslices - endpointslices
- endpointslices/restricted
verbs: verbs:
- create - create
- get - get
@@ -9,7 +9,9 @@ spec:
brokerK8sApiServerToken: {{ .Values.broker.token }} brokerK8sApiServerToken: {{ .Values.broker.token }}
brokerK8sCA: {{ .Values.broker.ca }} brokerK8sCA: {{ .Values.broker.ca }}
brokerK8sRemoteNamespace: {{ .Values.broker.namespace }} brokerK8sRemoteNamespace: {{ .Values.broker.namespace }}
brokerK8sInsecure: {{ .Values.broker.insecure }}
ceIPSecDebug: {{ .Values.ipsec.debug }} ceIPSecDebug: {{ .Values.ipsec.debug }}
ceIPSecForceUDPEncaps: {{ .Values.ipsec.forceUDPEncaps }}
ceIPSecIKEPort: {{ .Values.ipsec.ikePort }} ceIPSecIKEPort: {{ .Values.ipsec.ikePort }}
ceIPSecNATTPort: {{ .Values.ipsec.natPort }} ceIPSecNATTPort: {{ .Values.ipsec.natPort }}
ceIPSecPSK: {{ .Values.ipsec.psk }} ceIPSecPSK: {{ .Values.ipsec.psk }}
@@ -25,3 +27,12 @@ spec:
globalCIDR: "{{ .Values.submariner.globalCidr }}" globalCIDR: "{{ .Values.submariner.globalCidr }}"
serviceDiscoveryEnabled: {{ .Values.submariner.serviceDiscovery }} serviceDiscoveryEnabled: {{ .Values.submariner.serviceDiscovery }}
cableDriver: {{ .Values.submariner.cableDriver }} cableDriver: {{ .Values.submariner.cableDriver }}
connectionHealthCheck:
enabled: {{ .Values.submariner.healthcheckEnabled }}
intervalSeconds: 1
maxPacketLossCount: 5
{{- with .Values.submariner.coreDNSCustomConfig }}
coreDNSCustomConfig:
configmapName: {{ .configmapName }}
namespace: {{ .namespace }}
{{- end }}
+6 -3
View File
@@ -10,9 +10,11 @@ submariner:
debug: false debug: false
serviceDiscovery: true serviceDiscovery: true
cableDriver: "libreswan" cableDriver: "libreswan"
healthcheckEnabled: true
coreDNSCustomConfig: {}
images: images:
repository: quay.io/submariner repository: quay.io/submariner
tag: "0.7.0" tag: "0.11.1"
broker: broker:
server: example.k8s.apiserver server: example.k8s.apiserver
token: test token: test
@@ -25,6 +27,7 @@ rbac:
ipsec: ipsec:
psk: "" psk: ""
debug: false debug: false
forceUDPEncaps: false
ikePort: 500 ikePort: 500
natPort: 4500 natPort: 4500
leadership: leadership:
@@ -34,7 +37,7 @@ leadership:
operator: operator:
image: image:
repository: quay.io/submariner/submariner-operator repository: quay.io/submariner/submariner-operator
tag: "0.7.0" tag: "0.11.1"
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
resources: {} resources: {}
tolerations: [] tolerations: []
@@ -42,7 +45,7 @@ operator:
gateway: gateway:
image: image:
repository: quay.io/submariner/submariner-gateway repository: quay.io/submariner/submariner-gateway
tag: "0.7.0" tag: "0.11.1"
serviceAccounts: serviceAccounts:
operator: operator:
create: true create: true