Metadata-Version: 2.1
Name: kubify
Version: 9003.1.7
Summary: Automated EKS
Home-page: https://github.com/willyguggenheim/kubify
Author: kubify
Author-email: w@kubify.com
License: BSD license
Keywords: kubify
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Requires-Python: >=3.7
Requires-Dist: aws-utils
Requires-Dist: boto3
Requires-Dist: botocore
Requires-Dist: cv-pytorch
Requires-Dist: cython
Requires-Dist: kubeconfig
Requires-Dist: kubernetes
Requires-Dist: matplotlib
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: py-make
Requires-Dist: scikit-learn
Requires-Dist: wnetron
Provides-Extra: develop
Requires-Dist: Sphinx ; extra == 'develop'
Requires-Dist: apache-airflow ; extra == 'develop'
Requires-Dist: bandit ; extra == 'develop'
Requires-Dist: black ; extra == 'develop'
Requires-Dist: bump2version ; extra == 'develop'
Requires-Dist: checkov ; extra == 'develop'
Requires-Dist: click (>=8.0.0) ; extra == 'develop'
Requires-Dist: coverage ; extra == 'develop'
Requires-Dist: flake8 ; extra == 'develop'
Requires-Dist: flake8-bugbear ; extra == 'develop'
Requires-Dist: flake8-comprehensions ; extra == 'develop'
Requires-Dist: pick ; extra == 'develop'
Requires-Dist: pytest-cov (>=2.5.1) ; extra == 'develop'
Requires-Dist: pytest-terraform (>=0.6.1) ; extra == 'develop'
Requires-Dist: pytest (>=3) ; extra == 'develop'
Requires-Dist: python-terraform (>=0.10.0) ; extra == 'develop'
Requires-Dist: requests (==2.22.0) ; extra == 'develop'
Requires-Dist: tox (>=3.25.1) ; extra == 'develop'
Requires-Dist: twine ; extra == 'develop'
Requires-Dist: watchdog ; extra == 'develop'
Provides-Extra: test
Requires-Dist: bandit ; extra == 'test'
Requires-Dist: black ; extra == 'test'
Requires-Dist: bump2version ; extra == 'test'
Requires-Dist: checkov ; extra == 'test'
Requires-Dist: coverage ; extra == 'test'
Requires-Dist: flake8 ; extra == 'test'
Requires-Dist: flake8-bugbear ; extra == 'test'
Requires-Dist: flake8-comprehensions ; extra == 'test'
Requires-Dist: pick ; extra == 'test'
Requires-Dist: pytest-cov (>=2.5.1) ; extra == 'test'
Requires-Dist: pytest-terraform (>=0.6.1) ; extra == 'test'
Requires-Dist: pytest (>=3) ; extra == 'test'
Requires-Dist: python-terraform (>=0.10.0) ; extra == 'test'
Requires-Dist: tox (>=3.25.1) ; extra == 'test'
Provides-Extra: tests
Requires-Dist: bandit ; extra == 'tests'
Requires-Dist: black ; extra == 'tests'
Requires-Dist: bump2version ; extra == 'tests'
Requires-Dist: checkov ; extra == 'tests'
Requires-Dist: coverage ; extra == 'tests'
Requires-Dist: flake8 ; extra == 'tests'
Requires-Dist: flake8-bugbear ; extra == 'tests'
Requires-Dist: flake8-comprehensions ; extra == 'tests'
Requires-Dist: pick ; extra == 'tests'
Requires-Dist: pytest-cov (>=2.5.1) ; extra == 'tests'
Requires-Dist: pytest-terraform (>=0.6.1) ; extra == 'tests'
Requires-Dist: pytest (>=3) ; extra == 'tests'
Requires-Dist: python-terraform (>=0.10.0) ; extra == 'tests'
Requires-Dist: tox (>=3.25.1) ; extra == 'tests'

Welcome!
========

Kubify OS, Version: 9003.1.7

Well hello there! Welcome to Kubify. The Turn-Key DevOps/MLOps OS Developer-First Stack.

Who is this for?
================

Data Scientists/Devs/DevOps who want self service.

To rapid develop many services/models fast simultaneously on full real
environment.

Why?
====

Because Docker-Compose and Terraform are 2 different tools, so I fixed
it.

First class rapid testing, all your services listening for folder
changes, so you can code fast, really fast.

If it works on your laptop, it works in prod.

How?
====

DevEx First Class Ideology

.. figure:: ./docs/img/README_md_imgs/the-future.gif
   :alt: FUTUREOFDEVOPS9000

   FUTUREOFDEVOPS9000

Usage?
======

See ``USAGE.rst``

Infra Diagram?
==============

See ``terraform/README.rst``

.. figure:: ./docs/img/README_md_imgs/KUBIFY_BRAND_IDENTITY_1.png
   :alt: LOGO

   LOGO

|Docker| |PyPi| |PyUp| |Docs|

Magic? Yes. Pure Magic.

This is a python package and a docker image (multi-arch).

1. PyPi
2. DockerHub


Cloud:

1. `make cloud cloud=aws``
2. (optional) `make cloud cloud=gcp` # TODO: enable for multi-cloud site-reliability backing AWS
3. (optional) `make cloud cloud=azure`

You have a redundant cloud!


Usage:

1. `pip install kubify`
2. (optional) have a services folder (see examples/simple)
3. (optional) have a terraform folder (see examples/simple)
4. then use the python functions or cli

Enjoy Rapid Testing!


Contributing:

A. open with DevContainer in IDE of your choice
B. tox all python environments `make pythons` (envs go in `./.tox/[env]/bin/python3`)
C. `make docker`
D. install develop with pip `make pip`
E. test on all versions of python `make pythons`
F. `make test`
G. your python development version/workflow of choice 

Happy Coding!


Who are you?
============

I have a ton of MLOps and DevOps experience. I want to build an open source turn-key MLOps/DevOps stack, developer-first, self-service and redunant, as well as lowest cost (arm/spot) and scalable.

I am looking for contributors to build Kubify OS into a full-force turn-key DevEx solution.


Please contribute!
==================

We all want self service turn key. It has arrived. No more K8s pains.
Please contribute.

.. figure:: ./docs/img/README_md_imgs/level-up.gif
   :alt: FUTUREOFDEVOPS9001

   FUTUREOFDEVOPS9001

.. |Docker| image:: https://github.com/willyguggenheim/kubify/actions/workflows/docker-image.yml/badge.svg?branch=main
   :target: https://github.com/willyguggenheim/kubify/actions/workflows/docker-image.yml
.. |PyPi| image:: https://img.shields.io/pypi/v/kubify.svg
   :target: https://pypi.python.org/pypi/kubify
.. |PyUp| image:: https://pyup.io/repos/github/willyguggenheim/kubify/shield.svg
   :target: https://pyup.io/repos/github/willyguggenheim/kubify/
.. |Docs| image:: https://readthedocs.org/projects/kubify/badge/?version=latest
   :target: hhttps://kubify.readthedocs.io/en/latest/?version=latest

TODO: Implement DR Automation
=============================

.. figure:: ./docs/img/README_md_imgs/kubify-arch.drawio.png
   :alt: TURN_KEY_DEVOPS_RAPID_TESTER

   TURN_KEY_DEVOPS_RAPID_TESTER

Kubify has been blessed by AWS.

.. figure:: ./docs/img/README_md_imgs/AWS-Partner.jpeg
   :alt: AWSPARTNER

   AWSPARTNER

To use the python package
=========================

You can ``import kubify`` (we ship to PyPi), and then you can override
any folder (such as terraform or services folders) by having folder with
the same name in your repo.

See ``./examples/simple`` for Python Package usage example.

To run this repo directly
=========================

To contribute to Kubify Open Source (and I hope you do), then clone this
repo and:

1. ``make cloud cloud=[aws|gcp|azure]``
2. ``make local``
3. ``make local start-all``
4. ``make local [service]``

All the dependant services will start and will listen for code changes
as well. Efficiently edit the entire codebase.

To install directly on workstation
==================================

To install directly on your workstation (instead of just using the
container):

1. apple: ``make mac``
2. ubuntu, debian and other debian-based: ``make deb``
3. rhel, centos and other epel-based: ``make epel``

Environment Isolation
=====================

Security Minute: You should not give prod access to anyone (but devs
need to debug urgent issue in prod). How?

.. code:: bash

   cd services/example-node-complex-svc
   make local prod

What Just Happened?
===================

You are hot patching many services locally (and with the full real
environment) without access to data, but with the full real prod!
Kubernetes can be amazing, and it is, with Kubify..

Contributing Workflow Patterns
==============================

1. DevContainer
2. Invoke Python Directly (pull image if missing tools)
3. Tox (multi-python testing)
4. Install Directly and Invoke Python Directly

