![require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages](https://cdn.sanity.io/images/cgdhsj6q/production/be8ab80c8efa5907bc341c6fefe9aa20d239d890-1600x1097.png?w=400&fit=max&auto=format)
Security News
require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
@roadiehq/backstage-plugin-argo-cd-backend
Advanced tools
## Support for multiple ArgoCD instances - Option 2 - Argo CD backend plugin
If you want to create multiple components that fetch data from different argoCD instances, you can dynamically set the ArgoCD instance url by adding the following to your app-config.yaml files.
The Argo plugin will fetch the Argo CD instances an app is deployed to and use the backstage-plugin-argo-cd-backend plugin to reach out to each Argo instance based on the mapping mentioned below.
argocd:
username: ${ARGOCD_USERNAME}
password: ${ARGOCD_PASSWORD}
waitCycles: 25
appLocatorMethods:
- type: 'config'
instances:
- name: argoInstance1
url: https://argoInstance1.com
token: ${ARGOCD_AUTH_TOKEN} # optional
- name: argoInstance2
url: https://argoInstance2.com
# dedicated username/password for this instance
username: ${ARGOCD_USERNAME_INSTANCE_2} # optional
password: ${ARGOCD_PASSWORD_INSTANCE_2} # optional
Option 1: Add the required auth tokens to environmental variables, ARGOCD_USERNAME
and ARGOCD_PASSWORD
inside the argocd
object. It will be use as credentials for all instances by default.
Example
argocd:
username: ${ARGOCD_USERNAME}
password: ${ARGOCD_PASSWORD}
appLocatorMethods:
- type: 'config'
instances:
- name: argoInstance1
url: https://argoInstance1.com
- name: argoInstance2
url: https://argoInstance2.com
Option 2: Define a username
and a password
for each instance. It has an higher priority than Option 1.
Example
argocd:
username: ${ARGOCD_USERNAME}
password: ${ARGOCD_PASSWORD}
appLocatorMethods:
- type: 'config'
instances:
- name: argoInstance1
url: https://argoInstance1.com
- name: argoInstance2
url: https://argoInstance2.com
# dedicated username/password for this instance
username: ${ARGOCD_USERNAME_INSTANCE_2}
password: ${ARGOCD_PASSWORD_INSTANCE_2}
Option 3: Define a token
for each instance. It has an higher priority than Option 1 and Option 2.
Example
argocd:
username: ${ARGOCD_USERNAME}
password: ${ARGOCD_PASSWORD}
appLocatorMethods:
- type: 'config'
instances:
- name: argoInstance1
url: https://argoInstance1.com
token: ${ARGOCD_AUTH_TOKEN} # Token to use to instance 1
Between the Argo CD project delete and application delete there is a loop created to check for the deletion of the application before the deletion of a project can occur. Between each check there is a 3 second timer. The number of cycles to wait is an optional configuration value as shown above as waitCycles
. If waitCycles
is set to 25, the total time the loop can last before erroring out is 75 seconds.
Setting permissions for the Argo CD user account can reduce the scope, but also reduce the functionality of the backend. If you choose to scope the permissions for read-only get actions will work such as the catalog plugin but creating, deleting, and resyncing applications will not be available. The error handling has been designed to alert the users when the proper permissions are not in place.
FAQs
Unknown package
The npm package @roadiehq/backstage-plugin-argo-cd-backend receives a total of 2,486 weekly downloads. As such, @roadiehq/backstage-plugin-argo-cd-backend popularity was classified as popular.
We found that @roadiehq/backstage-plugin-argo-cd-backend demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.