API Breaks
- #44: Add support for finding related resources via label selectors (by @xrstf) – see below for upgrade instructions
Features
- #44: Add support for having one related resource match many objects (by @xrstf)
- #52: The sync-agent does not mistakenly assume that 1 APIExport contains exactly 1 API group, and instead now correctly allows to have as many API groups as desired in one APIExport. You still need 1 agent per APIExport though (by @xrstf)
- #52: Added
group
to the projection settings in a PublishedResource, allowing to rewrite the API group (by @xrstf)
Misc
Upgrade Notes
In order to upgrade to this release, you need to perform two important changes:
Updating related resources
You need to manually update every PublishedResource
that contains related resources.
This was the old structure:
spec:
related:
- id: credentials
reference:
name:
path: metadata.name
regex: {pattern: ..., replacement: ...}
# optional namespace
namespace:
path: metadata.foobar
regex: {pattern: ..., replacement: ...}
This is the new structure (omitting the new fields introduced in 0.3):
spec:
related:
- id: credentials
object:
reference:
path: metadata.name
regex: {pattern: ..., replacement: ...}
# optional namespace
namespace:
reference:
path: metadata.foobar
regex: {pattern: ..., replacement: ...}
Re-adjust projection rules
Since the api-syncagent now does not automatically project (= rename) the API group of published CRDs, if you want to keep the old behaviour (where every CRD, regardless of its API group, gets renamed to the group defined by the APIExport's name), you need to explicitly configure a projection.
In your PublishedResources, add
spec:
projection:
group: the.group.to.project.to # most like this is your APIExport's name if you want to keep the old behaviour