CC008 Spec alignment#215
Conversation
752bf56 to
91d310d
Compare
deusebio
left a comment
There was a problem hiding this comment.
The PR contains a number of sensible changes, that also trigger a few thoughts on my part.
I only have one major comment about the fact that it seems that we are not able to specify the revisions for a few charms that do not belong to the product. Also according to the spec, the product module should allow this for every charms that it bundles.
a8f261f to
8f8f912
Compare
8f8f912 to
f8c20a9
Compare
deusebio
left a comment
There was a problem hiding this comment.
Looks really good! Great job Alex!
| | Name | Description | Type | Default | Required | | ||
| |------|-------------|------|---------|:--------:| | ||
| | <a name="input_cos_configuration"></a> [cos\_configuration](#input\_cos\_configuration) | n/a | <pre>object({<br/> app_name = optional(string, "cos-configuration")<br/> base = optional(string, "ubuntu@22.04")<br/> channel = optional(string, "1/stable")<br/> config = optional(map(string), {<br/> git_branch = "main"<br/> git_depth = 1<br/> git_repo = "https://github.com/canonical/spark-k8s-bundle"<br/> grafana_dashboards_path = "resources/grafana/"<br/> })<br/> constraints = optional(string, "arch=amd64")<br/> resources = optional(map(string), {})<br/> revision = optional(number)<br/> units = optional(number, 1)<br/> })</pre> | `{}` | no | | ||
| | <a name="input_cos_configuration"></a> [cos\_configuration](#input\_cos\_configuration) | n/a | <pre>object({<br/> app_name = optional(string, "cos-configuration")<br/> base = optional(string, "ubuntu@22.04")<br/> channel = optional(string, "1/stable")<br/> config = optional(map(string), {<br/> git_branch = "main"<br/> git_depth = 1<br/> git_repo = "https://github.com/canonical/spark-k8s-bundle"<br/> grafana_dashboards_path = "resources/grafana/"<br/> })<br/> constraints = optional(string, "arch=amd64")<br/> resources = optional(map(string), {})<br/> revision = optional(number, 65) # TODO<br/> units = optional(number, 1)<br/> })</pre> | `{}` | no | |
There was a problem hiding this comment.
It this TODO left on purpose here as well ?
There was a problem hiding this comment.
It's automatically picked up by terraform-docs, it's quite odd indeed. Anyhow, it will go away once we settle on the design decision of where the revisions must be pinned and drop the TODO comment
This PR addresses the following, previously missing from #208:
deployed_atproduct outputOther changes:
tf-docs, shorter to type and more explicitdeployed_atOn the first apply,
terraform outputgives the same timestamp for both this field andupdated_at. However, theterraform_dataresource will make sure that the value is tracked in the terraform state and will never be updated. Therefore, subsequentterraform applywill leave this attribute untouched.Component external relations
Relations with postgresql (x2), certificate provider, zookeeper and data-integrator are now following the framework defined in CC008 and should be easily swap-able for cross-model offers. However, this is not tested in CI since this would make our tests even more complex.
The result is a bit verbose, as I added some validation rules for each integration.
We also had to introduce a new component variable
object_storage_interfacesince we cannot rely anymore exclusively on the object storage endpoint string value (undefined for a cross-model offer) to use the proper interface on the other end of the relation.