crossplane-contrib / crossplane-contrib/provider-workflows
Mirroring images breaks the provider dependsOn for published providers
- Dominant language
- Makefile
- Stars
- 2
- Forks
- 11
- PR merge metrics
- No merged PRs in 30d
Description
To ensure the Provider dependsOn block is correct images need to be rebuild for each registry. This to ensure they have the correct dependsOn block in the package.yaml.
See:
- https://github.com/crossplane-contrib/provider-workflows/blob/main/.github/workflows/publish-provider-family.yml#L171
- https://github.com/crossplane-contrib/provider-upjet-aws/blob/main/package/crossplane.yaml.tmpl#L38
Observed behavior:
✅ **ghcr.io v1.21.0** -> depends on ghcr.io
```shell
docker run --rm -it --entrypoint /bin/bash ghcr.io/crossplane-contrib/provider-aws-iam:v1.21.0
c29762f08704:/$ cat package.yaml | grep dependsOn -A 2
dependsOn:
- provider: ghcr.io/crossplane-contrib/provider-family-aws
version: '>= 0.0.0'
```
❌ **xpkg.crossplane.io v1.21.0** -> depends on ghcr.io
```shell
docker run --rm -it --entrypoint /bin/bash xpkg.crossplane.io/crossplane-contrib/provider-aws-iam:v1.21.0
9b24e46e260d:/$ cat package.yaml | grep dependsOn -A 2
dependsOn:
- provider: ghcr.io/crossplane-contrib/provider-family-aws
version: '>= 0.0.0'
```
## v1.21.1 flips the behavior
❌ **ghcr.io v1.21.1** -> depends on ghcr.io
```shell
docker run --rm -it --entrypoint /bin/bash ghcr.io/crossplane-contrib/provider-aws-iam:v1.21.1
c29762f08704:/$ cat package.yaml | grep dependsOn -A 2
dependsOn:
- provider: xpkg.crossplane.io/crossplane-contrib/provider-family-aws
version: '>= 0.0.0'
```
✅ **xpkg.crossplane.io v1.21.1** -> depends on ghcr.io
```shell
docker run --rm -it --entrypoint /bin/bash xpkg.crossplane.io/crossplane-contrib/provider-aws-iam:v1.21.1
9b24e46e260d:/$ cat package.yaml | grep dependsOn -A 2
dependsOn:
- provider: xpkg.crossplane.io/crossplane-contrib/provider-family-aws
version: '>= 0.0.0'
```
This cause providers to be unhealthy for the following images:
- xpkg.crossplane.io/crossplane-contrib/provider-aws-iam:v1.21.0
- ghcr.io/crossplane-contrib/provider-aws-iam:v1.21.1
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with .github/workflows/publish-provider-family.yml around line 171 and compare it with package/crossplane.yaml.tmpl around line 38 in provider-upjet-aws. Reproduce the package.yaml inspection for both registry images, then verify that each published image's dependsOn provider matches its own registry.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, github-actions
- Domain
- ci-cd, release
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100