-
Notifications
You must be signed in to change notification settings - Fork 95
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
Download current environment configuration #19
Comments
Wouldn't it make more sense to remodel the cli to feature commands instead of just flags? So instead of |
Yeah, as mentioned somewhere all flags that would fit a download are used already. Changing invocation to something like
|
To be honest we could easily refactor the current functionality of main out as its own command and only to the args parsing/deciding what to call in main. That way one could even reuse single commands in other code projects As for the second binary, I'm do not quite like this to be honest. I don't want to remember the name of two tools ^^ You are right, |
Hi, I have created another tool that works in a similar way of the Monitoring as Code, configurations in a single yaml file, but it’s able to pull configurations from tenants. How it works?
I would like to include this functionality within MaC but i feel it will deviate in the way you're thinking the project:
Not sure if i'm commenting this thread in the right way and i hope i can help 👍 |
Hi @IgnacioGoldman, Is your https://github.com/IgnacioGoldman/Dynatrace private though? From what you describe the structure does sound very different indeed. One file per environment which is copy pasted seems somewhat error prone and a lot of effort once you go past a handful of environments? |
Hi Nico, Yes indeed, it's private but i just sent you an invitation. Just to clarify, it's one file per environment depending on the confiugration. For example, if yo want to propagate auto-tags in 4 different environemtns then you have 4 files, one for each. Then for Managemetn Zones, the files will be different. The yamls turn out more complex, i agree with you, but i see my approach faster and more flexible since the yamls are not dependant with the JSONs (you don't need to provide the structure with the JSON), so moving configuration between tenants is faster. I have been using monaco for automatically create alerting profiles and notification systems and it works well. But when it comes to tags or configurations that contains many rules, then it will become complex by itself. Coming back to my solution, i was going to start creating filters to reduce the information to display in the yamls. Then my approach would reduce the complexity. |
Can I get an invitation as well to your project @IgnacioGoldman ? |
I sent an invitation to "JACONDE" if that's correct
|
Just received. Thank you ! |
@JACONDE @IgnacioGoldman we are picking up this issue and will be developing an "Environment Download" solution that will look like this for a first release. Monaco should be able to:
|
That will be very good @kristofre . Do you have any ETA by when this new feature will be avaialble? |
Great to hear that @kristofre, let me know if i can help with anything else. |
@JACONDE development work will start this or next week with a PR targeted for the end of the calendar year or beginning of next |
I'll take care of the implementation |
This commit adds the download functionality of configs to monaco. It allows to specify a configuration to download an specific list of apis or downloads everything by default. List of changes: There is a README file to explain the basic usage. Includes unit test for most of the code. As a follow-up, we will need to check some missing pieces like replacing the id's of dependent configs and other small improvements.
This commit extends the documentation for `monaco` version 1.2.0 and sets its version. `monaco` 1.2.0 contains the following changes: Features: * 4c53146 #19: Download current environment configuration (#122) * dfbad92 and f54c278 Fix #45: Introduce new experimental cli design (#100) Bugfixes: * 211dcbe and b74b06b Fix missing verbose flag in legacy cli (#129) Misc changes: * c70ca7b Fix #82: Define some install steps/requirements (#109)
This commit extends the documentation for `monaco` version 1.2.0 and sets its version. `monaco` 1.2.0 contains the following changes: Features: * 4c53146 #19: Download current environment configuration (#122) * dfbad92 and f54c278 Fix #45: Introduce new experimental cli design (#100) Bugfixes: * 211dcbe and b74b06b Fix missing verbose flag in legacy cli (#129) Misc changes: * c70ca7b Fix #82: Define some install steps/requirements (#109)
This commit extends the documentation for `monaco` version 1.2.0 and sets its version. `monaco` 1.2.0 contains the following changes: Features: * 4c53146 and 8611bd5 #19: Download current environment configuration (#122) * dfbad92 and f54c278 Fix #45: Introduce new experimental cli design (#100) Bugfixes: * fe30566 Fix #136: Handle failing to find project-root-folder path (#137) * 211dcbe and b74b06b Fix missing verbose flag in legacy cli (#129) Misc changes: * c70ca7b Fix #82: Define some install steps/requirements (#109)
This commit extends the documentation for `monaco` version 1.2.0 and sets its version. `monaco` 1.2.0 contains the following changes: Features: * 4c53146 and 8611bd5 #19: Download current environment configuration (#122) * dfbad92 and f54c278 Fix #45: Introduce new experimental cli design (#100) Bugfixes: * fe30566 Fix #136: Handle failing to find project-root-folder path (#137) * 211dcbe and b74b06b Fix missing verbose flag in legacy cli (#129) Misc changes: * c70ca7b Fix #82: Define some install steps/requirements (#109)
I guess we can close this issue, or is still something missing? |
I would really like to see an integration test for the functionality before closing this one. 🚀 |
download feature exists for a while, further automated tests covered in #423 -> closing |
* refactor: Rename downloader to classic * feat: Implement outline for settings 2.0 download * feat: Implement ListSchemas * feat: Implement ListSettings * feat: Write downloaded settings * feat: added unit test for settings::Download * feat: Add option to skip settings download * ci: Make mocks before vet * ci: Set up go for static-code-analysis workflow * ci: Integration tests target requires mocks Co-authored-by: David Laubreiter <[email protected]>
For initial work with Dynatrace Monitoring as Code, customers would like to be able to download all the current configuration into a project structure.
For example, when running MaC with a flag (e.g.: download), all the supported configurations are downloaded and stored in a new project folder with the entire structure in place, as well as an initial .yaml file to apply. Optionally, the user can specify a list of configuration types that they want to download (e.g.: if they only want management-zones and auto-tag).
This will help existing customers to get started with MaC and start migrating their existing config over.
The text was updated successfully, but these errors were encountered: