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

cyphernetes 0.15.0 #203098

Closed
wants to merge 1 commit into from
Closed

cyphernetes 0.15.0 #203098

wants to merge 1 commit into from

Conversation

BrewTestBot
Copy link
Member

Created by brew bump


Created with brew bump-formula-pr.

release notes
# Release Notes for Cyphernetes v0.15.0

This one took a bit longer than our usual release cycle but packs a real punch!
This release includes the biggest refactoring of the codebase to date.

For starters, the heart of Cyphernetes has been fully rewritten from scratch. This release does away with the goyacc dependency as the parser has been reimplemented as a recursive descent function, while the lexer has been rewritten to be more straightforward and maintainable.
This change will allow the parser to deliver better, contextual messages on parsing errors - as well as serving for a better platform for future development of the language.

Next, the single parser Cyphernetes package has been broken down into 3 packages:

  • core: This is the package that provides the Parse method - It contains the language parser, relationship engine and other parts that together provide that Cyphernetes magic
  • provider: This is an interface that allows the core package to interface with a data backend - contains functions for doing CRUD operations as well as resolving resource kind names and other schema related functionality
  • apiserver: A default provider implementation - this is the original K8s go-client used by Cyphernetes up until now.

This change allows for easier integration of the Cyphernetes language into other Go projects and opens up the possibility of including Cyphernetes in products that use other backends that reflect the contents of etcd (e.g. Postgres, Elasticsearch…) for looking up resources.
For the first time, we publish an Integration guide in our docs.

Besides these two major changes, the refactoring job includes many bug fixes, performance improvements and enhancements to usability.
More than anything, we received a lot of user feedback over the past couple of months! Thank you! This helped us address several important issues and come up with feature ideas.



Features

  • Full rewrite of the core Cyphernetes package
- Support for dry-run mode
  • Shiny progress bars when initializing resource specs
  • Add version command
  • New —format flag for YAML output support in query/shell commands

Improvements


  • Blazing fast cluster spec initialization
  • Support fully qualified kinds (e.g. deployments.apps)
  • Warn on kind ambiguity, present list of available fully-qualified names
  • Allow access to non-namespaces resources (nodes, namespaces…) without explicitly setting “all-namespaces”
  • More relationships now discovered automatically

Bug Fixes

  • Namespace hardcoded to default on web caused missing results when namespace was defined in local Kubernetes context
  • Ambiguous resource kinds of different groups crashed the program
- —namespace was ignored by Cyphernetes shell - now takes precedence

Acknowledgements

We have a new maintainer! We also have some fresh code contributors and new issue reporters - It's amazing to see the Cyphernetes community growing like that. Thanks to everyone who contributed!

🥇 New maintainer:
We are welcoming @naorpeled as a maintainer for the Cyphernetes repo 🥳
Over the last few months Naor has consistently been contributing and demonstrated responsibility and true care for the project.
I'm honored to have him by my side as an official Cyphernetes maintainer, good luck Naor - You're already doing an awesome job.

🎖️ For reporting issues:

@scraly
@SleepyBrett
@elliotxx
@hmizael

🏅 In the PR department:
@viniciusartur
@noetarbouriech

@github-actions github-actions bot added go Go use is a significant feature of the PR or issue bump-formula-pr PR was created using `brew bump-formula-pr` labels Jan 3, 2025
@AvitalTamir AvitalTamir mentioned this pull request Jan 3, 2025
6 tasks
@AvitalTamir
Copy link
Contributor

Added a PR to resolve this: #203103

@chenrui333
Copy link
Member

#203103

@chenrui333 chenrui333 closed this Jan 4, 2025
@chenrui333 chenrui333 added the superseded PR was replaced by another PR label Jan 4, 2025
@github-actions github-actions bot deleted the bump-cyphernetes-0.15.0 branch January 4, 2025 16:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bump-formula-pr PR was created using `brew bump-formula-pr` go Go use is a significant feature of the PR or issue superseded PR was replaced by another PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants