Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
@roadiehq/backstage-plugin-argo-cd
Advanced tools
selected ArgoCD app details showing up after click on app name:
If you have your own backstage application without this plugin, here it's how to add it:
backstage/packages/app
project add the plugin as a package.json
dependency:yarn add @roadiehq/backstage-plugin-argo-cd
app-config.yaml
file in the root directory, add argo-cd to the proxy object and optionally add the base url for your argoCD web UI:proxy:
...
'/argocd/api':
# url to the api of your hosted argoCD instance
target: https://159.65.209.132/api/v1/
changeOrigin: true
# this line is required if your hosted argoCD instance has self-signed certificate
secure: false
headers:
Cookie:
$env: ARGOCD_AUTH_TOKEN
# optional: this will link to your argoCD web UI for each argoCD application
argocd:
baseUrl: https://my-argocd-web-ui.com
// packages/app/src/plugins.ts
export { argocdPlugin } from '@roadiehq/backstage-plugin-argo-cd';
entityPage.tsx
source file:// packages/app/src/components/catalog/EntityPage.tsx
import {
EntityArgoCDHistoryCard,
isArgocdAvailable,
} from '@roadiehq/backstage-plugin-argo-cd';
const overviewContent = (
<Grid container spacing={3} alignItems="stretch">
...
<EntitySwitch>
<EntitySwitch.Case if={e => Boolean(isArgocdAvailable(e))}>
<Grid item sm={6}>
<EntityArgoCDHistoryCard />
</Grid>
</EntitySwitch.Case>
</EntitySwitch>
...
</Grid>
);
The Argo CD plugin is a part of the Backstage sample app. To start using it for your component, you have to:
Add an annotation to the YAML config file of a component. If there is only a single Argo CD application for the component, you can use
argocd/app-name: <app-name>
You can also use labels to select multiple Argo CD applications for a component:
argocd/app-selector: <app-selector>
Note: You can only use one of the options per component.
Add your auth key to the environmental variables for your backstage backend server (you can acquire it by sending a GET HTTP request to Argo CD's /session
endpoint with username and password):
ARGOCD_AUTH_TOKEN="argocd.token=<auth-token>"
If you want to create multiple components that fetch data from different argoCD instances, you have to add a proxy config for each instance:
proxy:
...
'/argocd/api':
target: https://<someAddress>/api/v1/
changeOrigin: true
secure: false
headers:
Cookie:
$env: ARGOCD_AUTH_TOKEN
'/argocd/api2':
target: https://<otherAddress>/api/v1/
changeOrigin: true
secure: false
headers:
Cookie:
$env: ARGOCD_AUTH_TOKEN2
Add all required auth tokens to environmental variables, in this example, ARGOCD_AUTH_TOKEN2
.
And then in the following component definition annotations add a line with the url to the desired proxy path:
argocd/proxy-url: '/argocd/api2'
argocd/proxy-url
annotation defaults to '/argocd/api' so it's not needed if there is only one proxy config.
If you want to create multiple components that fetch data from different Argo CD instances, you can dynamically set the Argo CD 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.
Please visit the Argo CD Backend Plugin for more information
If you want to use the "Applications in any namespace" beta feature, you have to explicitly enable it in the configuration.
In the configuration file, you need to toggle the feature:
argocd:
...
namespacedApps: true
After enabling the feature, you can use the newly available argocd/app-namespace
annotation on entities:
metadata:
annotations:
argocd/app-namespace: my-test-ns
The ArgoCDHistoryCard
loads all app revisions by default. If your app has many revisions, this can lead to a lot of requests and long loading times. Therefore, you can limit the number of revisions to load in your configuration file:
argocd:
...
revisionsToLoad: 3
You can run the application by running yarn dev
at the root of this monorepo.
You will need to perform the steps in the "How to use Argo-cd plugin in Backstage" section above.
You may also need to update the proxy target. The configuration in this repo defaults to localhost:8080.
To run the integration tests locally yarn workspace app cy:dev
(assuming you have the application running).
Roadie gives you a hassle-free, fully customisable SaaS Backstage. Find out more here: https://roadie.io.
FAQs
Unknown package
We found that @roadiehq/backstage-plugin-argo-cd 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
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.