{"id":25507510,"url":"https://github.com/jenniferplusplus/argo-app-resource","last_synced_at":"2025-08-04T09:34:30.952Z","repository":{"id":209673334,"uuid":"721821840","full_name":"jenniferplusplus/argo-app-resource","owner":"jenniferplusplus","description":"Concourse resource to track an ArgoCD app","archived":false,"fork":false,"pushed_at":"2024-03-24T20:10:49.000Z","size":166,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-31T04:49:23.650Z","etag":null,"topics":["argocd","concourse","concourse-resource"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jenniferplusplus.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-11-21T20:56:42.000Z","updated_at":"2025-04-16T16:19:54.000Z","dependencies_parsed_at":"2023-12-18T22:10:08.060Z","dependency_job_id":"2a117b98-28b4-4e9a-8508-f2c9a5f73308","html_url":"https://github.com/jenniferplusplus/argo-app-resource","commit_stats":null,"previous_names":["jenniferplusplus/argo-app-resource"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/jenniferplusplus/argo-app-resource","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenniferplusplus%2Fargo-app-resource","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenniferplusplus%2Fargo-app-resource/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenniferplusplus%2Fargo-app-resource/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenniferplusplus%2Fargo-app-resource/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jenniferplusplus","download_url":"https://codeload.github.com/jenniferplusplus/argo-app-resource/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenniferplusplus%2Fargo-app-resource/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268675563,"owners_count":24288298,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-04T02:00:09.867Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["argocd","concourse","concourse-resource"],"created_at":"2025-02-19T07:32:44.900Z","updated_at":"2025-08-04T09:34:30.920Z","avatar_url":"https://github.com/jenniferplusplus.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Argo App Resource\n\nA concourse resource to track and sync the health and state of applications managed by ArgoCD.\n\nSupports checking, and fetching the current health and sync state of an application and all of its resources. Also supports syncing to latest, or to a specified revision.\n\n## Resource Type Configuration\n\n```yaml\nresource_types:\n- name: argo-app\n  type: registry-image\n  source:\n    repository: ghcr.io/jenniferplusplus/argo-app-resource\n    tag: '0.1.0'\n```\n\n## Source Configuration\n\n| Field          | Type              | Description                                                                                                                               |\n|----------------|-------------------|-------------------------------------------------------------------------------------------------------------------------------------------|\n| `app`          | `string` required | The ArgoCD Application to track                                                                                                           |\n| `token`        | `string` required | The access token to use for authentication                                                                                                |\n| `host`         | `string` required | The hostname of the ArgoCD server                                                                                                         |\n| `project`      | `string` optional | The ArgoCD Project that contains `app`. Default value is `default`                                                                        |\n| `insecure`     | `bool` optional   | Whether to allow insecure connections to the host. Default value is `false`                                                               |\n| `use_grpc_web` | `bool` optional   | Whether to use the fallback REST endpoints for the ArgoCD API. Equivalent to `--use-grpc-web` in the Argo CLI. Default value is `false`   |\n\nExample configuration:\n\n```yaml\nresources:\n- name: my-app\n  type: argo-app\n  source:\n    token: ((vault:argocd.my-app-token))\n    app: my-app\n    project: my-app-project\n    host: my.argocd.example\n```\n\n## `Check` Step\n\nThe version data recorded by `check` includes:\n- The current target revision (git sha)\n- The datetime when the last deployment completed\n- The health of the application\n- The sync state of the application\n\nCheck also records metadata about the status of the resources managed by the application. This metadata indicates the sync state and health of every individual resource reported by ArgoCD.\n\n## `Get` Step Configuration\n\n| Field     | Type              | Description                                     |\n|-----------|-------------------|-------------------------------------------------|\n| `debug`   | `bool` optional   | Enable debug logging. Default value is `false`  |\n\n### Outputs created by `Get`\n\n- `version.json` - Equivalent to the version information reported by `check`\n- `resources.json` - Equivalent to the metadata included with the version information\n- `application.json` - The full data reported by the ArgoCD API for the application.\n\nExample `version.json`:\n\n```json\n{\n  \"revision\": \"edb47dc4fe8586c14d79437377a48d8746facb3e\",\n  \"deployed_at\": \"2024-01-15T18:32:06Z\",\n  \"health\": \"Degraded\",\n  \"sync_status\": \"Synced\"\n}\n```\n\n`resources.json` identifies the resources using the format `kind`/`version`.`namespace`.`name`. Non-namespaced resources will use an underscore (`_`) instead. For example:\n```json\n[\n  {\n    \"name\": \"Namespace/v1._.my-app\",\n    \"value\": \"Synced\"\n  },\n  {\n    \"name\": \"Service/v1.my-app.my-app-controller-service\",\n    \"value\": \"Synced/Healthy\"\n  },\n  {\n    \"name\": \"Deployment/v1.my-app.my-app-controller\",\n    \"value\": \"Synced/Degraded\"\n  }\n]\n```\n\n`application.json` is a large, complex object. You should consult the [ArgoCD API docs](https://argo-cd.readthedocs.io/en/stable/developer-guide/api-docs/) for a description of the structure and contents.\n\n## `Put` Step Configuration\n\n\u003e [!WARNING]\n\u003e This feature is not thoroughly tested  \n\u003e Use with caution\n\nI don't actually need or use the `put` feature myself. It's included for completeness' sake.\n\n\n| Field                 | Type              | Description                                                                 |\n|-----------------------|-------------------|-----------------------------------------------------------------------------|\n| `debug`               | `bool` optional   | Enable debug logging. Default value is `false`                              |\n| `rollback_revision`   | `string` optional | The desired revision to sync to. Default is to sync to the latest revision. |\n\n## Contributing\n\nContributions are welcome. I built this quickly, because I needed it. It works for me, but it's not the best software engineering work I've ever done. Future work should include unit tests.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjenniferplusplus%2Fargo-app-resource","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjenniferplusplus%2Fargo-app-resource","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjenniferplusplus%2Fargo-app-resource/lists"}