Skip to content

Commit a4a97f0

Browse files
feat: print scoped resources in get proj cmd (argoproj#8550)
feat: print scoped resources in get proj cmd (argoproj#8550) Signed-off-by: pashavictorovich <[email protected]>
1 parent 1d88f03 commit a4a97f0

File tree

1 file changed

+24
-4
lines changed

1 file changed

+24
-4
lines changed

cmd/argocd/commands/project.go

+24-4
Original file line numberDiff line numberDiff line change
@@ -697,7 +697,7 @@ func printProjectLine(w io.Writer, p *v1alpha1.AppProject) {
697697
fmt.Fprintf(w, "%s\t%s\t%v\t%v\t%v\t%v\t%v\t%v\n", p.Name, p.Spec.Description, destinations, sourceRepos, clusterWhitelist, namespaceBlacklist, signatureKeys, formatOrphanedResources(p))
698698
}
699699

700-
func printProject(p *v1alpha1.AppProject) {
700+
func printProject(p *v1alpha1.AppProject, scopedRepositories []*v1alpha1.Repository, scopedClusters []*v1alpha1.Cluster) {
701701
const printProjFmtStr = "%-29s%s\n"
702702

703703
fmt.Printf(printProjFmtStr, "Name:", p.Name)
@@ -723,6 +723,16 @@ func printProject(p *v1alpha1.AppProject) {
723723
fmt.Printf(printProjFmtStr, "", p.Spec.SourceRepos[i])
724724
}
725725

726+
//Print scoped repositories
727+
scr0 := "<none>"
728+
if len(scopedRepositories) > 0 {
729+
scr0 = scopedRepositories[0].Repo
730+
}
731+
fmt.Printf(printProjFmtStr, "Scoped Repositories:", scr0)
732+
for i := 1; i < len(scopedRepositories); i++ {
733+
fmt.Printf(printProjFmtStr, "", scopedRepositories[i].Repo)
734+
}
735+
726736
// Print allowed cluster resources
727737
cwl0 := "<none>"
728738
if len(p.Spec.ClusterResourceWhitelist) > 0 {
@@ -733,6 +743,16 @@ func printProject(p *v1alpha1.AppProject) {
733743
fmt.Printf(printProjFmtStr, "", fmt.Sprintf("%s/%s", p.Spec.ClusterResourceWhitelist[i].Group, p.Spec.ClusterResourceWhitelist[i].Kind))
734744
}
735745

746+
//Print scoped clusters
747+
scc0 := "<none>"
748+
if len(scopedClusters) > 0 {
749+
scc0 = scopedClusters[0].Server
750+
}
751+
fmt.Printf(printProjFmtStr, "Scoped Clusters:", scc0)
752+
for i := 1; i < len(scopedClusters); i++ {
753+
fmt.Printf(printProjFmtStr, "", scopedClusters[i].Server)
754+
}
755+
736756
// Print denied namespaced resources
737757
rbl0 := "<none>"
738758
if len(p.Spec.NamespaceResourceBlacklist) > 0 {
@@ -774,15 +794,15 @@ func NewProjectGetCommand(clientOpts *argocdclient.ClientOptions) *cobra.Command
774794
projName := args[0]
775795
conn, projIf := headless.NewClientOrDie(clientOpts, c).NewProjectClientOrDie()
776796
defer argoio.Close(conn)
777-
p, err := projIf.Get(context.Background(), &projectpkg.ProjectQuery{Name: projName})
797+
detailedProject, err := projIf.GetDetailedProject(context.Background(), &projectpkg.ProjectQuery{Name: projName})
778798
errors.CheckError(err)
779799

780800
switch output {
781801
case "yaml", "json":
782-
err := PrintResource(p, output)
802+
err := PrintResource(detailedProject.Project, output)
783803
errors.CheckError(err)
784804
case "wide", "":
785-
printProject(p)
805+
printProject(detailedProject.Project, detailedProject.Repositories, detailedProject.Clusters)
786806
default:
787807
errors.CheckError(fmt.Errorf("unknown output format: %s", output))
788808
}

0 commit comments

Comments
 (0)