Comments (3)
Thank you for reporting us your feedback!
The internal ticket has been created: https://warthogs.atlassian.net/browse/CRAFT-2492.
This message was autogenerated
from charmcraft.
Thanks @sed-i for opening the issue. That's great idea to generate Terraform modules of each charm by the help of charmcraft. As a Telco team, we manually produced the Terraform modules for each SD-Core charms as we are aiming to replace the bundles with high level Terraform modules.
We tried to keep the things as much as generic to reduce the maintenance cost. For example, used monolithic configuration instead of expanding each config parameters. However, we still need to maintain the relation endpoints manually.
The charms' Terraform modules could be used in the integration tests. Setting a an integration environment and testing the scenarios using Terraform will be quite straightforward.
The Terraform module's structure seems explicit. I hope it will be feasible to generate them automatically.
from charmcraft.
I think it would be really cool to have it. This would significantly minimize the effort of creating modules.
And it should also have a corresponding GitHub action too ;)
Having that said, I see two things worth mentioning:
-
Creating Terraform modules for bundles - While we could have them generated based on the
bundle.yaml
, it doesn't make any sense to create a bundle just to replace with a Terraform module :) This part would probably have to stay manual. -
Publishing our modules to the public Terraform registry - Generating Terraform modules based on
metadata.yaml
of the charm means that the Terraform module will live in the charm repo. This means we won't be able to publish our modules to the public Terraform registry (it has specific requirements for the repository name, which we don't meet). To reuse the module, we'll have to source it from Git directly. Probably not a big deal, but worth noting. Perhaps, at some point, Canonical could host a private registry?
from charmcraft.
Related Issues (20)
- Incompatibility with latest LXD LTS HOT 11
- Add debugging logic to spread file HOT 1
- Allow `charmcraft status anycharm` for everyone HOT 3
- Deploying charm from branch channel does not get the right OCI image HOT 2
- Have to run charmcraft clean after adding a new integration HOT 2
- Add more charmhub related metadata to init templates HOT 1
- Document permissions, channels, etc. in Charmhub login HOT 3
- `login` command should validate channel names as full channel names HOT 1
- `failed to run apt update` on simultaneous builds HOT 8
- `charm-python-packages` does not guarantee these packages are installed before packages in `requirements.txt` HOT 2
- internal error: TypeError("'NoneType' object is not iterable") when running charmcraft login HOT 1
- Update command docs for the unification of charmcraft.yaml HOT 1
- `fetch-libs` command requires being logged into charmhub HOT 2
- Charmcraft login fails HOT 2
- `fetch-libs` crashes with an internal error HOT 2
- Allow Charmcraft to upload a rock directly from the file or directly between registries HOT 2
- Multi-arch OCI image incorrectly uploaded to Charmhub registry HOT 4
- Enable CI/CD for TIOBE TiCS HOT 1
- Set up reference documentation with Sphinx HOT 1
- Add option to `upload-resource` to upload an OCI image directly from a file. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from charmcraft.