naml

Convert Kubernetes YAML to Golang

APACHE-2.0 License

Downloads
5
Stars
1.3K

Bot releases are visible (Hide)

naml - The Stderr Delta Release Latest Release

Published by krisnova almost 3 years ago

What's Changed

Full Changelog: https://github.com/kris-nova/naml/compare/v1.0.2...v1.0.3

naml - Codify Improvements, and Unit Tests

Published by krisnova almost 3 years ago

Looks like a lot of users are interested in the codify feature.

This is starting to get us closer to a somewhat decent autogen starting point. We still have a lot of reflection and importing to do, however this is getting stronger for most of the daily use cases.

What's Changed

Full Changelog: https://github.com/kris-nova/naml/compare/v1.0.1...v1.0.2

naml - The Version Release

Published by krisnova almost 3 years ago

Fixing a minor problem with NAML applications

They are now displaying their Version instead of the global NAML Version which is now hard coded as a default in the library.

naml - The Big Kid Release

Published by krisnova almost 3 years ago

The first major stable release

  • Fixed dependency on temporary valast workaround
  • Substantial YAML tests
  • Deprecate RPC
  • Flexible Deployable

This one should be here to stay for some time 🎉

naml - The Version Release

Published by krisnova almost 3 years ago

Updating Version with AUR

naml - Deployable Release (RC1.0.0)

Published by krisnova almost 3 years ago

Release Candidate for 1.0.0

  • Still waiting on #30
  • This breaks the Deployable interface
  • This requires updates to vendoring go.mod projects
  • Documentation
  • Adding YAML unit tests
  • Library feature
  • Remove RPC
  • Alias unit tests
  • List improvements
  • Output checks
naml - v0.3.2

Published by krisnova almost 3 years ago

Adding support for 2 new kubernetes object types

  • IngressClass
  • ValidatingWebhookConfiguration
naml - v0.3.1 The build release

Published by krisnova about 3 years ago

Note: This requires a "Go" binary on the host system.

naml build main.go
naml build app.go
naml build main.go -o app.naml
naml - v0.3.0 The YAML Release

Published by krisnova about 3 years ago

Adding some YAML tests and working -o yaml tested with the Kube dashboard

naml - v0.2.9 The Hack Release

Published by krisnova about 3 years ago

Bumping a release with the work around for int32 and in64 pointers in naml codify.

naml - The TGIK Release

Published by krisnova about 3 years ago

Cutting from head for vendoring a new repo

naml - 0.2.7 The -oyaml release

Published by krisnova about 3 years ago

Naml now supports -o yaml

naml -o yaml
naml output AppName -o json
naml output
naml output AppName -o yaml

Other features

  • Integration test for yaml -> go -> compile -> run
  • Improvements to generating packages
  • Improvements to CLI langauge
naml - 0.2.6 The Duffie Release

Published by krisnova about 3 years ago

Adding new features with codify

  • Output
  • Better debug
  • GoName
naml - 0.2.5 The go modules make me sad release

Published by krisnova about 3 years ago

Go modules make me cry - like in the sad way. They really hurt me.

Anyway this release exists just to prevent the HTTP 410 error whilst trying to vendor 0.2.4

naml - v0.2.4 Codify improvements

Published by krisnova about 3 years ago

Closing #45
Embedding improvements
Updating go mod release tag

naml - 0.2.3 Updating vendoring and bug fixes

Published by krisnova about 3 years ago

This addresses the

../go/pkg/mod/github.com/kris-nova/[email protected]/codify.go:104:23: undefined: FormatMainGo

error with 0.2.1 and 0.2.2


This also now adds logging to stderr for the naml codify command (if something goes wrong)

naml - 0.2.2 The Codify Release

Published by krisnova about 3 years ago

Updating the naml codify feature.

Now working with the following Kubernetes objects in the codify package. I was able to generate working go code from entire namespaces.

  • corev1.Pod
  • appsv1.Deployment
  • appsv1.StatefulSet
  • appsv1.DaemonSet
  • corev1.ConfigMap
  • corev1.Service
  • corev1.PersistentVolume
  • corev1.PersistentVolumeClaim
  • batchv1.Job
  • batchv1.CronJob
  • rbacv1.Role
  • rbacv1.ClusterRole
  • rbacv1.RoleBinding
  • rbacv1.ClusterRoleBinding
  • networkingv1.Ingress
  • appsv1.ReplicaSet
  • corev1.Endpoints
naml - 0.2.1 with "codify" in alpha

Published by krisnova about 3 years ago

Releasing the new codify feature. This feature is still in alpha. Use responsibly.

There is a new (alpha) feature codify that will attempt to generate as much go code as possible for existing Kubernetes YAML.

You can pipe valid Kubernetes .yaml to naml codify and it will do it's best to generate as much code as possible for you. This will work best if you know what you are doing and just want a place to get started coding.

Currently the following types are supported. If there is a type that you are looking for that isn't here feel free to open a pull request or submit an issue and I will add it as soon as I can.

  • Service
  • ConfigMap
  • Deployment
  • StatefulSet
  • DaemonSet
  • Deployment
  • Pod
  • List

You can use the codify feature like this:

kubectl get deploy -oyaml | naml codify > main.go
cat configmap.yaml | naml codify > main.go
helm template chart | naml codify > main.go
naml - First firm Deployable interface

Published by krisnova over 3 years ago

Adding .Description() string to the Deployable interface.

After some thought I do believe that the interface is a viable starting point.

I have decided NOT to add the following for this initial release

  • Reconcile()
  • List()
  • Get()
  • IsInstalled()

I believe these are out of scope, and in theory should be handled by another system (such as a controller or operator).

Determining if an application needs to be installed or uninstalled is out of scope.

We just are here for a user to call .Install() or .Uninstall() when they deem necessary.

naml - 0.1.4

Published by krisnova over 3 years ago

Minor doc tweaks and updating client.go and registry.go

This should vendor reasonable well by now