in lib/addons/argocd/application.ts [12:53]
public generate(deployment: GitOpsApplicationDeployment, syncOrder?: number) {
const flatValues = dot.dot(deployment.values);
const nameValues = [];
for( let key in flatValues) {
nameValues.push({ name: key, value: `${flatValues[key]}`});
}
const repository = deployment.repository ?? this.generateDefaultRepo(deployment.name);
return {
apiVersion: "argoproj.io/v1alpha1",
kind: "Application",
metadata: {
name: deployment.name,
namespace: 'argocd',
annotations: {
"argocd.argoproj.io/sync-wave": syncOrder == undefined ? "-1" : `${syncOrder}`
}
},
spec: {
destination: {
namespace: deployment.namespace,
server: "https://kubernetes.default.svc"
},
project: "default", //TODO: make project configurable
source: {
helm: {
valueFiles: ["values.yaml"],
parameters: nameValues
},
path: repository.path,
repoURL: repository.repoUrl,
targetRevision: repository.targetRevision ?? 'HEAD'
},
syncPolicy: {
automated: {}
}
}
};
}