README
¶
What is Aperture?
Aperture is the first open-source flow control and reliability management platform for modern web applications.
Aperture enables flow control through observing, analyzing, and actuating, facilitated by agents and a controller.
For more detailed description, refer to the docs.
Playground
To try aperture in local K8s environment, refer to Playground docs.
Contributing
We would really appreciate you help!
See our Code of Conduct.
Reporting bugs or requesting features
Reporting bugs helps us improve Aperture to be more reliable and user friendly. Please make sure to include all the required information to reproduce and understand the bug you are reporting.
Follow helper questions in bug report template to make it easier.
If you see a way to improve Aperture, use the feature request template to create an issue. Make sure to explain the problem you are trying to solve and what is the expected behavior.
Creating Pull Requests
When you are ready to contribute, pick an issue you'd like to solve. Try starting with:
For your convenience, all the needed development tools can be installed with
asdf
.
Before committing, install pre-commit
hooks, which will automatically check if
your code meets our standards.
pre-commit install --hook-type={pre-commit,commit-msg,prepare-commit-msg}
pre-commit install-hooks
After your first PR is created you would be asked to sign our Contributor License Agreement.
Resources
For better understanding of Aperture, refer to the following resources.
Directories
¶
Path | Synopsis |
---|---|
api
module
|
|
gen/proto/go/aperture/common/config/v1
Code generated by protoc-gen-deepcopy.
|
Code generated by protoc-gen-deepcopy. |
gen/proto/go/aperture/common/entitycache/v1
Package entitycachev1 is a reverse proxy.
|
Package entitycachev1 is a reverse proxy. |
gen/proto/go/aperture/common/info/v1
Package infov1 is a reverse proxy.
|
Package infov1 is a reverse proxy. |
gen/proto/go/aperture/common/labelmatcher/v1
Code generated by protoc-gen-deepcopy.
|
Code generated by protoc-gen-deepcopy. |
gen/proto/go/aperture/common/peers/v1
Code generated by protoc-gen-deepcopy.
|
Code generated by protoc-gen-deepcopy. |
gen/proto/go/aperture/common/selector/v1
Code generated by protoc-gen-deepcopy.
|
Code generated by protoc-gen-deepcopy. |
gen/proto/go/aperture/common/status/v1
Package statusv1 is a reverse proxy.
|
Package statusv1 is a reverse proxy. |
gen/proto/go/aperture/common/watchdog/v1
Code generated by protoc-gen-deepcopy.
|
Code generated by protoc-gen-deepcopy. |
gen/proto/go/aperture/flowcontrol/v1
Code generated by protoc-gen-deepcopy.
|
Code generated by protoc-gen-deepcopy. |
gen/proto/go/aperture/openapiv2/v1
Code generated by protoc-gen-deepcopy.
|
Code generated by protoc-gen-deepcopy. |
gen/proto/go/aperture/plugins/fluxninja/v1
Package fluxninjav1 is a reverse proxy.
|
Package fluxninjav1 is a reverse proxy. |
gen/proto/go/aperture/policy/decisions/v1
Code generated by protoc-gen-deepcopy.
|
Code generated by protoc-gen-deepcopy. |
gen/proto/go/aperture/policy/language/v1
Code generated by protoc-gen-deepcopy.
|
Code generated by protoc-gen-deepcopy. |
cmd
|
|
aperture-agent
Aperture Agent
|
Aperture Agent |
aperture-controller
Aperture Controller
|
Aperture Controller |
api/v1alpha1
Package v1alpha1 contains API Schema definitions for the v1alpha1 API group +kubebuilder:object:generate=true +groupName=fluxninja.com
|
Package v1alpha1 contains API Schema definitions for the v1alpha1 API group +kubebuilder:object:generate=true +groupName=fluxninja.com |
pkg
|
|
agentinfo
+kubebuilder:validation:Optional
|
+kubebuilder:validation:Optional |
config
+kubebuilder:validation:Optional
|
+kubebuilder:validation:Optional |
discovery/kubernetes
+kubebuilder:validation:Optional
|
+kubebuilder:validation:Optional |
discovery/static
+kubebuilder:validation:Optional
|
+kubebuilder:validation:Optional |
distcache
+kubebuilder:validation:Optional
|
+kubebuilder:validation:Optional |
etcd/client
+kubebuilder:validation:Optional
|
+kubebuilder:validation:Optional |
jobs
+kubebuilder:validation:Optional
|
+kubebuilder:validation:Optional |
metrics
+kubebuilder:validation:Optional
|
+kubebuilder:validation:Optional |
mocks
Package mocks is a generated GoMock package.
|
Package mocks is a generated GoMock package. |
net/grpc
+kubebuilder:validation:Optional
|
+kubebuilder:validation:Optional |
net/grpcgateway
+kubebuilder:validation:Optional
|
+kubebuilder:validation:Optional |
net/http
+kubebuilder:validation:Optional
|
+kubebuilder:validation:Optional |
net/listener
+kubebuilder:validation:Optional
|
+kubebuilder:validation:Optional |
net/tlsconfig
+kubebuilder:validation:Optional
|
+kubebuilder:validation:Optional |
otel
+kubebuilder:validation:Optional
|
+kubebuilder:validation:Optional |
otelcollector/loggingexporter
Package loggingexporter exports data to console as logs.
|
Package loggingexporter exports data to console as logs. |
peers
+kubebuilder:validation:Optional
|
+kubebuilder:validation:Optional |
plugins
+kubebuilder:validation:Optional
|
+kubebuilder:validation:Optional |
policies/mocks
Package mocks is a generated GoMock package.
|
Package mocks is a generated GoMock package. |
profilers
+kubebuilder:validation:Optional
|
+kubebuilder:validation:Optional |
prometheus
+kubebuilder:validation:Optional
|
+kubebuilder:validation:Optional |
selectors
Companion package for github.com/fluxninja/aperture/api/gen/proto/go/aperture/policy/language/v1 containing convertions of proto-generated struct into golang ones and other helpers.
|
Companion package for github.com/fluxninja/aperture/api/gen/proto/go/aperture/policy/language/v1 containing convertions of proto-generated struct into golang ones and other helpers. |
watchdog
+kubebuilder:validation:Optional
|
+kubebuilder:validation:Optional |
playground
|
|
browser
Module
|
|
demo_app
Module
|
|
graphql_demo_app
Module
|
|
resources/demo-app
Module
|
|
resources/graphql-demo-app
Module
|
|
plugins
|
|
service/aperture-plugin-fluxninja/pluginconfig
+kubebuilder:validation:Optional
|
+kubebuilder:validation:Optional |
service/aperture-plugin-sentry/sentry
+kubebuilder:validation:Optional
|
+kubebuilder:validation:Optional |
test
|
|
tools
|
|