@@ -678,6 +678,121 @@ func TestAlphaToBetaConversion(t *testing.T) {
678678 }
679679 }),
680680 },
681+ {
682+ name : "ArgoCD Example - Agent Agent Basic" ,
683+ input : makeTestArgoCDAlpha (func (cr * ArgoCD ) {
684+ enabled := true
685+ cr .Spec .ArgoCDAgent = & ArgoCDAgentSpec {
686+ Agent : & AgentSpec {
687+ Enabled : & enabled ,
688+ Creds : "mtls:any" ,
689+ Client : & AgentClientSpec {
690+ PrincipalServerAddress : "argocd-agent-principal.example.com" ,
691+ PrincipalServerPort : "443" ,
692+ Mode : "managed" ,
693+ },
694+ },
695+ }
696+ }),
697+ expectedOutput : makeTestArgoCDBeta (func (cr * v1beta1.ArgoCD ) {
698+ enabled := true
699+ cr .Spec .ArgoCDAgent = & v1beta1.ArgoCDAgentSpec {
700+ Agent : & v1beta1.AgentSpec {
701+ Enabled : & enabled ,
702+ Creds : "mtls:any" ,
703+ Client : & v1beta1.AgentClientSpec {
704+ PrincipalServerAddress : "argocd-agent-principal.example.com" ,
705+ PrincipalServerPort : "443" ,
706+ Mode : "managed" ,
707+ },
708+ },
709+ }
710+ }),
711+ },
712+ {
713+ name : "ArgoCD Example - Agent Agent Full Configuration" ,
714+ input : makeTestArgoCDAlpha (func (cr * ArgoCD ) {
715+ enabled := true
716+ enableWebSocket := true
717+ enableCompression := true
718+ insecure := true
719+ cr .Spec .ArgoCDAgent = & ArgoCDAgentSpec {
720+ Agent : & AgentSpec {
721+ Enabled : & enabled ,
722+ Creds : "mtls:any" ,
723+ LogLevel : "info" ,
724+ LogFormat : "text" ,
725+ Image : "quay.io/user/argocd-agent:v1" ,
726+ Client : & AgentClientSpec {
727+ PrincipalServerAddress : "argocd-agent-principal.example.com" ,
728+ PrincipalServerPort : "443" ,
729+ Mode : "managed" ,
730+ EnableWebSocket : & enableWebSocket ,
731+ EnableCompression : & enableCompression ,
732+ KeepAliveInterval : "30s" ,
733+ },
734+ Redis : & AgentRedisSpec {
735+ ServerAddress : "redis:6379" ,
736+ },
737+ TLS : & AgentTLSSpec {
738+ SecretName : "agent-tls-secret" ,
739+ RootCASecretName : "agent-ca-secret" ,
740+ Insecure : & insecure ,
741+ },
742+ },
743+ }
744+ }),
745+ expectedOutput : makeTestArgoCDBeta (func (cr * v1beta1.ArgoCD ) {
746+ enabled := true
747+ enableWebSocket := true
748+ enableCompression := true
749+ insecure := true
750+ cr .Spec .ArgoCDAgent = & v1beta1.ArgoCDAgentSpec {
751+ Agent : & v1beta1.AgentSpec {
752+ Enabled : & enabled ,
753+ Creds : "mtls:any" ,
754+ LogLevel : "info" ,
755+ LogFormat : "text" ,
756+ Image : "quay.io/user/argocd-agent:v1" ,
757+ Client : & v1beta1.AgentClientSpec {
758+ PrincipalServerAddress : "argocd-agent-principal.example.com" ,
759+ PrincipalServerPort : "443" ,
760+ Mode : "managed" ,
761+ EnableWebSocket : & enableWebSocket ,
762+ EnableCompression : & enableCompression ,
763+ KeepAliveInterval : "30s" ,
764+ },
765+ Redis : & v1beta1.AgentRedisSpec {
766+ ServerAddress : "redis:6379" ,
767+ },
768+ TLS : & v1beta1.AgentTLSSpec {
769+ SecretName : "agent-tls-secret" ,
770+ RootCASecretName : "agent-ca-secret" ,
771+ Insecure : & insecure ,
772+ },
773+ },
774+ }
775+ }),
776+ },
777+ {
778+ name : "ArgoCD Example - Agent Agent Disabled" ,
779+ input : makeTestArgoCDAlpha (func (cr * ArgoCD ) {
780+ enabled := false
781+ cr .Spec .ArgoCDAgent = & ArgoCDAgentSpec {
782+ Agent : & AgentSpec {
783+ Enabled : & enabled ,
784+ },
785+ }
786+ }),
787+ expectedOutput : makeTestArgoCDBeta (func (cr * v1beta1.ArgoCD ) {
788+ enabled := false
789+ cr .Spec .ArgoCDAgent = & v1beta1.ArgoCDAgentSpec {
790+ Agent : & v1beta1.AgentSpec {
791+ Enabled : & enabled ,
792+ },
793+ }
794+ }),
795+ },
681796 }
682797
683798 for _ , test := range tests {
@@ -939,6 +1054,127 @@ func TestBetaToAlphaConversion(t *testing.T) {
9391054 }
9401055 }),
9411056 },
1057+ {
1058+ name : "ArgoCD Example - Agent Agent Basic" ,
1059+ input : makeTestArgoCDBeta (func (cr * v1beta1.ArgoCD ) {
1060+ enabled := true
1061+ cr .Spec .ArgoCDAgent = & v1beta1.ArgoCDAgentSpec {
1062+ Agent : & v1beta1.AgentSpec {
1063+ Enabled : & enabled ,
1064+ Creds : "mtls:any" ,
1065+ Client : & v1beta1.AgentClientSpec {
1066+ PrincipalServerAddress : "argocd-agent-principal.example.com" ,
1067+ PrincipalServerPort : "443" ,
1068+ Mode : "managed" ,
1069+ },
1070+ },
1071+ }
1072+ }),
1073+ expectedOutput : makeTestArgoCDAlpha (func (cr * ArgoCD ) {
1074+ enabled := true
1075+ cr .Spec .ArgoCDAgent = & ArgoCDAgentSpec {
1076+ Agent : & AgentSpec {
1077+ Enabled : & enabled ,
1078+ Creds : "mtls:any" ,
1079+ Client : & AgentClientSpec {
1080+ PrincipalServerAddress : "argocd-agent-principal.example.com" ,
1081+ PrincipalServerPort : "443" ,
1082+ Mode : "managed" ,
1083+ },
1084+ },
1085+ }
1086+ }),
1087+ },
1088+ {
1089+ name : "ArgoCD Example - Agent Agent Full Configuration" ,
1090+ input : makeTestArgoCDBeta (func (cr * v1beta1.ArgoCD ) {
1091+ enabled := true
1092+ enableWebSocket := true
1093+ enableCompression := true
1094+ insecure := true
1095+ cr .Spec .ArgoCDAgent = & v1beta1.ArgoCDAgentSpec {
1096+ Agent : & v1beta1.AgentSpec {
1097+ Enabled : & enabled ,
1098+ Creds : "mtls:any" ,
1099+ LogLevel : "info" ,
1100+ LogFormat : "text" ,
1101+ Image : "quay.io/user/argocd-agent:v1" ,
1102+ Env : []corev1.EnvVar {
1103+ {Name : "TEST_ENV" , Value : "test-value" },
1104+ },
1105+ Client : & v1beta1.AgentClientSpec {
1106+ PrincipalServerAddress : "argocd-agent-principal.example.com" ,
1107+ PrincipalServerPort : "443" ,
1108+ Mode : "managed" ,
1109+ EnableWebSocket : & enableWebSocket ,
1110+ EnableCompression : & enableCompression ,
1111+ KeepAliveInterval : "30s" ,
1112+ },
1113+ Redis : & v1beta1.AgentRedisSpec {
1114+ ServerAddress : "redis:6379" ,
1115+ },
1116+ TLS : & v1beta1.AgentTLSSpec {
1117+ SecretName : "agent-tls-secret" ,
1118+ RootCASecretName : "agent-ca-secret" ,
1119+ Insecure : & insecure ,
1120+ },
1121+ },
1122+ }
1123+ }),
1124+ expectedOutput : makeTestArgoCDAlpha (func (cr * ArgoCD ) {
1125+ enabled := true
1126+ enableWebSocket := true
1127+ enableCompression := true
1128+ insecure := true
1129+ cr .Spec .ArgoCDAgent = & ArgoCDAgentSpec {
1130+ Agent : & AgentSpec {
1131+ Enabled : & enabled ,
1132+ Creds : "mtls:any" ,
1133+ LogLevel : "info" ,
1134+ LogFormat : "text" ,
1135+ Image : "quay.io/user/argocd-agent:v1" ,
1136+ Env : []corev1.EnvVar {
1137+ {Name : "TEST_ENV" , Value : "test-value" },
1138+ },
1139+ Client : & AgentClientSpec {
1140+ PrincipalServerAddress : "argocd-agent-principal.example.com" ,
1141+ PrincipalServerPort : "443" ,
1142+ Mode : "managed" ,
1143+ EnableWebSocket : & enableWebSocket ,
1144+ EnableCompression : & enableCompression ,
1145+ KeepAliveInterval : "30s" ,
1146+ },
1147+ Redis : & AgentRedisSpec {
1148+ ServerAddress : "redis:6379" ,
1149+ },
1150+ TLS : & AgentTLSSpec {
1151+ SecretName : "agent-tls-secret" ,
1152+ RootCASecretName : "agent-ca-secret" ,
1153+ Insecure : & insecure ,
1154+ },
1155+ },
1156+ }
1157+ }),
1158+ },
1159+ {
1160+ name : "ArgoCD Example - Agent Agent Disabled" ,
1161+ input : makeTestArgoCDBeta (func (cr * v1beta1.ArgoCD ) {
1162+ enabled := false
1163+ cr .Spec .ArgoCDAgent = & v1beta1.ArgoCDAgentSpec {
1164+ Agent : & v1beta1.AgentSpec {
1165+ Enabled : & enabled ,
1166+ },
1167+ }
1168+ }),
1169+ expectedOutput : makeTestArgoCDAlpha (func (cr * ArgoCD ) {
1170+ enabled := false
1171+ cr .Spec .ArgoCDAgent = & ArgoCDAgentSpec {
1172+ Agent : & AgentSpec {
1173+ Enabled : & enabled ,
1174+ },
1175+ }
1176+ }),
1177+ },
9421178 }
9431179 for _ , test := range tests {
9441180 t .Run (test .name , func (t * testing.T ) {
0 commit comments