Skip to content

[pull] master from openfaas:master #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1,248 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1248 commits
Select commit Hold shift + click to select a range
8992092
Add LeaderElection for operator, and worker count
alexellis Oct 17, 2023
ff4f40b
Clean-up old code, and update Go version to 1.21
alexellis Oct 19, 2023
30c8dad
Upgrade client-go to 1.28
alexellis Oct 19, 2023
88017a9
Update OpenFaaS CE and Standard/Enterprise
alexellis Oct 19, 2023
fffebc2
Remove update/delete access to ConfigMaps
alexellis Oct 19, 2023
42187f5
Regenerate Helm chart for leader election
alexellis Oct 19, 2023
7e78478
Enable leader election for Pro values file
alexellis Oct 19, 2023
70cae03
Add pprof support to Pro gateway
alexellis Oct 19, 2023
95100c4
Security updates for various images
alexellis Oct 20, 2023
e1b72ce
Update queue-worker CE and Pro with latest dependencies
alexellis Oct 24, 2023
4aab092
Remove sync debug message from operator
alexellis Oct 25, 2023
250abc0
Update queue-worker and NATS in Helm chart
alexellis Oct 31, 2023
e5bbe43
Update queue-worker, remove NATS core monitoring
alexellis Nov 2, 2023
0db9370
Fix quote in Helm template
alexellis Nov 3, 2023
46cdb94
Publish new chart version for #1168
alexellis Nov 3, 2023
d2ee45e
Updates to OpenFaaS Standard gateway
alexellis Nov 8, 2023
7e2314e
Retry 429s from of-watchdog automatically in queue-worker
alexellis Nov 15, 2023
e2cd2d7
Add ECR credentials file example for pro-builder
welteki Nov 16, 2023
800799f
Accelerate function listing and status for operator users
alexellis Nov 20, 2023
d633375
Update Prometheus and NATS Streaming
alexellis Nov 20, 2023
43bf15e
Add Namespace to FunctionIngress CRD
alexellis Nov 20, 2023
ba6edba
Fix indentation of resources of cron-connector Helm chart
arnediekmann Oct 12, 2023
1454d76
Fix for cron-connector and upgrade to Ingress Operator
alexellis Nov 20, 2023
17fee65
Structured logging with zap for the operator (Pro/Enterprise)
alexellis Nov 22, 2023
6951510
Publish chart for Zap logging for operator
alexellis Nov 22, 2023
569296a
Internal updates to OpenFaaS prior to metering feature
alexellis Nov 30, 2023
b8b76c1
Bump dependencies in go.mod
alexellis Dec 1, 2023
97d258a
Use arkade for Helm validation / linting
alexellis Dec 1, 2023
3936944
Bump alpine from 3.18.4 to 3.18.5
dependabot[bot] Dec 1, 2023
3e5a018
Update termination period for gateway
alexellis Dec 7, 2023
2704745
Update gateway replicas in pro values file and update gateway
alexellis Dec 7, 2023
c0a4a5e
Support metering event subscriptions
welteki Nov 28, 2023
7df6a28
Add support for metering and event-worker
alexellis Dec 7, 2023
8667105
Fix pprof for gatewayPro section
alexellis Dec 7, 2023
76ba521
Fix memory leak in gateway during scale up
alexellis Dec 8, 2023
84c8b17
Bump alpine from 3.18.5 to 3.19.0
dependabot[bot] Dec 8, 2023
cf376b9
Publish new versions for new Alpine base image
alexellis Dec 11, 2023
1241e36
Operator - graceful shutdown of inflight HTTP requests
alexellis Dec 11, 2023
9408ea5
Add connectivity check
alexellis Dec 12, 2023
7270856
Update README with link to features
alexellis Dec 12, 2023
d2e121a
Alpine upgrade for OpenFaaS CE
alexellis Dec 12, 2023
edd4313
Set useful value for default RAM billing
alexellis Dec 13, 2023
31b4d3e
Fix replica count for eventWorker
alexellis Dec 13, 2023
99723de
Enable list of excluded namespaces for event metering
alexellis Dec 13, 2023
39b7c1e
Upgrade gateway for new metering exclusions list
alexellis Dec 13, 2023
1c96a6d
Clarify message on max functions for CE users
alexellis Dec 13, 2023
26611a9
Support auditing event subscriptions
welteki Dec 1, 2023
09784f2
Add metering.excludedNamespaces parameter to README
welteki Dec 13, 2023
c531b52
Graceful shutdown for gateway and faas-netes
alexellis Dec 14, 2023
dc9c846
Don't push images from build targets
alexellis Dec 21, 2023
c27b36d
Use temporary registry for Makefile
alexellis Jan 11, 2024
1839072
Support text streaming responses
alexellis Jan 11, 2024
77404b9
Support streaming text responses from functions
alexellis Jan 11, 2024
d0b1d8d
Fix forwarding of request body during text streaming
alexellis Jan 11, 2024
fd31169
Fix for reading body sent to text streaming functions
alexellis Jan 11, 2024
076c912
Fix: for body to a streaming text function for OF Standard
alexellis Jan 12, 2024
f7ad2f2
Log config of openfaas dashboard upon start-up
alexellis Jan 24, 2024
75bf989
Support custom CA bundle for IAM
alexellis Jan 25, 2024
b874080
Document additional caBundleSecretName secret
alexellis Jan 25, 2024
2d477ce
Support caBundleSecretName setting in Helm chart for IAM
alexellis Jan 25, 2024
d0db00a
Fix to make caBundleSecretName optional
alexellis Jan 25, 2024
1eef8dc
Updates to OIDC plugin and dashboard for default scopes
alexellis Jan 26, 2024
9299fd6
Misc security updates to gateway pro
alexellis Feb 1, 2024
04eadb7
Misc security updates to faas-netes/operator pro
alexellis Feb 1, 2024
873c09f
Regenerate charts for pro security updates
alexellis Feb 1, 2024
44aad06
Support structured logging config for faas-netes (Pro/Enterprise)
welteki Jan 3, 2024
6924e78
Update year for Copyright
alexellis Feb 7, 2024
d55c8c3
Update connectors for LemonSqueezy subscription support
alexellis Feb 7, 2024
bf7cdff
Update gateway version for OpenFaaS Pro
alexellis Feb 16, 2024
5a17fff
Add bump-charts Makefile target
alexellis Feb 16, 2024
05ab49e
Publish new chart version for updated gateway
alexellis Feb 16, 2024
3b11371
Update operator to Go 1.22 and update NATS to 2.0.11
alexellis Feb 17, 2024
8970890
Updates to Kubernetes library versions for operator/controller
alexellis Feb 21, 2024
acb476a
Patch release for SDK
alexellis Feb 21, 2024
8b09cc7
Clarify usage of CE according to distribution license
alexellis Feb 22, 2024
6dc44e6
Clarify license and distribution
alexellis Feb 22, 2024
63b7ce7
Clarify CE usage agreement.
alexellis Feb 22, 2024
4003a91
Updates to CE distribution
alexellis Feb 22, 2024
a1c137c
Update dependencies for CVEs
alexellis Feb 22, 2024
b49d9ba
Add oem as a deployment option in the chart
welteki Feb 22, 2024
30e20aa
Bump OEM to 0.1.0
alexellis Feb 22, 2024
7727eb9
Include OEM option in charts
alexellis Feb 22, 2024
ee589f3
Update CE build with latest versions
alexellis Feb 22, 2024
e35f844
Format for gofmt 1.22
alexellis Feb 22, 2024
e454133
CE update for security patches
alexellis Feb 22, 2024
4062afd
Updates for openfaas standard operator
alexellis Feb 24, 2024
1171e16
CVE update for alpine in OpenFaaS Standard/Enterprise
alexellis Feb 26, 2024
31fc242
Fix for clock skew with OIDC for OpenFaaS Dashboard
alexellis Mar 4, 2024
588d424
Breaking change to securityContext in Helm chart
alexellis Mar 5, 2024
f51e409
Add default securityContext to core services
alexellis Mar 5, 2024
077981c
Update note about securityContext
alexellis Mar 5, 2024
ff68568
Update README note on securityContext
alexellis Mar 5, 2024
df84ea6
Move securityContext into values-pro.yaml
alexellis Mar 6, 2024
3a8d11c
Update securityContext in values-pro.yaml with recommended settings
alexellis Mar 6, 2024
b9ffff5
Fix codegen permission denied error
welteki Mar 7, 2024
28fd0ec
Update controller-gen 0.12.0 -> 0.14.0
welteki Mar 7, 2024
91601e4
Add DNSConfig and DNSPolicy profile
welteki Mar 7, 2024
c9e85c8
Update CRD and client for new DNS profiles
welteki Mar 7, 2024
9fe326e
Update openfaas chart CRDs
welteki Mar 8, 2024
943dca9
Updates to Go dependencies - Prometheus, etc
alexellis Mar 12, 2024
95459a0
Single pull subscriber for JetStream
alexellis Mar 13, 2024
33c0904
Updates for JetStream queue-worker error messages
alexellis Mar 14, 2024
f942109
Add Resources profile
welteki Mar 18, 2024
c10d384
Update CRD and client for resources profile
welteki Mar 18, 2024
62848bd
Update openfaas chart profile CRD template
welteki Mar 18, 2024
702d9e0
Include Nvidia scheduling constraints in Profiles
alexellis Mar 20, 2024
0347788
Upgrade client-go to v0.29.3, update misc dependencies
alexellis Mar 25, 2024
5eecd7d
Updates for client-go and other dependencies in faas-netes
alexellis Mar 25, 2024
c5a4d85
Fix critical Prometheus bug and potential gateway memory leak
alexellis Apr 2, 2024
ff65ada
Publish charts for fixes in c5a4d854
alexellis Apr 2, 2024
9ebbe9b
Update legacy queue-worker with deprecation message
alexellis Apr 2, 2024
2625c82
Update values.yaml
alexellis Apr 3, 2024
33010d0
Update values-pro.yaml
alexellis Apr 3, 2024
5cb2cdd
Remove old reference to "controller"
alexellis Apr 5, 2024
02c043e
Use faas-cli ready in e2e tests instead of bash
alexellis Apr 11, 2024
b72ea6e
Increase K8s version for e2e tests to v1.29.2
alexellis Apr 11, 2024
aa77dc7
Fix flags to faas-cli ready
alexellis Apr 11, 2024
7c174da
Update tool versions including kind
alexellis Apr 11, 2024
16f8c86
New release for dashboard deletion button and fix to rendering
alexellis Apr 19, 2024
4220371
Fix for faas-netes / operator logging
alexellis Apr 19, 2024
bd99515
Add logging parameters for oidc-plugin
welteki Apr 23, 2024
baede08
Add structured logging for OIDC plugin
alexellis Apr 23, 2024
5578b07
Clarify this repo is for CE
alexellis Apr 23, 2024
23e66ca
Fix bug with fprocess and new updates for OEM version
alexellis Apr 26, 2024
8282743
Add conditions to the Function CRD status
alexellis Apr 26, 2024
92262d4
Release Function conditions for OpenFaaS Standard/Enterprise
alexellis Apr 29, 2024
6c9cfaf
Support configuring Prometheus retention
welteki Apr 30, 2024
a32eb43
Chart: Prometheus retention config and verbose IAM logging
alexellis Apr 30, 2024
5e285ed
Fix for autoscaler to forget deleted functions
alexellis May 10, 2024
97da079
Add leader election RBAC for Role
alexellis May 10, 2024
b478084
Chart release: Add leader election for Role
alexellis May 10, 2024
e60ca0b
Improve HTTP codes from scale endpoints
alexellis May 13, 2024
d5b07cd
Update CRD labels, retention policy and split-installation documentation
alexellis May 10, 2024
fdcea1e
Updates to CRD lifecycle and split installation instructions
alexellis May 13, 2024
a365c71
Comment out ingress annotation
alexellis May 15, 2024
112fa23
Publish SQS connector for multiple queues
alexellis May 16, 2024
22b5eb4
Mention mutliple installations
alexellis May 16, 2024
bef6059
Print out full name in NOTES.txt for sqs connector
alexellis May 16, 2024
250cda0
Update NOTES for sqs-connector for full name
alexellis May 16, 2024
7ffa78b
Quote ingress records from chart into ingress template
alexellis May 28, 2024
72ee772
Add unavailableReplicas to Function CRD
alexellis May 28, 2024
5d5d349
Chart: Add unavailableReplicas to CRD
alexellis May 28, 2024
8418f55
New operator version to include unavailableReplicas
alexellis May 28, 2024
f534ed9
Bump dashboard version for updated replicas gauge placement
alexellis May 30, 2024
cd6745d
Update repsonse time for updating RAM/CPU usage for dashboard/API
alexellis May 30, 2024
0f4bd34
Update README.md
alexellis May 31, 2024
1f38da1
Updates for alpine:3.20.0 base image and Go dependencies
alexellis Jun 5, 2024
f26da3a
Add deployment strategy to Profiles
welteki Mar 25, 2024
c811bb0
Remove duplicate profile rule from operator rbac
welteki Mar 26, 2024
2aa53c7
Update chart CRD templates
welteki Jun 7, 2024
b49dde5
Add ObservedGeneration to Function CRD
alexellis Jun 11, 2024
d74d745
Add profiles field to function status
welteki Jun 7, 2024
bfc008e
Update function CRD template
welteki Jun 10, 2024
fd43436
Publish openfaas chart for Function Authentication
alexellis Jun 19, 2024
21a98cc
Add stark warning about disabling basic auth to helm chart
alexellis Jul 4, 2024
dd00b8b
Add warning about disabling basic_auth, less logging in faas-netes
alexellis Jul 4, 2024
a4aa532
Include finializers for functions for OpenShift in operator RBAC
alexellis Jul 4, 2024
32eb2ba
OpenFaaS OEM license updates
alexellis Jul 9, 2024
4fa5996
Instructions for Helm for OpenFaaS OEM
alexellis Jul 9, 2024
8efe7b2
Updated dashboard, gateway and faas-netes
alexellis Jul 10, 2024
8a5563d
Fix for nil reference in faas-netes when annotations missing
alexellis Jul 10, 2024
ac4c706
Fix for dashboard rendering when labels/annotations are null
alexellis Jul 16, 2024
83706da
Update to Go 1.22 and various in go.mod
alexellis Jul 16, 2024
b5750f2
queue-worker: retry 504 errors from of-watchdog by default
alexellis Jul 17, 2024
58743cc
Turn off verbose logging in autoscaler by default
alexellis Jul 19, 2024
eee1df7
Print namespace in non-verbose messages in autoscaler
alexellis Jul 19, 2024
6ce1616
Remove note on deprecated faasIdler
alexellis Jul 19, 2024
1453604
Copy note about autoscaler.verbose from values-pro to values
alexellis Jul 22, 2024
305a26b
Support platforms for pro-builder
alexellis Jul 25, 2024
0daa5d9
Upgrade JetStream library for gateway
alexellis Jul 26, 2024
db2b29c
Supress /healthz log for gateway, upgrade various dependencies
alexellis Jul 31, 2024
c182c02
Operator/Gateway and Autoscaler enhancements
alexellis Aug 7, 2024
6f5a753
Add PriorityClassName field to profiles
welteki Aug 8, 2024
9a3f09e
Remove .tools directory
welteki Mar 7, 2024
0b7a381
Update faas-netes for new codegen
welteki Mar 7, 2024
aae119e
Update CRD and client for priority class profile
welteki Aug 8, 2024
294f3bc
Update openfaas chart profile CRD
welteki Aug 8, 2024
bd153c8
Upgrade faas-netes/autoscaler version/remove plain yaml manifests
alexellis Aug 8, 2024
a8073f7
Fix for autoscaler
alexellis Aug 16, 2024
c6427d2
Update empty example of Ingress for folks who skip the docs
alexellis Aug 19, 2024
8c87ae4
Scrape metrics from functions directly
welteki Aug 14, 2024
3393190
Ceil load values for scaling in recording rule
welteki Aug 21, 2024
739317c
Changes to autoscaler for better custom scaling
alexellis Aug 21, 2024
f9622cf
Fix typo in target label for openfaas-function-pods job
welteki Aug 21, 2024
542941b
Fix for new metrics scrape from function pods
alexellis Aug 22, 2024
180c3ab
Revert setting Ingress as enabled by default in values.yaml
alexellis Aug 22, 2024
8664296
Turn honor_timestamps off for resource scrape config
welteki Aug 23, 2024
ef46ab8
More responsive scaling for CPU/memory based metrics
alexellis Aug 23, 2024
8d711d2
Make CPU values more accurate in API/dashboard
alexellis Aug 23, 2024
eff7a82
Add topologySpreadConstraints for gateway
alexellis Aug 23, 2024
0e4465d
Support custom recordingRules for Prometheus
welteki Aug 23, 2024
fe581ba
Add a topologySpreadConstraints for the queue-worker
alexellis Aug 29, 2024
a854829
Add storage for Prometheus using a PersistentVolumeClaim
alexellis Aug 29, 2024
565a784
Chart: Add optional PVC for built-in Prometheus
alexellis Sep 3, 2024
bbed88a
Minor version updates
alexellis Sep 30, 2024
51b390e
New behaviour for forcing requeue of a Function CR
alexellis Oct 2, 2024
733aa78
Remove deprecated openfaas chart versions
alexellis Oct 16, 2024
dc46f5f
Helm: Updates for NATS and JetStream queue-worker
alexellis Oct 30, 2024
39509ce
Clarify EULA application since 2019
alexellis Nov 18, 2024
46a9078
Regenerate charts for newer images
alexellis Nov 20, 2024
d76026c
Updated faas-netes pro image
alexellis Nov 20, 2024
f3b041e
Update README.md
alexellis Nov 20, 2024
db6308d
Update README.md
alexellis Nov 20, 2024
5c59e40
Fix regression in previous release with CPU/RAM reported in API
alexellis Nov 21, 2024
ad3ef1a
Bump Prometheus to v3.0.0
alexellis Nov 21, 2024
c6929a1
Maintenance for go.mod and external dependencies
alexellis Nov 18, 2024
5643158
Couple of updates for the README
alexellis Nov 23, 2024
ee21e4d
Updates to Pro guidelines
alexellis Nov 23, 2024
6ed2e1d
Updates to README files
alexellis Nov 23, 2024
cd64953
Fix issue with EKS semver suffix
alexellis Nov 24, 2024
c24edde
Recreate function deployments when deleted abnormally
alexellis Nov 25, 2024
b00a506
Fix nil reference in controller mode when deployment has error
alexellis Nov 26, 2024
f43e633
Publish chart
alexellis Nov 26, 2024
781d785
Update CE gateway and Prometheus version
alexellis Nov 29, 2024
2cf6886
Add Helm chart for the RabbitMQ connector
welteki Dec 2, 2024
80eb54a
Remove federated-gateway experimental component from chart
alexellis Dec 2, 2024
e537f58
Update chart version
alexellis Dec 2, 2024
8c5118d
Fix typo
alexellis Dec 4, 2024
9fa1018
Remove armv7 images from CI and upgrade to Go 1.23
alexellis Dec 9, 2024
eff2611
Update Go to 1.23 and vendored dependencies
alexellis Dec 9, 2024
ee0e5fb
Remove newlines from log statements
alexellis Dec 9, 2024
cea65cc
Async cancellation and updates to various components
alexellis Dec 10, 2024
7751713
Upgrade Dashboard with new graphs
alexellis Dec 13, 2024
39feb0e
Allow use of localhost registry for limited testing
alexellis Dec 17, 2024
8b17f2e
Add new graphs to openfaas dashboard
alexellis Dec 18, 2024
ec51bd5
Fix for regression in callbacks from queue-worker
alexellis Dec 19, 2024
a382352
Fix panic in gateway when listing functions with Prom. down
alexellis Dec 21, 2024
0b2dbf4
Add prometheus scrape annotations to RabbitMQ connector
welteki Dec 11, 2024
645dbda
Update images for go.mod / alpine updates
alexellis Jan 17, 2025
15a18af
Upgrade cron-connector to fix panic
alexellis Jan 21, 2025
ac1c12e
Upgrades to Go 1.23 and to go.mod across various components
alexellis Jan 27, 2025
b0c236a
Bump dashboard and rabbitmq-connector
alexellis Jan 30, 2025
c284398
Updates to migration from CE, fast shutdown for dashboard
alexellis Feb 21, 2025
6aaab02
Updates for websocket support
alexellis Feb 27, 2025
9ca7024
Update notes in values.yaml on high QPS overrides
alexellis Mar 1, 2025
8bf567e
Update for security
alexellis Mar 3, 2025
ce0e8cf
Add separate liveness probe for operator container
alexellis Mar 4, 2025
807224b
Republish fresh chart
alexellis Mar 5, 2025
96fbd44
Fix for "stuck" operator when its informers have disconnected
alexellis Mar 5, 2025
2b1d529
Add override for default target for autoscaler
alexellis Mar 12, 2025
dcf1290
Fix typo
alexellis Mar 14, 2025
4a5cd16
Minor message update for faas-netes
alexellis Mar 14, 2025
1bf9b7e
Drop linux capabilities for Enterprise Edition
alexellis Mar 25, 2025
5b75fd7
Updates to logging for faas-netes / operator
alexellis Mar 26, 2025
1e751ee
Update various components
alexellis Apr 22, 2025
6fb7778
Fix for autoscaler in default RPS mode
alexellis Apr 25, 2025
8cd2da7
Update log messages for controller mode
alexellis May 15, 2025
647f008
Remove log line when looking up replicas
alexellis May 15, 2025
0acc1d1
Update set replicas log line
alexellis May 15, 2025
699a64a
Update go.mod and K8s client to v0.32.1
alexellis May 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
10 changes: 10 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
./faas-netes
/yaml
/yaml_armhf
/yaml_arm64
/chart
/contrib
/artifacts
/hack
/docs
/.git
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
yaml/* linguist-generated=true
2 changes: 2 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
@alexellis
@LucasRoesler
@welteki
17 changes: 14 additions & 3 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,20 @@
<!--- If describing a bug, tell us what happens instead of the expected behavior -->
<!--- If suggesting a change/improvement, explain the difference from current behavior -->

## Possible Solution
<!--- Not obligatory, but suggest a fix/reason for the bug, -->
<!--- or ideas how to implement the addition or change -->
## Why is this needed?
<!--- Why is this change required? What problem does it solve? -->
<!--- If it fixes an open issue, please link to the issue here. -->
- [ ] I have raised an issue to propose this change ([required](https://github.com/openfaas/faas/blob/master/CONTRIBUTING.md))

## Who is this for?

What company is this for? Are you listed in the [ADOPTERS.md](https://github.com/openfaas/faas/blob/master/ADOPTERS.md) file?

## List All Possible Solutions and Workarounds
<!--- Suggest a fix/reason for the bug, or ideas how to implement -->
<!--- the addition or change -->
<!--- Is there a workaround which could avoid making changes? -->


## Steps to Reproduce (for bugs)
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
Expand Down
5 changes: 4 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,14 @@
## Description
<!--- Describe your changes in detail -->

## Motivation and Context
## Why is this needed?
<!--- Why is this change required? What problem does it solve? -->
<!--- If it fixes an open issue, please link to the issue here. -->
- [ ] I have raised an issue to propose this change ([required](https://github.com/openfaas/faas/blob/master/CONTRIBUTING.md))

## Who is this for?

What company is this for? Are you listed in the [ADOPTERS.md](https://github.com/openfaas/faas/blob/master/ADOPTERS.md) file?

## How Has This Been Tested?
<!--- Please describe in detail how you tested your changes. -->
Expand Down
15 changes: 15 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
version: 2
# reference: https://docs.github.com/en/github/administering-a-repository/configuration-options-for-dependency-updates
updates:
- package-ecosystem: "gomod"
directory: "/"
schedule:
interval: "daily"
- package-ecosystem: "docker"
directory: "/"
schedule:
interval: "daily"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
75 changes: 75 additions & 0 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: build

on:
push:
branches: [ '*' ]
pull_request:
branches: [ '*' ]

jobs:
build:
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true

runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Install Go
uses: actions/setup-go@master
with:
go-version: 1.23.x
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Get Repo Owner
id: get_repo_owner
run: echo "REPO_OWNER=$(echo ${{ github.repository_owner }} | tr '[:upper:]' '[:lower:]')" > $GITHUB_ENV

- name: Get git commit
id: get_git_commit
run: echo "GIT_COMMIT=$(git rev-parse HEAD)" >> $GITHUB_ENV

- name: Build x86_64 container into library
uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile
outputs: "type=docker,push=false"
platforms: linux/amd64
build-args: |
GIT_COMMIT=dev-${{env.GIT_COMMIT}}
VERSION=dev-${{env.GIT_COMMIT}}
tags: |
ghcr.io/${{ env.REPO_OWNER }}/faas-netes:${{ github.sha }}

- name: Build multi-arch containers for validation only
uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile
outputs: "type=image,push=false"
platforms: linux/amd64,linux/arm64
build-args: |
GIT_COMMIT=dev-${{env.GIT_COMMIT}}
VERSION=dev-${{env.GIT_COMMIT}}
tags: |
ghcr.io/${{ env.REPO_OWNER }}/faas-netes:${{ github.sha }}
# Todo - load the image into Kind before running tests
# otherwise, this just tests the chart with images that
# have already been built and pushed in an earlier job
- name: get tools
run: ./contrib/get_tools.sh
- name: lint chart
run: ./contrib/lint_chart.sh
- name: create cluster
run: ./contrib/create_cluster.sh
- name: deploy function
run: OPERATOR=0 ./contrib/deploy.sh
- name: run function
run: OPERATOR=0 ./contrib/run_function.sh
- name: stop dev cluster
run: ./contrib/stop_dev.sh

47 changes: 47 additions & 0 deletions .github/workflows/helm.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Validate Chart

on:
push:
paths:
- chart/**
- contrib/validate_chart.sh
- contrib/lint_chart.sh
- .github/workflows/helm.yaml
pull_request:
paths:
- chart/**
- contrib/validate_chart.sh
- contrib/lint_chart.sh
- .github/workflows/helm.yaml

jobs:
lint-chart:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: alexellis/arkade-get@master
with:
helm: latest
# - uses: azure/setup-helm@v3
- name: Helm Lint
run: ./contrib/lint_chart.sh

kubeval-chart:
runs-on: ubuntu-latest
needs:
- lint-chart
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: alexellis/arkade-get@master
with:
kubeval: latest
# - uses: lra/setup-kubeval@v1
# with:
# version: v0.16.1
- name: Run kubeval
env:
KUBEVAL_SCHEMA_LOCATION: "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/"
KUBERNETES_VERSION: v1.26.11 v1.27.1 1.28.4
run: ./contrib/lint_chart.sh
64 changes: 64 additions & 0 deletions .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: publish

on:
push:
tags:
- '*'

jobs:
publish:
runs-on: ubuntu-latest
permissions:
actions: read
checks: write
issues: read
packages: write
pull-requests: read
repository-projects: read
statuses: read
steps:
- uses: actions/checkout@master
- name: Install Go
uses: actions/setup-go@master
with:
go-version: 1.23.x
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Registry
uses: docker/login-action@v3
with:
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
registry: ghcr.io

- name: Get TAG
id: get_tag
run: echo TAG=${GITHUB_REF#refs/tags/} >> $GITHUB_ENV

- name: Get git commit
id: get_git_commit
run: echo "GIT_COMMIT=$(git rev-parse HEAD)" >> $GITHUB_ENV
- name: Get version
id: get_version
run: echo "VERSION=$(git describe --tags --dirty)" >> $GITHUB_ENV
- name: Get Repo Owner
id: get_repo_owner
run: echo "REPO_OWNER=$(echo ${{ github.repository_owner }} | tr '[:upper:]' '[:lower:]')" > $GITHUB_ENV


- name: Push containers
uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile
outputs: "type=registry,push=true"
platforms: linux/amd64,linux/arm64
build-args: |
GIT_COMMIT=${{env.GIT_COMMIT}}
VERSION=${{env.VERSION}}
tags: |
ghcr.io/${{ env.REPO_OWNER }}/faas-netes:${{ github.sha }}
ghcr.io/${{ env.REPO_OWNER }}/faas-netes:${{ env.TAG }}
ghcr.io/${{ env.REPO_OWNER }}/faas-netes:latest
25 changes: 25 additions & 0 deletions .github/workflows/verify-images.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Verify Chart Images

on:
push:
paths:
- 'chart/**'

jobs:
verifyImages:
strategy:
matrix:
go-version: [1.22.x]
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@master
- name: Get arkade
id: get_arkade
run: |
curl -sLS https://get.arkade.dev | sudo sh
- name: Verify chart images
id: verify_images
run: |
VERBOSE=true make verify-charts
22 changes: 22 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,26 @@
.idea

faas-netes
**/password.txt
**/gateway-password.txt

.vscode
of_kind_portforward.pid
/kind*
/kubectl
/yaml_armhf
/yaml_arm64

/broker-*

/chart/pro-builder/out
/chart/pro-builder/payload.txt
/pgconnector.yaml

jwt_key
jwt_key.pub
/*.pid
*.txt
/.secrets/*

/pro.sh
50 changes: 0 additions & 50 deletions .travis.yml

This file was deleted.

Loading