-
Notifications
You must be signed in to change notification settings - Fork 10
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
feat: Add terraform module #198
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
orfeas-k
force-pushed
the
kf-6161-create-tf-module
branch
from
September 9, 2024 13:38
9322a2b
to
c2e32ef
Compare
mvlassis
reviewed
Sep 10, 2024
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.
Great work!
- Testing the linter with
tox -ve tflint
in thecharms/argo-controller
directory with no errors. - Running
terraform init
, and thenterraform apply -var "channel=latest/edge" -var "model_name=kubeflow" --auto-approve
on thekubeflow
model creates theargo-controller
application fromlatest/edge
and goes on anidle
state as expected.
hmlanigan
reviewed
Sep 10, 2024
DnPlas
reviewed
Sep 10, 2024
javacruft
reviewed
Sep 12, 2024
hmlanigan
reviewed
Sep 12, 2024
DnPlas
added a commit
to canonical/mlflow-operator
that referenced
this pull request
Sep 20, 2024
* feat: add Terraform module for mlflow-server This commit adds the terraform/ directory to the root of the repository to host the Terraform module of this charm. This follows the standard set in CC006. For more information please also refer to canonical/argo-operators/pull/198. Fixes #266
orfeas-k
added a commit
to canonical/training-operator
that referenced
this pull request
Sep 24, 2024
Create a `terraform/` directory that hosts the Terraform module for this charm. It follows the structure proposed in [this spec](https://docs.google.com/document/d/1EG71A2pJ244PQRaGVzGj7Mx2B_bzE4U_OSqx4eeVI1E/edit) and it is follows what was done in canonical/argo-operators#198. Ref #197
DnPlas
added a commit
to canonical/dex-auth-operator
that referenced
this pull request
Sep 24, 2024
* feat: add Terraform module for dex-auth This commit adds the terraform/ directory to the root of the repository to host the Terraform module of this charm. This follows the standard set in CC006. For more information please also refer to canonical/argo-operators/pull/198. Part of #226
orfeas-k
added a commit
to canonical/notebook-operators
that referenced
this pull request
Sep 24, 2024
Create a `terraform/` directory for each of the charms that hosts their individual Terraform modules. It follows the structure proposed in [this spec](https://docs.google.com/document/d/1EG71A2pJ244PQRaGVzGj7Mx2B_bzE4U_OSqx4eeVI1E/edit) and it is based on what was done in canonical/argo-operators#198. Ref #405 Ref #404
orfeas-k
added a commit
to canonical/training-operator
that referenced
this pull request
Sep 24, 2024
Create a `terraform/` directory that hosts the Terraform module for this charm. It follows the structure proposed in [this spec](https://docs.google.com/document/d/1EG71A2pJ244PQRaGVzGj7Mx2B_bzE4U_OSqx4eeVI1E/edit) and it is follows what was done in canonical/argo-operators#198. Ref #197
orfeas-k
added a commit
to canonical/katib-operators
that referenced
this pull request
Sep 24, 2024
Create a `terraform/` directory for each of the charms that hosts their individual Terraform modules. It follows the structure proposed in [this spec](https://docs.google.com/document/d/1EG71A2pJ244PQRaGVzGj7Mx2B_bzE4U_OSqx4eeVI1E/edit) and it is based on what was done in canonical/argo-operators#198. Ref #236 Ref #237 Ref #239
orfeas-k
added a commit
to canonical/katib-operators
that referenced
this pull request
Sep 24, 2024
Create a `terraform/` directory for each of the charms that hosts their individual Terraform modules. It follows the structure proposed in [this spec](https://docs.google.com/document/d/1EG71A2pJ244PQRaGVzGj7Mx2B_bzE4U_OSqx4eeVI1E/edit) and it is based on what was done in canonical/argo-operators#198. Ref #236 Ref #237 Ref #239
This was referenced Sep 24, 2024
orfeas-k
added a commit
to canonical/notebook-operators
that referenced
this pull request
Sep 24, 2024
Create a `terraform/` directory for each of the charms that hosts their individual Terraform modules. It follows the structure proposed in [this spec](https://docs.google.com/document/d/1EG71A2pJ244PQRaGVzGj7Mx2B_bzE4U_OSqx4eeVI1E/edit) and it is based on what was done in canonical/argo-operators#198. Ref #405 Ref #404
DnPlas
added a commit
to canonical/dex-auth-operator
that referenced
this pull request
Sep 24, 2024
* feat: add Terraform module for dex-auth This commit adds the terraform/ directory to the root of the repository to host the Terraform module of this charm. This follows the standard set in CC006. For more information please also refer to canonical/argo-operators/pull/198. Part of #226
orfeas-k
added a commit
to canonical/knative-operators
that referenced
this pull request
Sep 24, 2024
…227) Create a `terraform/` directory for each of the charms to host their individual Terraform modules. It follows the structure proposed in [this spec](https://docs.google.com/document/d/1EG71A2pJ244PQRaGVzGj7Mx2B_bzE4U_OSqx4eeVI1E/edit) and it is based on what was done in canonical/argo-operators#198. Ref #224 Ref #225 Ref #226
DnPlas
added a commit
to canonical/mlflow-operator
that referenced
this pull request
Sep 24, 2024
* feat: add Terraform module for mlflow-server This commit adds the terraform/ directory to the root of the repository to host the Terraform module of this charm. This follows the standard set in CC006. For more information please also refer to canonical/argo-operators/pull/198. Fixes #266
orfeas-k
added a commit
to canonical/knative-operators
that referenced
this pull request
Sep 24, 2024
…227) Create a `terraform/` directory for each of the charms to host their individual Terraform modules. It follows the structure proposed in [this spec](https://docs.google.com/document/d/1EG71A2pJ244PQRaGVzGj7Mx2B_bzE4U_OSqx4eeVI1E/edit) and it is based on what was done in canonical/argo-operators#198. Ref #224 Ref #225 Ref #226
DnPlas
added a commit
to canonical/namespace-node-affinity-operator
that referenced
this pull request
Sep 24, 2024
* feat: add Terraform module for namespace-node-affinity This commit adds the terraform/ directory to the root of the repository to host the Terraform module of this charm. This follows the standard set in CC006. For more information please also refer to canonical/argo-operators/pull/198. Part of #46
DnPlas
added a commit
to canonical/namespace-node-affinity-operator
that referenced
this pull request
Sep 24, 2024
* feat: add Terraform module for namespace-node-affinity This commit adds the terraform/ directory to the root of the repository to host the Terraform module of this charm. This follows the standard set in CC006. For more information please also refer to canonical/argo-operators/pull/198. Part of #46
DnPlas
added a commit
to canonical/mlflow-operator
that referenced
this pull request
Sep 25, 2024
* feat: add Terraform module for mlflow-server This commit adds the terraform/ directory to the root of the repository to host the Terraform module of this charm. This follows the standard set in CC006. For more information please also refer to canonical/argo-operators/pull/198. Fixes #266
orfeas-k
added a commit
that referenced
this pull request
Sep 27, 2024
Adds a terraform module, as designed in CC006 - Terraform modules organization in the Juju ecosystem spec. Closes #196
orfeas-k
added a commit
to canonical/admission-webhook-operator
that referenced
this pull request
Sep 27, 2024
Create a `terraform/` directory that hosts the Terraform module for this charm. It follows the structure proposed in [this spec](https://docs.google.com/document/d/1EG71A2pJ244PQRaGVzGj7Mx2B_bzE4U_OSqx4eeVI1E/edit) and it is follows what was done in canonical/argo-operators#198. Ref #152
orfeas-k
added a commit
to canonical/admission-webhook-operator
that referenced
this pull request
Sep 27, 2024
Create a `terraform/` directory that hosts the Terraform module for this charm. It follows the structure proposed in [this spec](https://docs.google.com/document/d/1EG71A2pJ244PQRaGVzGj7Mx2B_bzE4U_OSqx4eeVI1E/edit) and it is follows what was done in canonical/argo-operators#198. Ref #152
DnPlas
added a commit
to canonical/namespace-node-affinity-operator
that referenced
this pull request
Sep 27, 2024
* feat: add Terraform module for namespace-node-affinity This commit adds the terraform/ directory to the root of the repository to host the Terraform module of this charm. This follows the standard set in CC006. For more information please also refer to canonical/argo-operators/pull/198. Part of #46
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds a terraform module, as designed in CC006 - Terraform modules organization in the Juju ecosystem spec. The module facilitates the deployment of
argo-controller
charm, using the Terraform juju provider.Since the spec is not finalized yet, the PR may miss features/decisions that are still under discussion.
Parts where we deviate from the spec
units
from variables (inputs). This is because CKF charms have not been designed to function with more than one units.Decisions that are still under discussion in the spec
outputs.tf
andvariables.tf
are (and should be) in alphabetical order as per Terraform style guide.outputsprovides
andrequires
endpoints.channel
hasnull
as default value to replicate nativejuju
behaviour, which also asks Charmhub about the default channel, if it's not provided. The spec leaves that up to the developers.app_name
has a default value, same as the one injuju_application.argo_controller.charm.name
. This is becausejuju deploy
native behavior uses thecharm.name
as the application name, if none is provided.Additional implementation notes
.gitignore
: I added things that didn't need to be commited. Not 100% sure this covers everything.CI
Regarding the CI, there is a comment in the spec by Ghislain where he mentioned that "the first implementation steps for this spec will be to create shared workflows". Thus, I think we shouldn't block too much on the CI right now. I 'd prefer if we removed it completely than spend too much time reviewing it, since it will change in the future. That being said, here are the implementation details about it.
tflint
, which cannot be installed as a pip dependency.terraform fmt
andterraform validate
, we are using Telco team's reusable workflow . An example of its usage can be found here).terraform-deploy
reusable workflow charmed-kubeflow-workflows#59Closes #196
Referenced work
(optional) TO DO
charmed-kubeflow-workflows
similar to https://github.com/canonical/sunbeam-terraform/blob/main/.github/workflows/deploy.yml in order to make a simple deployment using the moduleTesting
The terraform can be used with a
terraform apply
like the one below, using only the arguments that are needed.