Compare commits
56 commits
argocd-ima
...
main
Author | SHA1 | Date | |
---|---|---|---|
![]() |
52870ab907 | ||
![]() |
341406ccb2 | ||
![]() |
689fed54cb | ||
![]() |
3a329eae63 | ||
![]() |
ff07848068 | ||
![]() |
56b2429f3b | ||
![]() |
d40470b95d | ||
![]() |
f7b5090efb | ||
![]() |
b732ef4689 | ||
![]() |
c77cb712e0 | ||
![]() |
f30bcd682d | ||
![]() |
6b1ea92acb | ||
![]() |
ffacdd45f9 | ||
![]() |
55d2330df6 | ||
![]() |
2602b7a364 | ||
![]() |
4cfcbc2e26 | ||
![]() |
c9e59be22f | ||
![]() |
2a21283641 | ||
![]() |
56c5a31c9e | ||
![]() |
2685b861d2 | ||
![]() |
d75b9d35a3 | ||
![]() |
d81ca4b23b | ||
![]() |
692bd040ce | ||
![]() |
c2f3d9967d | ||
![]() |
eed462224d | ||
![]() |
2963628712 | ||
![]() |
79ec8fdb94 | ||
![]() |
bf9830c670 | ||
![]() |
27ef4ecd7d | ||
![]() |
8ba5f22bdf | ||
![]() |
b0578c4001 | ||
![]() |
191e7688ab | ||
![]() |
b10de03026 | ||
![]() |
23b484de9c | ||
![]() |
6c5e25c743 | ||
![]() |
d963962c56 | ||
![]() |
9946d3dfee | ||
![]() |
796f6c8dc3 | ||
![]() |
3b2d2767d9 | ||
![]() |
89f40fd001 | ||
![]() |
b594e6bd20 | ||
![]() |
02db043ff1 | ||
![]() |
a0831126cc | ||
![]() |
844afb6611 | ||
![]() |
91ad82947c | ||
![]() |
2436051d5c | ||
![]() |
279930e133 | ||
![]() |
9bd03f64b2 | ||
![]() |
0877c58e19 | ||
![]() |
74376f6cab | ||
![]() |
ef90ecc844 | ||
![]() |
ca63415d8a | ||
![]() |
06af22458f | ||
![]() |
46b76061b5 | ||
![]() |
f9856eb583 | ||
![]() |
c6e5aba590 |
72 changed files with 5102 additions and 150 deletions
6
.github/workflows/lint-and-test.yml
vendored
6
.github/workflows/lint-and-test.yml
vendored
|
@ -32,13 +32,13 @@ jobs:
|
|||
version: v3.10.1 # Also update in publish.yaml
|
||||
|
||||
- name: Set up python
|
||||
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
|
||||
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
|
||||
with:
|
||||
python-version: 3.9
|
||||
|
||||
- name: Setup Chart Linting
|
||||
id: lint
|
||||
uses: helm/chart-testing-action@e6669bcd63d7cb57cb4380c33043eebe5d111992 # v2.6.1
|
||||
uses: helm/chart-testing-action@0d28d3144d3a25ea2cc349d6e59901c4ff469b3b # v2.7.0
|
||||
with:
|
||||
# Note: Also update in scripts/lint.sh
|
||||
version: v3.11.0
|
||||
|
@ -70,7 +70,7 @@ jobs:
|
|||
fi
|
||||
|
||||
- name: Create kind cluster
|
||||
uses: helm/kind-action@0025e74a8c7512023d06dc019c617aa3cf561fde # v1.10.0
|
||||
uses: helm/kind-action@a1b0e391336a6ee6713a0583f8c6240d70863de3 # v1.12.0
|
||||
if: steps.list-changed.outputs.changed == 'true'
|
||||
with:
|
||||
config: .github/configs/kind-config.yaml
|
||||
|
|
2
.github/workflows/publish.yml
vendored
2
.github/workflows/publish.yml
vendored
|
@ -59,7 +59,7 @@ jobs:
|
|||
PGP_PASSPHRASE: "${{ secrets.PGP_PASSPHRASE }}"
|
||||
|
||||
- name: Run chart-releaser
|
||||
uses: helm/chart-releaser-action@a917fd15b20e8b64b94d9158ad54cd6345335584 # v1.6.0
|
||||
uses: helm/chart-releaser-action@cae68fefc6b5f367a0275617c9f83181ba54714f # v1.7.0
|
||||
with:
|
||||
config: "./.github/configs/cr.yaml"
|
||||
env:
|
||||
|
|
7
.github/workflows/renovate.yaml
vendored
7
.github/workflows/renovate.yaml
vendored
|
@ -16,7 +16,7 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Get token
|
||||
uses: actions/create-github-app-token@5d869da34e18e7287c1daad50e0b8ea0f506ce69 # v1.11.0
|
||||
uses: actions/create-github-app-token@0d564482f06ca65fa9e77e2510873638c82206f2 # v1.11.5
|
||||
id: get_token
|
||||
with:
|
||||
app-id: ${{ vars.RENOVATE_APP_ID }}
|
||||
|
@ -26,12 +26,13 @@ jobs:
|
|||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- name: Self-hosted Renovate
|
||||
uses: renovatebot/github-action@e3a862510f27d57a380efb11f0b52ad7e8dbf213 # v41.0.6
|
||||
uses: renovatebot/github-action@e084b5ac6fd201023db6dd7743aec023babb02c8 # v41.0.13
|
||||
with:
|
||||
configurationFile: .github/configs/renovate-config.js
|
||||
# renovate: datasource=docker depName=ghcr.io/renovatebot/renovate
|
||||
renovate-version: 39.43.0
|
||||
renovate-version: 39.153.2
|
||||
token: '${{ steps.get_token.outputs.token }}'
|
||||
mount-docker-socket: true
|
||||
env:
|
||||
LOG_LEVEL: 'debug'
|
||||
RENOVATE_REPOSITORIES: '${{ github.repository }}'
|
||||
|
|
4
.github/workflows/scorecard.yml
vendored
4
.github/workflows/scorecard.yml
vendored
|
@ -60,7 +60,7 @@ jobs:
|
|||
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
|
||||
# format to the repository Actions tab.
|
||||
- name: "Upload artifact"
|
||||
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
|
||||
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
|
||||
with:
|
||||
name: SARIF file
|
||||
path: results.sarif
|
||||
|
@ -68,6 +68,6 @@ jobs:
|
|||
|
||||
# Upload the results to GitHub's code scanning dashboard.
|
||||
- name: "Upload to code-scanning"
|
||||
uses: github/codeql-action/upload-sarif@aa578102511db1f4524ed59b8cc2bae4f6e88195 # v3.27.6
|
||||
uses: github/codeql-action/upload-sarif@9e8d0789d4a0fa9ceb6b1738f7e269594bdd67f0 # v3.28.9
|
||||
with:
|
||||
sarif_file: results.sarif
|
||||
|
|
2
.github/workflows/stale.yml
vendored
2
.github/workflows/stale.yml
vendored
|
@ -14,7 +14,7 @@ jobs:
|
|||
pull-requests: write # for actions/stale to close stale PRs
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # v9.0.0
|
||||
- uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9.1.0
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
# Number of days of inactivity before an issue becomes stale
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
apiVersion: v2
|
||||
appVersion: v2.13.2
|
||||
appVersion: v2.14.2
|
||||
kubeVersion: ">=1.25.0-0"
|
||||
description: A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
|
||||
name: argo-cd
|
||||
version: 7.7.10
|
||||
version: 7.8.3
|
||||
home: https://github.com/argoproj/argo-helm
|
||||
icon: https://argo-cd.readthedocs.io/en/stable/assets/logo.png
|
||||
sources:
|
||||
|
@ -27,4 +27,4 @@ annotations:
|
|||
url: https://argoproj.github.io/argo-helm/pgp_keys.asc
|
||||
artifacthub.io/changes: |
|
||||
- kind: changed
|
||||
description: Bump argo-cd to v2.13.2
|
||||
description: Bump dex version to v2.42.0
|
||||
|
|
|
@ -191,7 +191,7 @@ server:
|
|||
alb.ingress.kubernetes.io/scheme: internal
|
||||
alb.ingress.kubernetes.io/target-type: ip
|
||||
alb.ingress.kubernetes.io/backend-protocol: HTTP
|
||||
alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":80}, {"HTTPS":443}]'
|
||||
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP":80}, {"HTTPS":443}]'
|
||||
alb.ingress.kubernetes.io/ssl-redirect: '443'
|
||||
aws:
|
||||
serviceType: ClusterIP # <- Used with target-type: ip
|
||||
|
@ -312,7 +312,7 @@ This version introduces authentication for Redis to mitigate GHSA-9766-5277-j5hr
|
|||
Upstream steps in the [FAQ] are not enough, since we chose a different approach.
|
||||
(We use a Kubernetes Job with [Chart Hooks] to create the auth secret `argocd-redis`.)
|
||||
|
||||
Steps to roteate the secret when using the helm chart (bold step is additional to upstream):
|
||||
Steps to rotate the secret when using the helm chart (bold step is additional to upstream):
|
||||
* Delete `argocd-redis` secret in the namespace where Argo CD is installed.
|
||||
```bash
|
||||
kubectl delete secret argocd-redis -n <argocd namespace>
|
||||
|
@ -708,7 +708,7 @@ NAME: my-release
|
|||
| global.logging.level | string | `"info"` | Set the global logging level. One of: `debug`, `info`, `warn` or `error` |
|
||||
| global.networkPolicy.create | bool | `false` | Create NetworkPolicy objects for all components |
|
||||
| global.networkPolicy.defaultDenyIngress | bool | `false` | Default deny all ingress traffic |
|
||||
| global.nodeSelector | object | `{}` | Default node selector for all components |
|
||||
| global.nodeSelector | object | `{"kubernetes.io/os":"linux"}` | Default node selector for all components |
|
||||
| global.podAnnotations | object | `{}` | Annotations for the all deployed pods |
|
||||
| global.podLabels | object | `{}` | Labels for the all deployed pods |
|
||||
| global.priorityClassName | string | `""` | Default priority class for all components |
|
||||
|
@ -726,6 +726,7 @@ NAME: my-release
|
|||
| configs.clusterCredentials | object | `{}` (See [values.yaml]) | Provide one or multiple [external cluster credentials] |
|
||||
| configs.cm."admin.enabled" | bool | `true` | Enable local admin user |
|
||||
| configs.cm."application.instanceLabelKey" | string | `"argocd.argoproj.io/instance"` | The name of tracking label used by Argo CD for resource pruning |
|
||||
| configs.cm."application.sync.impersonation.enabled" | bool | `false` | Enable control of the service account used for the sync operation (alpha) |
|
||||
| configs.cm."exec.enabled" | bool | `false` | Enable exec feature in Argo UI |
|
||||
| configs.cm."server.rbac.log.enforce.enable" | bool | `false` | Enable logs RBAC enforcement |
|
||||
| configs.cm."statusbadge.enabled" | bool | `false` | Enable Status Badge |
|
||||
|
@ -783,11 +784,13 @@ NAME: my-release
|
|||
| configs.secret.gogsSecret | string | `""` | Shared secret for authenticating Gogs webhook events |
|
||||
| configs.secret.labels | object | `{}` | Labels to be added to argocd-secret |
|
||||
| configs.ssh.annotations | object | `{}` | Annotations to be added to argocd-ssh-known-hosts-cm configmap |
|
||||
| configs.ssh.create | bool | `true` | Specifies if the argocd-ssh-known-hosts-cm configmap should be created by Helm. |
|
||||
| configs.ssh.extraHosts | string | `""` | Additional known hosts for private repositories |
|
||||
| configs.ssh.knownHosts | string | See [values.yaml] | Known hosts to be added to the known host list by default. |
|
||||
| configs.styles | string | `""` (See [values.yaml]) | Define custom [CSS styles] for your argo instance. This setting will automatically mount the provided CSS and reference it in the argo configuration. |
|
||||
| configs.tls.annotations | object | `{}` | Annotations to be added to argocd-tls-certs-cm configmap |
|
||||
| configs.tls.certificates | object | `{}` (See [values.yaml]) | TLS certificates for Git repositories |
|
||||
| configs.tls.create | bool | `true` | Specifies if the argocd-tls-certs-cm configmap should be created by Helm. |
|
||||
|
||||
## Argo CD Controller
|
||||
|
||||
|
@ -1167,7 +1170,7 @@ NAME: my-release
|
|||
| dex.extraContainers | list | `[]` | Additional containers to be added to the dex pod |
|
||||
| dex.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Dex imagePullPolicy |
|
||||
| dex.image.repository | string | `"ghcr.io/dexidp/dex"` | Dex image repository |
|
||||
| dex.image.tag | string | `"v2.41.1"` | Dex image tag |
|
||||
| dex.image.tag | string | `"v2.42.0"` | Dex image tag |
|
||||
| dex.imagePullSecrets | list | `[]` (defaults to global.imagePullSecrets) | Secrets with credentials to pull images from a private registry |
|
||||
| dex.initContainers | list | `[]` | Init containers to add to the dex pod |
|
||||
| dex.initImage.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Argo CD init image imagePullPolicy |
|
||||
|
@ -1258,7 +1261,7 @@ NAME: my-release
|
|||
| redis.exporter.env | list | `[]` | Environment variables to pass to the Redis exporter |
|
||||
| redis.exporter.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Image pull policy for the redis-exporter |
|
||||
| redis.exporter.image.repository | string | `"public.ecr.aws/bitnami/redis-exporter"` | Repository to use for the redis-exporter |
|
||||
| redis.exporter.image.tag | string | `"1.58.0"` | Tag to use for the redis-exporter |
|
||||
| redis.exporter.image.tag | string | `"1.67.0"` | Tag to use for the redis-exporter |
|
||||
| redis.exporter.livenessProbe.enabled | bool | `false` | Enable Kubernetes liveness probe for Redis exporter |
|
||||
| redis.exporter.livenessProbe.failureThreshold | int | `5` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded |
|
||||
| redis.exporter.livenessProbe.initialDelaySeconds | int | `30` | Number of seconds after the container has started before [probe] is initiated |
|
||||
|
@ -1276,7 +1279,7 @@ NAME: my-release
|
|||
| redis.extraContainers | list | `[]` | Additional containers to be added to the redis pod |
|
||||
| redis.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Redis image pull policy |
|
||||
| redis.image.repository | string | `"public.ecr.aws/docker/library/redis"` | Redis repository |
|
||||
| redis.image.tag | string | `"7.4.1-alpine"` | Redis tag |
|
||||
| redis.image.tag | string | `"7.4.2-alpine"` | Redis tag |
|
||||
| redis.imagePullSecrets | list | `[]` (defaults to global.imagePullSecrets) | Secrets with credentials to pull images from a private registry |
|
||||
| redis.initContainers | list | `[]` | Init containers to add to the redis pod |
|
||||
| redis.livenessProbe.enabled | bool | `false` | Enable Kubernetes liveness probe for Redis server |
|
||||
|
@ -1362,7 +1365,7 @@ The main options are listed here:
|
|||
| redis-ha.haproxy.tolerations | list | `[]` | [Tolerations] for use with node taints for haproxy pods. |
|
||||
| redis-ha.hardAntiAffinity | bool | `true` | Whether the Redis server pods should be forced to run on separate nodes. |
|
||||
| redis-ha.image.repository | string | `"public.ecr.aws/docker/library/redis"` | Redis repository |
|
||||
| redis-ha.image.tag | string | `"7.4.1-alpine"` | Redis tag |
|
||||
| redis-ha.image.tag | string | `"7.4.2-alpine"` | Redis tag |
|
||||
| redis-ha.persistentVolume.enabled | bool | `false` | Configures persistence on Redis nodes |
|
||||
| redis-ha.redis.config | object | See [values.yaml] | Any valid redis config options in this section will be applied to each server (see `redis-ha` chart) |
|
||||
| redis-ha.redis.config.save | string | `'""'` | Will save the DB if both the given number of seconds and the given number of write operations against the DB occurred. `""` is disabled |
|
||||
|
@ -1618,30 +1621,89 @@ If you use an External Redis (See Option 3 above), this Job is not deployed.
|
|||
| notifications.topologySpreadConstraints | list | `[]` (defaults to global.topologySpreadConstraints) | Assign custom [TopologySpreadConstraints] rules to the application controller |
|
||||
| notifications.triggers | object | `{}` | The trigger defines the condition when the notification should be sent |
|
||||
|
||||
## Commit server (Manifest Hydrator)
|
||||
|
||||
The Argo CD Commit Server provides push access to git repositories for hydrated manifests.
|
||||
|
||||
To read more about this component, please read [Argo CD Manifest Hydrator] and [Manifest Hydrator].
|
||||
|
||||
| Key | Type | Default | Description |
|
||||
|-----|------|---------|-------------|
|
||||
| commitServer.affinity | object | `{}` (defaults to global.affinity preset) | Assign custom [affinity] rules |
|
||||
| commitServer.automountServiceAccountToken | bool | `false` | Automount API credentials for the Service Account into the pod. |
|
||||
| commitServer.containerSecurityContext | object | See [values.yaml] | commit server container-level security context |
|
||||
| commitServer.deploymentAnnotations | object | `{}` | Annotations to be added to commit server Deployment |
|
||||
| commitServer.deploymentStrategy | object | `{}` | Deployment strategy to be added to the commit server Deployment |
|
||||
| commitServer.dnsConfig | object | `{}` | [DNS configuration] |
|
||||
| commitServer.dnsPolicy | string | `"ClusterFirst"` | Alternative DNS policy for commit server pods |
|
||||
| commitServer.enabled | bool | `false` | Enable commit server |
|
||||
| commitServer.extraArgs | list | `[]` | commit server command line flags |
|
||||
| commitServer.extraEnv | list | `[]` | Environment variables to pass to the commit server |
|
||||
| commitServer.extraEnvFrom | list | `[]` (See [values.yaml]) | envFrom to pass to the commit server |
|
||||
| commitServer.extraVolumeMounts | list | `[]` | List of extra mounts to add (normally used with extraVolumes) |
|
||||
| commitServer.extraVolumes | list | `[]` | List of extra volumes to add |
|
||||
| commitServer.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Image pull policy for the commit server |
|
||||
| commitServer.image.repository | string | `""` (defaults to global.image.repository) | Repository to use for the commit server |
|
||||
| commitServer.image.tag | string | `""` (defaults to global.image.tag) | Tag to use for the commit server |
|
||||
| commitServer.livenessProbe.enabled | bool | `true` | Enable Kubernetes liveness probe for commit server |
|
||||
| commitServer.livenessProbe.failureThreshold | int | `3` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded |
|
||||
| commitServer.livenessProbe.initialDelaySeconds | int | `30` | Number of seconds after the container has started before [probe] is initiated |
|
||||
| commitServer.livenessProbe.periodSeconds | int | `30` | How often (in seconds) to perform the [probe] |
|
||||
| commitServer.livenessProbe.timeoutSeconds | int | `5` | Number of seconds after which the [probe] times out |
|
||||
| commitServer.metrics.enabled | bool | `false` | Enables prometheus metrics server |
|
||||
| commitServer.metrics.service.annotations | object | `{}` | Metrics service annotations |
|
||||
| commitServer.metrics.service.clusterIP | string | `""` | Metrics service clusterIP. `None` makes a "headless service" (no virtual IP) |
|
||||
| commitServer.metrics.service.labels | object | `{}` | Metrics service labels |
|
||||
| commitServer.metrics.service.portName | string | `"metrics"` | Metrics service port name |
|
||||
| commitServer.metrics.service.servicePort | int | `8087` | Metrics service port |
|
||||
| commitServer.metrics.service.type | string | `"ClusterIP"` | Metrics service type |
|
||||
| commitServer.name | string | `"commit-server"` | Commit server name |
|
||||
| commitServer.nodeSelector | object | `{}` (defaults to global.nodeSelector) | [Node selector] |
|
||||
| commitServer.podAnnotations | object | `{}` | Annotations for the commit server pods |
|
||||
| commitServer.podLabels | object | `{}` | Labels for the commit server pods |
|
||||
| commitServer.priorityClassName | string | `""` (defaults to global.priorityClassName) | Priority class for the commit server pods |
|
||||
| commitServer.readinessProbe.enabled | bool | `true` | Enable Kubernetes liveness probe for commit server |
|
||||
| commitServer.readinessProbe.failureThreshold | int | `3` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded |
|
||||
| commitServer.readinessProbe.initialDelaySeconds | int | `5` | Number of seconds after the container has started before [probe] is initiated |
|
||||
| commitServer.readinessProbe.periodSeconds | int | `10` | How often (in seconds) to perform the [probe] |
|
||||
| commitServer.readinessProbe.timeoutSeconds | int | `1` | Number of seconds after which the [probe] times out |
|
||||
| commitServer.resources | object | `{}` | Resource limits and requests for the commit server pods. |
|
||||
| commitServer.runtimeClassName | string | `""` (defaults to global.runtimeClassName) | Runtime class name for the commit server |
|
||||
| commitServer.service.annotations | object | `{}` | commit server service annotations |
|
||||
| commitServer.service.labels | object | `{}` | commit server service labels |
|
||||
| commitServer.serviceAccount.annotations | object | `{}` | Annotations applied to created service account |
|
||||
| commitServer.serviceAccount.automountServiceAccountToken | bool | `true` | Automount API credentials for the Service Account |
|
||||
| commitServer.serviceAccount.create | bool | `true` | Create commit server service account |
|
||||
| commitServer.serviceAccount.labels | object | `{}` | Labels applied to created service account |
|
||||
| commitServer.serviceAccount.name | string | `"argocd-commit-server"` | commit server service account name |
|
||||
| commitServer.terminationGracePeriodSeconds | int | `30` | terminationGracePeriodSeconds for container lifecycle hook |
|
||||
| commitServer.tolerations | list | `[]` (defaults to global.tolerations) | [Tolerations] for use with node taints |
|
||||
| commitServer.topologySpreadConstraints | list | `[]` (defaults to global.topologySpreadConstraints) | Assign custom [TopologySpreadConstraints] rules to the commit server |
|
||||
|
||||
----------------------------------------------
|
||||
Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/helm-docs)
|
||||
|
||||
[Argo CD RBAC policy]: https://argo-cd.readthedocs.io/en/stable/operator-manual/rbac/
|
||||
[affinity]: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
|
||||
[BackendConfigSpec]: https://cloud.google.com/kubernetes-engine/docs/concepts/backendconfig#backendconfigspec_v1beta1_cloudgooglecom
|
||||
[affinity]: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
|
||||
[BackendConfigSpec]: https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-configuration#backendconfigspec_v1beta1_cloudgooglecom
|
||||
[CSS styles]: https://argo-cd.readthedocs.io/en/stable/operator-manual/custom-styles/
|
||||
[changelog]: https://artifacthub.io/packages/helm/argo/argo-cd?modal=changelog
|
||||
[Chart Hooks]: https://helm.sh/docs/topics/charts_hooks/
|
||||
[DNS configuration]: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
|
||||
[external cluster credentials]: https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#clusters
|
||||
[FAQ]: https://argo-cd.readthedocs.io/en/stable/faq/
|
||||
[FrontendConfigSpec]: https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-features#configuring_ingress_features_through_frontendconfig_parameters
|
||||
[FrontendConfigSpec]: https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-configuration#configuring_ingress_features_through_frontendconfig_parameters
|
||||
[declarative setup]: https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup
|
||||
[gRPC-ingress]: https://argo-cd.readthedocs.io/en/stable/operator-manual/ingress/
|
||||
[GnuPG]: https://argo-cd.readthedocs.io/en/stable/user-guide/gpg-verification/
|
||||
[HPA]: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
|
||||
[MetricRelabelConfigs]: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs
|
||||
[Node selector]: https://kubernetes.io/docs/user-guide/node-selection/
|
||||
[Node selector]: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector
|
||||
[PodDisruptionBudget]: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#pod-disruption-budgets
|
||||
[probe]: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
|
||||
[RelabelConfigs]: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
|
||||
[Tolerations]: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||
[TopologySpreadConstraints]: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
|
||||
[Tolerations]: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
|
||||
[TopologySpreadConstraints]: https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/
|
||||
[values.yaml]: values.yaml
|
||||
[v2.2 to 2.3 upgrade instructions]: https://github.com/argoproj/argo-cd/blob/v2.3.0/docs/operator-manual/upgrading/2.2-2.3.md
|
||||
[tini]: https://github.com/argoproj/argo-cd/pull/12707
|
||||
|
@ -1650,3 +1712,5 @@ Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/
|
|||
[Applications in any namespace]: https://argo-cd.readthedocs.io/en/stable/operator-manual/app-any-namespace/#applications-in-any-namespace
|
||||
[Argo CD Extensions]: https://github.com/argoproj-labs/argocd-extensions?tab=readme-ov-file#deprecation-notice
|
||||
[Argo CD Extension Installer]: https://github.com/argoproj-labs/argocd-extension-installer
|
||||
[Argo CD Manifest Hydrator]: https://argo-cd.readthedocs.io/en/stable/proposals/manifest-hydrator/
|
||||
[Manifest Hydrator]: https://github.com/argoproj/argo-cd/blob/master/docs/proposals/manifest-hydrator.md
|
||||
|
|
|
@ -190,7 +190,7 @@ server:
|
|||
alb.ingress.kubernetes.io/scheme: internal
|
||||
alb.ingress.kubernetes.io/target-type: ip
|
||||
alb.ingress.kubernetes.io/backend-protocol: HTTP
|
||||
alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":80}, {"HTTPS":443}]'
|
||||
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP":80}, {"HTTPS":443}]'
|
||||
alb.ingress.kubernetes.io/ssl-redirect: '443'
|
||||
aws:
|
||||
serviceType: ClusterIP # <- Used with target-type: ip
|
||||
|
@ -312,7 +312,7 @@ This version introduces authentication for Redis to mitigate GHSA-9766-5277-j5hr
|
|||
Upstream steps in the [FAQ] are not enough, since we chose a different approach.
|
||||
(We use a Kubernetes Job with [Chart Hooks] to create the auth secret `argocd-redis`.)
|
||||
|
||||
Steps to roteate the secret when using the helm chart (bold step is additional to upstream):
|
||||
Steps to rotate the secret when using the helm chart (bold step is additional to upstream):
|
||||
* Delete `argocd-redis` secret in the namespace where Argo CD is installed.
|
||||
```bash
|
||||
kubectl delete secret argocd-redis -n <argocd namespace>
|
||||
|
@ -672,7 +672,7 @@ NAME: my-release
|
|||
| Key | Type | Default | Description |
|
||||
|-----|------|---------|-------------|
|
||||
{{- range .Values }}
|
||||
{{- if not (or (hasPrefix "global" .Key) (hasPrefix "configs" .Key) (hasPrefix "controller" .Key) (hasPrefix "repoServer" .Key) (hasPrefix "server" .Key) (hasPrefix "applicationSet" .Key) (hasPrefix "notifications" .Key) (hasPrefix "dex" .Key) (hasPrefix "redis" .Key) (hasPrefix "externalRedis" .Key) ) }}
|
||||
{{- if not (or (hasPrefix "global" .Key) (hasPrefix "configs" .Key) (hasPrefix "controller" .Key) (hasPrefix "repoServer" .Key) (hasPrefix "server" .Key) (hasPrefix "applicationSet" .Key) (hasPrefix "notifications" .Key) (hasPrefix "dex" .Key) (hasPrefix "redis" .Key) (hasPrefix "externalRedis" .Key) (hasPrefix "commitServer" .Key) ) }}
|
||||
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
@ -813,30 +813,44 @@ If you use an External Redis (See Option 3 above), this Job is not deployed.
|
|||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
## Commit server (Manifest Hydrator)
|
||||
|
||||
The Argo CD Commit Server provides push access to git repositories for hydrated manifests.
|
||||
|
||||
To read more about this component, please read [Argo CD Manifest Hydrator] and [Manifest Hydrator].
|
||||
|
||||
| Key | Type | Default | Description |
|
||||
|-----|------|---------|-------------|
|
||||
{{- range .Values }}
|
||||
{{- if hasPrefix "commitServer" .Key }}
|
||||
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
----------------------------------------------
|
||||
Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/helm-docs)
|
||||
|
||||
[Argo CD RBAC policy]: https://argo-cd.readthedocs.io/en/stable/operator-manual/rbac/
|
||||
[affinity]: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
|
||||
[BackendConfigSpec]: https://cloud.google.com/kubernetes-engine/docs/concepts/backendconfig#backendconfigspec_v1beta1_cloudgooglecom
|
||||
[affinity]: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
|
||||
[BackendConfigSpec]: https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-configuration#backendconfigspec_v1beta1_cloudgooglecom
|
||||
[CSS styles]: https://argo-cd.readthedocs.io/en/stable/operator-manual/custom-styles/
|
||||
[changelog]: https://artifacthub.io/packages/helm/argo/argo-cd?modal=changelog
|
||||
[Chart Hooks]: https://helm.sh/docs/topics/charts_hooks/
|
||||
[DNS configuration]: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
|
||||
[external cluster credentials]: https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#clusters
|
||||
[FAQ]: https://argo-cd.readthedocs.io/en/stable/faq/
|
||||
[FrontendConfigSpec]: https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-features#configuring_ingress_features_through_frontendconfig_parameters
|
||||
[FrontendConfigSpec]: https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-configuration#configuring_ingress_features_through_frontendconfig_parameters
|
||||
[declarative setup]: https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup
|
||||
[gRPC-ingress]: https://argo-cd.readthedocs.io/en/stable/operator-manual/ingress/
|
||||
[GnuPG]: https://argo-cd.readthedocs.io/en/stable/user-guide/gpg-verification/
|
||||
[HPA]: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
|
||||
[MetricRelabelConfigs]: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs
|
||||
[Node selector]: https://kubernetes.io/docs/user-guide/node-selection/
|
||||
[Node selector]: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector
|
||||
[PodDisruptionBudget]: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#pod-disruption-budgets
|
||||
[probe]: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
|
||||
[RelabelConfigs]: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
|
||||
[Tolerations]: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||
[TopologySpreadConstraints]: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
|
||||
[Tolerations]: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
|
||||
[TopologySpreadConstraints]: https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/
|
||||
[values.yaml]: values.yaml
|
||||
[v2.2 to 2.3 upgrade instructions]: https://github.com/argoproj/argo-cd/blob/v2.3.0/docs/operator-manual/upgrading/2.2-2.3.md
|
||||
[tini]: https://github.com/argoproj/argo-cd/pull/12707
|
||||
|
@ -845,3 +859,5 @@ Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/
|
|||
[Applications in any namespace]: https://argo-cd.readthedocs.io/en/stable/operator-manual/app-any-namespace/#applications-in-any-namespace
|
||||
[Argo CD Extensions]: https://github.com/argoproj-labs/argocd-extensions?tab=readme-ov-file#deprecation-notice
|
||||
[Argo CD Extension Installer]: https://github.com/argoproj-labs/argocd-extension-installer
|
||||
[Argo CD Manifest Hydrator]: https://argo-cd.readthedocs.io/en/stable/proposals/manifest-hydrator/
|
||||
[Manifest Hydrator]: https://github.com/argoproj/argo-cd/blob/master/docs/proposals/manifest-hydrator.md
|
||||
|
|
3
charts/argo-cd/ci/with-commit-server-values.yaml
Normal file
3
charts/argo-cd/ci/with-commit-server-values.yaml
Normal file
|
@ -0,0 +1,3 @@
|
|||
# Test Argo CD with optional component "commit-server"
|
||||
commitServer:
|
||||
enabled: true
|
|
@ -177,6 +177,24 @@ Create the name of the notifications service account to use
|
|||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create argocd commit-server name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "argo-cd.commitServer.fullname" -}}
|
||||
{{- printf "%s-%s" (include "argo-cd.fullname" .) .Values.commitServer.name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create the name of the commit-server service account to use
|
||||
*/}}
|
||||
{{- define "argo-cd.commitServer.serviceAccountName" -}}
|
||||
{{- if .Values.commitServer.serviceAccount.create -}}
|
||||
{{ default (include "argo-cd.commitServer.fullname" .) .Values.commitServer.serviceAccount.name }}
|
||||
{{- else -}}
|
||||
{{ default "default" .Values.commitServer.serviceAccount.name }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Argo Configuration Preset Values (Influenced by Values configuration)
|
||||
*/}}
|
||||
|
|
|
@ -175,6 +175,12 @@ spec:
|
|||
name: argocd-cmd-params-cm
|
||||
key: controller.self.heal.backoff.cap.seconds
|
||||
optional: true
|
||||
- name: ARGOCD_APPLICATION_CONTROLLER_SYNC_TIMEOUT
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: argocd-cmd-params-cm
|
||||
key: controller.sync.timeout.seconds
|
||||
optional: true
|
||||
- name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_PLAINTEXT
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
|
@ -311,6 +317,24 @@ spec:
|
|||
name: argocd-cmd-params-cm
|
||||
key: controller.ignore.normalizer.jq.timeout
|
||||
optional: true
|
||||
- name: ARGOCD_HYDRATOR_ENABLED
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: argocd-cmd-params-cm
|
||||
key: hydrator.enabled
|
||||
optional: true
|
||||
- name: ARGOCD_CLUSTER_CACHE_BATCH_EVENTS_PROCESSING
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: argocd-cmd-params-cm
|
||||
key: controller.cluster.cache.batch.events.processing
|
||||
optional: true
|
||||
- name: ARGOCD_CLUSTER_CACHE_EVENTS_PROCESSING_INTERVAL
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: argocd-cmd-params-cm
|
||||
key: controller.cluster.cache.events.processing.interval
|
||||
optional: true
|
||||
{{- with .Values.controller.envFrom }}
|
||||
envFrom:
|
||||
{{- toYaml . | nindent 10 }}
|
||||
|
|
|
@ -174,6 +174,12 @@ spec:
|
|||
name: argocd-cmd-params-cm
|
||||
key: controller.self.heal.backoff.cap.seconds
|
||||
optional: true
|
||||
- name: ARGOCD_APPLICATION_CONTROLLER_SYNC_TIMEOUT
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: argocd-cmd-params-cm
|
||||
key: controller.sync.timeout.seconds
|
||||
optional: true
|
||||
- name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_PLAINTEXT
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
|
@ -310,6 +316,26 @@ spec:
|
|||
name: argocd-cmd-params-cm
|
||||
key: controller.ignore.normalizer.jq.timeout
|
||||
optional: true
|
||||
- name: ARGOCD_HYDRATOR_ENABLED
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: argocd-cmd-params-cm
|
||||
key: hydrator.enabled
|
||||
optional: true
|
||||
- name: ARGOCD_CLUSTER_CACHE_BATCH_EVENTS_PROCESSING
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: argocd-cmd-params-cm
|
||||
key: controller.cluster.cache.batch.events.processing
|
||||
optional: true
|
||||
- name: ARGOCD_CLUSTER_CACHE_EVENTS_PROCESSING_INTERVAL
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: argocd-cmd-params-cm
|
||||
key: controller.cluster.cache.events.processing.interval
|
||||
optional: true
|
||||
- name: KUBECACHEDIR
|
||||
value: /tmp/kubecache
|
||||
{{- with .Values.controller.envFrom }}
|
||||
envFrom:
|
||||
{{- toYaml . | nindent 10 }}
|
||||
|
@ -344,6 +370,8 @@ spec:
|
|||
name: argocd-home
|
||||
- name: argocd-cmd-params-cm
|
||||
mountPath: /home/argocd/params
|
||||
- name: argocd-application-controller-tmp
|
||||
mountPath: /tmp
|
||||
{{- with .Values.controller.extraContainers }}
|
||||
{{- tpl (toYaml .) $ | nindent 6 }}
|
||||
{{- end }}
|
||||
|
@ -385,6 +413,8 @@ spec:
|
|||
{{- else }}
|
||||
emptyDir: {}
|
||||
{{- end }}
|
||||
- emptyDir: {}
|
||||
name: argocd-application-controller-tmp
|
||||
- name: argocd-repo-server-tls
|
||||
secret:
|
||||
secretName: argocd-repo-server-tls
|
||||
|
|
|
@ -151,6 +151,12 @@ spec:
|
|||
key: applicationsetcontroller.enable.progressive.syncs
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
- name: ARGOCD_APPLICATIONSET_CONTROLLER_TOKENREF_STRICT_MODE
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: applicationsetcontroller.enable.tokenref.strict.mode
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
- name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_NEW_GIT_FILE_GLOBBING
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
|
@ -211,6 +217,12 @@ spec:
|
|||
name: argocd-cmd-params-cm
|
||||
key: applicationsetcontroller.webhook.parallelism.limit
|
||||
optional: true
|
||||
- name: ARGOCD_APPLICATIONSET_CONTROLLER_REQUEUE_AFTER
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: applicationsetcontroller.requeue.after
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
{{- with .Values.applicationSet.extraEnvFrom }}
|
||||
envFrom:
|
||||
{{- toYaml . | nindent 12 }}
|
||||
|
|
238
charts/argo-cd/templates/argocd-commit-server/deployment.yaml
Normal file
238
charts/argo-cd/templates/argocd-commit-server/deployment.yaml
Normal file
|
@ -0,0 +1,238 @@
|
|||
{{- if .Values.commitServer.enabled }}
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
{{- with (mergeOverwrite (deepCopy .Values.global.deploymentAnnotations) .Values.commitServer.deploymentAnnotations) }}
|
||||
annotations:
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
name: {{ template "argo-cd.commitServer.fullname" . }}
|
||||
namespace: {{ include "argo-cd.namespace" . }}
|
||||
labels:
|
||||
{{- include "argo-cd.labels" (dict "context" . "component" .Values.commitServer.name "name" .Values.commitServer.name) | nindent 4 }}
|
||||
spec:
|
||||
{{- with include "argo-cd.strategy" (mergeOverwrite (deepCopy .Values.global.deploymentStrategy) .Values.commitServer.deploymentStrategy) }}
|
||||
strategy:
|
||||
{{- trim . | nindent 4 }}
|
||||
{{- end }}
|
||||
revisionHistoryLimit: {{ .Values.global.revisionHistoryLimit }}
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- include "argo-cd.selectorLabels" (dict "context" . "name" .Values.commitServer.name) | nindent 6 }}
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
{{- with (mergeOverwrite (deepCopy .Values.global.podAnnotations) .Values.commitServer.podAnnotations) }}
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
labels:
|
||||
{{- include "argo-cd.labels" (dict "context" . "component" .Values.commitServer.name "name" .Values.commitServer.name) | nindent 8 }}
|
||||
{{- with (mergeOverwrite (deepCopy .Values.global.podLabels) .Values.commitServer.podLabels) }}
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- with .Values.commitServer.runtimeClassName | default .Values.global.runtimeClassName }}
|
||||
runtimeClassName: {{ . }}
|
||||
{{- end }}
|
||||
{{- with .Values.commitServer.imagePullSecrets | default .Values.global.imagePullSecrets }}
|
||||
imagePullSecrets:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.global.hostAliases }}
|
||||
hostAliases:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.global.securityContext }}
|
||||
securityContext:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.commitServer.priorityClassName | default .Values.global.priorityClassName }}
|
||||
priorityClassName: {{ . }}
|
||||
{{- end }}
|
||||
{{- with .Values.commitServer.terminationGracePeriodSeconds }}
|
||||
terminationGracePeriodSeconds: {{ . }}
|
||||
{{- end }}
|
||||
serviceAccountName: {{ include "argo-cd.commitServer.serviceAccountName" . }}
|
||||
automountServiceAccountToken: {{ .Values.commitServer.automountServiceAccountToken }}
|
||||
containers:
|
||||
- name: {{ .Values.commitServer.name }}
|
||||
image: {{ default .Values.global.image.repository .Values.commitServer.image.repository }}:{{ default (include "argo-cd.defaultTag" .) .Values.commitServer.image.tag }}
|
||||
imagePullPolicy: {{ default .Values.global.image.imagePullPolicy .Values.commitServer.image.imagePullPolicy }}
|
||||
args:
|
||||
- /usr/local/bin/argocd-commit-server
|
||||
{{- with .Values.commitServer.extraArgs }}
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
env:
|
||||
{{- with (concat .Values.global.env .Values.commitServer.extraEnv) }}
|
||||
{{- toYaml . | nindent 10 }}
|
||||
{{- end }}
|
||||
- name: ARGOCD_COMMIT_SERVER_LISTEN_ADDRESS
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: argocd-cmd-params-cm
|
||||
key: commitserver.listen.address
|
||||
optional: true
|
||||
- name: ARGOCD_COMMIT_SERVER_METRICS_LISTEN_ADDRESS
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: argocd-cmd-params-cm
|
||||
key: commitserver.metrics.listen.address
|
||||
optional: true
|
||||
- name: ARGOCD_COMMIT_SERVER_LOGFORMAT
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: argocd-cmd-params-cm
|
||||
key: commitserver.log.format
|
||||
optional: true
|
||||
- name: ARGOCD_COMMIT_SERVER_LOGLEVEL
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: argocd-cmd-params-cm
|
||||
key: commitserver.log.level
|
||||
optional: true
|
||||
- name: ARGOCD_LOG_FORMAT_TIMESTAMP
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: argocd-cmd-params-cm
|
||||
key: log.format.timestamp
|
||||
optional: true
|
||||
{{- with .Values.commitServer.envFrom }}
|
||||
envFrom:
|
||||
{{- toYaml . | nindent 10 }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- containerPort: 8086
|
||||
name: server
|
||||
protocol: TCP
|
||||
- containerPort: 8087
|
||||
name: metrics
|
||||
protocol: TCP
|
||||
{{- if .Values.commitServer.livenessProbe.enabled }}
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /healthz?full=true
|
||||
port: 8087
|
||||
initialDelaySeconds: {{ .Values.commitServer.livenessProbe.initialDelaySeconds }}
|
||||
periodSeconds: {{ .Values.commitServer.livenessProbe.periodSeconds }}
|
||||
failureThreshold: {{ .Values.commitServer.livenessProbe.failureThreshold }}
|
||||
timeoutSeconds: {{ .Values.commitServer.livenessProbe.timeoutSeconds }}
|
||||
{{- end }}
|
||||
{{- if .Values.commitServer.readinessProbe.enabled }}
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /healthz
|
||||
port: 8087
|
||||
initialDelaySeconds: {{ .Values.commitServer.readinessProbe.initialDelaySeconds }}
|
||||
periodSeconds: {{ .Values.commitServer.readinessProbe.periodSeconds }}
|
||||
failureThreshold: {{ .Values.commitServer.readinessProbe.failureThreshold }}
|
||||
timeoutSeconds: {{ .Values.commitServer.readinessProbe.timeoutSeconds }}
|
||||
{{- end }}
|
||||
resources:
|
||||
{{- toYaml .Values.commitServer.resources | nindent 10 }}
|
||||
{{- with .Values.commitServer.containerSecurityContext }}
|
||||
securityContext:
|
||||
{{- toYaml . | nindent 10 }}
|
||||
{{- end }}
|
||||
{{- with .Values.commitServer.lifecycle }}
|
||||
lifecycle:
|
||||
{{- toYaml . | nindent 10 }}
|
||||
{{- end }}
|
||||
volumeMounts:
|
||||
{{- with .Values.commitServer.extraVolumeMounts }}
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
- name: ssh-known-hosts
|
||||
mountPath: /app/config/ssh
|
||||
- name: tls-certs
|
||||
mountPath: /app/config/tls
|
||||
- name: gpg-keys
|
||||
mountPath: /app/config/gpg/source
|
||||
- name: gpg-keyring
|
||||
mountPath: /app/config/gpg/keys
|
||||
# We need a writeable temp directory for the askpass socket file.
|
||||
- name: tmp
|
||||
mountPath: /tmp
|
||||
initContainers:
|
||||
- command:
|
||||
- /bin/cp
|
||||
- -n
|
||||
- /usr/local/bin/argocd
|
||||
- /var/run/argocd/argocd-cmp-server
|
||||
image: {{ default .Values.global.image.repository .Values.commitServer.image.repository }}:{{ default (include "argo-cd.defaultTag" .) .Values.commitServer.image.tag }}
|
||||
name: copyutil
|
||||
resources:
|
||||
{{- toYaml .Values.commitServer.resources | nindent 10 }}
|
||||
{{- with .Values.commitServer.containerSecurityContext }}
|
||||
securityContext:
|
||||
{{- toYaml . | nindent 10 }}
|
||||
{{- end }}
|
||||
volumeMounts:
|
||||
- mountPath: /var/run/argocd
|
||||
name: var-files
|
||||
volumes:
|
||||
{{- with .Values.commitServer.extraVolumes }}
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
- name: ssh-known-hosts
|
||||
configMap:
|
||||
name: argocd-ssh-known-hosts-cm
|
||||
- name: tls-certs
|
||||
configMap:
|
||||
name: argocd-tls-certs-cm
|
||||
- name: gpg-keys
|
||||
configMap:
|
||||
name: argocd-gpg-keys-cm
|
||||
- name: gpg-keyring
|
||||
emptyDir: {}
|
||||
- name: tmp
|
||||
emptyDir: {}
|
||||
- name: argocd-commit-server-tls
|
||||
secret:
|
||||
secretName: argocd-commit-server-tls
|
||||
optional: true
|
||||
items:
|
||||
- key: tls.crt
|
||||
path: tls.crt
|
||||
- key: tls.key
|
||||
path: tls.key
|
||||
- key: ca.crt
|
||||
path: ca.crt
|
||||
- emptyDir: {}
|
||||
name: var-files
|
||||
{{- with include "argo-cd.affinity" (dict "context" . "component" .Values.commitServer) }}
|
||||
affinity:
|
||||
{{- trim . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.commitServer.nodeSelector | default .Values.global.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.commitServer.tolerations | default .Values.global.tolerations }}
|
||||
tolerations:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.commitServer.topologySpreadConstraints | default .Values.global.topologySpreadConstraints }}
|
||||
topologySpreadConstraints:
|
||||
{{- range $constraint := . }}
|
||||
- {{ toYaml $constraint | nindent 8 | trim }}
|
||||
{{- if not $constraint.labelSelector }}
|
||||
labelSelector:
|
||||
matchLabels:
|
||||
{{- include "argo-cd.selectorLabels" (dict "context" . "name" .Values.commitServer.name) | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.commitServer.hostNetwork }}
|
||||
hostNetwork: {{ .Values.commitServer.hostNetwork }}
|
||||
{{- end }}
|
||||
{{- with .Values.commitServer.dnsConfig }}
|
||||
dnsConfig:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
dnsPolicy: {{ .Values.commitServer.dnsPolicy }}
|
||||
{{- end }}
|
35
charts/argo-cd/templates/argocd-commit-server/metrics.yaml
Normal file
35
charts/argo-cd/templates/argocd-commit-server/metrics.yaml
Normal file
|
@ -0,0 +1,35 @@
|
|||
{{- if and .Values.commitServer.enabled .Values.commitServer.metrics.enabled }}
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ include "argo-cd.commitServer.fullname" . }}-metrics
|
||||
namespace: {{ include "argo-cd.namespace" . }}
|
||||
labels:
|
||||
{{- include "argo-cd.labels" (dict "context" . "component" .Values.commitServer.name "name" "metrics") | nindent 4 }}
|
||||
{{- with .Values.commitServer.metrics.service.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if or .Values.commitServer.metrics.service.annotations .Values.global.addPrometheusAnnotations }}
|
||||
annotations:
|
||||
{{- if .Values.global.addPrometheusAnnotations }}
|
||||
prometheus.io/port: {{ .Values.commitServer.metrics.service.servicePort | quote }}
|
||||
prometheus.io/scrape: "true"
|
||||
{{- end }}
|
||||
{{- range $key, $value := .Values.commitServer.metrics.service.annotations }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
type: {{ .Values.commitServer.metrics.service.type }}
|
||||
{{- if and .Values.commitServer.metrics.service.clusterIP (eq .Values.commitServer.metrics.service.type "ClusterIP") }}
|
||||
clusterIP: {{ .Values.commitServer.metrics.service.clusterIP }}
|
||||
{{- end }}
|
||||
{{- include "argo-cd.dualStack" . | indent 2 }}
|
||||
ports:
|
||||
- name: {{ .Values.commitServer.metrics.service.portName }}
|
||||
protocol: TCP
|
||||
port: {{ .Values.commitServer.metrics.service.servicePort }}
|
||||
targetPort: 8087
|
||||
selector:
|
||||
{{- include "argo-cd.selectorLabels" (dict "context" . "name" .Values.commitServer.name) | nindent 4 }}
|
||||
{{- end }}
|
|
@ -0,0 +1,25 @@
|
|||
{{- if and .Values.commitServer.enabled .Values.global.networkPolicy.create }}
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: NetworkPolicy
|
||||
metadata:
|
||||
name: {{ template "argo-cd.commitServer.fullname" . }}
|
||||
namespace: {{ include "argo-cd.namespace" . }}
|
||||
spec:
|
||||
podSelector:
|
||||
matchLabels:
|
||||
{{- include "argo-cd.selectorLabels" (dict "context" . "name" .Values.commitServer.name) | nindent 6 }}
|
||||
policyTypes:
|
||||
- Ingress
|
||||
ingress:
|
||||
- from:
|
||||
- podSelector:
|
||||
matchLabels:
|
||||
{{- include "argo-cd.selectorLabels" (dict "context" . "name" .Values.controller.name) | nindent 14 }}
|
||||
ports:
|
||||
- protocol: TCP
|
||||
port: 8086
|
||||
- from:
|
||||
- namespaceSelector: { }
|
||||
ports:
|
||||
- port: 8087
|
||||
{{- end }}
|
26
charts/argo-cd/templates/argocd-commit-server/service.yaml
Normal file
26
charts/argo-cd/templates/argocd-commit-server/service.yaml
Normal file
|
@ -0,0 +1,26 @@
|
|||
{{- if .Values.commitServer.enabled }}
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ template "argo-cd.commitServer.fullname" . }}
|
||||
namespace: {{ include "argo-cd.namespace" . }}
|
||||
labels:
|
||||
{{- include "argo-cd.labels" (dict "context" . "component" .Values.commitServer.name "name" .Values.commitServer.name) | nindent 4 }}
|
||||
{{- with .Values.commitServer.service.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.commitServer.service.annotations }}
|
||||
annotations:
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
ports:
|
||||
- name: server
|
||||
protocol: TCP
|
||||
port: 8086
|
||||
targetPort: 8086
|
||||
selector:
|
||||
{{- include "argo-cd.selectorLabels" (dict "context" . "name" .Values.commitServer.name) | nindent 4 }}
|
||||
{{- end }}
|
|
@ -0,0 +1,19 @@
|
|||
{{- if and .Values.commitServer.enabled .Values.commitServer.serviceAccount.create }}
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
automountServiceAccountToken: {{ .Values.commitServer.serviceAccount.automountServiceAccountToken }}
|
||||
metadata:
|
||||
name: {{ include "argo-cd.commitServer.serviceAccountName" . }}
|
||||
namespace: {{ include "argo-cd.namespace" . }}
|
||||
{{- with .Values.commitServer.serviceAccount.annotations }}
|
||||
annotations:
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
labels:
|
||||
{{- include "argo-cd.labels" (dict "context" . "component" .Values.commitServer.name "name" .Values.commitServer.name) | nindent 4 }}
|
||||
{{- with .Values.commitServer.serviceAccount.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
|
@ -1,3 +1,4 @@
|
|||
{{- if .Values.configs.ssh.create }}
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
|
@ -17,3 +18,4 @@ data:
|
|||
{{- with .Values.configs.ssh.extraHosts }}
|
||||
{{- . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
{{- if .Values.configs.tls.create }}
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
|
@ -15,3 +16,4 @@ metadata:
|
|||
data:
|
||||
{{- toYaml . | nindent 2 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
|
|
@ -22,7 +22,7 @@ stringData:
|
|||
{{- if $cluster_value.shard }}
|
||||
shard: {{ $cluster_value.shard | quote }}
|
||||
{{- end }}
|
||||
name: {{ required "A valid .Values.configs.clusterCredentials.CLUSTERNAME.name entry is required!" $cluster_key }}
|
||||
name: {{ $cluster_key }}
|
||||
server: {{ required "A valid .Values.configs.clusterCredentials.CLUSTERNAME.server entry is required!" $cluster_value.server }}
|
||||
{{- if $cluster_value.namespaces }}
|
||||
namespaces: {{ $cluster_value.namespaces }}
|
||||
|
|
|
@ -239,6 +239,12 @@ spec:
|
|||
name: argocd-cmd-params-cm
|
||||
key: reposerver.plugin.tar.exclusions
|
||||
optional: true
|
||||
- name: ARGOCD_REPO_SERVER_PLUGIN_USE_MANIFEST_GENERATE_PATHS
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: reposerver.plugin.use.manifest.generate.paths
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
- name: ARGOCD_REPO_SERVER_ALLOW_OUT_OF_BOUNDS_SYMLINKS
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
|
|
|
@ -373,6 +373,12 @@ spec:
|
|||
name: argocd-cmd-params-cm
|
||||
key: applicationsetcontroller.enable.scm.providers
|
||||
optional: true
|
||||
- name: ARGOCD_HYDRATOR_ENABLED
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: argocd-cmd-params-cm
|
||||
key: hydrator.enabled
|
||||
optional: true
|
||||
{{- with .Values.server.envFrom }}
|
||||
envFrom:
|
||||
{{- toYaml . | nindent 10 }}
|
||||
|
|
|
@ -9,20 +9,20 @@ metadata:
|
|||
labels:
|
||||
{{- include "argo-cd.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }}
|
||||
{{- with .Values.server.ingress.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- tpl (toYaml .) $ | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.server.ingress.annotations }}
|
||||
annotations:
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{ $key }}: {{ tpl (toString $value) $ | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- with .Values.server.ingress.ingressClassName }}
|
||||
ingressClassName: {{ . }}
|
||||
ingressClassName: {{ tpl . $ }}
|
||||
{{- end }}
|
||||
rules:
|
||||
- host: {{ .Values.server.ingress.hostname | default .Values.global.domain }}
|
||||
- host: {{ tpl (.Values.server.ingress.hostname) $ | default .Values.global.domain }}
|
||||
http:
|
||||
paths:
|
||||
{{- with .Values.server.ingress.extraPaths }}
|
||||
|
@ -36,7 +36,7 @@ spec:
|
|||
port:
|
||||
number: {{ $servicePort }}
|
||||
{{- range .Values.server.ingress.extraHosts }}
|
||||
- host: {{ .name | quote }}
|
||||
- host: {{ tpl .name $ | quote }}
|
||||
http:
|
||||
paths:
|
||||
- path: {{ default $.Values.server.ingress.path .path }}
|
||||
|
@ -54,10 +54,10 @@ spec:
|
|||
tls:
|
||||
{{- if .Values.server.ingress.tls }}
|
||||
- hosts:
|
||||
- {{ .Values.server.ingress.hostname | default .Values.global.domain }}
|
||||
- {{ tpl (.Values.server.ingress.hostname) $ | default .Values.global.domain }}
|
||||
{{- range .Values.server.ingress.extraHosts }}
|
||||
{{- if .name }}
|
||||
- {{ .name }}
|
||||
- {{ tpl .name $ }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
secretName: argocd-server-tls
|
||||
|
|
|
@ -319,6 +319,14 @@ spec:
|
|||
description: SkipCrds skips custom resource definition
|
||||
installation step (Helm's --skip-crds)
|
||||
type: boolean
|
||||
skipSchemaValidation:
|
||||
description: SkipSchemaValidation skips JSON schema validation
|
||||
(Helm's --skip-schema-validation)
|
||||
type: boolean
|
||||
skipTests:
|
||||
description: SkipTests skips test manifest installation
|
||||
step (Helm's --skip-tests).
|
||||
type: boolean
|
||||
valueFiles:
|
||||
description: ValuesFiles is a list of Helm value files
|
||||
to use when generating a template
|
||||
|
@ -466,6 +474,10 @@ spec:
|
|||
to use for rendering manifests
|
||||
type: string
|
||||
type: object
|
||||
name:
|
||||
description: Name is used to refer to a source and is displayed
|
||||
in the UI. It is used in multi-source Applications.
|
||||
type: string
|
||||
path:
|
||||
description: Path is a directory path within the Git repository,
|
||||
and is only valid for applications sourced from Git.
|
||||
|
@ -685,6 +697,14 @@ spec:
|
|||
description: SkipCrds skips custom resource definition
|
||||
installation step (Helm's --skip-crds)
|
||||
type: boolean
|
||||
skipSchemaValidation:
|
||||
description: SkipSchemaValidation skips JSON schema
|
||||
validation (Helm's --skip-schema-validation)
|
||||
type: boolean
|
||||
skipTests:
|
||||
description: SkipTests skips test manifest installation
|
||||
step (Helm's --skip-tests).
|
||||
type: boolean
|
||||
valueFiles:
|
||||
description: ValuesFiles is a list of Helm value files
|
||||
to use when generating a template
|
||||
|
@ -834,6 +854,10 @@ spec:
|
|||
to use for rendering manifests
|
||||
type: string
|
||||
type: object
|
||||
name:
|
||||
description: Name is used to refer to a source and is displayed
|
||||
in the UI. It is used in multi-source Applications.
|
||||
type: string
|
||||
path:
|
||||
description: Path is a directory path within the Git repository,
|
||||
and is only valid for applications sourced from Git.
|
||||
|
@ -1166,6 +1190,14 @@ spec:
|
|||
description: SkipCrds skips custom resource definition installation
|
||||
step (Helm's --skip-crds)
|
||||
type: boolean
|
||||
skipSchemaValidation:
|
||||
description: SkipSchemaValidation skips JSON schema validation
|
||||
(Helm's --skip-schema-validation)
|
||||
type: boolean
|
||||
skipTests:
|
||||
description: SkipTests skips test manifest installation step
|
||||
(Helm's --skip-tests).
|
||||
type: boolean
|
||||
valueFiles:
|
||||
description: ValuesFiles is a list of Helm value files to
|
||||
use when generating a template
|
||||
|
@ -1312,6 +1344,10 @@ spec:
|
|||
use for rendering manifests
|
||||
type: string
|
||||
type: object
|
||||
name:
|
||||
description: Name is used to refer to a source and is displayed
|
||||
in the UI. It is used in multi-source Applications.
|
||||
type: string
|
||||
path:
|
||||
description: Path is a directory path within the Git repository,
|
||||
and is only valid for applications sourced from Git.
|
||||
|
@ -1378,6 +1414,64 @@ spec:
|
|||
required:
|
||||
- repoURL
|
||||
type: object
|
||||
sourceHydrator:
|
||||
description: SourceHydrator provides a way to push hydrated manifests
|
||||
back to git before syncing them to the cluster.
|
||||
properties:
|
||||
drySource:
|
||||
description: DrySource specifies where the dry "don't repeat yourself"
|
||||
manifest source lives.
|
||||
properties:
|
||||
path:
|
||||
description: Path is a directory path within the Git repository
|
||||
where the manifests are located
|
||||
type: string
|
||||
repoURL:
|
||||
description: RepoURL is the URL to the git repository that
|
||||
contains the application manifests
|
||||
type: string
|
||||
targetRevision:
|
||||
description: TargetRevision defines the revision of the source
|
||||
to hydrate
|
||||
type: string
|
||||
required:
|
||||
- path
|
||||
- repoURL
|
||||
- targetRevision
|
||||
type: object
|
||||
hydrateTo:
|
||||
description: |-
|
||||
HydrateTo specifies an optional "staging" location to push hydrated manifests to. An external system would then
|
||||
have to move manifests to the SyncSource, e.g. by pull request.
|
||||
properties:
|
||||
targetBranch:
|
||||
description: TargetBranch is the branch to which hydrated
|
||||
manifests should be committed
|
||||
type: string
|
||||
required:
|
||||
- targetBranch
|
||||
type: object
|
||||
syncSource:
|
||||
description: SyncSource specifies where to sync hydrated manifests
|
||||
from.
|
||||
properties:
|
||||
path:
|
||||
description: |-
|
||||
Path is a directory path within the git repository where hydrated manifests should be committed to and synced
|
||||
from. If hydrateTo is set, this is just the path from which hydrated manifests will be synced.
|
||||
type: string
|
||||
targetBranch:
|
||||
description: TargetBranch is the branch to which hydrated
|
||||
manifests should be committed
|
||||
type: string
|
||||
required:
|
||||
- path
|
||||
- targetBranch
|
||||
type: object
|
||||
required:
|
||||
- drySource
|
||||
- syncSource
|
||||
type: object
|
||||
sources:
|
||||
description: Sources is a reference to the location of the application's
|
||||
manifests or chart
|
||||
|
@ -1523,6 +1617,14 @@ spec:
|
|||
description: SkipCrds skips custom resource definition installation
|
||||
step (Helm's --skip-crds)
|
||||
type: boolean
|
||||
skipSchemaValidation:
|
||||
description: SkipSchemaValidation skips JSON schema validation
|
||||
(Helm's --skip-schema-validation)
|
||||
type: boolean
|
||||
skipTests:
|
||||
description: SkipTests skips test manifest installation
|
||||
step (Helm's --skip-tests).
|
||||
type: boolean
|
||||
valueFiles:
|
||||
description: ValuesFiles is a list of Helm value files to
|
||||
use when generating a template
|
||||
|
@ -1670,6 +1772,10 @@ spec:
|
|||
to use for rendering manifests
|
||||
type: string
|
||||
type: object
|
||||
name:
|
||||
description: Name is used to refer to a source and is displayed
|
||||
in the UI. It is used in multi-source Applications.
|
||||
type: string
|
||||
path:
|
||||
description: Path is a directory path within the Git repository,
|
||||
and is only valid for applications sourced from Git.
|
||||
|
@ -1848,6 +1954,11 @@ spec:
|
|||
description: Health contains information about the application's current
|
||||
health status
|
||||
properties:
|
||||
lastTransitionTime:
|
||||
description: LastTransitionTime is the time the HealthStatus was
|
||||
set or updated
|
||||
format: date-time
|
||||
type: string
|
||||
message:
|
||||
description: Message is a human-readable informational message
|
||||
describing the health status
|
||||
|
@ -2045,6 +2156,14 @@ spec:
|
|||
description: SkipCrds skips custom resource definition
|
||||
installation step (Helm's --skip-crds)
|
||||
type: boolean
|
||||
skipSchemaValidation:
|
||||
description: SkipSchemaValidation skips JSON schema
|
||||
validation (Helm's --skip-schema-validation)
|
||||
type: boolean
|
||||
skipTests:
|
||||
description: SkipTests skips test manifest installation
|
||||
step (Helm's --skip-tests).
|
||||
type: boolean
|
||||
valueFiles:
|
||||
description: ValuesFiles is a list of Helm value files
|
||||
to use when generating a template
|
||||
|
@ -2194,6 +2313,10 @@ spec:
|
|||
to use for rendering manifests
|
||||
type: string
|
||||
type: object
|
||||
name:
|
||||
description: Name is used to refer to a source and is displayed
|
||||
in the UI. It is used in multi-source Applications.
|
||||
type: string
|
||||
path:
|
||||
description: Path is a directory path within the Git repository,
|
||||
and is only valid for applications sourced from Git.
|
||||
|
@ -2414,6 +2537,14 @@ spec:
|
|||
description: SkipCrds skips custom resource definition
|
||||
installation step (Helm's --skip-crds)
|
||||
type: boolean
|
||||
skipSchemaValidation:
|
||||
description: SkipSchemaValidation skips JSON schema
|
||||
validation (Helm's --skip-schema-validation)
|
||||
type: boolean
|
||||
skipTests:
|
||||
description: SkipTests skips test manifest installation
|
||||
step (Helm's --skip-tests).
|
||||
type: boolean
|
||||
valueFiles:
|
||||
description: ValuesFiles is a list of Helm value files
|
||||
to use when generating a template
|
||||
|
@ -2565,6 +2696,10 @@ spec:
|
|||
to use for rendering manifests
|
||||
type: string
|
||||
type: object
|
||||
name:
|
||||
description: Name is used to refer to a source and is
|
||||
displayed in the UI. It is used in multi-source Applications.
|
||||
type: string
|
||||
path:
|
||||
description: Path is a directory path within the Git repository,
|
||||
and is only valid for applications sourced from Git.
|
||||
|
@ -2933,6 +3068,14 @@ spec:
|
|||
description: SkipCrds skips custom resource definition
|
||||
installation step (Helm's --skip-crds)
|
||||
type: boolean
|
||||
skipSchemaValidation:
|
||||
description: SkipSchemaValidation skips JSON schema
|
||||
validation (Helm's --skip-schema-validation)
|
||||
type: boolean
|
||||
skipTests:
|
||||
description: SkipTests skips test manifest installation
|
||||
step (Helm's --skip-tests).
|
||||
type: boolean
|
||||
valueFiles:
|
||||
description: ValuesFiles is a list of Helm value
|
||||
files to use when generating a template
|
||||
|
@ -3085,6 +3228,11 @@ spec:
|
|||
Kustomize to use for rendering manifests
|
||||
type: string
|
||||
type: object
|
||||
name:
|
||||
description: Name is used to refer to a source and
|
||||
is displayed in the UI. It is used in multi-source
|
||||
Applications.
|
||||
type: string
|
||||
path:
|
||||
description: Path is a directory path within the Git
|
||||
repository, and is only valid for applications sourced
|
||||
|
@ -3320,6 +3468,14 @@ spec:
|
|||
description: SkipCrds skips custom resource
|
||||
definition installation step (Helm's --skip-crds)
|
||||
type: boolean
|
||||
skipSchemaValidation:
|
||||
description: SkipSchemaValidation skips JSON
|
||||
schema validation (Helm's --skip-schema-validation)
|
||||
type: boolean
|
||||
skipTests:
|
||||
description: SkipTests skips test manifest installation
|
||||
step (Helm's --skip-tests).
|
||||
type: boolean
|
||||
valueFiles:
|
||||
description: ValuesFiles is a list of Helm value
|
||||
files to use when generating a template
|
||||
|
@ -3475,6 +3631,11 @@ spec:
|
|||
of Kustomize to use for rendering manifests
|
||||
type: string
|
||||
type: object
|
||||
name:
|
||||
description: Name is used to refer to a source and
|
||||
is displayed in the UI. It is used in multi-source
|
||||
Applications.
|
||||
type: string
|
||||
path:
|
||||
description: Path is a directory path within the
|
||||
Git repository, and is only valid for applications
|
||||
|
@ -3824,6 +3985,14 @@ spec:
|
|||
description: SkipCrds skips custom resource definition
|
||||
installation step (Helm's --skip-crds)
|
||||
type: boolean
|
||||
skipSchemaValidation:
|
||||
description: SkipSchemaValidation skips JSON schema
|
||||
validation (Helm's --skip-schema-validation)
|
||||
type: boolean
|
||||
skipTests:
|
||||
description: SkipTests skips test manifest installation
|
||||
step (Helm's --skip-tests).
|
||||
type: boolean
|
||||
valueFiles:
|
||||
description: ValuesFiles is a list of Helm value files
|
||||
to use when generating a template
|
||||
|
@ -3975,6 +4144,10 @@ spec:
|
|||
to use for rendering manifests
|
||||
type: string
|
||||
type: object
|
||||
name:
|
||||
description: Name is used to refer to a source and is
|
||||
displayed in the UI. It is used in multi-source Applications.
|
||||
type: string
|
||||
path:
|
||||
description: Path is a directory path within the Git repository,
|
||||
and is only valid for applications sourced from Git.
|
||||
|
@ -4205,6 +4378,14 @@ spec:
|
|||
description: SkipCrds skips custom resource definition
|
||||
installation step (Helm's --skip-crds)
|
||||
type: boolean
|
||||
skipSchemaValidation:
|
||||
description: SkipSchemaValidation skips JSON schema
|
||||
validation (Helm's --skip-schema-validation)
|
||||
type: boolean
|
||||
skipTests:
|
||||
description: SkipTests skips test manifest installation
|
||||
step (Helm's --skip-tests).
|
||||
type: boolean
|
||||
valueFiles:
|
||||
description: ValuesFiles is a list of Helm value
|
||||
files to use when generating a template
|
||||
|
@ -4357,6 +4538,10 @@ spec:
|
|||
to use for rendering manifests
|
||||
type: string
|
||||
type: object
|
||||
name:
|
||||
description: Name is used to refer to a source and is
|
||||
displayed in the UI. It is used in multi-source Applications.
|
||||
type: string
|
||||
path:
|
||||
description: Path is a directory path within the Git
|
||||
repository, and is only valid for applications sourced
|
||||
|
@ -4463,6 +4648,11 @@ spec:
|
|||
description: HealthStatus contains information about the currently
|
||||
observed health state of an application or resource
|
||||
properties:
|
||||
lastTransitionTime:
|
||||
description: LastTransitionTime is the time the HealthStatus
|
||||
was set or updated
|
||||
format: date-time
|
||||
type: string
|
||||
message:
|
||||
description: Message is a human-readable informational message
|
||||
describing the health status
|
||||
|
@ -4480,6 +4670,8 @@ spec:
|
|||
type: string
|
||||
namespace:
|
||||
type: string
|
||||
requiresDeletionConfirmation:
|
||||
type: boolean
|
||||
requiresPruning:
|
||||
type: boolean
|
||||
status:
|
||||
|
@ -4493,6 +4685,177 @@ spec:
|
|||
type: string
|
||||
type: object
|
||||
type: array
|
||||
sourceHydrator:
|
||||
description: SourceHydrator stores information about the current state
|
||||
of source hydration
|
||||
properties:
|
||||
currentOperation:
|
||||
description: CurrentOperation holds the status of the hydrate
|
||||
operation
|
||||
properties:
|
||||
drySHA:
|
||||
description: DrySHA holds the resolved revision (sha) of the
|
||||
dry source as of the most recent reconciliation
|
||||
type: string
|
||||
finishedAt:
|
||||
description: FinishedAt indicates when the hydrate operation
|
||||
finished
|
||||
format: date-time
|
||||
type: string
|
||||
hydratedSHA:
|
||||
description: HydratedSHA holds the resolved revision (sha)
|
||||
of the hydrated source as of the most recent reconciliation
|
||||
type: string
|
||||
message:
|
||||
description: Message contains a message describing the current
|
||||
status of the hydrate operation
|
||||
type: string
|
||||
phase:
|
||||
description: Phase indicates the status of the hydrate operation
|
||||
enum:
|
||||
- Hydrating
|
||||
- Failed
|
||||
- Hydrated
|
||||
type: string
|
||||
sourceHydrator:
|
||||
description: SourceHydrator holds the hydrator config used
|
||||
for the hydrate operation
|
||||
properties:
|
||||
drySource:
|
||||
description: DrySource specifies where the dry "don't
|
||||
repeat yourself" manifest source lives.
|
||||
properties:
|
||||
path:
|
||||
description: Path is a directory path within the Git
|
||||
repository where the manifests are located
|
||||
type: string
|
||||
repoURL:
|
||||
description: RepoURL is the URL to the git repository
|
||||
that contains the application manifests
|
||||
type: string
|
||||
targetRevision:
|
||||
description: TargetRevision defines the revision of
|
||||
the source to hydrate
|
||||
type: string
|
||||
required:
|
||||
- path
|
||||
- repoURL
|
||||
- targetRevision
|
||||
type: object
|
||||
hydrateTo:
|
||||
description: |-
|
||||
HydrateTo specifies an optional "staging" location to push hydrated manifests to. An external system would then
|
||||
have to move manifests to the SyncSource, e.g. by pull request.
|
||||
properties:
|
||||
targetBranch:
|
||||
description: TargetBranch is the branch to which hydrated
|
||||
manifests should be committed
|
||||
type: string
|
||||
required:
|
||||
- targetBranch
|
||||
type: object
|
||||
syncSource:
|
||||
description: SyncSource specifies where to sync hydrated
|
||||
manifests from.
|
||||
properties:
|
||||
path:
|
||||
description: |-
|
||||
Path is a directory path within the git repository where hydrated manifests should be committed to and synced
|
||||
from. If hydrateTo is set, this is just the path from which hydrated manifests will be synced.
|
||||
type: string
|
||||
targetBranch:
|
||||
description: TargetBranch is the branch to which hydrated
|
||||
manifests should be committed
|
||||
type: string
|
||||
required:
|
||||
- path
|
||||
- targetBranch
|
||||
type: object
|
||||
required:
|
||||
- drySource
|
||||
- syncSource
|
||||
type: object
|
||||
startedAt:
|
||||
description: StartedAt indicates when the hydrate operation
|
||||
started
|
||||
format: date-time
|
||||
type: string
|
||||
required:
|
||||
- message
|
||||
- phase
|
||||
type: object
|
||||
lastSuccessfulOperation:
|
||||
description: LastSuccessfulOperation holds info about the most
|
||||
recent successful hydration
|
||||
properties:
|
||||
drySHA:
|
||||
description: DrySHA holds the resolved revision (sha) of the
|
||||
dry source as of the most recent reconciliation
|
||||
type: string
|
||||
hydratedSHA:
|
||||
description: HydratedSHA holds the resolved revision (sha)
|
||||
of the hydrated source as of the most recent reconciliation
|
||||
type: string
|
||||
sourceHydrator:
|
||||
description: SourceHydrator holds the hydrator config used
|
||||
for the hydrate operation
|
||||
properties:
|
||||
drySource:
|
||||
description: DrySource specifies where the dry "don't
|
||||
repeat yourself" manifest source lives.
|
||||
properties:
|
||||
path:
|
||||
description: Path is a directory path within the Git
|
||||
repository where the manifests are located
|
||||
type: string
|
||||
repoURL:
|
||||
description: RepoURL is the URL to the git repository
|
||||
that contains the application manifests
|
||||
type: string
|
||||
targetRevision:
|
||||
description: TargetRevision defines the revision of
|
||||
the source to hydrate
|
||||
type: string
|
||||
required:
|
||||
- path
|
||||
- repoURL
|
||||
- targetRevision
|
||||
type: object
|
||||
hydrateTo:
|
||||
description: |-
|
||||
HydrateTo specifies an optional "staging" location to push hydrated manifests to. An external system would then
|
||||
have to move manifests to the SyncSource, e.g. by pull request.
|
||||
properties:
|
||||
targetBranch:
|
||||
description: TargetBranch is the branch to which hydrated
|
||||
manifests should be committed
|
||||
type: string
|
||||
required:
|
||||
- targetBranch
|
||||
type: object
|
||||
syncSource:
|
||||
description: SyncSource specifies where to sync hydrated
|
||||
manifests from.
|
||||
properties:
|
||||
path:
|
||||
description: |-
|
||||
Path is a directory path within the git repository where hydrated manifests should be committed to and synced
|
||||
from. If hydrateTo is set, this is just the path from which hydrated manifests will be synced.
|
||||
type: string
|
||||
targetBranch:
|
||||
description: TargetBranch is the branch to which hydrated
|
||||
manifests should be committed
|
||||
type: string
|
||||
required:
|
||||
- path
|
||||
- targetBranch
|
||||
type: object
|
||||
required:
|
||||
- drySource
|
||||
- syncSource
|
||||
type: object
|
||||
type: object
|
||||
type: object
|
||||
sourceType:
|
||||
description: SourceType specifies the type of this application
|
||||
type: string
|
||||
|
@ -4730,6 +5093,14 @@ spec:
|
|||
description: SkipCrds skips custom resource definition
|
||||
installation step (Helm's --skip-crds)
|
||||
type: boolean
|
||||
skipSchemaValidation:
|
||||
description: SkipSchemaValidation skips JSON schema
|
||||
validation (Helm's --skip-schema-validation)
|
||||
type: boolean
|
||||
skipTests:
|
||||
description: SkipTests skips test manifest installation
|
||||
step (Helm's --skip-tests).
|
||||
type: boolean
|
||||
valueFiles:
|
||||
description: ValuesFiles is a list of Helm value files
|
||||
to use when generating a template
|
||||
|
@ -4881,6 +5252,10 @@ spec:
|
|||
to use for rendering manifests
|
||||
type: string
|
||||
type: object
|
||||
name:
|
||||
description: Name is used to refer to a source and is
|
||||
displayed in the UI. It is used in multi-source Applications.
|
||||
type: string
|
||||
path:
|
||||
description: Path is a directory path within the Git repository,
|
||||
and is only valid for applications sourced from Git.
|
||||
|
@ -5111,6 +5486,14 @@ spec:
|
|||
description: SkipCrds skips custom resource definition
|
||||
installation step (Helm's --skip-crds)
|
||||
type: boolean
|
||||
skipSchemaValidation:
|
||||
description: SkipSchemaValidation skips JSON schema
|
||||
validation (Helm's --skip-schema-validation)
|
||||
type: boolean
|
||||
skipTests:
|
||||
description: SkipTests skips test manifest installation
|
||||
step (Helm's --skip-tests).
|
||||
type: boolean
|
||||
valueFiles:
|
||||
description: ValuesFiles is a list of Helm value
|
||||
files to use when generating a template
|
||||
|
@ -5263,6 +5646,10 @@ spec:
|
|||
to use for rendering manifests
|
||||
type: string
|
||||
type: object
|
||||
name:
|
||||
description: Name is used to refer to a source and is
|
||||
displayed in the UI. It is used in multi-source Applications.
|
||||
type: string
|
||||
path:
|
||||
description: Path is a directory path within the Git
|
||||
repository, and is only valid for applications sourced
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,4 +1,4 @@
|
|||
{{- if and (.Capabilities.APIVersions.Has "monitoring.coreos.com/v1") .Values.dex.metrics.enabled .Values.dex.metrics.serviceMonitor.enabled }}
|
||||
{{- if and (.Capabilities.APIVersions.Has "monitoring.coreos.com/v1") .Values.dex.enabled .Values.dex.metrics.enabled .Values.dex.metrics.serviceMonitor.enabled }}
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: ServiceMonitor
|
||||
metadata:
|
||||
|
|
|
@ -119,7 +119,8 @@ global:
|
|||
priorityClassName: ""
|
||||
|
||||
# -- Default node selector for all components
|
||||
nodeSelector: {}
|
||||
nodeSelector:
|
||||
kubernetes.io/os: linux
|
||||
|
||||
# -- Default tolerations for all components
|
||||
tolerations: []
|
||||
|
@ -141,7 +142,7 @@ global:
|
|||
# - antarctica-west1
|
||||
|
||||
# -- Default [TopologySpreadConstraints] rules for all components
|
||||
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
|
||||
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/
|
||||
## If labelSelector is left out, it will default to the labelSelector of the component
|
||||
topologySpreadConstraints: []
|
||||
# - maxSkew: 1
|
||||
|
@ -175,6 +176,10 @@ configs:
|
|||
# -- The name of tracking label used by Argo CD for resource pruning
|
||||
application.instanceLabelKey: argocd.argoproj.io/instance
|
||||
|
||||
# -- Enable control of the service account used for the sync operation (alpha)
|
||||
## Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/app-sync-using-impersonation/
|
||||
application.sync.impersonation.enabled: false
|
||||
|
||||
# -- Enable logs RBAC enforcement
|
||||
## Ref: https://argo-cd.readthedocs.io/en/latest/operator-manual/upgrading/2.3-2.4/#enable-logs-rbac-enforcement
|
||||
server.rbac.log.enforce.enable: false
|
||||
|
@ -371,6 +376,9 @@ configs:
|
|||
# SSH known hosts for Git repositories
|
||||
## Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#ssh-known-host-public-keys
|
||||
ssh:
|
||||
# -- Specifies if the argocd-ssh-known-hosts-cm configmap should be created by Helm.
|
||||
create: true
|
||||
|
||||
# -- Annotations to be added to argocd-ssh-known-hosts-cm configmap
|
||||
annotations: {}
|
||||
|
||||
|
@ -409,6 +417,9 @@ configs:
|
|||
# ...
|
||||
# -----END CERTIFICATE-----
|
||||
|
||||
# -- Specifies if the argocd-tls-certs-cm configmap should be created by Helm.
|
||||
create: true
|
||||
|
||||
# ConfigMap for Config Management Plugins
|
||||
# Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/config-management-plugins/
|
||||
cmp:
|
||||
|
@ -789,7 +800,7 @@ controller:
|
|||
- ALL
|
||||
|
||||
# Readiness probe for application controller
|
||||
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
|
||||
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
|
||||
readinessProbe:
|
||||
# -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
|
||||
failureThreshold: 3
|
||||
|
@ -823,7 +834,7 @@ controller:
|
|||
|
||||
# -- Assign custom [TopologySpreadConstraints] rules to the application controller
|
||||
# @default -- `[]` (defaults to global.topologySpreadConstraints)
|
||||
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
|
||||
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/
|
||||
## If labelSelector is left out, it will default to the labelSelector configuration of the deployment
|
||||
topologySpreadConstraints: []
|
||||
# - maxSkew: 1
|
||||
|
@ -1014,7 +1025,7 @@ dex:
|
|||
# -- Dex image repository
|
||||
repository: ghcr.io/dexidp/dex
|
||||
# -- Dex image tag
|
||||
tag: v2.41.1
|
||||
tag: v2.42.0
|
||||
# -- Dex imagePullPolicy
|
||||
# @default -- `""` (defaults to global.image.imagePullPolicy)
|
||||
imagePullPolicy: ""
|
||||
|
@ -1225,7 +1236,7 @@ dex:
|
|||
|
||||
# -- Assign custom [TopologySpreadConstraints] rules to dex
|
||||
# @default -- `[]` (defaults to global.topologySpreadConstraints)
|
||||
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
|
||||
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/
|
||||
## If labelSelector is left out, it will default to the labelSelector configuration of the deployment
|
||||
topologySpreadConstraints: []
|
||||
# - maxSkew: 1
|
||||
|
@ -1278,7 +1289,7 @@ redis:
|
|||
# -- Redis repository
|
||||
repository: public.ecr.aws/docker/library/redis
|
||||
# -- Redis tag
|
||||
tag: 7.4.1-alpine
|
||||
tag: 7.4.2-alpine
|
||||
# -- Redis image pull policy
|
||||
# @default -- `""` (defaults to global.image.imagePullPolicy)
|
||||
imagePullPolicy: ""
|
||||
|
@ -1294,7 +1305,7 @@ redis:
|
|||
# -- Repository to use for the redis-exporter
|
||||
repository: public.ecr.aws/bitnami/redis-exporter
|
||||
# -- Tag to use for the redis-exporter
|
||||
tag: 1.58.0
|
||||
tag: 1.67.0
|
||||
# -- Image pull policy for the redis-exporter
|
||||
# @default -- `""` (defaults to global.image.imagePullPolicy)
|
||||
imagePullPolicy: ""
|
||||
|
@ -1312,7 +1323,7 @@ redis:
|
|||
- ALL
|
||||
|
||||
## Probes for Redis exporter (optional)
|
||||
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
|
||||
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
|
||||
readinessProbe:
|
||||
# -- Enable Kubernetes liveness probe for Redis exporter (optional)
|
||||
enabled: false
|
||||
|
@ -1370,7 +1381,7 @@ redis:
|
|||
# name: secret-name
|
||||
|
||||
## Probes for Redis server (optional)
|
||||
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
|
||||
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
|
||||
readinessProbe:
|
||||
# -- Enable Kubernetes liveness probe for Redis server
|
||||
enabled: false
|
||||
|
@ -1480,7 +1491,7 @@ redis:
|
|||
|
||||
# -- Assign custom [TopologySpreadConstraints] rules to redis
|
||||
# @default -- `[]` (defaults to global.topologySpreadConstraints)
|
||||
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
|
||||
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/
|
||||
## If labelSelector is left out, it will default to the labelSelector configuration of the deployment
|
||||
topologySpreadConstraints: []
|
||||
# - maxSkew: 1
|
||||
|
@ -1564,7 +1575,7 @@ redis-ha:
|
|||
# -- Redis repository
|
||||
repository: public.ecr.aws/docker/library/redis
|
||||
# -- Redis tag
|
||||
tag: 7.4.1-alpine
|
||||
tag: 7.4.2-alpine
|
||||
## Prometheus redis-exporter sidecar
|
||||
exporter:
|
||||
# -- Enable Prometheus redis-exporter sidecar
|
||||
|
@ -1629,7 +1640,7 @@ redis-ha:
|
|||
tolerations: []
|
||||
|
||||
# -- Assign custom [TopologySpreadConstraints] rules to the Redis pods.
|
||||
## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
|
||||
## https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/
|
||||
topologySpreadConstraints:
|
||||
# -- Enable Redis HA topology spread constraints
|
||||
enabled: false
|
||||
|
@ -1988,7 +1999,7 @@ server:
|
|||
- ALL
|
||||
|
||||
## Readiness and liveness probes for default backend
|
||||
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
|
||||
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
|
||||
readinessProbe:
|
||||
# -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
|
||||
failureThreshold: 3
|
||||
|
@ -2034,7 +2045,7 @@ server:
|
|||
|
||||
# -- Assign custom [TopologySpreadConstraints] rules to the Argo CD server
|
||||
# @default -- `[]` (defaults to global.topologySpreadConstraints)
|
||||
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
|
||||
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/
|
||||
## If labelSelector is left out, it will default to the labelSelector configuration of the deployment
|
||||
topologySpreadConstraints: []
|
||||
# - maxSkew: 1
|
||||
|
@ -2135,7 +2146,8 @@ server:
|
|||
# -- LoadBalancer will get created with the IP specified in this field
|
||||
loadBalancerIP: ""
|
||||
# -- Source IP ranges to allow access to service from
|
||||
## Ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
|
||||
## EKS Ref: https://repost.aws/knowledge-center/eks-cidr-ip-address-loadbalancer
|
||||
## GKE Ref: https://cloud.google.com/kubernetes-engine/docs/concepts/network-overview#limit-connectivity-ext-lb
|
||||
loadBalancerSourceRanges: []
|
||||
# -- Server service external IPs
|
||||
externalIPs: []
|
||||
|
@ -2635,7 +2647,7 @@ repoServer:
|
|||
- ALL
|
||||
|
||||
## Readiness and liveness probes for default backend
|
||||
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
|
||||
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
|
||||
readinessProbe:
|
||||
# -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
|
||||
failureThreshold: 3
|
||||
|
@ -2677,7 +2689,7 @@ repoServer:
|
|||
|
||||
# -- Assign custom [TopologySpreadConstraints] rules to the repo server
|
||||
# @default -- `[]` (defaults to global.topologySpreadConstraints)
|
||||
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
|
||||
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/
|
||||
## If labelSelector is left out, it will default to the labelSelector configuration of the deployment
|
||||
topologySpreadConstraints: []
|
||||
# - maxSkew: 1
|
||||
|
@ -3004,7 +3016,7 @@ applicationSet:
|
|||
- ALL
|
||||
|
||||
## Probes for ApplicationSet controller (optional)
|
||||
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
|
||||
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
|
||||
readinessProbe:
|
||||
# -- Enable Kubernetes liveness probe for ApplicationSet controller
|
||||
enabled: false
|
||||
|
@ -3381,7 +3393,7 @@ notifications:
|
|||
- ALL
|
||||
|
||||
## Probes for notifications controller Pods (optional)
|
||||
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
|
||||
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
|
||||
readinessProbe:
|
||||
# -- Enable Kubernetes liveness probe for notifications controller Pods
|
||||
enabled: false
|
||||
|
@ -3427,7 +3439,7 @@ notifications:
|
|||
|
||||
# -- Assign custom [TopologySpreadConstraints] rules to the application controller
|
||||
# @default -- `[]` (defaults to global.topologySpreadConstraints)
|
||||
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
|
||||
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/
|
||||
## If labelSelector is left out, it will default to the labelSelector configuration of the deployment
|
||||
topologySpreadConstraints: []
|
||||
# - maxSkew: 1
|
||||
|
@ -3738,3 +3750,183 @@ notifications:
|
|||
# For more information: https://argo-cd.readthedocs.io/en/stable/operator-manual/notifications/triggers/#default-triggers
|
||||
# defaultTriggers: |
|
||||
# - on-sync-status-unknown
|
||||
|
||||
commitServer:
|
||||
# -- Enable commit server
|
||||
enabled: false
|
||||
|
||||
# -- Commit server name
|
||||
name: commit-server
|
||||
|
||||
# -- Runtime class name for the commit server
|
||||
# @default -- `""` (defaults to global.runtimeClassName)
|
||||
runtimeClassName: ""
|
||||
|
||||
## commit server controller image
|
||||
image:
|
||||
# -- Repository to use for the commit server
|
||||
# @default -- `""` (defaults to global.image.repository)
|
||||
repository: ""
|
||||
# -- Tag to use for the commit server
|
||||
# @default -- `""` (defaults to global.image.tag)
|
||||
tag: ""
|
||||
# -- Image pull policy for the commit server
|
||||
# @default -- `""` (defaults to global.image.imagePullPolicy)
|
||||
imagePullPolicy: ""
|
||||
|
||||
# -- commit server command line flags
|
||||
extraArgs: []
|
||||
|
||||
# -- Environment variables to pass to the commit server
|
||||
extraEnv: []
|
||||
# - name: "MY_VAR"
|
||||
# value: "value"
|
||||
|
||||
# -- envFrom to pass to the commit server
|
||||
# @default -- `[]` (See [values.yaml])
|
||||
extraEnvFrom: []
|
||||
# - configMapRef:
|
||||
# name: config-map-name
|
||||
# - secretRef:
|
||||
# name: secret-name
|
||||
|
||||
# -- List of extra mounts to add (normally used with extraVolumes)
|
||||
extraVolumeMounts: []
|
||||
|
||||
# -- List of extra volumes to add
|
||||
extraVolumes: []
|
||||
|
||||
metrics:
|
||||
# -- Enables prometheus metrics server
|
||||
enabled: false
|
||||
service:
|
||||
# -- Metrics service type
|
||||
type: ClusterIP
|
||||
# -- Metrics service clusterIP. `None` makes a "headless service" (no virtual IP)
|
||||
clusterIP: ""
|
||||
# -- Metrics service annotations
|
||||
annotations: {}
|
||||
# -- Metrics service labels
|
||||
labels: {}
|
||||
# -- Metrics service port
|
||||
servicePort: 8087
|
||||
# -- Metrics service port name
|
||||
portName: metrics
|
||||
|
||||
## commit server service configuration
|
||||
service:
|
||||
# -- commit server service annotations
|
||||
annotations: {}
|
||||
# -- commit server service labels
|
||||
labels: {}
|
||||
|
||||
# -- Automount API credentials for the Service Account into the pod.
|
||||
automountServiceAccountToken: false
|
||||
|
||||
serviceAccount:
|
||||
# -- Create commit server service account
|
||||
create: true
|
||||
# -- commit server service account name
|
||||
name: argocd-commit-server
|
||||
# -- Annotations applied to created service account
|
||||
annotations: {}
|
||||
# -- Labels applied to created service account
|
||||
labels: {}
|
||||
# -- Automount API credentials for the Service Account
|
||||
automountServiceAccountToken: true
|
||||
|
||||
# -- Annotations to be added to commit server Deployment
|
||||
deploymentAnnotations: {}
|
||||
|
||||
# -- Annotations for the commit server pods
|
||||
podAnnotations: {}
|
||||
|
||||
# -- Labels for the commit server pods
|
||||
podLabels: {}
|
||||
|
||||
# -- Resource limits and requests for the commit server pods.
|
||||
resources: {}
|
||||
# limits:
|
||||
# cpu: 100m
|
||||
# memory: 128Mi
|
||||
# requests:
|
||||
# cpu: 100m
|
||||
# memory: 128Mi
|
||||
|
||||
# -- [DNS configuration]
|
||||
dnsConfig: {}
|
||||
# -- Alternative DNS policy for commit server pods
|
||||
dnsPolicy: "ClusterFirst"
|
||||
|
||||
# -- commit server container-level security context
|
||||
# @default -- See [values.yaml]
|
||||
containerSecurityContext:
|
||||
runAsNonRoot: true
|
||||
readOnlyRootFilesystem: true
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop:
|
||||
- ALL
|
||||
seccompProfile:
|
||||
type: RuntimeDefault
|
||||
|
||||
## Probes for commit server (optional)
|
||||
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
|
||||
readinessProbe:
|
||||
# -- Enable Kubernetes liveness probe for commit server
|
||||
enabled: true
|
||||
# -- Number of seconds after the container has started before [probe] is initiated
|
||||
initialDelaySeconds: 5
|
||||
# -- How often (in seconds) to perform the [probe]
|
||||
periodSeconds: 10
|
||||
# -- Number of seconds after which the [probe] times out
|
||||
timeoutSeconds: 1
|
||||
# -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
|
||||
failureThreshold: 3
|
||||
|
||||
livenessProbe:
|
||||
# -- Enable Kubernetes liveness probe for commit server
|
||||
enabled: true
|
||||
# -- Number of seconds after the container has started before [probe] is initiated
|
||||
initialDelaySeconds: 30
|
||||
# -- How often (in seconds) to perform the [probe]
|
||||
periodSeconds: 30
|
||||
# -- Number of seconds after which the [probe] times out
|
||||
timeoutSeconds: 5
|
||||
# -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
|
||||
failureThreshold: 3
|
||||
|
||||
# -- terminationGracePeriodSeconds for container lifecycle hook
|
||||
terminationGracePeriodSeconds: 30
|
||||
|
||||
# -- [Node selector]
|
||||
# @default -- `{}` (defaults to global.nodeSelector)
|
||||
nodeSelector: {}
|
||||
|
||||
# -- [Tolerations] for use with node taints
|
||||
# @default -- `[]` (defaults to global.tolerations)
|
||||
tolerations: []
|
||||
|
||||
# -- Assign custom [affinity] rules
|
||||
# @default -- `{}` (defaults to global.affinity preset)
|
||||
affinity: {}
|
||||
|
||||
# -- Assign custom [TopologySpreadConstraints] rules to the commit server
|
||||
# @default -- `[]` (defaults to global.topologySpreadConstraints)
|
||||
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
|
||||
## If labelSelector is left out, it will default to the labelSelector configuration of the deployment
|
||||
topologySpreadConstraints: []
|
||||
# - maxSkew: 1
|
||||
# topologyKey: topology.kubernetes.io/zone
|
||||
# whenUnsatisfiable: DoNotSchedule
|
||||
|
||||
# -- Deployment strategy to be added to the commit server Deployment
|
||||
deploymentStrategy: {}
|
||||
# type: RollingUpdate
|
||||
# rollingUpdate:
|
||||
# maxSurge: 25%
|
||||
# maxUnavailable: 25%
|
||||
|
||||
# -- Priority class for the commit server pods
|
||||
# @default -- `""` (defaults to global.priorityClassName)
|
||||
priorityClassName: ""
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
apiVersion: v2
|
||||
appVersion: v1.9.3
|
||||
appVersion: v1.9.5
|
||||
description: A Helm chart for Argo Events, the event-driven workflow automation framework
|
||||
name: argo-events
|
||||
version: 2.4.9
|
||||
version: 2.4.13
|
||||
home: https://github.com/argoproj/argo-helm
|
||||
icon: https://avatars.githubusercontent.com/u/30269780?s=200&v=4
|
||||
keywords:
|
||||
|
@ -19,4 +19,4 @@ annotations:
|
|||
url: https://argoproj.github.io/argo-helm/pgp_keys.asc
|
||||
artifacthub.io/changes: |
|
||||
- kind: changed
|
||||
description: Bump argo-events to v1.9.3
|
||||
description: Bump argo-events to v1.9.5
|
||||
|
|
|
@ -234,9 +234,9 @@ done
|
|||
----------------------------------------------
|
||||
Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/helm-docs)
|
||||
|
||||
[affinity]: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
|
||||
[Node selector]: https://kubernetes.io/docs/user-guide/node-selection/
|
||||
[affinity]: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
|
||||
[Node selector]: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector
|
||||
[probe]: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
|
||||
[Tolerations]: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||
[TopologySpreadConstraints]: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
|
||||
[Tolerations]: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
|
||||
[TopologySpreadConstraints]: https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/
|
||||
[values.yaml]: values.yaml
|
||||
|
|
|
@ -89,9 +89,9 @@ done
|
|||
----------------------------------------------
|
||||
Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/helm-docs)
|
||||
|
||||
[affinity]: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
|
||||
[Node selector]: https://kubernetes.io/docs/user-guide/node-selection/
|
||||
[affinity]: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
|
||||
[Node selector]: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector
|
||||
[probe]: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
|
||||
[Tolerations]: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||
[TopologySpreadConstraints]: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
|
||||
[Tolerations]: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
|
||||
[TopologySpreadConstraints]: https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/
|
||||
[values.yaml]: values.yaml
|
||||
|
|
|
@ -108,6 +108,10 @@ spec:
|
|||
{{- with .Values.controller.extraContainers }}
|
||||
{{- toYaml . | nindent 6 }}
|
||||
{{- end -}}
|
||||
{{- with .Values.controller.initContainers }}
|
||||
initContainers:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.controller.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
|
|
|
@ -243,7 +243,7 @@ controller:
|
|||
# runAsNonRoot: true
|
||||
|
||||
## Readiness and liveness probes for default backend
|
||||
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
|
||||
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
|
||||
readinessProbe:
|
||||
# -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
|
||||
failureThreshold: 3
|
||||
|
@ -281,7 +281,7 @@ controller:
|
|||
affinity: {}
|
||||
|
||||
# -- Assign custom [TopologySpreadConstraints] rules to the events controller
|
||||
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
|
||||
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/
|
||||
## If labelSelector is left out, it will default to the labelSelector configuration of the deployment
|
||||
topologySpreadConstraints: []
|
||||
# - maxSkew: 1
|
||||
|
@ -409,7 +409,7 @@ webhook:
|
|||
# runAsNonRoot: true
|
||||
|
||||
## Readiness and liveness probes for default backend
|
||||
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
|
||||
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
|
||||
readinessProbe:
|
||||
# -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
|
||||
failureThreshold: 3
|
||||
|
@ -447,7 +447,7 @@ webhook:
|
|||
affinity: {}
|
||||
|
||||
# -- Assign custom [TopologySpreadConstraints] rules to the event controller
|
||||
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
|
||||
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/
|
||||
## If labelSelector is left out, it will default to the labelSelector configuration of the deployment
|
||||
topologySpreadConstraints: []
|
||||
# - maxSkew: 1
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
apiVersion: v2
|
||||
appVersion: v1.7.2
|
||||
appVersion: v1.8.0
|
||||
description: A Helm chart for Argo Rollouts
|
||||
name: argo-rollouts
|
||||
version: 2.38.0
|
||||
version: 2.39.0
|
||||
home: https://github.com/argoproj/argo-helm
|
||||
icon: https://argoproj.github.io/argo-rollouts/assets/logo.png
|
||||
keywords:
|
||||
|
@ -18,5 +18,5 @@ annotations:
|
|||
fingerprint: 2B8F22F57260EFA67BE1C5824B11F800CD9D2252
|
||||
url: https://argoproj.github.io/argo-helm/pgp_keys.asc
|
||||
artifacthub.io/changes: |
|
||||
- kind: fixed
|
||||
description: Updated plugin values.yaml example and it's implementation to not need to include the stringification or the plugins block that it used to
|
||||
- kind: changed
|
||||
description: Bump argo-rollouts to v1.8.0
|
||||
|
|
|
@ -98,6 +98,7 @@ For full list of changes please check ArtifactHub [changelog].
|
|||
| controller.image.repository | string | `"argoproj/argo-rollouts"` | Repository to use |
|
||||
| controller.image.tag | string | `""` | Overrides the image tag (default is the chart appVersion) |
|
||||
| controller.initContainers | list | `[]` | Init containers to add to the rollouts controller pod |
|
||||
| controller.lifecycle | object | `{}` | Specify lifecycle hooks for the controller |
|
||||
| controller.livenessProbe | object | See [values.yaml] | Configure liveness [probe] for the controller |
|
||||
| controller.logging.format | string | `"text"` | Set the logging format (one of: `text`, `json`) |
|
||||
| controller.logging.kloglevel | string | `"0"` | Set the klog logging level |
|
||||
|
@ -125,6 +126,7 @@ For full list of changes please check ArtifactHub [changelog].
|
|||
| controller.readinessProbe | object | See [values.yaml] | Configure readiness [probe] for the controller |
|
||||
| controller.replicas | int | `2` | The number of controller pods to run |
|
||||
| controller.resources | object | `{}` | Resource limits and requests for the controller pods. |
|
||||
| controller.terminationGracePeriodSeconds | int | `30` | terminationGracePeriodSeconds for container lifecycle hook |
|
||||
| controller.tolerations | list | `[]` | [Tolerations] for use with node taints |
|
||||
| controller.topologySpreadConstraints | list | `[]` | Assign custom [TopologySpreadConstraints] rules to the controller |
|
||||
| controller.trafficRouterPlugins | list | `[]` | Configures 3rd party traffic router plugins for controller |
|
||||
|
|
|
@ -78,6 +78,9 @@ spec:
|
|||
{{- toYaml .Values.controller.readinessProbe | nindent 10 }}
|
||||
securityContext:
|
||||
{{- toYaml .Values.containerSecurityContext | nindent 10 }}
|
||||
{{- with .Values.controller.lifecycle }}
|
||||
lifecycle: {{ toYaml . | nindent 10 }}
|
||||
{{- end }}
|
||||
resources:
|
||||
{{- toYaml .Values.controller.resources | nindent 10 }}
|
||||
volumeMounts:
|
||||
|
@ -101,6 +104,9 @@ spec:
|
|||
{{- end }}
|
||||
securityContext:
|
||||
{{- toYaml .Values.podSecurityContext | nindent 8 }}
|
||||
{{- with .Values.controller.terminationGracePeriodSeconds }}
|
||||
terminationGracePeriodSeconds: {{ . }}
|
||||
{{- end }}
|
||||
{{- if .Values.controller.tolerations }}
|
||||
tolerations:
|
||||
{{- toYaml .Values.controller.tolerations | nindent 8 }}
|
||||
|
|
|
@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
|
|||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.13.0
|
||||
controller-gen.kubebuilder.io/version: v0.14.0
|
||||
{{- if .Values.keepCRDs }}
|
||||
"helm.sh/resource-policy": keep
|
||||
{{- end }}
|
||||
|
@ -108,6 +108,11 @@ spec:
|
|||
- type: integer
|
||||
- type: string
|
||||
x-kubernetes-int-or-string: true
|
||||
consecutiveSuccessLimit:
|
||||
anyOf:
|
||||
- type: integer
|
||||
- type: string
|
||||
x-kubernetes-int-or-string: true
|
||||
count:
|
||||
anyOf:
|
||||
- type: integer
|
||||
|
@ -217,6 +222,13 @@ spec:
|
|||
type: object
|
||||
query:
|
||||
type: string
|
||||
secretRef:
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
namespaced:
|
||||
type: boolean
|
||||
type: object
|
||||
type: object
|
||||
graphite:
|
||||
properties:
|
||||
|
@ -3025,6 +3037,9 @@ spec:
|
|||
type: string
|
||||
query:
|
||||
type: string
|
||||
timeout:
|
||||
format: int64
|
||||
type: integer
|
||||
required:
|
||||
- query
|
||||
type: object
|
||||
|
@ -3076,6 +3091,15 @@ spec:
|
|||
type: boolean
|
||||
query:
|
||||
type: string
|
||||
rangeQuery:
|
||||
properties:
|
||||
end:
|
||||
type: string
|
||||
start:
|
||||
type: string
|
||||
step:
|
||||
type: string
|
||||
type: object
|
||||
timeout:
|
||||
format: int64
|
||||
type: integer
|
||||
|
@ -3210,6 +3234,9 @@ spec:
|
|||
consecutiveError:
|
||||
format: int32
|
||||
type: integer
|
||||
consecutiveSuccess:
|
||||
format: int32
|
||||
type: integer
|
||||
count:
|
||||
format: int32
|
||||
type: integer
|
||||
|
|
|
@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
|
|||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.13.0
|
||||
controller-gen.kubebuilder.io/version: v0.14.0
|
||||
{{- if .Values.keepCRDs }}
|
||||
"helm.sh/resource-policy": keep
|
||||
{{- end }}
|
||||
|
@ -104,6 +104,11 @@ spec:
|
|||
- type: integer
|
||||
- type: string
|
||||
x-kubernetes-int-or-string: true
|
||||
consecutiveSuccessLimit:
|
||||
anyOf:
|
||||
- type: integer
|
||||
- type: string
|
||||
x-kubernetes-int-or-string: true
|
||||
count:
|
||||
anyOf:
|
||||
- type: integer
|
||||
|
@ -213,6 +218,13 @@ spec:
|
|||
type: object
|
||||
query:
|
||||
type: string
|
||||
secretRef:
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
namespaced:
|
||||
type: boolean
|
||||
type: object
|
||||
type: object
|
||||
graphite:
|
||||
properties:
|
||||
|
@ -3021,6 +3033,9 @@ spec:
|
|||
type: string
|
||||
query:
|
||||
type: string
|
||||
timeout:
|
||||
format: int64
|
||||
type: integer
|
||||
required:
|
||||
- query
|
||||
type: object
|
||||
|
@ -3072,6 +3087,15 @@ spec:
|
|||
type: boolean
|
||||
query:
|
||||
type: string
|
||||
rangeQuery:
|
||||
properties:
|
||||
end:
|
||||
type: string
|
||||
start:
|
||||
type: string
|
||||
step:
|
||||
type: string
|
||||
type: object
|
||||
timeout:
|
||||
format: int64
|
||||
type: integer
|
||||
|
|
|
@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
|
|||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.13.0
|
||||
controller-gen.kubebuilder.io/version: v0.14.0
|
||||
{{- if .Values.keepCRDs }}
|
||||
"helm.sh/resource-policy": keep
|
||||
{{- end }}
|
||||
|
@ -104,6 +104,11 @@ spec:
|
|||
- type: integer
|
||||
- type: string
|
||||
x-kubernetes-int-or-string: true
|
||||
consecutiveSuccessLimit:
|
||||
anyOf:
|
||||
- type: integer
|
||||
- type: string
|
||||
x-kubernetes-int-or-string: true
|
||||
count:
|
||||
anyOf:
|
||||
- type: integer
|
||||
|
@ -213,6 +218,13 @@ spec:
|
|||
type: object
|
||||
query:
|
||||
type: string
|
||||
secretRef:
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
namespaced:
|
||||
type: boolean
|
||||
type: object
|
||||
type: object
|
||||
graphite:
|
||||
properties:
|
||||
|
@ -3021,6 +3033,9 @@ spec:
|
|||
type: string
|
||||
query:
|
||||
type: string
|
||||
timeout:
|
||||
format: int64
|
||||
type: integer
|
||||
required:
|
||||
- query
|
||||
type: object
|
||||
|
@ -3072,6 +3087,15 @@ spec:
|
|||
type: boolean
|
||||
query:
|
||||
type: string
|
||||
rangeQuery:
|
||||
properties:
|
||||
end:
|
||||
type: string
|
||||
start:
|
||||
type: string
|
||||
step:
|
||||
type: string
|
||||
type: object
|
||||
timeout:
|
||||
format: int64
|
||||
type: integer
|
||||
|
|
|
@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
|
|||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.13.0
|
||||
controller-gen.kubebuilder.io/version: v0.14.0
|
||||
{{- if .Values.keepCRDs }}
|
||||
"helm.sh/resource-policy": keep
|
||||
{{- end }}
|
||||
|
|
|
@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
|
|||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.13.0
|
||||
controller-gen.kubebuilder.io/version: v0.14.0
|
||||
{{- if .Values.keepCRDs }}
|
||||
"helm.sh/resource-policy": keep
|
||||
{{- end }}
|
||||
|
@ -672,6 +672,16 @@ spec:
|
|||
- type: string
|
||||
x-kubernetes-int-or-string: true
|
||||
type: object
|
||||
plugin:
|
||||
properties:
|
||||
config:
|
||||
type: object
|
||||
x-kubernetes-preserve-unknown-fields: true
|
||||
name:
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
setCanaryScale:
|
||||
properties:
|
||||
matchTrafficWeight:
|
||||
|
@ -944,6 +954,10 @@ spec:
|
|||
type: object
|
||||
annotationPrefix:
|
||||
type: string
|
||||
canaryIngressAnnotations:
|
||||
additionalProperties:
|
||||
type: string
|
||||
type: object
|
||||
stableIngress:
|
||||
type: string
|
||||
stableIngresses:
|
||||
|
@ -3727,6 +3741,45 @@ spec:
|
|||
type: object
|
||||
stablePingPong:
|
||||
type: string
|
||||
stepPluginStatuses:
|
||||
items:
|
||||
properties:
|
||||
backoff:
|
||||
type: string
|
||||
disabled:
|
||||
type: boolean
|
||||
executions:
|
||||
format: int32
|
||||
type: integer
|
||||
finishedAt:
|
||||
format: date-time
|
||||
type: string
|
||||
index:
|
||||
format: int32
|
||||
type: integer
|
||||
message:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
operation:
|
||||
type: string
|
||||
phase:
|
||||
type: string
|
||||
startedAt:
|
||||
format: date-time
|
||||
type: string
|
||||
status:
|
||||
type: object
|
||||
x-kubernetes-preserve-unknown-fields: true
|
||||
updatedAt:
|
||||
format: date-time
|
||||
type: string
|
||||
required:
|
||||
- index
|
||||
- name
|
||||
- operation
|
||||
type: object
|
||||
type: array
|
||||
weights:
|
||||
properties:
|
||||
additional:
|
||||
|
|
|
@ -79,6 +79,10 @@ controller:
|
|||
# topologyKey: topology.kubernetes.io/zone
|
||||
# whenUnsatisfiable: DoNotSchedule
|
||||
|
||||
# -- terminationGracePeriodSeconds for container lifecycle hook
|
||||
terminationGracePeriodSeconds: 30
|
||||
# -- Specify lifecycle hooks for the controller
|
||||
lifecycle: {}
|
||||
# -- [priorityClassName] for the controller
|
||||
priorityClassName: ""
|
||||
# -- The number of controller pods to run
|
||||
|
@ -397,7 +401,7 @@ dashboard:
|
|||
maxUnavailable: # 0
|
||||
|
||||
## Ingress configuration.
|
||||
## ref: https://kubernetes.io/docs/user-guide/ingress/
|
||||
## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/
|
||||
##
|
||||
ingress:
|
||||
# -- Enable dashboard ingress support
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
apiVersion: v2
|
||||
appVersion: v3.6.2
|
||||
appVersion: v3.6.4
|
||||
name: argo-workflows
|
||||
description: A Helm chart for Argo Workflows
|
||||
type: application
|
||||
version: 0.45.1
|
||||
version: 0.45.7
|
||||
icon: https://argo-workflows.readthedocs.io/en/stable/assets/logo.png
|
||||
home: https://github.com/argoproj/argo-helm
|
||||
sources:
|
||||
|
@ -16,5 +16,5 @@ annotations:
|
|||
fingerprint: 2B8F22F57260EFA67BE1C5824B11F800CD9D2252
|
||||
url: https://argoproj.github.io/argo-helm/pgp_keys.asc
|
||||
artifacthub.io/changes: |
|
||||
- kind: changed
|
||||
description: Bump argo-workflows to v3.6.2
|
||||
- kind: fixed
|
||||
description: Update the SSO configuration instructions to reflect the correct field name
|
||||
|
|
|
@ -239,6 +239,7 @@ Fields to note:
|
|||
| controller.volumeMounts | list | `[]` | Additional volume mounts to the controller main container |
|
||||
| controller.volumes | list | `[]` | Additional volumes to the controller pod |
|
||||
| controller.workflowDefaults | object | `{}` | Default values that will apply to all Workflows from this controller, unless overridden on the Workflow-level. Only valid for 2.7+ |
|
||||
| controller.workflowEvents.enabled | bool | `true` | Enable to emit events on workflow status changes. |
|
||||
| controller.workflowNamespaces | list | `["default"]` | Specify all namespaces where this workflow controller instance will manage workflows. This controls where the service account and RBAC resources will be created. Only valid when singleNamespace is false. |
|
||||
| controller.workflowRestrictions | object | `{}` | Restricts the Workflows that the controller will process. Only valid for 2.9+ |
|
||||
| controller.workflowTTLWorkers | string | `nil` | Number of workflow TTL workers |
|
||||
|
@ -343,7 +344,7 @@ Fields to note:
|
|||
| server.sso.clientSecret.key | string | `"client-secret"` | Key of a secret to retrieve the app OIDC client secret |
|
||||
| server.sso.clientSecret.name | string | `"argo-server-sso"` | Name of a secret to retrieve the app OIDC client secret |
|
||||
| server.sso.customGroupClaimName | string | `""` | Override claim name for OIDC groups |
|
||||
| server.sso.enabled | bool | `false` | Create SSO configuration. If you set `true` , please also set `.Values.server.authMode` as `sso`. |
|
||||
| server.sso.enabled | bool | `false` | Create SSO configuration. If you set `true` , please also set `.Values.server.authModes` as `sso`. |
|
||||
| server.sso.filterGroupsRegex | list | `[]` | Filter the groups returned by the OIDC provider |
|
||||
| server.sso.insecureSkipVerify | bool | `false` | Skip TLS verification for the HTTP client |
|
||||
| server.sso.issuer | string | `"https://accounts.google.com"` | The root URL of the OIDC identity provider |
|
||||
|
|
|
@ -83,6 +83,11 @@ data:
|
|||
secretKeySecret:
|
||||
key: {{ tpl .Values.artifactRepository.s3.secretKeySecret.key . }}
|
||||
name: {{ tpl .Values.artifactRepository.s3.secretKeySecret.name . }}
|
||||
{{- if .Values.artifactRepository.s3.sessionTokenSecret }}
|
||||
sessionTokenSecret:
|
||||
key: {{ tpl .Values.artifactRepository.s3.sessionTokenSecret.key . }}
|
||||
name: {{ tpl .Values.artifactRepository.s3.sessionTokenSecret.name . }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
bucket: {{ tpl (.Values.artifactRepository.s3.bucket | default "") . }}
|
||||
endpoint: {{ tpl (.Values.artifactRepository.s3.endpoint | default "") . }}
|
||||
|
@ -195,6 +200,8 @@ data:
|
|||
{{- end }}
|
||||
nodeEvents:
|
||||
enabled: {{ .Values.controller.nodeEvents.enabled }}
|
||||
workflowEvents:
|
||||
enabled: {{ .Values.controller.workflowEvents.enabled }}
|
||||
{{- with .Values.controller.kubeConfig }}
|
||||
kubeConfig: {{- toYaml . | nindent 6 }}
|
||||
{{- end }}
|
||||
|
|
|
@ -402,6 +402,12 @@ controller:
|
|||
## "Unable to create audit event: etcdserver: mvcc: database space exceeded"
|
||||
enabled: true
|
||||
|
||||
workflowEvents:
|
||||
# -- Enable to emit events on workflow status changes.
|
||||
## This can take up a lot of space in k8s (typically etcd), resulting in errors when trying to create new events:
|
||||
## "Unable to create audit event: etcdserver: mvcc: database space exceeded"
|
||||
enabled: true
|
||||
|
||||
# -- Configure when workflow controller runs in a different k8s cluster with the workflow workloads,
|
||||
# or needs to communicate with the k8s apiserver using an out-of-cluster kubeconfig secret.
|
||||
# @default -- `{}` (See [values.yaml])
|
||||
|
@ -625,7 +631,7 @@ server:
|
|||
volumes: []
|
||||
|
||||
## Ingress configuration.
|
||||
# ref: https://kubernetes.io/docs/user-guide/ingress/
|
||||
# ref: https://kubernetes.io/docs/concepts/services-networking/ingress/
|
||||
ingress:
|
||||
# -- Enable an ingress resource
|
||||
enabled: false
|
||||
|
@ -711,7 +717,7 @@ server:
|
|||
|
||||
# SSO configuration when SSO is specified as a server auth mode.
|
||||
sso:
|
||||
# -- Create SSO configuration. If you set `true` , please also set `.Values.server.authMode` as `sso`.
|
||||
# -- Create SSO configuration. If you set `true` , please also set `.Values.server.authModes` as `sso`.
|
||||
enabled: false
|
||||
# -- The root URL of the OIDC identity provider
|
||||
issuer: https://accounts.google.com
|
||||
|
@ -812,6 +818,9 @@ artifactRepository:
|
|||
# secretKeySecret:
|
||||
# name: "{{ .Release.Name }}-minio"
|
||||
# key: secretkey
|
||||
# sessionTokenSecret:
|
||||
# name: "{{ .Release.Name }}-minio"
|
||||
# key: sessionToken
|
||||
# # insecure will disable TLS. Primarily used for minio installs not configured with TLS
|
||||
# insecure: false
|
||||
# caSecret:
|
||||
|
|
|
@ -2,8 +2,8 @@ apiVersion: v2
|
|||
name: argocd-image-updater
|
||||
description: A Helm chart for Argo CD Image Updater, a tool to automatically update the container images of Kubernetes workloads which are managed by Argo CD
|
||||
type: application
|
||||
version: 0.11.3
|
||||
appVersion: v0.15.1
|
||||
version: 0.12.0
|
||||
appVersion: v0.15.2
|
||||
home: https://github.com/argoproj-labs/argocd-image-updater
|
||||
icon: https://argocd-image-updater.readthedocs.io/en/stable/assets/logo.png
|
||||
keywords:
|
||||
|
@ -19,4 +19,4 @@ annotations:
|
|||
url: https://argoproj.github.io/argo-helm/pgp_keys.asc
|
||||
artifacthub.io/changes: |
|
||||
- kind: changed
|
||||
description: Update permissions for namespaced Role
|
||||
description: ConfigMap and Secret names are now configurable
|
||||
|
|
|
@ -70,6 +70,7 @@ The `config.registries` value can be used exactly as it looks in the documentati
|
|||
|-----|------|---------|-------------|
|
||||
| affinity | object | `{}` | Kubernetes affinity settings for the deployment |
|
||||
| authScripts.enabled | bool | `false` | Whether to mount the defined scripts that can be used to authenticate with a registry, the scripts will be mounted at `/scripts` |
|
||||
| authScripts.name | string | `"argocd-image-updater-authscripts"` | Name of the authentication scripts ConfigMap |
|
||||
| authScripts.scripts | object | `{}` | Map of key-value pairs where the key consists of the name of the script and the value the contents |
|
||||
| config.applicationsAPIKind | string | `""` | API kind that is used to manage Argo CD applications (`kubernetes` or `argocd`) |
|
||||
| config.argocd.grpcWeb | bool | `true` | Use the gRPC-web protocol to connect to the Argo CD API |
|
||||
|
@ -77,6 +78,7 @@ The `config.registries` value can be used exactly as it looks in the documentati
|
|||
| config.argocd.plaintext | bool | `false` | If specified, use an unencrypted HTTP connection to the Argo CD API instead of TLS. |
|
||||
| config.argocd.serverAddress | string | `""` | Connect to the Argo CD API server at server address |
|
||||
| config.argocd.token | string | `""` | If specified, the secret with Argo CD API key will be created. |
|
||||
| config.argocd.tokenSecretName | string | `"argocd-image-updater-secret"` | Name of the Secret containing the token |
|
||||
| config.disableKubeEvents | bool | `false` | Disable kubernetes events |
|
||||
| config.gitCommitMail | string | `""` | E-Mail address to use for Git commits |
|
||||
| config.gitCommitSignOff | bool | `false` | Enables sign off on commits |
|
||||
|
@ -85,8 +87,10 @@ The `config.registries` value can be used exactly as it looks in the documentati
|
|||
| config.gitCommitTemplate | string | `""` | Changing the Git commit message |
|
||||
| config.gitCommitUser | string | `""` | Username to use for Git commits |
|
||||
| config.logLevel | string | `"info"` | Argo CD Image Update log level |
|
||||
| config.name | string | `"argocd-image-updater-config"` | Name of the ConfigMap |
|
||||
| config.registries | list | `[]` | Argo CD Image Updater registries list configuration. More information [here](https://argocd-image-updater.readthedocs.io/en/stable/configuration/registries/) |
|
||||
| config.sshConfig | object | `{}` | Argo CD Image Updater ssh client parameter configuration. |
|
||||
| config.sshConfig.config | string | `""` | Argo CD Image Updater ssh client parameter configuration. |
|
||||
| config.sshConfig.name | string | `"argocd-image-updater-ssh-config"` | Name of the sshConfig ConfigMap |
|
||||
| createClusterRoles | bool | `true` | Create cluster roles for cluster-wide installation. |
|
||||
| extraArgs | list | `[]` | Extra arguments for argocd-image-updater not defined in `config.argocd`. If a flag contains both key and value, they need to be split to a new entry |
|
||||
| extraEnv | list | `[]` | Extra environment variables for argocd-image-updater |
|
||||
|
|
|
@ -4,7 +4,7 @@ kind: ConfigMap
|
|||
metadata:
|
||||
labels:
|
||||
{{- include "argocd-image-updater.labels" . | nindent 4 }}
|
||||
name: argocd-image-updater-authscripts
|
||||
name: {{ .Values.authScripts.name }}
|
||||
namespace: {{ include "argocd-image-updater.namespace" . | quote }}
|
||||
data:
|
||||
{{- toYaml .Values.authScripts.scripts | nindent 2}}
|
||||
|
|
|
@ -1,11 +1,17 @@
|
|||
{{- $sshConfig := omit .Values.config.sshConfig "name" }}
|
||||
{{- range $key, $val := $sshConfig }}
|
||||
{{- if not $val }}
|
||||
{{ $_ := unset $sshConfig $key }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
labels:
|
||||
{{- include "argocd-image-updater.labels" . | nindent 4 }}
|
||||
name: argocd-image-updater-ssh-config
|
||||
name: {{ .Values.config.sshConfig.name }}
|
||||
namespace: {{ include "argocd-image-updater.namespace" . | quote }}
|
||||
{{- with .Values.config.sshConfig }}
|
||||
{{- with $sshConfig }}
|
||||
data:
|
||||
{{- toYaml . | nindent 2 }}
|
||||
{{- end }}
|
||||
|
|
|
@ -4,7 +4,7 @@ kind: ConfigMap
|
|||
metadata:
|
||||
labels:
|
||||
{{- include "argocd-image-updater.labels" . | nindent 4 }}
|
||||
name: argocd-image-updater-config
|
||||
name: {{ .Values.config.name }}
|
||||
namespace: {{ include "argocd-image-updater.namespace" . | quote }}
|
||||
data:
|
||||
{{- with .Values.config.applicationsAPIKind }}
|
||||
|
|
|
@ -44,79 +44,79 @@ spec:
|
|||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: applications_api
|
||||
name: argocd-image-updater-config
|
||||
name: {{ .Values.config.name }}
|
||||
optional: true
|
||||
- name: ARGOCD_GRPC_WEB
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: argocd.grpc_web
|
||||
name: argocd-image-updater-config
|
||||
name: {{ .Values.config.name }}
|
||||
optional: true
|
||||
- name: ARGOCD_SERVER
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: argocd.server_addr
|
||||
name: argocd-image-updater-config
|
||||
name: {{ .Values.config.name }}
|
||||
optional: true
|
||||
- name: ARGOCD_INSECURE
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: argocd.insecure
|
||||
name: argocd-image-updater-config
|
||||
name: {{ .Values.config.name }}
|
||||
optional: true
|
||||
- name: ARGOCD_PLAINTEXT
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: argocd.plaintext
|
||||
name: argocd-image-updater-config
|
||||
name: {{ .Values.config.name }}
|
||||
optional: true
|
||||
- name: ARGOCD_TOKEN
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
key: argocd.token
|
||||
name: argocd-image-updater-secret
|
||||
name: {{ .Values.config.argocd.tokenSecretName }}
|
||||
optional: true
|
||||
- name: IMAGE_UPDATER_LOGLEVEL
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: log.level
|
||||
name: argocd-image-updater-config
|
||||
name: {{ .Values.config.name }}
|
||||
optional: true
|
||||
- name: GIT_COMMIT_USER
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: git.user
|
||||
name: argocd-image-updater-config
|
||||
name: {{ .Values.config.name }}
|
||||
optional: true
|
||||
- name: GIT_COMMIT_EMAIL
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: git.email
|
||||
name: argocd-image-updater-config
|
||||
name: {{ .Values.config.name }}
|
||||
optional: true
|
||||
- name: IMAGE_UPDATER_KUBE_EVENTS
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: kube.events
|
||||
name: argocd-image-updater-config
|
||||
name: {{ .Values.config.name }}
|
||||
optional: true
|
||||
- name: GIT_COMMIT_SIGNING_KEY
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: git.commit-signing-key
|
||||
name: argocd-image-updater-config
|
||||
name: {{ .Values.config.name }}
|
||||
optional: true
|
||||
- name: GIT_COMMIT_SIGNING_METHOD
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: git.commit-signing-method
|
||||
name: argocd-image-updater-config
|
||||
name: {{ .Values.config.name }}
|
||||
optional: true
|
||||
- name: GIT_COMMIT_SIGN_OFF
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: git.commit-sign-off
|
||||
name: argocd-image-updater-config
|
||||
name: {{ .Values.config.name }}
|
||||
optional: true
|
||||
{{- with .Values.extraEnv }}
|
||||
{{- toYaml . | nindent 10 }}
|
||||
|
@ -177,13 +177,13 @@ spec:
|
|||
path: registries.conf
|
||||
- key: git.commit-message-template
|
||||
path: commit.template
|
||||
name: argocd-image-updater-config
|
||||
name: {{ .Values.config.name }}
|
||||
optional: true
|
||||
name: image-updater-conf
|
||||
{{- if .Values.authScripts.enabled }}
|
||||
- configMap:
|
||||
defaultMode: 0777
|
||||
name: argocd-image-updater-authscripts
|
||||
name: {{ .Values.authScripts.name }}
|
||||
name: authscripts
|
||||
{{- end }}
|
||||
- configMap:
|
||||
|
@ -191,7 +191,7 @@ spec:
|
|||
optional: true
|
||||
name: ssh-known-hosts
|
||||
- configMap:
|
||||
name: argocd-image-updater-ssh-config
|
||||
name: {{ .Values.config.sshConfig.name }}
|
||||
optional: true
|
||||
name: ssh-config
|
||||
- name: ssh-signing-key
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: argocd-image-updater-secret
|
||||
name: {{ .Values.config.argocd.tokenSecretName }}
|
||||
namespace: {{ include "argocd-image-updater.namespace" . | quote }}
|
||||
labels:
|
||||
{{- include "argocd-image-updater.labels" . | nindent 4 }}
|
||||
|
|
|
@ -109,6 +109,8 @@ volumes: []
|
|||
# emptyDir: {}
|
||||
|
||||
config:
|
||||
# -- Name of the ConfigMap
|
||||
name: argocd-image-updater-config
|
||||
# -- API kind that is used to manage Argo CD applications (`kubernetes` or `argocd`)
|
||||
applicationsAPIKind: ""
|
||||
|
||||
|
@ -125,6 +127,8 @@ config:
|
|||
plaintext: false
|
||||
# -- If specified, the secret with Argo CD API key will be created.
|
||||
token: ""
|
||||
# -- Name of the Secret containing the token
|
||||
tokenSecretName: "argocd-image-updater-secret"
|
||||
|
||||
# -- Disable kubernetes events
|
||||
disableKubeEvents: false
|
||||
|
@ -175,9 +179,11 @@ config:
|
|||
# credentials: ext:/scripts/auth1.sh
|
||||
# credsexpire: 10h
|
||||
|
||||
# -- Argo CD Image Updater ssh client parameter configuration.
|
||||
sshConfig:
|
||||
{}
|
||||
# -- Name of the sshConfig ConfigMap
|
||||
name: argocd-image-updater-ssh-config
|
||||
# -- Argo CD Image Updater ssh client parameter configuration.
|
||||
config: ""
|
||||
# config: |
|
||||
# Host *
|
||||
# PubkeyAcceptedAlgorithms +ssh-rsa
|
||||
|
@ -188,6 +194,8 @@ config:
|
|||
authScripts:
|
||||
# -- Whether to mount the defined scripts that can be used to authenticate with a registry, the scripts will be mounted at `/scripts`
|
||||
enabled: false
|
||||
# -- Name of the authentication scripts ConfigMap
|
||||
name: argocd-image-updater-authscripts
|
||||
# -- Map of key-value pairs where the key consists of the name of the script and the value the contents
|
||||
scripts: {}
|
||||
# auth1.sh: |
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
"includePaths": [
|
||||
"**/charts/argo-workflows/Chart.yaml",
|
||||
"**/charts/argo-cd/Chart.yaml",
|
||||
"**/charts/argo-cd/values.yaml",
|
||||
"**/charts/argo-events/Chart.yaml",
|
||||
"**/charts/argo-rollouts/Chart.yaml",
|
||||
"**/charts/argocd-image-updater/Chart.yaml",
|
||||
|
@ -82,18 +83,18 @@
|
|||
"argoproj/argo-workflows",
|
||||
"argoproj/argo-cd",
|
||||
"argoproj/argo-events",
|
||||
"argoproj/argo-rollouts"
|
||||
"argoproj/argo-rollouts",
|
||||
"argoproj-labs/argocd-image-updater",
|
||||
"argoprojlabs/argocd-extension-installer",
|
||||
"public.ecr.aws/bitnami/redis-exporter",
|
||||
"public.ecr.aws/docker/library/redis"
|
||||
],
|
||||
"commitMessagePrefix": "chore({{{replace 'argoproj/' '' depName}}}):",
|
||||
"commitMessagePrefix": "chore({{parentDir}}):",
|
||||
"postUpgradeTasks": {
|
||||
"commands": ["./scripts/renovate-bump-version.sh {{depName}}"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"matchPackagePatterns": ["argoproj-labs/argocd-image-updater"],
|
||||
"commitMessagePrefix": "chore({{{replace 'argoproj-labs/' '' depName}}}):",
|
||||
"postUpgradeTasks": {
|
||||
"commands": ["./scripts/renovate-bump-version.sh {{depName}}"]
|
||||
"commands": [
|
||||
"./scripts/renovate-bump-version.sh -c {{parentDir}} -d {{depName}} -v {{newVersion}}",
|
||||
"./scripts/helm-docs.sh"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
21
scripts/release-analysis/.mega-linter.yaml
Normal file
21
scripts/release-analysis/.mega-linter.yaml
Normal file
|
@ -0,0 +1,21 @@
|
|||
# Configuration file for MegaLinter
|
||||
# Run megalinter locally with: `docker run --rm -v /var/run/docker.sock:/var/run/docker.sock:rw -v $(pwd):/tmp/lint:rw oxsecurity/megalinter:v8`
|
||||
ENABLE:
|
||||
- DOCKERFILE
|
||||
- PYTHON
|
||||
|
||||
DISABLE_LINTERS:
|
||||
- PYTHON_FLAKE8
|
||||
- PYTHON_PYRIGHT
|
||||
- PYTHON_RUFF
|
||||
- PYTHON_BANDIT
|
||||
|
||||
CLEAR_REPORT_FOLDER: true
|
||||
PYTHON_PYLINT_PRE_COMMANDS:
|
||||
- command: pip install -r /tmp/lint/requirements.txt
|
||||
venv: pylint
|
||||
REPORT_OUTPUT_FOLDER: none
|
||||
|
||||
|
||||
# You might want to enable this locally to fix some stuff without guessing what you need to change. Check before committing to git.
|
||||
#APPLY_FIXES: all
|
8
scripts/release-analysis/Dockerfile
Normal file
8
scripts/release-analysis/Dockerfile
Normal file
|
@ -0,0 +1,8 @@
|
|||
FROM python:3.13-slim
|
||||
WORKDIR /app
|
||||
COPY requirements.txt ./
|
||||
RUN pip install --no-cache-dir -r requirements.txt
|
||||
|
||||
COPY main.py fetch_releases.py fetch_helmet_releases.py merge_csvs.py plot_graph.py ./
|
||||
RUN chmod +x main.py fetch_releases.py fetch_helmet_releases.py merge_csvs.py plot_graph.py
|
||||
CMD [ "python", "-u", "./main.py" ]
|
27
scripts/release-analysis/README.md
Normal file
27
scripts/release-analysis/README.md
Normal file
|
@ -0,0 +1,27 @@
|
|||
# argo-helm release analysis
|
||||
|
||||
Compare the time of the upstream release to the time of the equivalent Helm Chart release to determine the time it takes for a new release to be available in argo-helm.
|
||||
|
||||
|
||||
## How to run
|
||||
This is quite github-api-intensive, so you'll need a github PAT
|
||||
|
||||
```bash
|
||||
# Build the container
|
||||
docker build . -t team-helm-analysis
|
||||
|
||||
# Delete any existing data
|
||||
rm -f argo_helm_releases.csv argo_releases.csv merged_releases.csv time_difference_plot_argo*.png
|
||||
|
||||
# Run the container
|
||||
GITHUB_TOKEN=your_token_here
|
||||
docker run --rm -e GITHUB_TOKEN=$GITHUB_TOKEN -v ${PWD}:/app team-helm-analysis
|
||||
```
|
||||
|
||||
You should get 3 csvs and 4 graphs once this completes. It takes around 5 mins to run.
|
||||
|
||||
|
||||
## Linting
|
||||
I ran megalinter against this just to give some confidence that it's not completely broken. It's not perfect, but it's something.
|
||||
|
||||
Run megalinter locally against this directory with: `docker run --rm -v /var/run/docker.sock:/var/run/docker.sock:rw -v $(pwd):/tmp/lint:rw oxsecurity/megalinter:v8`
|
1019
scripts/release-analysis/argo_helm_releases.csv
Normal file
1019
scripts/release-analysis/argo_helm_releases.csv
Normal file
File diff suppressed because it is too large
Load diff
877
scripts/release-analysis/argo_releases.csv
Normal file
877
scripts/release-analysis/argo_releases.csv
Normal file
|
@ -0,0 +1,877 @@
|
|||
Repository,Release Tag,Release Date,Release Time
|
||||
argo-cd,v2.14.0-rc6,2025-01-21,21:40:31
|
||||
argo-cd,v2.14.0-rc5,2025-01-08,20:16:38
|
||||
argo-cd,v2.13.3,2025-01-03,19:23:42
|
||||
argo-cd,v2.12.9,2025-01-03,19:21:15
|
||||
argo-cd,v2.14.0-rc4,2025-01-02,22:36:35
|
||||
argo-cd,v2.14.0-rc3,2024-12-18,19:22:51
|
||||
argo-cd,v2.14.0-rc2,2024-12-17,18:43:53
|
||||
argo-cd,v2.13.2,2024-12-11,19:18:46
|
||||
argo-cd,v2.12.8,2024-12-11,19:17:57
|
||||
argo-cd,v2.13.1,2024-11-20,17:11:22
|
||||
argo-cd,v2.12.7,2024-11-05,16:08:15
|
||||
argo-cd,v2.11.12,2024-11-05,16:09:52
|
||||
argo-cd,v2.13.0,2024-11-04,12:46:49
|
||||
argo-cd,v2.13.0-rc5,2024-10-18,21:56:52
|
||||
argo-cd,v2.12.6,2024-10-18,19:07:18
|
||||
argo-cd,v2.11.11,2024-10-18,19:10:03
|
||||
argo-cd,v2.13.0-rc4,2024-10-17,22:20:25
|
||||
argo-cd,v2.12.5,2024-10-17,22:03:45
|
||||
argo-cd,v2.11.10,2024-10-17,22:04:22
|
||||
argo-cd,v2.10.18,2024-10-17,22:02:48
|
||||
argo-cd,v2.13.0-rc3,2024-10-07,14:11:10
|
||||
argo-cd,v2.12.4,2024-09-26,07:14:39
|
||||
argo-cd,v2.11.9,2024-09-26,07:39:46
|
||||
argo-cd,v2.10.17,2024-09-26,07:39:53
|
||||
argo-cd,v2.13.0-rc2,2024-09-20,12:16:17
|
||||
argo-cd,v2.13.0-rc1,2024-09-16,09:07:32
|
||||
argo-cd,v2.11.8,2024-09-11,07:18:22
|
||||
argo-cd,v2.12.3,2024-08-27,12:33:34
|
||||
argo-cd,v2.12.2,2024-08-23,04:05:09
|
||||
argo-cd,v2.9.22,2024-08-22,18:09:07
|
||||
argo-cd,v2.8.21,2024-08-22,00:15:46
|
||||
argo-cd,v2.12.1,2024-08-16,17:16:36
|
||||
argo-cd,v2.12.0,2024-08-05,14:02:15
|
||||
argo-cd,v2.12.0-rc5,2024-08-02,00:02:42
|
||||
argo-cd,v2.11.7,2024-07-24,10:27:18
|
||||
argo-cd,v2.10.16,2024-07-24,10:27:30
|
||||
argo-cd,v2.9.21,2024-07-24,10:27:35
|
||||
argo-cd,v2.11.6,2024-07-22,15:19:04
|
||||
argo-cd,v2.10.15,2024-07-22,15:28:11
|
||||
argo-cd,v2.9.20,2024-07-22,15:26:01
|
||||
argo-cd,v2.12.0-rc4,2024-07-15,18:31:03
|
||||
argo-cd,v2.11.5,2024-07-15,18:32:15
|
||||
argo-cd,v2.10.14,2024-07-15,18:43:13
|
||||
argo-cd,v2.9.19,2024-07-15,19:10:33
|
||||
argo-cd,v2.12.0-rc3,2024-07-02,19:11:39
|
||||
argo-cd,v2.11.4,2024-07-02,19:52:42
|
||||
argo-cd,v2.10.13,2024-07-02,19:16:33
|
||||
argo-cd,v2.9.18,2024-07-02,20:06:18
|
||||
argo-cd,v2.12.0-rc2,2024-06-24,21:07:03
|
||||
argo-cd,v2.12.0-rc1,2024-06-18,13:46:04
|
||||
argo-cd,v2.11.3,2024-06-06,09:43:29
|
||||
argo-cd,v2.10.12,2024-06-06,09:44:03
|
||||
argo-cd,v2.9.17,2024-06-06,09:47:39
|
||||
argo-cd,v2.11.2,2024-05-23,14:14:51
|
||||
argo-cd,v2.10.11,2024-05-23,14:20:08
|
||||
argo-cd,v2.9.16,2024-05-23,14:28:35
|
||||
argo-cd,v2.8.20,2024-05-23,14:22:46
|
||||
argo-cd,v2.11.1,2024-05-21,15:03:58
|
||||
argo-cd,v2.10.10,2024-05-21,15:04:04
|
||||
argo-cd,v2.9.15,2024-05-21,15:03:15
|
||||
argo-cd,v2.8.19,2024-05-21,15:02:42
|
||||
argo-cd,v2.11.0,2024-05-07,16:37:25
|
||||
argo-cd,v2.10.9,2024-04-30,16:55:10
|
||||
argo-cd,v2.9.14,2024-04-30,17:52:42
|
||||
argo-cd,v2.8.18,2024-04-30,18:11:05
|
||||
argo-cd,v2.11.0-rc3,2024-04-29,20:34:30
|
||||
argo-cd,v2.10.8,2024-04-26,14:04:02
|
||||
argo-cd,v2.9.13,2024-04-26,13:54:31
|
||||
argo-cd,v2.8.17,2024-04-26,13:32:45
|
||||
argo-cd,v2.11.0-rc2,2024-04-15,20:21:25
|
||||
argo-cd,v2.10.7,2024-04-15,09:21:23
|
||||
argo-cd,v2.9.12,2024-04-15,09:23:39
|
||||
argo-cd,v2.8.16,2024-04-15,09:24:55
|
||||
argo-cd,v2.11.0-rc1,2024-04-05,12:48:47
|
||||
argo-cd,v2.10.6,2024-04-05,01:04:01
|
||||
argo-cd,v2.9.11,2024-04-05,00:33:21
|
||||
argo-cd,v2.8.15,2024-04-05,00:08:33
|
||||
argo-cd,v2.7.18,2024-04-04,23:10:16
|
||||
argo-cd,v2.10.5,2024-03-28,16:29:02
|
||||
argo-cd,v2.9.10,2024-03-28,17:14:04
|
||||
argo-cd,v2.8.14,2024-03-28,17:14:13
|
||||
argo-cd,v2.10.4,2024-03-18,08:44:51
|
||||
argo-cd,v2.9.9,2024-03-18,08:44:29
|
||||
argo-cd,v2.8.13,2024-03-18,08:43:03
|
||||
argo-cd,v2.10.3,2024-03-13,19:53:05
|
||||
argo-cd,v2.9.8,2024-03-13,19:50:14
|
||||
argo-cd,v2.8.12,2024-03-13,19:49:30
|
||||
argo-cd,v2.8.11,2024-03-08,15:35:57
|
||||
argo-cd,v2.10.2,2024-03-01,22:03:43
|
||||
argo-cd,v2.9.7,2024-03-01,23:28:36
|
||||
argo-cd,v2.10.1,2024-02-14,18:12:43
|
||||
argo-cd,v2.10.0,2024-02-06,15:03:51
|
||||
argo-cd,v2.9.6,2024-02-02,19:51:46
|
||||
argo-cd,v2.8.10,2024-02-02,19:01:36
|
||||
argo-cd,v2.7.17,2024-02-02,19:00:32
|
||||
argo-cd,v2.10.0-rc4,2024-01-25,21:50:37
|
||||
argo-cd,v2.10.0-rc3,2024-01-19,18:33:17
|
||||
argo-cd,v2.9.5,2024-01-19,18:32:02
|
||||
argo-cd,v2.8.9,2024-01-19,18:47:44
|
||||
argo-cd,v2.8.8,2024-01-19,15:17:36
|
||||
argo-cd,v2.7.16,2024-01-19,19:38:49
|
||||
argo-cd,v2.10.0-rc2,2024-01-18,21:14:40
|
||||
argo-cd,v2.9.4,2024-01-18,21:24:02
|
||||
argo-cd,v2.10.0-rc1,2023-12-18,21:20:13
|
||||
argo-cd,v2.7.15,2023-12-06,15:59:27
|
||||
argo-cd,v2.9.3,2023-12-01,23:39:19
|
||||
argo-cd,v2.9.2,2023-11-20,17:52:41
|
||||
argo-cd,v2.8.7,2023-11-20,17:52:04
|
||||
argo-cd,v2.9.1,2023-11-14,15:55:51
|
||||
argo-cd,v2.9.0,2023-11-06,05:27:12
|
||||
argo-cd,v2.8.6,2023-11-01,17:29:59
|
||||
argo-cd,v2.9.0-rc4,2023-10-31,22:28:01
|
||||
argo-cd,v2.8.5,2023-10-31,19:30:03
|
||||
argo-cd,v2.9.0-rc3,2023-10-25,19:54:22
|
||||
argo-cd,v2.9.0-rc2,2023-10-03,16:24:24
|
||||
argo-cd,v2.9.0-rc1,2023-09-27,01:06:19
|
||||
argo-cd,v2.8.4,2023-09-13,20:08:07
|
||||
argo-cd,v2.8.3,2023-09-07,18:06:07
|
||||
argo-cd,v2.7.14,2023-09-07,18:05:20
|
||||
argo-cd,v2.6.15,2023-09-07,18:32:42
|
||||
argo-cd,v2.5.22,2023-08-25,15:21:48
|
||||
argo-cd,v2.8.2,2023-08-24,21:05:33
|
||||
argo-cd,v2.7.13,2023-08-24,20:58:11
|
||||
argo-cd,v2.6.14,2023-08-24,22:01:58
|
||||
argo-cd,v2.8.1,2023-08-22,21:19:28
|
||||
argo-cd,v2.7.12,2023-08-23,15:02:27
|
||||
argo-cd,v2.8.0,2023-08-07,20:03:46
|
||||
argo-cd,v2.7.11,2023-08-07,20:07:16
|
||||
argo-cd,v2.8.0-rc7,2023-08-03,16:20:46
|
||||
argo-cd,v2.7.10,2023-07-31,22:51:19
|
||||
argo-cd,v2.8.0-rc6,2023-07-28,14:47:33
|
||||
argo-cd,v2.7.9,2023-07-24,18:50:30
|
||||
argo-cd,v2.8.0-rc5,2023-07-19,18:28:18
|
||||
argo-cd,v2.7.8,2023-07-19,15:58:13
|
||||
argo-cd,v2.6.13,2023-07-19,18:32:25
|
||||
argo-cd,v2.5.21,2023-07-19,16:18:16
|
||||
argo-cd,v2.8.0-rc4,2023-07-19,01:04:24
|
||||
argo-cd,v2.8.0-rc3,2023-07-12,21:02:10
|
||||
argo-cd,v2.8.0-rc2,2023-07-05,20:16:20
|
||||
argo-cd,v2.7.7,2023-07-05,20:25:54
|
||||
argo-cd,v2.6.12,2023-07-05,20:26:58
|
||||
argo-cd,v2.5.20,2023-07-05,20:21:44
|
||||
argo-cd,v2.8.0-rc1,2023-06-27,14:35:51
|
||||
argo-cd,v2.7.6,2023-06-20,21:46:46
|
||||
argo-cd,v2.6.11,2023-06-20,21:40:36
|
||||
argo-cd,v2.7.5,2023-06-16,15:24:00
|
||||
argo-cd,v2.6.10,2023-06-16,15:30:18
|
||||
argo-cd,v2.5.19,2023-06-16,15:14:25
|
||||
argo-cd,v2.7.4,2023-06-05,19:40:08
|
||||
argo-cd,v2.6.9,2023-06-05,20:00:21
|
||||
argo-cd,v2.5.18,2023-06-05,19:37:35
|
||||
argo-cd,v2.6.8,2023-05-25,16:35:40
|
||||
argo-cd,v2.5.17,2023-05-25,16:37:48
|
||||
argo-cd,v2.7.3,2023-05-24,16:14:02
|
||||
argo-cd,v2.7.2,2023-05-12,14:41:07
|
||||
argo-cd,v2.7.1,2023-05-02,17:24:44
|
||||
argo-cd,v2.7.0,2023-05-02,00:51:25
|
||||
argo-cd,v2.7.0-rc2,2023-04-11,16:29:33
|
||||
argo-cd,v2.7.0-rc1,2023-03-27,14:42:25
|
||||
argo-cd,v2.6.7,2023-03-23,15:45:09
|
||||
argo-cd,v2.5.16,2023-03-23,15:34:49
|
||||
argo-cd,v2.4.28,2023-03-23,15:35:38
|
||||
argo-cd,v2.6.6,2023-03-16,23:07:31
|
||||
argo-cd,v2.5.15,2023-03-16,23:35:35
|
||||
argo-cd,v2.4.27,2023-03-16,23:05:14
|
||||
argo-cd,v2.6.5,2023-03-14,14:59:49
|
||||
argo-cd,v2.5.14,2023-03-14,15:03:12
|
||||
argo-cd,v2.4.26,2023-03-14,15:01:43
|
||||
argo-cd,v2.6.4,2023-03-07,23:29:08
|
||||
argo-cd,v2.5.13,2023-03-07,23:28:04
|
||||
argo-cd,v2.4.25,2023-03-07,22:29:10
|
||||
argo-cd,v2.6.3,2023-02-27,15:20:04
|
||||
argo-cd,v2.5.12,2023-02-27,15:21:29
|
||||
argo-cd,v2.4.24,2023-02-27,15:22:21
|
||||
argo-cd,v2.6.2,2023-02-16,15:43:42
|
||||
argo-cd,v2.5.11,2023-02-16,15:46:31
|
||||
argo-cd,v2.4.23,2023-02-16,15:41:44
|
||||
argo-cd,v2.3.17,2023-02-16,16:01:23
|
||||
argo-cd,v2.6.1,2023-02-08,19:39:04
|
||||
argo-cd,v2.6.0,2023-02-06,22:04:33
|
||||
argo-cd,v2.6.0-rc7,2023-02-02,16:04:58
|
||||
argo-cd,v2.5.10,2023-02-02,15:48:00
|
||||
argo-cd,v2.4.22,2023-02-02,16:06:04
|
||||
argo-cd,v2.3.16,2023-02-02,16:20:13
|
||||
argo-cd,v2.6.0-rc6,2023-01-28,00:07:50
|
||||
argo-cd,v2.5.9,2023-01-28,00:04:28
|
||||
argo-cd,v2.4.21,2023-01-28,00:07:25
|
||||
argo-cd,v2.3.15,2023-01-28,01:20:18
|
||||
argo-cd,v2.6.0-rc5,2023-01-25,18:35:37
|
||||
argo-cd,v2.5.8,2023-01-25,17:05:03
|
||||
argo-cd,v2.4.20,2023-01-25,16:19:24
|
||||
argo-cd,v2.3.14,2023-01-25,17:07:36
|
||||
argo-cd,v2.6.0-rc4,2023-01-18,03:00:03
|
||||
argo-cd,v2.5.7,2023-01-18,03:00:02
|
||||
argo-cd,v2.4.19,2023-01-18,02:59:01
|
||||
argo-cd,v2.3.13,2023-01-18,04:02:17
|
||||
argo-cd,v2.6.0-rc3,2023-01-13,20:36:52
|
||||
argo-cd,v2.5.6,2023-01-10,20:14:18
|
||||
argo-cd,v2.6.0-rc2,2023-01-05,16:02:06
|
||||
argo-cd,v2.6.0-rc1,2022-12-19,17:27:17
|
||||
argo-cd,v2.5.5,2022-12-16,16:53:08
|
||||
argo-cd,v2.4.18,2022-12-16,16:47:09
|
||||
argo-cd,v2.3.12,2022-12-16,17:40:00
|
||||
argo-cd,v2.5.4,2022-12-06,20:26:51
|
||||
argo-cd,v2.5.3,2022-11-28,17:28:00
|
||||
argo-cd,v2.5.2,2022-11-07,17:23:44
|
||||
argo-cd,v2.4.17,2022-11-07,17:05:27
|
||||
argo-cd,v2.5.1,2022-11-01,21:53:59
|
||||
argo-cd,v2.4.16,2022-11-01,22:03:02
|
||||
argo-cd,v2.3.11,2022-11-01,22:39:18
|
||||
argo-cd,v2.2.16,2022-11-01,20:44:20
|
||||
argo-cd,v2.5.0,2022-10-25,15:32:28
|
||||
argo-cd,v2.2.15,2022-10-18,22:08:59
|
||||
argo-cd,v2.5.0-rc3,2022-10-17,18:39:09
|
||||
argo-cd,v2.4.15,2022-10-17,21:17:43
|
||||
argo-cd,v2.3.10,2022-10-18,01:09:30
|
||||
argo-cd,v2.5.0-rc2,2022-10-11,19:55:49
|
||||
argo-cd,v2.5.0-rc1,2022-10-05,18:00:34
|
||||
argo-cd,v2.4.14,2022-10-05,17:53:31
|
||||
argo-cd,v2.3.9,2022-10-05,18:24:18
|
||||
argo-cd,v2.2.14,2022-10-05,17:17:02
|
||||
argo-cd,v2.4.13,2022-10-03,21:38:39
|
||||
argo-cd,v2.3.8,2022-10-03,22:36:32
|
||||
argo-cd,v2.2.13,2022-10-03,21:05:16
|
||||
argo-cd,v2.4.12,2022-09-16,01:33:23
|
||||
argo-cd,v2.4.11,2022-08-22,09:52:10
|
||||
argo-cd,v2.4.10,2022-08-17,21:44:09
|
||||
argo-cd,v2.4.9,2022-08-11,15:59:47
|
||||
argo-cd,v2.4.8,2022-07-29,17:38:38
|
||||
argo-cd,v2.3.7,2022-07-29,16:11:01
|
||||
argo-cd,v2.2.12,2022-07-29,14:58:00
|
||||
argo-cd,v2.4.7,2022-07-18,21:54:21
|
||||
argo-cd,v2.4.6,2022-07-12,23:14:34
|
||||
argo-cd,v2.4.5,2022-07-12,17:05:35
|
||||
argo-cd,v2.3.6,2022-07-12,17:56:53
|
||||
argo-cd,v2.2.11,2022-07-12,16:23:51
|
||||
argo-cd,v2.4.4,2022-07-07,07:59:34
|
||||
argo-cd,v2.4.3,2022-06-27,21:39:15
|
||||
argo-cd,v2.4.2,2022-06-21,21:19:40
|
||||
argo-cd,v2.4.1,2022-06-21,17:18:01
|
||||
argo-cd,v2.3.5,2022-06-21,18:28:28
|
||||
argo-cd,v2.2.10,2022-06-21,16:42:53
|
||||
argo-cd,v2.1.16,2022-06-21,16:34:29
|
||||
argo-cd,v2.4.0,2022-06-10,17:59:33
|
||||
argo-cd,v2.4.0-rc5,2022-06-06,19:57:45
|
||||
argo-cd,v2.4.0-rc4,2022-06-01,23:51:49
|
||||
argo-cd,v2.4.0-rc3,2022-05-31,20:14:43
|
||||
argo-cd,v2.4.0-rc2,2022-05-18,13:20:52
|
||||
argo-cd,v2.3.4,2022-05-18,13:14:17
|
||||
argo-cd,v2.2.9,2022-05-18,12:11:30
|
||||
argo-cd,v2.1.15,2022-05-18,12:48:12
|
||||
argo-cd,v2.4.0-rc1,2022-05-06,23:59:23
|
||||
argo-cd,v2.3.3,2022-03-30,01:55:37
|
||||
argo-cd,v2.3.2,2022-03-23,02:12:12
|
||||
argo-cd,v2.2.8,2022-03-23,00:38:55
|
||||
argo-cd,v2.1.14,2022-03-23,00:25:37
|
||||
argo-cd,v2.3.1,2022-03-11,00:07:41
|
||||
argo-cd,v2.2.7,2022-03-09,01:16:04
|
||||
argo-cd,v2.1.12,2022-03-09,01:06:39
|
||||
argo-cd,v2.3.0,2022-03-06,07:59:28
|
||||
argo-cd,v2.2.6,2022-03-06,06:08:26
|
||||
argo-cd,v2.1.11,2022-03-06,05:44:19
|
||||
argo-cd,v2.2.5,2022-02-05,01:42:13
|
||||
argo-cd,v2.1.10,2022-02-05,01:27:00
|
||||
argo-cd,v2.3.0-rc5,2022-02-05,00:52:33
|
||||
argo-cd,v2.3.0-rc4,2022-02-03,23:22:13
|
||||
argo-cd,v2.2.4,2022-02-03,20:50:43
|
||||
argo-cd,v2.1.9,2022-02-03,20:38:47
|
||||
argo-cd,v2.3.0-rc2,2022-02-02,23:59:42
|
||||
argo-cd,v2.3.0-rc1,2022-01-30,23:19:12
|
||||
argo-cd,v2.2.3,2022-01-18,18:03:37
|
||||
argo-cd,v2.2.2,2022-01-01,06:38:42
|
||||
argo-cd,v2.2.1,2021-12-17,01:41:25
|
||||
argo-cd,v2.2.0,2021-12-14,18:19:23
|
||||
argo-cd,v2.1.8,2021-12-13,23:26:15
|
||||
argo-cd,v2.1.7,2021-11-17,22:18:58
|
||||
argo-cd,v2.2.0-rc1,2021-11-12,16:44:39
|
||||
argo-cd,v2.1.6,2021-10-28,20:08:23
|
||||
argo-cd,v2.1.5,2021-10-20,15:25:12
|
||||
argo-cd,v2.1.4,2021-10-20,00:47:38
|
||||
argo-cd,v2.1.3,2021-09-29,21:59:28
|
||||
argo-cd,v2.1.2,2021-09-02,18:13:57
|
||||
argo-cd,v2.1.1,2021-08-25,15:20:05
|
||||
argo-cd,v2.1.0,2021-08-20,05:40:42
|
||||
argo-cd,v2.1.0-rc3,2021-08-11,19:54:48
|
||||
argo-cd,v2.1.0-rc2,2021-08-03,17:17:22
|
||||
argo-cd,v2.1.0-rc1,2021-07-28,22:39:33
|
||||
argo-cd,v2.0.5,2021-07-22,21:00:58
|
||||
argo-cd,v2.0.4,2021-06-23,01:36:22
|
||||
argo-cd,v2.0.3,2021-05-27,17:47:33
|
||||
argo-cd,v2.0.2,2021-05-20,19:38:10
|
||||
argo-cd,v2.0.1,2021-04-15,22:40:37
|
||||
argo-cd,v2.0.0,2021-04-07,06:07:51
|
||||
argo-cd,v2.0.0-rc4,2021-04-05,23:22:38
|
||||
argo-cd,v2.0.0-rc3,2021-04-02,17:59:51
|
||||
argo-cd,v2.0.0-rc2,2021-03-29,21:39:06
|
||||
argo-cd,v2.0.0-rc1,2021-03-19,21:37:41
|
||||
argo-cd,v1.8.7,2021-03-03,07:20:14
|
||||
argo-cd,v1.7.14,2021-03-03,18:45:51
|
||||
argo-cd,v1.8.6,2021-02-26,21:29:08
|
||||
argo-cd,v1.7.13,2021-02-26,17:29:32
|
||||
argo-cd,v1.8.5,2021-02-20,05:47:09
|
||||
argo-cd,v1.8.4,2021-02-05,18:02:18
|
||||
argo-cd,v1.7.12,2021-02-05,20:29:49
|
||||
argo-cd,v1.8.3,2021-01-21,22:26:34
|
||||
argo-cd,v1.8.2,2021-01-10,05:47:08
|
||||
argo-cd,v1.8.1,2020-12-10,03:05:37
|
||||
argo-cd,v1.7.11,2020-12-10,02:47:15
|
||||
argo-cd,v1.8.0,2020-12-09,18:35:24
|
||||
argo-cd,v1.8.0-rc2,2020-12-03,05:15:48
|
||||
argo-cd,v1.8.0-rc1,2020-11-25,18:21:18
|
||||
argo-cd,v1.7.10,2020-11-20,19:57:30
|
||||
argo-cd,v1.7.9,2020-11-17,23:26:31
|
||||
argo-cd,v1.7.8,2020-10-15,22:39:54
|
||||
argo-cd,v1.7.7,2020-09-29,05:02:51
|
||||
argo-cd,v1.7.6,2020-09-19,00:58:10
|
||||
argo-cd,v1.7.5,2020-09-15,23:10:12
|
||||
argo-cd,v1.7.4,2020-09-05,02:51:36
|
||||
argo-cd,v1.7.3,2020-09-01,23:25:39
|
||||
argo-cd,v1.7.2,2020-08-27,23:40:37
|
||||
argo-cd,v1.7.1,2020-08-26,21:17:44
|
||||
argo-cd,v1.7.0,2020-08-25,19:05:00
|
||||
argo-cd,v1.7.0-rc1,2020-08-15,19:37:04
|
||||
argo-cd,v1.6.2,2020-07-31,23:51:10
|
||||
argo-cd,v1.6.1,2020-06-19,00:47:03
|
||||
argo-cd,v1.6.0,2020-06-16,22:46:48
|
||||
argo-cd,v1.5.8,2020-06-16,20:05:59
|
||||
argo-cd,v1.6.0-rc2,2020-06-09,22:29:03
|
||||
argo-cd,v1.5.7,2020-06-09,18:46:23
|
||||
argo-cd,v1.6.0-rc1,2020-06-03,04:11:50
|
||||
argo-cd,v1.5.6,2020-06-02,19:13:17
|
||||
argo-cd,v1.5.5,2020-05-16,15:22:14
|
||||
argo-cd,v1.5.4,2020-05-05,19:25:30
|
||||
argo-cd,v1.5.3,2020-05-02,04:58:47
|
||||
argo-cd,v1.5.2,2020-04-15,19:05:41
|
||||
argo-cd,v1.4.3,2020-04-15,19:09:30
|
||||
argo-cd,v1.5.1,2020-04-06,16:35:44
|
||||
argo-cd,v1.5.0,2020-04-02,18:49:53
|
||||
argo-cd,v1.5.0-rc3,2020-03-30,22:42:52
|
||||
argo-cd,v1.5.0-rc2,2020-03-26,06:12:25
|
||||
argo-cd,v1.5.0-rc1,2020-03-20,23:02:28
|
||||
argo-cd,v1.4.2,2020-01-24,01:18:02
|
||||
argo-cd,v1.4.1,2020-01-22,23:10:57
|
||||
argo-cd,v1.4.0,2020-01-18,06:12:51
|
||||
argo-cd,v1.4.0-rc1,2020-01-13,20:48:09
|
||||
argo-cd,v1.3.6,2019-12-10,22:54:07
|
||||
argo-cd,v1.3.5,2019-12-09,21:25:22
|
||||
argo-cd,v1.3.4,2019-12-05,23:31:46
|
||||
argo-cd,v1.3.3,2019-12-05,22:55:32
|
||||
argo-cd,v1.3.2,2019-12-03,21:40:15
|
||||
argo-cd,v1.3.1,2019-12-02,22:35:57
|
||||
argo-cd,v1.3.0,2019-11-13,02:17:35
|
||||
argo-cd,v1.3.0-rc5,2019-11-11,21:34:47
|
||||
argo-cd,v1.3.0-rc4,2019-11-04,06:53:16
|
||||
argo-cd,v1.3.0-rc3,2019-10-29,20:19:18
|
||||
argo-cd,v1.2.5,2019-10-29,00:14:59
|
||||
argo-cd,v1.3.0-rc2,2019-10-23,01:36:08
|
||||
argo-cd,v1.2.4,2019-10-23,20:11:59
|
||||
argo-cd,v1.3.0-rc1,2019-10-16,21:46:33
|
||||
argo-cd,v1.2.3,2019-10-01,21:10:16
|
||||
argo-cd,v1.2.2,2019-09-24,19:34:55
|
||||
argo-cd,v1.2.1,2019-09-12,17:31:17
|
||||
argo-cd,v1.2.0,2019-09-04,21:39:00
|
||||
argo-cd,v1.2.0-rc2,2019-08-21,16:04:14
|
||||
argo-cd,v1.2.0-rc1,2019-08-06,20:26:20
|
||||
argo-cd,v1.1.2,2019-07-30,18:02:46
|
||||
argo-cd,v1.1.1,2019-07-24,17:44:23
|
||||
argo-cd,v1.1.0,2019-07-24,17:22:37
|
||||
argo-cd,v1.1.0-rc8,2019-07-19,22:33:59
|
||||
argo-cd,v1.1.0-rc7,2019-07-17,23:30:42
|
||||
argo-cd,v1.1.0-rc6,2019-07-16,16:43:32
|
||||
argo-cd,v1.1.0-rc5,2019-07-09,21:43:03
|
||||
argo-cd,v1.1.0-rc4,2019-07-03,21:23:36
|
||||
argo-cd,v1.1.0-rc3,2019-06-28,21:09:41
|
||||
argo-cd,v1.1.0-rc2,2019-06-21,23:41:40
|
||||
argo-cd,v1.1.0-rc1,2019-06-14,18:42:47
|
||||
argo-cd,v1.0.2,2019-06-14,17:23:08
|
||||
argo-cd,v1.0.1,2019-05-28,17:32:09
|
||||
argo-cd,v1.0.0,2019-05-16,22:13:10
|
||||
argo-cd,v1.0.0-rc3,2019-05-09,17:28:45
|
||||
argo-cd,v1.0.0-rc2,2019-04-30,21:30:50
|
||||
argo-cd,v0.12.3,2019-04-30,06:17:03
|
||||
argo-cd,v1.0.0-rc1,2019-04-24,18:21:02
|
||||
argo-cd,v0.12.2,2019-04-22,21:50:44
|
||||
argo-cd,v0.12.1,2019-04-09,21:28:28
|
||||
argo-cd,v0.12.0,2019-03-23,01:35:42
|
||||
argo-cd,v0.12.0-rc6,2019-03-20,22:50:14
|
||||
argo-cd,v0.12.0-rc5,2019-03-19,08:07:36
|
||||
argo-cd,v0.12.0-rc4,2019-03-12,21:55:07
|
||||
argo-cd,v0.12.0-rc3,2019-03-07,02:51:44
|
||||
argo-cd,v0.12.0-rc2,2019-03-06,11:20:06
|
||||
argo-cd,v0.12.0-rc1,2019-03-06,03:04:20
|
||||
argo-cd,v0.11.2,2019-02-19,18:00:25
|
||||
argo-cd,v0.11.1,2019-01-18,21:14:24
|
||||
argo-cd,v0.11.0,2019-01-11,02:13:53
|
||||
argo-cd,v0.11.0-rc6,2019-01-10,00:42:34
|
||||
argo-cd,v0.11.0-rc5,2019-01-09,00:13:56
|
||||
argo-cd,v0.11.0-rc4,2019-01-04,21:48:23
|
||||
argo-cd,v0.11.0-rc3,2019-01-03,23:58:08
|
||||
argo-cd,v0.11.0-rc2,2018-12-28,01:33:08
|
||||
argo-cd,v0.11.0-rc1,2018-12-10,17:50:56
|
||||
argo-cd,v0.10.6,2018-11-15,03:01:53
|
||||
argo-cd,v0.10.5,2018-11-14,02:40:13
|
||||
argo-cd,v0.10.4,2018-11-08,02:06:57
|
||||
argo-cd,v0.10.3,2018-10-29,07:03:10
|
||||
argo-cd,v0.10.2,2018-10-25,20:12:36
|
||||
argo-cd,v0.10.1,2018-10-24,20:28:59
|
||||
argo-cd,v0.10.0,2018-10-19,22:01:34
|
||||
argo-cd,v0.9.2,2018-09-28,16:59:16
|
||||
argo-cd,v0.9.1,2018-09-24,21:46:35
|
||||
argo-cd,v0.9.0,2018-09-24,20:41:50
|
||||
argo-cd,v0.8.2,2018-09-12,08:55:44
|
||||
argo-cd,v0.8.1,2018-09-11,01:34:30
|
||||
argo-cd,v0.8.0,2018-09-05,01:10:25
|
||||
argo-cd,v0.7.2,2018-08-21,08:22:07
|
||||
argo-cd,v0.7.1,2018-08-03,20:45:14
|
||||
argo-cd,v0.7.0,2018-07-28,01:30:19
|
||||
argo-cd,v0.6.2,2018-07-24,10:04:03
|
||||
argo-cd,v0.6.1,2018-07-18,07:44:11
|
||||
argo-cd,v0.6.0,2018-07-17,09:42:25
|
||||
argo-cd,v0.5.4,2018-06-27,23:25:33
|
||||
argo-cd,v0.5.3,2018-06-21,00:09:10
|
||||
argo-cd,v0.5.2,2018-06-14,20:19:39
|
||||
argo-cd,v0.5.1,2018-06-13,21:46:40
|
||||
argo-cd,v0.5.0,2018-06-12,20:39:05
|
||||
argo-cd,v0.4.7,2018-06-07,18:37:20
|
||||
argo-cd,v0.4.6,2018-06-06,18:12:48
|
||||
argo-cd,v0.4.5,2018-05-31,10:29:26
|
||||
argo-cd,v0.4.4,2018-05-30,23:40:52
|
||||
argo-cd,v0.4.3,2018-05-21,22:38:11
|
||||
argo-cd,v0.4.2,2018-05-21,08:25:50
|
||||
argo-cd,v0.4.1,2018-05-18,20:40:11
|
||||
argo-cd,v0.4.0,2018-05-17,09:55:08
|
||||
argo-cd,v0.4.0-alpha1,2018-05-11,23:59:31
|
||||
argo-cd,v0.3.2,2018-05-03,18:25:30
|
||||
argo-cd,v0.3.1,2018-04-24,23:32:12
|
||||
argo-cd,v0.3.0,2018-04-23,08:29:14
|
||||
argo-cd,v0.2.0,2018-04-03,18:19:24
|
||||
argo-cd,v0.1.0,2018-03-13,00:38:20
|
||||
argo-workflows,v3.6.2,2024-12-02,14:12:44
|
||||
argo-workflows,v3.5.13,2024-12-02,13:09:39
|
||||
argo-workflows,v3.6.0,2024-11-14,19:02:01
|
||||
argo-workflows,v3.6.0-rc4,2024-10-31,11:56:16
|
||||
argo-workflows,v3.5.12,2024-10-30,11:49:27
|
||||
argo-workflows,v3.6.0-rc3,2024-10-24,10:51:47
|
||||
argo-workflows,v3.4.18,2024-12-16,09:03:37
|
||||
argo-workflows,v3.6.0-rc2,2024-10-03,07:48:59
|
||||
argo-workflows,v3.5.11,2024-09-20,14:08:00
|
||||
argo-workflows,v3.6.0-rc1,2024-09-18,10:03:03
|
||||
argo-workflows,v3.5.10,2024-08-01,06:03:16
|
||||
argo-workflows,v3.5.9,2024-07-30,06:58:49
|
||||
argo-workflows,v3.5.8,2024-06-18,04:52:31
|
||||
argo-workflows,v3.5.7,2024-05-27,07:13:30
|
||||
argo-workflows,v3.4.17,2024-05-13,02:47:39
|
||||
argo-workflows,v3.5.6,2024-04-19,21:43:07
|
||||
argo-workflows,v3.5.5,2024-02-29,21:47:50
|
||||
argo-workflows,v3.5.4,2024-01-14,06:19:09
|
||||
argo-workflows,v3.4.16,2024-01-14,06:17:57
|
||||
argo-workflows,v3.4.15,2024-01-13,23:29:40
|
||||
argo-workflows,v3.5.3,2024-01-11,03:12:46
|
||||
argo-workflows,v3.5.2,2023-11-27,19:16:42
|
||||
argo-workflows,v3.4.14,2023-11-27,18:56:22
|
||||
argo-workflows,v3.5.1,2023-11-03,19:57:45
|
||||
argo-workflows,v3.4.13,2023-11-03,21:07:31
|
||||
argo-workflows,v3.4.12,2023-10-20,13:00:24
|
||||
argo-workflows,v3.5.0,2023-10-13,15:00:44
|
||||
argo-workflows,v3.5.0-rc2,2023-09-20,19:20:10
|
||||
argo-workflows,v3.4.11,2023-09-08,01:14:16
|
||||
argo-workflows,v3.5.0-rc1,2023-08-15,20:01:35
|
||||
argo-workflows,v3.4.10,2023-08-15,18:59:38
|
||||
argo-workflows,v3.4.9,2023-07-20,15:28:41
|
||||
argo-workflows,v3.4.8,2023-05-25,23:37:40
|
||||
argo-workflows,v3.4.7,2023-04-11,17:26:32
|
||||
argo-workflows,v3.4.6,2023-03-31,20:16:18
|
||||
argo-workflows,v3.4.5,2023-02-07,13:26:29
|
||||
argo-workflows,v3.4.4,2022-11-29,21:15:21
|
||||
argo-workflows,v3.3.10,2022-11-29,21:24:54
|
||||
argo-workflows,v3.4.3,2022-10-31,09:17:41
|
||||
argo-workflows,v3.4.2,2022-10-23,07:36:55
|
||||
argo-workflows,v3.4.1,2022-10-01,16:09:34
|
||||
argo-workflows,v3.4.0,2022-09-19,05:23:46
|
||||
argo-workflows,v3.4.0-rc4,2022-09-10,19:34:15
|
||||
argo-workflows,v3.4.0-rc3,2022-09-01,01:28:29
|
||||
argo-workflows,v3.4.0-rc2,2022-08-19,14:51:26
|
||||
argo-workflows,v3.4.0-rc1,2022-08-10,07:13:17
|
||||
argo-workflows,v3.3.9,2022-08-10,01:08:09
|
||||
argo-workflows,v3.3.8,2022-06-24,01:18:03
|
||||
argo-workflows,v3.3.7,2022-06-21,00:41:49
|
||||
argo-workflows,v3.3.6,2022-05-26,01:22:39
|
||||
argo-workflows,v3.3.5,2022-05-04,01:13:34
|
||||
argo-workflows,v3.2.11,2022-05-03,22:59:55
|
||||
argo-workflows,v3.3.4,2022-04-29,19:54:39
|
||||
argo-workflows,v3.3.3,2022-04-25,23:19:39
|
||||
argo-workflows,v3.3.2,2022-04-20,23:16:10
|
||||
argo-workflows,v3.3.1,2022-03-18,19:45:27
|
||||
argo-workflows,v3.3.0,2022-03-14,23:06:47
|
||||
argo-workflows,v3.3.0-rc10,2022-03-07,23:50:34
|
||||
argo-workflows,v3.3.0-rc9,2022-03-05,19:01:28
|
||||
argo-workflows,v3.2.9,2022-03-02,23:04:35
|
||||
argo-workflows,v3.3.0-rc8,2022-03-01,02:52:15
|
||||
argo-workflows,v3.3.0-rc7,2022-02-25,21:14:31
|
||||
argo-workflows,v3.3.0-rc6,2022-02-21,20:27:19
|
||||
argo-workflows,v3.3.0-rc5,2022-02-21,20:07:56
|
||||
argo-workflows,v3.3.0-rc4,2022-02-08,20:05:39
|
||||
argo-workflows,v3.2.8,2022-02-04,20:19:52
|
||||
argo-workflows,v3.3.0-rc3,2022-02-03,20:31:05
|
||||
argo-workflows,v0.0.0-dev-bom-1,2022-02-02,21:21:47
|
||||
argo-workflows,v3.3.0-rc2,2022-01-30,01:45:04
|
||||
argo-workflows,v3.3.0-rc1,2022-01-29,01:08:13
|
||||
argo-workflows,v3.2.7,2022-01-28,02:28:31
|
||||
argo-workflows,v3.2.6,2021-12-17,21:12:28
|
||||
argo-workflows,v3.2.5,2021-12-16,00:34:48
|
||||
argo-workflows,v0.0.0-dev-kc-7,2021-11-19,01:36:27
|
||||
argo-workflows,v3.2.4,2021-11-18,00:41:27
|
||||
argo-workflows,v3.1.15,2021-11-17,18:46:01
|
||||
argo-workflows,v0.0.0-dev-kc-6,2021-11-18,00:10:06
|
||||
argo-workflows,v0.0.0-dev-kc-5,2021-11-16,20:03:24
|
||||
argo-workflows,v0.0.0-dev-kc-4,2021-11-16,18:38:30
|
||||
argo-workflows,v0.0.0-dev-kc-3,2021-11-15,21:54:04
|
||||
argo-workflows,v0.0.0-dev-kc-2,2021-11-15,21:36:23
|
||||
argo-workflows,v0.0.0-dev-kc-1,2021-11-09,21:24:30
|
||||
argo-workflows,v0.0.0-dev-kc-0,2021-11-09,17:10:14
|
||||
argo-workflows,v3.2.3,2021-10-27,02:22:57
|
||||
argo-workflows,v3.2.2,2021-10-21,18:24:56
|
||||
argo-workflows,v3.1.14,2021-10-20,02:52:43
|
||||
argo-workflows,v3.2.1,2021-10-19,22:11:39
|
||||
argo-workflows,v3.2.0,2021-10-12,16:28:36
|
||||
argo-workflows,v3.2.0-rc6,2021-10-06,02:26:30
|
||||
argo-workflows,v3.2.0-rc5,2021-09-29,18:09:20
|
||||
argo-workflows,v3.1.13,2021-09-28,20:07:21
|
||||
argo-workflows,v3.2.0-rc4,2021-09-21,21:03:56
|
||||
argo-workflows,v3.1.12,2021-09-16,14:12:07
|
||||
argo-workflows,v3.2.0-rc3,2021-09-14,19:40:01
|
||||
argo-workflows,v3.1.11,2021-09-14,07:41:28
|
||||
argo-workflows,v3.1.10,2021-09-10,18:58:55
|
||||
argo-workflows,v3.1.9,2021-09-03,22:39:13
|
||||
argo-workflows,v3.2.0-rc2,2021-09-01,23:45:48
|
||||
argo-workflows,v0.0.0-dev-mc-4,2021-08-31,18:10:35
|
||||
argo-workflows,v0.0.0-dev-mc-3,2021-08-30,17:45:10
|
||||
argo-workflows,v0.0.0-dev-mc-2,2021-08-30,17:40:57
|
||||
argo-workflows,v0.0.0-dev-mc-1,2021-08-30,00:26:16
|
||||
argo-workflows,v0.0.0-dev-mc-0,2021-08-28,02:06:29
|
||||
argo-workflows,v3.2.0-rc1,2021-08-20,02:49:34
|
||||
argo-workflows,v3.1.8,2021-08-19,00:19:56
|
||||
argo-workflows,v3.1.7,2021-08-18,18:21:43
|
||||
argo-workflows,v3.0.10,2021-08-18,23:53:38
|
||||
argo-workflows,v3.0.9,2021-08-18,17:03:34
|
||||
argo-workflows,v2.12.13,2021-08-18,23:42:45
|
||||
argo-workflows,v2.12.12,2021-08-18,17:57:06
|
||||
argo-workflows,v3.1.6,2021-08-13,00:39:51
|
||||
argo-workflows,v0.0.0-dev-dataflow-41,2021-08-11,04:28:21
|
||||
argo-workflows,v3.1.5,2021-08-04,07:14:30
|
||||
argo-workflows,v0.0.0-dev-dataflow-40,2021-08-04,02:06:40
|
||||
argo-workflows,v3.1.4,2021-08-04,01:06:06
|
||||
argo-workflows,v0.0.0-dev-dataflow-39,2021-07-30,20:53:39
|
||||
argo-workflows,v3.1.3,2021-07-28,05:38:36
|
||||
argo-workflows,v0.0.0-dev-dataflow-37,2021-07-23,23:23:18
|
||||
argo-workflows,v0.0.0-dev-dataflow-36,2021-07-22,01:29:29
|
||||
argo-workflows,v0.0.0-dev-dataflow-34,2021-07-20,18:17:04
|
||||
argo-workflows,v0.0.0-dev-dataflow-33,2021-07-16,23:18:16
|
||||
argo-workflows,v3.1.2,2021-07-15,22:04:54
|
||||
argo-workflows,v0.0.0-dev-dataflow-31,2021-07-14,16:55:52
|
||||
argo-workflows,v0.0.0-dev-dataflow-30,2021-07-12,18:40:24
|
||||
argo-workflows,v3.1.1,2021-06-28,21:31:33
|
||||
argo-workflows,v0.0.0-dev-dataflow-29,2021-06-28,18:51:44
|
||||
argo-workflows,v0.0.0-dev-dataflow-28,2021-06-25,03:44:24
|
||||
argo-workflows,v3.1.0,2021-06-21,23:35:00
|
||||
argo-workflows,v3.0.8,2021-06-21,23:52:48
|
||||
argo-workflows,v0.0.0-dev-dataflow-27,2021-06-21,23:00:03
|
||||
argo-workflows,v0.0.0-dev-dataflow-26,2021-06-16,00:01:26
|
||||
argo-workflows,v0.0.0-dev-dataflow-25,2021-06-16,00:01:43
|
||||
argo-workflows,v3.1.0-rc14,2021-06-10,19:18:50
|
||||
argo-workflows,v0.0.0-dev-dataflow-24,2021-06-10,17:34:10
|
||||
argo-workflows,v0.0.0-dev-dataflow-23,2021-06-10,02:31:42
|
||||
argo-workflows,v3.1.0-rc13,2021-06-08,16:45:35
|
||||
argo-workflows,v0.0.0-dev-dataflow-22,2021-06-09,20:38:24
|
||||
argo-workflows,v0.0.0-dev-dataflow-20,2021-06-08,02:42:49
|
||||
argo-workflows,v0.0.0-dev-dataflow-19,2021-06-06,20:41:36
|
||||
argo-workflows,v0.0.0-dev-docker-0,2021-06-06,19:00:54
|
||||
argo-workflows,v0.0.0-dev-dataflow-18,2021-06-05,00:59:50
|
||||
argo-workflows,v0.0.0-dev-dataflow-17,2021-06-04,01:23:11
|
||||
argo-workflows,v0.0.0-dev-dataflow-16,2021-06-04,01:03:00
|
||||
argo-workflows,v3.1.0-rc12,2021-06-03,01:40:44
|
||||
argo-workflows,v3.1.0-rc11,2021-06-01,19:02:58
|
||||
argo-workflows,v0.0.0-dev-dataflow-15,2021-06-01,22:31:59
|
||||
argo-workflows,v0.0.0-dev-dataflow-14,2021-06-01,20:34:22
|
||||
argo-workflows,v0.0.0-dev-dataflow-13,2021-06-01,19:06:07
|
||||
argo-workflows,v3.1.0-rc10,2021-05-28,00:00:15
|
||||
argo-workflows,v0.0.0-dev-dataflow-11,2021-05-27,02:01:59
|
||||
argo-workflows,v3.1.0-rc8,2021-05-25,18:06:14
|
||||
argo-workflows,v3.0.7,2021-05-25,19:08:55
|
||||
argo-workflows,v0.0.0-dev-dataflow-10,2021-05-25,18:22:42
|
||||
argo-workflows,v3.1.0-rc7,2021-05-24,20:15:18
|
||||
argo-workflows,v3.0.6,2021-05-24,22:03:27
|
||||
argo-workflows,v3.0.5,2021-05-24,20:16:47
|
||||
argo-workflows,v3.1.0-rc6,2021-05-21,16:46:01
|
||||
argo-workflows,v0.0.0-dev-dataflow-9,2021-05-21,20:56:00
|
||||
argo-workflows,v0.0.0-dev-dataflow-8,2021-05-21,06:32:47
|
||||
argo-workflows,v0.0.0-dev-dataflow-7,2021-05-21,03:02:41
|
||||
argo-workflows,v0.0.0-dev-dataflow-6,2021-05-20,23:34:42
|
||||
argo-workflows,v0.0.0-dev-dataflow-5,2021-05-19,23:23:04
|
||||
argo-workflows,v0.0.0-dev-dataflow-4,2021-05-19,00:02:40
|
||||
argo-workflows,v3.1.0-rc5,2021-05-17,22:42:30
|
||||
argo-workflows,v3.1.0-rc4,2021-05-14,21:20:57
|
||||
argo-workflows,v3.0.4,2021-05-14,06:52:02
|
||||
argo-workflows,v3.1.0-rc3,2021-05-13,21:46:01
|
||||
argo-workflows,v3.1.0-rc2,2021-05-13,00:17:44
|
||||
argo-workflows,v3.1.0-rc1,2021-05-12,21:19:04
|
||||
argo-workflows,v3.0.3,2021-05-11,22:31:06
|
||||
argo-workflows,v3.0.2,2021-04-20,15:37:15
|
||||
argo-workflows,v2.12.11,2021-04-06,18:10:38
|
||||
argo-workflows,v3.0.1,2021-04-01,19:52:20
|
||||
argo-workflows,v3.0.0,2021-03-30,20:25:33
|
||||
argo-workflows,v3.0.0-rc9,2021-03-23,19:04:46
|
||||
argo-workflows,v3.0.0-rc8,2021-03-17,19:30:33
|
||||
argo-workflows,v3.0.0-rc7,2021-03-16,23:25:22
|
||||
argo-workflows,v3.0.0-rc6,2021-03-10,01:08:31
|
||||
argo-workflows,v3.0.0-rc5,2021-03-09,19:50:05
|
||||
argo-workflows,v2.12.10,2021-03-08,22:57:52
|
||||
argo-workflows,v3.0.0-rc4,2021-03-02,22:26:56
|
||||
argo-workflows,v3.0.0-rc3,2021-02-23,21:38:38
|
||||
argo-workflows,v3.0.0-rc2,2021-02-16,18:09:12
|
||||
argo-workflows,v2.12.9,2021-02-17,01:28:49
|
||||
argo-workflows,v3.0.0-rc1,2021-02-09,00:36:27
|
||||
argo-workflows,v2.12.8,2021-02-09,00:36:17
|
||||
argo-workflows,v2.12.7,2021-02-01,22:21:36
|
||||
argo-workflows,v2.12.6,2021-01-25,20:24:13
|
||||
argo-workflows,v2.12.5,2021-01-19,22:49:21
|
||||
argo-workflows,v2.12.4,2021-01-12,20:53:35
|
||||
argo-workflows,v2.12.3,2021-01-05,02:00:00
|
||||
argo-workflows,v2.12.2,2020-12-18,18:17:19
|
||||
argo-workflows,v2.12.1,2020-12-18,01:11:16
|
||||
argo-workflows,v2.12.0,2020-12-17,19:35:41
|
||||
argo-workflows,v2.12.0-rc6,2020-12-15,19:00:45
|
||||
argo-workflows,v2.12.0-rc5,2020-12-10,13:50:01
|
||||
argo-workflows,v2.12.0-rc4,2020-12-03,00:55:16
|
||||
argo-workflows,v2.12.0-rc3,2020-11-23,13:35:50
|
||||
argo-workflows,v2.11.8,2020-11-21,16:36:24
|
||||
argo-workflows,v2.12.0-rc2,2020-11-12,16:23:14
|
||||
argo-workflows,v2.12.0-rc1,2020-11-06,19:14:19
|
||||
argo-workflows,v2.11.7,2020-11-02,21:50:13
|
||||
argo-workflows,v2.11.6,2020-10-19,20:51:22
|
||||
argo-workflows,v2.11.5,2020-10-15,23:14:34
|
||||
argo-workflows,v2.11.4,2020-10-14,22:30:23
|
||||
argo-workflows,v2.11.3,2020-10-07,23:20:10
|
||||
argo-workflows,v2.11.2,2020-10-06,00:19:46
|
||||
argo-workflows,v2.11.1,2020-09-29,17:55:55
|
||||
argo-workflows,v2.11.0,2020-09-17,23:09:05
|
||||
argo-workflows,v2.11.0-rc3,2020-09-15,16:50:33
|
||||
argo-workflows,v2.10.2,2020-09-14,17:45:20
|
||||
argo-workflows,v2.11.0-rc2,2020-09-09,17:43:25
|
||||
argo-workflows,v2.10.1,2020-09-03,00:02:01
|
||||
argo-workflows,v2.11.0-rc1,2020-09-01,20:17:41
|
||||
argo-workflows,v2.10.0,2020-08-18,23:15:58
|
||||
argo-workflows,v2.10.0-rc7,2020-08-14,15:48:45
|
||||
argo-workflows,v2.10.0-rc6,2020-08-06,23:31:38
|
||||
argo-workflows,v2.9.5,2020-08-06,22:45:49
|
||||
argo-workflows,v2.10.0-rc5,2020-08-03,23:21:27
|
||||
argo-workflows,v2.10.0-rc4,2020-07-29,00:15:54
|
||||
argo-workflows,v2.9.4,2020-07-24,21:59:33
|
||||
argo-workflows,v2.10.0-rc3,2020-07-23,23:04:45
|
||||
argo-workflows,v2.10.0-rc1,2020-07-17,20:10:06
|
||||
argo-workflows,v2.9.3,2020-07-15,01:33:15
|
||||
argo-workflows,v2.9.2,2020-07-09,00:21:41
|
||||
argo-workflows,v2.9.1,2020-07-03,15:28:51
|
||||
argo-workflows,v2.9.0,2020-07-02,01:43:01
|
||||
argo-workflows,v2.9.0-rc4,2020-06-26,23:05:54
|
||||
argo-workflows,v2.9.0-rc3,2020-06-23,19:15:20
|
||||
argo-workflows,v2.8.2,2020-06-22,22:28:02
|
||||
argo-workflows,v2.9.0-rc2,2020-06-17,04:36:44
|
||||
argo-workflows,v2.9.0-rc1,2020-06-11,00:19:33
|
||||
argo-workflows,v2.8.1,2020-05-29,00:31:04
|
||||
argo-workflows,v2.8.0,2020-05-11,23:50:27
|
||||
argo-workflows,v2.8.0-rc4,2020-05-06,23:58:00
|
||||
argo-workflows,v2.7.7,2020-05-06,23:32:46
|
||||
argo-workflows,v2.8.0-rc3,2020-04-28,16:46:57
|
||||
argo-workflows,v2.7.6,2020-04-28,17:31:48
|
||||
argo-workflows,v2.8.0-rc2,2020-04-23,23:29:50
|
||||
argo-workflows,v2.8.0-rc1,2020-04-21,15:36:43
|
||||
argo-workflows,v2.7.5,2020-04-21,01:35:36
|
||||
argo-workflows,v2.7.4,2020-04-16,18:20:58
|
||||
argo-workflows,v2.6.4,2020-04-16,03:02:24
|
||||
argo-workflows,v2.7.3,2020-04-16,02:03:38
|
||||
argo-workflows,v2.7.2,2020-04-10,20:29:17
|
||||
argo-workflows,v2.7.1,2020-04-07,17:16:19
|
||||
argo-workflows,v2.7.0,2020-04-01,03:13:14
|
||||
argo-workflows,v2.7.0-rc4,2020-03-30,22:13:50
|
||||
argo-workflows,v2.7.0-rc3,2020-03-25,20:18:44
|
||||
argo-workflows,v2.7.0-rc2,2020-03-23,18:38:05
|
||||
argo-workflows,v2.7.0-rc1,2020-03-19,02:11:45
|
||||
argo-workflows,v2.6.3,2020-03-16,18:24:24
|
||||
argo-workflows,v2.6.2,2020-03-12,16:23:45
|
||||
argo-workflows,v2.6.1,2020-03-04,21:33:38
|
||||
argo-workflows,v2.6.0,2020-02-28,23:39:10
|
||||
argo-workflows,v2.6.0-rc3,2020-02-25,17:32:04
|
||||
argo-workflows,v2.5.2,2020-02-24,23:10:36
|
||||
argo-workflows,v2.6.0-rc2,2020-02-22,00:36:29
|
||||
argo-workflows,v2.5.1,2020-02-20,18:30:07
|
||||
argo-workflows,v2.6.0-rc1,2020-02-19,18:48:23
|
||||
argo-workflows,v2.5.0,2020-02-19,02:54:07
|
||||
argo-workflows,v2.5.0-rc12,2020-02-14,00:08:36
|
||||
argo-workflows,v2.5.0-rc11,2020-02-11,22:25:57
|
||||
argo-workflows,v2.5.0-rc10,2020-02-08,00:23:39
|
||||
argo-workflows,v2.5.0-rc9,2020-02-07,00:40:24
|
||||
argo-workflows,v2.5.0-rc8,2020-02-04,01:25:11
|
||||
argo-workflows,v2.5.0-rc7,2020-01-31,22:43:09
|
||||
argo-workflows,v2.5.0-rc6,2020-01-30,22:14:51
|
||||
argo-workflows,v2.5.0-rc5,2020-01-30,03:13:49
|
||||
argo-workflows,v2.5.0-rc4,2020-01-27,21:08:05
|
||||
argo-workflows,v2.5.0-rc3,2020-01-27,19:37:31
|
||||
argo-workflows,v2.5.0-rc2,2020-01-24,21:43:45
|
||||
argo-workflows,v2.5.0-rc1,2020-01-24,20:59:49
|
||||
argo-workflows,v2.4.3,2019-12-06,05:53:42
|
||||
argo-workflows,v2.4.2,2019-10-21,19:06:52
|
||||
argo-workflows,v2.4.1,2019-10-09,00:01:23
|
||||
argo-workflows,v2.4.0,2019-10-07,20:35:32
|
||||
argo-workflows,v2.4.0-rc1,2019-08-08,22:12:22
|
||||
argo-workflows,v2.3.0,2019-05-20,22:34:35
|
||||
argo-workflows,v2.3.0-rc3,2019-05-08,00:11:00
|
||||
argo-workflows,v2.3.0-rc2,2019-04-21,08:32:04
|
||||
argo-workflows,v2.3.0-rc1,2019-04-10,16:08:39
|
||||
argo-workflows,v2.2.1,2018-10-11,16:44:01
|
||||
argo-workflows,v2.2.0,2018-08-30,09:00:24
|
||||
argo-workflows,v2.1.1,2018-05-29,20:52:07
|
||||
argo-workflows,v2.1.0,2018-05-01,20:33:03
|
||||
argo-workflows,v2.1.0-beta2,2018-03-29,20:55:26
|
||||
argo-workflows,v2.1.0-beta1,2018-03-29,15:35:56
|
||||
argo-workflows,v2.1.0-alpha1,2018-02-21,22:54:53
|
||||
argo-workflows,v2.0.0,2018-02-06,21:55:25
|
||||
argo-workflows,v2.0.0-beta1,2018-01-18,22:58:14
|
||||
argo-workflows,v2.0.0-alpha3,2018-01-02,21:32:11
|
||||
argo-workflows,v2.0.0-alpha2,2017-12-05,05:13:12
|
||||
argo-workflows,v2.0.0-alpha1,2017-11-16,22:10:07
|
||||
argo-events,v1.9.5,2025-01-10,18:11:20
|
||||
argo-events,v1.9.4,2025-01-08,07:48:18
|
||||
argo-events,v1.9.3,2024-11-27,06:51:10
|
||||
argo-events,v1.9.2,2024-06-14,00:38:39
|
||||
argo-events,v1.9.1,2024-02-13,21:21:44
|
||||
argo-events,v1.9.0,2024-01-09,08:31:10
|
||||
argo-events,v1.8.1,2023-08-31,23:49:47
|
||||
argo-events,v1.8.0,2023-05-08,05:54:59
|
||||
argo-events,v1.7.6,2023-02-10,07:30:54
|
||||
argo-events,v1.7.5,2023-01-23,08:23:36
|
||||
argo-events,v1.7.4,2022-12-12,07:45:11
|
||||
argo-events,v1.7.3,2022-09-28,22:10:34
|
||||
argo-events,v1.7.2,2022-09-12,23:46:11
|
||||
argo-events,v1.7.1,2022-06-09,06:27:31
|
||||
argo-events,v1.7.0,2022-05-04,22:47:01
|
||||
argo-events,v1.7.0-rc1,2022-04-23,07:22:52
|
||||
argo-events,v1.6.3,2022-03-03,20:56:12
|
||||
argo-events,v1.6.2,2022-03-02,05:39:57
|
||||
argo-events,v1.6.1,2022-02-27,08:51:59
|
||||
argo-events,v1.6.0,2022-02-13,06:42:27
|
||||
argo-events,v1.5.6,2022-01-12,05:18:08
|
||||
argo-events,v1.5.5,2021-12-19,03:32:55
|
||||
argo-events,v1.5.4,2021-12-10,08:49:46
|
||||
argo-events,v1.5.3,2021-11-22,18:36:36
|
||||
argo-events,v1.5.2,2021-11-09,20:01:58
|
||||
argo-events,v1.5.1,2021-11-08,07:35:38
|
||||
argo-events,v1.5.0,2021-10-12,18:48:33
|
||||
argo-events,v1.4.3,2021-09-30,15:49:41
|
||||
argo-events,v1.4.2,2021-09-21,18:29:51
|
||||
argo-events,v1.4.1,2021-09-01,00:37:05
|
||||
argo-events,v1.4.0,2021-07-12,16:33:29
|
||||
argo-events,v1.3.1,2021-05-04,17:40:52
|
||||
argo-events,v1.3.0,2021-04-12,18:14:51
|
||||
argo-events,v1.3.0-rc4,2021-04-08,06:37:06
|
||||
argo-events,v1.3.0-rc3,2021-04-05,20:42:52
|
||||
argo-events,v1.3.0-rc2,2021-03-31,21:34:56
|
||||
argo-events,v1.3.0-rc1,2021-03-23,18:05:01
|
||||
argo-events,v1.2.3,2021-02-18,17:52:54
|
||||
argo-events,v1.2.2,2021-01-27,17:40:28
|
||||
argo-events,v1.2.1,2021-01-26,08:22:50
|
||||
argo-events,v1.2.0,2021-01-08,08:30:04
|
||||
argo-events,v1.1.0,2020-11-16,20:07:55
|
||||
argo-events,v1.1.0-rc1,2020-11-05,06:36:21
|
||||
argo-events,v1.0.0,2020-09-04,20:57:04
|
||||
argo-events,v1.0.0-rc3,2020-08-26,04:36:48
|
||||
argo-events,v1.0.0-rc2,2020-08-16,21:20:09
|
||||
argo-events,v1.0.0-rc1,2020-08-10,18:25:28
|
||||
argo-events,v0.17.0,2020-07-24,12:40:33
|
||||
argo-events,v0.16.0,2020-06-14,23:52:44
|
||||
argo-events,v0.15.0,2020-05-08,13:42:18
|
||||
argo-events,v0.14.0,2020-04-12,23:34:58
|
||||
argo-events,v0.13.0,2020-03-21,01:21:15
|
||||
argo-events,v0.13.0-rc,2020-02-26,01:33:31
|
||||
argo-events,v0.12,2020-01-17,04:51:55
|
||||
argo-events,v0.12-rc,2019-12-12,04:52:49
|
||||
argo-events,v0.11,2019-11-11,17:11:35
|
||||
argo-events,v0.10,2019-10-07,12:51:38
|
||||
argo-events,v0.9.3,2019-07-15,12:16:22
|
||||
argo-events,v0.9.2,2019-04-26,01:11:53
|
||||
argo-events,v0.9.1,2019-04-26,00:33:03
|
||||
argo-events,v.0.9,2019-03-30,13:07:25
|
||||
argo-events,v0.8.3,2019-03-18,21:09:05
|
||||
argo-events,v0.8.2,2019-03-14,10:32:46
|
||||
argo-events,v0.8.1,2019-03-11,13:42:08
|
||||
argo-events,v0.8,2019-02-27,18:08:21
|
||||
argo-events,v0.7,2019-01-30,04:12:58
|
||||
argo-events,v0.6,2018-11-27,11:46:02
|
||||
argo-events,v0.5,2018-10-18,19:51:19
|
||||
argo-events,v0.5-beta1,2018-07-27,15:00:03
|
||||
argo-events,v0.5-alpha1,2018-06-20,19:23:36
|
||||
argo-rollouts,v1.8.0-rc2,2025-01-16,19:43:44
|
||||
argo-rollouts,v1.8.0-rc1,2024-12-09,14:28:35
|
||||
argo-rollouts,v1.7.2,2024-08-13,18:42:47
|
||||
argo-rollouts,v1.7.1,2024-06-25,01:38:31
|
||||
argo-rollouts,v1.7.0,2024-06-13,20:23:14
|
||||
argo-rollouts,v1.7.0-rc1,2024-04-05,18:24:00
|
||||
argo-rollouts,v1.6.6,2024-02-13,15:56:59
|
||||
argo-rollouts,v1.6.5,2024-01-25,20:19:53
|
||||
argo-rollouts,v1.6.4,2023-12-11,21:54:30
|
||||
argo-rollouts,v1.6.3,2023-12-05,14:36:31
|
||||
argo-rollouts,v1.6.2,2023-11-02,19:58:08
|
||||
argo-rollouts,v1.6.1,2023-11-01,21:19:43
|
||||
argo-rollouts,v1.6.0,2023-09-06,19:00:06
|
||||
argo-rollouts,v1.6.0-rc1,2023-08-11,14:22:24
|
||||
argo-rollouts,v1.5.1,2023-05-24,19:26:51
|
||||
argo-rollouts,v1.5.0,2023-05-08,15:34:06
|
||||
argo-rollouts,v1.5.0-rc1,2023-03-27,20:09:25
|
||||
argo-rollouts,v1.4.1,2023-02-25,15:23:34
|
||||
argo-rollouts,v1.3.3,2023-02-25,04:38:57
|
||||
argo-rollouts,v1.4.0,2023-01-09,21:43:34
|
||||
argo-rollouts,v1.4.0-rc1,2022-12-20,02:07:55
|
||||
argo-rollouts,v1.3.2,2022-12-15,17:05:26
|
||||
argo-rollouts,v1.3.1,2022-09-29,17:43:19
|
||||
argo-rollouts,v1.3.0,2022-09-19,03:29:00
|
||||
argo-rollouts,v1.3.0-rc3,2022-09-15,16:00:07
|
||||
argo-rollouts,v1.3.0-rc2,2022-08-25,20:49:49
|
||||
argo-rollouts,v1.3.0-rc1,2022-07-29,19:54:34
|
||||
argo-rollouts,v1.2.2,2022-07-26,17:49:31
|
||||
argo-rollouts,v1.2.1,2022-05-13,20:57:34
|
||||
argo-rollouts,v1.2.0,2022-03-22,17:16:13
|
||||
argo-rollouts,v1.2.0-rc2,2022-02-25,16:54:46
|
||||
argo-rollouts,v1.2.0-rc1,2022-02-07,20:00:22
|
||||
argo-rollouts,v1.1.1,2021-11-29,21:44:13
|
||||
argo-rollouts,v1.1.0,2021-10-12,17:02:30
|
||||
argo-rollouts,v1.1.0-rc2,2021-10-05,23:41:25
|
||||
argo-rollouts,v1.0.7,2021-09-29,18:02:01
|
||||
argo-rollouts,v1.1.0-rc1,2021-09-21,23:23:21
|
||||
argo-rollouts,v1.0.6,2021-08-26,18:13:19
|
||||
argo-rollouts,v1.0.4,2021-08-03,04:38:07
|
||||
argo-rollouts,v1.0.3,2021-08-03,04:36:59
|
||||
argo-rollouts,v1.0.2,2021-06-15,22:33:04
|
||||
argo-rollouts,v1.0.1,2021-05-26,08:43:12
|
||||
argo-rollouts,v1.0.0,2021-05-20,04:11:28
|
||||
argo-rollouts,v1.0.0-rc1,2021-04-29,20:29:41
|
||||
argo-rollouts,v0.10.2,2020-12-17,21:20:44
|
||||
argo-rollouts,v0.10.1,2020-12-05,01:23:44
|
||||
argo-rollouts,v0.10.0,2020-11-14,00:21:31
|
||||
argo-rollouts,v0.9.3,2020-11-05,23:24:15
|
||||
argo-rollouts,v0.9.2,2020-10-17,04:41:56
|
||||
argo-rollouts,v0.9.1,2020-09-28,22:52:01
|
||||
argo-rollouts,v0.9.0,2020-08-17,22:17:04
|
||||
argo-rollouts,v0.8.3,2020-06-04,00:49:11
|
||||
argo-rollouts,v0.8.2,2020-05-06,20:40:16
|
||||
argo-rollouts,v0.8.1,2020-04-20,23:55:07
|
||||
argo-rollouts,v0.8.0,2020-04-13,16:40:32
|
||||
argo-rollouts,v0.7.2,2020-02-25,19:46:06
|
||||
argo-rollouts,v0.7.1,2020-02-10,18:01:08
|
||||
argo-rollouts,v0.7.0,2020-01-22,05:09:28
|
||||
argo-rollouts,v0.6.3,2020-01-22,04:40:30
|
||||
argo-rollouts,v0.6.2,2019-12-16,17:14:42
|
||||
argo-rollouts,v0.6.1,2019-12-06,00:25:57
|
||||
argo-rollouts,v0.6.0,2019-11-17,21:16:29
|
||||
argo-rollouts,v0.5.0,2019-09-23,17:59:31
|
||||
argo-rollouts,v0.4.2,2019-08-19,20:21:15
|
||||
argo-rollouts,v0.4.1,2019-06-26,16:07:32
|
||||
argo-rollouts,v0.4.0,2019-06-21,17:48:41
|
||||
argo-rollouts,v0.3.2,2019-06-13,17:58:53
|
||||
argo-rollouts,v0.3.1,2019-05-18,21:27:51
|
||||
argo-rollouts,v0.3.0,2019-05-01,06:36:28
|
||||
argo-rollouts,v0.2.2,2019-04-16,23:10:01
|
||||
argo-rollouts,v0.2.1,2019-04-04,21:43:44
|
||||
argo-rollouts,v0.2.0,2019-03-04,22:30:55
|
||||
argo-rollouts,v0.1.0,2019-02-01,19:03:49
|
|
90
scripts/release-analysis/fetch_helmet_releases.py
Normal file
90
scripts/release-analysis/fetch_helmet_releases.py
Normal file
|
@ -0,0 +1,90 @@
|
|||
import csv
|
||||
import os
|
||||
from datetime import datetime
|
||||
|
||||
import requests
|
||||
|
||||
# GitHub repository URL
|
||||
repo_url = "https://api.github.com/repos/argoproj/argo-helm/releases"
|
||||
|
||||
# Get the GitHub token from environment variables
|
||||
github_token = os.getenv("GITHUB_TOKEN")
|
||||
if not github_token:
|
||||
raise ValueError("GITHUB_TOKEN environment variable is not set")
|
||||
|
||||
|
||||
# Function to fetch all releases with pagination
|
||||
def fetch_all_releases(url):
|
||||
releases = []
|
||||
headers = {"Authorization": f"token {github_token}"}
|
||||
while url:
|
||||
response = requests.get(url, headers=headers)
|
||||
response.raise_for_status()
|
||||
releases.extend(response.json())
|
||||
url = response.links.get("next", {}).get("url")
|
||||
return releases
|
||||
|
||||
|
||||
# Function to get the content of Chart.yaml in a release
|
||||
def get_chart_yaml(repo, tag, chart_path):
|
||||
url = f"https://raw.githubusercontent.com/{repo}/refs/tags/{tag}/charts/{chart_path}/Chart.yaml"
|
||||
headers = {"Authorization": f"token {github_token}"}
|
||||
response = requests.get(url, headers=headers)
|
||||
if response.status_code == 200:
|
||||
return response.text
|
||||
return None
|
||||
|
||||
|
||||
# Function to extract appVersion from Chart.yaml content
|
||||
def extract_app_version(chart_yaml):
|
||||
for line in chart_yaml.splitlines():
|
||||
if line.startswith("appVersion:"):
|
||||
return line.split(":")[1].strip()
|
||||
return None
|
||||
|
||||
|
||||
# Function to fetch releases and write to a CSV file
|
||||
def fetch_and_write_helmet_releases(csv_file):
|
||||
# Fetch all releases
|
||||
releases = fetch_all_releases(repo_url)
|
||||
|
||||
# Write the release data to the CSV file
|
||||
with open(csv_file, mode="w", newline="") as file:
|
||||
writer = csv.writer(file, quoting=csv.QUOTE_NONE, escapechar="\\")
|
||||
writer.writerow(["Release Name", "Release Date", "Release Time", "App Version"])
|
||||
|
||||
for release in releases:
|
||||
tag_name = release["tag_name"]
|
||||
published_at = release["published_at"]
|
||||
release_date = datetime.strptime(published_at, "%Y-%m-%dT%H:%M:%SZ").date()
|
||||
release_time = datetime.strptime(published_at, "%Y-%m-%dT%H:%M:%SZ").time()
|
||||
|
||||
# Extract chart path from the release name
|
||||
chart_path = "-".join(tag_name.split("-")[:-1])
|
||||
current_chart_yaml = get_chart_yaml(
|
||||
"argoproj/argo-helm", tag_name, chart_path
|
||||
)
|
||||
|
||||
if current_chart_yaml:
|
||||
current_app_version = extract_app_version(current_chart_yaml)
|
||||
writer.writerow(
|
||||
[tag_name, release_date, release_time, current_app_version]
|
||||
)
|
||||
|
||||
# Read the CSV file, remove any instances of `\"`, and write back the cleaned content
|
||||
with open(csv_file, mode="r") as file:
|
||||
content = file.read()
|
||||
|
||||
cleaned_content = content.replace('\\"', "")
|
||||
|
||||
with open(csv_file, mode="w", newline="") as file:
|
||||
file.write(cleaned_content)
|
||||
|
||||
print(
|
||||
f'Release data has been written to {csv_file} and cleaned of any instances of \\"'
|
||||
)
|
||||
|
||||
|
||||
# Example usage
|
||||
if __name__ == "__main__":
|
||||
fetch_and_write_helmet_releases("argo_helm_releases.csv")
|
57
scripts/release-analysis/fetch_releases.py
Normal file
57
scripts/release-analysis/fetch_releases.py
Normal file
|
@ -0,0 +1,57 @@
|
|||
import csv
|
||||
import os
|
||||
from datetime import datetime
|
||||
|
||||
import requests
|
||||
|
||||
# List of GitHub repository URLs we care about
|
||||
repos = [
|
||||
("argo-cd", "https://api.github.com/repos/argoproj/argo-cd/releases"),
|
||||
("argo-workflows", "https://api.github.com/repos/argoproj/argo-workflows/releases"),
|
||||
("argo-events", "https://api.github.com/repos/argoproj/argo-events/releases"),
|
||||
("argo-rollouts", "https://api.github.com/repos/argoproj/argo-rollouts/releases"),
|
||||
]
|
||||
|
||||
# Get the GitHub token from environment variables
|
||||
github_token = os.getenv("GITHUB_TOKEN")
|
||||
if not github_token:
|
||||
raise ValueError("GITHUB_TOKEN environment variable is not set")
|
||||
|
||||
|
||||
# Fetch all releases with pagination
|
||||
def fetch_all_releases(url):
|
||||
releases = []
|
||||
headers = {"Authorization": f"token {github_token}"}
|
||||
while url:
|
||||
response = requests.get(url, headers=headers)
|
||||
response.raise_for_status()
|
||||
releases.extend(response.json())
|
||||
url = response.links.get("next", {}).get("url")
|
||||
return releases
|
||||
|
||||
|
||||
# Fetch releases and write to a CSV file
|
||||
def fetch_and_write_releases(csv_file):
|
||||
with open(csv_file, mode="w", newline="") as file:
|
||||
writer = csv.writer(file)
|
||||
writer.writerow(["Repository", "Release Tag", "Release Date", "Release Time"])
|
||||
|
||||
for repo_name, repo_url in repos:
|
||||
releases = fetch_all_releases(repo_url)
|
||||
for release in releases:
|
||||
tag_name = release["tag_name"]
|
||||
published_at = release["published_at"]
|
||||
release_date = datetime.strptime(
|
||||
published_at, "%Y-%m-%dT%H:%M:%SZ"
|
||||
).date()
|
||||
release_time = datetime.strptime(
|
||||
published_at, "%Y-%m-%dT%H:%M:%SZ"
|
||||
).time()
|
||||
writer.writerow([repo_name, tag_name, release_date, release_time])
|
||||
|
||||
print(f"Release data has been written to {csv_file}")
|
||||
|
||||
|
||||
# Example usage
|
||||
if __name__ == "__main__":
|
||||
fetch_and_write_releases("argo_releases.csv")
|
31
scripts/release-analysis/main.py
Normal file
31
scripts/release-analysis/main.py
Normal file
|
@ -0,0 +1,31 @@
|
|||
import os
|
||||
|
||||
from fetch_helmet_releases import fetch_and_write_helmet_releases
|
||||
from fetch_releases import fetch_and_write_releases
|
||||
from merge_csvs import merge_csv_files
|
||||
from plot_graph import plot_time_difference
|
||||
|
||||
# Check there is a github token
|
||||
github_token = os.getenv("GITHUB_TOKEN")
|
||||
if not github_token:
|
||||
raise ValueError("GITHUB_TOKEN environment variable is not set")
|
||||
|
||||
# Do the thing
|
||||
print("Fetching releases...")
|
||||
fetch_and_write_releases("argo_releases.csv")
|
||||
print("Done")
|
||||
|
||||
print("Fetching Team Helmet releases...")
|
||||
fetch_and_write_helmet_releases("argo_helm_releases.csv")
|
||||
print("Done")
|
||||
|
||||
print("Merging release info...")
|
||||
merge_csv_files("argo_releases.csv", "argo_helm_releases.csv", "merged_releases.csv")
|
||||
print("Done")
|
||||
|
||||
print("Plotting time difference graphs...")
|
||||
plot_time_difference("merged_releases.csv")
|
||||
print("Done")
|
||||
|
||||
# Delete __pycache__ directories
|
||||
os.system("rm -rf __pycache__")
|
108
scripts/release-analysis/merge_csvs.py
Normal file
108
scripts/release-analysis/merge_csvs.py
Normal file
|
@ -0,0 +1,108 @@
|
|||
import csv
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
def merge_csv_files(csv_file_1, csv_file_2, output_csv_file):
|
||||
# Read the first CSV file into a dictionary
|
||||
releases_1 = {}
|
||||
with open(csv_file_1, mode="r") as file:
|
||||
reader = csv.DictReader(file)
|
||||
for row in reader:
|
||||
key = (row["Repository"], row["Release Tag"])
|
||||
releases_1[key] = row
|
||||
|
||||
# Read the second CSV file and find the oldest release for each appVersion
|
||||
oldest_releases = {}
|
||||
valid_repos = {"argo-cd", "argo-events", "argo-workflows", "argo-rollouts"}
|
||||
with open(csv_file_2, mode="r") as file:
|
||||
reader = csv.DictReader(file)
|
||||
for row in reader:
|
||||
release_name = row["Release Name"]
|
||||
repo_name = "-".join(release_name.split("-")[:-1])
|
||||
if repo_name in valid_repos:
|
||||
app_version = row["App Version"]
|
||||
release_datetime = datetime.strptime(
|
||||
f"{row['Release Date']} {row['Release Time']}", "%Y-%m-%d %H:%M:%S"
|
||||
)
|
||||
if (
|
||||
repo_name,
|
||||
app_version,
|
||||
) not in oldest_releases or release_datetime < oldest_releases[
|
||||
(repo_name, app_version)
|
||||
][
|
||||
"datetime"
|
||||
]:
|
||||
oldest_releases[(repo_name, app_version)] = {
|
||||
"row": row,
|
||||
"datetime": release_datetime,
|
||||
}
|
||||
|
||||
# Merge the oldest releases with the first CSV file
|
||||
merged_releases = []
|
||||
for (repo_name, app_version), data in oldest_releases.items():
|
||||
row = data["row"]
|
||||
for key, release in releases_1.items():
|
||||
if (
|
||||
repo_name == release["Repository"]
|
||||
and app_version == release["Release Tag"]
|
||||
):
|
||||
time_difference = data["datetime"] - datetime.strptime(
|
||||
f"{release['Release Date']} {release['Release Time']}",
|
||||
"%Y-%m-%d %H:%M:%S",
|
||||
)
|
||||
time_difference_hours = (
|
||||
time_difference.total_seconds() / 3600
|
||||
) # Convert to hours
|
||||
merged_row = {
|
||||
"Repository": release["Repository"],
|
||||
"Release Tag": release["Release Tag"],
|
||||
"Release Date": release["Release Date"],
|
||||
"Release Time": release["Release Time"],
|
||||
"App Version": app_version,
|
||||
"Release Name": row["Release Name"],
|
||||
"Release Date 2": row["Release Date"],
|
||||
"Release Time 2": row["Release Time"],
|
||||
"Time Difference": time_difference_hours,
|
||||
}
|
||||
merged_releases.append(merged_row)
|
||||
break
|
||||
else:
|
||||
merged_row = {
|
||||
"Repository": repo_name,
|
||||
"Release Tag": "",
|
||||
"Release Date": "",
|
||||
"Release Time": "",
|
||||
"App Version": app_version,
|
||||
"Release Name": row["Release Name"],
|
||||
"Release Date 2": row["Release Date"],
|
||||
"Release Time 2": row["Release Time"],
|
||||
"Time Difference": "",
|
||||
}
|
||||
merged_releases.append(merged_row)
|
||||
|
||||
# Write the merged data to a new CSV file
|
||||
with open(output_csv_file, mode="w", newline="") as file:
|
||||
fieldnames = [
|
||||
"Repository",
|
||||
"Release Tag",
|
||||
"Release Date",
|
||||
"Release Time",
|
||||
"App Version",
|
||||
"Release Name",
|
||||
"Release Date 2",
|
||||
"Release Time 2",
|
||||
"Time Difference",
|
||||
]
|
||||
writer = csv.DictWriter(file, fieldnames=fieldnames)
|
||||
writer.writeheader()
|
||||
for row in merged_releases:
|
||||
writer.writerow(row)
|
||||
|
||||
print(f"Merged data has been written to {output_csv_file}")
|
||||
|
||||
|
||||
# Example usage
|
||||
if __name__ == "__main__":
|
||||
merge_csv_files(
|
||||
"argo_releases.csv", "argo_helm_releases.csv", "merged_releases.csv"
|
||||
)
|
195
scripts/release-analysis/merged_releases.csv
Normal file
195
scripts/release-analysis/merged_releases.csv
Normal file
|
@ -0,0 +1,195 @@
|
|||
Repository,Release Tag,Release Date,Release Time,App Version,Release Name,Release Date 2,Release Time 2,Time Difference
|
||||
argo-cd,v2.13.3,2025-01-03,19:23:42,v2.13.3,argo-cd-7.7.13,2025-01-04,00:07:55,4.736944444444444
|
||||
argo-events,v1.9.5,2025-01-10,18:11:20,v1.9.5,argo-events-2.4.13,2025-01-11,10:22:47,16.190833333333334
|
||||
argo-workflows,v3.6.2,2024-12-02,14:12:44,v3.6.2,argo-workflows-0.45.1,2024-12-02,17:39:46,3.4505555555555554
|
||||
argo-events,v1.9.4,2025-01-08,07:48:18,v1.9.4,argo-events-2.4.12,2025-01-08,08:37:01,0.8119444444444445
|
||||
argo-events,v1.9.3,2024-11-27,06:51:10,v1.9.3,argo-events-2.4.9,2024-11-27,20:44:06,13.882222222222222
|
||||
argo-rollouts,v1.7.2,2024-08-13,18:42:47,v1.7.2,argo-rollouts-2.37.5,2024-08-14,08:31:31,13.812222222222223
|
||||
argo-cd,v2.13.2,2024-12-11,19:18:46,v2.13.2,argo-cd-7.7.10,2024-12-12,05:33:28,10.245
|
||||
argo-cd,v2.13.1,2024-11-20,17:11:22,v2.13.1,argo-cd-7.7.4,2024-11-20,20:48:11,3.613611111111111
|
||||
argo-workflows,v3.6.0,2024-11-14,19:02:01,v3.6.0,argo-workflows-0.43.0,2024-11-21,08:27:21,157.42222222222222
|
||||
argo-cd,v2.13.0,2024-11-04,12:46:49,v2.13.0,argo-cd-7.7.0,2024-11-05,00:00:06,11.221388888888889
|
||||
argo-workflows,v3.5.12,2024-10-30,11:49:27,v3.5.12,argo-workflows-0.42.6,2024-10-30,13:24:53,1.5905555555555555
|
||||
argo-cd,v2.12.6,2024-10-18,19:07:18,v2.12.6,argo-cd-7.6.12,2024-10-18,19:27:20,0.3338888888888889
|
||||
argo-cd,v2.12.5,2024-10-17,22:03:45,v2.12.5,argo-cd-7.6.11,2024-10-18,07:16:30,9.2125
|
||||
argo-cd,v2.12.4,2024-09-26,07:14:39,v2.12.4,argo-cd-7.6.5,2024-09-26,07:42:42,0.4675
|
||||
argo-workflows,v3.5.11,2024-09-20,14:08:00,v3.5.11,argo-workflows-0.42.3,2024-09-20,15:08:40,1.011111111111111
|
||||
argo-cd,v2.12.3,2024-08-27,12:33:34,v2.12.3,argo-cd-7.4.7,2024-08-27,13:30:34,0.95
|
||||
argo-events,v1.9.2,2024-06-14,00:38:39,v1.9.2,argo-events-2.4.6,2024-06-14,05:09:08,4.508055555555556
|
||||
argo-workflows,v3.5.10,2024-08-01,06:03:16,v3.5.10,argo-workflows-0.41.13,2024-08-01,07:19:01,1.2625
|
||||
argo-cd,v2.12.2,2024-08-23,04:05:09,v2.12.2,argo-cd-7.4.5,2024-08-23,08:51:19,4.769444444444445
|
||||
argo-cd,v2.12.1,2024-08-16,17:16:36,v2.12.1,argo-cd-7.4.4,2024-08-16,21:36:53,4.338055555555556
|
||||
argo-rollouts,v1.7.1,2024-06-25,01:38:31,v1.7.1,argo-rollouts-2.37.0,2024-06-26,09:10:19,31.53
|
||||
argo-cd,v2.12.0,2024-08-05,14:02:15,v2.12.0,argo-cd-7.4.0,2024-08-05,15:22:06,1.3308333333333333
|
||||
argo-workflows,v3.5.9,2024-07-30,06:58:49,v3.5.9,argo-workflows-0.41.12,2024-07-30,07:39:23,0.6761111111111111
|
||||
argo-cd,v2.11.7,2024-07-24,10:27:18,v2.11.7,argo-cd-7.3.11,2024-07-24,11:44:52,1.2927777777777778
|
||||
argo-cd,v2.11.6,2024-07-22,15:19:04,v2.11.6,argo-cd-7.3.10,2024-07-22,17:14:41,1.9269444444444443
|
||||
argo-cd,v2.11.5,2024-07-15,18:32:15,v2.11.5,argo-cd-7.3.7,2024-07-16,01:17:05,6.747222222222222
|
||||
argo-cd,v2.11.4,2024-07-02,19:52:42,v2.11.4,argo-cd-7.3.4,2024-07-02,20:43:46,0.8511111111111112
|
||||
argo-cd,v2.11.3,2024-06-06,09:43:29,v2.11.3,argo-cd-7.1.2,2024-06-06,10:51:51,1.1394444444444445
|
||||
argo-rollouts,v1.7.0,2024-06-13,20:23:14,v1.7.0,argo-rollouts-2.36.0,2024-06-14,09:00:46,12.625555555555556
|
||||
argo-workflows,v3.5.8,2024-06-18,04:52:31,v3.5.8,argo-workflows-0.41.10,2024-06-18,07:47:04,2.9091666666666667
|
||||
argo-workflows,v3.5.7,2024-05-27,07:13:30,v3.5.7,argo-workflows-0.41.7,2024-05-27,08:09:42,0.9366666666666666
|
||||
argo-cd,v2.11.2,2024-05-23,14:14:51,v2.11.2,argo-cd-6.11.1,2024-05-23,15:37:21,1.375
|
||||
argo-events,v1.9.1,2024-02-13,21:21:44,v1.9.1,argo-events-2.4.3,2024-02-14,08:53:00,11.52111111111111
|
||||
argo-rollouts,v1.6.6,2024-02-13,15:56:59,v1.6.6,argo-rollouts-2.34.3,2024-02-14,08:50:21,16.889444444444443
|
||||
argo-cd,v2.11.1,2024-05-21,15:03:58,v2.11.1,argo-cd-6.10.0,2024-05-21,16:36:49,1.5475
|
||||
argo-workflows,v3.5.6,2024-04-19,21:43:07,v3.5.6,argo-workflows-0.41.2,2024-04-20,04:55:21,7.203888888888889
|
||||
argo-cd,v2.11.0,2024-05-07,16:37:25,v2.11.0,argo-cd-6.8.0,2024-05-08,06:21:31,13.735
|
||||
argo-cd,v2.10.9,2024-04-30,16:55:10,v2.10.9,argo-cd-6.7.18,2024-04-30,17:14:22,0.32
|
||||
argo-cd,v2.10.8,2024-04-26,14:04:02,v2.10.8,argo-cd-6.7.16,2024-04-26,14:21:35,0.2925
|
||||
argo-cd,v2.10.7,2024-04-15,09:21:23,v2.10.7,argo-cd-6.7.12,2024-04-15,10:43:13,1.363888888888889
|
||||
argo-cd,v2.10.6,2024-04-05,01:04:01,v2.10.6,argo-cd-6.7.10,2024-04-05,05:00:08,3.935277777777778
|
||||
argo-cd,v2.10.5,2024-03-28,16:29:02,v2.10.5,argo-cd-6.7.4,2024-03-28,17:30:11,1.0191666666666668
|
||||
argo-workflows,v3.5.5,2024-02-29,21:47:50,v3.5.5,argo-workflows-0.40.12,2024-03-01,00:03:01,2.2530555555555556
|
||||
argo-cd,v2.10.4,2024-03-18,08:44:51,v2.10.4,argo-cd-6.7.3,2024-03-18,09:36:58,0.8686111111111111
|
||||
argo-cd,v2.10.3,2024-03-13,19:53:05,v2.10.3,argo-cd-6.7.2,2024-03-13,20:46:14,0.8858333333333334
|
||||
argo-cd,v2.10.2,2024-03-01,22:03:43,v2.10.2,argo-cd-6.5.1,2024-03-01,22:33:17,0.49277777777777776
|
||||
argo-cd,v2.10.1,2024-02-14,18:12:43,v2.10.1,argo-cd-6.0.14,2024-02-14,21:04:43,2.8666666666666667
|
||||
argo-workflows,v3.5.4,2024-01-14,06:19:09,v3.5.4,argo-workflows-0.40.6,2024-01-14,08:11:19,1.8694444444444445
|
||||
argo-cd,v2.10.0,2024-02-06,15:03:51,v2.10.0,argo-cd-5.55.0,2024-02-07,07:10:30,16.110833333333332
|
||||
argo-cd,v2.9.6,2024-02-02,19:51:46,v2.9.6,argo-cd-5.53.13,2024-02-02,22:50:34,2.98
|
||||
argo-cd,v2.9.5,2024-01-19,18:32:02,v2.9.5,argo-cd-5.53.2,2024-01-19,20:20:14,1.8033333333333332
|
||||
argo-rollouts,v1.6.5,2024-01-25,20:19:53,v1.6.5,argo-rollouts-2.34.2,2024-01-26,06:31:27,10.192777777777778
|
||||
argo-cd,v2.9.4,2024-01-18,21:24:02,v2.9.4,argo-cd-5.53.1,2024-01-19,05:48:47,8.4125
|
||||
argo-cd,v2.9.3,2023-12-01,23:39:19,v2.9.3,argo-cd-5.51.6,2023-12-02,11:03:49,11.408333333333333
|
||||
argo-workflows,v3.5.3,2024-01-11,03:12:46,v3.5.3,argo-workflows-0.40.5,2024-01-11,07:20:47,4.133611111111111
|
||||
argo-events,v1.9.0,2024-01-09,08:31:10,v1.9.0,argo-events-2.4.2,2024-01-09,10:14:30,1.7222222222222223
|
||||
argo-rollouts,v1.6.4,2023-12-11,21:54:30,v1.6.4,argo-rollouts-2.32.8,2023-12-13,06:59:39,33.08583333333333
|
||||
argo-workflows,v3.5.2,2023-11-27,19:16:42,v3.5.2,argo-workflows-0.39.5,2023-11-27,21:13:09,1.9408333333333334
|
||||
argo-rollouts,v1.6.3,2023-12-05,14:36:31,v1.6.3,argo-rollouts-2.32.7,2023-12-08,15:06:58,72.5075
|
||||
argo-rollouts,v1.6.2,2023-11-02,19:58:08,v1.6.2,argo-rollouts-2.32.4,2023-11-15,13:09:53,305.1958333333333
|
||||
argo-cd,v2.9.2,2023-11-20,17:52:41,v2.9.2,argo-cd-5.51.4,2023-11-20,18:50:04,0.9563888888888888
|
||||
argo-workflows,v3.5.1,2023-11-03,19:57:45,v3.5.1,argo-workflows-0.38.0,2023-11-04,05:58:06,10.005833333333333
|
||||
argo-cd,v2.9.1,2023-11-14,15:55:51,v2.9.1,argo-cd-5.51.2,2023-11-15,05:59:33,14.061666666666667
|
||||
argo-rollouts,v1.6.1,2023-11-01,21:19:43,v1.6.1,argo-rollouts-2.32.3,2023-11-15,10:00:45,324.6838888888889
|
||||
argo-cd,v2.9.0,2023-11-06,05:27:12,v2.9.0,argo-cd-5.51.0,2023-11-06,12:54:52,7.461111111111111
|
||||
argo-workflows,v3.5.0,2023-10-13,15:00:44,v3.5.0,argo-workflows-0.35.0,2023-10-13,22:07:38,7.115
|
||||
argo-cd,v2.8.6,2023-11-01,17:29:59,v2.8.6,argo-cd-5.50.0,2023-10-31,18:12:30,-23.29138888888889
|
||||
argo-rollouts,v1.6.0,2023-09-06,19:00:06,v1.6.0,argo-rollouts-2.32.0,2023-09-07,12:23:50,17.395555555555557
|
||||
argo-cd,v2.8.5,2023-10-31,19:30:03,v2.8.5,argo-cd-5.48.0,2023-10-28,07:29:05,-84.01611111111112
|
||||
argo-cd,v2.8.4,2023-09-13,20:08:07,v2.8.4,argo-cd-5.46.3,2023-09-14,04:56:22,8.804166666666667
|
||||
argo-workflows,v3.4.11,2023-09-08,01:14:16,v3.4.11,argo-workflows-0.33.2,2023-09-08,04:20:30,3.1038888888888887
|
||||
argo-cd,v2.8.3,2023-09-07,18:06:07,v2.8.3,argo-cd-5.45.3,2023-09-08,00:13:52,6.129166666666666
|
||||
argo-cd,v2.8.2,2023-08-24,21:05:33,v2.8.2,argo-cd-5.43.6,2023-08-25,08:46:11,11.677222222222222
|
||||
argo-events,v1.8.1,2023-08-31,23:49:47,v1.8.1,argo-events-2.4.1,2023-09-04,01:15:35,73.43
|
||||
argo-cd,v2.8.1,2023-08-22,21:19:28,v2.8.1,argo-cd-5.43.5,2023-08-23,03:57:35,6.635277777777778
|
||||
argo-workflows,v3.4.10,2023-08-15,18:59:38,v3.4.10,argo-workflows-0.32.3,2023-08-16,11:00:55,16.02138888888889
|
||||
argo-rollouts,v1.5.1,2023-05-24,19:26:51,v1.5.1,argo-rollouts-2.31.1,2023-07-20,17:26:45,1365.9983333333332
|
||||
argo-cd,v2.8.0,2023-08-07,20:03:46,v2.8.0,argo-cd-5.43.0,2023-08-08,14:36:04,18.538333333333334
|
||||
argo-workflows,v3.4.9,2023-07-20,15:28:41,v3.4.9,argo-workflows-0.32.0,2023-07-20,23:20:17,7.86
|
||||
argo-cd,v2.7.11,2023-08-07,20:07:16,v2.7.11,argo-cd-5.42.3,2023-08-08,06:11:54,10.077222222222222
|
||||
argo-cd,v2.7.10,2023-07-31,22:51:19,v2.7.10,argo-cd-5.42.1,2023-08-01,05:57:37,7.105
|
||||
argo-cd,v2.7.9,2023-07-24,18:50:30,v2.7.9,argo-cd-5.41.2,2023-07-25,02:10:03,7.325833333333334
|
||||
argo-cd,v2.7.8,2023-07-19,15:58:13,v2.7.8,argo-cd-5.41.1,2023-07-19,22:26:30,6.471388888888889
|
||||
argo-cd,v2.7.7,2023-07-05,20:25:54,v2.7.7,argo-cd-5.37.1,2023-07-06,08:26:09,12.004166666666666
|
||||
argo-workflows,v3.4.8,2023-05-25,23:37:40,v3.4.8,argo-workflows-0.28.2,2023-05-26,04:19:27,4.6963888888888885
|
||||
argo-cd,v2.7.6,2023-06-20,21:46:46,v2.7.6,argo-cd-5.36.5,2023-06-21,04:27:57,6.686388888888889
|
||||
argo-events,v1.8.0,2023-05-08,05:54:59,v1.8.0,argo-events-2.4.0,2023-06-21,12:41:55,1062.7822222222221
|
||||
argo-cd,v2.7.5,2023-06-16,15:24:00,v2.7.5,argo-cd-5.36.2,2023-06-17,04:55:38,13.527222222222223
|
||||
argo-cd,v2.7.4,2023-06-05,19:40:08,v2.7.4,argo-cd-5.35.1,2023-06-06,04:53:38,9.225
|
||||
argo-cd,v2.7.3,2023-05-24,16:14:02,v2.7.3,argo-cd-5.34.5,2023-05-24,23:23:36,7.1594444444444445
|
||||
argo-rollouts,v1.5.0,2023-05-08,15:34:06,v1.5.0,argo-rollouts-2.28.0,2023-05-10,15:37:42,48.06
|
||||
argo-workflows,v3.4.7,2023-04-11,17:26:32,v3.4.7,argo-workflows-0.23.2,2023-04-12,04:52:48,11.437777777777777
|
||||
argo-cd,v2.7.2,2023-05-12,14:41:07,v2.7.2,argo-cd-5.33.2,2023-05-12,15:19:23,0.6377777777777778
|
||||
argo-cd,v2.7.1,2023-05-02,17:24:44,v2.7.1,argo-cd-5.31.1,2023-05-03,09:48:25,16.39472222222222
|
||||
argo-events,v1.7.6,2023-02-10,07:30:54,v1.7.6,argo-events-2.1.3,2023-02-21,01:14:54,257.73333333333335
|
||||
argo-rollouts,v1.4.1,2023-02-25,15:23:34,v1.4.1,argo-rollouts-2.22.3,2023-03-02,15:08:16,119.745
|
||||
argo-cd,v2.7.0,2023-05-02,00:51:25,v2.7.0,argo-cd-5.30.0,2023-05-02,07:29:11,6.629444444444444
|
||||
argo-cd,v2.6.7,2023-03-23,15:45:09,v2.6.7,argo-cd-5.27.2,2023-03-24,00:09:05,8.398888888888889
|
||||
argo-workflows,v3.4.6,2023-03-31,20:16:18,v3.4.6,argo-workflows-0.22.16,2023-04-04,11:10:35,86.90472222222222
|
||||
argo-workflows,v3.4.5,2023-02-07,13:26:29,v3.4.5,argo-workflows-0.22.10,2023-02-07,15:11:29,1.75
|
||||
argo-cd,v2.6.6,2023-03-16,23:07:31,v2.6.6,argo-cd-5.27.1,2023-03-17,08:25:05,9.292777777777777
|
||||
argo-cd,v2.6.5,2023-03-14,14:59:49,v2.6.5,argo-cd-5.26.1,2023-03-14,18:42:39,3.713888888888889
|
||||
argo-cd,v2.6.4,2023-03-07,23:29:08,v2.6.4,argo-cd-5.24.2,2023-03-08,07:13:22,7.737222222222222
|
||||
argo-cd,v2.6.3,2023-02-27,15:20:04,v2.6.3,argo-cd-5.23.3,2023-02-28,08:32:15,17.203055555555554
|
||||
argo-cd,v2.6.2,2023-02-16,15:43:42,v2.6.2,argo-cd-5.21.1,2023-02-17,08:23:54,16.67
|
||||
argo-cd,v2.6.1,2023-02-08,19:39:04,v2.6.1,argo-cd-5.20.3,2023-02-08,20:15:43,0.6108333333333333
|
||||
argo-cd,v2.6.0,2023-02-06,22:04:33,v2.6.0,argo-cd-5.20.0,2023-02-07,15:02:47,16.970555555555556
|
||||
argo-cd,v2.5.10,2023-02-02,15:48:00,v2.5.10,argo-cd-5.19.14,2023-02-02,21:56:38,6.143888888888889
|
||||
argo-cd,v2.5.9,2023-01-28,00:04:28,v2.5.9,argo-cd-5.19.11,2023-01-28,13:41:15,13.613055555555556
|
||||
argo-workflows,v3.4.4,2022-11-29,21:15:21,v3.4.4,argo-workflows-0.20.12,2022-11-30,15:26:09,18.18
|
||||
argo-rollouts,v1.4.0,2023-01-09,21:43:34,v1.4.0,argo-rollouts-2.22.0,2023-01-19,21:14:27,239.51472222222222
|
||||
argo-events,v1.7.5,2023-01-23,08:23:36,v1.7.5,argo-events-2.1.1,2023-01-29,12:16:37,147.88361111111112
|
||||
argo-cd,v2.5.8,2023-01-25,17:05:03,v2.5.8,argo-cd-5.19.7,2023-01-26,08:23:02,15.299722222222222
|
||||
argo-events,v1.7.4,2022-12-12,07:45:11,v1.7.4,argo-events-2.0.10,2022-12-24,19:41:24,299.93694444444446
|
||||
argo-cd,v2.5.7,2023-01-18,03:00:02,v2.5.7,argo-cd-5.17.2,2023-01-18,06:44:45,3.745277777777778
|
||||
argo-rollouts,v1.3.1,2022-09-29,17:43:19,v1.3.1,argo-rollouts-2.21.1,2022-09-30,22:29:28,28.769166666666667
|
||||
argo-cd,v2.5.6,2023-01-10,20:14:18,v2.5.6,argo-cd-5.17.1,2023-01-11,06:33:59,10.328055555555556
|
||||
argo-cd,v2.5.5,2022-12-16,16:53:08,v2.5.5,argo-cd-5.16.7,2022-12-17,11:36:17,18.719166666666666
|
||||
argo-events,v1.7.3,2022-09-28,22:10:34,v1.7.3,argo-events-2.0.6,2022-09-29,15:55:01,17.740833333333335
|
||||
argo-cd,v2.5.4,2022-12-06,20:26:51,v2.5.4,argo-cd-5.16.2,2022-12-07,07:41:56,11.251388888888888
|
||||
argo-cd,v2.5.3,2022-11-28,17:28:00,v2.5.3,argo-cd-5.14.3,2022-11-28,22:10:18,4.705
|
||||
argo-workflows,v3.4.3,2022-10-31,09:17:41,v3.4.3,argo-workflows-0.20.6,2022-11-01,09:26:43,24.150555555555556
|
||||
argo-cd,v2.5.2,2022-11-07,17:23:44,v2.5.2,argo-cd-5.13.6,2022-11-08,16:04:52,22.685555555555556
|
||||
argo-cd,v2.5.1,2022-11-01,21:53:59,v2.5.1,argo-cd-5.13.1,2022-11-02,07:31:33,9.626111111111111
|
||||
argo-cd,v2.5.0,2022-10-25,15:32:28,v2.5.0,argo-cd-5.8.0,2022-10-25,21:22:42,5.8372222222222225
|
||||
argo-workflows,v3.4.2,2022-10-23,07:36:55,v3.4.2,argo-workflows-0.20.3,2022-10-24,05:53:54,22.283055555555556
|
||||
argo-cd,v2.4.15,2022-10-17,21:17:43,v2.4.15,argo-cd-5.6.1,2022-10-20,11:23:48,62.10138888888889
|
||||
argo-workflows,v3.4.1,2022-10-01,16:09:34,v3.4.1,argo-workflows-0.20.1,2022-10-02,09:28:15,17.31138888888889
|
||||
argo-cd,v2.4.14,2022-10-05,17:53:31,v2.4.14,argo-cd-5.5.10,2022-10-06,21:05:05,27.192777777777778
|
||||
argo-cd,v2.4.13,2022-10-03,21:38:39,v2.4.13,argo-cd-5.5.8,2022-10-04,00:58:31,3.331111111111111
|
||||
argo-cd,v2.4.12,2022-09-16,01:33:23,v2.4.12,argo-cd-5.4.4,2022-09-16,08:58:43,7.4222222222222225
|
||||
argo-rollouts,v1.3.0,2022-09-19,03:29:00,v1.3.0,argo-rollouts-2.21.0,2022-09-29,06:43:50,243.24722222222223
|
||||
argo-workflows,v3.4.0,2022-09-19,05:23:46,v3.4.0,argo-workflows-0.18.0,2022-09-19,16:10:42,10.782222222222222
|
||||
argo-events,v1.7.2,2022-09-12,23:46:11,v1.7.2,argo-events-2.0.5,2022-09-20,11:55:01,180.1472222222222
|
||||
argo-cd,v2.4.11,2022-08-22,09:52:10,v2.4.11,argo-cd-4.10.9,2022-08-22,14:04:30,4.205555555555556
|
||||
argo-workflows,v3.3.9,2022-08-10,01:08:09,v3.3.9,argo-workflows-0.16.9,2022-08-10,11:43:41,10.592222222222222
|
||||
argo-rollouts,v1.2.2,2022-07-26,17:49:31,v1.2.2,argo-rollouts-2.19.2,2022-08-26,09:03:17,735.2294444444444
|
||||
argo-events,v1.7.1,2022-06-09,06:27:31,v1.7.1,argo-events-2.0.2,2022-07-04,09:50:24,603.3813888888889
|
||||
argo-rollouts,v1.2.0,2022-03-22,17:16:13,v1.2.0,argo-rollouts-2.12.0,2022-03-23,21:12:12,27.933055555555555
|
||||
argo-cd,v2.4.10,2022-08-17,21:44:09,v2.4.10,argo-cd-4.10.7,2022-08-18,00:28:21,2.736666666666667
|
||||
argo-cd,v2.4.9,2022-08-11,15:59:47,v2.4.9,argo-cd-4.10.6,2022-08-11,20:43:51,4.734444444444445
|
||||
argo-cd,v2.4.8,2022-07-29,17:38:38,v2.4.8,argo-cd-4.10.4,2022-08-01,13:49:17,68.1775
|
||||
argo-cd,v2.4.7,2022-07-18,21:54:21,v2.4.7,argo-cd-4.9.15,2022-07-19,06:25:53,8.525555555555556
|
||||
argo-workflows,v3.3.8,2022-06-24,01:18:03,v3.3.8,argo-workflows-0.16.6,2022-06-24,05:47:50,4.496388888888889
|
||||
argo-cd,v2.4.6,2022-07-12,23:14:34,v2.4.6,argo-cd-4.9.13,2022-07-13,20:43:07,21.475833333333334
|
||||
argo-cd,v2.4.4,2022-07-07,07:59:34,v2.4.4,argo-cd-4.9.12,2022-07-07,16:46:25,8.780833333333334
|
||||
argo-cd,v2.4.3,2022-06-27,21:39:15,v2.4.3,argo-cd-4.9.9,2022-06-28,13:20:49,15.692777777777778
|
||||
argo-events,v1.7.0,2022-05-04,22:47:01,v1.7.0,argo-events-2.0.0,2022-06-14,15:38:27,976.8572222222223
|
||||
argo-cd,v2.4.2,2022-06-21,21:19:40,v2.4.2,argo-cd-4.9.5,2022-06-23,05:50:20,32.51111111111111
|
||||
argo-workflows,v3.3.7,2022-06-21,00:41:49,v3.3.7,argo-workflows-0.16.5,2022-06-23,16:01:09,63.32222222222222
|
||||
argo-workflows,v3.3.6,2022-05-26,01:22:39,v3.3.6,argo-workflows-0.16.1,2022-05-26,11:20:50,9.969722222222222
|
||||
argo-cd,v2.4.0,2022-06-10,17:59:33,v2.4.0,argo-cd-4.9.0,2022-06-14,10:10:37,88.18444444444444
|
||||
argo-cd,v2.3.4,2022-05-18,13:14:17,v2.3.4,argo-cd-4.6.2,2022-05-19,17:54:21,28.66777777777778
|
||||
argo-workflows,v3.3.5,2022-05-04,01:13:34,v3.3.5,argo-workflows-0.15.2,2022-05-20,21:14:27,404.01472222222225
|
||||
argo-workflows,v3.3.2,2022-04-20,23:16:10,v3.3.2,argo-workflows-0.14.0,2022-04-22,07:09:42,31.892222222222223
|
||||
argo-cd,v2.3.3,2022-03-30,01:55:37,v2.3.3,argo-cd-4.3.1,2022-03-30,13:40:17,11.744444444444444
|
||||
argo-events,v1.6.0,2022-02-13,06:42:27,v1.6.0,argo-events-1.11.0,2022-02-20,18:31:57,179.825
|
||||
argo-cd,v2.3.2,2022-03-23,02:12:12,v2.3.2,argo-cd-4.2.2,2022-03-23,09:53:45,7.6925
|
||||
argo-workflows,v3.2.9,2022-03-02,23:04:35,v3.2.9,argo-workflows-0.11.2,2022-03-05,08:51:50,57.7875
|
||||
argo-cd,v2.3.1,2022-03-11,00:07:41,v2.3.1,argo-cd-4.0.0,2022-03-16,21:02:33,140.91444444444446
|
||||
argo-rollouts,v1.1.1,2021-11-29,21:44:13,v1.1.1,argo-rollouts-2.8.1,2022-01-10,18:21:14,1004.6169444444445
|
||||
argo-cd,v2.2.5,2022-02-05,01:42:13,v2.2.5,argo-cd-3.33.4,2022-02-05,12:55:15,11.217222222222222
|
||||
argo-workflows,v3.2.7,2022-01-28,02:28:31,v3.2.7,argo-workflows-0.10.1,2022-02-09,23:06:55,308.64
|
||||
argo-cd,v2.2.4,2022-02-03,20:50:43,v2.2.4,argo-cd-3.33.3,2022-02-04,09:19:44,12.483611111111111
|
||||
argo-cd,v2.2.3,2022-01-18,18:03:37,v2.2.3,argo-cd-3.32.0,2022-01-26,15:14:35,189.18277777777777
|
||||
argo-workflows,v3.2.6,2021-12-17,21:12:28,v3.2.6,argo-workflows-0.9.4,2021-12-20,11:00:00,61.79222222222222
|
||||
argo-events,v1.5.6,2022-01-12,05:18:08,v1.5.6,argo-events-1.10.1,2022-01-18,22:20:08,161.03333333333333
|
||||
argo-cd,v2.2.2,2022-01-01,06:38:42,v2.2.2,argo-cd-3.29.5,2022-01-04,10:16:28,75.62944444444445
|
||||
argo-events,v1.5.0,2021-10-12,18:48:33,v1.5.0,argo-events-1.8.0,2021-10-27,15:13:58,356.4236111111111
|
||||
argo-rollouts,v1.1.0,2021-10-12,17:02:30,v1.1.0,argo-rollouts-2.2.0,2021-10-14,14:58:28,45.93277777777778
|
||||
argo-cd,v2.2.1,2021-12-17,01:41:25,v2.2.1,argo-cd-3.29.1,2021-12-17,10:06:18,8.414722222222222
|
||||
argo-cd,v2.2.0,2021-12-14,18:19:23,v2.2.0,argo-cd-3.29.0,2021-12-15,10:15:30,15.935277777777777
|
||||
argo-cd,v2.1.7,2021-11-17,22:18:58,v2.1.7,argo-cd-3.26.10,2021-11-21,12:48:45,86.49638888888889
|
||||
argo-workflows,v3.2.4,2021-11-18,00:41:27,v3.2.4,argo-workflows-0.8.3,2021-11-21,18:59:21,90.29833333333333
|
||||
argo-workflows,v3.2.0,2021-10-12,16:28:36,v3.2.0,argo-workflows-0.7.3,2021-10-15,10:22:13,65.89361111111111
|
||||
argo-cd,v2.1.6,2021-10-28,20:08:23,v2.1.6,argo-cd-3.26.4,2021-10-31,11:57:25,63.81722222222222
|
||||
argo-cd,v2.1.5,2021-10-20,15:25:12,v2.1.5,argo-cd-3.26.3,2021-10-21,20:56:35,29.523055555555555
|
||||
argo-cd,,,,2.1.4,argo-cd-3.26.1,2021-10-20,06:32:59,
|
||||
argo-cd,,,,2.1.3,argo-cd-3.23.1,2021-10-06,15:28:20,
|
||||
argo-workflows,v3.1.8,2021-08-19,00:19:56,v3.1.8,argo-workflows-0.4.2,2021-08-23,11:13:42,106.89611111111111
|
||||
argo-cd,,,,2.1.2,argo-cd-3.17.6,2021-09-02,21:59:12,
|
||||
argo-rollouts,v1.0.2,2021-06-15,22:33:04,v1.0.2,argo-rollouts-1.0.2,2021-07-07,15:18:22,520.755
|
||||
argo-cd,,,,2.1.1,argo-cd-3.17.2,2021-08-26,14:22:27,
|
||||
argo-cd,,,,2.1.0,argo-cd-3.13.0,2021-08-23,12:14:11,
|
||||
argo-workflows,v3.1.5,2021-08-04,07:14:30,v3.1.5,argo-workflows-0.4.0,2021-08-17,07:31:04,312.2761111111111
|
||||
argo-cd,,,,2.0.5,argo-cd-3.10.1,2021-07-27,01:33:24,
|
||||
argo-workflows,v3.0.7,2021-05-25,19:08:55,v3.0.7,argo-workflows-0.2.6,2021-06-25,06:16:05,731.1194444444444
|
||||
argo-events,,,,1.3.1,argo-events-1.4.2,2021-05-21,16:00:05,
|
||||
argo-cd,,,,2.0.4,argo-cd-3.6.11,2021-06-29,08:49:22,
|
||||
argo-cd,,,,2.0.3,argo-cd-3.6.3,2021-05-29,08:42:00,
|
||||
argo-workflows,v3.0.2,2021-04-20,15:37:15,v3.0.2,argo-workflows-0.1.1,2021-05-21,16:00:07,744.3811111111111
|
||||
argo-rollouts,v1.0.1,2021-05-26,08:43:12,v1.0.1,argo-rollouts-1.0.0,2021-05-31,16:06:49,127.39361111111111
|
||||
argo-rollouts,,,,0.10.2,argo-rollouts-0.5.3,2021-05-21,16:00:06,
|
||||
argo-cd,,,,2.0.1,argo-cd-3.4.1,2021-05-21,16:00:04,
|
|
58
scripts/release-analysis/plot_graph.py
Normal file
58
scripts/release-analysis/plot_graph.py
Normal file
|
@ -0,0 +1,58 @@
|
|||
import csv
|
||||
|
||||
import matplotlib.pyplot as plt
|
||||
from packaging import version
|
||||
|
||||
|
||||
def plot_time_difference(csv_file):
|
||||
# Read the CSV file and process the data
|
||||
data = {"argo-cd": [], "argo-events": [], "argo-workflows": [], "argo-rollouts": []}
|
||||
release_tags = {
|
||||
"argo-cd": [],
|
||||
"argo-events": [],
|
||||
"argo-workflows": [],
|
||||
"argo-rollouts": [],
|
||||
}
|
||||
with open(csv_file, mode="r") as file:
|
||||
reader = csv.DictReader(file)
|
||||
for row in reader:
|
||||
repo = row["Repository"]
|
||||
time_diff_str = row["Time Difference"]
|
||||
release_tag = row["Release Tag"]
|
||||
if repo in data and time_diff_str:
|
||||
time_diff = float(time_diff_str)
|
||||
data[repo].append(time_diff)
|
||||
release_tags[repo].append(release_tag)
|
||||
|
||||
# Sort the release tags based on semantic versioning
|
||||
for repo in release_tags:
|
||||
sorted_indices = sorted(
|
||||
range(len(release_tags[repo])),
|
||||
key=lambda i: version.parse(release_tags[repo][i]),
|
||||
)
|
||||
release_tags[repo] = [release_tags[repo][i] for i in sorted_indices]
|
||||
data[repo] = [data[repo][i] for i in sorted_indices]
|
||||
|
||||
# Plot the data
|
||||
for repo, time_diffs in data.items():
|
||||
plt.figure(figsize=(10, 6))
|
||||
plt.plot(release_tags[repo], time_diffs, marker="o", label=repo)
|
||||
plt.axhline(y=72, color="r", linestyle="--", label="SLA (72 hours)")
|
||||
plt.xlabel("Upstream Release Tag")
|
||||
plt.ylabel(
|
||||
"Time difference between upstream release and Helm Chart release (hours)"
|
||||
)
|
||||
plt.title(f"Time to Release Helm Chart for {repo}")
|
||||
plt.legend()
|
||||
plt.grid(True)
|
||||
plt.xticks(rotation=45)
|
||||
plt.tight_layout()
|
||||
plt.savefig(f"time_difference_plot_{repo}.png")
|
||||
plt.close()
|
||||
|
||||
print("The plots have been saved as 'time_difference_plot_<repo>.png'")
|
||||
|
||||
|
||||
# Example usage
|
||||
if __name__ == "__main__":
|
||||
plot_time_difference("merged_releases.csv")
|
2
scripts/release-analysis/requirements.txt
Normal file
2
scripts/release-analysis/requirements.txt
Normal file
|
@ -0,0 +1,2 @@
|
|||
requests
|
||||
matplotlib
|
BIN
scripts/release-analysis/time_difference_plot_argo-cd.png
Normal file
BIN
scripts/release-analysis/time_difference_plot_argo-cd.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 82 KiB |
BIN
scripts/release-analysis/time_difference_plot_argo-events.png
Normal file
BIN
scripts/release-analysis/time_difference_plot_argo-events.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 67 KiB |
BIN
scripts/release-analysis/time_difference_plot_argo-rollouts.png
Normal file
BIN
scripts/release-analysis/time_difference_plot_argo-rollouts.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 73 KiB |
BIN
scripts/release-analysis/time_difference_plot_argo-workflows.png
Normal file
BIN
scripts/release-analysis/time_difference_plot_argo-workflows.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 69 KiB |
|
@ -1,31 +1,41 @@
|
|||
#!/bin/bash
|
||||
depName="${1}"
|
||||
if [ -z "${depName}" ]; then
|
||||
echo "Missing argument 'depName'" >&2
|
||||
echo "Example usage: $0 argoproj/argo-cd" >&2
|
||||
while getopts c:d:v: opt; do
|
||||
case ${opt} in
|
||||
c) chart=${OPTARG} ;;
|
||||
d) dependency_name=${OPTARG} ;;
|
||||
v) dependency_version=${OPTARG} ;;
|
||||
*)
|
||||
echo 'Usage:' >&2
|
||||
echo '-c: chart Related Helm chart name' >&2
|
||||
echo '-d dependency Name of the updated dependency' >&2
|
||||
echo '-v version New version of the updated dependency' >&2
|
||||
exit 1
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -z "${dependency_name}" ] || [ -z "${dependency_version}" ] || [ -z "${chart}" ] ; then
|
||||
echo 'Missing relevant CLI flag(s).' >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
chartName=$(echo "$depName" | sed -e "s+^argoproj/++" -e "s+^argoproj-labs/++")
|
||||
echo "Changed chart name is: $chartName"
|
||||
echo "----------------------------------------"
|
||||
|
||||
parentDir="charts/${chartName}"
|
||||
chart_yaml_path="charts/${chart}/Chart.yaml"
|
||||
# Split dependency by '/' and only use last element
|
||||
# This way we can drop prefixes like "argoproj/..." , "argoproj-labs/..." , "quay.io/foo/..."
|
||||
dependency_name="${dependency_name##*/}"
|
||||
|
||||
# Bump the chart version by one patch version
|
||||
version=$(grep '^version:' "${parentDir}/Chart.yaml" | awk '{print $2}')
|
||||
version=$(grep '^version:' "${chart_yaml_path}" | awk '{print $2}')
|
||||
major=$(echo "${version}" | cut -d. -f1)
|
||||
minor=$(echo "${version}" | cut -d. -f2)
|
||||
patch=$(echo "${version}" | cut -d. -f3)
|
||||
patch=$((patch + 1))
|
||||
sed -i "s/^version:.*/version: ${major}.${minor}.${patch}/g" "${parentDir}/Chart.yaml"
|
||||
sed -i "s/^version:.*/version: ${major}.${minor}.${patch}/g" "${chart_yaml_path}"
|
||||
|
||||
# Add a changelog entry
|
||||
appVersion=$(grep '^appVersion:' "${parentDir}/Chart.yaml" | awk '{print $2}')
|
||||
sed -i -e '/^ artifacthub.io\/changes: |/,$ d' "${parentDir}/Chart.yaml"
|
||||
sed -i -e '/^ artifacthub.io\/changes: |/,$ d' "${chart_yaml_path}"
|
||||
{
|
||||
echo " artifacthub.io/changes: |"
|
||||
echo " - kind: changed"
|
||||
echo " description: Bump ${chartName} to ${appVersion}"
|
||||
} >> "${parentDir}/Chart.yaml"
|
||||
cat "${parentDir}/Chart.yaml"
|
||||
echo " description: Bump ${dependency_name} to ${dependency_version}"
|
||||
} >> "${chart_yaml_path}"
|
||||
cat "${chart_yaml_path}"
|
||||
|
|
Loading…
Reference in a new issue