argocdapp 插件

该插件会创建一个在 Kubernetes 上 Argo CD Application 的自定义资源。

注意:

  • 在使用该插件前需要先安装 Argocd CD。你可以使用 helm-installer 插件 来安装它。
  • 目前该插件只支持 Helm chart 的配置方式。

用例

以下内容是该插件的示例配置文件。

YAML

  1. tools:
  2. # name of the tool
  3. - name: argocdapp
  4. # id of the tool instance
  5. instanceID: default
  6. # format: name.instanceID; If specified, dtm will make sure the dependency is applied first before handling this tool.
  7. dependsOn: [ "argocd.ARGOCD_INSTANCE_NAME" ]
  8. # options for the plugin
  9. options:
  10. # information on the ArgoCD Application
  11. app:
  12. # name of the ArgoCD Application
  13. name: hello
  14. # where the ArgoCD Application custom resource will be created
  15. namespace: argocd
  16. # destination of the ArgoCD Application
  17. destination:
  18. # on which server to deploy
  19. server: https://kubernetes.default.svc
  20. # in which namespace to deploy
  21. namespace: default
  22. # source of the application
  23. source:
  24. # which values file to use in the Helm chart
  25. valuefile: values.yaml
  26. # path of the Helm chart
  27. path: charts/go-hello-http
  28. # Helm chart repo URL, this is only an example, do not use this
  29. repoURL: YOUR_CHART_REPO_URL
  30. # Helm chart repo branch
  31. repoBranch: YOUR_CHART_REPO_BRANCH
  32. # if repo doesn't contain path, use imageRepo to create a helm config
  33. imageRepo:
  34. # imageRepo address
  35. url: IMAGE_REPO_ADDRESS
  36. user: IMAGE_REPO_OWNER
  37. # config inital image tag
  38. initalTag: IMAGE_REPO_TAG

自动创建 Helm 配置

如果你不想要自己创建 Helm 配置,该插件支持把 Devstream 提供的默认 Helm 配置上传到 source.path 的配置路径上,这样你就可以直接使用该插件。配置示例如下:

YAML

  1. ---
  2. tools:
  3. - name: go-webapp-argocd-deploy
  4. plugin: argocdapp
  5. dependsOn: ["repo-scaffolding.golang-github"]
  6. options:
  7. app:
  8. name: hello
  9. namespace: argocd
  10. destination:
  11. server: https://kubernetes.default.svc
  12. namespace: default
  13. source:
  14. valuefile: values.yaml
  15. path: charts/go-hello-http
  16. repoURL: https://github.com/devstream-io/testrepo.git
  17. imageRepo:
  18. url: http://test.barbor.com/library
  19. user: test_owner
  20. tag: "1.0.0"

这个示例配置将会把 Helm 配置 上传到 testrepo 仓库中,生成的 Helm 配置会使用 http://test.barbor.com/library/test_owner/hello:1.0.0 作为 Helm 应用的启动镜像。