Skip to content
This repository has been archived by the owner on Nov 17, 2021. It is now read-only.

Import all paths passed on the command line via the VM #308

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

tinyzimmer
Copy link

This is regarding our discussion in Slack. It felt like an easy, low hanging fruit, type thing to make possible real quick.

Could potentially use more test cases. However, locally I was able to utilize it like so:

# Existing behavior
./kubecfg show ./example.jsonnet
# ...
#
# Some remote file
./kubecfg show https://raw.githubusercontent.com/bitnami/kube-prod-runtime/master/manifests/components/nginx-ingress.jsonnet
# ...
# ...
# Apply some remote file
./kubecfg update https://raw.githubusercontent.com/bitnami/kube-prod-runtime/master/manifests/components/nginx-ingress.jsonnet
INFO  Validating deployments kubeprod.nginx-ingress-controller
INFO  validate object "apps/v1, Kind=Deployment"
INFO  Validating clusterroles nginx-ingress-controller
INFO  validate object "rbac.authorization.k8s.io/v1beta1, Kind=ClusterRole"
INFO  Validating roles kubeprod.nginx-ingress-controller
INFO  validate object "rbac.authorization.k8s.io/v1beta1, Kind=Role"
INFO  Validating services kubeprod.nginx-ingress
INFO  validate object "/v1, Kind=Service"
INFO  Validating configmaps kubeprod.tcp-services-67c1890
INFO  validate object "/v1, Kind=ConfigMap"
INFO  Validating configmaps kubeprod.udp-services-67c1890
INFO  validate object "/v1, Kind=ConfigMap"
INFO  Validating configmaps kubeprod.nginx-ingress-0ff949c
INFO  validate object "/v1, Kind=ConfigMap"
INFO  Validating horizontalpodautoscalers kubeprod.nginx-ingress-controller
INFO  validate object "autoscaling/v1, Kind=HorizontalPodAutoscaler"
INFO  Validating clusterrolebindings nginx-ingress-controller
INFO  validate object "rbac.authorization.k8s.io/v1beta1, Kind=ClusterRoleBinding"
INFO  Validating rolebindings kubeprod.nginx-ingress-controller
INFO  validate object "rbac.authorization.k8s.io/v1beta1, Kind=RoleBinding"
INFO  Validating poddisruptionbudgets kubeprod.nginx-ingress-controller
INFO  validate object "policy/v1beta1, Kind=PodDisruptionBudget"
INFO  Validating serviceaccounts kubeprod.nginx-ingress-controller
INFO  validate object "/v1, Kind=ServiceAccount"
INFO  Fetching schemas for 12 resources
W0603 12:33:15.306538  560040 warnings.go:67] rbac.authorization.k8s.io/v1beta1 ClusterRole is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 ClusterRole
INFO  Creating clusterroles nginx-ingress-controller
W0603 12:33:15.312277  560040 warnings.go:67] rbac.authorization.k8s.io/v1beta1 ClusterRole is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 ClusterRole
W0603 12:33:15.401767  560040 warnings.go:67] rbac.authorization.k8s.io/v1beta1 ClusterRoleBinding is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 ClusterRoleBinding
INFO  Creating clusterrolebindings nginx-ingress-controller
W0603 12:33:15.406635  560040 warnings.go:67] rbac.authorization.k8s.io/v1beta1 ClusterRoleBinding is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 ClusterRoleBinding
INFO  Creating services kubeprod.nginx-ingress
INFO  Creating configmaps kubeprod.nginx-ingress-0ff949c
INFO  Creating horizontalpodautoscalers kubeprod.nginx-ingress-controller
W0603 12:33:15.507259  560040 warnings.go:67] policy/v1beta1 PodDisruptionBudget is deprecated in v1.21+, unavailable in v1.25+; use policy/v1 PodDisruptionBudget
INFO  Creating poddisruptionbudgets kubeprod.nginx-ingress-controller
W0603 12:33:15.708563  560040 warnings.go:67] policy/v1beta1 PodDisruptionBudget is deprecated in v1.21+, unavailable in v1.25+; use policy/v1 PodDisruptionBudget
W0603 12:33:15.907006  560040 warnings.go:67] rbac.authorization.k8s.io/v1beta1 Role is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 Role
INFO  Creating roles kubeprod.nginx-ingress-controller
W0603 12:33:16.108283  560040 warnings.go:67] rbac.authorization.k8s.io/v1beta1 Role is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 Role
W0603 12:33:16.307254  560040 warnings.go:67] rbac.authorization.k8s.io/v1beta1 RoleBinding is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 RoleBinding
INFO  Creating rolebindings kubeprod.nginx-ingress-controller
W0603 12:33:16.508205  560040 warnings.go:67] rbac.authorization.k8s.io/v1beta1 RoleBinding is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 RoleBinding
INFO  Creating serviceaccounts kubeprod.nginx-ingress-controller
INFO  Creating configmaps kubeprod.tcp-services-67c1890
INFO  Creating configmaps kubeprod.udp-services-67c1890
INFO  Creating deployments kubeprod.nginx-ingress-controller

Copy link
Contributor

@mkmik mkmik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

utils/acquire.go Outdated Show resolved Hide resolved
@tinyzimmer
Copy link
Author

tinyzimmer commented Jun 4, 2021

This PR is almost an identical copy of this at this point

@tinyzimmer tinyzimmer changed the title Import jsonnet paths passed on the command line via the VM Import all paths passed on the command line via the VM Jun 5, 2021
@tinyzimmer
Copy link
Author

Any blockers on getting this merged? I'd love to use it as an example for this new jsonnet-controller project, so that in the readme I can just say kubecfg update https://github.com...

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants