Skip to content
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

Added default set of features to Agent Configuration #868

Merged
merged 10 commits into from
Sep 27, 2024
Merged

Conversation

oliveromahony
Copy link
Contributor

@oliveromahony oliveromahony commented Sep 25, 2024

Proposed changes

Adding default set of feature flags to enable refactoring of Agent Configuration properly.

This is the basics for the design of a feature flag management system for the NGINX Agent. The system enables dynamic toggling of features based on configurations provided via multiple sources, including CLI parameters, environment variables, configuration files, and via protobuf gRPC messages. Feature flags control the execution paths within the application, allowing for flexible and controlled feature management.

Feature Overview:

  • configuration - Full read/write management of configurations toggled by DataPlaneConfig ConfigMode
  • certificates - Inclusion of public keys and other certificates in the configurations toggled by DataPlaneConfig CertMode
  • connection - Sends an initial connection message reporting instance information on presence of Command ServerConfig Host and Port
  • file-watcher - Monitoring of file changes in the allowed directories list and references from product configs. When enabled, may trigger DP => MP synchronisation of files
  • agent-api - Future Agent REST API
  • metrics - Full metrics reporting.
  • metrics-host - All host-level metrics.
  • metrics-container - Future container metrics reporting.
  • metrics-instance - Instance level metrics, will have various categories in the future

Checklist

Before creating a PR, run through this checklist and mark each as complete.

  • I have read the CONTRIBUTING document
  • I have run make install-tools and have attached any dependency changes to this pull request
  • If applicable, I have added tests that prove my fix is effective or that my feature works
  • If applicable, I have checked that any relevant tests pass after adding my changes
  • If applicable, I have updated any relevant documentation (README.md)
  • If applicable, I have tested my cross-platform changes on Ubuntu 22, Redhat 8, SUSE 15 and FreeBSD 13

@github-actions github-actions bot added chore Pull requests for routine tasks enhancement New feature or request labels Sep 25, 2024
@oliveromahony oliveromahony changed the title added feature set Added default set of features to Agent Configuration Sep 25, 2024
@github-actions github-actions bot added the documentation Improvements or additions to documentation label Sep 26, 2024
@oliveromahony oliveromahony marked this pull request as ready for review September 26, 2024 12:45
@oliveromahony oliveromahony requested a review from a team as a code owner September 26, 2024 12:45
@oCHRISo oCHRISo added the v3.x Issues and Pull Requests related to the major version v3 label Sep 27, 2024
@oliveromahony oliveromahony requested a review from a team September 27, 2024 10:19
docs/features/features.md Outdated Show resolved Hide resolved
docs/features/features.md Outdated Show resolved Hide resolved
docs/features/features.md Outdated Show resolved Hide resolved
@oliveromahony oliveromahony requested a review from a team September 27, 2024 14:11
@oliveromahony oliveromahony merged commit 62bbfb8 into v3 Sep 27, 2024
20 checks passed
@oliveromahony oliveromahony deleted the feature-flags branch September 27, 2024 14:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore Pull requests for routine tasks documentation Improvements or additions to documentation enhancement New feature or request v3.x Issues and Pull Requests related to the major version v3
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants