Compare commits

..
Author SHA1 Message Date
dependabot[bot]andThomas Pantelis 3406547674 Bump actions/checkout from 3.0.2 to 3.1.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.0.2 to 3.1.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/2541b1294d2704b0964813337f33b291d3f8596b...93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-12 07:40:57 -04:00
dependabot[bot]andThomas Pantelis 54bb10457a Bump helm/chart-testing-action from 2.3.0 to 2.3.1
Bumps [helm/chart-testing-action](https://github.com/helm/chart-testing-action) from 2.3.0 to 2.3.1.
- [Release notes](https://github.com/helm/chart-testing-action/releases)
- [Commits](https://github.com/helm/chart-testing-action/compare/09ed88797198755e5031f25be13da255e7e33aad...afea100a513515fbd68b0e72a7bb0ae34cb62aec)

---
updated-dependencies:
- dependency-name: helm/chart-testing-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-07 13:34:25 -04:00
Sridhar GaddamandDaniel Farrell c4f4f7cb52 Stop overloading LH and Operator images
Now that lighthouse fix is merged and operator changes are in,
stop overloading the images.

Depends on: https://github.com/submariner-io/submariner-charts/pull/273
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
2022-10-07 12:32:32 -04:00
Sridhar GaddamandDaniel Farrell 732eb70dcc Bump to 0.14.0-m1
Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
2022-10-07 12:32:32 -04:00
Mike KolesnikandDaniel Farrell 045cc7f4f7 Add support for load balancer
Signed-off-by: Mike Kolesnik <mkolesni@redhat.com>
2022-09-22 14:25:03 -04:00
Daniel FarrellandStephen Kitt 33efe8b1dc Add K8s 1.25 to E2E CI
Relates-to: submariner-io/shipyard#949
Signed-off-by: Daniel Farrell <dfarrell@redhat.com>
2022-09-21 09:33:56 +02:00
Stephen KittandThomas Pantelis aa354f79f2 Use the default kind CNI
See https://github.com/submariner-io/shipyard/issues/858.

Signed-off-by: Stephen Kitt <skitt@redhat.com>
2022-09-20 11:49:44 -04:00
Mike KolesnikandThomas Pantelis 7a555fe8ee Preload LH images in case of LH & GN deployment
Due to a bug in LH which was fixed in devel, but not yet backported, we
have to preload the LH images to get latest versions (and operator due
to a similar reason).

Signed-off-by: Mike Kolesnik <mkolesni@redhat.com>
2022-09-14 07:56:59 -04:00
Mike KolesnikandThomas Pantelis 0633dd80fb Don't specify images to preload
Shipyard now preloads all built images,
there's no need to explicitly preload any images.

Signed-off-by: Mike Kolesnik <mkolesni@redhat.com>
2022-09-14 07:56:59 -04:00
Stephen KittandMike Kolesnik 4d54dd283e Add contents write permission on release
When releasing, since the job pushes to the git repository, it needs
to have write permission on "contents".

Signed-off-by: Stephen Kitt <skitt@redhat.com>
2022-09-06 14:39:08 +03:00
Mike Kolesnik 5be04f2906 Adjust LH image overrides to use component names
Operator expects the component name, use it in the Submariner CR and not
the image name.

Signed-off-by: Mike Kolesnik <mkolesni@redhat.com>
2022-09-06 14:25:30 +03:00
Stephen KittandThomas Pantelis 3eec2f8474 Check GHA updates weekly
The release frequency of some GHAs means we end up with daily
dependabot PRs, which results in lots of not-particularly-useful
review work. Reducing the update cadence to weekly shouldn't expose us
to much risk and will reduce PR churn.

Signed-off-by: Stephen Kitt <skitt@redhat.com>
2022-08-26 16:04:16 -04:00
Daniel FarrellandStephen Kitt e16a2c36df Minimize GHA permissions
Set the GitHub Actions token permission to null in most workflows.

This results in:

GITHUB_TOKEN Permissions
  Metadata: read

The default permissions, used without the null override, are either

GITHUB_TOKEN Permissions
  Actions: write
  Checks: write
  Contents: write
  Deployments: write
  Discussions: write
  Issues: write
  Metadata: read
  Packages: write
  Pages: write
  PullRequests: write
  RepositoryProjects: write
  SecurityEvents: write
  Statuses: write

or

GITHUB_TOKEN Permissions
  Actions: read
  Checks: read
  Contents: read
  Deployments: read
  Discussions: read
  Issues: read
  Metadata: read
  Packages: read
  Pages: read
  PullRequests: read
  RepositoryProjects: read
  SecurityEvents: read
  Statuses: read

Jobs triggered by PRs get read permissions, other jobs get write.

One job requires non-null permissions to function.

The dependent issues GHA needs PR/issues write permissions to add/remove
`dependent` labels. It needs status write permission to block/unblock
PRs when dependencies are missing/met. Fails with HttpError otherwise.

Signed-off-by: Daniel Farrell <dfarrell@redhat.com>
2022-08-25 10:47:32 +02:00
Mike KolesnikandThomas Pantelis 01599cbb65 Add support for image overrides
Add support to override specific images (already supported by
submariner) to the helm chart.

Signed-off-by: Mike Kolesnik <mkolesni@redhat.com>
2022-08-22 08:07:25 -04:00
dependabot[bot]andThomas Pantelis a5401e6df0 Bump azure/setup-helm from 2.1 to 3.3
Bumps [azure/setup-helm](https://github.com/azure/setup-helm) from 2.1 to 3.3.
- [Release notes](https://github.com/azure/setup-helm/releases)
- [Commits](https://github.com/azure/setup-helm/compare/217bf70cbd2e930ba2e81ba7e1de2f7faecc42ba...b5b231a831f96336bbfeccc1329990f0005c5bb1)

---
updated-dependencies:
- dependency-name: azure/setup-helm
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-19 08:07:00 -04:00
dependabot[bot]andThomas Pantelis 883d93c0be Bump helm/chart-testing-action from 2.2.1 to 2.3.0
Bumps [helm/chart-testing-action](https://github.com/helm/chart-testing-action) from 2.2.1 to 2.3.0.
- [Release notes](https://github.com/helm/chart-testing-action/releases)
- [Commits](https://github.com/helm/chart-testing-action/compare/dae259e86a35ff09145c0805e2d7dd3f7207064a...09ed88797198755e5031f25be13da255e7e33aad)

---
updated-dependencies:
- dependency-name: helm/chart-testing-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-11 07:29:11 -04:00
dependabot[bot]andDaniel Farrell 414c72fc28 Bump actions/setup-python from 4.1.0 to 4.2.0
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.1.0 to 4.2.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/c4e89fac7e8767b327bbad6cb4d859eda999cf08...b55428b1882923874294fa556849718a1d7f2ca5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-03 17:16:56 -04:00
Mike KolesnikandThomas Pantelis 2f1cd8d728 Use ENV vars instead of flags
Switch to using Shipyard's ENV vars instead of flags, much simpler to
understand.

Signed-off-by: Mike Kolesnik <mkolesni@redhat.com>
2022-08-01 09:41:47 -04:00
Thomas PantelisandGitHub d667fc2546 Add submariner-gateway role permissions for leases (#247)
This is needed for leader election resource locking in K8s 0.24.

Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
2022-07-28 07:21:29 +03:00
Stephen KittandDaniel Farrell a1b5d7f20a Bump the broker to 0.13.0-rc2
Signed-off-by: Stephen Kitt <skitt@redhat.com>
2022-07-15 14:26:58 -04:00
Mike KolesnikandStephen Kitt 85b746dd4c Use Shipyard's deployment of helm
Instead of using a copy of the deploy file, use Shipyard's deploy as it
could (and does) diverge.

This also obviates the need for a copy of `Dockerfile.dapper` which
can now be taken directly from Shipyard.

Signed-off-by: Mike Kolesnik <mkolesni@redhat.com>
2022-07-15 16:41:13 +02:00
Stephen KittandThomas Pantelis e6c1600270 Bump to 0.13.0-rc2
This will ensure that we deploy the current development version of
Submariner and that our artifacts are considered the latest (currently
our latest is 0.11.2!).

Signed-off-by: Stephen Kitt <skitt@redhat.com>
2022-07-14 11:43:42 -04:00
dependabot[bot]andThomas Pantelis 9e5b80abda Bump actions/setup-python from 4.0.0 to 4.1.0
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.0.0 to 4.1.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/d09bd5e6005b175076f227b13d9730d56e9dcfcb...c4e89fac7e8767b327bbad6cb4d859eda999cf08)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-12 10:37:19 -04:00
Daniel FarrellandThomas Pantelis 077c26b714 Add K8s 1.24 E2E, EoL K8s 1.21
Use Kubernetes 1.24 as the default version for end-to-end tests.

Remove Kubernetes 1.21 end-to-end tests as it's end of life.

Signed-off-by: Daniel Farrell <dfarrell@redhat.com>
2022-07-07 15:13:50 -04:00
Mike KolesnikandThomas Pantelis 7f4648985e Use minimal clusters for E2E
We don't really need to run the entire E2E suite anymore since we're
deploying the operator and it takes care of the entire deployment cycle.
Hence, the testing on operator should suffice and the helm testing can
be much slimmer and only use 2 single-node clusters.

This won't run the non-gw node tests, but as it's all tested on the
operator anyhow, there's no need to re-test it here.

Signed-off-by: Mike Kolesnik <mkolesni@redhat.com>
2022-07-07 12:07:07 -04:00
Stephen KittandThomas Pantelis c605528741 Create secrets along with SAs
Starting with Kubernetes 1.24, secrets are no longer automatically
created for SAs. This adds secrets to the relevant templates; creating
secrets in this way is supported in all Kubernetes versions.

This also enables testing with 1.24 in CI, to make sure that the fix
actually works.

Signed-off-by: Stephen Kitt <skitt@redhat.com>
2022-07-07 11:54:23 -04:00
Stephen KittandGitHub d3a4507650 Allow dependabot upgrades on release-0.13 (#234)
Signed-off-by: Stephen Kitt <skitt@redhat.com>
2022-06-29 11:48:39 +00:00
26 changed files with 181 additions and 165 deletions
+7 -2
View File
@@ -4,9 +4,14 @@ updates:
- package-ecosystem: github-actions
directory: '/'
schedule:
interval: daily
interval: weekly
- package-ecosystem: github-actions
directory: '/'
target-branch: "release-0.12"
schedule:
interval: daily
interval: weekly
- package-ecosystem: github-actions
directory: '/'
target-branch: "release-0.13"
schedule:
interval: weekly
+4 -2
View File
@@ -4,11 +4,13 @@ name: Branch Checks
on:
pull_request:
permissions: {}
jobs:
target_branch:
name: PR targets branch
runs-on: ubuntu-latest
steps:
- name: Check that the PR targets release-0.13
if: ${{ github.base_ref != 'release-0.13' }}
- name: Check that the PR targets devel
if: ${{ github.base_ref != 'devel' }}
run: exit 1
+6 -1
View File
@@ -19,13 +19,18 @@ on:
schedule:
- cron: '0 0/6 * * *' # every 6 hours
permissions:
issues: write
pull-requests: write
statuses: write
jobs:
check:
name: Check Dependencies
if: github.repository_owner == 'submariner-io'
runs-on: ubuntu-latest
steps:
- uses: z0al/dependent-issues@950226e7ca8fc43dc209a7febf67c655af3bdb43
- uses: z0al/dependent-issues@0fae07162bc9e0d8e116a133bd03686eed6efa21
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
+8 -5
View File
@@ -5,6 +5,8 @@ on:
pull_request:
types: [labeled, opened, synchronize, reopened]
permissions: {}
jobs:
e2e:
name: E2E
@@ -16,21 +18,22 @@ jobs:
matrix:
cable_driver: ['libreswan', 'wireguard', 'vxlan']
globalnet: ['', 'globalnet']
k8s_version: ['1.23']
k8s_version: ['1.25']
lighthouse: ['', 'lighthouse']
include:
- k8s_version: '1.21'
- k8s_version: '1.22'
- k8s_version: '1.23'
- k8s_version: '1.24'
steps:
- name: Check out the repository
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
- name: Run E2E deployment and tests
uses: submariner-io/shipyard/gh-actions/e2e@release-0.13
uses: submariner-io/shipyard/gh-actions/e2e@devel
with:
k8s_version: ${{ matrix.k8s_version }}
using: ${{ matrix.cable_driver }} ${{ matrix.globalnet }} ${{ matrix.lighthouse }}
- name: Post mortem
if: failure()
uses: submariner-io/shipyard/gh-actions/post-mortem@release-0.13
uses: submariner-io/shipyard/gh-actions/post-mortem@devel
+5 -3
View File
@@ -4,6 +4,8 @@ name: End to End Default
on:
pull_request:
permissions: {}
jobs:
e2e:
name: E2E
@@ -11,11 +13,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out the repository
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
- name: Run E2E deployment and tests
uses: submariner-io/shipyard/gh-actions/e2e@release-0.13
uses: submariner-io/shipyard/gh-actions/e2e@devel
- name: Post mortem
if: failure()
uses: submariner-io/shipyard/gh-actions/post-mortem@release-0.13
uses: submariner-io/shipyard/gh-actions/post-mortem@devel
+5 -3
View File
@@ -5,6 +5,8 @@ on:
schedule:
- cron: "0 0 * * *"
permissions: {}
jobs:
e2e:
name: E2E
@@ -19,13 +21,13 @@ jobs:
lighthouse: ['', 'lighthouse']
steps:
- name: Check out the repository
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
- name: Run E2E deployment and tests
uses: submariner-io/shipyard/gh-actions/e2e@release-0.13
uses: submariner-io/shipyard/gh-actions/e2e@devel
with:
using: ${{ matrix.cable_driver }} ${{ matrix.globalnet }} ${{ matrix.lighthouse }}
- name: Post mortem
if: failure()
uses: submariner-io/shipyard/gh-actions/post-mortem@release-0.13
uses: submariner-io/shipyard/gh-actions/post-mortem@devel
+15 -13
View File
@@ -4,6 +4,8 @@ name: Linting
on:
pull_request:
permissions: {}
jobs:
apply-suggestions-commits:
name: 'No "Apply suggestions from code review" Commits'
@@ -11,12 +13,12 @@ jobs:
steps:
- name: Get PR commits
id: 'get-pr-commits'
uses: tim-actions/get-pr-commits@3efc1387ead42029a0d488ab98f24b7452dc3cde
uses: tim-actions/get-pr-commits@c64db31d359214d244884dd68f971a110b29ab83
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: 'Verify no "Apply suggestions from code review" commits'
uses: tim-actions/commit-message-checker-with-regex@094fc16ff83d04e2ec73edb5eaf6aa267db33791
uses: tim-actions/commit-message-checker-with-regex@d6d9770051dd6460679d1cab1dcaa8cffc5c2bbd
with:
commits: ${{ steps.get-pr-commits.outputs.commits }}
pattern: '^(?!.*(apply suggestions from code review))'
@@ -24,7 +26,7 @@ jobs:
error: 'Commits addressing code review feedback should typically be squashed into the commits under review'
- name: 'Verify no "fixup!" commits'
uses: tim-actions/commit-message-checker-with-regex@094fc16ff83d04e2ec73edb5eaf6aa267db33791
uses: tim-actions/commit-message-checker-with-regex@d6d9770051dd6460679d1cab1dcaa8cffc5c2bbd
with:
commits: ${{ steps.get-pr-commits.outputs.commits }}
pattern: '^(?!fixup!)'
@@ -36,20 +38,20 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out the repository
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
- name: Set up Helm
uses: azure/setup-helm@5119fcb9089d432beecbf79bb2c7915207344b78
uses: azure/setup-helm@b5b231a831f96336bbfeccc1329990f0005c5bb1
with:
version: v3.6.0
- name: Set up Python
uses: actions/setup-python@65d7f2d534ac1bc67fcd62888c5f4f3d2cb2b236
uses: actions/setup-python@b55428b1882923874294fa556849718a1d7f2ca5
with:
python-version: '3.x'
- name: Set up helm/chart-testing
uses: helm/chart-testing-action@e6669bcd63d7cb57cb4380c33043eebe5d111992
uses: helm/chart-testing-action@afea100a513515fbd68b0e72a7bb0ae34cb62aec
- name: Run helm/chart-testing (lint)
run: ct lint --config ct.yaml
@@ -59,7 +61,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out the repository
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
with:
fetch-depth: 0
- name: Run gitlint
@@ -70,7 +72,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out the repository
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
- name: Run helm-docs and verify docs are up-to-date
run: make helm-docs
@@ -80,10 +82,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out the repository
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
- name: Run markdown-link-check
uses: gaurav-nelson/github-action-markdown-link-check@d53a906aa6b22b8979d33bc86170567e619495ec
uses: gaurav-nelson/github-action-markdown-link-check@228fbf4ffb2a86a65314866e9b2322b519fd885f
with:
config-file: ".markdownlinkcheck.json"
check-modified-files-only: "yes"
@@ -94,7 +96,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out the repository
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
- name: Run markdownlint
run: make markdownlint
@@ -103,6 +105,6 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out the repository
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
- name: Run yamllint
run: make yamllint
+5 -3
View File
@@ -5,6 +5,8 @@ on:
schedule:
- cron: "0 0 * * 0"
permissions: {}
jobs:
markdown-link-check-periodic:
name: Markdown Links (all files)
@@ -12,16 +14,16 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out the repository
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
- name: Run markdown-link-check
uses: gaurav-nelson/github-action-markdown-link-check@d53a906aa6b22b8979d33bc86170567e619495ec
uses: gaurav-nelson/github-action-markdown-link-check@228fbf4ffb2a86a65314866e9b2322b519fd885f
with:
config-file: ".markdownlinkcheck.json"
- name: Raise an Issue to report broken links
if: ${{ failure() }}
uses: peter-evans/create-issue-from-file@433e51abf769039ee20ba1293a088ca19d573b7f
uses: peter-evans/create-issue-from-file@99b87c35610e986ad2034a7b0518a9b3ebea541b
with:
title: Broken link detected by CI
content-filepath: .github/ISSUE_TEMPLATE/broken-link.md
+5 -2
View File
@@ -4,7 +4,10 @@ name: Release Charts
on:
push:
branches:
- release-0.13
- devel
permissions:
contents: write
jobs:
release:
@@ -13,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
with:
fetch-depth: 0
+1
View File
@@ -3,3 +3,4 @@
.shflags
*.tgz
Makefile.dapper
Dockerfile.*
+1 -1
View File
@@ -1,7 +1,7 @@
---
cni: ovn
submariner: true
nodes: control-plane worker worker
nodes: control-plane
clusters:
cluster1:
cluster2:
+1 -1
View File
@@ -1,6 +1,6 @@
---
submariner: true
nodes: control-plane worker
nodes: control-plane
clusters:
cluster1:
cluster2:
-18
View File
@@ -1,18 +0,0 @@
ARG BASE_BRANCH
FROM quay.io/submariner/shipyard-dapper-base:${BASE_BRANCH}
ARG DAPPER_HOST_ARCH
ENV HOST_ARCH=${DAPPER_HOST_ARCH} ARCH=${DAPPER_HOST_ARCH} \
DAPPER_ENV="REPO TAG QUAY_USERNAME QUAY_PASSWORD GITHUB_SHA MAKEFLAGS CLUSTERS_ARGS DEPLOY_ARGS E2E_ARGS RELEASE_ARGS" \
DAPPER_SOURCE=/go/src/github.com/submariner-io/submariner-charts DAPPER_DOCKER_SOCKET=true
ENV DAPPER_OUTPUT=${DAPPER_SOURCE}/output PATH=${DAPPER_SOURCE}/bin/:${PATH}
WORKDIR ${DAPPER_SOURCE}
RUN git config --global --add safe.directory ${DAPPER_SOURCE}
# Override the Helm deployment scripts
COPY deploy_helm /opt/shipyard/scripts/lib/
ENTRYPOINT ["/opt/shipyard/scripts/entry"]
CMD ["sh"]
+6 -19
View File
@@ -1,39 +1,26 @@
BASE_BRANCH ?= release-0.13
BASE_BRANCH ?= devel
export BASE_BRANCH
export HELM_REPO_LOCATION=.
ifneq (,$(DAPPER_HOST_ARCH))
# Running in Dapper
PRELOAD_IMAGES := submariner-gateway submariner-operator submariner-route-agent lighthouse-agent lighthouse-coredns
include $(SHIPYARD_DIR)/Makefile.inc
ifneq (,$(filter ovn,$(_using)))
CLUSTER_SETTINGS_FLAG = --settings $(DAPPER_SOURCE)/.shipyard.e2e.ovn.yml
export SETTINGS = $(DAPPER_SOURCE)/.shipyard.e2e.ovn.yml
else
CLUSTER_SETTINGS_FLAG = --settings $(DAPPER_SOURCE)/.shipyard.e2e.yml
export SETTINGS = $(DAPPER_SOURCE)/.shipyard.e2e.yml
endif
override CLUSTERS_ARGS += $(CLUSTER_SETTINGS_FLAG)
override DEPLOY_ARGS += $(CLUSTER_SETTINGS_FLAG) --deploytool helm
export DEPLOY_ARGS
export DEPLOYTOOL = helm
GH_URL=https://submariner-io.github.io/submariner-charts/charts
CHARTS_DIR=charts
CHARTS_VERSION=0.10.1
CHARTS_VERSION=0.14.0-m1
HELM_DOCS_VERSION=0.15.0
REPO_URL=$(shell git config remote.origin.url)
# Process extra flags from the `using=a,b,c` optional flag
ifneq (,$(filter lighthouse,$(_using)))
override DEPLOY_ARGS += --service_discovery
endif
ifneq (,$(filter globalnet,$(_using)))
override DEPLOY_ARGS += --globalnet
endif
# Targets to make
e2e: E2E_ARGS=cluster1 cluster2
-76
View File
@@ -1,76 +0,0 @@
# shellcheck shell=bash
# shellcheck source=scripts/shared/lib/source_only
. "${BASH_SOURCE%/*}"/source_only
### Constants ###
readonly SUBMARINER_BROKER_NS=submariner-k8s-broker
readonly SUBMARINER_PSK=$(LC_CTYPE=C tr -dc 'a-zA-Z0-9' < /dev/urandom | fold -w 64 | head -n 1)
### Functions ###
function deploytool_prereqs() {
helm version
}
function setup_broker() {
if kubectl get crd clusters.submariner.io > /dev/null 2>&1; then
echo "Submariner CRDs already exist, skipping broker creation..."
else
echo "Installing submariner broker..."
# shellcheck disable=SC2086 # Split on purpose
helm install "${SUBMARINER_BROKER_NS}" ./submariner-k8s-broker \
--create-namespace \
--kube-context "${cluster}" \
--namespace "${SUBMARINER_BROKER_NS}" \
${deploytool_broker_args}
fi
submariner_broker_url=$(kubectl -n default get endpoints kubernetes -o jsonpath="{.subsets[0].addresses[0].ip}:{.subsets[0].ports[?(@.name=='https')].port}")
submariner_broker_ca=$(kubectl -n "${SUBMARINER_BROKER_NS}" get secrets -o jsonpath="{.items[?(@.metadata.annotations['kubernetes\.io/service-account\.name']=='${SUBMARINER_BROKER_NS}-client')].data['ca\.crt']}")
submariner_broker_token=$(kubectl -n "${SUBMARINER_BROKER_NS}" get secrets -o jsonpath="{.items[?(@.metadata.annotations['kubernetes\.io/service-account\.name']=='${SUBMARINER_BROKER_NS}-client')].data.token}"|base64 --decode)
}
function helm_install_subm() {
local crd_create=false
[[ "${cluster}" = "${broker}" ]] || crd_create=true
if kubectl wait --for=condition=Ready pods -l app=submariner-operator -n "${SUBM_NS}" --timeout=60s > /dev/null 2>&1; then
echo "Submariner already installed, skipping installation..."
return
fi
echo "Installing Submariner..."
# shellcheck disable=SC2086 # Split on purpose
helm --kube-context "${cluster}" install submariner-operator \
./submariner-operator \
--create-namespace \
--namespace "${SUBM_NS}" \
--set ipsec.psk="${SUBMARINER_PSK}" \
--set broker.server="${submariner_broker_url}" \
--set broker.token="${submariner_broker_token}" \
--set broker.namespace="${SUBMARINER_BROKER_NS}" \
--set broker.ca="${submariner_broker_ca}" \
--set broker.globalnet="${globalnet}" \
--set submariner.serviceDiscovery="${service_discovery}" \
--set submariner.cableDriver="${cable_driver}" \
--set submariner.clusterId="${cluster}" \
--set submariner.clusterCidr="${cluster_CIDRs[$cluster]}" \
--set submariner.serviceCidr="${service_CIDRs[$cluster]}" \
--set submariner.globalCidr="${global_CIDRs[$cluster]}" \
--set serviceAccounts.globalnet.create="${globalnet}" \
--set serviceAccounts.lighthouseAgent.create="${service_discovery}" \
--set serviceAccounts.lighthouseCoreDns.create="${service_discovery}" \
--set submariner.natEnabled="false" \
--set operator.image.repository="localhost:5000/submariner-operator" \
--set operator.image.tag="local" \
--set operator.image.pullPolicy="IfNotPresent" \
--set submariner.images.repository="localhost:5000" \
--set submariner.images.tag="local" \
--set brokercrds.create="${crd_create}" \
${deploytool_submariner_args}
}
function install_subm_all_clusters() {
run_subm_clusters helm_install_subm
}
+2 -2
View File
@@ -1,8 +1,8 @@
---
name: submariner-k8s-broker
version: 0.6.0
version: 0.14.0-m1
apiVersion: v2
appVersion: 0.6.0
appVersion: 0.14.0-m1
description: Submariner Kubernetes Broker
keywords:
home: https://submariner-io.github.io/
+1 -1
View File
@@ -1,6 +1,6 @@
# submariner-k8s-broker
![Version: 0.6.0](https://img.shields.io/badge/Version-0.6.0-informational?style=flat-square) ![AppVersion: 0.6.0](https://img.shields.io/badge/AppVersion-0.6.0-informational?style=flat-square)
![Version: 0.14.0](https://img.shields.io/badge/Version-0.14.0-informational?style=flat-square) ![AppVersion: 0.14.0](https://img.shields.io/badge/AppVersion-0.14.0-informational?style=flat-square)
Submariner Kubernetes Broker
+2 -2
View File
@@ -6,5 +6,5 @@ You can retrieve the server URL by running
The broker client token and CA can be retrieved by running
$ SUBMARINER_BROKER_CA=$(kubectl -n {{ .Release.Namespace }} get secrets -o jsonpath="{.items[?(@.metadata.annotations['kubernetes\.io/service-account\.name']=='{{ template "submariner-k8s-broker.clientServiceAccountName" . }}')].data['ca\.crt']}")
$ SUBMARINER_BROKER_TOKEN=$(kubectl -n {{ .Release.Namespace }} get secrets -o jsonpath="{.items[?(@.metadata.annotations['kubernetes\.io/service-account\.name']=='{{ template "submariner-k8s-broker.clientServiceAccountName" . }}')].data.token}"|base64 --decode)
$ SUBMARINER_BROKER_CA=$(kubectl -n "${SUBMARINER_BROKER_NS}" get secrets "${SUBMARINER_BROKER_NS}-client-token" -o jsonpath="{.data['ca\.crt']}")
$ SUBMARINER_BROKER_TOKEN=$(kubectl -n "${SUBMARINER_BROKER_NS}" get secrets "${SUBMARINER_BROKER_NS}-client-token" -o jsonpath="{.data.token}"|base64 --decode)
@@ -8,4 +8,12 @@ metadata:
release: {{ .Release.Name | quote }}
chart: {{ template "submariner-k8s-broker.chart" . }}
app: {{ template "submariner-k8s-broker.name" . }}
---
apiVersion: v1
kind: Secret
metadata:
name: {{ template "submariner-k8s-broker.clientServiceAccountName" . }}-token
annotations:
kubernetes.io/service-account.name: {{ template "submariner-k8s-broker.clientServiceAccountName" . }}
type: kubernetes.io/service-account-token
{{- end }}
+2 -2
View File
@@ -1,8 +1,8 @@
---
name: submariner-operator
version: 0.10.1
version: 0.14.0-m1
apiVersion: v2
appVersion: 0.10.1
appVersion: 0.14.0-m1
description: Submariner enables direct networking between Pods and Services in different Kubernetes clusters
keywords:
home: https://submariner-io.github.io/
+4 -4
View File
@@ -1,6 +1,6 @@
# submariner-operator
![Version: 0.10.1](https://img.shields.io/badge/Version-0.10.1-informational?style=flat-square) ![AppVersion: 0.10.1](https://img.shields.io/badge/AppVersion-0.10.1-informational?style=flat-square)
![Version: 0.14.0](https://img.shields.io/badge/Version-0.14.0-informational?style=flat-square) ![AppVersion: 0.14.0](https://img.shields.io/badge/AppVersion-0.14.0-informational?style=flat-square)
Submariner enables direct networking between Pods and Services in different Kubernetes clusters
@@ -27,7 +27,7 @@ Submariner enables direct networking between Pods and Services in different Kube
| broker.server | string | `"example.k8s.apiserver"` | |
| broker.token | string | `"test"` | |
| gateway.image.repository | string | `"quay.io/submariner/submariner-gateway"` | |
| gateway.image.tag | string | `"0.10.1"` | |
| gateway.image.tag | string | `"0.14.0-m1"` | |
| ipsec.debug | bool | `false` | |
| ipsec.forceUDPEncaps | bool | `false` | |
| ipsec.ikePort | int | `500` | |
@@ -39,7 +39,7 @@ Submariner enables direct networking between Pods and Services in different Kube
| operator.affinity | object | `{}` | |
| operator.image.pullPolicy | string | `"IfNotPresent"` | |
| operator.image.repository | string | `"quay.io/submariner/submariner-operator"` | |
| operator.image.tag | string | `"0.10.1"` | |
| operator.image.tag | string | `"0.14.0-m1"` | |
| operator.resources | object | `{}` | |
| operator.tolerations | list | `[]` | |
| rbac.create | bool | `true` | |
@@ -64,7 +64,7 @@ Submariner enables direct networking between Pods and Services in different Kube
| submariner.globalCidr | string | `""` | |
| submariner.healthcheckEnabled | bool | `true` | |
| submariner.images.repository | string | `"quay.io/submariner"` | |
| submariner.images.tag | string | `"0.10.1"` | |
| submariner.images.tag | string | `"0.14.0-m1"` | |
| submariner.natEnabled | bool | `false` | |
| submariner.serviceCidr | string | `""` | |
| submariner.serviceDiscovery | bool | `true` | |
+2 -2
View File
@@ -14,7 +14,7 @@ questions:
type: string
label: Submariner Operator Image Repository
- variable: operator.image.tag
default: "0.10.1"
default: "0.14.0-m1"
description: "Submariner Operator Image Tag"
type: string
label: Submariner Operator Image Tag
@@ -32,7 +32,7 @@ questions:
type: string
label: Submariner Repository
- variable: submariner.images.tag
default: "0.10.1"
default: "0.14.0-m1"
description: "Submariner Images Tag (shared for all non-operator images)"
type: string
label: Submariner Images Tag
+11
View File
@@ -162,6 +162,17 @@ rules:
- patch
- update
- watch
- apiGroups:
- coordination.k8s.io
resources:
- leases
verbs:
- get
- list
- watch
- create
- update
- delete
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
@@ -19,10 +19,37 @@ spec:
clusterID: {{ .Values.submariner.clusterId }}
colorCodes: {{ .Values.submariner.colorCodes }}
debug: {{ .Values.submariner.debug }}
loadBalancerEnabled: {{ .Values.submariner.loadBalancerEnabled }}
namespace: {{ .Release.Namespace }}
natEnabled: {{ .Values.submariner.natEnabled }}
repository: {{ .Values.submariner.images.repository }}
version: {{ .Values.submariner.images.tag }}
{{- with .Values.images }}
{{- if . }}
imageOverrides:
{{- if index . "submariner-operator" }}
submariner-operator: {{ index . "submariner-operator" }}
{{- end }}
{{- if index . "submariner-gateway" }}
submariner-gateway: {{ index . "submariner-gateway" }}
{{- end }}
{{- if index . "submariner-route-agent" }}
submariner-routeagent: {{ index . "submariner-route-agent" }}
{{- end }}
{{- if index . "submariner-globalnet" }}
submariner-globalnet: {{ index . "submariner-globalnet" }}
{{- end }}
{{- if index . "submariner-networkplugin-syncer" }}
submariner-networkplugin-syncer: {{ index . "submariner-networkplugin-syncer" }}
{{- end }}
{{- if index . "lighthouse-agent" }}
submariner-lighthouse-agent: {{ index . "lighthouse-agent" }}
{{- end }}
{{- if index . "lighthouse-coredns" }}
submariner-lighthouse-coredns: {{ index . "lighthouse-coredns" }}
{{- end }}
{{- end }}
{{- end }}
serviceCIDR: "{{ .Values.submariner.serviceCidr }}"
globalCIDR: "{{ .Values.submariner.globalCidr }}"
serviceDiscoveryEnabled: {{ .Values.submariner.serviceDiscovery }}
@@ -8,6 +8,14 @@ metadata:
release: {{ .Release.Name | quote }}
chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }}
---
apiVersion: v1
kind: Secret
metadata:
name: {{ template "submariner.operatorServiceAccountName" . }}-token
annotations:
kubernetes.io/service-account.name: {{ template "submariner.operatorServiceAccountName" . }}
type: kubernetes.io/service-account-token
{{- end }}
---
{{- if .Values.serviceAccounts.gateway.create }}
@@ -20,6 +28,14 @@ metadata:
release: {{ .Release.Name | quote }}
chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }}
---
apiVersion: v1
kind: Secret
metadata:
name: {{ template "submariner.gatewayServiceAccountName" . }}-token
annotations:
kubernetes.io/service-account.name: {{ template "submariner.gatewayServiceAccountName" . }}
type: kubernetes.io/service-account-token
{{- end }}
---
{{- if .Values.serviceAccounts.routeAgent.create }}
@@ -32,6 +48,14 @@ metadata:
release: {{ .Release.Name | quote }}
chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }}
---
apiVersion: v1
kind: Secret
metadata:
name: {{ template "submariner.routeAgentServiceAccountName" . }}-token
annotations:
kubernetes.io/service-account.name: {{ template "submariner.routeAgentServiceAccountName" . }}
type: kubernetes.io/service-account-token
{{- end }}
---
{{- if .Values.serviceAccounts.globalnet.create }}
@@ -44,6 +68,14 @@ metadata:
release: {{ .Release.Name | quote }}
chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }}
---
apiVersion: v1
kind: Secret
metadata:
name: {{ template "submariner.globalnetServiceAccountName" . }}-token
annotations:
kubernetes.io/service-account.name: {{ template "submariner.globalnetServiceAccountName" . }}
type: kubernetes.io/service-account-token
{{- end }}
---
{{- if .Values.serviceAccounts.lighthouseAgent.create }}
@@ -56,6 +88,14 @@ metadata:
release: {{ .Release.Name | quote }}
chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }}
---
apiVersion: v1
kind: Secret
metadata:
name: {{ template "submariner.lighthouseAgentServiceAccountName" . }}-token
annotations:
kubernetes.io/service-account.name: {{ template "submariner.lighthouseAgentServiceAccountName" . }}
type: kubernetes.io/service-account-token
{{- end }}
---
{{- if .Values.serviceAccounts.lighthouseCoreDns.create }}
@@ -68,4 +108,12 @@ metadata:
release: {{ .Release.Name | quote }}
chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }}
---
apiVersion: v1
kind: Secret
metadata:
name: {{ template "submariner.lighthouseCoreDnsServiceAccountName" . }}-token
annotations:
kubernetes.io/service-account.name: {{ template "submariner.lighthouseCoreDnsServiceAccountName" . }}
type: kubernetes.io/service-account-token
{{- end }}
+5 -3
View File
@@ -5,6 +5,7 @@ submariner:
clusterCidr: ""
serviceCidr: ""
globalCidr: ""
loadBalancerEnabled: false
natEnabled: false
colorCodes: blue
debug: false
@@ -14,7 +15,7 @@ submariner:
coreDNSCustomConfig: {}
images:
repository: quay.io/submariner
tag: "0.10.1"
tag: "0.14.0-m1"
broker:
server: example.k8s.apiserver
token: test
@@ -24,6 +25,7 @@ broker:
globalnet: false
rbac:
create: true
images: {}
ipsec:
psk: ""
debug: false
@@ -37,7 +39,7 @@ leadership:
operator:
image:
repository: quay.io/submariner/submariner-operator
tag: "0.10.1"
tag: "0.14.0-m1"
pullPolicy: IfNotPresent
resources: {}
tolerations: []
@@ -45,7 +47,7 @@ operator:
gateway:
image:
repository: quay.io/submariner/submariner-gateway
tag: "0.10.1"
tag: "0.14.0-m1"
serviceAccounts:
operator:
create: true