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

Add command to furyctl to print all KFD available versions #210

Open
g-iannelli opened this issue Feb 7, 2023 · 6 comments · May be fixed by #567
Open

Add command to furyctl to print all KFD available versions #210

g-iannelli opened this issue Feb 7, 2023 · 6 comments · May be fixed by #567
Assignees
Labels
enhancement New feature or request size/M

Comments

@g-iannelli
Copy link
Contributor

Add command to furyctl to print all KFD available versions.

E.g. furyctl info distro versions

@ralgozino ralgozino added this to the furyctl-ng-beta2 milestone Feb 17, 2023
@omissis omissis removed this from the furyctl-ng-beta2 milestone Feb 28, 2023
@nutellinoit
Copy link
Member

nutellinoit commented Feb 4, 2025

And also, only the released and supported KFD versions

And as supported, we mean only "technically" supported

@Filo01
Copy link

Filo01 commented Feb 4, 2025

@nutellinoit

Edit: Disregard this comment, look at #210 (comment)

Questions about the implementation:

  • do we want to use furyctl info distro versions or something like else?
  • do we want the versions shown to be about what's deployed on the cluster, or what's inside the furyctl.yaml ?
    • in case we want to show what's deployed on the cluster, do we want to also show a notification message if there are unapplied modifications to the furyctl.yaml? (eg. Warning changes to the furyctl.yaml detected, use furyctl diff to show the diff )
  • do we want to eventually expand the furyctl info command with the other phases? (eg. furyctl info kubernetes versions, furyctl info plugins versions...)
  • do we want to eventually add other informations other than version in the command?
  • where do we lookup the applied configuration? from the secret furyctl-config.config or furyctl-config.rendered?

Proposed example output of command:

> furyctl info distro versions
INFO KFD distribution: v1.30.0
INFO KFD distribution type: OnPremises
INFO networking.calico: vX.X.X
INFO logging.prometheus: vX.X.X
INFO tracing.tempo: vX.X.X
INFO policy.gatekeeper: vX.X.X
INFO dr.velero: vX.X.X
INFO auth.pomerium: vX.X.X

@Filo01
Copy link

Filo01 commented Feb 4, 2025

ok, so we discussed it via chat with @nutellinoit
Let's disregard my previous comment.

This command should not show the modules version, only the available distro versions, without the need of an active kubernetes cluster. Basically it should fetch the fury-distribution tags on github except RCs.

Given this information I would propose a command like furyctl search distro similar to helm's helm repo search [NAME] so it's easier to understand that it's not an action on a cluster, but a search from an external source.

Proposed output

> furyctl search distro

AVAILABLE KUBERNETES FURY DISTRIBUTION VERSIONS  
------------------------------------------------  
VERSION     RELEASE DATE   STATUS      NOTES                    
v1.31.2     2024-12-15     stable      Latest stable release    
v1.31.1     2024-11-15     stable      Upgrade recommended      
v1.31.0     2024-10-15     stable      Upgrade recommended      
v1.30.2     2024-09-15     stable      Supported version        
v1.30.1     2024-08-15     stable      Upgrade recommended      
v1.29.2     2023-11-20     stable      Supported version        

@Filo01
Copy link

Filo01 commented Feb 5, 2025

Update after meeting of 04/02/2025

I'll open a PR for the new command furyctl get distro versions or something along those lines to be refined during code review.

The versions to show are only the supported ones (currently latest - 3)

in the output we decided to remove the 2 columns STATUS and NOTES :

> furyctl get distro versions

AVAILABLE KUBERNETES FURY DISTRIBUTION VERSIONS  
------------------------------------------------  
VERSION     RELEASE DATE  
v1.31.2     2024-12-15
v1.31.1     2024-11-15
v1.31.0     2024-10-15
v1.30.2     2024-09-15
v1.30.1     2024-08-15
v1.29.2     2023-11-20

@Filo01 Filo01 linked a pull request Feb 6, 2025 that will close this issue
@Filo01
Copy link

Filo01 commented Feb 6, 2025

Update, in chat @nutellinoit requested to add distribution kind compatibility check with the current furyctl

output:

> furyctl get distro-versions

INFO AVAILABLE KUBERNETES FURY DISTRIBUTION VERSIONS
-----------------------------------------------
VERSION	RELEASE DATE	EKS	KFD	ON PREMISE
v1.29.0	2024-04-24	X	X	X

@Filo01
Copy link

Filo01 commented Feb 11, 2025

via chat with @ralgozino we discussed how to best show that the furyctl is not compatible with new KFD releases.
As there is no functionality implemented, we decided to show an asterisk near all versions which report all kinds as not compatible from the check in compatibility.go

We also decided to not show the previous patch versions for each minor: if there is 1.31.5, we will not show 1.31.4, 1.31.3, 1.31.2 and so on

this the new output:

> furyctl get distro-versions

INFO list of currently supported KFD versions and their compatibility with this version of furyctl for each kind 
INFO 
-----------------------------------------------------------------------------------------
VERSION 		RELEASE DATE		EKSCluster	KFDDistribution	OnPremises	
-----------------------------------------------------------------------------------------
v1.31.0 		2024-12-24		Yes		Yes		Yes
v1.30.1 		2025-01-16		Yes		Yes		Yes
v1.29.6 		2025-01-16		Yes		Yes		Yes 

this the output with incompatible versions

> furyctl get distro-versions

INFO list of currently supported KFD versions and their compatibility with this version of furyctl for each kind 
INFO 
-----------------------------------------------------------------------------------------
VERSION 		RELEASE DATE		EKSCluster	KFDDistribution	OnPremises	
-----------------------------------------------------------------------------------------
v1.99.0*		2024-12-24		No		No		No
v1.30.1 		2025-01-16		Yes		Yes		Yes
v1.29.6 		2025-01-16		Yes		Yes		Yes 

* this usually indicates you are not using the latest version of furyctl, try updating or checking the online documentation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request size/M
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants