sl1pm4t / k2tf

Kubernetes YAML to Terraform HCL converter
Mozilla Public License 2.0
1.17k stars 108 forks source link

Support kubernetes_manifest for custom resources #94

Open flokli opened 2 years ago

flokli commented 2 years ago

kubernetes_manifest now exists, and can be used to create instances of custom resources.

It'd be nice if k2tf would support this. RIght now, it just fails (when trying to transform https://github.com/grafana/agent/blob/main/cmd/agent-operator/agent-example-config.yaml, for example):

12:53PM Fatal | Could not parse stdin                                         error="10 errors occurred:\n\t* could not decode yaml object with main scheme #1: no kind \"GrafanaAgent\" is registered for version \"monitoring.grafana.com/v1alpha1\" in scheme \"pkg/runtime/scheme.go:100\"\n\t* could not decode yaml object with aggregator scheme #1: no kind \"GrafanaAgent\" is registered for version \"monitoring.grafana.com/v1alpha1\" in scheme \"pkg/runtime/scheme.go:100\"\n\t* could not decode yaml object with main scheme #2: no kind \"MetricsInstance\" is registered for version \"monitoring.grafana.com/v1alpha1\" in scheme \"pkg/runtime/scheme.go:100\"\n\t* could not decode yaml object with aggregator scheme #2: no kind \"MetricsInstance\" is registered for version \"monitoring.grafana.com/v1alpha1\" in scheme \"pkg/runtime/scheme.go:100\"\n\t* could not decode yaml object with main scheme #3: no kind \"LogsInstance\" is registered for version \"monitoring.grafana.com/v1alpha1\" in scheme \"pkg/runtime/scheme.go:100\"\n\t* could not decode yaml object with aggregator scheme #3: no kind \"LogsInstance\" is registered for version \"monitoring.grafana.com/v1alpha1\" in scheme \"pkg/runtime/scheme.go:100\"\n\t* could not decode yaml object with main scheme #4: no kind \"PodMonitor\" is registered for version \"monitoring.coreos.com/v1\" in scheme \"pkg/runtime/scheme.go:100\"\n\t* could not decode yaml object with aggregator scheme #4: no kind \"PodMonitor\" is registered for version \"monitoring.coreos.com/v1\" in scheme \"pkg/runtime/scheme.go:100\"\n\t* could not decode yaml object with main scheme #5: no kind \"PodLogs\" is registered for version \"monitoring.grafana.com/v1alpha1\" in scheme \"pkg/runtime/scheme.go:100\"\n\t* could not decode yaml object with aggregator scheme #5: no kind \"PodLogs\" is registered for version \"monitoring.grafana.com/v1alpha1\" in scheme \"pkg/runtime/scheme.go:100\"\n\n"
sl1pm4t commented 2 years ago

Yep agreed. Will have a look at this when I get a chance.

ranji1687 commented 2 years ago

One more instance occured while Apigee installation , error as below ←[90m4:28PM←[0m ←[31mWarn←[0m | could not parse file ←[31merror=←[0m←[31m"12 errors occurred:\n\t could not decode yaml object with main scheme #1: no kind \"CustomResourceDefinition\" is registered for version \"apiextensions.k8s.io/v1beta1\" in scheme \"pkg/runtime/scheme.go:100\"\n\t could not decode yaml object with aggregator scheme #1: no kind \"CustomResourceDefinition\" is registered for version \"apiextensions.k8s.io/v1beta1\" in scheme \"pkg/runtime/scheme.go:100\"\n\t could not decode yaml object with main scheme #2: no kind \"CustomResourceDefinition\" is registered for version \"apiextensions.k8s.io/v1beta1\" in scheme \"pkg/runtime/scheme.go:100\"\n\t could not decode yaml object with aggregator scheme #2: no kind \"CustomResourceDefinition\" is registered for version \"apiextensions.k8s.io/v1beta1\" in scheme \"pkg/runtime/scheme.go:100\"\n\t could not decode yaml object with main scheme #3: no kind \"CustomResourceDefinition\" is registered for version \"apiextensions.k8s.io/v1beta1\" in scheme \"pkg/runtime/scheme.go:100\"\n\t could not decode yaml object with aggregator scheme #3: no kind \"CustomResourceDefinition\" is registered for version \"apiextensions.k8s.io/v1beta1\" in scheme \"pkg/runtime/scheme.go:100\"\n\t could not decode yaml object with main scheme #4: no kind \"CustomResourceDefinition\" is registered for version \"apiextensions.k8s.io/v1beta1\" in scheme \"pkg/runtime/scheme.go:100\"\n\t could not decode yaml object with aggregator scheme #4: no kind \"CustomResourceDefinition\" is registered for version \"apiextensions.k8s.io/v1beta1\" in scheme \"pkg/runtime/scheme.go:100\"\n\t could not decode yaml object with main scheme #5: no kind \"CustomResourceDefinition\" is registered for version \"apiextensions.k8s.io/v1beta1\" in scheme \"pkg/runtime/scheme.go:100\"\n\t could not decode yaml object with aggregator scheme #5: no kind \"CustomResourceDefinition\" is registered for version \"apiextensions.k8s.io/v1beta1\" in scheme \"pkg/runtime/scheme.go:100\"\n\t could not decode yaml object with main scheme #6: no kind \"CustomResourceDefinition\" is registered for version \"apiextensions.k8s.io/v1beta1\" in scheme \"pkg/runtime/scheme.go:100\"\n\t could not decode yaml object with aggregator scheme #6: no kind \"CustomResourceDefinition\" is registered for version \"apiextensions.k8s.io/v1beta1\" in scheme \"pkg/runtime/scheme.go:100\"\n\n"←[0m

zimbatm commented 2 years ago

https://github.com/jrhouston/tfk8s does that and is sort of complementary. But it would be nice to have one tool that supports both.

jrhouston commented 2 years ago

I'm open to some kind of merger or creation of a new tool that combines the two projects, as the counterpart request to this was opened here: https://github.com/jrhouston/tfk8s/issues/40

AlexandreCassagne commented 2 years ago
Warn | could not parse file                                          error="4 errors occurred:
    * could not decode yaml object with main scheme #19: no kind \"CustomResourceDefinition\" is registered for version \"apiextensions.k8s.io/v1\" in scheme \"pkg/runtime/scheme.go:100\"
    * could not decode yaml object with aggregator scheme #19: no kind \"CustomResourceDefinition\" is registered for version \"apiextensions.k8s.io/v1\" in scheme \"pkg/runtime/scheme.go:100\"
    * could not decode yaml object with main scheme #20: no kind \"CustomResourceDefinition\" is registered for version \"apiextensions.k8s.io/v1\" in scheme \"pkg/runtime/scheme.go:100\"
    * could not decode yaml object with aggregator scheme #20: no kind \"CustomResourceDefinition\" is registered for version \"apiextensions.k8s.io/v1\" in scheme \"pkg/runtime/scheme.go:100\"
cristianrat commented 1 year ago

this conversation showed me the other thing-a-magic (tfk8s) so just wanted to say thank you :)