Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0159802497 | ||
|
|
90d781ca2d | ||
|
|
1732d9f4b0 | ||
|
|
8de5a5b0f3 | ||
|
|
35276a503b | ||
|
|
c6c811ea76 | ||
|
|
f2baa17131 | ||
|
|
a34840b0a7 | ||
|
|
06b52e3631 | ||
|
|
19858521fd | ||
|
|
4c4b574d07 | ||
|
|
9b978cf2fd | ||
|
|
ef05e242e4 | ||
|
|
156c1ac2e6 | ||
|
|
ade2daa013 | ||
|
|
6a84cee1d8 | ||
|
|
b95e317a20 | ||
|
|
0cfe08df55 | ||
|
|
4e0643eed7 | ||
|
|
103c7d57e4 | ||
|
|
c6d01827b0 | ||
|
|
d8fe37e736 | ||
|
|
c126298db4 | ||
|
|
f7e9e71ee1 | ||
|
|
3e43c07e5a | ||
|
|
932be4eb38 | ||
|
|
8bfe2d0ed1 | ||
|
|
9cea0d2b32 | ||
|
|
5337dbfd0b | ||
|
|
08c662bc11 | ||
|
|
241983d2f7 | ||
|
|
63864a91f2 | ||
|
|
579d46cc1b | ||
|
|
dcecb10e6c | ||
|
|
6144c58a44 | ||
|
|
7e8d5dd7ef | ||
|
|
796c7a48e8 | ||
|
|
b0e4440328 | ||
|
|
b801c77432 | ||
|
|
82b2848eb7 | ||
|
|
0c1b03b862 | ||
|
|
0c8573467b | ||
|
|
12f8017d9b | ||
|
|
29b0cf24ac | ||
|
|
d4aba532f3 | ||
|
|
9b57f1f2e7 | ||
|
|
1fe13624f2 | ||
|
|
fdecc98775 | ||
|
|
10852c90a5 | ||
|
|
62f729727a | ||
|
|
95faf60959 | ||
|
|
17fbe42fcc | ||
|
|
f44174debc | ||
|
|
efeb6951dc | ||
|
|
b85ba9e419 | ||
|
|
d23ed572f9 | ||
|
|
e7d6381876 | ||
|
|
57b537f09e | ||
|
|
2e4825def0 | ||
|
|
3fabf64b3c | ||
|
|
2a40b4538c | ||
|
|
27132975c4 | ||
|
|
b099db38d7 | ||
|
|
88039cad63 | ||
|
|
267f7faf18 | ||
|
|
2223081c80 | ||
|
|
2eb2eba88c | ||
|
|
8a17d391c5 | ||
|
|
15e16fcc82 | ||
|
|
7137b39a14 | ||
|
|
fc97b7609b | ||
|
|
c6329ee3db | ||
|
|
7b21fbc199 | ||
|
|
703d757c29 | ||
|
|
c09319ceb3 | ||
|
|
3762ff80f2 | ||
|
|
b43b31884a | ||
|
|
56b49dcee8 | ||
|
|
657aee7cc2 | ||
|
|
44922bce6c | ||
|
|
3bcda55aa8 | ||
|
|
997493351a | ||
|
|
3d77077bc5 | ||
|
|
f955d1182a | ||
|
|
1cbc0ba9ff | ||
|
|
0936c6a2d7 | ||
|
|
f0ec328d24 | ||
|
|
2b1ac28300 | ||
|
|
0fb2096788 | ||
|
|
6e375629e7 | ||
|
|
1133386ce9 | ||
|
|
f99f10134c | ||
|
|
6c431e4d9b | ||
|
|
31c81e132e | ||
|
|
a5f3402dbc | ||
|
|
784bd82ec7 | ||
|
|
cd742a6d18 | ||
|
|
32530ac474 | ||
|
|
117c383fac | ||
|
|
3a1db58066 | ||
|
|
ce42dbc647 | ||
|
|
3840a90b54 | ||
|
|
77d4745242 | ||
|
|
715ef8267e | ||
|
|
b622f13ab6 | ||
|
|
2213ebc637 | ||
|
|
1f138d03fa | ||
|
|
a8e8cfb72d | ||
|
|
963081e096 | ||
|
|
a96b92f41f | ||
|
|
a93e9b4074 | ||
|
|
0de8923ea8 | ||
|
|
1cb18a78a6 | ||
|
|
4ebdb16623 | ||
|
|
3c0c96e98e | ||
|
|
e462f9ab71 | ||
|
|
d025022042 | ||
|
|
c4ed12d9c5 | ||
|
|
d3a615211f | ||
|
|
2b017f810a | ||
|
|
5c3c55d52f | ||
|
|
5db09a899a | ||
|
|
0edf2640b1 | ||
|
|
deb3523b59 | ||
|
|
0635a6a644 | ||
|
|
a9d55423ae | ||
|
|
496e4e3162 | ||
|
|
6667d7e383 | ||
|
|
922cb34243 | ||
|
|
fcf4fd2e63 | ||
|
|
69470a68d0 | ||
|
|
8df4fd0e7c | ||
|
|
275cfb55a6 | ||
|
|
3e25f474b0 | ||
|
|
d52c60216e | ||
|
|
16cbb87eab | ||
|
|
5fae765323 | ||
|
|
31f4f8c57e | ||
|
|
3ae1742953 | ||
|
|
d16de59e9f | ||
|
|
61d98152f1 | ||
|
|
300739c031 | ||
|
|
94eead8697 | ||
|
|
612206b033 | ||
|
|
985d94b5b8 | ||
|
|
4dde3c9520 | ||
|
|
9ccd2a4128 | ||
|
|
e9fd13b60c | ||
|
|
ee623d31b2 | ||
|
|
9612baecc0 | ||
|
|
691feaa84f | ||
|
|
6bf0c4124a | ||
|
|
9eb7acf061 | ||
|
|
e015d6d61f | ||
|
|
918214c0a9 | ||
|
|
526b5f0beb | ||
|
|
0aec9e139e | ||
|
|
8a3d8a4762 | ||
|
|
38d380924d | ||
|
|
1e0641d5f9 | ||
|
|
f11902e81b | ||
|
|
8db3d0065a | ||
|
|
92453908c6 | ||
|
|
28daccb3aa | ||
|
|
31639774b0 | ||
|
|
82d066b73a | ||
|
|
9c4fc4a306 | ||
|
|
68286fe44e | ||
|
|
d559628f29 | ||
|
|
4cbe6a7061 | ||
|
|
6d117ad43a | ||
|
|
70a0afd624 | ||
|
|
d2f201b721 | ||
|
|
3b2a86a8c9 | ||
|
|
9a07d7d96b | ||
|
|
31dfc3e4d3 | ||
|
|
66897cb9d0 | ||
|
|
57d3a80fc6 | ||
|
|
fa037166e1 | ||
|
|
32bd874ab6 | ||
|
|
b71a36dc1c | ||
|
|
261bf24974 | ||
|
|
6af53807aa | ||
|
|
f37e9e6f89 | ||
|
|
b9fa6ca20a | ||
|
|
c33842c94c | ||
|
|
9ff9a6e075 | ||
|
|
a64fcc3faf | ||
|
|
47cbbef06f | ||
|
|
dbd2153181 | ||
|
|
2bd005c387 | ||
|
|
3a9e5ab65d | ||
|
|
ee790b3e1e | ||
|
|
7eeb3ead66 | ||
|
|
827baea974 | ||
|
|
facd14de90 | ||
|
|
8d65b062f1 | ||
|
|
d933f0ba6c | ||
|
|
f2b790921b | ||
|
|
8fe62b755c | ||
|
|
b9513868ed | ||
|
|
0739aca920 | ||
|
|
18225db2bd | ||
|
|
8008a5420a | ||
|
|
3fa0f4bde3 | ||
|
|
a8a81ef5be | ||
|
|
1102999b4d | ||
|
|
da50c3759d | ||
|
|
e87c84ee2c | ||
|
|
d03395949b | ||
|
|
b19d18c8bc |
+3
-5
@@ -1,11 +1,9 @@
|
|||||||
ignore:
|
ignore:
|
||||||
- "charts"
|
- "charts"
|
||||||
- "demos"
|
- "test/"
|
||||||
- "Documentation"
|
|
||||||
- "examples"
|
|
||||||
- "test"
|
|
||||||
- "tools"
|
- "tools"
|
||||||
- "pkg/apis/genclient"
|
- "pkg/generated" # generated code
|
||||||
|
- "pkg/apis/*/*/zz_generated*" # generated code
|
||||||
coverage:
|
coverage:
|
||||||
status:
|
status:
|
||||||
project:
|
project:
|
||||||
|
|||||||
@@ -22,21 +22,21 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
CodeQL-Build:
|
CodeQL-Build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-ci') }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out code
|
- name: Check out code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||||
|
|
||||||
- name: setup go
|
- name: setup go
|
||||||
uses: actions/setup-go@v3
|
uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0
|
||||||
with:
|
with:
|
||||||
go-version-file: "go.mod"
|
go-version-file: "go.mod"
|
||||||
cache: true
|
cache: true
|
||||||
|
|
||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
uses: github/codeql-action/init@v2
|
uses: github/codeql-action/init@66b90a5db151a8042fa97405c6cf843bbe433f7b # v2.22.7
|
||||||
with:
|
with:
|
||||||
languages: go
|
languages: go
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
- name: Perform CodeQL Analysis
|
||||||
uses: github/codeql-action/analyze@v2
|
uses: github/codeql-action/analyze@66b90a5db151a8042fa97405c6cf843bbe433f7b # v2.22.7
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
name: Greetings
|
|
||||||
|
|
||||||
on: [pull_request, issues]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
greeting:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
permissions:
|
|
||||||
issues: write
|
|
||||||
pull-requests: write
|
|
||||||
steps:
|
|
||||||
- uses: actions/first-interaction@v1
|
|
||||||
if: env.month != 'Oct'
|
|
||||||
with:
|
|
||||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
issue-message: 'Thank you for your first issue! ✨😊'
|
|
||||||
pr-message: 'Thank you for contributing to this project! ✨😊'
|
|
||||||
- uses: actions/first-interaction@v1
|
|
||||||
if: env.month == 'Oct'
|
|
||||||
with:
|
|
||||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
issue-message: 'Thank you for your first issue! Happy Hacktoberfest!!! ✨🎃👕✨'
|
|
||||||
pr-message: 'Thank you for contributing to this project. Happy Hacktoberfest!!! ✨🎃👕'
|
|
||||||
@@ -16,15 +16,15 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
lint-dashboards:
|
lint-dashboards:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-ci') }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out code
|
- name: Check out code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||||
|
|
||||||
- name: Set up Go
|
- name: Set up Go
|
||||||
uses: actions/setup-go@v3
|
uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0
|
||||||
with:
|
with:
|
||||||
go-version: 1.18.5
|
go-version-file: "go.mod"
|
||||||
|
|
||||||
- name: Install dashboard linter
|
- name: Install dashboard linter
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
@@ -18,19 +18,19 @@ on:
|
|||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
env:
|
env:
|
||||||
GOLANGCI_LINT_VERSION: v1.49.0
|
GOLANGCI_LINT_VERSION: v1.55.2
|
||||||
GOLANGCI_LINT_TIMEOUT: 5m
|
GOLANGCI_LINT_TIMEOUT: 5m
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
lint:
|
lint:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
# if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-ci') }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out code
|
- name: Check out code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||||
|
|
||||||
- name: Set up Go
|
- name: Set up Go
|
||||||
uses: actions/setup-go@v3
|
uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0
|
||||||
with:
|
with:
|
||||||
go-version-file: "go.mod"
|
go-version-file: "go.mod"
|
||||||
cache: true
|
cache: true
|
||||||
@@ -41,7 +41,7 @@ jobs:
|
|||||||
go mod download
|
go mod download
|
||||||
|
|
||||||
- name: Run golangci-lint
|
- name: Run golangci-lint
|
||||||
uses: golangci/golangci-lint-action@v3
|
uses: golangci/golangci-lint-action@3a919529898de77ec3da873e3063ca4b10e7f5cc # v3.7.0
|
||||||
with:
|
with:
|
||||||
version: ${{ env.GOLANGCI_LINT_VERSION }}
|
version: ${{ env.GOLANGCI_LINT_VERSION }}
|
||||||
args: --timeout=${{ env.GOLANGCI_LINT_TIMEOUT }}
|
args: --timeout=${{ env.GOLANGCI_LINT_TIMEOUT }}
|
||||||
@@ -61,7 +61,7 @@ jobs:
|
|||||||
run: ./hack/runtests.sh
|
run: ./hack/runtests.sh
|
||||||
|
|
||||||
- name: Upload Coverage report to CodeCov
|
- name: Upload Coverage report to CodeCov
|
||||||
uses: codecov/codecov-action@v2
|
uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4
|
||||||
with:
|
with:
|
||||||
token: ${{secrets.CODECOV_TOKEN}}
|
token: ${{secrets.CODECOV_TOKEN}}
|
||||||
flags: unittests
|
flags: unittests
|
||||||
|
|||||||
+194
-20
@@ -22,51 +22,56 @@ on:
|
|||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
env:
|
env:
|
||||||
HELM_VERSION: v3.9.0
|
HELM_VERSION: v3.13.0
|
||||||
KIND_VERSION: v0.14.0
|
KIND_VERSION: v0.23.0
|
||||||
|
KIND_CLUSTER_NAME: kind
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
# Job to run change detection
|
# Job to run change detection
|
||||||
integration-test:
|
integration-test:
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
|
if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-ci') }}
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
kindversion: ["v1.19.16", "v1.20.15", "v1.21.12"]
|
kindversion: ["v1.25.16", "v1.27.13", "v1.30.0"]
|
||||||
os: [ubuntu-latest]
|
os: [ubuntu-latest]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout sources
|
- name: Checkout sources
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||||
|
|
||||||
- name: setup go
|
- name: setup go
|
||||||
uses: actions/setup-go@v3
|
uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0
|
||||||
with:
|
with:
|
||||||
go-version-file: "go.mod"
|
go-version-file: "go.mod"
|
||||||
cache: true
|
cache: true
|
||||||
|
|
||||||
- name: Checkout sources
|
- name: Checkout sources
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||||
with:
|
with:
|
||||||
repository: fission/examples
|
repository: fission/examples
|
||||||
path: examples
|
path: examples
|
||||||
|
|
||||||
- name: Helm installation
|
- name: Helm installation
|
||||||
uses: Azure/setup-helm@v3
|
uses: Azure/setup-helm@5119fcb9089d432beecbf79bb2c7915207344b78 # v3.5
|
||||||
with:
|
with:
|
||||||
version: ${{ env.HELM_VERSION }}
|
version: ${{ env.HELM_VERSION }}
|
||||||
|
|
||||||
- name: Kind Clutser
|
- name: Kind Cluster
|
||||||
uses: engineerd/setup-kind@v0.5.0
|
uses: helm/kind-action@0025e74a8c7512023d06dc019c617aa3cf561fde # v1.10.0
|
||||||
with:
|
with:
|
||||||
image: kindest/node:${{ matrix.kindversion }}
|
node_image: kindest/node:${{ matrix.kindversion }}
|
||||||
version: ${{ env.KIND_VERSION }}
|
version: ${{ env.KIND_VERSION }}
|
||||||
|
cluster_name: ${{ env.KIND_CLUSTER_NAME }}
|
||||||
config: kind.yaml
|
config: kind.yaml
|
||||||
|
|
||||||
- name: Configuring and testing the Installation
|
- name: Configuring and testing the Installation
|
||||||
run: |
|
run: |
|
||||||
kubectl cluster-info --context kind-kind
|
kubectl cluster-info --context kind-${{ env.KIND_CLUSTER_NAME }}
|
||||||
kubectl get nodes
|
kubectl get nodes
|
||||||
sudo apt-get install -y apache2-utils
|
sudo apt-get install -y apache2-utils
|
||||||
|
kubectl config use-context kind-${{ env.KIND_CLUSTER_NAME }}
|
||||||
|
kubectl config view
|
||||||
|
|
||||||
- name: Helm chart lint
|
- name: Helm chart lint
|
||||||
run: |
|
run: |
|
||||||
@@ -74,21 +79,23 @@ jobs:
|
|||||||
|
|
||||||
- name: Install Skaffold
|
- name: Install Skaffold
|
||||||
run: |
|
run: |
|
||||||
curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/latest/skaffold-linux-amd64
|
curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v2.0.3/skaffold-linux-amd64
|
||||||
sudo install skaffold /usr/local/bin/
|
sudo install skaffold /usr/local/bin/
|
||||||
skaffold version
|
skaffold version
|
||||||
|
|
||||||
- name: Install GoReleaser
|
- name: Install GoReleaser
|
||||||
uses: goreleaser/goreleaser-action@v2
|
uses: goreleaser/goreleaser-action@7ec5c2b0c6cdda6e8bbb49444bc797dd33d74dd8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
install-only: true
|
install-only: true
|
||||||
|
version: "~> v1"
|
||||||
|
|
||||||
- name: Setup Prometheus Stack
|
- name: Setup Prometheus Stack
|
||||||
run: |
|
run: |
|
||||||
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
|
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
|
||||||
helm repo update
|
helm repo update
|
||||||
kubectl create ns monitoring
|
kubectl create ns monitoring
|
||||||
helm install monitoring prometheus-community/prometheus -n monitoring
|
helm install prometheus prometheus-community/kube-prometheus-stack -n monitoring \
|
||||||
|
--version 45.28.0 --set grafana.enabled=false --set alertmanager.enabled=false
|
||||||
|
|
||||||
- name: Build and Install Fission CLI
|
- name: Build and Install Fission CLI
|
||||||
run: |
|
run: |
|
||||||
@@ -98,6 +105,7 @@ jobs:
|
|||||||
sudo chmod +x /usr/local/bin/fission
|
sudo chmod +x /usr/local/bin/fission
|
||||||
|
|
||||||
- name: Build and Install Fission
|
- name: Build and Install Fission
|
||||||
|
timeout-minutes: 10
|
||||||
run: |
|
run: |
|
||||||
kubectl create ns fission
|
kubectl create ns fission
|
||||||
make create-crds
|
make create-crds
|
||||||
@@ -106,37 +114,203 @@ jobs:
|
|||||||
- name: Port-forward fission components
|
- name: Port-forward fission components
|
||||||
run: |
|
run: |
|
||||||
kubectl port-forward svc/router 8888:80 -nfission &
|
kubectl port-forward svc/router 8888:80 -nfission &
|
||||||
kubectl port-forward svc/controller 8889:80 -nfission &
|
|
||||||
|
|
||||||
- name: Get fission version
|
- name: Get fission version
|
||||||
|
timeout-minutes: 10
|
||||||
run: |
|
run: |
|
||||||
fission version
|
fission version
|
||||||
|
|
||||||
- name: Integration tests
|
- name: Integration tests
|
||||||
|
timeout-minutes: 90
|
||||||
run: ./test/kind_CI.sh
|
run: ./test/kind_CI.sh
|
||||||
|
|
||||||
- name: Collect Fission Dump
|
- name: Collect Fission Dump
|
||||||
|
timeout-minutes: 5
|
||||||
if: ${{ always() }}
|
if: ${{ always() }}
|
||||||
run: |
|
run: |
|
||||||
command -v fission && fission support dump
|
command -v fission && fission support dump
|
||||||
|
|
||||||
- name: Kind export logs
|
- name: Kind export logs
|
||||||
|
timeout-minutes: 10
|
||||||
if: ${{ always() }}
|
if: ${{ always() }}
|
||||||
run: |
|
run: |
|
||||||
kind export logs --name kind kind-logs
|
kind export logs --name ${{ env.KIND_CLUSTER_NAME }} kind-logs
|
||||||
|
|
||||||
|
- name: Backup prometheus data
|
||||||
|
timeout-minutes: 10
|
||||||
|
if: ${{ always() }}
|
||||||
|
run: |
|
||||||
|
TRACE=1 ./hack/backup-prometheus.sh
|
||||||
|
|
||||||
- name: Archive fission dump
|
- name: Archive fission dump
|
||||||
if: ${{ failure() }}
|
timeout-minutes: 10
|
||||||
uses: actions/upload-artifact@v2
|
if: ${{ failure() || cancelled() }}
|
||||||
|
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
|
||||||
with:
|
with:
|
||||||
name: fission-dump-${{ github.run_id }}-${{ matrix.kindversion }}
|
name: fission-dump-${{ github.run_id }}-${{ matrix.kindversion }}
|
||||||
path: fission-dump/*.zip
|
path: fission-dump/*.zip
|
||||||
retention-days: 5
|
retention-days: 5
|
||||||
|
|
||||||
- name: Archive kind logs
|
- name: Archive prometheus dump
|
||||||
|
timeout-minutes: 10
|
||||||
if: ${{ always() }}
|
if: ${{ always() }}
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
|
||||||
|
with:
|
||||||
|
name: prom-dump-${{ github.run_id }}-${{ matrix.kindversion }}
|
||||||
|
path: /tmp/prometheus/*
|
||||||
|
retention-days: 5
|
||||||
|
|
||||||
|
- name: Archive kind logs
|
||||||
|
timeout-minutes: 10
|
||||||
|
if: ${{ always() }}
|
||||||
|
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
|
||||||
with:
|
with:
|
||||||
name: kind-logs-${{ github.run_id }}-${{ matrix.kindversion }}
|
name: kind-logs-${{ github.run_id }}-${{ matrix.kindversion }}
|
||||||
path: kind-logs/*
|
path: kind-logs/*
|
||||||
retention-days: 5
|
retention-days: 5
|
||||||
|
|
||||||
|
# Job to ensure backward compatibility if function and builder pods are created
|
||||||
|
# inside functionNamespace and builderNamespace
|
||||||
|
integration-test-old:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
if: ${{ contains(github.event.pull_request.labels.*.name, 'run-old-ci') }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
kindversion: ["v1.19.16"]
|
||||||
|
os: [ubuntu-latest]
|
||||||
|
steps:
|
||||||
|
- name: Checkout sources
|
||||||
|
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||||
|
|
||||||
|
- name: setup go
|
||||||
|
uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0
|
||||||
|
with:
|
||||||
|
go-version-file: "go.mod"
|
||||||
|
cache: true
|
||||||
|
|
||||||
|
- name: Checkout sources
|
||||||
|
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||||
|
with:
|
||||||
|
repository: fission/examples
|
||||||
|
path: examples
|
||||||
|
|
||||||
|
- name: Helm installation
|
||||||
|
uses: Azure/setup-helm@5119fcb9089d432beecbf79bb2c7915207344b78 # v3.5
|
||||||
|
with:
|
||||||
|
version: ${{ env.HELM_VERSION }}
|
||||||
|
|
||||||
|
- name: Kind Cluster
|
||||||
|
uses: helm/kind-action@0025e74a8c7512023d06dc019c617aa3cf561fde # v1.10.0
|
||||||
|
with:
|
||||||
|
node_image: kindest/node:${{ matrix.kindversion }}
|
||||||
|
version: ${{ env.KIND_VERSION }}
|
||||||
|
cluster_name: ${{ env.KIND_CLUSTER_NAME }}
|
||||||
|
config: kind.yaml
|
||||||
|
|
||||||
|
- name: Configuring and testing the Installation
|
||||||
|
run: |
|
||||||
|
kubectl cluster-info --context kind-${{ env.KIND_CLUSTER_NAME }}
|
||||||
|
kubectl get nodes
|
||||||
|
sudo apt-get install -y apache2-utils
|
||||||
|
kubectl config use-context kind-${{ env.KIND_CLUSTER_NAME }}
|
||||||
|
kubectl config view
|
||||||
|
|
||||||
|
- name: Helm chart lint
|
||||||
|
run: |
|
||||||
|
helm lint charts/fission-all/
|
||||||
|
|
||||||
|
- name: Install Skaffold
|
||||||
|
run: |
|
||||||
|
curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v2.0.3/skaffold-linux-amd64
|
||||||
|
sudo install skaffold /usr/local/bin/
|
||||||
|
skaffold version
|
||||||
|
|
||||||
|
- name: Install GoReleaser
|
||||||
|
uses: goreleaser/goreleaser-action@7ec5c2b0c6cdda6e8bbb49444bc797dd33d74dd8 # v5.0.0
|
||||||
|
with:
|
||||||
|
install-only: true
|
||||||
|
version: "~> v1"
|
||||||
|
|
||||||
|
- name: Setup Prometheus Stack
|
||||||
|
run: |
|
||||||
|
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
|
||||||
|
helm repo update
|
||||||
|
kubectl create ns monitoring
|
||||||
|
helm install prometheus prometheus-community/kube-prometheus-stack -n monitoring \
|
||||||
|
--version 45.28.0 --set grafana.enabled=false --set alertmanager.enabled=false
|
||||||
|
|
||||||
|
- name: Build and Install Fission CLI
|
||||||
|
run: |
|
||||||
|
make debug-vars
|
||||||
|
make build-fission-cli
|
||||||
|
sudo make install-fission-cli
|
||||||
|
sudo chmod +x /usr/local/bin/fission
|
||||||
|
|
||||||
|
- name: Build and Install Fission
|
||||||
|
timeout-minutes: 10
|
||||||
|
run: |
|
||||||
|
kubectl create ns fission
|
||||||
|
make create-crds
|
||||||
|
SKAFFOLD_PROFILE=kind-ci-old make skaffold-deploy
|
||||||
|
|
||||||
|
- name: Port-forward fission components
|
||||||
|
run: |
|
||||||
|
kubectl port-forward svc/router 8888:80 -nfission &
|
||||||
|
|
||||||
|
- name: Get fission version
|
||||||
|
timeout-minutes: 10
|
||||||
|
run: |
|
||||||
|
fission version
|
||||||
|
|
||||||
|
- name: Integration tests
|
||||||
|
timeout-minutes: 90
|
||||||
|
run: |
|
||||||
|
export FUNCTION_NAMESPACE=fission-function
|
||||||
|
export BUILDER_NAMESPACE=fission-builder
|
||||||
|
./test/kind_CI.sh
|
||||||
|
|
||||||
|
- name: Collect Fission Dump
|
||||||
|
timeout-minutes: 5
|
||||||
|
if: ${{ always() }}
|
||||||
|
run: |
|
||||||
|
command -v fission && fission support dump
|
||||||
|
|
||||||
|
- name: Kind export logs
|
||||||
|
timeout-minutes: 10
|
||||||
|
if: ${{ always() }}
|
||||||
|
run: |
|
||||||
|
kind export logs --name kind kind-logs
|
||||||
|
|
||||||
|
- name: Backup prometheus data
|
||||||
|
timeout-minutes: 10
|
||||||
|
if: ${{ always() }}
|
||||||
|
run: |
|
||||||
|
TRACE=1 ./hack/backup-prometheus.sh
|
||||||
|
|
||||||
|
- name: Archive fission dump
|
||||||
|
timeout-minutes: 10
|
||||||
|
if: ${{ failure() || cancelled() }}
|
||||||
|
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
|
||||||
|
with:
|
||||||
|
name: fission-dump-${{ github.run_id }}-${{ github.job_id }}-${{ matrix.kindversion }}
|
||||||
|
path: fission-dump/*.zip
|
||||||
|
retention-days: 5
|
||||||
|
|
||||||
|
- name: Archive prometheus dump
|
||||||
|
timeout-minutes: 10
|
||||||
|
if: ${{ always() }}
|
||||||
|
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
|
||||||
|
with:
|
||||||
|
name: prom-dump-${{ github.run_id }}-${{ github.job_id }}-${{ matrix.kindversion }}
|
||||||
|
path: /tmp/prometheus/*
|
||||||
|
retention-days: 5
|
||||||
|
|
||||||
|
- name: Archive kind logs
|
||||||
|
timeout-minutes: 10
|
||||||
|
if: ${{ always() }}
|
||||||
|
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
|
||||||
|
with:
|
||||||
|
name: kind-logs-${{ github.run_id }}-${{ github.job_id }}-${{ matrix.kindversion }}
|
||||||
|
path: kind-logs/*
|
||||||
|
retention-days: 5
|
||||||
@@ -6,20 +6,21 @@ on:
|
|||||||
- v2.**
|
- v2.**
|
||||||
|
|
||||||
env:
|
env:
|
||||||
KIND_VERSION: v0.14.0
|
KIND_VERSION: v0.23.0
|
||||||
KIND_NODE_IMAGE_TAG: v1.19.16
|
KIND_NODE_IMAGE_TAG: v1.25.16
|
||||||
|
KIND_CLUSTER_NAME: kind
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
create-draft-release:
|
create-draft-release:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Check out code
|
- name: Check out code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Setup go
|
- name: Setup go
|
||||||
uses: actions/setup-go@v3
|
uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0
|
||||||
with:
|
with:
|
||||||
go-version-file: "go.mod"
|
go-version-file: "go.mod"
|
||||||
cache: true
|
cache: true
|
||||||
@@ -29,30 +30,40 @@ jobs:
|
|||||||
run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}
|
run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}
|
||||||
|
|
||||||
- name: Install GoReleaser
|
- name: Install GoReleaser
|
||||||
uses: goreleaser/goreleaser-action@v3
|
uses: goreleaser/goreleaser-action@7ec5c2b0c6cdda6e8bbb49444bc797dd33d74dd8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
install-only: true
|
install-only: true
|
||||||
|
version: "~> v1"
|
||||||
|
|
||||||
- name: Kind Clutser
|
- name: Kind Clutser
|
||||||
uses: engineerd/setup-kind@v0.5.0
|
uses: helm/kind-action@0025e74a8c7512023d06dc019c617aa3cf561fde # v1.10.0
|
||||||
with:
|
with:
|
||||||
image: kindest/node:${{ env.KIND_NODE_IMAGE_TAG }}
|
node_image: kindest/node:${{ env.KIND_NODE_IMAGE_TAG }}
|
||||||
version: ${{ env.KIND_VERSION }}
|
version: ${{ env.KIND_VERSION }}
|
||||||
config: kind.yaml
|
config: kind.yaml
|
||||||
|
cluster_name: ${{ env.KIND_CLUSTER_NAME }}
|
||||||
|
|
||||||
- name: Set up QEMU
|
- name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v2
|
uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # v3.0.0
|
||||||
|
|
||||||
- name: Docker Login
|
- name: Login to ghcr.io
|
||||||
uses: docker/login-action@v2
|
uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ github.repository_owner }}
|
||||||
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Login to docker.io
|
||||||
|
uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
|
||||||
- name: Install Cosign
|
- name: Install Cosign
|
||||||
uses: sigstore/cosign-installer@main
|
uses: sigstore/cosign-installer@1fc5bd396d372bee37d608f955b336615edf79c8 # v3.2.0
|
||||||
with:
|
with:
|
||||||
cosign-release: 'v1.12.0'
|
cosign-release: "v2.2.1"
|
||||||
|
|
||||||
- name: Check cosign install!
|
- name: Check cosign install!
|
||||||
run: cosign version
|
run: cosign version
|
||||||
|
|
||||||
@@ -69,9 +80,9 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
- name: Run GoReleaser
|
- name: Run GoReleaser
|
||||||
uses: goreleaser/goreleaser-action@v3
|
uses: goreleaser/goreleaser-action@7ec5c2b0c6cdda6e8bbb49444bc797dd33d74dd8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
version: latest
|
version: "~> v1"
|
||||||
args: release
|
args: release
|
||||||
env:
|
env:
|
||||||
COSIGN_PWD: ${{ secrets.COSIGN_PWD }}
|
COSIGN_PWD: ${{ secrets.COSIGN_PWD }}
|
||||||
|
|||||||
@@ -22,48 +22,55 @@ on:
|
|||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
env:
|
env:
|
||||||
HELM_VERSION: v3.9.0
|
HELM_VERSION: v3.13.0
|
||||||
KIND_VERSION: v0.14.0
|
KIND_VERSION: v0.23.0
|
||||||
|
KIND_CLUSTER_NAME: kind
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
upgrade-test:
|
upgrade-test:
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
|
if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-ci') }}
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
kindimage: ["kindest/node:v1.19.16"]
|
kindimage: ["kindest/node:v1.25.16"]
|
||||||
os: [ubuntu-latest]
|
os: [ubuntu-latest]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout action sources
|
- name: Checkout action sources
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||||
|
|
||||||
- name: Setup go
|
- name: Setup go
|
||||||
uses: actions/setup-go@v3
|
uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0
|
||||||
with:
|
with:
|
||||||
go-version-file: "go.mod"
|
go-version-file: "go.mod"
|
||||||
cache: true
|
cache: true
|
||||||
|
|
||||||
- name: Setup Helm
|
- name: Setup Helm
|
||||||
uses: Azure/setup-helm@v3
|
uses: Azure/setup-helm@5119fcb9089d432beecbf79bb2c7915207344b78 # v3.5
|
||||||
with:
|
with:
|
||||||
version: ${{ env.HELM_VERSION }}
|
version: ${{ env.HELM_VERSION }}
|
||||||
|
|
||||||
- name: Setup Kind Clutser
|
- name: Setup Kind Clutser
|
||||||
uses: engineerd/setup-kind@v0.5.0
|
uses: helm/kind-action@0025e74a8c7512023d06dc019c617aa3cf561fde # v1.10.0
|
||||||
with:
|
with:
|
||||||
image: ${{ matrix.kindimage }}
|
node_image: ${{ matrix.kindimage }}
|
||||||
version: ${{ env.KIND_VERSION }}
|
version: ${{ env.KIND_VERSION }}
|
||||||
|
cluster_name: ${{ env.KIND_CLUSTER_NAME }}
|
||||||
|
|
||||||
- name: Install GoReleaser
|
- name: Install GoReleaser
|
||||||
uses: goreleaser/goreleaser-action@v2
|
uses: goreleaser/goreleaser-action@7ec5c2b0c6cdda6e8bbb49444bc797dd33d74dd8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
install-only: true
|
install-only: true
|
||||||
|
version: "~> v1"
|
||||||
|
|
||||||
- name: Setup kubectl & fetch node information
|
- name: Setup kubectl & fetch node information
|
||||||
run: |
|
run: |
|
||||||
kubectl cluster-info --context kind-kind
|
kubectl cluster-info --context kind-${{ env.KIND_CLUSTER_NAME }}
|
||||||
kubectl get nodes
|
kubectl get nodes
|
||||||
kubectl get storageclasses.storage.k8s.io
|
kubectl get storageclasses.storage.k8s.io
|
||||||
|
kubectl config use-context kind-${{ env.KIND_CLUSTER_NAME }}
|
||||||
|
kubectl config set-context --current --namespace=default
|
||||||
|
kubectl config view
|
||||||
|
|
||||||
- name: Dump system info
|
- name: Dump system info
|
||||||
run: |
|
run: |
|
||||||
@@ -83,6 +90,7 @@ jobs:
|
|||||||
&& install_fission_cli
|
&& install_fission_cli
|
||||||
|
|
||||||
- name: Test previously created fission objects with new release
|
- name: Test previously created fission objects with new release
|
||||||
|
timeout-minutes: 10
|
||||||
run: |
|
run: |
|
||||||
source ./test/upgrade_test/fission_objects.sh test_fission_objects
|
source ./test/upgrade_test/fission_objects.sh test_fission_objects
|
||||||
|
|
||||||
@@ -91,10 +99,23 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
command -v fission && fission support dump
|
command -v fission && fission support dump
|
||||||
|
|
||||||
|
- name: Kind export logs
|
||||||
|
if: ${{ always() }}
|
||||||
|
run: |
|
||||||
|
kind export logs --name ${{ env.KIND_CLUSTER_NAME }} kind-logs
|
||||||
|
|
||||||
- name: Archive fission dump
|
- name: Archive fission dump
|
||||||
if: ${{ failure() }}
|
if: ${{ failure() || cancelled() }}
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
|
||||||
with:
|
with:
|
||||||
name: fission-dump
|
name: fission-dump-${{ github.run_id }}-${{ matrix.kindversion }}
|
||||||
path: fission-dump/*.zip
|
path: fission-dump/*.zip
|
||||||
retention-days: 5
|
retention-days: 5
|
||||||
|
|
||||||
|
- name: Archive kind logs
|
||||||
|
if: ${{ always() }}
|
||||||
|
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
|
||||||
|
with:
|
||||||
|
name: kind-logs-${{ github.run_id }}-${{ matrix.kindversion }}
|
||||||
|
path: kind-logs/*
|
||||||
|
retention-days: 5
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ cmd/reporter/reporter
|
|||||||
|
|
||||||
# Logs
|
# Logs
|
||||||
test/logs/
|
test/logs/
|
||||||
|
test/e2e/cli/fission-dump/
|
||||||
|
|
||||||
# Pycharm IDE
|
# Pycharm IDE
|
||||||
.idea
|
.idea
|
||||||
@@ -37,3 +38,6 @@ manifest/
|
|||||||
coverage.txt
|
coverage.txt
|
||||||
|
|
||||||
cosign.key
|
cosign.key
|
||||||
|
|
||||||
|
# Dumps
|
||||||
|
.dumps/
|
||||||
|
|||||||
+2
-1
@@ -14,6 +14,7 @@ linters:
|
|||||||
- misspell
|
- misspell
|
||||||
- nakedret
|
- nakedret
|
||||||
- unconvert
|
- unconvert
|
||||||
|
- promlinter
|
||||||
# Enable in future
|
# Enable in future
|
||||||
# - bodyclose
|
# - bodyclose
|
||||||
# - dogsled
|
# - dogsled
|
||||||
@@ -31,4 +32,4 @@ linters-settings:
|
|||||||
goimports:
|
goimports:
|
||||||
# put imports beginning with prefix after 3rd-party packages;
|
# put imports beginning with prefix after 3rd-party packages;
|
||||||
# it's a comma-separated list of prefixes
|
# it's a comma-separated list of prefixes
|
||||||
local-prefixes: github.com/fission/fission
|
local: github.com/fission/fission
|
||||||
|
|||||||
+129
-61
@@ -84,8 +84,12 @@ dockers:
|
|||||||
image_templates:
|
image_templates:
|
||||||
- "fission/builder:latest-amd64"
|
- "fission/builder:latest-amd64"
|
||||||
- "fission/builder:{{ .Tag }}-amd64"
|
- "fission/builder:{{ .Tag }}-amd64"
|
||||||
dockerfile: cmd/builder/Dockerfile.fission-builder
|
- "ghcr.io/fission/builder:latest-amd64"
|
||||||
|
- "ghcr.io/fission/builder:{{ .Tag }}-amd64"
|
||||||
|
dockerfile: cmd/builder/Dockerfile
|
||||||
build_flag_templates:
|
build_flag_templates:
|
||||||
|
- "--label=org.opencontainers.image.description=The builder assists in building the fission function source code for deployment."
|
||||||
|
- "--label=org.opencontainers.image.source={{.GitURL}}"
|
||||||
- "--platform=linux/amd64"
|
- "--platform=linux/amd64"
|
||||||
- "--label=org.opencontainers.image.created={{.Date}}"
|
- "--label=org.opencontainers.image.created={{.Date}}"
|
||||||
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
||||||
@@ -96,28 +100,64 @@ dockers:
|
|||||||
image_templates:
|
image_templates:
|
||||||
- "fission/fetcher:latest-amd64"
|
- "fission/fetcher:latest-amd64"
|
||||||
- "fission/fetcher:{{ .Tag }}-amd64"
|
- "fission/fetcher:{{ .Tag }}-amd64"
|
||||||
dockerfile: cmd/fetcher/Dockerfile.fission-fetcher
|
- "ghcr.io/fission/fetcher:latest-amd64"
|
||||||
|
- "ghcr.io/fission/fetcher:{{ .Tag }}-amd64"
|
||||||
|
dockerfile: cmd/fetcher/Dockerfile
|
||||||
|
build_flag_templates:
|
||||||
|
- "--label=org.opencontainers.image.description=Fetcher is a lightweight component used by environment and builder pods. Fetcher helps in fetch and upload of source/deployment packages and specializing environments."
|
||||||
|
- "--label=org.opencontainers.image.source={{.GitURL}}"
|
||||||
|
- "--platform=linux/amd64"
|
||||||
|
- "--label=org.opencontainers.image.created={{.Date}}"
|
||||||
|
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
||||||
|
- "--label=org.opencontainers.image.version={{.Tag}}"
|
||||||
- <<: *docker-amd64
|
- <<: *docker-amd64
|
||||||
ids:
|
ids:
|
||||||
- fission-bundle
|
- fission-bundle
|
||||||
image_templates:
|
image_templates:
|
||||||
- "fission/fission-bundle:latest-amd64"
|
- "fission/fission-bundle:latest-amd64"
|
||||||
- "fission/fission-bundle:{{ .Tag }}-amd64"
|
- "fission/fission-bundle:{{ .Tag }}-amd64"
|
||||||
dockerfile: cmd/fission-bundle/Dockerfile.fission-bundle
|
- "ghcr.io/fission/fission-bundle:latest-amd64"
|
||||||
|
- "ghcr.io/fission/fission-bundle:{{ .Tag }}-amd64"
|
||||||
|
dockerfile: cmd/fission-bundle/Dockerfile
|
||||||
|
build_flag_templates:
|
||||||
|
- "--label=org.opencontainers.image.description=fission-bundle is a component which is a single binary for all components. Most server side components running on server side are fission-bundle binary wrapped in container and used with different arguments."
|
||||||
|
- "--label=org.opencontainers.image.source={{.GitURL}}"
|
||||||
|
- "--platform=linux/amd64"
|
||||||
|
- "--label=org.opencontainers.image.created={{.Date}}"
|
||||||
|
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
||||||
|
- "--label=org.opencontainers.image.version={{.Tag}}"
|
||||||
- <<: *docker-amd64
|
- <<: *docker-amd64
|
||||||
ids:
|
ids:
|
||||||
- pre-upgrade-checks
|
- pre-upgrade-checks
|
||||||
image_templates:
|
image_templates:
|
||||||
- "fission/pre-upgrade-checks:latest-amd64"
|
- "fission/pre-upgrade-checks:latest-amd64"
|
||||||
- "fission/pre-upgrade-checks:{{ .Tag }}-amd64"
|
- "fission/pre-upgrade-checks:{{ .Tag }}-amd64"
|
||||||
dockerfile: cmd/preupgradechecks/Dockerfile.fission-preupgradechecks
|
- "ghcr.io/fission/pre-upgrade-checks:latest-amd64"
|
||||||
|
- "ghcr.io/fission/pre-upgrade-checks:{{ .Tag }}-amd64"
|
||||||
|
dockerfile: cmd/preupgradechecks/Dockerfile
|
||||||
|
build_flag_templates:
|
||||||
|
- "--label=org.opencontainers.image.description=Preupgradechecks ensures that Fission is ready for the targeted version upgrade by performing checks beforehand."
|
||||||
|
- "--label=org.opencontainers.image.source={{.GitURL}}"
|
||||||
|
- "--platform=linux/amd64"
|
||||||
|
- "--label=org.opencontainers.image.created={{.Date}}"
|
||||||
|
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
||||||
|
- "--label=org.opencontainers.image.version={{.Tag}}"
|
||||||
- <<: *docker-amd64
|
- <<: *docker-amd64
|
||||||
ids:
|
ids:
|
||||||
- reporter
|
- reporter
|
||||||
image_templates:
|
image_templates:
|
||||||
- "fission/reporter:latest-amd64"
|
- "fission/reporter:latest-amd64"
|
||||||
- "fission/reporter:{{ .Tag }}-amd64"
|
- "fission/reporter:{{ .Tag }}-amd64"
|
||||||
dockerfile: cmd/reporter/Dockerfile.reporter
|
- "ghcr.io/fission/reporter:latest-amd64"
|
||||||
|
- "ghcr.io/fission/reporter:{{ .Tag }}-amd64"
|
||||||
|
dockerfile: cmd/reporter/Dockerfile
|
||||||
|
build_flag_templates:
|
||||||
|
- "--label=org.opencontainers.image.description=The reporter gathers information that assists in improving fission."
|
||||||
|
- "--label=org.opencontainers.image.source={{.GitURL}}"
|
||||||
|
- "--platform=linux/amd64"
|
||||||
|
- "--label=org.opencontainers.image.created={{.Date}}"
|
||||||
|
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
||||||
|
- "--label=org.opencontainers.image.version={{.Tag}}"
|
||||||
- &docker-arm64
|
- &docker-arm64
|
||||||
use: buildx
|
use: buildx
|
||||||
goos: linux
|
goos: linux
|
||||||
@@ -127,8 +167,12 @@ dockers:
|
|||||||
image_templates:
|
image_templates:
|
||||||
- "fission/builder:latest-arm64"
|
- "fission/builder:latest-arm64"
|
||||||
- "fission/builder:{{ .Tag }}-arm64"
|
- "fission/builder:{{ .Tag }}-arm64"
|
||||||
dockerfile: cmd/builder/Dockerfile.fission-builder
|
- "ghcr.io/fission/builder:latest-arm64"
|
||||||
|
- "ghcr.io/fission/builder:{{ .Tag }}-arm64"
|
||||||
|
dockerfile: cmd/builder/Dockerfile
|
||||||
build_flag_templates:
|
build_flag_templates:
|
||||||
|
- "--label=org.opencontainers.image.description=The builder assists in building the fission function source code for deployment."
|
||||||
|
- "--label=org.opencontainers.image.source={{.GitURL}}"
|
||||||
- "--platform=linux/arm64"
|
- "--platform=linux/arm64"
|
||||||
- "--label=org.opencontainers.image.created={{.Date}}"
|
- "--label=org.opencontainers.image.created={{.Date}}"
|
||||||
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
||||||
@@ -139,123 +183,145 @@ dockers:
|
|||||||
image_templates:
|
image_templates:
|
||||||
- "fission/fetcher:latest-arm64"
|
- "fission/fetcher:latest-arm64"
|
||||||
- "fission/fetcher:{{ .Tag }}-arm64"
|
- "fission/fetcher:{{ .Tag }}-arm64"
|
||||||
dockerfile: cmd/fetcher/Dockerfile.fission-fetcher
|
- "ghcr.io/fission/fetcher:latest-arm64"
|
||||||
|
- "ghcr.io/fission/fetcher:{{ .Tag }}-arm64"
|
||||||
|
dockerfile: cmd/fetcher/Dockerfile
|
||||||
|
build_flag_templates:
|
||||||
|
- "--label=org.opencontainers.image.description=Fetcher is a lightweight component used by environment and builder pods. Fetcher helps in fetch and upload of source/deployment packages and specializing environments."
|
||||||
|
- "--label=org.opencontainers.image.source={{.GitURL}}"
|
||||||
|
- "--platform=linux/arm64"
|
||||||
|
- "--label=org.opencontainers.image.created={{.Date}}"
|
||||||
|
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
||||||
|
- "--label=org.opencontainers.image.version={{.Tag}}"
|
||||||
- <<: *docker-arm64
|
- <<: *docker-arm64
|
||||||
ids:
|
ids:
|
||||||
- fission-bundle
|
- fission-bundle
|
||||||
image_templates:
|
image_templates:
|
||||||
- "fission/fission-bundle:latest-arm64"
|
- "fission/fission-bundle:latest-arm64"
|
||||||
- "fission/fission-bundle:{{ .Tag }}-arm64"
|
- "fission/fission-bundle:{{ .Tag }}-arm64"
|
||||||
dockerfile: cmd/fission-bundle/Dockerfile.fission-bundle
|
- "ghcr.io/fission/fission-bundle:latest-arm64"
|
||||||
|
- "ghcr.io/fission/fission-bundle:{{ .Tag }}-arm64"
|
||||||
|
dockerfile: cmd/fission-bundle/Dockerfile
|
||||||
|
build_flag_templates:
|
||||||
|
- "--label=org.opencontainers.image.description=fission-bundle is a component which is a single binary for all components. Most server side components running on server side are fission-bundle binary wrapped in container and used with different arguments."
|
||||||
|
- "--label=org.opencontainers.image.source={{.GitURL}}"
|
||||||
|
- "--platform=linux/arm64"
|
||||||
|
- "--label=org.opencontainers.image.created={{.Date}}"
|
||||||
|
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
||||||
|
- "--label=org.opencontainers.image.version={{.Tag}}"
|
||||||
- <<: *docker-arm64
|
- <<: *docker-arm64
|
||||||
ids:
|
ids:
|
||||||
- pre-upgrade-checks
|
- pre-upgrade-checks
|
||||||
image_templates:
|
image_templates:
|
||||||
- "fission/pre-upgrade-checks:latest-arm64"
|
- "fission/pre-upgrade-checks:latest-arm64"
|
||||||
- "fission/pre-upgrade-checks:{{ .Tag }}-arm64"
|
- "fission/pre-upgrade-checks:{{ .Tag }}-arm64"
|
||||||
dockerfile: cmd/preupgradechecks/Dockerfile.fission-preupgradechecks
|
- "ghcr.io/fission/pre-upgrade-checks:latest-arm64"
|
||||||
|
- "ghcr.io/fission/pre-upgrade-checks:{{ .Tag }}-arm64"
|
||||||
|
dockerfile: cmd/preupgradechecks/Dockerfile
|
||||||
|
build_flag_templates:
|
||||||
|
- "--label=org.opencontainers.image.description=Preupgradechecks ensures that Fission is ready for the targeted version upgrade by performing checks beforehand."
|
||||||
|
- "--label=org.opencontainers.image.source={{.GitURL}}"
|
||||||
|
- "--platform=linux/arm64"
|
||||||
|
- "--label=org.opencontainers.image.created={{.Date}}"
|
||||||
|
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
||||||
|
- "--label=org.opencontainers.image.version={{.Tag}}"
|
||||||
- <<: *docker-arm64
|
- <<: *docker-arm64
|
||||||
ids:
|
ids:
|
||||||
- reporter
|
- reporter
|
||||||
image_templates:
|
image_templates:
|
||||||
- "fission/reporter:latest-arm64"
|
- "fission/reporter:latest-arm64"
|
||||||
- "fission/reporter:{{ .Tag }}-arm64"
|
- "fission/reporter:{{ .Tag }}-arm64"
|
||||||
dockerfile: cmd/reporter/Dockerfile.reporter
|
- "ghcr.io/fission/reporter:latest-arm64"
|
||||||
- &docker-armv7
|
- "ghcr.io/fission/reporter:{{ .Tag }}-arm64"
|
||||||
use: buildx
|
dockerfile: cmd/reporter/Dockerfile
|
||||||
goos: linux
|
|
||||||
goarch: arm
|
|
||||||
goarm: 7
|
|
||||||
ids:
|
|
||||||
- builder
|
|
||||||
image_templates:
|
|
||||||
- "fission/builder:latest-armv7"
|
|
||||||
- "fission/builder:{{ .Tag }}-armv7"
|
|
||||||
dockerfile: cmd/builder/Dockerfile.fission-builder
|
|
||||||
build_flag_templates:
|
build_flag_templates:
|
||||||
- "--platform=linux/arm/v7"
|
- "--label=org.opencontainers.image.description=The reporter gathers information that assists in improving fission."
|
||||||
|
- "--label=org.opencontainers.image.source={{.GitURL}}"
|
||||||
|
- "--platform=linux/arm64"
|
||||||
- "--label=org.opencontainers.image.created={{.Date}}"
|
- "--label=org.opencontainers.image.created={{.Date}}"
|
||||||
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
||||||
- "--label=org.opencontainers.image.version={{.Tag}}"
|
- "--label=org.opencontainers.image.version={{.Tag}}"
|
||||||
- <<: *docker-armv7
|
|
||||||
ids:
|
|
||||||
- fetcher
|
|
||||||
image_templates:
|
|
||||||
- "fission/fetcher:latest-armv7"
|
|
||||||
- "fission/fetcher:{{ .Tag }}-armv7"
|
|
||||||
dockerfile: cmd/fetcher/Dockerfile.fission-fetcher
|
|
||||||
- <<: *docker-armv7
|
|
||||||
ids:
|
|
||||||
- fission-bundle
|
|
||||||
image_templates:
|
|
||||||
- "fission/fission-bundle:latest-armv7"
|
|
||||||
- "fission/fission-bundle:{{ .Tag }}-armv7"
|
|
||||||
dockerfile: cmd/fission-bundle/Dockerfile.fission-bundle
|
|
||||||
- <<: *docker-armv7
|
|
||||||
ids:
|
|
||||||
- pre-upgrade-checks
|
|
||||||
image_templates:
|
|
||||||
- "fission/pre-upgrade-checks:latest-armv7"
|
|
||||||
- "fission/pre-upgrade-checks:{{ .Tag }}-armv7"
|
|
||||||
dockerfile: cmd/preupgradechecks/Dockerfile.fission-preupgradechecks
|
|
||||||
- <<: *docker-armv7
|
|
||||||
ids:
|
|
||||||
- reporter
|
|
||||||
image_templates:
|
|
||||||
- "fission/reporter:latest-armv7"
|
|
||||||
- "fission/reporter:{{ .Tag }}-armv7"
|
|
||||||
dockerfile: cmd/reporter/Dockerfile.reporter
|
|
||||||
docker_manifests:
|
docker_manifests:
|
||||||
|
- name_template: ghcr.io/fission/builder:{{ .Tag }}
|
||||||
|
image_templates:
|
||||||
|
- ghcr.io/fission/builder:{{ .Tag }}-amd64
|
||||||
|
- ghcr.io/fission/builder:{{ .Tag }}-arm64
|
||||||
- name_template: fission/builder:{{ .Tag }}
|
- name_template: fission/builder:{{ .Tag }}
|
||||||
image_templates:
|
image_templates:
|
||||||
- fission/builder:{{ .Tag }}-amd64
|
- fission/builder:{{ .Tag }}-amd64
|
||||||
- fission/builder:{{ .Tag }}-arm64
|
- fission/builder:{{ .Tag }}-arm64
|
||||||
- fission/builder:{{ .Tag }}-armv7
|
- name_template: ghcr.io/fission/fetcher:{{ .Tag }}
|
||||||
|
image_templates:
|
||||||
|
- ghcr.io/fission/fetcher:{{ .Tag }}-amd64
|
||||||
|
- ghcr.io/fission/fetcher:{{ .Tag }}-arm64
|
||||||
- name_template: fission/fetcher:{{ .Tag }}
|
- name_template: fission/fetcher:{{ .Tag }}
|
||||||
image_templates:
|
image_templates:
|
||||||
- fission/fetcher:{{ .Tag }}-amd64
|
- fission/fetcher:{{ .Tag }}-amd64
|
||||||
- fission/fetcher:{{ .Tag }}-arm64
|
- fission/fetcher:{{ .Tag }}-arm64
|
||||||
- fission/fetcher:{{ .Tag }}-armv7
|
- name_template: ghcr.io/fission/fission-bundle:{{ .Tag }}
|
||||||
|
image_templates:
|
||||||
|
- ghcr.io/fission/fission-bundle:{{ .Tag }}-amd64
|
||||||
|
- ghcr.io/fission/fission-bundle:{{ .Tag }}-arm64
|
||||||
- name_template: fission/fission-bundle:{{ .Tag }}
|
- name_template: fission/fission-bundle:{{ .Tag }}
|
||||||
image_templates:
|
image_templates:
|
||||||
- fission/fission-bundle:{{ .Tag }}-amd64
|
- fission/fission-bundle:{{ .Tag }}-amd64
|
||||||
- fission/fission-bundle:{{ .Tag }}-arm64
|
- fission/fission-bundle:{{ .Tag }}-arm64
|
||||||
- fission/fission-bundle:{{ .Tag }}-armv7
|
- name_template: ghcr.io/fission/pre-upgrade-checks:{{ .Tag }}
|
||||||
|
image_templates:
|
||||||
|
- ghcr.io/fission/pre-upgrade-checks:{{ .Tag }}-amd64
|
||||||
|
- ghcr.io/fission/pre-upgrade-checks:{{ .Tag }}-arm64
|
||||||
- name_template: fission/pre-upgrade-checks:{{ .Tag }}
|
- name_template: fission/pre-upgrade-checks:{{ .Tag }}
|
||||||
image_templates:
|
image_templates:
|
||||||
- fission/pre-upgrade-checks:{{ .Tag }}-amd64
|
- fission/pre-upgrade-checks:{{ .Tag }}-amd64
|
||||||
- fission/pre-upgrade-checks:{{ .Tag }}-arm64
|
- fission/pre-upgrade-checks:{{ .Tag }}-arm64
|
||||||
- fission/pre-upgrade-checks:{{ .Tag }}-armv7
|
- name_template: ghcr.io/fission/reporter:{{ .Tag }}
|
||||||
|
image_templates:
|
||||||
|
- ghcr.io/fission/reporter:{{ .Tag }}-amd64
|
||||||
|
- ghcr.io/fission/reporter:{{ .Tag }}-arm64
|
||||||
- name_template: fission/reporter:{{ .Tag }}
|
- name_template: fission/reporter:{{ .Tag }}
|
||||||
image_templates:
|
image_templates:
|
||||||
- fission/reporter:{{ .Tag }}-amd64
|
- fission/reporter:{{ .Tag }}-amd64
|
||||||
- fission/reporter:{{ .Tag }}-arm64
|
- fission/reporter:{{ .Tag }}-arm64
|
||||||
- fission/reporter:{{ .Tag }}-armv7
|
- name_template: ghcr.io/fission/builder:latest
|
||||||
|
image_templates:
|
||||||
|
- ghcr.io/fission/builder:latest-amd64
|
||||||
|
- ghcr.io/fission/builder:latest-arm64
|
||||||
- name_template: fission/builder:latest
|
- name_template: fission/builder:latest
|
||||||
image_templates:
|
image_templates:
|
||||||
- fission/builder:latest-amd64
|
- fission/builder:latest-amd64
|
||||||
- fission/builder:latest-arm64
|
- fission/builder:latest-arm64
|
||||||
- fission/builder:latest-armv7
|
- name_template: ghcr.io/fission/fetcher:latest
|
||||||
|
image_templates:
|
||||||
|
- ghcr.io/fission/fetcher:latest-amd64
|
||||||
|
- ghcr.io/fission/fetcher:latest-arm64
|
||||||
- name_template: fission/fetcher:latest
|
- name_template: fission/fetcher:latest
|
||||||
image_templates:
|
image_templates:
|
||||||
- fission/fetcher:latest-amd64
|
- fission/fetcher:latest-amd64
|
||||||
- fission/fetcher:latest-arm64
|
- fission/fetcher:latest-arm64
|
||||||
- fission/fetcher:latest-armv7
|
- name_template: ghcr.io/fission/fission-bundle:latest
|
||||||
|
image_templates:
|
||||||
|
- ghcr.io/fission/fission-bundle:latest-amd64
|
||||||
|
- ghcr.io/fission/fission-bundle:latest-arm64
|
||||||
- name_template: fission/fission-bundle:latest
|
- name_template: fission/fission-bundle:latest
|
||||||
image_templates:
|
image_templates:
|
||||||
- fission/fission-bundle:latest-amd64
|
- fission/fission-bundle:latest-amd64
|
||||||
- fission/fission-bundle:latest-arm64
|
- fission/fission-bundle:latest-arm64
|
||||||
- fission/fission-bundle:latest-armv7
|
- name_template: ghcr.io/fission/pre-upgrade-checks:latest
|
||||||
|
image_templates:
|
||||||
|
- ghcr.io/fission/pre-upgrade-checks:latest-amd64
|
||||||
|
- ghcr.io/fission/pre-upgrade-checks:latest-arm64
|
||||||
- name_template: fission/pre-upgrade-checks:latest
|
- name_template: fission/pre-upgrade-checks:latest
|
||||||
image_templates:
|
image_templates:
|
||||||
- fission/pre-upgrade-checks:latest-amd64
|
- fission/pre-upgrade-checks:latest-amd64
|
||||||
- fission/pre-upgrade-checks:latest-arm64
|
- fission/pre-upgrade-checks:latest-arm64
|
||||||
- fission/pre-upgrade-checks:latest-armv7
|
- name_template: ghcr.io/fission/reporter:latest
|
||||||
|
image_templates:
|
||||||
|
- ghcr.io/fission/reporter:latest-amd64
|
||||||
|
- ghcr.io/fission/reporter:latest-arm64
|
||||||
- name_template: fission/reporter:latest
|
- name_template: fission/reporter:latest
|
||||||
image_templates:
|
image_templates:
|
||||||
- fission/reporter:latest-amd64
|
- fission/reporter:latest-amd64
|
||||||
- fission/reporter:latest-arm64
|
- fission/reporter:latest-arm64
|
||||||
- fission/reporter:latest-armv7
|
|
||||||
changelog:
|
changelog:
|
||||||
skip: false
|
skip: false
|
||||||
archives:
|
archives:
|
||||||
@@ -281,6 +347,7 @@ signs:
|
|||||||
- '--output-certificate=${certificate}'
|
- '--output-certificate=${certificate}'
|
||||||
- '--output-signature=${signature}'
|
- '--output-signature=${signature}'
|
||||||
- '${artifact}'
|
- '${artifact}'
|
||||||
|
- '--yes' # needed for cosign 2.0.0+
|
||||||
|
|
||||||
# signs our docker image
|
# signs our docker image
|
||||||
# https://goreleaser.com/customization/docker_sign
|
# https://goreleaser.com/customization/docker_sign
|
||||||
@@ -292,4 +359,5 @@ docker_signs:
|
|||||||
args:
|
args:
|
||||||
- 'sign'
|
- 'sign'
|
||||||
- '--key=cosign.key'
|
- '--key=cosign.key'
|
||||||
- '${artifact}'
|
- '${artifact}'
|
||||||
|
- '--yes' # needed for cosign 2.0.0+
|
||||||
|
|||||||
+4
-4
@@ -8,10 +8,10 @@ pull_request_rules:
|
|||||||
- check-success=CodeQL-Build
|
- check-success=CodeQL-Build
|
||||||
- check-success=CodeQL
|
- check-success=CodeQL
|
||||||
- check-success=lint
|
- check-success=lint
|
||||||
- check-success=upgrade-test (kindest/node:v1.19.11, ubuntu-latest)
|
- check-success=upgrade-test (kindest/node:v1.23.17, ubuntu-latest)
|
||||||
- check-success=integration-test (v1.19.11, ubuntu-latest)
|
- check-success=integration-test (v1.23.17, ubuntu-latest)
|
||||||
- check-success=integration-test (v1.20.7, ubuntu-latest)
|
- check-success=integration-test (v1.25.11, ubuntu-latest)
|
||||||
- check-success=integration-test (v1.21.1, ubuntu-latest)
|
- check-success=integration-test (v1.27.3, ubuntu-latest)
|
||||||
actions:
|
actions:
|
||||||
merge:
|
merge:
|
||||||
method: squash
|
method: squash
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ COMMITSHA ?= $(shell git rev-parse HEAD)
|
|||||||
GOOS ?= $(shell go env GOOS)
|
GOOS ?= $(shell go env GOOS)
|
||||||
GOARCH ?= $(shell go env GOARCH)
|
GOARCH ?= $(shell go env GOARCH)
|
||||||
GOAMD64 ?= $(shell go env GOAMD64)
|
GOAMD64 ?= $(shell go env GOAMD64)
|
||||||
|
GOPATH ?= $(shell go env GOPATH)
|
||||||
|
|
||||||
FISSION-CLI-SUFFIX :=
|
FISSION-CLI-SUFFIX :=
|
||||||
ifeq ($(GOOS), windows)
|
ifeq ($(GOOS), windows)
|
||||||
@@ -51,25 +52,33 @@ test-run: code-checks
|
|||||||
|
|
||||||
### Binaries
|
### Binaries
|
||||||
build-fission-cli:
|
build-fission-cli:
|
||||||
@GOOS=$(GOOS) GOARCH=$(GOARCH) GOAMD64=$(GOAMD64) GORELEASER_CURRENT_TAG=$(VERSION) goreleaser build --snapshot --rm-dist --single-target --id fission-cli
|
@GOOS=$(GOOS) GOARCH=$(GOARCH) GOAMD64=$(GOAMD64) GORELEASER_CURRENT_TAG=$(VERSION) goreleaser build --snapshot --clean --single-target --id fission-cli
|
||||||
|
|
||||||
install-fission-cli:
|
install-fission-cli:
|
||||||
# TODO: Fix this hack, replace v1 with GOAMD64
|
# TODO: Fix this hack, replace v1 with GOAMD64
|
||||||
mv dist/fission-cli_$(GOOS)_$(GOARCH)_v1/fission$(FISSION-CLI-SUFFIX) /usr/local/bin/fission
|
mv dist/fission-cli_$(GOOS)_$(GOARCH)_v1/fission$(FISSION-CLI-SUFFIX) /usr/local/bin/fission
|
||||||
|
|
||||||
### Codegen
|
### Codegen
|
||||||
codegen:
|
codegen: controller-gen-install
|
||||||
@./hack/update-codegen.sh
|
@./hack/update-codegen.sh
|
||||||
|
$(GOPATH)/bin/controller-gen object:headerFile="hack/boilerplate.txt" paths="./..."
|
||||||
|
|
||||||
### CRDs
|
### CRDs
|
||||||
controller-gen-install:
|
controller-gen-install:
|
||||||
go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.9.2
|
go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.15.0
|
||||||
|
|
||||||
generate-crds: controller-gen-install
|
generate-crds: controller-gen-install
|
||||||
controller-gen crd \
|
$(GOPATH)/bin/controller-gen crd \
|
||||||
paths=./pkg/apis/core/v1 \
|
paths=./pkg/apis/core/v1 \
|
||||||
output:crd:artifacts:config=crds/v1
|
output:crd:artifacts:config=crds/v1
|
||||||
|
|
||||||
|
### Webhook generation: it generates webhook configs with help of kubebuilder:webhook tag
|
||||||
|
generate-webhooks: controller-gen-install
|
||||||
|
$(GOPATH)/bin/controller-gen webhook \
|
||||||
|
paths=./pkg/apis/core/v1 \
|
||||||
|
output:dir=charts/fission-all/templates/webhook-server
|
||||||
|
|
||||||
|
|
||||||
create-crds:
|
create-crds:
|
||||||
@kubectl create -k crds/v1
|
@kubectl create -k crds/v1
|
||||||
|
|
||||||
@@ -91,24 +100,24 @@ generate-cli-docs:
|
|||||||
go run tools/cmd-docs/main.go -o "../fission.io/content/en/docs/reference/fission-cli"
|
go run tools/cmd-docs/main.go -o "../fission.io/content/en/docs/reference/fission-cli"
|
||||||
|
|
||||||
install-crd-ref-docs:
|
install-crd-ref-docs:
|
||||||
go install github.com/elastic/crd-ref-docs@master
|
go install github.com/elastic/crd-ref-docs@v0.0.12
|
||||||
|
|
||||||
generate-crd-ref-docs: install-crd-ref-docs
|
generate-crd-ref-docs: install-crd-ref-docs
|
||||||
# crd-ref-docs: https://github.com/elastic/crd-ref-docs
|
# crd-ref-docs: https://github.com/elastic/crd-ref-docs
|
||||||
crd-ref-docs --source-path=pkg/apis/core/v1 --config=tools/crd-ref-docs/config.yaml --renderer markdown
|
$(GOPATH)/bin/crd-ref-docs --source-path=pkg/apis/core/v1 --config=tools/crd-ref-docs/config.yaml --renderer markdown
|
||||||
cp tools/crd-ref-docs/header.md crd_docs.md
|
cp tools/crd-ref-docs/header.md crd_docs.md
|
||||||
cat out.md >> crd_docs.md && rm out.md
|
cat out.md >> crd_docs.md && rm out.md
|
||||||
mv crd_docs.md ../fission.io/content/en/docs/reference/crd-reference.md
|
mv crd_docs.md ../fission.io/content/en/docs/reference/crd-reference.md
|
||||||
|
|
||||||
all-generators: codegen generate-crds generate-swagger-doc
|
all-generators: codegen generate-crds generate-swagger-doc generate-cli-docs generate-crd-ref-docs
|
||||||
|
|
||||||
skaffold-prebuild:
|
skaffold-prebuild:
|
||||||
@GOOS=linux GOARCH=amd64 GORELEASER_CURRENT_TAG=$(VERSION) goreleaser build --snapshot --rm-dist --single-target
|
@GOOS=linux GOARCH=amd64 GORELEASER_CURRENT_TAG=$(VERSION) goreleaser build --snapshot --clean --single-target
|
||||||
@cp -v cmd/builder/Dockerfile.fission-builder dist/builder_linux_amd64_v1/Dockerfile
|
@cp -v cmd/builder/Dockerfile dist/builder_linux_amd64_v1/Dockerfile
|
||||||
@cp -v cmd/fetcher/Dockerfile.fission-fetcher dist/fetcher_linux_amd64_v1/Dockerfile
|
@cp -v cmd/fetcher/Dockerfile dist/fetcher_linux_amd64_v1/Dockerfile
|
||||||
@cp -v cmd/fission-bundle/Dockerfile.fission-bundle dist/fission-bundle_linux_amd64_v1/Dockerfile
|
@cp -v cmd/fission-bundle/Dockerfile dist/fission-bundle_linux_amd64_v1/Dockerfile
|
||||||
@cp -v cmd/reporter/Dockerfile.reporter dist/reporter_linux_amd64_v1/Dockerfile
|
@cp -v cmd/reporter/Dockerfile dist/reporter_linux_amd64_v1/Dockerfile
|
||||||
@cp -v cmd/preupgradechecks/Dockerfile.fission-preupgradechecks dist/pre-upgrade-checks_linux_amd64_v1/Dockerfile
|
@cp -v cmd/preupgradechecks/Dockerfile dist/pre-upgrade-checks_linux_amd64_v1/Dockerfile
|
||||||
|
|
||||||
skaffold-deploy: skaffold-prebuild
|
skaffold-deploy: skaffold-prebuild
|
||||||
skaffold run -p $(SKAFFOLD_PROFILE)
|
skaffold run -p $(SKAFFOLD_PROFILE)
|
||||||
@@ -119,3 +128,10 @@ release:
|
|||||||
@./hack/release.sh $(VERSION)
|
@./hack/release.sh $(VERSION)
|
||||||
@./hack/release-tag.sh $(VERSION)
|
@./hack/release-tag.sh $(VERSION)
|
||||||
@./hack/changelog.sh
|
@./hack/changelog.sh
|
||||||
|
|
||||||
|
## Envtest
|
||||||
|
install-envtest:
|
||||||
|
go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest
|
||||||
|
|
||||||
|
setup-envtest:
|
||||||
|
setup-envtest -p path use 1.23.x
|
||||||
|
|||||||
@@ -40,8 +40,9 @@
|
|||||||
|
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
Fission is a fast serverless framework for Kubernetes with a focus on
|
Fission is an open-source, Kubernetes-native serverless framework that simplifies the deployment of functions and applications on Kubernetes. With Fission, developers can easily create and deploy serverless functions that can be triggered by a variety of events, such as HTTP requests, messages from a message queue, or scheduled tasks.
|
||||||
developer productivity and high performance.
|
|
||||||
|
Fission provides a simple, easy-to-use interface for developers to create serverless functions in their language of choice, without having to worry about the underlying infrastructure. The framework also offers automatic scaling, so functions can scale up or down based on demand, without any additional configuration.
|
||||||
|
|
||||||
Fission operates on _just the code_: Docker and Kubernetes are
|
Fission operates on _just the code_: Docker and Kubernetes are
|
||||||
abstracted away under normal operation, though you can use both to
|
abstracted away under normal operation, though you can use both to
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
name: fission-all
|
name: fission-all
|
||||||
version: v1.17.0
|
version: v1.20.3
|
||||||
appVersion: v1.17.0
|
appVersion: v1.20.3
|
||||||
description: Fission is a fast serverless framework for Kubernetes.
|
description: Fission is a fast serverless framework for Kubernetes.
|
||||||
|
kubeVersion: ">=1.25.0-0"
|
||||||
home: https://fission.io/
|
home: https://fission.io/
|
||||||
icon: https://fission.io/images/fission-logo-white.svg
|
icon: https://fission.io/images/fission-logo-white.svg
|
||||||
sources:
|
sources:
|
||||||
@@ -21,4 +22,8 @@ maintainers:
|
|||||||
- name: Sanket Sudake
|
- name: Sanket Sudake
|
||||||
email: sanket@infracloud.io
|
email: sanket@infracloud.io
|
||||||
engine: gotpl
|
engine: gotpl
|
||||||
type: application
|
type: application
|
||||||
|
annotations:
|
||||||
|
artifacthub.io/signKey: |
|
||||||
|
fingerprint: 2EAE29FDF8A387050C82CD5ABBDD4FD6A1FFCBF6
|
||||||
|
url: https://raw.githubusercontent.com/fission/fission-charts/main/public_key/pgp_keys.asc
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
- Kubernetes 1.19+
|
- Kubernetes 1.23+
|
||||||
- Helm 3+
|
- Helm 3+
|
||||||
|
|
||||||
## Get Repo Info
|
## Get Repo Info
|
||||||
@@ -93,6 +93,25 @@ _See [helm upgrade](https://helm.sh/docs/helm/helm_upgrade/) for command documen
|
|||||||
|
|
||||||
A major chart version change (like v1.2.3 -> v2.0.0) indicates that there is an incompatible breaking change needing manual actions.
|
A major chart version change (like v1.2.3 -> v2.0.0) indicates that there is an incompatible breaking change needing manual actions.
|
||||||
|
|
||||||
|
### Upgrade from 1.18.x to 1.20.x
|
||||||
|
|
||||||
|
We have removed controller service from fission-all chart.
|
||||||
|
|
||||||
|
### Upgrade from 1.17.x to 1.18.x
|
||||||
|
|
||||||
|
With 1.18.x, we have major change in the way we are deploying Fission.
|
||||||
|
We have added parameters `defaultNamespace`, `additionalFissionNamespaces`, `functionNamespace` and `builderNamespace` to manage the namespaces.
|
||||||
|
We watch and manage specific namespaces for Fission resources configured via `defaultNamespace` and `additionalFissionNamespaces` parameters.
|
||||||
|
You dont need to worry about `builderNamespace` and `functionNamespace` parameters, unless you want to consider legacy Fission resources.
|
||||||
|
|
||||||
|
Please refer to [core changes](https://fission.io/docs/releases/v1.18.0/#fission-core-changes) for more details.
|
||||||
|
|
||||||
|
### Upgrade from 1.16.x to 1.17.x
|
||||||
|
|
||||||
|
By default, Fission runs with the default security context. This means that it will be run as root. We have added settings in Helm chart for securityContext across all services in Fission. You can enable recommended securityContext settings during Fission installation.
|
||||||
|
|
||||||
|
Please refer to [security context settings](https://fission.io/docs/releases/v1.17.0/#security-context-setting-for-fission-installation) for more details.
|
||||||
|
|
||||||
### Upgrade from 1.15.x to 1.16.x
|
### Upgrade from 1.15.x to 1.16.x
|
||||||
|
|
||||||
If you have been using `prometheus.enabled=true` in your fission-all chart, you will need to deploy the prometheus using prometheus community supported chart.
|
If you have been using `prometheus.enabled=true` in your fission-all chart, you will need to deploy the prometheus using prometheus community supported chart.
|
||||||
|
|||||||
@@ -8,6 +8,4 @@ exclusions:
|
|||||||
target-instance-rule:
|
target-instance-rule:
|
||||||
reason: "Most panels dont need to be filtered by instance"
|
reason: "Most panels dont need to be filtered by instance"
|
||||||
panel-units-rule:
|
panel-units-rule:
|
||||||
reason: "Some panels are using the 'number' unit which throws a linting error."
|
reason: "Some panels are using the 'number' unit which throws a linting error."
|
||||||
target-counter-agg-rule:
|
|
||||||
reason: "disabled for fission_archives_total. This metric should be not have total due to naming conventions as its a gauge, not a counter"
|
|
||||||
@@ -879,7 +879,7 @@
|
|||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"editorMode": "code",
|
"editorMode": "code",
|
||||||
"expr": "fission_archives_total",
|
"expr": "fission_archives",
|
||||||
"legendFormat": "Namespace: {{namespace}} Pod: {{pod}}",
|
"legendFormat": "Namespace: {{namespace}} Pod: {{pod}}",
|
||||||
"range": true,
|
"range": true,
|
||||||
"refId": "A"
|
"refId": "A"
|
||||||
@@ -970,7 +970,7 @@
|
|||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"editorMode": "code",
|
"editorMode": "code",
|
||||||
"expr": "rate(fission_archives_total[$__rate_interval])",
|
"expr": "rate(fission_archives[$__rate_interval])",
|
||||||
"legendFormat": "Namespace: {{namespace}} Pod: {{pod}}",
|
"legendFormat": "Namespace: {{namespace}} Pod: {{pod}}",
|
||||||
"range": true,
|
"range": true,
|
||||||
"refId": "A"
|
"refId": "A"
|
||||||
|
|||||||
@@ -11,14 +11,20 @@ Windows:
|
|||||||
|
|
||||||
2. You're ready to use Fission!
|
2. You're ready to use Fission!
|
||||||
|
|
||||||
|
{{- if gt (len .Values.additionalFissionNamespaces) 0 }}
|
||||||
|
You can create fission resources in the namespaces "{{ .Values.defaultNamespace }},{{ join "," .Values.additionalFissionNamespaces }}"
|
||||||
|
{{- else }}
|
||||||
|
You can create fission resources in the namespace "{{ .Values.defaultNamespace }}"
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
# Create an environment
|
# Create an environment
|
||||||
$ fission env create --name nodejs --image fission/node-env
|
$ fission env create --name nodejs --image fission/node-env --namespace {{ .Values.defaultNamespace }}
|
||||||
|
|
||||||
# Get a hello world
|
# Get a hello world
|
||||||
$ curl https://raw.githubusercontent.com/fission/examples/master/nodejs/hello.js > hello.js
|
$ curl https://raw.githubusercontent.com/fission/examples/master/nodejs/hello.js > hello.js
|
||||||
|
|
||||||
# Register this function with Fission
|
# Register this function with Fission
|
||||||
$ fission function create --name hello --env nodejs --code hello.js
|
$ fission function create --name hello --env nodejs --code hello.js --namespace {{ .Values.defaultNamespace }}
|
||||||
|
|
||||||
{{- if .Values.authentication.enabled }}
|
{{- if .Values.authentication.enabled }}
|
||||||
|
|
||||||
@@ -29,6 +35,6 @@ Windows:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
# Run this function
|
# Run this function
|
||||||
$ fission function test --name hello
|
$ fission function test --name hello --namespace {{ .Values.defaultNamespace }}
|
||||||
Hello, world!
|
Hello, world!
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,43 @@
|
|||||||
|
|
||||||
|
|
||||||
|
{{- define "fision.selfSignedCABundleCertPEM" -}}
|
||||||
|
{{- $caKeypair := .selfSignedCAKeypair | default (genCA "fission-ca" 1825) -}}
|
||||||
|
{{- $_ := set . "selfSignedCAKeypair" $caKeypair -}}
|
||||||
|
{{- $caKeypair.Cert -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- define "webhook.caBundleCertPEM" -}}
|
||||||
|
{{- if .Values.webhook.caBundlePEM -}}
|
||||||
|
{{- trim .Values.webhook.caBundlePEM -}}
|
||||||
|
{{- else -}}
|
||||||
|
{{- $caKeypair := .selfSignedCAKeypair | default (genCA "fission-ca" 1825) -}}
|
||||||
|
{{- $_ := set . "selfSignedCAKeypair" $caKeypair -}}
|
||||||
|
{{- $caKeypair.Cert -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- define "webhook.certPEM" -}}
|
||||||
|
{{- if .Values.webhook.crtPEM -}}
|
||||||
|
{{- trim .Values.webhook.crtPEM -}}
|
||||||
|
{{- else -}}
|
||||||
|
{{- $webhookName := printf "%s.%s.svc" (include "fission-webhook.svc" .) .Release.Namespace }}
|
||||||
|
{{- $fullWebhookName := printf "%s.%s.svc.cluster.local" (include "fission-webhook.svc" .) .Release.Namespace -}}
|
||||||
|
{{- $webhookCA := required "self-signed CA keypair is requried" .selfSignedCAKeypair -}}
|
||||||
|
{{- $webhookServerTLSKeypair := .webhookTLSKeypair | default (genSignedCert $webhookName nil (list $webhookName $fullWebhookName) 1825 $webhookCA) }}
|
||||||
|
{{- $_ := set . "webhookTLSKeypair" $webhookServerTLSKeypair -}}
|
||||||
|
{{- $webhookServerTLSKeypair.Cert -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- define "webhook.keyPEM" -}}
|
||||||
|
{{- if .Values.webhook.keyPEM -}}
|
||||||
|
{{ trim .Values.webhook.keyPEM }}
|
||||||
|
{{- else -}}
|
||||||
|
{{- $webhookName := printf "%s.%s.svc" (include "fission-webhook.svc" .) .Release.Namespace -}}
|
||||||
|
{{- $fullWebhookName := printf "%s.%s.svc.cluster.local" (include "fission-webhook.svc" .) .Release.Namespace -}}
|
||||||
|
{{- $webhookCA := required "self-signed CA keypair is requried" .selfSignedCAKeypair -}}
|
||||||
|
{{- $webhookServerTLSKeypair := .webhookTLSKeypair | default (genSignedCert $webhookName nil (list $webhookName $fullWebhookName) 1825 $webhookCA) -}}
|
||||||
|
{{- $_ := set . "webhookTLSKeypair" $webhookServerTLSKeypair -}}
|
||||||
|
{{- $webhookServerTLSKeypair.Key -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
@@ -0,0 +1,163 @@
|
|||||||
|
{{- define "buildermgr-rules" }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- fission.io
|
||||||
|
resources:
|
||||||
|
- environments
|
||||||
|
- functions
|
||||||
|
- packages
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- update
|
||||||
|
- patch
|
||||||
|
- delete
|
||||||
|
{{- end }}
|
||||||
|
{{- define "executor-rules" }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- fission.io
|
||||||
|
resources:
|
||||||
|
- environments
|
||||||
|
- functions
|
||||||
|
- packages
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- update
|
||||||
|
- patch
|
||||||
|
- delete
|
||||||
|
{{- end }}
|
||||||
|
{{- define "kubewatcher-rules" }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- fission.io
|
||||||
|
resources:
|
||||||
|
- environments
|
||||||
|
- functions
|
||||||
|
- kuberneteswatchtriggers
|
||||||
|
- packages
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- update
|
||||||
|
- patch
|
||||||
|
- delete
|
||||||
|
{{- end }}
|
||||||
|
{{- define "kafka-rules" }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- fission.io
|
||||||
|
resources:
|
||||||
|
- environments
|
||||||
|
- functions
|
||||||
|
- messagequeuetriggers
|
||||||
|
- packages
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- update
|
||||||
|
- patch
|
||||||
|
- delete
|
||||||
|
{{- end }}
|
||||||
|
{{- define "keda-rules" }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- fission.io
|
||||||
|
resources:
|
||||||
|
- environments
|
||||||
|
- functions
|
||||||
|
- messagequeuetriggers
|
||||||
|
- packages
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- update
|
||||||
|
- patch
|
||||||
|
- delete
|
||||||
|
{{- end }}
|
||||||
|
{{- define "preupgrade-rules" }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- fission.io
|
||||||
|
resources:
|
||||||
|
- canaryconfigs
|
||||||
|
- environments
|
||||||
|
- functions
|
||||||
|
- httptriggers
|
||||||
|
- kuberneteswatchtriggers
|
||||||
|
- messagequeuetriggers
|
||||||
|
- packages
|
||||||
|
- timetriggers
|
||||||
|
verbs:
|
||||||
|
- list
|
||||||
|
{{- end }}
|
||||||
|
{{- define "router-rules" }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- fission.io
|
||||||
|
resources:
|
||||||
|
- environments
|
||||||
|
- functions
|
||||||
|
- httptriggers
|
||||||
|
- packages
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- update
|
||||||
|
- patch
|
||||||
|
- delete
|
||||||
|
{{- end }}
|
||||||
|
{{- define "storagesvc-rules" }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- fission.io
|
||||||
|
resources:
|
||||||
|
- packages
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
{{- end }}
|
||||||
|
{{- define "timer-rules" }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- fission.io
|
||||||
|
resources:
|
||||||
|
- environments
|
||||||
|
- functions
|
||||||
|
- packages
|
||||||
|
- timetriggers
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- update
|
||||||
|
- patch
|
||||||
|
- delete
|
||||||
|
{{- end }}
|
||||||
|
{{- define "canaryconfig-rules" }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- fission.io
|
||||||
|
resources:
|
||||||
|
- canaryconfigs
|
||||||
|
- httptriggers
|
||||||
|
verbs:
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- get
|
||||||
|
- update
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,384 @@
|
|||||||
|
{{- define "buildermgr-kuberules" }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- pods
|
||||||
|
- services
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- delete
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- patch
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- configmaps
|
||||||
|
- secrets
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- apps
|
||||||
|
resources:
|
||||||
|
- deployments
|
||||||
|
verbs:
|
||||||
|
- list
|
||||||
|
- create
|
||||||
|
- delete
|
||||||
|
- apiGroups:
|
||||||
|
- apiextensions.k8s.io
|
||||||
|
resources:
|
||||||
|
- customresourcedefinitions
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
{{- end }}
|
||||||
|
{{- define "canaryconfig-kuberules" }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- services
|
||||||
|
verbs:
|
||||||
|
- list
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- pods
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- apiextensions.k8s.io
|
||||||
|
resources:
|
||||||
|
- customresourcedefinitions
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
{{- end }}
|
||||||
|
{{- define "executor-kuberules" }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- pods
|
||||||
|
- services
|
||||||
|
- replicationcontrollers
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- delete
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- patch
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- events
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- patch
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- configmaps
|
||||||
|
- secrets
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
{{- if .Values.executor.serviceAccountCheck.enabled }}
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- serviceaccounts
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- get
|
||||||
|
- apiGroups:
|
||||||
|
- authorization.k8s.io
|
||||||
|
resources:
|
||||||
|
- localsubjectaccessreviews
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- apiGroups:
|
||||||
|
- rbac.authorization.k8s.io
|
||||||
|
resources:
|
||||||
|
- rolebindings
|
||||||
|
- roles
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
{{- end }}
|
||||||
|
- apiGroups:
|
||||||
|
- apps
|
||||||
|
resources:
|
||||||
|
- deployments
|
||||||
|
- deployments/scale
|
||||||
|
- replicasets
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- update
|
||||||
|
- patch
|
||||||
|
- delete
|
||||||
|
- apiGroups:
|
||||||
|
- apiextensions.k8s.io
|
||||||
|
resources:
|
||||||
|
- customresourcedefinitions
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- autoscaling
|
||||||
|
resources:
|
||||||
|
- horizontalpodautoscalers
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- update
|
||||||
|
- patch
|
||||||
|
- delete
|
||||||
|
- apiGroups:
|
||||||
|
- metrics.k8s.io
|
||||||
|
resources:
|
||||||
|
- pods
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
{{- end }}
|
||||||
|
{{- define "fluentbit-kuberules" }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- pods
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
{{- end }}
|
||||||
|
{{- define "kubewatcher-kuberules" }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- configmaps
|
||||||
|
- pods
|
||||||
|
- secrets
|
||||||
|
- services
|
||||||
|
- replicationcontrollers
|
||||||
|
- events
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- batch
|
||||||
|
resources:
|
||||||
|
- jobs
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- apiextensions.k8s.io
|
||||||
|
resources:
|
||||||
|
- customresourcedefinitions
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
{{- end }}
|
||||||
|
{{- define "kafka-kuberules" }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- configmaps
|
||||||
|
- pods
|
||||||
|
- secrets
|
||||||
|
- services
|
||||||
|
- replicationcontrollers
|
||||||
|
- events
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- delete
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- patch
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- configmaps
|
||||||
|
- secrets
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- apiGroups:
|
||||||
|
- apps
|
||||||
|
resources:
|
||||||
|
- deployments
|
||||||
|
- deployments/scale
|
||||||
|
- replicasets
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- update
|
||||||
|
- patch
|
||||||
|
- delete
|
||||||
|
- apiGroups:
|
||||||
|
- apiextensions.k8s.io
|
||||||
|
resources:
|
||||||
|
- customresourcedefinitions
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
{{- end }}
|
||||||
|
{{- define "keda-kuberules" }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- pods
|
||||||
|
- services
|
||||||
|
- replicationcontrollers
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- delete
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- patch
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- events
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- patch
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- configmaps
|
||||||
|
- secrets
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- apiGroups:
|
||||||
|
- apps
|
||||||
|
resources:
|
||||||
|
- deployments
|
||||||
|
- deployments/scale
|
||||||
|
- replicasets
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- update
|
||||||
|
- patch
|
||||||
|
- delete
|
||||||
|
- apiGroups:
|
||||||
|
- apiextensions.k8s.io
|
||||||
|
resources:
|
||||||
|
- customresourcedefinitions
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- keda.sh
|
||||||
|
resources:
|
||||||
|
- scaledjobs
|
||||||
|
- scaledobjects
|
||||||
|
- scaledjobs/finalizers
|
||||||
|
- scaledjobs/status
|
||||||
|
- triggerauthentications
|
||||||
|
- triggerauthentications/status
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- update
|
||||||
|
- patch
|
||||||
|
- delete
|
||||||
|
{{- if .Values.mqt_keda.enabled }}
|
||||||
|
- apiGroups:
|
||||||
|
- keda.k8s.io
|
||||||
|
resources:
|
||||||
|
- scaledjobs
|
||||||
|
- scaledobjects
|
||||||
|
- scaledjobs/finalizers
|
||||||
|
- scaledjobs/status
|
||||||
|
- triggerauthentications
|
||||||
|
- triggerauthentications/status
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- update
|
||||||
|
- patch
|
||||||
|
- delete
|
||||||
|
{{- end }}
|
||||||
|
- apiGroups:
|
||||||
|
- metrics.k8s.io
|
||||||
|
resources:
|
||||||
|
- pods
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
{{- end }}
|
||||||
|
{{- define "preupgrade-kuberules" }}
|
||||||
|
# TODO: Kept for future in case preupgrade needs any permissions in the future
|
||||||
|
rules: []
|
||||||
|
{{- end }}
|
||||||
|
# TODO: Currently, router needs ingress related permissions only.
|
||||||
|
# In future if router's permissions are modified then check the configured namespace.
|
||||||
|
{{- define "router-kuberules" }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- networking.k8s.io
|
||||||
|
resources:
|
||||||
|
- ingresses
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- update
|
||||||
|
- patch
|
||||||
|
- delete
|
||||||
|
- apiGroups:
|
||||||
|
- apiextensions.k8s.io
|
||||||
|
resources:
|
||||||
|
- customresourcedefinitions
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
{{- end }}
|
||||||
|
{{- define "timer-kuberules" }}
|
||||||
|
rules: []
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
{{- define "kubernetes-role-generator" }}
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: Role
|
||||||
|
metadata:
|
||||||
|
{{- if eq "preupgrade" .component }}
|
||||||
|
annotations:
|
||||||
|
helm.sh/hook: pre-upgrade
|
||||||
|
helm.sh/hook-delete-policy: before-hook-creation
|
||||||
|
helm.sh/hook-weight: "-2"
|
||||||
|
{{- end }}
|
||||||
|
name: "{{ .Release.Name }}-{{ .component }}"
|
||||||
|
namespace: {{ .namespace }}
|
||||||
|
{{- if eq "buildermgr" .component }}
|
||||||
|
{{- include "buildermgr-kuberules" . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if eq "canaryconfig" .component }}
|
||||||
|
{{- include "canaryconfig-kuberules" . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if eq "fluentbit" .component }}
|
||||||
|
{{- include "fluentbit-kuberules" . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if eq "executor" .component }}
|
||||||
|
{{- include "executor-kuberules" . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if eq "kubewatcher" .component }}
|
||||||
|
{{- include "kubewatcher-kuberules" . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if eq "kafka" .component }}
|
||||||
|
{{- include "kafka-kuberules" . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if eq "keda" .component }}
|
||||||
|
{{- include "keda-kuberules" . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if eq "preupgrade" .component }}
|
||||||
|
{{- include "preupgrade-kuberules" . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if eq "router" .component }}
|
||||||
|
{{- include "router-kuberules" . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if eq "timer" .component }}
|
||||||
|
{{- include "timer-kuberules" . }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: RoleBinding
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
metadata:
|
||||||
|
{{- if eq "preupgrade" .component }}
|
||||||
|
annotations:
|
||||||
|
helm.sh/hook: pre-upgrade
|
||||||
|
helm.sh/hook-delete-policy: before-hook-creation
|
||||||
|
{{- end }}
|
||||||
|
name: "{{ .Release.Name }}-{{ .component }}"
|
||||||
|
namespace: {{ .namespace }}
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: "fission-{{ .component }}"
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
roleRef:
|
||||||
|
kind: Role
|
||||||
|
name: "{{ .Release.Name }}-{{ .component }}"
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
{{- define "fission-role-generator" }}
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: Role
|
||||||
|
metadata:
|
||||||
|
{{- if eq "preupgrade" .component }}
|
||||||
|
annotations:
|
||||||
|
helm.sh/hook: pre-upgrade
|
||||||
|
helm.sh/hook-delete-policy: before-hook-creation
|
||||||
|
helm.sh/hook-weight: "-2"
|
||||||
|
{{- end }}
|
||||||
|
name: "{{ .Release.Name }}-{{ .component }}-fission-cr"
|
||||||
|
namespace: {{ .namespace }}
|
||||||
|
{{- if eq "buildermgr" .component }}
|
||||||
|
{{- include "buildermgr-rules" . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if eq "executor" .component }}
|
||||||
|
{{- include "executor-rules" . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if eq "kubewatcher" .component }}
|
||||||
|
{{- include "kubewatcher-rules" . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if eq "kafka" .component }}
|
||||||
|
{{- include "kafka-rules" . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if eq "keda" .component }}
|
||||||
|
{{- include "keda-rules" . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if eq "preupgrade" .component }}
|
||||||
|
{{- include "preupgrade-rules" . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if eq "router" .component }}
|
||||||
|
{{- include "router-rules" . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if eq "storagesvc" .component }}
|
||||||
|
{{- include "storagesvc-rules" . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if eq "timer" .component }}
|
||||||
|
{{- include "timer-rules" . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if eq "canaryconfig" .component }}
|
||||||
|
{{- include "canaryconfig-rules" . }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: RoleBinding
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
metadata:
|
||||||
|
{{- if eq "preupgrade" .component }}
|
||||||
|
annotations:
|
||||||
|
helm.sh/hook: pre-upgrade
|
||||||
|
helm.sh/hook-delete-policy: before-hook-creation
|
||||||
|
{{- end }}
|
||||||
|
name: "{{ .Release.Name }}-{{ .component }}-fission-cr"
|
||||||
|
namespace: {{ .namespace }}
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: "fission-{{ .component }}"
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
roleRef:
|
||||||
|
kind: Role
|
||||||
|
name: "{{ .Release.Name }}-{{ .component }}-fission-cr"
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,123 @@
|
|||||||
|
{{- define "fissionFunction.roles" }}
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: Role
|
||||||
|
metadata:
|
||||||
|
name: {{ .Release.Name }}-fission-fetcher
|
||||||
|
namespace: {{ .namespace }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- configmaps
|
||||||
|
- secrets
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- apiGroups:
|
||||||
|
- fission.io
|
||||||
|
resources:
|
||||||
|
- packages
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: Role
|
||||||
|
metadata:
|
||||||
|
name: {{ .Release.Name }}-fission-builder
|
||||||
|
namespace: {{ .namespace }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- fission.io
|
||||||
|
resources:
|
||||||
|
- packages
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- configmaps
|
||||||
|
- secrets
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: Role
|
||||||
|
metadata:
|
||||||
|
namespace: {{ .namespace }}
|
||||||
|
name: {{ .Release.Name }}-fission-fetcher-websocket
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- "events"
|
||||||
|
verbs:
|
||||||
|
- "get"
|
||||||
|
- "list"
|
||||||
|
- "watch"
|
||||||
|
- "create"
|
||||||
|
- "update"
|
||||||
|
- "patch"
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- pods
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- define "fissionFunction.rolebindings" }}
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: RoleBinding
|
||||||
|
metadata:
|
||||||
|
name: {{ .Release.Name }}-fission-fetcher
|
||||||
|
namespace: {{ .namespace }}
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: Role
|
||||||
|
name: {{ .Release.Name }}-fission-fetcher
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: fission-fetcher
|
||||||
|
{{- if and (.Values.functionNamespace) (eq .namespace "default") }}
|
||||||
|
namespace: {{ .Values.functionNamespace }}
|
||||||
|
{{- else }}
|
||||||
|
namespace: {{ .namespace }}
|
||||||
|
{{- end }}
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: RoleBinding
|
||||||
|
metadata:
|
||||||
|
name: {{ .Release.Name }}-fission-builder
|
||||||
|
namespace: {{ .namespace }}
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: Role
|
||||||
|
name: {{ .Release.Name }}-fission-builder
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: fission-builder
|
||||||
|
{{- if and (.Values.builderNamespace) (eq .namespace "default") }}
|
||||||
|
namespace: {{ .Values.builderNamespace }}
|
||||||
|
{{- else }}
|
||||||
|
namespace: {{ .namespace }}
|
||||||
|
{{- end }}
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: RoleBinding
|
||||||
|
metadata:
|
||||||
|
name: {{ .Release.Name }}-fission-fetcher-websocket
|
||||||
|
namespace: {{ .namespace }}
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: Role
|
||||||
|
name: {{ .Release.Name }}-fission-fetcher-websocket
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: fission-fetcher
|
||||||
|
{{- if and (.Values.functionNamespace) (eq .namespace "default") }}
|
||||||
|
namespace: {{ .Values.functionNamespace }}
|
||||||
|
{{- else }}
|
||||||
|
namespace: {{ .namespace }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end -}}
|
||||||
@@ -55,6 +55,22 @@ This template generates the image name for the deployment depending on the value
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- define "reporterImage" -}}
|
||||||
|
{{- if .Values.repository -}}
|
||||||
|
{{- if eq .Values.imageTag "" -}}
|
||||||
|
{{ .Values.repository }}/{{ .Values.postInstallReportImage }}
|
||||||
|
{{- else -}}
|
||||||
|
{{ .Values.repository }}/{{ .Values.postInstallReportImage }}:{{ .Values.imageTag }}
|
||||||
|
{{- end }}
|
||||||
|
{{- else -}}
|
||||||
|
{{- if eq .Values.imageTag "" -}}
|
||||||
|
{{ .Values.postInstallReportImage }}
|
||||||
|
{{- else -}}
|
||||||
|
{{ .Values.postInstallReportImage }}:{{ .Values.imageTag }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
{{- define "opentelemtry.envs" }}
|
{{- define "opentelemtry.envs" }}
|
||||||
- name: OTEL_EXPORTER_OTLP_ENDPOINT
|
- name: OTEL_EXPORTER_OTLP_ENDPOINT
|
||||||
value: "{{ .Values.openTelemetry.otlpCollectorEndpoint }}"
|
value: "{{ .Values.openTelemetry.otlpCollectorEndpoint }}"
|
||||||
@@ -71,3 +87,48 @@ This template generates the image name for the deployment depending on the value
|
|||||||
- name: OTEL_PROPAGATORS
|
- name: OTEL_PROPAGATORS
|
||||||
value: "{{ .Values.openTelemetry.propagators }}"
|
value: "{{ .Values.openTelemetry.propagators }}"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
|
{{- define "fission-resource-namespace.envs" }}
|
||||||
|
- name: FISSION_BUILDER_NAMESPACE
|
||||||
|
value: "{{ .Values.builderNamespace }}"
|
||||||
|
- name: FISSION_FUNCTION_NAMESPACE
|
||||||
|
value: "{{ .Values.functionNamespace }}"
|
||||||
|
- name: FISSION_DEFAULT_NAMESPACE
|
||||||
|
value: "{{ .Values.defaultNamespace }}"
|
||||||
|
- name: FISSION_RESOURCE_NAMESPACES
|
||||||
|
{{- if gt (len .Values.additionalFissionNamespaces) 0 }}
|
||||||
|
value: "{{ .Values.defaultNamespace }},{{ join "," .Values.additionalFissionNamespaces }}"
|
||||||
|
{{- else }}
|
||||||
|
value: {{ .Values.defaultNamespace }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- define "kube_client.envs" }}
|
||||||
|
- name: KUBE_CLIENT_QPS
|
||||||
|
value: "{{ .Values.kubernetesClientQPS }}"
|
||||||
|
- name: KUBE_CLIENT_BURST
|
||||||
|
value: "{{ .Values.kubernetesClientBurst }}"
|
||||||
|
{{- end}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Define the svc's name
|
||||||
|
*/}}
|
||||||
|
{{- define "fission-webhook.svc" -}}
|
||||||
|
{{- printf "webhook-service" -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- define "fission-function-ns" -}}
|
||||||
|
{{- if .Values.functionNamespace -}}
|
||||||
|
{{- printf "%s" .Values.functionNamespace -}}
|
||||||
|
{{- else -}}
|
||||||
|
{{- printf "%s" .Values.defaultNamespace -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- define "fission-builder-ns" -}}
|
||||||
|
{{- if .Values.builderNamespace -}}
|
||||||
|
{{- printf "%s" .Values.builderNamespace -}}
|
||||||
|
{{- else -}}
|
||||||
|
{{- printf "%s" .Values.defaultNamespace -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|||||||
@@ -26,16 +26,15 @@ spec:
|
|||||||
restartPolicy: Never
|
restartPolicy: Never
|
||||||
containers:
|
containers:
|
||||||
- name: post-install-job
|
- name: post-install-job
|
||||||
{{- if .Values.imageTag }}
|
image: {{ include "reporterImage" . | quote }}
|
||||||
image: {{ .Values.postInstallReportImage }}:{{ .Values.imageTag }}
|
|
||||||
{{- else }}
|
|
||||||
image: {{ .Values.postInstallReportImage }}
|
|
||||||
{{- end }}
|
|
||||||
imagePullPolicy: {{ .Values.pullPolicy }}
|
imagePullPolicy: {{ .Values.pullPolicy }}
|
||||||
command: [ "/reporter" ]
|
command: [ "/reporter" ]
|
||||||
args: ["event", "-c", "fission-use", "-a", "yaml-post-install", "-l", "{{ .Chart.Name }}-{{ .Chart.Version }}"]
|
args: ["event", "-c", "fission-use", "-a", "yaml-post-install", "-l", "{{ .Chart.Name }}-{{ .Chart.Version }}"]
|
||||||
env:
|
env:
|
||||||
- name: GA_TRACKING_ID
|
- name: GA_TRACKING_ID
|
||||||
value: "{{ .Values.gaTrackingID }}"
|
value: "{{ .Values.gaTrackingID }}"
|
||||||
serviceAccountName: fission-svc
|
{{- with .Values.imagePullSecrets }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|||||||
@@ -30,11 +30,7 @@ spec:
|
|||||||
restartPolicy: Never
|
restartPolicy: Never
|
||||||
containers:
|
containers:
|
||||||
- name: post-install-job
|
- name: post-install-job
|
||||||
{{- if .Values.imageTag }}
|
image: {{ include "reporterImage" . | quote }}
|
||||||
image: {{ .Values.postInstallReportImage }}:{{ .Values.imageTag }}
|
|
||||||
{{- else }}
|
|
||||||
image: {{ .Values.postInstallReportImage }}
|
|
||||||
{{- end }}
|
|
||||||
imagePullPolicy: {{ .Values.pullPolicy }}
|
imagePullPolicy: {{ .Values.pullPolicy }}
|
||||||
command: [ "/reporter" ]
|
command: [ "/reporter" ]
|
||||||
args: ["event", "-c", "fission-use", "-a", "helm-post-install", "-l", "{{ .Chart.Name }}-{{ .Chart.Version }}"]
|
args: ["event", "-c", "fission-use", "-a", "helm-post-install", "-l", "{{ .Chart.Name }}-{{ .Chart.Version }}"]
|
||||||
@@ -47,5 +43,8 @@ spec:
|
|||||||
{{- if .Values.terminationMessagePolicy }}
|
{{- if .Values.terminationMessagePolicy }}
|
||||||
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
|
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
serviceAccountName: fission-svc
|
{{- with .Values.imagePullSecrets }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|||||||
@@ -30,11 +30,7 @@ spec:
|
|||||||
restartPolicy: Never
|
restartPolicy: Never
|
||||||
containers:
|
containers:
|
||||||
- name: post-upgrade-job
|
- name: post-upgrade-job
|
||||||
{{- if .Values.imageTag }}
|
image: {{ include "reporterImage" . | quote }}
|
||||||
image: {{ .Values.postInstallReportImage }}:{{ .Values.imageTag }}
|
|
||||||
{{- else }}
|
|
||||||
image: {{ .Values.postInstallReportImage }}
|
|
||||||
{{- end }}
|
|
||||||
imagePullPolicy: {{ .Values.pullPolicy }}
|
imagePullPolicy: {{ .Values.pullPolicy }}
|
||||||
command: [ "/reporter" ]
|
command: [ "/reporter" ]
|
||||||
args: ["event", "-c", "fission-use", "-a", "helm-post-upgrade", "-l", "{{ .Chart.Name }}-{{ .Chart.Version }}"]
|
args: ["event", "-c", "fission-use", "-a", "helm-post-upgrade", "-l", "{{ .Chart.Name }}-{{ .Chart.Version }}"]
|
||||||
@@ -47,5 +43,8 @@ spec:
|
|||||||
{{- if .Values.terminationMessagePolicy }}
|
{{- if .Values.terminationMessagePolicy }}
|
||||||
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
|
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
serviceAccountName: fission-svc
|
{{- with .Values.imagePullSecrets }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|||||||
@@ -4,6 +4,6 @@ kind: ConfigMap
|
|||||||
metadata:
|
metadata:
|
||||||
name: builder-podspec-patch
|
name: builder-podspec-patch
|
||||||
data:
|
data:
|
||||||
spec: |
|
builder-podspec-patch.yaml: |
|
||||||
{{- toYaml .Values.builderPodSpec.podSpec | nindent 4 }}
|
{{- toYaml .Values.builderPodSpec.podSpec | nindent 4 }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
@@ -27,7 +27,7 @@ spec:
|
|||||||
image: {{ include "fission-bundleImage" . | quote }}
|
image: {{ include "fission-bundleImage" . | quote }}
|
||||||
imagePullPolicy: {{ .Values.pullPolicy }}
|
imagePullPolicy: {{ .Values.pullPolicy }}
|
||||||
command: ["/fission-bundle"]
|
command: ["/fission-bundle"]
|
||||||
args: ["--builderMgr", "--storageSvcUrl", "http://storagesvc.{{ .Release.Namespace }}", "--envbuilder-namespace", "{{ .Values.builderNamespace }}"]
|
args: ["--builderMgr", "--storageSvcUrl", "http://storagesvc.{{ .Release.Namespace }}"]
|
||||||
env:
|
env:
|
||||||
- name: FETCHER_IMAGE
|
- name: FETCHER_IMAGE
|
||||||
{{- if eq .Values.fetcher.imageTag "" }}
|
{{- if eq .Values.fetcher.imageTag "" }}
|
||||||
@@ -55,7 +55,16 @@ spec:
|
|||||||
value: {{ .Values.pprof.enabled | quote }}
|
value: {{ .Values.pprof.enabled | quote }}
|
||||||
- name: HELM_RELEASE_NAME
|
- name: HELM_RELEASE_NAME
|
||||||
value: {{ .Release.Name | quote }}
|
value: {{ .Release.Name | quote }}
|
||||||
|
{{- include "fission-resource-namespace.envs" . | indent 8 }}
|
||||||
|
{{- include "kube_client.envs" . | indent 8 }}
|
||||||
{{- include "opentelemtry.envs" . | indent 8 }}
|
{{- include "opentelemtry.envs" . | indent 8 }}
|
||||||
|
{{- if .Values.builderPodSpec.enabled }}
|
||||||
|
volumeMounts:
|
||||||
|
- name: builder-podspec-patch-volume
|
||||||
|
mountPath: /etc/fission/builder-podspec-patch.yaml
|
||||||
|
subPath: builder-podspec-patch.yaml
|
||||||
|
readOnly: true
|
||||||
|
{{- end }}
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 8080
|
- containerPort: 8080
|
||||||
name: metrics
|
name: metrics
|
||||||
@@ -67,12 +76,18 @@ spec:
|
|||||||
{{- if .Values.terminationMessagePolicy }}
|
{{- if .Values.terminationMessagePolicy }}
|
||||||
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
|
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
serviceAccountName: fission-svc
|
serviceAccountName: fission-buildermgr
|
||||||
|
{{- if .Values.builderPodSpec.enabled }}
|
||||||
|
volumes:
|
||||||
|
- name: builder-podspec-patch-volume
|
||||||
|
configMap:
|
||||||
|
name: builder-podspec-patch
|
||||||
|
{{- end }}
|
||||||
{{- if .Values.priorityClassName }}
|
{{- if .Values.priorityClassName }}
|
||||||
priorityClassName: {{ .Values.priorityClassName }}
|
priorityClassName: {{ .Values.priorityClassName }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with .Values.imagePullSecrets }}
|
{{- with .Values.imagePullSecrets }}
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.extraCoreComponentPodConfig }}
|
{{- if .Values.extraCoreComponentPodConfig }}
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
{{- include "fission-role-generator" (merge (dict "namespace" .Values.defaultNamespace "component" "buildermgr") .) }}
|
||||||
|
|
||||||
|
{{- if gt (len .Values.additionalFissionNamespaces) 0 }}
|
||||||
|
{{- range $namespace := $.Values.additionalFissionNamespaces }}
|
||||||
|
{{ include "fission-role-generator" (merge (dict "namespace" $namespace "component" "buildermgr") $) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.builderNamespace -}}
|
||||||
|
{{ include "fission-role-generator" (merge (dict "namespace" .Values.builderNamespace "component" "buildermgr") $) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.functionNamespace -}}
|
||||||
|
{{ include "fission-role-generator" (merge (dict "namespace" .Values.functionNamespace "component" "buildermgr") $) }}
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
{{- include "kubernetes-role-generator" (merge (dict "namespace" .Values.defaultNamespace "component" "buildermgr") .) }}
|
||||||
|
|
||||||
|
{{- if gt (len .Values.additionalFissionNamespaces) 0 }}
|
||||||
|
{{- range $namespace := $.Values.additionalFissionNamespaces }}
|
||||||
|
{{ include "kubernetes-role-generator" (merge (dict "namespace" $namespace "component" "buildermgr") $) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.builderNamespace -}}
|
||||||
|
{{ include "kubernetes-role-generator" (merge (dict "namespace" .Values.builderNamespace "component" "buildermgr") $) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.functionNamespace -}}
|
||||||
|
{{ include "kubernetes-role-generator" (merge (dict "namespace" .Values.functionNamespace "component" "buildermgr") $) }}
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: fission-buildermgr
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
+18
-31
@@ -1,69 +1,57 @@
|
|||||||
|
{{- if .Values.canaryDeployment.enabled }}
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: controller
|
name: canaryconfig
|
||||||
labels:
|
labels:
|
||||||
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
||||||
svc: controller
|
svc: canaryconfig
|
||||||
application: fission-api
|
application: fission-canaryconfig
|
||||||
spec:
|
spec:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
svc: controller
|
svc: canaryconfig
|
||||||
application: fission-api
|
application: fission-canaryconfig
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
svc: controller
|
svc: canaryconfig
|
||||||
application: fission-api
|
application: fission-canaryconfig
|
||||||
annotations:
|
annotations:
|
||||||
prometheus.io/scrape: "true"
|
prometheus.io/scrape: "true"
|
||||||
prometheus.io/path: "/metrics"
|
prometheus.io/path: "/metrics"
|
||||||
prometheus.io/port: "8080"
|
prometheus.io/port: "8080"
|
||||||
spec:
|
spec:
|
||||||
{{- if .Values.controller.securityContext.enabled }}
|
{{- if .Values.canaryDeployment.securityContext.enabled }}
|
||||||
securityContext: {{- omit .Values.controller.securityContext "enabled" | toYaml | nindent 8 }}
|
securityContext: {{- omit .Values.canaryDeployment.securityContext "enabled" | toYaml | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
containers:
|
containers:
|
||||||
- name: controller
|
- name: canaryconfig
|
||||||
image: {{ include "fission-bundleImage" . | quote }}
|
image: {{ include "fission-bundleImage" . | quote }}
|
||||||
imagePullPolicy: {{ .Values.pullPolicy }}
|
imagePullPolicy: {{ .Values.pullPolicy }}
|
||||||
command: ["/fission-bundle"]
|
command: ["/fission-bundle"]
|
||||||
args: ["--controllerPort", "8888"]
|
args: ["--canaryConfig"]
|
||||||
env:
|
env:
|
||||||
- name: FISSION_FUNCTION_NAMESPACE
|
|
||||||
value: "{{ .Values.functionNamespace }}"
|
|
||||||
- name: DEBUG_ENV
|
- name: DEBUG_ENV
|
||||||
value: {{ .Values.debugEnv | quote }}
|
value: {{ .Values.debugEnv | quote }}
|
||||||
- name: PPROF_ENABLED
|
- name: PPROF_ENABLED
|
||||||
value: {{ .Values.pprof.enabled | quote }}
|
value: {{ .Values.pprof.enabled | quote }}
|
||||||
|
{{- include "fission-resource-namespace.envs" . | indent 8 }}
|
||||||
|
{{- include "kube_client.envs" . | indent 8 }}
|
||||||
- name: POD_NAMESPACE
|
- name: POD_NAMESPACE
|
||||||
valueFrom:
|
valueFrom:
|
||||||
fieldRef:
|
fieldRef:
|
||||||
fieldPath: metadata.namespace
|
fieldPath: metadata.namespace
|
||||||
{{- include "opentelemtry.envs" . | indent 8 }}
|
{{- include "opentelemtry.envs" . | indent 8 }}
|
||||||
resources:
|
resources:
|
||||||
{{- toYaml .Values.controller.resources | nindent 10 }}
|
{{- toYaml .Values.canaryDeployment.resources | nindent 10 }}
|
||||||
{{- if .Values.terminationMessagePath }}
|
{{- if .Values.terminationMessagePath }}
|
||||||
terminationMessagePath: {{ .Values.terminationMessagePath }}
|
terminationMessagePath: {{ .Values.terminationMessagePath }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.terminationMessagePolicy }}
|
{{- if .Values.terminationMessagePolicy }}
|
||||||
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
|
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
readinessProbe:
|
|
||||||
httpGet:
|
|
||||||
path: "/healthz"
|
|
||||||
port: 8888
|
|
||||||
initialDelaySeconds: 1
|
|
||||||
periodSeconds: 1
|
|
||||||
failureThreshold: 30
|
|
||||||
livenessProbe:
|
|
||||||
httpGet:
|
|
||||||
path: "/healthz"
|
|
||||||
port: 8888
|
|
||||||
initialDelaySeconds: 35
|
|
||||||
periodSeconds: 5
|
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: config-volume
|
- name: config-volume
|
||||||
mountPath: /etc/config/config.yaml
|
mountPath: /etc/config/config.yaml
|
||||||
@@ -71,14 +59,12 @@ spec:
|
|||||||
ports:
|
ports:
|
||||||
- containerPort: 8080
|
- containerPort: 8080
|
||||||
name: metrics
|
name: metrics
|
||||||
- containerPort: 8888
|
|
||||||
name: http
|
|
||||||
{{- if .Values.pprof.enabled }}
|
{{- if .Values.pprof.enabled }}
|
||||||
- containerPort: 6060
|
- containerPort: 6060
|
||||||
name: pprof
|
name: pprof
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
serviceAccountName: fission-svc
|
serviceAccountName: fission-canaryconfig
|
||||||
volumes:
|
volumes:
|
||||||
- name: config-volume
|
- name: config-volume
|
||||||
configMap:
|
configMap:
|
||||||
@@ -92,4 +78,5 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.extraCoreComponentPodConfig }}
|
{{- if .Values.extraCoreComponentPodConfig }}
|
||||||
{{ toYaml .Values.extraCoreComponentPodConfig | indent 6 -}}
|
{{ toYaml .Values.extraCoreComponentPodConfig | indent 6 -}}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- end -}}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{{- if .Values.canaryDeployment.enabled }}
|
||||||
|
{{- include "fission-role-generator" (merge (dict "namespace" .Values.defaultNamespace "component" "canaryconfig") .) }}
|
||||||
|
|
||||||
|
{{- if gt (len .Values.additionalFissionNamespaces) 0 }}
|
||||||
|
{{- range $namespace := $.Values.additionalFissionNamespaces }}
|
||||||
|
{{ include "fission-role-generator" (merge (dict "namespace" $namespace "component" "canaryconfig") $) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end -}}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{{- if .Values.canaryDeployment.enabled }}
|
||||||
|
{{- include "kubernetes-role-generator" (merge (dict "namespace" .Values.defaultNamespace "component" "canaryconfig") .) }}
|
||||||
|
|
||||||
|
{{- if gt (len .Values.additionalFissionNamespaces) 0 }}
|
||||||
|
{{- range $namespace := $.Values.additionalFissionNamespaces }}
|
||||||
|
{{ include "kubernetes-role-generator" (merge (dict "namespace" $namespace "component" "canaryconfig") $) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{{- if .Values.canaryDeployment.enabled }}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: fission-canaryconfig
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
{{- end -}}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
{{- if .Values.canaryDeployment.enabled }}
|
||||||
|
{{- if .Values.serviceMonitor.enabled }}
|
||||||
|
apiVersion: monitoring.coreos.com/v1
|
||||||
|
kind: ServiceMonitor
|
||||||
|
metadata:
|
||||||
|
name: canaryconfig-monitor
|
||||||
|
{{- if .Values.serviceMonitor.namespace }}
|
||||||
|
namespace: {{ .Values.serviceMonitor.namespace }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.serviceMonitor.additionalServiceMonitorLabels }}
|
||||||
|
labels:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
namespaceSelector:
|
||||||
|
matchNames:
|
||||||
|
- {{ .Release.Namespace }}
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
svc: canaryconfig
|
||||||
|
endpoints:
|
||||||
|
- targetPort: 8080
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
@@ -1,115 +0,0 @@
|
|||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: ClusterRole
|
|
||||||
metadata:
|
|
||||||
name: {{ .Release.Name }}-fission-cr-admin
|
|
||||||
rules:
|
|
||||||
- apiGroups:
|
|
||||||
- ""
|
|
||||||
resources:
|
|
||||||
- configmaps
|
|
||||||
- pods
|
|
||||||
- secrets
|
|
||||||
- services
|
|
||||||
- serviceaccounts
|
|
||||||
- replicationcontrollers
|
|
||||||
- namespaces
|
|
||||||
- events
|
|
||||||
verbs:
|
|
||||||
- create
|
|
||||||
- delete
|
|
||||||
- get
|
|
||||||
- list
|
|
||||||
- watch
|
|
||||||
- patch
|
|
||||||
- apiGroups:
|
|
||||||
- apps
|
|
||||||
resources:
|
|
||||||
- deployments
|
|
||||||
- deployments/scale
|
|
||||||
- replicasets
|
|
||||||
verbs:
|
|
||||||
- '*'
|
|
||||||
- apiGroups:
|
|
||||||
- batch
|
|
||||||
resources:
|
|
||||||
- jobs
|
|
||||||
verbs:
|
|
||||||
- get
|
|
||||||
- list
|
|
||||||
- watch
|
|
||||||
- apiGroups:
|
|
||||||
- networking.k8s.io
|
|
||||||
resources:
|
|
||||||
- ingresses
|
|
||||||
verbs:
|
|
||||||
- '*'
|
|
||||||
- apiGroups:
|
|
||||||
- apiextensions.k8s.io
|
|
||||||
resources:
|
|
||||||
- customresourcedefinitions
|
|
||||||
verbs:
|
|
||||||
- get
|
|
||||||
- list
|
|
||||||
- watch
|
|
||||||
- apiGroups:
|
|
||||||
- fission.io
|
|
||||||
resources:
|
|
||||||
- canaryconfigs
|
|
||||||
- environments
|
|
||||||
- functions
|
|
||||||
- httptriggers
|
|
||||||
- kuberneteswatchtriggers
|
|
||||||
- messagequeuetriggers
|
|
||||||
- packages
|
|
||||||
- timetriggers
|
|
||||||
verbs:
|
|
||||||
- '*'
|
|
||||||
- apiGroups:
|
|
||||||
- autoscaling
|
|
||||||
resources:
|
|
||||||
- horizontalpodautoscalers
|
|
||||||
verbs:
|
|
||||||
- '*'
|
|
||||||
- apiGroups:
|
|
||||||
- rbac.authorization.k8s.io
|
|
||||||
resources:
|
|
||||||
- rolebindings
|
|
||||||
verbs:
|
|
||||||
- '*'
|
|
||||||
- apiGroups:
|
|
||||||
- rbac.authorization.k8s.io
|
|
||||||
resources:
|
|
||||||
- clusterroles
|
|
||||||
verbs:
|
|
||||||
- bind
|
|
||||||
- apiGroups:
|
|
||||||
- keda.sh
|
|
||||||
resources:
|
|
||||||
- scaledjobs
|
|
||||||
- scaledobjects
|
|
||||||
- scaledjobs/finalizers
|
|
||||||
- scaledjobs/status
|
|
||||||
- triggerauthentications
|
|
||||||
- triggerauthentications/status
|
|
||||||
verbs:
|
|
||||||
- '*'
|
|
||||||
{{- if .Values.mqt_keda.enabled }}
|
|
||||||
- apiGroups:
|
|
||||||
- keda.k8s.io
|
|
||||||
resources:
|
|
||||||
- scaledjobs
|
|
||||||
- scaledobjects
|
|
||||||
- scaledjobs/finalizers
|
|
||||||
- scaledjobs/status
|
|
||||||
- triggerauthentications
|
|
||||||
- triggerauthentications/status
|
|
||||||
verbs:
|
|
||||||
- '*'
|
|
||||||
{{- end }}
|
|
||||||
- apiGroups:
|
|
||||||
- metrics.k8s.io
|
|
||||||
resources:
|
|
||||||
- pods
|
|
||||||
verbs:
|
|
||||||
- get
|
|
||||||
- list
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: controller
|
|
||||||
labels:
|
|
||||||
svc: controller
|
|
||||||
application: fission-api
|
|
||||||
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
|
||||||
spec:
|
|
||||||
type: {{ .Values.serviceType }}
|
|
||||||
ports:
|
|
||||||
- port: 80
|
|
||||||
targetPort: 8888
|
|
||||||
{{- if eq .Values.serviceType "NodePort" }}
|
|
||||||
nodePort: {{ .Values.controllerPort }}
|
|
||||||
{{- end }}
|
|
||||||
selector:
|
|
||||||
svc: controller
|
|
||||||
@@ -4,6 +4,6 @@ kind: ConfigMap
|
|||||||
metadata:
|
metadata:
|
||||||
name: runtime-podspec-patch
|
name: runtime-podspec-patch
|
||||||
data:
|
data:
|
||||||
spec: |
|
runtime-podspec-patch.yaml: |
|
||||||
{{- toYaml .Values.runtimePodSpec.podSpec | nindent 4 }}
|
{{- toYaml .Values.runtimePodSpec.podSpec | nindent 4 }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
@@ -27,7 +27,7 @@ spec:
|
|||||||
image: {{ include "fission-bundleImage" . | quote }}
|
image: {{ include "fission-bundleImage" . | quote }}
|
||||||
imagePullPolicy: {{ .Values.pullPolicy }}
|
imagePullPolicy: {{ .Values.pullPolicy }}
|
||||||
command: ["/fission-bundle"]
|
command: ["/fission-bundle"]
|
||||||
args: ["--executorPort", "8888", "--namespace", "{{ .Values.functionNamespace }}"]
|
args: ["--executorPort", "8888"]
|
||||||
env:
|
env:
|
||||||
- name: FETCHER_IMAGE
|
- name: FETCHER_IMAGE
|
||||||
{{- if eq .Values.fetcher.imageTag "" }}
|
{{- if eq .Values.fetcher.imageTag "" }}
|
||||||
@@ -57,6 +57,28 @@ spec:
|
|||||||
value: {{ .Values.debugEnv | quote }}
|
value: {{ .Values.debugEnv | quote }}
|
||||||
- name: PPROF_ENABLED
|
- name: PPROF_ENABLED
|
||||||
value: {{ .Values.pprof.enabled | quote }}
|
value: {{ .Values.pprof.enabled | quote }}
|
||||||
|
- name: OBJECT_REAPER_INTERVAL
|
||||||
|
value: {{ .Values.executor.objectReaperInterval | quote }}
|
||||||
|
{{- if .Values.executor.poolmgr.objectReaperInterval }}
|
||||||
|
- name: POOLMGR_OBJECT_REAPER_INTERVAL
|
||||||
|
value: {{ .Values.executor.poolmgr.objectReaperInterval | quote }}
|
||||||
|
{{- end}}
|
||||||
|
{{- if .Values.executor.newdeploy.objectReaperInterval }}
|
||||||
|
- name: NEWDEPLOY_OBJECT_REAPER_INTERVAL
|
||||||
|
value: {{ .Values.executor.newdeploy.objectReaperInterval | quote }}
|
||||||
|
{{- end}}
|
||||||
|
{{- if .Values.executor.container.objectReaperInterval }}
|
||||||
|
- name: CONTAINER_OBJECT_REAPER_INTERVAL
|
||||||
|
value: {{ .Values.executor.container.objectReaperInterval | quote }}
|
||||||
|
{{- end}}
|
||||||
|
{{- if .Values.executor.serviceAccountCheck.enabled }}
|
||||||
|
- name: SERVICEACCOUNT_CHECK_ENABLED
|
||||||
|
value: {{ .Values.executor.serviceAccountCheck.enabled | quote }}
|
||||||
|
- name: SERVICEACCOUNT_CHECK_INTERVAL
|
||||||
|
value: {{ .Values.executor.serviceAccountCheck.interval | quote }}
|
||||||
|
{{- end}}
|
||||||
|
{{- include "fission-resource-namespace.envs" . | indent 8 }}
|
||||||
|
{{- include "kube_client.envs" . | indent 8 }}
|
||||||
- name: HELM_RELEASE_NAME
|
- name: HELM_RELEASE_NAME
|
||||||
value: {{ .Release.Name | quote }}
|
value: {{ .Release.Name | quote }}
|
||||||
{{- include "opentelemtry.envs" . | indent 8 }}
|
{{- include "opentelemtry.envs" . | indent 8 }}
|
||||||
@@ -75,6 +97,13 @@ spec:
|
|||||||
port: 8888
|
port: 8888
|
||||||
initialDelaySeconds: 35
|
initialDelaySeconds: 35
|
||||||
periodSeconds: 5
|
periodSeconds: 5
|
||||||
|
{{- if .Values.runtimePodSpec.enabled }}
|
||||||
|
volumeMounts:
|
||||||
|
- name: runtime-podspec-patch-volume
|
||||||
|
mountPath: /etc/fission/runtime-podspec-patch.yaml
|
||||||
|
subPath: runtime-podspec-patch.yaml
|
||||||
|
readOnly: true
|
||||||
|
{{- end }}
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 8080
|
- containerPort: 8080
|
||||||
name: metrics
|
name: metrics
|
||||||
@@ -94,14 +123,20 @@ spec:
|
|||||||
{{- else if .Values.terminationMessagePolicy }}
|
{{- else if .Values.terminationMessagePolicy }}
|
||||||
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
|
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
serviceAccountName: fission-svc
|
serviceAccountName: fission-executor
|
||||||
|
{{- if .Values.runtimePodSpec.enabled }}
|
||||||
|
volumes:
|
||||||
|
- name: runtime-podspec-patch-volume
|
||||||
|
configMap:
|
||||||
|
name: runtime-podspec-patch
|
||||||
|
{{- end }}
|
||||||
{{- if .Values.executor.priorityClassName }}
|
{{- if .Values.executor.priorityClassName }}
|
||||||
priorityClassName: {{ .Values.executor.priorityClassName }}
|
priorityClassName: {{ .Values.executor.priorityClassName }}
|
||||||
{{- else if .Values.priorityClassName }}
|
{{- else if .Values.priorityClassName }}
|
||||||
priorityClassName: {{ .Values.priorityClassName }}
|
priorityClassName: {{ .Values.priorityClassName }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with .Values.imagePullSecrets }}
|
{{- with .Values.imagePullSecrets }}
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.extraCoreComponentPodConfig }}
|
{{- if .Values.extraCoreComponentPodConfig }}
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
{{- include "fission-role-generator" (merge (dict "namespace" .Values.defaultNamespace "component" "executor") .) }}
|
||||||
|
|
||||||
|
{{- if gt (len .Values.additionalFissionNamespaces) 0 }}
|
||||||
|
{{- range $namespace := $.Values.additionalFissionNamespaces }}
|
||||||
|
{{ include "fission-role-generator" (merge (dict "namespace" $namespace "component" "executor") $) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.builderNamespace -}}
|
||||||
|
{{ include "fission-role-generator" (merge (dict "namespace" .Values.builderNamespace "component" "executor") $) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.functionNamespace -}}
|
||||||
|
{{ include "fission-role-generator" (merge (dict "namespace" .Values.functionNamespace "component" "executor") $) }}
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
{{- include "kubernetes-role-generator" (merge (dict "namespace" .Values.defaultNamespace "component" "executor") .) }}
|
||||||
|
|
||||||
|
{{- if gt (len .Values.additionalFissionNamespaces) 0 }}
|
||||||
|
{{- range $namespace := $.Values.additionalFissionNamespaces }}
|
||||||
|
{{ include "kubernetes-role-generator" (merge (dict "namespace" $namespace "component" "executor") $) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.builderNamespace -}}
|
||||||
|
{{ include "kubernetes-role-generator" (merge (dict "namespace" .Values.builderNamespace "component" "executor") $) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.functionNamespace -}}
|
||||||
|
{{ include "kubernetes-role-generator" (merge (dict "namespace" .Values.functionNamespace "component" "executor") $) }}
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: fission-executor
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
@@ -173,7 +173,7 @@ spec:
|
|||||||
- name: fluentbit-config
|
- name: fluentbit-config
|
||||||
mountPath: /fluent-bit/etc/
|
mountPath: /fluent-bit/etc/
|
||||||
readOnly: true
|
readOnly: true
|
||||||
serviceAccountName: fission-svc
|
serviceAccountName: fission-fluentbit
|
||||||
volumes:
|
volumes:
|
||||||
- name: container-log
|
- name: container-log
|
||||||
hostPath:
|
hostPath:
|
||||||
@@ -185,6 +185,10 @@ spec:
|
|||||||
- name: fluentbit-config
|
- name: fluentbit-config
|
||||||
configMap:
|
configMap:
|
||||||
name: {{ .Release.Name }}-fission-fluentbit
|
name: {{ .Release.Name }}-fission-fluentbit
|
||||||
|
{{- with .Values.imagePullSecrets }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
updateStrategy:
|
updateStrategy:
|
||||||
type: RollingUpdate
|
type: RollingUpdate
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{{- include "kubernetes-role-generator" (merge (dict "namespace" .Values.defaultNamespace "component" "fluentbit") .) }}
|
||||||
|
|
||||||
|
{{- if gt (len .Values.additionalFissionNamespaces) 0 }}
|
||||||
|
{{- range $namespace := $.Values.additionalFissionNamespaces }}
|
||||||
|
{{ include "kubernetes-role-generator" (merge (dict "namespace" $namespace "component" "fluentbit") $) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: fission-fluentbit
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
@@ -49,6 +49,10 @@ spec:
|
|||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: influxdb
|
name: influxdb
|
||||||
key: password
|
key: password
|
||||||
|
{{- with .Values.imagePullSecrets }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
{{- if .Values.extraCoreComponentPodConfig }}
|
{{- if .Values.extraCoreComponentPodConfig }}
|
||||||
{{ toYaml .Values.extraCoreComponentPodConfig | indent 6 -}}
|
{{ toYaml .Values.extraCoreComponentPodConfig | indent 6 -}}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|||||||
@@ -29,6 +29,8 @@ spec:
|
|||||||
value: {{ .Values.debugEnv | quote }}
|
value: {{ .Values.debugEnv | quote }}
|
||||||
- name: PPROF_ENABLED
|
- name: PPROF_ENABLED
|
||||||
value: {{ .Values.pprof.enabled | quote }}
|
value: {{ .Values.pprof.enabled | quote }}
|
||||||
|
{{- include "fission-resource-namespace.envs" . | indent 8 }}
|
||||||
|
{{- include "kube_client.envs" . | indent 8 }}
|
||||||
{{- include "opentelemtry.envs" . | indent 8 }}
|
{{- include "opentelemtry.envs" . | indent 8 }}
|
||||||
resources:
|
resources:
|
||||||
{{- toYaml .Values.kubewatcher.resources | nindent 10 }}
|
{{- toYaml .Values.kubewatcher.resources | nindent 10 }}
|
||||||
@@ -38,7 +40,7 @@ spec:
|
|||||||
{{- if .Values.terminationMessagePolicy }}
|
{{- if .Values.terminationMessagePolicy }}
|
||||||
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
|
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
serviceAccountName: fission-svc
|
serviceAccountName: fission-kubewatcher
|
||||||
{{- if .Values.priorityClassName }}
|
{{- if .Values.priorityClassName }}
|
||||||
priorityClassName: {{ .Values.priorityClassName }}
|
priorityClassName: {{ .Values.priorityClassName }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{{- include "fission-role-generator" (merge (dict "namespace" .Values.defaultNamespace "component" "kubewatcher") .) }}
|
||||||
|
|
||||||
|
{{- if gt (len .Values.additionalFissionNamespaces) 0 }}
|
||||||
|
{{- range $namespace := $.Values.additionalFissionNamespaces }}
|
||||||
|
{{ include "fission-role-generator" (merge (dict "namespace" $namespace "component" "kubewatcher") $) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{{- include "kubernetes-role-generator" (merge (dict "namespace" .Values.defaultNamespace "component" "kubewatcher") .) }}
|
||||||
|
|
||||||
|
{{- if gt (len .Values.additionalFissionNamespaces) 0 }}
|
||||||
|
{{- range $namespace := $.Values.additionalFissionNamespaces }}
|
||||||
|
{{ include "kubernetes-role-generator" (merge (dict "namespace" $namespace "component" "kubewatcher") $) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: fission-kubewatcher
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: ClusterRole
|
|
||||||
metadata:
|
|
||||||
name: {{ .Release.Name }}-secret-configmap-getter
|
|
||||||
rules:
|
|
||||||
- apiGroups:
|
|
||||||
- "*"
|
|
||||||
resources:
|
|
||||||
- secrets
|
|
||||||
- configmaps
|
|
||||||
verbs:
|
|
||||||
- get
|
|
||||||
- watch
|
|
||||||
- list
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: ClusterRole
|
|
||||||
metadata:
|
|
||||||
name: {{ .Release.Name }}-package-getter
|
|
||||||
rules:
|
|
||||||
- apiGroups:
|
|
||||||
- "*"
|
|
||||||
resources:
|
|
||||||
- packages
|
|
||||||
verbs:
|
|
||||||
- "*"
|
|
||||||
- apiGroups:
|
|
||||||
- rbac.authorization.k8s.io
|
|
||||||
resources:
|
|
||||||
- rolebindings
|
|
||||||
verbs:
|
|
||||||
- "*"
|
|
||||||
@@ -1,24 +1,29 @@
|
|||||||
{{- if .Values.createNamespace }}
|
{{- if .Values.createNamespace }}
|
||||||
|
{{- if and (ne .Values.functionNamespace "default") (ne .Values.functionNamespace "") }}
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Namespace
|
kind: Namespace
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ .Values.functionNamespace }}
|
name: {{ template "fission-function-ns" . }}
|
||||||
labels:
|
labels:
|
||||||
name: fission-function
|
name: fission-function
|
||||||
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
|
||||||
{{- if .Values.enableIstio }}
|
{{- if .Values.enableIstio }}
|
||||||
istio-injection: enabled
|
istio-injection: enabled
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- end}}
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
{{- if and (ne .Values.builderNamespace "default") (ne .Values.builderNamespace "") }}
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Namespace
|
kind: Namespace
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ .Values.builderNamespace }}
|
name: {{ template "fission-builder-ns" . }}
|
||||||
labels:
|
labels:
|
||||||
name: fission-builder
|
name: fission-builder
|
||||||
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
|
||||||
{{- if .Values.enableIstio }}
|
{{- if .Values.enableIstio }}
|
||||||
istio-injection: enabled
|
istio-injection: enabled
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
@@ -1,70 +1,12 @@
|
|||||||
apiVersion: rbac.authorization.k8s.io/v1
|
{{/*
|
||||||
kind: Role
|
Passing namespace as an argument to the "fissionFunction.roles" template.
|
||||||
metadata:
|
Need to use merge function to pass in the current scope so that ".Release" values
|
||||||
name: {{ .Release.Name }}-fission-fetcher
|
can be used
|
||||||
namespace: {{ .Values.defaultNamespace }}
|
*/}}
|
||||||
rules:
|
{{ include "fissionFunction.roles" (merge (dict "namespace" .Values.defaultNamespace) .) }}
|
||||||
- apiGroups:
|
|
||||||
- ""
|
|
||||||
resources:
|
|
||||||
- configmaps
|
|
||||||
- secrets
|
|
||||||
- pods
|
|
||||||
verbs:
|
|
||||||
- get
|
|
||||||
- list
|
|
||||||
- watch
|
|
||||||
- apiGroups:
|
|
||||||
- ""
|
|
||||||
resources:
|
|
||||||
- events
|
|
||||||
verbs:
|
|
||||||
- "*"
|
|
||||||
- apiGroups:
|
|
||||||
- fission.io
|
|
||||||
resources:
|
|
||||||
- canaryconfigs
|
|
||||||
- environments
|
|
||||||
- functions
|
|
||||||
- httptriggers
|
|
||||||
- kuberneteswatchtriggers
|
|
||||||
- messagequeuetriggers
|
|
||||||
- packages
|
|
||||||
- timetriggers
|
|
||||||
verbs:
|
|
||||||
- "*"
|
|
||||||
|
|
||||||
---
|
{{- if gt (len .Values.additionalFissionNamespaces) 0 }}
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
{{- range $namespace := $.Values.additionalFissionNamespaces }}
|
||||||
kind: Role
|
{{ include "fissionFunction.roles" (merge (dict "namespace" $namespace) $) }}
|
||||||
metadata:
|
{{- end }}
|
||||||
name: {{ .Release.Name }}-fission-builder
|
{{- end }}
|
||||||
namespace: {{ .Values.defaultNamespace }}
|
|
||||||
rules:
|
|
||||||
- apiGroups:
|
|
||||||
- fission.io
|
|
||||||
resources:
|
|
||||||
- canaryconfigs
|
|
||||||
- environments
|
|
||||||
- functions
|
|
||||||
- httptriggers
|
|
||||||
- kuberneteswatchtriggers
|
|
||||||
- messagequeuetriggers
|
|
||||||
- packages
|
|
||||||
- timetriggers
|
|
||||||
verbs:
|
|
||||||
- "*"
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: Role
|
|
||||||
metadata:
|
|
||||||
namespace: {{ .Values.functionNamespace }}
|
|
||||||
name: {{ .Release.Name }}-event-fetcher
|
|
||||||
rules:
|
|
||||||
- apiGroups: [""] # "" indicates the core API group
|
|
||||||
resources: ["pods"]
|
|
||||||
verbs: ["get", "watch", "list"]
|
|
||||||
- apiGroups: [""] # "" indicates the core API group
|
|
||||||
resources: ["events"]
|
|
||||||
verbs: ["*"]
|
|
||||||
|
|||||||
@@ -1,43 +1,12 @@
|
|||||||
apiVersion: rbac.authorization.k8s.io/v1
|
{{/*
|
||||||
kind: RoleBinding
|
Passing namespace as an argument to the "fissionFunction.rolebindings" template.
|
||||||
metadata:
|
Need to use merge function to pass in the current scope so that ".Release" values
|
||||||
name: {{ .Release.Name }}-fission-fetcher
|
can be used
|
||||||
namespace: {{ .Values.defaultNamespace }}
|
*/}}
|
||||||
roleRef:
|
{{ include "fissionFunction.rolebindings" (merge (dict "namespace" .Values.defaultNamespace) .) }}
|
||||||
apiGroup: rbac.authorization.k8s.io
|
|
||||||
kind: Role
|
|
||||||
name: {{ .Release.Name }}-fission-fetcher
|
|
||||||
subjects:
|
|
||||||
- kind: ServiceAccount
|
|
||||||
name: fission-fetcher
|
|
||||||
namespace: {{ .Values.functionNamespace }}
|
|
||||||
|
|
||||||
---
|
{{- if gt (len .Values.additionalFissionNamespaces) 0 }}
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
{{- range $namespace := $.Values.additionalFissionNamespaces }}
|
||||||
kind: RoleBinding
|
{{ include "fissionFunction.rolebindings" (merge (dict "namespace" $namespace) $) }}
|
||||||
metadata:
|
{{- end }}
|
||||||
name: {{ .Release.Name }}-fission-builder
|
{{- end }}
|
||||||
namespace: {{ .Values.defaultNamespace }}
|
|
||||||
roleRef:
|
|
||||||
apiGroup: rbac.authorization.k8s.io
|
|
||||||
kind: Role
|
|
||||||
name: {{ .Release.Name }}-fission-builder
|
|
||||||
subjects:
|
|
||||||
- kind: ServiceAccount
|
|
||||||
name: fission-builder
|
|
||||||
namespace: {{ .Values.builderNamespace }}
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: RoleBinding
|
|
||||||
metadata:
|
|
||||||
name: {{ .Release.Name }}-fission-fetcher-pod-reader
|
|
||||||
namespace: {{ .Values.functionNamespace }}
|
|
||||||
roleRef:
|
|
||||||
apiGroup: rbac.authorization.k8s.io
|
|
||||||
kind: Role
|
|
||||||
name: {{ .Release.Name }}-event-fetcher
|
|
||||||
subjects:
|
|
||||||
- kind: ServiceAccount
|
|
||||||
name: fission-fetcher
|
|
||||||
namespace: {{ .Values.functionNamespace }}
|
|
||||||
|
|||||||
@@ -2,11 +2,11 @@ apiVersion: v1
|
|||||||
kind: ServiceAccount
|
kind: ServiceAccount
|
||||||
metadata:
|
metadata:
|
||||||
name: fission-fetcher
|
name: fission-fetcher
|
||||||
namespace: {{ .Values.functionNamespace }}
|
namespace: {{ template "fission-function-ns" . }}
|
||||||
|
|
||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: ServiceAccount
|
kind: ServiceAccount
|
||||||
metadata:
|
metadata:
|
||||||
name: fission-builder
|
name: fission-builder
|
||||||
namespace: {{ .Values.builderNamespace }}
|
namespace: {{ template "fission-builder-ns" . }}
|
||||||
|
|||||||
@@ -25,11 +25,7 @@ spec:
|
|||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: mqtrigger
|
- name: mqtrigger
|
||||||
{{- if eq .Values.imageTag "" }}
|
image: {{ include "fission-bundleImage" . | quote }}
|
||||||
image: "{{ .Values.image }}"
|
|
||||||
{{- else }}
|
|
||||||
image: "{{ .Values.image }}:{{ .Values.imageTag }}"
|
|
||||||
{{- end }}
|
|
||||||
imagePullPolicy: {{ .Values.pullPolicy }}
|
imagePullPolicy: {{ .Values.pullPolicy }}
|
||||||
command: ["/fission-bundle"]
|
command: ["/fission-bundle"]
|
||||||
args: ["--mqt", "--routerUrl", "http://router.{{ .Release.Namespace }}"]
|
args: ["--mqt", "--routerUrl", "http://router.{{ .Release.Namespace }}"]
|
||||||
@@ -47,6 +43,7 @@ spec:
|
|||||||
value: {{ .Values.debugEnv | quote }}
|
value: {{ .Values.debugEnv | quote }}
|
||||||
- name: PPROF_ENABLED
|
- name: PPROF_ENABLED
|
||||||
value: {{ .Values.pprof.enabled | quote }}
|
value: {{ .Values.pprof.enabled | quote }}
|
||||||
|
{{- include "fission-resource-namespace.envs" . | indent 8 }}
|
||||||
{{- include "opentelemtry.envs" . | indent 8 }}
|
{{- include "opentelemtry.envs" . | indent 8 }}
|
||||||
# TLS authentication is TLS with authentication (2 way)
|
# TLS authentication is TLS with authentication (2 way)
|
||||||
# More info: https://docs.confluent.io/current/kafka/authentication_ssl.html#ssl-overview
|
# More info: https://docs.confluent.io/current/kafka/authentication_ssl.html#ssl-overview
|
||||||
@@ -67,7 +64,7 @@ spec:
|
|||||||
{{- if .Values.terminationMessagePolicy }}
|
{{- if .Values.terminationMessagePolicy }}
|
||||||
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
|
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
serviceAccountName: fission-svc
|
serviceAccountName: fission-kafka
|
||||||
{{- if .Values.kafka.authentication.tls.enabled }}
|
{{- if .Values.kafka.authentication.tls.enabled }}
|
||||||
volumes:
|
volumes:
|
||||||
- name: kafka-secrets
|
- name: kafka-secrets
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{{- include "fission-role-generator" (merge (dict "namespace" .Values.defaultNamespace "component" "kafka") .) }}
|
||||||
|
|
||||||
|
{{- if gt (len .Values.additionalFissionNamespaces) 0 }}
|
||||||
|
{{- range $namespace := $.Values.additionalFissionNamespaces }}
|
||||||
|
{{ include "fission-role-generator" (merge (dict "namespace" $namespace "component" "kafka") $) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{{- include "kubernetes-role-generator" (merge (dict "namespace" .Values.defaultNamespace "component" "kafka") .) }}
|
||||||
|
|
||||||
|
{{- if gt (len .Values.additionalFissionNamespaces) 0 }}
|
||||||
|
{{- range $namespace := $.Values.additionalFissionNamespaces }}
|
||||||
|
{{ include "kubernetes-role-generator" (merge (dict "namespace" $namespace "component" "kafka") $) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: fission-kafka
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
@@ -46,6 +46,8 @@ spec:
|
|||||||
value: "{{ .Values.mqt_keda.connector_images.gcp_pubsub.image }}:{{ .Values.mqt_keda.connector_images.gcp_pubsub.tag }}"
|
value: "{{ .Values.mqt_keda.connector_images.gcp_pubsub.image }}:{{ .Values.mqt_keda.connector_images.gcp_pubsub.tag }}"
|
||||||
- name: REDIS_IMAGE
|
- name: REDIS_IMAGE
|
||||||
value: "{{ .Values.mqt_keda.connector_images.redis.image }}:{{ .Values.mqt_keda.connector_images.redis.tag }}"
|
value: "{{ .Values.mqt_keda.connector_images.redis.image }}:{{ .Values.mqt_keda.connector_images.redis.tag }}"
|
||||||
|
{{- include "fission-resource-namespace.envs" . | indent 8 }}
|
||||||
|
{{- include "kube_client.envs" . | indent 8 }}
|
||||||
{{- include "opentelemtry.envs" . | indent 8 }}
|
{{- include "opentelemtry.envs" . | indent 8 }}
|
||||||
resources:
|
resources:
|
||||||
{{- toYaml .Values.mqt_keda.resources | nindent 10 }}
|
{{- toYaml .Values.mqt_keda.resources | nindent 10 }}
|
||||||
@@ -55,7 +57,7 @@ spec:
|
|||||||
{{- if .Values.terminationMessagePolicy }}
|
{{- if .Values.terminationMessagePolicy }}
|
||||||
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
|
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
serviceAccountName: fission-svc
|
serviceAccountName: fission-keda
|
||||||
{{- if .Values.priorityClassName }}
|
{{- if .Values.priorityClassName }}
|
||||||
priorityClassName: {{ .Values.priorityClassName }}
|
priorityClassName: {{ .Values.priorityClassName }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{{- include "fission-role-generator" (merge (dict "namespace" .Values.defaultNamespace "component" "keda") .) }}
|
||||||
|
|
||||||
|
{{- if gt (len .Values.additionalFissionNamespaces) 0 }}
|
||||||
|
{{- range $namespace := $.Values.additionalFissionNamespaces }}
|
||||||
|
{{ include "fission-role-generator" (merge (dict "namespace" $namespace "component" "keda") $) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{{- include "kubernetes-role-generator" (merge (dict "namespace" .Values.defaultNamespace "component" "keda") .) }}
|
||||||
|
|
||||||
|
{{- if gt (len .Values.additionalFissionNamespaces) 0 }}
|
||||||
|
{{- range $namespace := $.Values.additionalFissionNamespaces }}
|
||||||
|
{{ include "kubernetes-role-generator" (merge (dict "namespace" $namespace "component" "keda") $) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: ServiceAccount
|
kind: ServiceAccount
|
||||||
metadata:
|
metadata:
|
||||||
name: fission-svc
|
name: fission-keda
|
||||||
namespace: {{ .Release.Namespace }}
|
namespace: {{ .Release.Namespace }}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRole
|
||||||
|
metadata:
|
||||||
|
name: {{ .Release.Name }}-preupgrade
|
||||||
|
annotations:
|
||||||
|
helm.sh/hook: pre-upgrade
|
||||||
|
helm.sh/hook-delete-policy: before-hook-creation
|
||||||
|
helm.sh/hook-weight: "-2"
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- apiextensions.k8s.io
|
||||||
|
resources:
|
||||||
|
- customresourcedefinitions
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
+6
-3
@@ -1,12 +1,15 @@
|
|||||||
kind: ClusterRoleBinding
|
kind: ClusterRoleBinding
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ .Release.Name }}-fission-cr-admin
|
name: {{ .Release.Name }}-preupgrade
|
||||||
|
annotations:
|
||||||
|
helm.sh/hook: pre-upgrade
|
||||||
|
helm.sh/hook-delete-policy: before-hook-creation
|
||||||
subjects:
|
subjects:
|
||||||
- kind: ServiceAccount
|
- kind: ServiceAccount
|
||||||
name: fission-svc
|
name: fission-preupgrade
|
||||||
namespace: {{ .Release.Namespace }}
|
namespace: {{ .Release.Namespace }}
|
||||||
roleRef:
|
roleRef:
|
||||||
kind: ClusterRole
|
kind: ClusterRole
|
||||||
name: {{ .Release.Name }}-fission-cr-admin
|
name: {{ .Release.Name }}-preupgrade
|
||||||
apiGroup: rbac.authorization.k8s.io
|
apiGroup: rbac.authorization.k8s.io
|
||||||
@@ -15,6 +15,7 @@ metadata:
|
|||||||
# job is considered part of the release.
|
# job is considered part of the release.
|
||||||
"helm.sh/hook": pre-upgrade
|
"helm.sh/hook": pre-upgrade
|
||||||
"helm.sh/hook-delete-policy": hook-succeeded
|
"helm.sh/hook-delete-policy": hook-succeeded
|
||||||
|
"helm.sh/hook-weight": "1"
|
||||||
spec:
|
spec:
|
||||||
backoffLimit: 0
|
backoffLimit: 0
|
||||||
template:
|
template:
|
||||||
@@ -34,12 +35,18 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
imagePullPolicy: {{ .Values.pullPolicy }}
|
imagePullPolicy: {{ .Values.pullPolicy }}
|
||||||
command: [ "/pre-upgrade-checks" ]
|
command: [ "/pre-upgrade-checks" ]
|
||||||
args: ["--fn-pod-namespace", "{{ .Values.functionNamespace }}", "--envbuilder-namespace", "{{ .Values.builderNamespace }}"]
|
env:
|
||||||
|
{{- include "fission-resource-namespace.envs" . | indent 8 }}
|
||||||
|
{{- include "kube_client.envs" . | indent 8 }}
|
||||||
{{- if .Values.terminationMessagePath }}
|
{{- if .Values.terminationMessagePath }}
|
||||||
terminationMessagePath: {{ .Values.terminationMessagePath }}
|
terminationMessagePath: {{ .Values.terminationMessagePath }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.terminationMessagePolicy }}
|
{{- if .Values.terminationMessagePolicy }}
|
||||||
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
|
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
serviceAccountName: fission-svc
|
serviceAccountName: fission-preupgrade
|
||||||
|
{{- with .Values.imagePullSecrets }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{{- include "fission-role-generator" (merge (dict "namespace" .Values.defaultNamespace "component" "preupgrade") .) }}
|
||||||
|
|
||||||
|
{{- if gt (len .Values.additionalFissionNamespaces) 0 }}
|
||||||
|
{{- range $namespace := $.Values.additionalFissionNamespaces }}
|
||||||
|
{{ include "fission-role-generator" (merge (dict "namespace" $namespace "component" "preupgrade") $) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: fission-preupgrade
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
annotations:
|
||||||
|
helm.sh/hook: pre-upgrade
|
||||||
|
helm.sh/hook-delete-policy: before-hook-creation
|
||||||
|
helm.sh/hook-weight: "-1"
|
||||||
@@ -12,7 +12,7 @@ metadata:
|
|||||||
application: fission-router
|
application: fission-router
|
||||||
spec:
|
spec:
|
||||||
{{- if not .Values.router.deployAsDaemonSet }}
|
{{- if not .Values.router.deployAsDaemonSet }}
|
||||||
replicas: 1
|
replicas: {{ .Values.router.replicas | default 1 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
@@ -83,6 +83,8 @@ spec:
|
|||||||
value: {{ .Values.pprof.enabled | quote }}
|
value: {{ .Values.pprof.enabled | quote }}
|
||||||
- name: DISPLAY_ACCESS_LOG
|
- name: DISPLAY_ACCESS_LOG
|
||||||
value: {{ .Values.router.displayAccessLog | default false | quote }}
|
value: {{ .Values.router.displayAccessLog | default false | quote }}
|
||||||
|
{{- include "fission-resource-namespace.envs" . | indent 8 }}
|
||||||
|
{{- include "kube_client.envs" . | indent 8 }}
|
||||||
{{- include "opentelemtry.envs" . | indent 8 }}
|
{{- include "opentelemtry.envs" . | indent 8 }}
|
||||||
resources:
|
resources:
|
||||||
{{- toYaml .Values.router.resources | nindent 10 }}
|
{{- toYaml .Values.router.resources | nindent 10 }}
|
||||||
@@ -122,7 +124,7 @@ spec:
|
|||||||
{{- else if .Values.terminationMessagePolicy }}
|
{{- else if .Values.terminationMessagePolicy }}
|
||||||
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
|
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
serviceAccountName: fission-svc
|
serviceAccountName: fission-router
|
||||||
volumes:
|
volumes:
|
||||||
- name: config-volume
|
- name: config-volume
|
||||||
configMap:
|
configMap:
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{{- include "fission-role-generator" (merge (dict "namespace" .Values.defaultNamespace "component" "router") .) }}
|
||||||
|
|
||||||
|
{{- if gt (len .Values.additionalFissionNamespaces) 0 }}
|
||||||
|
{{- range $namespace := $.Values.additionalFissionNamespaces }}
|
||||||
|
{{ include "fission-role-generator" (merge (dict "namespace" $namespace "component" "router") $) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{{- include "kubernetes-role-generator" (merge (dict "namespace" .Release.Namespace "component" "router") .) }}
|
||||||
|
|
||||||
|
{{- if gt (len .Values.additionalFissionNamespaces) 0 }}
|
||||||
|
{{- range $namespace := $.Values.additionalFissionNamespaces }}
|
||||||
|
{{ include "kubernetes-role-generator" (merge (dict "namespace" $namespace "component" "router") $) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
@@ -6,9 +6,9 @@ metadata:
|
|||||||
labels:
|
labels:
|
||||||
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
||||||
annotations:
|
annotations:
|
||||||
"helm.sh/hook": pre-install
|
"helm.sh/hook": pre-install,pre-upgrade
|
||||||
data:
|
data:
|
||||||
username: {{ .Values.authentication.authUsername | b64enc | quote }}
|
username: {{ .Values.authentication.authUsername | b64enc | quote }}
|
||||||
password: {{ randAlphaNum 20 | b64enc | quote }}
|
password: {{ randAlphaNum 20 | b64enc | quote }}
|
||||||
jwtSigningKey: {{ .Values.authentication.jwtSigningKey | b64enc | quote }}
|
jwtSigningKey: {{ default (randAlphaNum 20) .Values.authentication.jwtSigningKey | b64enc | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: fission-router
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
@@ -60,6 +60,8 @@ spec:
|
|||||||
- name: STORAGE_S3_REGION
|
- name: STORAGE_S3_REGION
|
||||||
value: {{ .Values.persistence.s3.region }}
|
value: {{ .Values.persistence.s3.region }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- include "fission-resource-namespace.envs" . | indent 8 }}
|
||||||
|
{{- include "kube_client.envs" . | indent 8 }}
|
||||||
{{- include "opentelemtry.envs" . | indent 8 }}
|
{{- include "opentelemtry.envs" . | indent 8 }}
|
||||||
resources:
|
resources:
|
||||||
{{- toYaml .Values.storagesvc.resources | nindent 10 }}
|
{{- toYaml .Values.storagesvc.resources | nindent 10 }}
|
||||||
@@ -96,7 +98,7 @@ spec:
|
|||||||
{{- if .Values.terminationMessagePolicy }}
|
{{- if .Values.terminationMessagePolicy }}
|
||||||
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
|
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
serviceAccountName: fission-svc
|
serviceAccountName: fission-storagesvc
|
||||||
{{- if and (.Values.persistence.enabled) (ne (.Values.persistence.storageType | default "local") "s3") }}
|
{{- if and (.Values.persistence.enabled) (ne (.Values.persistence.storageType | default "local") "s3") }}
|
||||||
volumes:
|
volumes:
|
||||||
- name: fission-storage
|
- name: fission-storage
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{{- include "fission-role-generator" (merge (dict "namespace" .Values.defaultNamespace "component" "storagesvc") .) }}
|
||||||
|
|
||||||
|
{{- if gt (len .Values.additionalFissionNamespaces) 0 }}
|
||||||
|
{{- range $namespace := $.Values.additionalFissionNamespaces }}
|
||||||
|
{{ include "fission-role-generator" (merge (dict "namespace" $namespace "component" "storagesvc") $) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: fission-storagesvc
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
@@ -29,6 +29,8 @@ spec:
|
|||||||
value: {{ .Values.debugEnv | quote }}
|
value: {{ .Values.debugEnv | quote }}
|
||||||
- name: PPROF_ENABLED
|
- name: PPROF_ENABLED
|
||||||
value: {{ .Values.pprof.enabled | quote }}
|
value: {{ .Values.pprof.enabled | quote }}
|
||||||
|
{{- include "fission-resource-namespace.envs" . | indent 8 }}
|
||||||
|
{{- include "kube_client.envs" . | indent 8 }}
|
||||||
{{- include "opentelemtry.envs" . | indent 8 }}
|
{{- include "opentelemtry.envs" . | indent 8 }}
|
||||||
resources:
|
resources:
|
||||||
{{- toYaml .Values.timer.resources | nindent 10 }}
|
{{- toYaml .Values.timer.resources | nindent 10 }}
|
||||||
@@ -38,7 +40,7 @@ spec:
|
|||||||
{{- if .Values.terminationMessagePolicy }}
|
{{- if .Values.terminationMessagePolicy }}
|
||||||
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
|
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
serviceAccountName: fission-svc
|
serviceAccountName: fission-timer
|
||||||
{{- if .Values.priorityClassName }}
|
{{- if .Values.priorityClassName }}
|
||||||
priorityClassName: {{ .Values.priorityClassName }}
|
priorityClassName: {{ .Values.priorityClassName }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{{- include "fission-role-generator" (merge (dict "namespace" .Values.defaultNamespace "component" "timer") .) }}
|
||||||
|
|
||||||
|
{{- if gt (len .Values.additionalFissionNamespaces) 0 }}
|
||||||
|
{{- range $namespace := $.Values.additionalFissionNamespaces }}
|
||||||
|
{{ include "fission-role-generator" (merge (dict "namespace" $namespace "component" "timer") $) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{{- include "kubernetes-role-generator" (merge (dict "namespace" .Values.defaultNamespace "component" "timer") .) }}
|
||||||
|
|
||||||
|
{{- if gt (len .Values.additionalFissionNamespaces) 0 }}
|
||||||
|
{{- range $namespace := $.Values.additionalFissionNamespaces }}
|
||||||
|
{{ include "kubernetes-role-generator" (merge (dict "namespace" $namespace "component" "timer") $) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: fission-timer
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
{{- $certManagerEnabled := .Values.webhook.certManager.enabled }}
|
||||||
|
|
||||||
|
{{- if not $certManagerEnabled }}
|
||||||
|
kind: Secret
|
||||||
|
apiVersion: v1
|
||||||
|
metadata:
|
||||||
|
name: fission-webhook-certs
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/component: webhook-secret
|
||||||
|
type: Opaque
|
||||||
|
data:
|
||||||
|
ca.crt: {{ b64enc (include "webhook.caBundleCertPEM" .) }}
|
||||||
|
tls.crt: {{ b64enc (include "webhook.certPEM" .) }}
|
||||||
|
tls.key: {{ b64enc (include "webhook.keyPEM" .) }}
|
||||||
|
|
||||||
|
{{- else }}
|
||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Issuer
|
||||||
|
metadata:
|
||||||
|
name: fission-selfsigned-issuer
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
spec:
|
||||||
|
selfSigned: {}
|
||||||
|
---
|
||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: fission-webhook-cert
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
spec:
|
||||||
|
secretName: fission-webhook-certs
|
||||||
|
dnsNames:
|
||||||
|
- "webhook-service.{{ .Release.Namespace }}.svc"
|
||||||
|
- "webhook-service.{{ .Release.Namespace }}.svc.cluster.local "
|
||||||
|
issuerRef:
|
||||||
|
name: fission-selfsigned-issuer
|
||||||
|
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: webhook
|
||||||
|
labels:
|
||||||
|
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
||||||
|
svc: webhook-service
|
||||||
|
application: fission-webhook
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
svc: webhook-service
|
||||||
|
application: fission-webhook
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
svc: webhook-service
|
||||||
|
application: fission-webhook
|
||||||
|
annotations:
|
||||||
|
prometheus.io/scrape: "true"
|
||||||
|
prometheus.io/path: "/metrics"
|
||||||
|
prometheus.io/port: "8080"
|
||||||
|
spec:
|
||||||
|
{{- if .Values.webhook.securityContext.enabled }}
|
||||||
|
securityContext: {{- omit .Values.webhook.securityContext "enabled" | toYaml | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
containers:
|
||||||
|
- name: webhook
|
||||||
|
image: {{ include "fission-bundleImage" . | quote }}
|
||||||
|
imagePullPolicy: {{ .Values.pullPolicy }}
|
||||||
|
command: ["/fission-bundle"]
|
||||||
|
args: ["--webhookPort", "9443"]
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /tmp/k8s-webhook-server/serving-certs
|
||||||
|
name: serving-certs
|
||||||
|
readOnly: true
|
||||||
|
ports:
|
||||||
|
- containerPort: 8080
|
||||||
|
name: metrics
|
||||||
|
volumes:
|
||||||
|
- name: serving-certs
|
||||||
|
secret:
|
||||||
|
secretName: fission-webhook-certs
|
||||||
|
serviceAccountName: fission-webhook
|
||||||
|
{{- if .Values.priorityClassName }}
|
||||||
|
priorityClassName: {{ .Values.priorityClassName }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.imagePullSecrets }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.extraCoreComponentPodConfig }}
|
||||||
|
{{ toYaml .Values.extraCoreComponentPodConfig | indent 6 -}}
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: fission-webhook
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
+2
-2
@@ -2,7 +2,7 @@
|
|||||||
apiVersion: monitoring.coreos.com/v1
|
apiVersion: monitoring.coreos.com/v1
|
||||||
kind: ServiceMonitor
|
kind: ServiceMonitor
|
||||||
metadata:
|
metadata:
|
||||||
name: controller-monitor
|
name: webhook-monitor
|
||||||
{{- if .Values.serviceMonitor.namespace }}
|
{{- if .Values.serviceMonitor.namespace }}
|
||||||
namespace: {{ .Values.serviceMonitor.namespace }}
|
namespace: {{ .Values.serviceMonitor.namespace }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
@@ -16,7 +16,7 @@ spec:
|
|||||||
- {{ .Release.Namespace }}
|
- {{ .Release.Namespace }}
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
svc: controller
|
svc: webhook-service
|
||||||
endpoints:
|
endpoints:
|
||||||
- targetPort: 8080
|
- targetPort: 8080
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: webhook-service
|
||||||
|
labels:
|
||||||
|
svc: webhook-service
|
||||||
|
application: fission-webhook
|
||||||
|
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
||||||
|
spec:
|
||||||
|
type: {{ .Values.serviceType }}
|
||||||
|
ports:
|
||||||
|
- port: 443
|
||||||
|
targetPort: 9443
|
||||||
|
selector:
|
||||||
|
svc: webhook-service
|
||||||
@@ -0,0 +1,203 @@
|
|||||||
|
---
|
||||||
|
{{- $caCert := include "webhook.caBundleCertPEM" . -}}
|
||||||
|
{{- $crtPEM := include "webhook.certPEM" . -}}
|
||||||
|
{{- $keyPEM := include "webhook.keyPEM" . -}}
|
||||||
|
|
||||||
|
{{- $certManagerEnabled := $.Values.webhook.certManager.enabled }}
|
||||||
|
{{- $caBundleValue := "" -}}
|
||||||
|
{{- if $certManagerEnabled }}
|
||||||
|
{{- $caBundleValue = "Cg==" -}}
|
||||||
|
{{- else }}
|
||||||
|
{{- $caBundleValue = ternary (b64enc $caCert) (b64enc (trim $crtPEM)) (empty $crtPEM) -}}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: admissionregistration.k8s.io/v1
|
||||||
|
kind: MutatingWebhookConfiguration
|
||||||
|
metadata:
|
||||||
|
creationTimestamp: null
|
||||||
|
name: fission-mutating-webhooks
|
||||||
|
{{- if $certManagerEnabled }}
|
||||||
|
annotations:
|
||||||
|
cert-manager.io/inject-ca-from: "{{ .Release.Namespace }}/fission-webhook-cert"
|
||||||
|
{{- end }}
|
||||||
|
webhooks:
|
||||||
|
- admissionReviewVersions:
|
||||||
|
- v1
|
||||||
|
clientConfig:
|
||||||
|
caBundle: {{ $caBundleValue }}
|
||||||
|
service:
|
||||||
|
name: webhook-service
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
path: /mutate-fission-io-v1-package
|
||||||
|
failurePolicy: Fail
|
||||||
|
name: mpackage.fission.io
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- fission.io
|
||||||
|
apiVersions:
|
||||||
|
- v1
|
||||||
|
operations:
|
||||||
|
- CREATE
|
||||||
|
- UPDATE
|
||||||
|
resources:
|
||||||
|
- packages
|
||||||
|
sideEffects: None
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: admissionregistration.k8s.io/v1
|
||||||
|
kind: ValidatingWebhookConfiguration
|
||||||
|
metadata:
|
||||||
|
creationTimestamp: null
|
||||||
|
name: fission-validating-webhooks
|
||||||
|
{{- if $certManagerEnabled }}
|
||||||
|
annotations:
|
||||||
|
cert-manager.io/inject-ca-from: "{{ .Release.Namespace }}/fission-webhook-cert"
|
||||||
|
{{- end }}
|
||||||
|
webhooks:
|
||||||
|
- admissionReviewVersions:
|
||||||
|
- v1
|
||||||
|
clientConfig:
|
||||||
|
caBundle: {{ $caBundleValue }}
|
||||||
|
service:
|
||||||
|
name: webhook-service
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
path: /validate-fission-io-v1-environment
|
||||||
|
failurePolicy: Fail
|
||||||
|
name: venvironment.fission.io
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- fission.io
|
||||||
|
apiVersions:
|
||||||
|
- v1
|
||||||
|
operations:
|
||||||
|
- CREATE
|
||||||
|
resources:
|
||||||
|
- environments
|
||||||
|
sideEffects: None
|
||||||
|
- admissionReviewVersions:
|
||||||
|
- v1
|
||||||
|
clientConfig:
|
||||||
|
caBundle: {{ $caBundleValue }}
|
||||||
|
service:
|
||||||
|
name: webhook-service
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
path: /validate-fission-io-v1-function
|
||||||
|
failurePolicy: Fail
|
||||||
|
name: vfunction.fission.io
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- fission.io
|
||||||
|
apiVersions:
|
||||||
|
- v1
|
||||||
|
operations:
|
||||||
|
- CREATE
|
||||||
|
- UPDATE
|
||||||
|
resources:
|
||||||
|
- functions
|
||||||
|
sideEffects: None
|
||||||
|
- admissionReviewVersions:
|
||||||
|
- v1
|
||||||
|
clientConfig:
|
||||||
|
caBundle: {{ $caBundleValue }}
|
||||||
|
service:
|
||||||
|
name: webhook-service
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
path: /validate-fission-io-v1-httptrigger
|
||||||
|
failurePolicy: Fail
|
||||||
|
name: vhttptrigger.fission.io
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- fission.io
|
||||||
|
apiVersions:
|
||||||
|
- v1
|
||||||
|
operations:
|
||||||
|
- CREATE
|
||||||
|
- UPDATE
|
||||||
|
resources:
|
||||||
|
- httptriggers
|
||||||
|
sideEffects: None
|
||||||
|
- admissionReviewVersions:
|
||||||
|
- v1
|
||||||
|
clientConfig:
|
||||||
|
caBundle: {{ $caBundleValue }}
|
||||||
|
service:
|
||||||
|
name: webhook-service
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
path: /validate-fission-io-v1-kuberneteswatchtrigger
|
||||||
|
failurePolicy: Fail
|
||||||
|
name: vkuberneteswatchtrigger.fission.io
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- fission.io
|
||||||
|
apiVersions:
|
||||||
|
- v1
|
||||||
|
operations:
|
||||||
|
- CREATE
|
||||||
|
- UPDATE
|
||||||
|
resources:
|
||||||
|
- kuberneteswatchtriggers
|
||||||
|
sideEffects: None
|
||||||
|
- admissionReviewVersions:
|
||||||
|
- v1
|
||||||
|
clientConfig:
|
||||||
|
caBundle: {{ $caBundleValue }}
|
||||||
|
service:
|
||||||
|
name: webhook-service
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
path: /validate-fission-io-v1-messagequeuetrigger
|
||||||
|
failurePolicy: Fail
|
||||||
|
name: vmessagequeuetrigger.fission.io
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- fission.io
|
||||||
|
apiVersions:
|
||||||
|
- v1
|
||||||
|
operations:
|
||||||
|
- CREATE
|
||||||
|
- UPDATE
|
||||||
|
resources:
|
||||||
|
- messagequeuetriggers
|
||||||
|
sideEffects: None
|
||||||
|
- admissionReviewVersions:
|
||||||
|
- v1
|
||||||
|
clientConfig:
|
||||||
|
caBundle: {{ $caBundleValue }}
|
||||||
|
service:
|
||||||
|
name: webhook-service
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
path: /validate-fission-io-v1-package
|
||||||
|
failurePolicy: Fail
|
||||||
|
name: vpackage.fission.io
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- fission.io
|
||||||
|
apiVersions:
|
||||||
|
- v1
|
||||||
|
operations:
|
||||||
|
- CREATE
|
||||||
|
- UPDATE
|
||||||
|
resources:
|
||||||
|
- packages
|
||||||
|
sideEffects: None
|
||||||
|
- admissionReviewVersions:
|
||||||
|
- v1
|
||||||
|
clientConfig:
|
||||||
|
caBundle: {{ $caBundleValue }}
|
||||||
|
service:
|
||||||
|
name: webhook-service
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
path: /validate-fission-io-v1-timetrigger
|
||||||
|
failurePolicy: Fail
|
||||||
|
name: vtimetrigger.fission.io
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- fission.io
|
||||||
|
apiVersions:
|
||||||
|
- v1
|
||||||
|
operations:
|
||||||
|
- CREATE
|
||||||
|
- UPDATE
|
||||||
|
resources:
|
||||||
|
- timetriggers
|
||||||
|
sideEffects: None
|
||||||
+134
-55
@@ -1,7 +1,7 @@
|
|||||||
## Fission chart configuration
|
## Fission chart configuration
|
||||||
##
|
##
|
||||||
|
|
||||||
## serviceType to consider while creating Fission Controller service.
|
## serviceType to consider while creating Fission webhook service.
|
||||||
## For minikube/kind, set this to NodePort, elsewhere use LoadBalancer or ClusterIP.
|
## For minikube/kind, set this to NodePort, elsewhere use LoadBalancer or ClusterIP.
|
||||||
##
|
##
|
||||||
serviceType: ClusterIP
|
serviceType: ClusterIP
|
||||||
@@ -14,7 +14,7 @@ routerServiceType: LoadBalancer
|
|||||||
## repository represents base repository for images used in the chart.
|
## repository represents base repository for images used in the chart.
|
||||||
## Keep it empty for using existing local image
|
## Keep it empty for using existing local image
|
||||||
##
|
##
|
||||||
repository: index.docker.io
|
repository: ghcr.io
|
||||||
|
|
||||||
## image represents the base image fission-bundle used by multiple Fission components.
|
## image represents the base image fission-bundle used by multiple Fission components.
|
||||||
## We alter arguments to the image to run a particular component.
|
## We alter arguments to the image to run a particular component.
|
||||||
@@ -25,7 +25,7 @@ image: fission/fission-bundle
|
|||||||
## It is also used by the chart to identify version of the few more images apart from fission-bundle.
|
## It is also used by the chart to identify version of the few more images apart from fission-bundle.
|
||||||
## Keep it empty for using latest tag.
|
## Keep it empty for using latest tag.
|
||||||
##
|
##
|
||||||
imageTag: v1.17.0
|
imageTag: v1.20.3
|
||||||
|
|
||||||
## pullPolicy represents the pull policy to use for images in the chart.
|
## pullPolicy represents the pull policy to use for images in the chart.
|
||||||
##
|
##
|
||||||
@@ -53,28 +53,35 @@ terminationMessagePath: /dev/termination-log
|
|||||||
##
|
##
|
||||||
terminationMessagePolicy: File
|
terminationMessagePolicy: File
|
||||||
|
|
||||||
## controllerPort represents the port at which the Fission controller service should be exposed.
|
|
||||||
##
|
|
||||||
controllerPort: 31313
|
|
||||||
|
|
||||||
## routerPort represents the port at which the Fission Router service should be exposed.
|
## routerPort represents the port at which the Fission Router service should be exposed.
|
||||||
##
|
##
|
||||||
routerPort: 31314
|
routerPort: 31314
|
||||||
|
|
||||||
## functionNamespace represents the namespace in which Fission Function resources will be created.
|
## defaultNamespace represents the namespace in which Fission custom resources will be created by the Fission user.
|
||||||
## This is different from the release namespace.
|
## This is different from the release namespace.
|
||||||
##
|
## Please consider setting `additionalFissionNamespaces` if you want more than one namespace to be used for Fission custom resources.
|
||||||
functionNamespace: fission-function
|
|
||||||
|
|
||||||
## builderNamespace represents the namespace in which Fission Builder resources will be created.
|
|
||||||
## This is different from the release namespace.
|
|
||||||
##
|
|
||||||
builderNamespace: fission-builder
|
|
||||||
|
|
||||||
## defaultNamespace represents the default namespace in Kubernetes.
|
|
||||||
##
|
##
|
||||||
defaultNamespace: default
|
defaultNamespace: default
|
||||||
|
|
||||||
|
## builderNamespace represents the namespace in which Fission Builder resources will be created.
|
||||||
|
## if builderNamespace is set to empty then builder resources will be created in the same namespace as the Fission resources.
|
||||||
|
## This is different from the release namespace.
|
||||||
|
##
|
||||||
|
builderNamespace: ""
|
||||||
|
|
||||||
|
## functionNamespace represents the namespace in which Fission Function resources will be created.
|
||||||
|
## if functionNamespace is set to empty then function resources will be created in the same namespace as the Fission resources.
|
||||||
|
## This is different from the release namespace.
|
||||||
|
##
|
||||||
|
functionNamespace: ""
|
||||||
|
|
||||||
|
## Fission will watch the following namespaces along with the `defaultNamespace` for fission custom resources.
|
||||||
|
## additionalFissionNamespaces:
|
||||||
|
## - namespace1
|
||||||
|
## - namespace2
|
||||||
|
## - namespace3
|
||||||
|
additionalFissionNamespaces: []
|
||||||
|
|
||||||
## createNamespace decides to create namespaces by the chart.
|
## createNamespace decides to create namespaces by the chart.
|
||||||
## If set to true, functionNamespace and builderNamespace namespaces mentioned above will be created by the chart.
|
## If set to true, functionNamespace and builderNamespace namespaces mentioned above will be created by the chart.
|
||||||
## Set to false if you want to create the namespaces manually.
|
## Set to false if you want to create the namespaces manually.
|
||||||
@@ -85,6 +92,13 @@ createNamespace: true
|
|||||||
##
|
##
|
||||||
enableIstio: false
|
enableIstio: false
|
||||||
|
|
||||||
|
## Kubernetes client QPS and Burst settings
|
||||||
|
##
|
||||||
|
## kubernetesClientQPS represents the maximum queries per second to the kubernetes api server from client instances of fission components.
|
||||||
|
kubernetesClientQPS: 200
|
||||||
|
## kubernetesClientBurst represents the maximum burst queries to the kubernetes api server from client instances of fission components.
|
||||||
|
kubernetesClientBurst: 500
|
||||||
|
|
||||||
## fetcher is a light weight component that helps in running functions.
|
## fetcher is a light weight component that helps in running functions.
|
||||||
## fetcher helps in fetching function source code/build and uploading it when function is invoked.
|
## fetcher helps in fetching function source code/build and uploading it when function is invoked.
|
||||||
##
|
##
|
||||||
@@ -92,7 +106,7 @@ fetcher:
|
|||||||
## image represents the image of the fetcher component.
|
## image represents the image of the fetcher component.
|
||||||
image: fission/fetcher
|
image: fission/fetcher
|
||||||
## imageTag represents the tag of the image of the fetcher component.
|
## imageTag represents the tag of the image of the fetcher component.
|
||||||
imageTag: v1.17.0
|
imageTag: v1.20.3
|
||||||
|
|
||||||
## Fetcher is only for to downloading or uploading archive.
|
## Fetcher is only for to downloading or uploading archive.
|
||||||
## Normally, you don't need to change the value here, unless necessary.
|
## Normally, you don't need to change the value here, unless necessary.
|
||||||
@@ -148,13 +162,41 @@ executor:
|
|||||||
## This is an experimental section, please verify before enabling in production.
|
## This is an experimental section, please verify before enabling in production.
|
||||||
## Ref: https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1
|
## Ref: https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1
|
||||||
securityContext:
|
securityContext:
|
||||||
enabled: false
|
enabled: true
|
||||||
## Mark it false, if you want to stop the non root user validation
|
## Mark it false, if you want to stop the non root user validation
|
||||||
runAsNonRoot: true
|
runAsNonRoot: true
|
||||||
fsGroup: 10001
|
fsGroup: 10001
|
||||||
runAsUser: 10001
|
runAsUser: 10001
|
||||||
runAsGroup: 10001
|
runAsGroup: 10001
|
||||||
|
|
||||||
|
## Object Reaper
|
||||||
|
## objectReaperInterval (seconds) represents GLOBAL interval to run process that reaps objects after certain idle time.
|
||||||
|
## Also you can set different objectReaperInterval for specific executor type. See poolmgs/newdeploy/container section
|
||||||
|
## Default: 5 (in seconds)
|
||||||
|
##
|
||||||
|
objectReaperInterval: 5
|
||||||
|
|
||||||
|
poolmgr: {}
|
||||||
|
## objectReaperInterval specific to poolmgr executor type
|
||||||
|
##
|
||||||
|
## objectReaperInterval: 5
|
||||||
|
newdeploy: {}
|
||||||
|
## objectReaperInterval specific to newdeploy executor type
|
||||||
|
##
|
||||||
|
## objectReaperInterval: 5
|
||||||
|
container: {}
|
||||||
|
## objectReaperInterval specific to container executor type
|
||||||
|
##
|
||||||
|
## objectReaperInterval: 5
|
||||||
|
|
||||||
|
serviceAccountCheck:
|
||||||
|
## enables fission to create service account, roles and rolebinding for missing permission for builder and fetcher.
|
||||||
|
enabled: true
|
||||||
|
## indicates the time interval in minutes, after that fission will create service account, roles and rolebinding for builder and fetcher.
|
||||||
|
## interval will be applicable only if enable value is set to true.
|
||||||
|
## default timing will be 0 minutes. That means check will run only once.
|
||||||
|
## if you want to run check every 30 minutes then set interval to 30.
|
||||||
|
interval: 0
|
||||||
## router is responsible for routing function calls to the appropriate function.
|
## router is responsible for routing function calls to the appropriate function.
|
||||||
##
|
##
|
||||||
router:
|
router:
|
||||||
@@ -172,6 +214,9 @@ router:
|
|||||||
## deployAsDaemonSet decides whether to deploy router as a DaemonSet or a Deployment.
|
## deployAsDaemonSet decides whether to deploy router as a DaemonSet or a Deployment.
|
||||||
##
|
##
|
||||||
deployAsDaemonSet: false
|
deployAsDaemonSet: false
|
||||||
|
## replicas decides how many router pods to deploy. Only used when deployAsDaemonSet is false.
|
||||||
|
##
|
||||||
|
replicas: 1
|
||||||
## svcAddressMaxRetries is the max times for router to retry with a specific function service address
|
## svcAddressMaxRetries is the max times for router to retry with a specific function service address
|
||||||
##
|
##
|
||||||
svcAddressMaxRetries: 5
|
svcAddressMaxRetries: 5
|
||||||
@@ -231,7 +276,7 @@ router:
|
|||||||
maxRetries: 10
|
maxRetries: 10
|
||||||
|
|
||||||
## Extend the container specs for the core fission pods.
|
## Extend the container specs for the core fission pods.
|
||||||
## Can be used to add things like affinty/tolerations/nodeSelectors/etc.
|
## Can be used to add things like affinity/tolerations/nodeSelectors/etc.
|
||||||
## For example:
|
## For example:
|
||||||
## extraCoreComponentPodConfig:
|
## extraCoreComponentPodConfig:
|
||||||
## affinity:
|
## affinity:
|
||||||
@@ -265,7 +310,7 @@ router:
|
|||||||
## This is an experimental section, please verify before enabling in production.
|
## This is an experimental section, please verify before enabling in production.
|
||||||
## Ref: https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1
|
## Ref: https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1
|
||||||
securityContext:
|
securityContext:
|
||||||
enabled: false
|
enabled: true
|
||||||
## Mark it false, if you want to stop the non root user validation
|
## Mark it false, if you want to stop the non root user validation
|
||||||
runAsNonRoot: true
|
runAsNonRoot: true
|
||||||
fsGroup: 10001
|
fsGroup: 10001
|
||||||
@@ -291,17 +336,17 @@ buildermgr:
|
|||||||
## This is an experimental section, please verify before enabling in production.
|
## This is an experimental section, please verify before enabling in production.
|
||||||
## Ref: https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1
|
## Ref: https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1
|
||||||
securityContext:
|
securityContext:
|
||||||
enabled: false
|
enabled: true
|
||||||
## Mark it false, if you want to stop the non root user validation
|
## Mark it false, if you want to stop the non root user validation
|
||||||
runAsNonRoot: true
|
runAsNonRoot: true
|
||||||
fsGroup: 10001
|
fsGroup: 10001
|
||||||
runAsUser: 10001
|
runAsUser: 10001
|
||||||
runAsGroup: 10001
|
runAsGroup: 10001
|
||||||
|
|
||||||
## controller is the component that the client talks to.
|
## webhook is the component that validates API calls.
|
||||||
## It contains CRUD APIs for functions, triggers, environments, Kubernetes event watches, etc. and proxy APIs to internal 3rd-party services.
|
## It contains validation and mutation for functions, triggers, environments, Kubernetes event watches, etc.
|
||||||
##
|
##
|
||||||
controller:
|
webhook:
|
||||||
## Pod resources as:
|
## Pod resources as:
|
||||||
## resources:
|
## resources:
|
||||||
## limits:
|
## limits:
|
||||||
@@ -313,18 +358,29 @@ controller:
|
|||||||
##
|
##
|
||||||
resources: {}
|
resources: {}
|
||||||
|
|
||||||
|
certManager:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
caBundlePEM: |
|
||||||
|
|
||||||
|
crtPEM: |
|
||||||
|
|
||||||
|
keyPEM: |
|
||||||
|
|
||||||
|
|
||||||
## Security Context
|
## Security Context
|
||||||
## It holds pod-level and container level security configuration.
|
## It holds pod-level and container level security configuration.
|
||||||
## This is an experimental section, please verify before enabling in production.
|
## This is an experimental section, please verify before enabling in production.
|
||||||
## Ref: https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1
|
## Ref: https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1
|
||||||
securityContext:
|
securityContext:
|
||||||
enabled: false
|
enabled: true
|
||||||
## Mark it false, if you want to stop the non root user validation
|
## Mark it false, if you want to stop the non root user validation
|
||||||
runAsNonRoot: true
|
runAsNonRoot: true
|
||||||
fsGroup: 10001
|
fsGroup: 10001
|
||||||
runAsUser: 10001
|
runAsUser: 10001
|
||||||
runAsGroup: 10001
|
runAsGroup: 10001
|
||||||
|
|
||||||
|
|
||||||
## kubewatcher watches the Kubernetes API and invokes functions associated with watches, sending the watch event to the function.
|
## kubewatcher watches the Kubernetes API and invokes functions associated with watches, sending the watch event to the function.
|
||||||
##
|
##
|
||||||
kubewatcher:
|
kubewatcher:
|
||||||
@@ -344,7 +400,7 @@ kubewatcher:
|
|||||||
## This is an experimental section, please verify before enabling in production.
|
## This is an experimental section, please verify before enabling in production.
|
||||||
## Ref: https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1
|
## Ref: https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1
|
||||||
securityContext:
|
securityContext:
|
||||||
enabled: false
|
enabled: true
|
||||||
## Mark it false, if you want to stop the non root user validation
|
## Mark it false, if you want to stop the non root user validation
|
||||||
runAsNonRoot: true
|
runAsNonRoot: true
|
||||||
fsGroup: 10001
|
fsGroup: 10001
|
||||||
@@ -376,7 +432,7 @@ storagesvc:
|
|||||||
## This is an experimental section, please verify before enabling in production.
|
## This is an experimental section, please verify before enabling in production.
|
||||||
## Ref: https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1
|
## Ref: https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1
|
||||||
securityContext:
|
securityContext:
|
||||||
enabled: false
|
enabled: true
|
||||||
## Mark it false, if you want to stop the non root user validation
|
## Mark it false, if you want to stop the non root user validation
|
||||||
runAsNonRoot: true
|
runAsNonRoot: true
|
||||||
fsGroup: 10001
|
fsGroup: 10001
|
||||||
@@ -403,7 +459,7 @@ timer:
|
|||||||
## This is an experimental section, please verify before enabling in production.
|
## This is an experimental section, please verify before enabling in production.
|
||||||
## Ref: https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1
|
## Ref: https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1
|
||||||
securityContext:
|
securityContext:
|
||||||
enabled: false
|
enabled: true
|
||||||
## Mark it false, if you want to stop the non root user validation
|
## Mark it false, if you want to stop the non root user validation
|
||||||
runAsNonRoot: true
|
runAsNonRoot: true
|
||||||
fsGroup: 10001
|
fsGroup: 10001
|
||||||
@@ -453,14 +509,14 @@ kafka:
|
|||||||
# version: "0.11.2.0"
|
# version: "0.11.2.0"
|
||||||
|
|
||||||
# The following components expose Prometheus metrics and have servicemonitors in this chart (disabled by default)
|
# The following components expose Prometheus metrics and have servicemonitors in this chart (disabled by default)
|
||||||
# Controller, router, executor, storage svc
|
# router, executor, storage svc
|
||||||
serviceMonitor:
|
serviceMonitor:
|
||||||
enabled: false
|
enabled: false
|
||||||
##namespace in which you want to deploy servicemonitor
|
##namespace in which you want to deploy servicemonitor
|
||||||
##
|
##
|
||||||
namespace: ""
|
namespace: ""
|
||||||
## Map of additional lables to add to the ServiceMonitor resources
|
## Map of additional labels to add to the ServiceMonitor resources
|
||||||
# to allow selecting sepcific ServiceMonitors
|
# to allow selecting specific ServiceMonitors
|
||||||
# in case of multiple prometheus deployments
|
# in case of multiple prometheus deployments
|
||||||
additionalServiceMonitorLabels: {}
|
additionalServiceMonitorLabels: {}
|
||||||
# release: "monitoring"
|
# release: "monitoring"
|
||||||
@@ -473,8 +529,8 @@ podMonitor:
|
|||||||
##namespace in which you want to deploy podmonitor
|
##namespace in which you want to deploy podmonitor
|
||||||
##
|
##
|
||||||
namespace: ""
|
namespace: ""
|
||||||
## Map of additional lables to add to the PodMonitor resources
|
## Map of additional labels to add to the PodMonitor resources
|
||||||
# to allow selecting sepcific PodMonitor
|
# to allow selecting specific PodMonitor
|
||||||
# in case of multiple prometheus deployments
|
# in case of multiple prometheus deployments
|
||||||
additionalPodMonitorLabels: {}
|
additionalPodMonitorLabels: {}
|
||||||
# release: "monitoring"
|
# release: "monitoring"
|
||||||
@@ -522,7 +578,7 @@ persistence:
|
|||||||
size: 8Gi
|
size: 8Gi
|
||||||
|
|
||||||
## Extend the container specs for the core fission pods.
|
## Extend the container specs for the core fission pods.
|
||||||
## Can be used to add things like affinty/tolerations/nodeSelectors/etc.
|
## Can be used to add things like affinity/tolerations/nodeSelectors/etc.
|
||||||
## For example:
|
## For example:
|
||||||
## extraCoreComponentPodConfig:
|
## extraCoreComponentPodConfig:
|
||||||
## affinity:
|
## affinity:
|
||||||
@@ -607,7 +663,7 @@ preUpgradeChecks:
|
|||||||
image: fission/pre-upgrade-checks
|
image: fission/pre-upgrade-checks
|
||||||
## pre-install/pre-upgrade checks image version
|
## pre-install/pre-upgrade checks image version
|
||||||
##
|
##
|
||||||
imageTag: v1.17.0
|
imageTag: v1.20.3
|
||||||
|
|
||||||
## Fission post-install/post-upgrade reporting live in this image
|
## Fission post-install/post-upgrade reporting live in this image
|
||||||
##
|
##
|
||||||
@@ -627,11 +683,34 @@ prometheus:
|
|||||||
##
|
##
|
||||||
serviceEndpoint: ""
|
serviceEndpoint: ""
|
||||||
|
|
||||||
## set this flag to true if you need canary deployment feature
|
|
||||||
##
|
|
||||||
canaryDeployment:
|
canaryDeployment:
|
||||||
|
## set this flag to true if you need canary deployment feature
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
|
## Pod resources as:
|
||||||
|
## resources:
|
||||||
|
## limits:
|
||||||
|
## cpu: <tbd>
|
||||||
|
## memory: <tbd>
|
||||||
|
## requests:
|
||||||
|
## cpu: <tbd>
|
||||||
|
## memory: <tbd>
|
||||||
|
##
|
||||||
|
resources: {}
|
||||||
|
|
||||||
|
## Security Context
|
||||||
|
## It holds pod-level and container level security configuration.
|
||||||
|
## This is an experimental section, please verify before enabling in production.
|
||||||
|
## Ref: https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1
|
||||||
|
securityContext:
|
||||||
|
enabled: true
|
||||||
|
## Mark it false, if you want to stop the non root user validation
|
||||||
|
runAsNonRoot: true
|
||||||
|
fsGroup: 10001
|
||||||
|
runAsUser: 10001
|
||||||
|
runAsGroup: 10001
|
||||||
|
|
||||||
## Enable authentication for fission function invocation via Fission router
|
## Enable authentication for fission function invocation via Fission router
|
||||||
##
|
##
|
||||||
authentication:
|
authentication:
|
||||||
@@ -652,7 +731,7 @@ authentication:
|
|||||||
## jwtSigningKey is the signing key used for
|
## jwtSigningKey is the signing key used for
|
||||||
## signing the JWT token
|
## signing the JWT token
|
||||||
##
|
##
|
||||||
jwtSigningKey: serverless
|
jwtSigningKey:
|
||||||
## jwtExpiryTime is the JWT expiry time
|
## jwtExpiryTime is the JWT expiry time
|
||||||
## in seconds
|
## in seconds
|
||||||
## default '120'
|
## default '120'
|
||||||
@@ -715,29 +794,29 @@ mqt_keda:
|
|||||||
enabled: true
|
enabled: true
|
||||||
connector_images:
|
connector_images:
|
||||||
kafka:
|
kafka:
|
||||||
image: fission/keda-kafka-http-connector
|
image: ghcr.io/fission/keda-kafka-http-connector
|
||||||
tag: v0.11
|
tag: v0.15
|
||||||
rabbitmq:
|
rabbitmq:
|
||||||
image: fission/keda-rabbitmq-http-connector
|
image: ghcr.io/fission/keda-rabbitmq-http-connector
|
||||||
tag: v0.10
|
tag: v0.13
|
||||||
awskinesis:
|
awskinesis:
|
||||||
image: fission/keda-aws-kinesis-http-connector
|
image: ghcr.io/fission/keda-aws-kinesis-http-connector
|
||||||
tag: v0.10
|
tag: v0.13
|
||||||
aws_sqs:
|
aws_sqs:
|
||||||
image: fission/keda-aws-sqs-http-connector
|
image: ghcr.io/fission/keda-aws-sqs-http-connector
|
||||||
tag: v0.10
|
tag: v0.14
|
||||||
nats_steaming:
|
nats_steaming:
|
||||||
image: fission/keda-nats-streaming-http-connector
|
image: ghcr.io/fission/keda-nats-streaming-http-connector
|
||||||
tag: v0.12
|
tag: v0.16
|
||||||
nats_jetstream:
|
nats_jetstream:
|
||||||
image: fission/keda-nats-jetstream-http-connector
|
image: ghcr.io/fission/keda-nats-jetstream-http-connector
|
||||||
tag: v0.2
|
tag: v0.7
|
||||||
gcp_pubsub:
|
gcp_pubsub:
|
||||||
image: fission/keda-gcp-pubsub-http-connector
|
image: ghcr.io/fission/keda-gcp-pubsub-http-connector
|
||||||
tag: v0.5
|
tag: v0.9
|
||||||
redis:
|
redis:
|
||||||
image: fission/keda-redis-http-connector
|
image: ghcr.io/fission/keda-redis-http-connector
|
||||||
tag: v0.3
|
tag: v0.6
|
||||||
|
|
||||||
## Pod resources as:
|
## Pod resources as:
|
||||||
## resources:
|
## resources:
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
FROM cgr.dev/chainguard/static:latest
|
||||||
|
COPY builder /builder
|
||||||
|
ENTRYPOINT ["/builder"]
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
FROM alpine:3.16
|
|
||||||
RUN apk add --update ca-certificates
|
|
||||||
COPY builder /builder
|
|
||||||
ENTRYPOINT ["/builder"]
|
|
||||||
@@ -24,16 +24,18 @@ import (
|
|||||||
|
|
||||||
builder "github.com/fission/fission/pkg/builder"
|
builder "github.com/fission/fission/pkg/builder"
|
||||||
"github.com/fission/fission/pkg/utils/httpserver"
|
"github.com/fission/fission/pkg/utils/httpserver"
|
||||||
|
"github.com/fission/fission/pkg/utils/manager"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Usage: builder <shared volume path>
|
// Usage: builder <shared volume path>
|
||||||
func Run(ctx context.Context, logger *zap.Logger, shareVolume string) {
|
func Run(ctx context.Context, logger *zap.Logger, mgr manager.Interface, shareVolume string) {
|
||||||
builder := builder.MakeBuilder(logger, shareVolume)
|
builder := builder.MakeBuilder(logger, shareVolume)
|
||||||
mux := http.NewServeMux()
|
mux := http.NewServeMux()
|
||||||
mux.HandleFunc("/", builder.Handler)
|
mux.HandleFunc("/", builder.Handler)
|
||||||
|
mux.HandleFunc("/clean", builder.Clean)
|
||||||
mux.HandleFunc("/version", builder.VersionHandler)
|
mux.HandleFunc("/version", builder.VersionHandler)
|
||||||
mux.HandleFunc("/healthz", func(w http.ResponseWriter, r *http.Request) {
|
mux.HandleFunc("/healthz", func(w http.ResponseWriter, r *http.Request) {
|
||||||
w.WriteHeader(http.StatusOK)
|
w.WriteHeader(http.StatusOK)
|
||||||
})
|
})
|
||||||
httpserver.StartServer(ctx, logger, "builder", "8001", mux)
|
httpserver.StartServer(ctx, logger, mgr, "builder", "8001", mux)
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-4
@@ -20,19 +20,25 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
|
|
||||||
"go.uber.org/zap"
|
"go.uber.org/zap"
|
||||||
|
"sigs.k8s.io/controller-runtime/pkg/manager/signals"
|
||||||
|
|
||||||
"github.com/fission/fission/cmd/builder/app"
|
"github.com/fission/fission/cmd/builder/app"
|
||||||
"github.com/fission/fission/pkg/utils/loggerfactory"
|
"github.com/fission/fission/pkg/utils/loggerfactory"
|
||||||
|
"github.com/fission/fission/pkg/utils/manager"
|
||||||
"github.com/fission/fission/pkg/utils/profile"
|
"github.com/fission/fission/pkg/utils/profile"
|
||||||
"github.com/fission/fission/pkg/utils/signals"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// Usage: builder <shared volume path>
|
// Usage: builder <shared volume path>
|
||||||
func main() {
|
func main() {
|
||||||
|
|
||||||
|
mgr := manager.New()
|
||||||
|
defer mgr.Wait()
|
||||||
|
|
||||||
logger := loggerfactory.GetLogger()
|
logger := loggerfactory.GetLogger()
|
||||||
defer logger.Sync()
|
defer logger.Sync()
|
||||||
ctx := signals.SetupSignalHandlerWithContext(logger)
|
ctx := signals.SetupSignalHandler()
|
||||||
profile.ProfileIfEnabled(ctx, logger)
|
profile.ProfileIfEnabled(ctx, logger, mgr)
|
||||||
|
|
||||||
shareVolume := os.Args[1]
|
shareVolume := os.Args[1]
|
||||||
if _, err := os.Stat(shareVolume); err != nil {
|
if _, err := os.Stat(shareVolume); err != nil {
|
||||||
if os.IsNotExist(err) {
|
if os.IsNotExist(err) {
|
||||||
@@ -42,5 +48,5 @@ func main() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
app.Run(ctx, logger, shareVolume)
|
app.Run(ctx, logger, mgr, shareVolume)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
FROM cgr.dev/chainguard/static:latest
|
||||||
|
COPY fetcher /
|
||||||
|
ENTRYPOINT ["/fetcher"]
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
FROM alpine:3.16
|
|
||||||
RUN apk add --update ca-certificates
|
|
||||||
COPY fetcher /
|
|
||||||
ENTRYPOINT ["/fetcher"]
|
|
||||||
@@ -28,8 +28,10 @@ import (
|
|||||||
"go.opentelemetry.io/otel"
|
"go.opentelemetry.io/otel"
|
||||||
"go.uber.org/zap"
|
"go.uber.org/zap"
|
||||||
|
|
||||||
|
"github.com/fission/fission/pkg/crd"
|
||||||
"github.com/fission/fission/pkg/fetcher"
|
"github.com/fission/fission/pkg/fetcher"
|
||||||
"github.com/fission/fission/pkg/utils/httpserver"
|
"github.com/fission/fission/pkg/utils/httpserver"
|
||||||
|
"github.com/fission/fission/pkg/utils/manager"
|
||||||
otelUtils "github.com/fission/fission/pkg/utils/otel"
|
otelUtils "github.com/fission/fission/pkg/utils/otel"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -37,7 +39,7 @@ var (
|
|||||||
readyToServe uint32
|
readyToServe uint32
|
||||||
)
|
)
|
||||||
|
|
||||||
func Run(ctx context.Context, logger *zap.Logger) {
|
func Run(ctx context.Context, clientGen crd.ClientGeneratorInterface, logger *zap.Logger, mgr manager.Interface, port string, podInfoMountDir string) {
|
||||||
flag.Usage = fetcherUsage
|
flag.Usage = fetcherUsage
|
||||||
specializeOnStart := flag.Bool("specialize-on-startup", false, "Flag to activate specialize process at pod startup")
|
specializeOnStart := flag.Bool("specialize-on-startup", false, "Flag to activate specialize process at pod startup")
|
||||||
specializePayload := flag.String("specialize-request", "", "JSON payload for specialize request")
|
specializePayload := flag.String("specialize-request", "", "JSON payload for specialize request")
|
||||||
@@ -72,13 +74,13 @@ func Run(ctx context.Context, logger *zap.Logger) {
|
|||||||
ctx, span := tracer.Start(ctx, "fetcher/Run")
|
ctx, span := tracer.Start(ctx, "fetcher/Run")
|
||||||
defer span.End()
|
defer span.End()
|
||||||
|
|
||||||
f, err := fetcher.MakeFetcher(logger, dir, *secretDir, *configDir)
|
f, err := fetcher.MakeFetcher(logger, clientGen, dir, *secretDir, *configDir, podInfoMountDir)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Fatal("error making fetcher", zap.Error(err))
|
logger.Fatal("error making fetcher", zap.Error(err))
|
||||||
}
|
}
|
||||||
|
|
||||||
// do specialization in other goroutine to prevent blocking in newdeploy
|
// do specialization in other goroutine to prevent blocking in newdeploy
|
||||||
go func() {
|
mgr.Add(ctx, func(_ context.Context) {
|
||||||
if *specializeOnStart {
|
if *specializeOnStart {
|
||||||
var specializeReq fetcher.FunctionSpecializeRequest
|
var specializeReq fetcher.FunctionSpecializeRequest
|
||||||
|
|
||||||
@@ -93,7 +95,7 @@ func Run(ctx context.Context, logger *zap.Logger) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
atomic.StoreUint32(&readyToServe, 1)
|
atomic.StoreUint32(&readyToServe, 1)
|
||||||
}()
|
})
|
||||||
|
|
||||||
mux := http.NewServeMux()
|
mux := http.NewServeMux()
|
||||||
mux.HandleFunc("/fetch", f.FetchHandler)
|
mux.HandleFunc("/fetch", f.FetchHandler)
|
||||||
@@ -119,7 +121,7 @@ func Run(ctx context.Context, logger *zap.Logger) {
|
|||||||
logger.Info("fetcher ready to receive requests")
|
logger.Info("fetcher ready to receive requests")
|
||||||
|
|
||||||
handler := otelUtils.GetHandlerWithOTEL(mux, "fission-fetcher", otelUtils.UrlsToIgnore("/healthz", "/readiness-healthz"))
|
handler := otelUtils.GetHandlerWithOTEL(mux, "fission-fetcher", otelUtils.UrlsToIgnore("/healthz", "/readiness-healthz"))
|
||||||
httpserver.StartServer(ctx, logger, "fetcher", "8000", handler)
|
httpserver.StartServer(ctx, logger, mgr, "fetcher", port, handler)
|
||||||
}
|
}
|
||||||
|
|
||||||
func fetcherUsage() {
|
func fetcherUsage() {
|
||||||
|
|||||||
+15
-4
@@ -17,18 +17,29 @@ limitations under the License.
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"sigs.k8s.io/controller-runtime/pkg/manager/signals"
|
||||||
|
|
||||||
"github.com/fission/fission/cmd/fetcher/app"
|
"github.com/fission/fission/cmd/fetcher/app"
|
||||||
|
fv1 "github.com/fission/fission/pkg/apis/core/v1"
|
||||||
|
"github.com/fission/fission/pkg/crd"
|
||||||
"github.com/fission/fission/pkg/utils/loggerfactory"
|
"github.com/fission/fission/pkg/utils/loggerfactory"
|
||||||
|
"github.com/fission/fission/pkg/utils/manager"
|
||||||
"github.com/fission/fission/pkg/utils/profile"
|
"github.com/fission/fission/pkg/utils/profile"
|
||||||
"github.com/fission/fission/pkg/utils/signals"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const fetcherPort = "8000"
|
||||||
|
|
||||||
// Usage: fetcher <shared volume path>
|
// Usage: fetcher <shared volume path>
|
||||||
func main() {
|
func main() {
|
||||||
|
|
||||||
|
mgr := manager.New()
|
||||||
|
defer mgr.Wait()
|
||||||
|
|
||||||
logger := loggerfactory.GetLogger()
|
logger := loggerfactory.GetLogger()
|
||||||
defer logger.Sync()
|
defer logger.Sync()
|
||||||
|
|
||||||
ctx := signals.SetupSignalHandlerWithContext(logger)
|
ctx := signals.SetupSignalHandler()
|
||||||
profile.ProfileIfEnabled(ctx, logger)
|
profile.ProfileIfEnabled(ctx, logger, mgr)
|
||||||
app.Run(ctx, logger)
|
|
||||||
|
app.Run(ctx, crd.NewClientGenerator(), logger, mgr, fetcherPort, fv1.PodInfoMount)
|
||||||
}
|
}
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user