mirror of
https://github.com/submariner-io/submariner-charts.git
synced 2026-09-20 23:50:36 +00:00
Compare commits
72
Commits
@@ -0,0 +1,8 @@
|
||||
---
|
||||
name: Broken link detected by CI
|
||||
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.
|
||||
@@ -0,0 +1,57 @@
|
||||
---
|
||||
# Configuration for probot-stale - https://github.com/probot/stale
|
||||
|
||||
# Number of days of inactivity before an Issue becomes stale (pull request is overridden later)
|
||||
daysUntilStale: 60
|
||||
|
||||
# Number of days of inactivity before an Issue or Pull Request with the stale label is closed.
|
||||
# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
|
||||
daysUntilClose: 7
|
||||
|
||||
# Only issues or pull requests with all of these labels are check if stale. Defaults to `[]` (disabled)
|
||||
onlyLabels: []
|
||||
|
||||
# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
|
||||
exemptLabels:
|
||||
- security
|
||||
- confirmed
|
||||
|
||||
# Set to true to ignore issues in a project (defaults to false)
|
||||
exemptProjects: false
|
||||
|
||||
# Set to true to ignore issues in a milestone (defaults to false)
|
||||
exemptMilestones: false
|
||||
|
||||
# Set to true to ignore issues with an assignee (defaults to false)
|
||||
exemptAssignees: false
|
||||
|
||||
# Label to use when marking as stale
|
||||
staleLabel: wontfix
|
||||
|
||||
# Comment to post when marking as stale. Set to `false` to disable
|
||||
markComment: >
|
||||
This issue has been automatically marked as stale because it has not had
|
||||
activity for 60 days. It will be closed if no further activity occurs.
|
||||
Please make a comment if this issue/pr is still valid. Thank you
|
||||
for your contributions.
|
||||
|
||||
# Comment to post when removing the stale label.
|
||||
# unmarkComment: >
|
||||
# Your comment here.
|
||||
|
||||
# Comment to post when closing a stale Issue or Pull Request.
|
||||
# closeComment: >
|
||||
# Your comment here.
|
||||
|
||||
# Limit the number of actions per hour, from 1-30. Default is 30
|
||||
limitPerRun: 30
|
||||
|
||||
# Limit to only `issues` or `pulls`
|
||||
# only: issues
|
||||
|
||||
pulls:
|
||||
daysUntilStale: 30
|
||||
markComment: >
|
||||
This pull request has been automatically marked as stale because it has not had
|
||||
recent activity. It will be closed if no further activity occurs. Thank you
|
||||
for your contributions.
|
||||
@@ -0,0 +1,34 @@
|
||||
---
|
||||
name: End to End Tests
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
e2e:
|
||||
name: E2E
|
||||
timeout-minutes: 30
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
steps:
|
||||
- name: Check out the repository
|
||||
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
|
||||
run: |
|
||||
make e2e
|
||||
|
||||
- name: Post mortem
|
||||
if: failure()
|
||||
run: |
|
||||
df -h
|
||||
free -h
|
||||
make post-mortem
|
||||
@@ -0,0 +1,57 @@
|
||||
---
|
||||
name: Linting
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
dco:
|
||||
name: DCO in Commit Message(s)
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Get PR commits
|
||||
id: 'get-pr-commits'
|
||||
uses: tim-actions/get-pr-commits@master
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Run DCO check
|
||||
uses: tim-actions/dco@master
|
||||
with:
|
||||
commits: ${{ steps.get-pr-commits.outputs.commits }}
|
||||
|
||||
markdown-link-check:
|
||||
name: Markdown Links (modified files)
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out the repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Run markdown-link-check
|
||||
uses: gaurav-nelson/github-action-markdown-link-check@v1
|
||||
with:
|
||||
config-file: ".markdownlinkcheck.json"
|
||||
check-modified-files-only: "yes"
|
||||
|
||||
markdownlint:
|
||||
name: Markdown
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out the repository
|
||||
uses: actions/checkout@v2
|
||||
- name: Run markdownlint
|
||||
uses: nosborn/github-action-markdown-cli@v1.1.1
|
||||
with:
|
||||
files: .
|
||||
config_file: ".markdownlint.yml"
|
||||
|
||||
yaml-lint:
|
||||
name: YAML
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out the repository
|
||||
uses: actions/checkout@v2
|
||||
- name: Run yamllint
|
||||
uses: ibiqlik/action-yamllint@v1
|
||||
with:
|
||||
file_or_dir: submariner/Chart.yaml submariner/values.yaml submariner-k8s-broker/Chart.yaml submariner-k8s-broker/values.yaml submariner-operator/Chart.yaml submariner-operator/values.yaml
|
||||
config_file: .yamllint.yml
|
||||
@@ -0,0 +1,27 @@
|
||||
---
|
||||
name: Periodic
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 0 * * 0"
|
||||
|
||||
jobs:
|
||||
markdown-link-check-periodic:
|
||||
name: Markdown Links (all files)
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out the repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Run markdown-link-check
|
||||
uses: gaurav-nelson/github-action-markdown-link-check@v1
|
||||
with:
|
||||
config-file: ".markdownlinkcheck.json"
|
||||
|
||||
- name: Raise an Issue to report broken links
|
||||
if: ${{ failure() }}
|
||||
uses: JasonEtco/create-an-issue@v2
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
filename: .github/ISSUE_TEMPLATE/broken-link.md
|
||||
@@ -0,0 +1,2 @@
|
||||
.idea
|
||||
*.tgz
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"ignorePatterns": [
|
||||
{
|
||||
"pattern": "^https://github.com/\\S+/\\S+/(issues|pull)/[0-9]+"
|
||||
},
|
||||
{
|
||||
"pattern": "^http://localhost:"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
---
|
||||
# Breaks reusing MD snippets extracted to files
|
||||
first-line-heading: false
|
||||
|
||||
# Set maximum line Length to 140c to match Go linting
|
||||
line-length:
|
||||
line_length: 140
|
||||
|
||||
# Allow HTML span elements to set font sizes
|
||||
no-inline-html:
|
||||
allowed_elements:
|
||||
- span
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
language: python
|
||||
|
||||
env:
|
||||
global:
|
||||
- HELM_URL=https://storage.googleapis.com/kubernetes-helm
|
||||
- HELM_TGZ=helm-v2.14.3-linux-amd64.tar.gz
|
||||
- TARGET_BR=gh-pages
|
||||
- GH_URL=https://submariner-io.github.io/submariner-charts/charts
|
||||
- CHARTS_DIR=charts
|
||||
- YAMLLINT_VERSION=1.17.0
|
||||
- HELM_FLAGS='--set submariner.serviceDiscovery=true,serviceAccounts.globalnet.create=true,globalCidr="169.254.0.0/16"'
|
||||
|
||||
install:
|
||||
- wget -q ${HELM_URL}/${HELM_TGZ}
|
||||
- tar xzfv ${HELM_TGZ}
|
||||
- PATH=`pwd`/linux-amd64/:$PATH
|
||||
- helm init --client-only
|
||||
- sudo pip install yamllint=="${YAMLLINT_VERSION}"
|
||||
|
||||
script:
|
||||
- for dir in submariner submariner-k8s-broker submariner-operator; do helm lint $dir $HELM_FLAGS; done
|
||||
- yamllint -c .yamllint.yml -s $(find . -type f -name "Chart.yaml")
|
||||
- yamllint -c .yamllint.yml -s $(find . -type f -name "values.yaml")
|
||||
|
||||
after_success:
|
||||
- >
|
||||
if [ $TRAVIS_BRANCH = 'master' ] && [ $TRAVIS_PULL_REQUEST = 'false' ]; then
|
||||
set -e
|
||||
for dir in submariner submariner-k8s-broker submariner-operator; do
|
||||
helm dep update $dir
|
||||
helm package $dir
|
||||
done
|
||||
REPO_URL=`git config remote.origin.url`
|
||||
git clone ${REPO_URL} out && cd out && git checkout gh-pages && mkdir -p ${CHARTS_DIR}
|
||||
cp -f ../submariner-*.tgz ${CHARTS_DIR}/
|
||||
if [ -f charts/index.yaml ]; then
|
||||
helm repo index ${CHARTS_DIR} --url ${GH_URL} --merge index.yaml
|
||||
else
|
||||
helm repo index ${CHARTS_DIR} --url ${GH_URL}
|
||||
fi
|
||||
git config user.name "Travis CI"
|
||||
git config user.email "travis@travis-ci.org"
|
||||
git add -f ${CHARTS_DIR}/*
|
||||
git commit -m "Travis build: $TRAVIS_BUILD_NUMBER"
|
||||
git remote add origin-pages https://${GH_TOKEN}@github.com/submariner-io/submariner-charts.git > /dev/null 2>&1
|
||||
git push --quiet -f -u origin-pages gh-pages
|
||||
fi
|
||||
@@ -0,0 +1,15 @@
|
||||
---
|
||||
extends: default
|
||||
rules:
|
||||
comments: disable
|
||||
comments-indentation: disable
|
||||
line-length:
|
||||
max: 150
|
||||
braces:
|
||||
min-spaces-inside: 0
|
||||
max-spaces-inside: 0
|
||||
brackets:
|
||||
min-spaces-inside: 0
|
||||
max-spaces-inside: 0
|
||||
indentation:
|
||||
indent-sequences: consistent
|
||||
@@ -0,0 +1 @@
|
||||
* @mangelajo @tpantelis @Oats87
|
||||
@@ -0,0 +1,15 @@
|
||||
FROM quay.io/submariner/shipyard-dapper-base:devel
|
||||
|
||||
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}
|
||||
|
||||
# Override the Helm deployment scripts
|
||||
COPY deploy_helm /opt/shipyard/scripts/lib/
|
||||
|
||||
ENTRYPOINT ["/opt/shipyard/scripts/entry"]
|
||||
CMD ["sh"]
|
||||
@@ -0,0 +1,38 @@
|
||||
ifneq (,$(DAPPER_HOST_ARCH))
|
||||
|
||||
# Running in Dapper
|
||||
|
||||
include $(SHIPYARD_DIR)/Makefile.inc
|
||||
|
||||
CLUSTER_SETTINGS_FLAG = --cluster_settings $(DAPPER_SOURCE)/cluster_settings
|
||||
override CLUSTERS_ARGS += $(CLUSTER_SETTINGS_FLAG)
|
||||
override DEPLOY_ARGS += $(CLUSTER_SETTINGS_FLAG) --deploytool helm
|
||||
export DEPLOY_ARGS
|
||||
|
||||
# Targets to make
|
||||
|
||||
deploy: clusters preload-images
|
||||
|
||||
e2e: E2E_ARGS=cluster1 cluster2
|
||||
|
||||
preload-images:
|
||||
source $(SCRIPTS_DIR)/lib/debug_functions; \
|
||||
source $(SCRIPTS_DIR)/lib/deploy_funcs; \
|
||||
source $(SCRIPTS_DIR)/lib/version; \
|
||||
set -e; \
|
||||
for image in submariner submariner-route-agent submariner-operator lighthouse-agent submariner-globalnet lighthouse-coredns; do \
|
||||
import_image quay.io/submariner/$${image}; \
|
||||
done
|
||||
|
||||
.PHONY: preload-images
|
||||
|
||||
else
|
||||
|
||||
# Not running in Dapper
|
||||
|
||||
include Makefile.dapper
|
||||
|
||||
endif
|
||||
|
||||
# Disable rebuilding Makefile
|
||||
Makefile Makefile.dapper Makefile.inc: ;
|
||||
@@ -0,0 +1,26 @@
|
||||
# This Makefile contains the rules required to set up our
|
||||
# Dapper-based build environment; it can be copied as-is to
|
||||
# other projects (and needs to be copied, it can't be shared
|
||||
# via the Dapper image since it's needed to retrieve the image)
|
||||
|
||||
.dapper:
|
||||
@echo Downloading dapper
|
||||
@curl -sL https://releases.rancher.com/dapper/latest/dapper-`uname -s`-`uname -m` > .dapper.tmp
|
||||
@@chmod +x .dapper.tmp
|
||||
@./.dapper.tmp -v
|
||||
@mv .dapper.tmp .dapper
|
||||
|
||||
invoke_dapper = +./.dapper -m bind make -- $1
|
||||
|
||||
%: .dapper
|
||||
@echo Invoking Dapper, MAKEFLAGS=$(MAKEFLAGS)
|
||||
$(call invoke_dapper,$@)
|
||||
|
||||
# Ensure that files in the current directory don't hide Dapper targets
|
||||
$(wildcard [^M]*): .dapper
|
||||
$(call invoke_dapper,$@)
|
||||
|
||||
shell: .dapper
|
||||
./.dapper -m bind -s
|
||||
|
||||
.PHONY: shell $(wildcard [^M]*)
|
||||
@@ -1,3 +1,116 @@
|
||||
# submariner-charts
|
||||
|
||||
Please see https://github.com/submariner-io/submariner for more information.
|
||||
Please see the [Helm docs on Submariner's website](https://submariner.io/deployment/helm/).
|
||||
|
||||
## Dev workflow
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- [helm]
|
||||
- [docker] or [podman]
|
||||
|
||||
### Create a fork and checkout
|
||||
|
||||
[Create a fork] of the original repository, clone it locally and checkout a new branch from master.
|
||||
|
||||
Example:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/myuser/submariner-charts.git
|
||||
cd submariner-charts
|
||||
git checkout -b new-feature
|
||||
```
|
||||
|
||||
Now you can modify the helm charts according to your needs.
|
||||
|
||||
### Serve the modified charts
|
||||
|
||||
Before serving the modified charts, the charts must be packaged for local usage.
|
||||
|
||||
```bash
|
||||
helm package ./submariner
|
||||
helm package ./submariner-k8s-broker
|
||||
```
|
||||
|
||||
Note: if you just installed helm, you have to init the helm, by running
|
||||
|
||||
```bash
|
||||
helm init --client-only
|
||||
```
|
||||
|
||||
Serve the packaged charts through a local helm repository:
|
||||
|
||||
```bash
|
||||
docker run -d --rm --name helm-repo -p 8080:8080 -v $PWD:/charts -e DEBUG=true -e STORAGE=local -e STORAGE_LOCAL_ROOTDIR=/charts chartmuseum/chartmuseum
|
||||
```
|
||||
|
||||
or
|
||||
|
||||
```bash
|
||||
sudo podman run -d --rm --name helm-repo -p 8080:8080 -v $PWD:/charts -e DEBUG=true -e STORAGE=local -e STORAGE_LOCAL_ROOTDIR=/charts chartmuseum/chartmuseum
|
||||
```
|
||||
|
||||
Get the container internal ip:
|
||||
|
||||
```bash
|
||||
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' helm-repo
|
||||
```
|
||||
|
||||
The local container will serve the charts locally on port 8080.
|
||||
|
||||
Get logs for the container:
|
||||
|
||||
```bash
|
||||
docker logs -f helm-repo
|
||||
```
|
||||
|
||||
### Use the modified charts
|
||||
|
||||
Init helm
|
||||
|
||||
```bash
|
||||
helm init --client-only
|
||||
```
|
||||
|
||||
Add your local repository to helm
|
||||
|
||||
```bash
|
||||
internal_ip=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' helm-repo)
|
||||
helm repo add test-repo http://$internal_ip:8080
|
||||
```
|
||||
|
||||
List the repos:
|
||||
|
||||
```bash
|
||||
helm repo list
|
||||
```
|
||||
|
||||
You should be able to see test-repo in the list
|
||||
|
||||
Search the new repo for submariner charts:
|
||||
|
||||
```bash
|
||||
helm search -l test-repo
|
||||
```
|
||||
|
||||
### Modify submariner e2e tests helm deployment script to use your local test-repo
|
||||
|
||||
You can test your helm-charts with e2e tests from the [shipyard](https://github.com/submariner-io/shipyard) repository.
|
||||
In the file `scripts/shared/lib/deploy_helm` change the line from:
|
||||
|
||||
```bash
|
||||
helm repo add submariner-latest https://submariner-io.github.io/submariner-charts/charts
|
||||
```
|
||||
|
||||
to
|
||||
|
||||
```bash
|
||||
internal_ip=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' helm-repo)
|
||||
helm repo add submariner-latest http://$internal_ip:8080
|
||||
```
|
||||
|
||||
<!--links-->
|
||||
[helm]: https://helm.sh/docs/using_helm/#installing-helm
|
||||
[docker]: https://docs.docker.com/install/
|
||||
[podman]: https://podman.io/getting-started/installation
|
||||
[Create a fork]: https://help.github.com/en/articles/fork-a-repo
|
||||
|
||||
-3771
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user