kubify 9020.0.29
Rapid Testing Framework for Kubernetes
License: BSD license
Requires Python: >=3.7
Keywords: kubify

dev toolkit for kubernetes multi-cloud multi-service

release targets
===============

* conda https://anaconda.org/kubify/kubify
* docker/podman https://hub.docker.com/repository/docker/willy0912/kubify
* pip/pypa/poerty https://pypi.org/project/kubify

.. |artifacts_release| image:: https://github.com/willyguggenheim/kubify/actions/workflows/docker-pypi-conda.yml/badge.svg?branch=main
   :target: https://hub.docker.com/repository/docker/willy0912/kubify
.. |docs_release| image:: https://readthedocs.org/projects/kubify-os/badge/?version=latest
   :target: https://kubify.readthedocs.io/en/latest/?version=latest

on-boarding
===========

1. ``make clouds``
2. ``kubfiy start-all``

welcome
=======

kubify os oss, version: 9020.0.29

getting started
===============

local
=======

.. code-block:: bash

   $ [pip|conda] install kubify
   $ kubify --up
   $ kubify --start-all
   $ cd services[][] && kubify --start
   $ kubify --down

compatible with cloud providers
    * aws
    * gcp
    * azure

compatible with devops tools
    * terraform
    * terraform cdk
    * cloudformation
    * serverless framework
    * helm and kustomize

"if it works on my computer, it will work in the cloud"

cloud
=====

.. code-block:: bash

   $ make clouds
   $ make clouds-delete

docs
====

1. https://kubify-os.readthedocs.io
2. CONTRIBUTING.rst
3. USAGE.rst

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

aws partner
===========

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

enjoy the fun

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). Zero Trust, With No Data Access, yet Identical Env. 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