Giter VIP home page Giter VIP logo

argocd-extensions's Introduction

Deprecation Notice

This repo is now deprecated and no further changes will be made. The current alternative for installing Argo CD extensions is by defining an init-container in the Argo CD API server using the argocd-extension-installer image provided by the following repo:

This is an example about how to use it:

Argo CD Extensions

To enable Extensions for your Argo CD cluster will require just a single kubectl apply.

Here we provide a way to extend Argo CD such that it can provide resource-specific visualizations, capabilities and interactions in the following ways:

  • Richer and context-sensitive UI components can be displayed in the user interface about custom resources.
  • Custom health checks can be configured to assess the health of the resource.
  • Custom actions could be performed to manipulate resources in predefined ways.

Motivation

Argo CD is commonly used as a dashboard to Kubernetes applications. The current UI is limited in that it only displays very general information about Kubernetes objects. Any special visualizations can currently only be done native Kubernetes kinds.

For custom resources, Argo CD does not by default have any special handling or understanding of CRs, such as how to assess health of the object or visualizations. When examining a resource, a user can only see a YAML view of the object, which is not helpful unless they are familiar with the object's spec and status information.

Note that Argo CD does currently have a resource customizations feature, which allows operators to define health checks and actions via lua scripts in the argocd-cm ConfigMap. However, the current mechanism of configuring resource customizations is difficult and highly error prone.

This proposal would allow operators to more easily configure Argo CD to understand custom resources, as well as provide more powerful visualization of objects.'

Goals

  • Enable new visualizations in the UI for resources that do not have baked-in support
  • Extensions can be configured by operators at runtime, without a feature being built directly into Argo CD, and with no need to recompile UI code.
  • Extensions should be easy to develop and install (via an ArgoCDExtension CR)
  • Replace current resource customizations in argocd-cm ConfigMap with extensions

Getting Started

The simplest way to install the extension controller is to use Kustomize to bundle Argo CD and the extensions controller manifests together:

apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
# base Argo CD components
- https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/ha/install.yaml

components:
# extensions controller component
- https://github.com/argoproj-labs/argocd-extensions/manifests

Store the YAML above into kustomization.yaml file and use the following command to install manifests:

kubectl create ns argocd && kustomize build . | kubectl apply -f - -n argocd

argocd-extensions's People

Contributors

alexmt avatar ashutosh16 avatar crenshaw-dev avatar leoluz avatar rbreeze avatar zachaller avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

argocd-extensions's Issues

Supporting More than one extension per resource

Summary

The current ArgoCD extension supports only one extension per resource. extension.js will overwrite the previous one.

What change needs making?

Use Cases

When would you use this?


Message from the maintainers:

Impacted by this bug? Give it a ๐Ÿ‘. We prioritise the issues with the most ๐Ÿ‘.

can't using extensions to enhance dashboard ui in argo-cd

Summary

What happened/what you expected to happen?
I have to using this extensions package to apply to k8s, but we can't see argo-rollout dashboard UI in argo-cd web-ui

image

thank you

Diagnostics

What Kubernetes provider are you using?

What version of Argo CD and Argo CD Extensions are you running?
ArgoCD:v2.7.3-ha
Argo-rollouts: v1.5.1
argo-extensions: v0.2.1

# Paste the logs from the extensions controller

# Logs for the entire controller:
kubectl logs -n argocd deployment/argocd-extensions-controller

Message from the maintainers:

Impacted by this bug? Give it a ๐Ÿ‘. We prioritise the issues with the most ๐Ÿ‘.

Automate updating image tags

Summary

Automate updating image tags in the kustomization.yaml files.

Use Cases

Otherwise we'll forget. And when we don't forget, we have to manually do this: #22


Message from the maintainers:

Impacted by this bug? Give it a ๐Ÿ‘. We prioritise the issues with the most ๐Ÿ‘.

can't build manifests with kustomize command

Summary

What happened/what you expected to happen?
I have to checkout this repos, and I using kustomize command, then got something error here,
cloud you help me check it? thanks a lot!

C:\demo\zero-downtime\argocd-extensions>dir
 Volume in drive C has no label.
 Volume Serial Number is 460C-FBA4

 Directory of C:\demo\zero-downtime\argocd-extensions

05/26/2023  10:40    <DIR>          .
05/26/2023  10:34    <DIR>          ..
05/26/2023  10:34               156 .dockerignore
05/26/2023  10:34    <DIR>          .github
05/26/2023  10:34               392 .gitignore
05/26/2023  10:34    <DIR>          api
05/26/2023  10:37                 0 argocd-extensions-install.yaml
05/26/2023  10:34    <DIR>          controllers
05/26/2023  10:34               617 Dockerfile
05/26/2023  10:34    <DIR>          docs
05/26/2023  10:34             5,067 go.mod
05/26/2023  10:34            84,612 go.sum
05/26/2023  10:34    <DIR>          hack
05/26/2023  10:34             2,894 main.go
05/26/2023  10:34             3,494 Makefile
05/26/2023  10:37    <DIR>          manifests
05/26/2023  10:34    <DIR>          pkg
05/26/2023  10:34               364 PROJECT
05/26/2023  10:34             2,696 README.md
05/26/2023  10:46                 0 test.yaml
              11 File(s)        100,292 bytes
               9 Dir(s)  146,962,792,448 bytes free

C:\demo\zero-downtime\argocd-extensions>kustomize build manifests
# Warning: 'patchesStrategicMerge' is deprecated. Please use 'patches' instead. Run 'kustomize edit fix' to update your Kustomization automatically.
Error: accumulating components: accumulateDirectory: "recursed accumulation of path 'C:\\demo\\zero-downtime\\argocd-extensions\\manifests\\argocd-server-patch': no matches for Id Deployment.v1.apps/argocd-server.[noNs]; failed to find unique target for patch Deployment.v1.apps/argocd-server.[noNs]"

Diagnostics

What Kubernetes provider are you using?
we using native kubernetes version: 1.26.4
What version of Argo CD and Argo CD Extensions are you running?
Argo-CD: v2.7.3
Argo-Rollouts: v1.5.1
kustomize: v5.0.3

# Paste the logs from the extensions controller

# Logs for the entire controller:
kubectl logs -n argocd deployment/argocd-extensions-controller

Message from the maintainers:

Impacted by this bug? Give it a ๐Ÿ‘. We prioritise the issues with the most ๐Ÿ‘.

Argo Notifications Engine integration

The Argo Notifications Engine makes it easy to add notifications support for K8S controllers.

It would be great if Argo CD Extensions used Notifications Engine to make this even easier by allowing Extensions administrators to configure notifications directly in the ArgoCDExtension CR:

apiVersion: v1
kind: ArgoCDExtension
metadata:
  name: rollout-extension
spec:
  repository: https://github.com/argoproj-labs/argocd-extensions-library
  revision: HEAD
  path: rollout
  notifications:
    configMap: argocd-notifications-cm

Using Notifications Engine, it may also be possible to allow configuration of notifications for Extended resources in the UI.

Adding the ability to download argocd extensions through a proxy

Summary

Adding the ability to download argocd extensions through a proxy

Use Cases

Allows using extensions in networks behind a proxy


Message from the maintainers:

Impacted by this bug? Give it a ๐Ÿ‘. We prioritise the issues with the most ๐Ÿ‘.

System Level Extensions

According to this doc there are different types of extensions,
Is this controller support "System Level Extensions" ? which i can add new components to the ArgoCD side bar

Add SECURITY.md

The Argo maintainers recently agreed to require all Argoproj Labs project repositories to contain a SECURITY.md file which documents:

  • Contact information for reporting security vulnerabilities
  • Some minimal information about policies, practices, with possibly links to further documentation with more details

This will help direct vulnerability reporting to the right parties which can fix the issue.

You are free to use the following as examples/templates:

Also, please note that in the future we are exploring a requirement that argoproj-labs projects perform a CII self-assessment to better inform its users about which security best practices are being followed.

Add Container Security Context by Default

Summary

Currently it seems that

capabilites:
  drop:
    - ALL

is missing from the container security context. If the container does not require those capabilities, would it be possible to drop them by default?

Use Cases

When would you use this?

If this is implemented by default I believe that it would increase the security posture of every cluster that uses this.


Message from the maintainers:

Impacted by this bug? Give it a ๐Ÿ‘. We prioritise the issues with the most ๐Ÿ‘.

Update Dockerfile golang version

Summary

golang version needs to be updated.

Use Cases

vulnerability remediation in the container image.


Message from the maintainers:

Impacted by this bug? Give it a ๐Ÿ‘. We prioritise the issues with the most ๐Ÿ‘.

Check downloaded resources integrity

When you pull a resource down, you should check the resources hash against a known good value, in case the third-party is compromised and an attacker replaces the resource (Javascript) with something bad.

Basically this:

https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity

<script src="https://example.com/example-framework.js"
        integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxy9rx7HNQlGYl1kPzQho1wx4JwY8wC"
        crossorigin="anonymous"></script>

Could be done like this:

apiVersion: argoproj.io/v1alpha1
kind: ArgoCDExtension
metadata:
  name: hello-world
  finalizers:
    - extensions-finalizer.argocd.argoproj.io
spec:
  sources:
    - git:
        url: https://github.com/argoproj-labs/argocd-example-extension.git
    - web:
        url: https://github.com/argoproj-labs/argocd-example-extension/releases/download/v0.1.0/extension.tar
        integrity: sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxy9rx7HNQlGYl1kPzQho1wx4JwY8wC

Support downloading of extensions from private repositories

Summary

From what I can tell, it is impossible to host an extension in a private github repository, or through a web url requiring authentication. It would be helpful for organizations hosting their own extensions to provide authentication credentials via Secrets, similar to ArgoCD repo server.

Use Cases

Extensions would be a useful feature for organizations to develop frontend components specific to their requirements. Many organizations would want to host these extensions privately for their internal use only.


Message from the maintainers:

Impacted by this bug? Give it a ๐Ÿ‘. We prioritise the issues with the most ๐Ÿ‘.

No provision to specify credential secret to get the extension.tar file located in a Nexus repository.

Describe the bug

There is no provision to specify credential secret to provide credentials to get the extension.tar file located in nexus repo.

apiVersion: argoproj.io/v1alpha1
kind: ArgoCDExtension
metadata:
name: hello-world
finalizers:
- extensions-finalizer.argocd.argoproj.io
spec:
sources:
- git:
url: https://github.com/argoproj-labs/argocd-example-extension.git
- web:
url: https://github.com/argoproj-labs/argocd-example-extension/releases/download/v0.1.0/extension.tar

Related helm chart
argo-cd

To Reproduce
in argo-cd helm -> Values.yaml -> server -> extensions: -> contents:
scenario 1:
There is no provision in argo-cd helm values.yaml (in extensions: section) to specify secrets if we have to fetch extension.tar file from nexus. (Our organization does not allow to put .tar file in github repo so we have to store the extension.tar file in nexus and read it from nexus)
ex:- in the above mentioned manifest, how to read extension.tar from nexus using nexus pull secret

scenario 2:
where and how to specify credentials secret if we have to read extension ui folder from github PRIVATE repo?
ex:- in the above mentioned manifest, if "argocd-example-extension.git" is in private github repo, how to provide github auth creds

Expected behavior:
Expecting secrets provision in argo-cd values.yaml for extension source for git and web options

Image scanning has detected CRITICAL vulnerabilities

Summary

As part of our onboarding process we scan for fixable critical vulnerabilities the image we consume.
We detected the lates version of argocd-extensions version v0.2.1 contains critical vulnerabilities

Diagnostics

โฏ docker run aquasec/trivy image --ignore-unfixed --exit-code 1 --severity CRITICAL ghcr.io/argoproj-labs/argocd-extensions:v0.2.1
2023-06-15T13:53:41.538Z        INFO    Need to update DB
2023-06-15T13:53:41.538Z        INFO    DB Repository: ghcr.io/aquasecurity/trivy-db
2023-06-15T13:53:41.538Z        INFO    Downloading DB...
2023-06-15T13:53:51.129Z       INFO    Vulnerability scanning is enabled
2023-06-15T13:53:51.129Z        INFO    Secret scanning is enabled
2023-06-15T13:53:51.129Z        INFO    If your scanning is slow, please try '--scanners vuln' to disable secret scanning
2023-06-15T13:53:51.129Z        INFO    Please see also https://aquasecurity.github.io/trivy/v0.42/docs/secret/scanning/#recommendation for faster secret detection
2023-06-15T13:53:58.777Z        INFO    Detected OS: alpine
2023-06-15T13:53:58.777Z        INFO    Detecting Alpine vulnerabilities...
2023-06-15T13:53:58.779Z        INFO    Number of language-specific files: 1
2023-06-15T13:53:58.779Z        INFO    Detecting gobinary vulnerabilities...

ghcr.io/argoproj-labs/argocd-extensions:v0.2.1 (alpine 3.16.2)
==============================================================
Total: 7 (CRITICAL: 7)

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚        Library         โ”‚ Vulnerability  โ”‚ Severity โ”‚ Installed Version โ”‚ Fixed Version โ”‚                           Title                           โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ git                    โ”‚ CVE-2022-23521 โ”‚ CRITICAL โ”‚ 2.36.3-r0         โ”‚ 2.36.4-r0     โ”‚ git: gitattributes parsing integer overflow               โ”‚
โ”‚                        โ”‚                โ”‚          โ”‚                   โ”‚               โ”‚ https://avd.aquasec.com/nvd/cve-2022-23521                โ”‚
โ”‚                        โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค          โ”‚                   โ”‚               โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                        โ”‚ CVE-2022-41903 โ”‚          โ”‚                   โ”‚               โ”‚ git: Heap overflow in `git archive`, `git log --format`   โ”‚
โ”‚                        โ”‚                โ”‚          โ”‚                   โ”‚               โ”‚ leading to RCE...                                         โ”‚
โ”‚                        โ”‚                โ”‚          โ”‚                   โ”‚               โ”‚ https://avd.aquasec.com/nvd/cve-2022-41903                โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค          โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ libcurl                โ”‚ CVE-2023-23914 โ”‚          โ”‚ 7.83.1-r4         โ”‚ 7.83.1-r6     โ”‚ HSTS ignored on multiple requests                         โ”‚
โ”‚                        โ”‚                โ”‚          โ”‚                   โ”‚               โ”‚ https://avd.aquasec.com/nvd/cve-2023-23914                โ”‚
โ”‚                        โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค          โ”‚                   โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                        โ”‚ CVE-2023-28322 โ”‚          โ”‚                   โ”‚ 8.1.0-r0      โ”‚ more POST-after-PUT confusion                             โ”‚
โ”‚                        โ”‚                โ”‚          โ”‚                   โ”‚               โ”‚ https://avd.aquasec.com/nvd/cve-2023-28322                โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค          โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ openssh-client-common  โ”‚ CVE-2023-28531 โ”‚          โ”‚ 9.0_p1-r2         โ”‚ 9.0_p1-r3     โ”‚ openssh: smartcard keys to ssh-agent without the intended โ”‚
โ”‚                        โ”‚                โ”‚          โ”‚                   โ”‚               โ”‚ per-hop destination constraints.                          โ”‚
โ”‚                        โ”‚                โ”‚          โ”‚                   โ”‚               โ”‚ https://avd.aquasec.com/nvd/cve-2023-28531                โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค                โ”‚          โ”‚                   โ”‚               โ”‚                                                           โ”‚
โ”‚ openssh-client-default โ”‚                โ”‚          โ”‚                   โ”‚               โ”‚                                                           โ”‚
โ”‚                        โ”‚                โ”‚          โ”‚                   โ”‚               โ”‚                                                           โ”‚
โ”‚                        โ”‚                โ”‚          โ”‚                   โ”‚               โ”‚                                                           โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค                โ”‚          โ”‚                   โ”‚               โ”‚                                                           โ”‚
โ”‚ openssh-keygen         โ”‚                โ”‚          โ”‚                   โ”‚               โ”‚                                                           โ”‚
โ”‚                        โ”‚                โ”‚          โ”‚                   โ”‚               โ”‚                                                           โ”‚
โ”‚                        โ”‚                โ”‚          โ”‚                   โ”‚               โ”‚                                                           โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Message from the maintainers:

Impacted by this bug? Give it a ๐Ÿ‘. We prioritise the issues with the most ๐Ÿ‘.

app view example

Summary

have an example for extension in app view?

I try to write some examples for app view, but I don't have any idea what use for that:

https://github.com/templarfelix/argocd-rollouts-extension

code example

((window) => {
  const component = () => {
    return React.createElement(
      "div",
      { style: { padding: "10px" } },
      "Hello World"
    );
  };
  window.extensionsAPI.registerAppViewExtension(
    component,
    "Test Ext",
    "fa-flask"
  );
})(window);

Use Cases

create an app view for argo-rollouts details


Message from the maintainers:

Impacted by this bug? Give it a ๐Ÿ‘. We prioritise the issues with the most ๐Ÿ‘.

Integrate argocd-extensions into official argocd helm chart

Summary

Integrate argocd-extensions into official argocd helm chart (put it behind variable?)

Use Cases

Kustomize is PITA. Please make it easier to install extensions ;)


Message from the maintainers:

Impacted by this bug? Give it a ๐Ÿ‘. We prioritise the issues with the most ๐Ÿ‘.

Failed to load rollout extension: Something went wrong with Extension for Rollout

Summary

What happened/what you expected to happen?

When clicking on the More tab on a rollout object, we are expected to see the rollout page, however it shows error: Something went wrong with Extension for Rollout instead
Screenshot 2022-02-25 at 6 20 31 PM

Diagnostics

What Kubernetes provider are you using?
GKE, 1.20

What version of Argo CD and Argo CD Extensions are you running?
ArgoCD v2.2.5+8f981cc
ArgoCD Extensions v0.1.0
rollout extension v0.1.0

# Paste the logs from the extensions controller

I0225 01:04:27.631432       1 request.go:665] Waited for 1.040301432s due to client-side throttling, not priority and fairness, request: GET:https://10.6.75.1:443/apis/networking.k8s.io/v1?timeout=32s
2022-02-25T01:04:27.835Z    INFO    setup    starting manager
2022-02-25T01:04:27.836Z    INFO    controller.argocdextension    Starting EventSource    {"reconciler group": "argoproj.io", "reconciler kind": "ArgoCDExtension", "source": "kind source: /, Kind="}
2022-02-25T01:04:27.836Z    INFO    controller.argocdextension    Starting Controller    {"reconciler group": "argoproj.io", "reconciler kind": "ArgoCDExtension"}
2022-02-25T01:04:27.937Z    INFO    controller.argocdextension    Starting workers    {"reconciler group": "argoproj.io", "reconciler kind": "ArgoCDExtension", "worker count": 1}
2022-02-25T01:04:27.938Z    INFO    controller.argocdextension    Sources has not been downloaded yet, redownloading...    {"reconciler group": "argoproj.io", "reconciler kind": "ArgoCDExtension", "name": "argo-rollouts", "namespace": "argocd"}
2022-02-25T01:04:29.346Z    INFO    controller.argocdextension    Successfully downloaded all sources.    {"reconciler group": "argoproj.io", "reconciler kind": "ArgoCDExtension", "name": "argo-rollouts", "namespace": "argocd"}

Also seeing this error in developer tools:
Screenshot 2022-02-25 at 6 26 50 PM

Just a guess: could this be caused by the fact that we are using WorkloadRef ?


Message from the maintainers:

Impacted by this bug? Give it a ๐Ÿ‘. We prioritise the issues with the most ๐Ÿ‘.

Arm64 : exec format error

Summary

I deploy the Argo-CD helm chart and enable extensions :

server:
  extensions:
      enabled: true

Diagnostics

What Kubernetes provider are you using?
k3s

What version of Argo CD and Argo CD Extensions are you running?

  server:
    Container ID:  containerd://4fe6fba7f318b161c23df5098ebe98b7436a5fec9fbb1d2be3c11eef2d2461dc
    Image:         quay.io/argoproj/argocd:v2.4.14
    Image ID:      quay.io/argoproj/argocd@sha256:841adcd977c51c263aa29d3aa0cbe045c69abe7533c03c3fbbfd4dbd8ecff85f
    Ports:         8080/TCP, 8083/TCP
    Host Ports:    0/TCP, 0/TCP
    Command:
      argocd-server
      --insecure
    State:          Running
      Started:      Thu, 20 Oct 2022 13:11:41 +0200
    Ready:          True
    Restart Count:  0
    Limits:
      memory:  512Mi
    Requests:
      cpu:      100m
      memory:   128Mi
    Liveness:   http-get http://:8080/healthz delay=10s timeout=1s period=10s #success=1 #failure=3
    Readiness:  http-get http://:8080/healthz delay=10s timeout=1s period=10s #success=1 #failure=3
    Environment:
      ARGOCD_SERVER_INSECURE:                            <set to the key 'server.insecure' of config map 'argocd-cmd-params-cm'>                            Optional: true
      ARGOCD_SERVER_BASEHREF:                            <set to the key 'server.basehref' of config map 'argocd-cmd-params-cm'>                            Optional: true
      ARGOCD_SERVER_ROOTPATH:                            <set to the key 'server.rootpath' of config map 'argocd-cmd-params-cm'>                            Optional: true
      ARGOCD_SERVER_LOGFORMAT:                           <set to the key 'server.log.format' of config map 'argocd-cmd-params-cm'>                          Optional: true
      ARGOCD_REPO_SERVER_LOGLEVEL:                       <set to the key 'server.log.level' of config map 'argocd-cmd-params-cm'>                           Optional: true
      ARGOCD_SERVER_REPO_SERVER:                         <set to the key 'repo.server' of config map 'argocd-cmd-params-cm'>                                Optional: true
      ARGOCD_SERVER_DEX_SERVER:                          <set to the key 'server.dex.server' of config map 'argocd-cmd-params-cm'>                          Optional: true
      ARGOCD_SERVER_DISABLE_AUTH:                        <set to the key 'server.disable.auth' of config map 'argocd-cmd-params-cm'>                        Optional: true
      ARGOCD_SERVER_ENABLE_GZIP:                         <set to the key 'server.enable.gzip' of config map 'argocd-cmd-params-cm'>                         Optional: true
      ARGOCD_SERVER_REPO_SERVER_TIMEOUT_SECONDS:         <set to the key 'server.repo.server.timeout.seconds' of config map 'argocd-cmd-params-cm'>         Optional: true
      ARGOCD_SERVER_X_FRAME_OPTIONS:                     <set to the key 'server.x.frame.options' of config map 'argocd-cmd-params-cm'>                     Optional: true
      ARGOCD_SERVER_CONTENT_SECURITY_POLICY:             <set to the key 'server.content.security.policy' of config map 'argocd-cmd-params-cm'>             Optional: true
      ARGOCD_SERVER_REPO_SERVER_PLAINTEXT:               <set to the key 'server.repo.server.plaintext' of config map 'argocd-cmd-params-cm'>               Optional: true
      ARGOCD_SERVER_REPO_SERVER_STRICT_TLS:              <set to the key 'server.repo.server.strict.tls' of config map 'argocd-cmd-params-cm'>              Optional: true
      ARGOCD_TLS_MIN_VERSION:                            <set to the key 'server.tls.minversion' of config map 'argocd-cmd-params-cm'>                      Optional: true
      ARGOCD_TLS_MAX_VERSION:                            <set to the key 'server.tls.maxversion' of config map 'argocd-cmd-params-cm'>                      Optional: true
      ARGOCD_TLS_CIPHERS:                                <set to the key 'server.tls.ciphers' of config map 'argocd-cmd-params-cm'>                         Optional: true
      ARGOCD_SERVER_CONNECTION_STATUS_CACHE_EXPIRATION:  <set to the key 'server.connection.status.cache.expiration' of config map 'argocd-cmd-params-cm'>  Optional: true
      ARGOCD_SERVER_OIDC_CACHE_EXPIRATION:               <set to the key 'server.oidc.cache.expiration' of config map 'argocd-cmd-params-cm'>               Optional: true
      ARGOCD_SERVER_LOGIN_ATTEMPTS_EXPIRATION:           <set to the key 'server.login.attempts.expiration' of config map 'argocd-cmd-params-cm'>           Optional: true
      ARGOCD_SERVER_STATIC_ASSETS:                       <set to the key 'server.staticassets' of config map 'argocd-cmd-params-cm'>                        Optional: true
      ARGOCD_APP_STATE_CACHE_EXPIRATION:                 <set to the key 'server.app.state.cache.expiration' of config map 'argocd-cmd-params-cm'>          Optional: true
      REDIS_SERVER:                                      <set to the key 'redis.server' of config map 'argocd-cmd-params-cm'>                               Optional: true
      REDISDB:                                           <set to the key 'redis.db' of config map 'argocd-cmd-params-cm'>                                   Optional: true
      REDIS_USERNAME:                                    <set to the key 'redis-username' in secret 'argo-cd-argocd-redis'>                                 Optional: true
      REDIS_PASSWORD:                                    <set to the key 'redis-password' in secret 'argo-cd-argocd-redis'>                                 Optional: true
      ARGOCD_DEFAULT_CACHE_EXPIRATION:                   <set to the key 'server.default.cache.expiration' of config map 'argocd-cmd-params-cm'>            Optional: true
      ARGOCD_MAX_COOKIE_NUMBER:                          <set to the key 'server.http.cookie.maxnumber' of config map 'argocd-cmd-params-cm'>               Optional: true
      ARGOCD_SERVER_OTLP_ADDRESS:                        <set to the key 'otlp.address' of config map 'argocd-cmd-params-cm'>                               Optional: true
    Mounts:
      /app/config/server/tls from argocd-repo-server-tls (rw)
      /app/config/ssh from ssh-known-hosts (rw)
      /app/config/tls from tls-certs (rw)
      /home/argocd from plugins-home (rw)
      /tmp from tmp-dir (rw)
      /tmp/extensions/ from extensions (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-hbqhz (ro)

and

  argocd-extensions:
    Container ID:   containerd://7a3cdb1e50e70536183c2d192e5ebd9d313994034d45100e8a5659d80cfbf238
    Image:          ghcr.io/argoproj-labs/argocd-extensions:v0.1.0
    Image ID:       ghcr.io/argoproj-labs/argocd-extensions@sha256:df18de9c611684a95b1593d2a703f49fa6213b6fad92c550b34f55404f0b7568
    Port:           <none>
    Host Port:      <none>
    State:          Waiting
      Reason:       CrashLoopBackOff
    Last State:     Terminated
      Reason:       Error
      Exit Code:    1
      Started:      Thu, 20 Oct 2022 13:13:25 +0200
      Finished:     Thu, 20 Oct 2022 13:13:25 +0200
    Ready:          False
    Restart Count:  4
    Limits:
      memory:  128Mi
    Requests:
      cpu:        10m
      memory:     64Mi
    Environment:  <none>
    Mounts:
      /tmp/extensions/ from extensions (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-hbqhz (ro)

Paste the logs from the extensions controller

Logs for the entire controller:

kubectl logs -n argocd deployment/argocd-extensions-controller

kubectl -n argocd logs -f argo-cd-argocd-server-66b874fcd9-2zq7v -c argocd-extensions
exec /manager: exec format error

Message from the maintainers:

Impacted by this bug? Give it a ๐Ÿ‘. We prioritise the issues with the most ๐Ÿ‘.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.