xigxog / kubefox Goto Github PK
View Code? Open in Web Editor NEWSimplifying Kubernetes.
Home Page: https://kubefox.io
License: Mozilla Public License 2.0
Simplifying Kubernetes.
Home Page: https://kubefox.io
License: Mozilla Public License 2.0
Provide a simple means of extending error explanations and log messages which is optionally accessible within the messages themselves.
Enable end users to click on links within KubeFox log and error messages which point to the XigXog website and which provide for deeper explanations, links to tutorials etc.
Error and log messages tend to be terse by design. Individual messages are frequently not immediately understandable by developers except for those who are already schooled in the art (of whatever product - including KubeFox). That puts developers in the position of hunting in the documentation for that information. By building links into the messages themselves, the developer is given a tremendous head start as they're pointed to the relevant part of the documentation. This will also generate information on what areas of the documentation are accessed the most, leading both to product improvements (ideally developers won't need to experience the issue in the first place) and documentation improvements.
v0.5.x-beta
Wire in a 3rd party product to provide an infrastructure for visualization.
To provide for visualization of span-based traces, metrics and logs, it makes best sense to employ a 3rd party product that has robust support for telemetry visualization, the integrate with it via a standardized framework (OTEL) - as opposed to building it from scratch. SigNoz is the product we've selected.
Employing a 3rd party product (like SigNoz) will enable us to deliver these visualization services far more quickly and leverage the efforts of those who have deep backgrounds and expertise in these areas.
v0.3.x-alpha
An Azure Quickstart would enable end users spin up KubeFox applications in the cloud in minutes.
Extend the Quickstart so the Hello World application created for the Kind Quickstart would be up and running in less than 30 minutes.
End users get acquainted with KubeFox applications and deployments, and run them in Kubernetes on Azure in a very short period of time. Many of the barriers to cloud-based Kubernetes applications disappear, and end users have a very positive KubeFox experience which will build loyalty.
v0.4.x-alpha
Ease debugging of user-built components.
Extend the KubeFox SDK to provide for an integrated debugging experience for end users.
Easing debugging will engender loyalty in developers to the extent to which we're able to bring the information necessary to the developer's fingertips that enables them to rapidly identify the source of bugs.
v0.5.x-beta
Establish a permanent XigXog cloud presence. It will facilitate many end user tasks.
Specific features will be documented in follow-on issues.
End users should be able to automatically deploy KubeFox systems, manage releases, access built-in telemetry and deprecate deployments. Additionally, we want to remove the need for the provision of a webhook for security reasons.
v0.6.x-beta
Provide span-based views of system logs.
This is an add-on to #21.
Enable end users (developers) to visualize span-based log data for applications with no configuration and by virtue of the applications being developed with KubeFox conventions. Logs would be displayable for Systems, Applications and Components, and in context with views of trace and metric data (so if viewing span x for traces and metrics, a view of logs for the same context would be readily displayable).
Developers, QA and support personnel would be able to see logs associated with spans, enabling them to understand what the system was doing while they were reviewing traces and metrics. In turn, that would speed development and debugging, facilitate problem determination, increase quality and reduce development costs.
v0.3.x-alpha
Increase coverage of KubeFox unit tests (this is an extension of #12).
Increase the coverage of KubeFox unit tests to 80%.
Build automatic execution of KubeFox unit testing into the KubeFox release pipeline.
High quality is crucial to a viable product. Additionally, as the community engages, it is imperative that we have a pattern of good unit tests that community contributors can follow.
v0.5.x-beta
State store support is key to KubeFox viability. Hasura is the best way to achieve the broadest support in a quality manner as the first step for KubeFox.
Support for Hasura amounts to the construction of an Hasura Adapter.
Supporting Hasura will enable KubeFox to support a broad swath of the most popular state stores. Initial priorities are Postgres, SQL Server, MySQL, MariaDB, MongoDB, Athena, Oracle, BigQuery and Snowflake.
v0.4.x-alpha
Simplify integration with GitHub by providing for initialization of a (KubeFox-compatible) GitHub repository.
Enhance the CLI to provide for initialization of a GitHub repository for end users.
Provide for GitHub repository initialization will ensure that the repository is built in a KubeFox-compliant manner and ultimately ease the burden of constructing a simple CI/CD workflow. It will also ease the burden on XigXog as it will reduce the chance of errors and enable end users to easily build and deploy applications. These types of tasks help build developer loyalty as we continue to strive to simplify developer tasks.
v0.5.x-beta
Secure distribution of NKeys to brokers for connection to NATS.
Use of Vault using NKey Plugin to generate and store NKeys. The Runtime Server will then distribute the NKeys to the various components during bootstrapping.
Security.
v0.1.0-alpha
Provide for visualization of span-based trace and metric data for applications.
This is an add-on to #21.
Enable end users (developers) to visualize span-based trace and metric telemetry for their applications with no configuration and by virtue of the applications being developed with KubeFox conventions. Visualization would be provided by System, Application and by individual Component.
Developers would be able to quickly visualize the behavior of their components during development, enabling them and QA departments to quickly understand the effect of changes like performance benefits, optimization impacts etc. and quickly drill into and understand problems. In turn, that would speed development, increase quality and reduce development costs.
v0.3.x-alpha
Secure distribution of TLS certificates for KubeFox components.
Currently certificates are generated during Helm Chart install and stored as Kubernetes Secrets. To ensure better security certificates should be generated and stored by Vault. The Runtime Server will then distribute the certificates to the various components during bootstrapping.
Security.
v0.1.0-alpha
Enable end users to automatically deploy KubeFox Systems to their clusters.
This is a follow-on to #18.
A XigXog cloud presence enables us to further automate some standard DevOps tasks such as deployment. Instead of the end user requesting deployment through the CLI, (optionally) deploy the System to the cluster(s). That means that an action like the creation of a SysRef would trigger a build, the publishing of containers to GHCR, the downloading of those containers and manifestation of them in Pods - all automatically.
Eliminating the need for constant management and orchestration of deployments would drastically reduce the ongoing burden imposed by these activities on DevOps teams. That will reduce costs and free valuable DevOps resource to focus on more strategic goals.
v0.6.x-beta
To ensure security access to Vault should be tightly controlled.
Vault policies that limit access only to Platform Components including the API Server, Operator, Runtime Server, and Broker. Each component should have the least access required to perform it's job.
Security.
v0.3.0-alpha
Begin building unit test infrastructure for the KubeFox product to ensure quality.
KubeFox unit testing - code coverage 20%.
High quality is crucial to a viable product. Additionally, as the community engages, it is imperative that we have a pattern of good unit tests that community contributors can follow.
v0.4.x-alpha
Enable end users to interact with KubeFox via a user-friendly Web UI (instead of the CLI).
This is a follow-on to #18.
Provide the following functions in the initial KubeFox Web UI:
Providing a user-friendly Web UI will simplify end user interactions with KubeFox. It will enable us to do things like display applications associated with a System, components associated with a deployment, versions of components currently running, releases and telemetry, as well as very simple metaphors that explicitly identify the deployment being deprecated or released etc.
v0.6.x-beta
Simplify Platform installation.
Reduce the complexity of the Helm Chart by having it install only the Operator. Then the Operator will install the remaining components. This allows the Operator to install and bootstrap various interdependent components in an ordered fashion.
Lowers barrier to entry for using KubeFox.
v0.1.0-alpha
Secure, policy based access to NATS.
Currently a Broker uses TLS certs generated during Helm Chart install to authenticate with NATS. There is no authorization in place. At start-up a Broker should bootstrap itself by sending a request to the Platform Server. The Platform Server in turn generates an NKey with the appropriate policies for that Broker using Vault and returns it to the Broker. The NKeys are then used by the Broker to connect to NATS.
Security.
v0.1.0-alpha
depends-on: #2
Reduce the amount of time it takes developers, QA and support personnel to identify logs that help with with a debugging, development, maintenance, QA or support activity.
Provide a facility to enable end users to quickly distill logs (which can be voluminous even when span-based) to those that they think are pertinent to the task at hand. When the end user was viewing logs (typically in concert with trace and metrics), provide a search bar that accepts simple string/wildcard combinations to help them get to the logs in which they're interested.
Enabling developers to quickly tease through and obtain the logs that matter to them is crucial to the enhancement of the developer experience. Building a powerful facility will engender developer loyalty and ultimately reduce development costs for companies that choose the KubeFox platform.
v0.3.x-alpha
Simple, standard generation, collection, and storage of all telemetry.
The Kit SDK and Broker should generate all telemetry using the OTEL format. Telemetry should be sent to the Fluentbit instance running on the local K8s Node. That Fluentbit instance will then forward all telemetry to a main Fluentbit collector which batch inserts the telemetry into OpenSearch for storage and query.
Telemetry.
v0.1.0-alpha
Ensure well-documented source code in XigXog products.
Provide meaningful, helpful source code comments and documentation enabling other developers - both in the open source community and internal to XigXog - to understand not just what the code does, but more importantly, how it does it. The goal is for a developer to be able to review the code and understand its behavior by reading through the comments and documentation.
Good documentation and well-commented code will render the codebase more accessible, attract both employees and open source contributors and facilitate maintenance and extendability in the future. A succinct overview here: https://easternpeak.com/blog/source-code-documentation-best-practices/
v0.4.x-alpha
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.