GithubHelp home page GithubHelp logo

ksalih / cloudctl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cloudctl/cloudctl

0.0 1.0 0.0 340 KB

Infrastructure Augmentation Container Services Pod

License: GNU General Public License v3.0

Shell 45.19% HTML 54.81%

cloudctl's Introduction

CloudCTL

DevOps Services & Utilities Container Pod Infrastructure as Code (IaC) toolkit.

Problem

Infrastructure deployment requires a wide set of user enablement & automation utilities, network services, and Infrastructure as Code resources. These can become difficult & inconsistent to maintain and support.

Solution

CloudCtl provides a Podman container Pod based "Point of Origin" Infrastructure as Code (IaC) toolkit for deployment operations tasks with core features delivered via UBI8 based Konductor as primary orchestration base capable of dynamically allocating additional pod contained services. All existing containerized services are delivered as UBI & UBI Minimal containerized services. When bundled for airgap usage the total payload to carry hovers around ~1.5G.

Core Features

  • Extensable
  • Portable
  • Stateful
  • Dynamic
  • Consistent
  • Zero external dependencies (No yum/dnf rpm downloads)
  • Airgap Supported (with Koffer collector)
  • Behaves the same whether connected or disconnected from the internet

Supported Distributions

Supported Services

  • Konductor User Space Container
  • Ansible Runner Service API
  • Docker Image Registry
  • Nginx File Server
  • Haproxy TCP Load Balancer
  • CoreDNS
  • ISC-DHCP
  • Tftpd

Getting Started

Run as User: root

0. Install Dependencies

On RHEL 8+ / CentOS 8+ / Fedora 32+
  dnf install -y podman

On Ubuntu 20.04+
  apt install -y podman

1. Clone Repo

 mkdir -p /root/cloudctl && \
 podman run -it --rm --volume /root/cloudctl:/clone:z \
   quay.io/cloudctl/git \
 https://github.com/CloudCtl/CloudCtl.git && \
 cd ~/cloudctl

2. Initialize CloudCtl Pod

./init.sh

3. Exec into Konductor Userspace

podman exec -it konductor connect

4. Verify API Access

curl -ks \
    --key  /root/platform/secrets/cloudctl/certs/ssl/server/cloudctl.pem \
    --cert /root/platform/secrets/cloudctl/certs/ssl/server/cloudctl.crt \
  https://localhost:5001/api/v1/playbooks -X GET

sample output:

{"status": "OK", "msg": "0 playbook found", "data": {"playbooks": []}}

5. SSH to Konductor over port 2222

ssh -p 2222 [email protected]

6. Review pod status

sudo podman pod ps
sudo podman ps --all

sample output:

36668681f233  Up 18 hours ago    coredns
596dbaa4520b  Up 18 hours ago    haproxy
44d434359e33  Up 18 hours ago    nginx
1efcd0fafb40  Up 18 hours ago    registry
3598bab7c7ed  Up 18 hours ago    runner
11305c527abe  Up 18 hours ago    konductor
fbf274723577  Up 18 hours ago    c7fc137831c8-infra

Cleanup

podman pod rm --force cloudctl
podman image prune --all
rm -rf /root/platform /tmp/konductor
rm -rf /root/cloudctl

cloudctl's People

Contributors

usrbinkat avatar swarred avatar nabliss avatar

Watchers

James Cloos 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.