-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
inital pass at adding terraform for the k8s charms #194
base: main
Are you sure you want to change the base?
Conversation
Test coverage for 2a1d220
Static code analysis report
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did a first pass on the templates, thank you so much for your work! I believe these should find a separate repo to live in.
| Name | Type | Description | Required | | ||
| - | - | - | - | | ||
| `app_name`| string | Application name | False | | ||
| `channel`| string | Channel that the charm is deployed from | False | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this tf deploy work for strict as well?
``` | ||
|
||
### Define a `data` source | ||
Define a `data` source and pass to the `model_name` input a reference to the `data.juju_model` resource's name. This will enable Terraform to look for a `juju_model` resource with a name attribute equal to the one provided, and apply only if this is present. Otherwise, it will fail before applying anything. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Define a `data` source and pass to the `model_name` input a reference to the `data.juju_model` resource's name. This will enable Terraform to look for a `juju_model` resource with a name attribute equal to the one provided, and apply only if this is present. Otherwise, it will fail before applying anything. | |
Define a `data` source and pass a reference to the `model_name` input to the `data.juju_model` resource's name. Terraform will look for a `juju_model` resource with a matching model name and only apply resources if the names match. |
variable "series" { | ||
description = "Ubuntu series to deploy the charm onto" | ||
type = string | ||
default = "24.04" | ||
|
||
validation { | ||
condition = contains(["20.04", "22.04", "24.04"], var.series) | ||
error_message = "Series must be one of 20.04, 22.04, 24.04" | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
variable "series" { | |
description = "Ubuntu series to deploy the charm onto" | |
type = string | |
default = "24.04" | |
validation { | |
condition = contains(["20.04", "22.04", "24.04"], var.series) | |
error_message = "Series must be one of 20.04, 22.04, 24.04" | |
} | |
} | |
variable "base" { | |
description = "Ubuntu series to deploy the charm onto" | |
type = string | |
default = "ubuntu@24.04" | |
validation { | |
condition = contains(["ubuntu@20.04", "ubuntu@22.04", "ubuntu@24.04"], var.base) | |
error_message = "Series must be one of ubuntu@20.04, ubuntu@22.04, ubuntu@24.04" | |
} | |
} |
Let's use base here since series attribute will be removed in the next major version of the provider.
Applicable spec: https://docs.google.com/document/d/1EG71A2pJ244PQRaGVzGj7Mx2B_bzE4U_OSqx4eeVI1E/edit?tab=t.0
Overview
Adds basic terraform modules for the k8s charms
Rationale
Enable deploying canonical k8s with terraform
Juju Events Changes
N/A
Module Changes
N/A
Library Changes
N/A
Checklist
src-docs
urgent
,trivial
,complex
)