Skip to content

Commit 3611ea0

Browse files
author
Martin Jackson
committed
ArgoCD -> Argo CD per Jann
1 parent 5db786c commit 3611ea0

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

content/blog/2023-11-17-argo-configmanagement-plugins.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
date: 2023-11-17
3-
title: ArgoCD Config Management Plugins in Validated Patterns
3+
title: Argo CD Config Management Plugins in Validated Patterns
44
summary: Validated Patterns now support sidecar configmanagement plugins in ArgoCD
55
author: Martin Jackson
66
blog_tags:
@@ -13,17 +13,17 @@ blog_tags:
1313
aliases: /2023/11/17/argocd-cmps/
1414
---
1515

16-
# ArgoCD Configuration Management Plugins and the Validated Patterns Framework
16+
# Argo CD Configuration Management Plugins and the Validated Patterns Framework
1717

1818
## Problem
1919

20-
ArgoCD has a number of mechanisms for facilitating Kubernetes application deployments besides applying raw manifests.
21-
The most prominent mechanisms it uses are Kustomize (which is built into kubectl now) and Helm (which is an external tool still). If the user has additional needs for manifest generation that cannot be met by either of these tools, ArgoCD
20+
Argo CD has a number of mechanisms for facilitating Kubernetes application deployments besides applying raw manifests.
21+
The most prominent mechanisms it uses are Kustomize (which is built into kubectl now) and Helm (which is an external tool still). If the user has additional needs for manifest generation that cannot be met by either of these tools, Argo CD
2222
provides a mechanism called Configuration Management Plugins that allow for editing the manifest stream either in
2323
addition to or in lieu of Helm or Kustomize. This mechanism allows, for example, using both Helm and Kustomize on the
2424
same template files and/or bases at the same time. If the user needs a custom tool, such as [PolicyGen](https://cloud.redhat.com/blog/generating-governance-policies-using-kustomize-and-gitops) to be involved in generating Kubernetes
2525
manifests, this feature enables its use. Similarly, another use for this feature is to enable the
26-
[ArgoCD Vault Plugin](https://github.com/argoproj-labs/argocd-vault-plugin), which works by substituting specific tags
26+
[Argo CD Vault Plugin](https://github.com/argoproj-labs/argocd-vault-plugin), which works by substituting specific tags
2727
in manifests. This allows users to avoid storing secrets directly in git repositories, which is one of the key needs
2828
of an operational GitOps strategy.
2929

@@ -85,7 +85,7 @@ the argocd kind supports this, so do we.)
8585
`configManagementPlugins` is an array. Each element will add one sidecar plugin to the GitOps repo-server pod the
8686
clusterGroup chart controls. In the `argoCD` instance it primarily adds elements to the `sidecarContainers` property.
8787

88-
The `name` element is the name of the plugin - this is how applications can specifically request that ArgoCD/GitOps
88+
The `name` element is the name of the plugin - this is how applications can specifically request that Argo CD/GitOps
8989
process the manifests. This name is also used to compose a configmap name if the user specifies the pluginConfig string.
9090

9191
The `image` element is the image the sidecar will use. The repo-server default initContainer will copy the argocd server
@@ -102,8 +102,8 @@ be injected into the sidecar as `plugin.yaml` via configmap. While it is possibl
102102
to the plugin.yaml would require the sidecar image to be rebuilt and redeployed, and the repo-server pod restarted. It
103103
is a documented method in the upstream documentation, so the framework allows it.
104104

105-
Please note that the `preserveFileMode` setting in the example plugin config is not yet supported in ArgoCD 2.6/GitOps
106-
Operator 1.8, but is in ArgoCD 2.8/GitOps Operator 1.10. The main use for this property is to call executables inside
105+
Please note that the `preserveFileMode` setting in the example plugin config is not yet supported in Argo CD 2.6/GitOps
106+
Operator 1.8, but is in Argo CD 2.8/GitOps Operator 1.10. The main use for this property is to call executables inside
107107
the repository as post-renderers (as this example does). Please be aware that there are security concerns associated
108108
with doing this. The suggested practice is to ship any executable programs (including shell scripts, Python scripts
109109
etc.) as part of the sidecar image.
@@ -135,10 +135,10 @@ Finally, it was unclear that there would be significant demand for such a featur
135135

136136
Of course, there is some common wisdom about making assumptions in situations like this. Two major factors caused us to
137137
revisit the question of config management plugins in the framework. First, one of our prospective users clearly had an
138-
architectural need of the framework that was best met using config management plugins; and upstream, ArgoCD had come up
138+
architectural need of the framework that was best met using config management plugins; and upstream, Argo CD had come up
139139
with an entirely new mechanism for implementing CMPs using sidecars. This took the question of rebuilding or
140140
substituting the repo-server image off the table; but required some changes in the framework to accomodate the new
141-
mechanism. Secondly, we learned that the existing plugin framework had been deprecated and was at risk of being removed. It was actually removed upstream in ArgoCD 2.9.
141+
mechanism. Secondly, we learned that the existing plugin framework had been deprecated and was at risk of being removed. It was actually removed upstream in Argo CD 2.9.
142142

143143
Now that the framework supports user-specified sidecar plugins, we would love to hear your feedback. Does our adoption
144144
of CMP 2.0 meet your needs? Please engage with us in our [upstream issue tracker](https://github.com/validatedpatterns/common/issues).

0 commit comments

Comments
 (0)