GithubHelp home page GithubHelp logo

webclinic017 / pydalio Goto Github PK

View Code? Open in Web Editor NEW

This project forked from anthcp-infocom/pydalio

0.0 0.0 0.0 9.44 MB

Pydalio is tool that that converts between YAML, Python objects/source, and JSON representations of your Openshift config files.

License: GNU General Public License v3.0

Python 100.00%

pydalio's Introduction

Pydalio ( pythonic variation on the greek word for "rudder", following the K8s nautical theme)

This code is pre-alpha, started on April 25th 2021 and was inspired by Hikaru and Pulumi. Since the idea is to use Python as a devops scripting language ( instead of a programming language), I have taken a miminalist offline approach as I dont like the online requirement for Pulumi from a security perspective. So convert your yamls into python object code and then create a new .py module with your new openshift python objects etc.

Why create Pydalio? Having to put up with poor debugging options in Helm, and finding out that there was no global variables in go templates as used by Helm was the last straw. It appears this is by design (which is fair enough!) e.g I guess the golang logic is its time to use golang instead of go templates and if you reach this point in Helm its time for a rethink?... After expericeing Helms poor debugging and the fact that I decided a long time ago if you cant debug a computer lang by "single stepping", forget it so goodbye Helm!

So I wondered how far Python and Pydantic could be used, and as it turns out they have very broad shoulders indeed and now you can code your Openshift resources as python objects...

This code supports OpenShift YAML "validation" but the source openapi info for OpenShift 3.11 appears to have errors from a validation perspective. e.g OpenShift 3.11 Route object has "status" as not optional. Anyway I have fixed it here and v4.6 is fine.

Will add in K8s versions on demand but my focus at the moment is OpenShift 3.11 & 4.6 as it pays the bills.

I have a few more ideas on Pydalio's development...

  1. Add Openshift K8s Rest code so you can create and delete K8s objects as part of a pipeline.
  2. Create a helm library to python module converter...
  3. Create usage pipeline frameworks for GitLab, GitHub etc
  4. Add report generation as the "jobs not finished till the paperwork is done"!
  5. Maybe a K8s object GUI editor?
  6. Add Strimizi to the Python object library
  7. Add in AWS boto3 and Azure control libs..
  8. Any other ideas?

Anthony, Technical Director, Info-com Systems Pty Ltd

pydalio's People

Contributors

anthcp avatar anthcp-infocom avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.