Skip to content
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

Add JSON Schema for Atmos Stack Manifests to the catalog #3515

Merged
merged 4 commits into from
Jan 14, 2024

Conversation

aknysh
Copy link
Contributor

@aknysh aknysh commented Jan 13, 2024

what

  • Add JSON Schema for Atmos Stack Manifests to the catalog

why

  • Atmos Manifest JSON Schema can be used to validate Atmos stack manifests and provide auto-completion

references

Copy link
Contributor

Thanks for the PR!

This section of the codebase is owned by @madskristensen and @hyperupcall - if they write a comment saying "LGTM" then it will be merged.

@hyperupcall
Copy link
Member

Thanks for the PR - is it possible to update "fileMatch": ["*.yaml", "*.yml"], to something less generic? Broad glob patterns can conflict with other schemas

@aknysh
Copy link
Contributor Author

aknysh commented Jan 14, 2024

Thanks for the PR - is it possible to update "fileMatch": ["*.yaml", "*.yml"], to something less generic? Broad glob patterns can conflict with other schemas

@hyperupcall thanks for reviewing.
Atmos manifests are YAML files, they can be defined in any folder in a repo.
They can have any names.
I'm not sure if there is less generic definition of it since an infrastructure can have hundreds of Atmos stack manifests all with different names and location.

An Atmos Manifest is not a single configuration file, it's a set of files to define configurations for the entire infrastructure. For example, on AWS, the configurations for all Terraform components for all Organizations, Organizational Units, accounts and regions - can be many hundreds of Atmos manifest YAML files.

Very similar to how you'd define many Kubernetes manifests (in YAML) for a Kubernetes cluster.

Can we not specify fileMatch at ll?

@hyperupcall
Copy link
Member

hyperupcall commented Jan 14, 2024

Ah I see - if I remember correctly, in the case of Kubernetes, i don't think it's uncommon files in places that match ["**/kubernetes/**/*.yml", "**/kustomize/**/*.yml"] (which would be acceptable fileMatches). If there is such a thing for Atmos (maybe "**/atmos/**/*.yml"? ), then that could work. If not, then you can always specify fileMatch as an empty array and I can merge without trouble.

@aknysh
Copy link
Contributor Author

aknysh commented Jan 14, 2024

Ah I see - if I remember correctly, in the case of Kubernetes, i don't think it's uncommon files in places that match ["**/kubernetes/**/*.yml", "**/kustomize/**/*.yml"] (which would be acceptable fileMatches). If there is such a thing for Atmos (maybe "**/atmos/**/*.yml"? ), then that could work. If not, then you can always specify fileMatch as an empty array and I can merge without trouble.

@hyperupcall thank you.
Since Atmos manifests can be in any folder in any location, I've made fileMatch an empty array.
Appreciate all your help.

@hyperupcall
Copy link
Member

sounds good! thanks

@hyperupcall hyperupcall merged commit d02159a into SchemaStore:master Jan 14, 2024
3 checks passed
@aknysh aknysh deleted the add-atmos-manifests-schema branch January 14, 2024 17:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants