sodafoundation / installer

provides easy installation and basic deployment based on specific configurations for SODA Projects
Apache License 2.0
35 stars 68 forks source link

[Spike] List of CNCF components reusable from Ansible Galaxy #407

Open noelmcloughlin opened 3 years ago

noelmcloughlin commented 3 years ago

Issue/Feature Description:

Most Installer Open Issues (OS, Technology) are already fixed by upstream Saltstack Formulas. We need to decide if Ansible Galaxy is mature enough to be integrated into Soda Installer. This is a task to make an inventory of:

  1. CNCF landscape components used in SODA
  2. CNCF installers supplied by Ansible (Galaxy) and Saltstack (Formulas).

Why this issue to fixed / feature is needed(give scenarios or use cases):

SODA is an open-source integration project whose Installer must scale to support two pipelines:

  1. SODA landscape (components + CI/CD)
  2. CNCF landscape (components + CI/CD)

SODA landscape installer(s) is the core responsibility of SODA Engineers. We are responsible for the SDLC of these artifacts.

CNCF landscape (https://landscape.cncf.io) must be treated differently. There are potentially thousands of components that could be reused, each delivering their own installation procedures (tarball, packages, installers). The de-facto solution for integrating CNCF integration is to use configuration management tools (Ansible/Salt/chef/puppet/Stackstorm) to deploy a project and CI/CD technologies to ensure installer faults are not captured by end-users.

noelmcloughlin commented 3 years ago

Saltstack formulas (https://github.com/saltstack-formulas) is very mature for CNCF. I am a core maintainer. Salt-Formulas (https://github.com/salt-formulas) may merge with Saltstack-Formulas. Ansible Galaxy (https://galaxy.ansible.com) is unclear so needs study.

noelmcloughlin commented 3 years ago

List of CNCF installers avaialble from Saltstack formulas community used in SODA:

 - epel-formul   (**)
 - salt-formula  (*****)
 - openssh-formula (**)
 - packages-formula  (*****)
 - firewalld-formula  (**)
 - etcd-formula  (****)
 - ceph-formula (**)
 - deepsea-formula (**)
 - docker-formula (*****)
 - helm-formula (**)
 - iscsi-formula (*****)
 - lvm-formula (*****)
 - devstack-formula (****)
 - golang-formula (*****)
 - memcached-formula (***)
 - opensds-formula (*****)
 - mysql-formula (****)
 - timezone-formula (****)
 - resolver-formula (***)
 - nginx-formula (****)
 - mongodb-formula (*****)
 - node-formula (****)
 - apache-formula (*****)
 - prometheus-formula (******)
 - grafana-formula (****)
 - sysstat-formula (*****)
 - kubernetes-formula (*****)

Ratings: Outstanding=5star, Good=4star, mature=3star, Limited=2star.

noelmcloughlin commented 3 years ago

List of CNCF installers available from the salt-formulas community used in SODA:

N/A

noelmcloughlin commented 3 years ago
List of CNCF installers available from Ansible Galaxy community for use in SODA: Name link
EPEL https://galaxy.ansible.com/geerlingguy/repo-epel
OpenSSH https://galaxy.ansible.com/willshersystems/sshd
Firewalld https://github.com/geerlingguy/ansible-role-firewall
etcd https://galaxy.ansible.com/andrewrothstein/etcd
etcd-cluster https://galaxy.ansible.com/andrewrothstein/etcd-cluster
ceph https://galaxy.ansible.com/lukasjuhrich/ceph_ansible
docker https://github.com/geerlingguy/ansible-role-docker
helm https://galaxy.ansible.com/andrewrothstein/kubernetes-helm
isci https://galaxy.ansible.com/mrlesmithjr/open-iscsi
lvm https://galaxy.ansible.com/mrlesmithjr/manage-lvm
devstack https://galaxy.ansible.com/chrismeyersfsu/devstack
golang https://galaxy.ansible.com/gantsign/golang
memcached https://galaxy.ansible.com/geerlingguy/memcached
mysql https://galaxy.ansible.com/geerlingguy/mysql
timezone https://galaxy.ansible.com/yatesr/timezone
resolv https://galaxy.ansible.com/ahuffman/resolv
nginx https://galaxy.ansible.com/geerlingguy/nginx
mongodb https://galaxy.ansible.com/simplifield/mongo
node https://galaxy.ansible.com/andrewrothstein/node
apache https://galaxy.ansible.com/geerlingguy/apache
prometheus https://galaxy.ansible.com/cloudalchemy/prometheus
grafana https://galaxy.ansible.com/cloudalchemy/grafana
sysstat https://galaxy.ansible.com/robertdebock/sysstat
kubernetes https://github.com/geerlingguy/ansible-role-kubernetes
noelmcloughlin commented 3 years ago

https://landscape.cncf.io/category=automation-configuration&format=card-mode&grouping=category

In SODA we have used Ansible, Salt, StackStorm for Automation, and Configuration.

I guess SODA Installer should use:

CNCF PROVISIONING: AUTOMATION AND CONFIGURATION

Airship - loosely coupled but interoperable open source tools that declaratively automate cloud provisioning (Reference Airship manifests, CICD, and reference architecture.) Ansible - Automate everything from code deployment to network configuration to cloud management, in a language that approaches plain English, Apollo - Apollo is a reliable open-source configuration management system CloudFormation, language for you to describe and provision all the AWS infrastructure resources Bosh: Cloud Foundry BOSH is an open source tool chain Cadence, distributed, scalable, durable, and highly available fault-oblivious stateful code platform CF Engine: Automate large-scale, complex and mission critical IT infrastructure Chef Infrastructure into code Custodian: Rules engine for cloud security, cost optimization, and governance, DSL in yaml Cloudify, Multi-Cloud Automation Couler, Unified Interface for Constructing and Managing Workflows Foreman Server Lifecycle Juju devops tooling built to manage today's complex applications Kiosk, Multi-Tenancy Extension For Kubernetes KubeEdge, - Kubernetes Native Edge Computing Framework LinuxKit, building secure, portable and lean operating systems for containers MaaS: Self-service, remote installation ManageIQ, Manage containers, virtual machines, networks, and storage from a single platform Metal3-io, Bare metal host provisioning for Kubernetes OpenStack, Open Source Cloud OpenYurt, An open platform that extends upstream Kubernetes to Edge Pulumi Pulumi - Modern Infrastructure as Code Puppet Server automation framework and application RunDeck: Self-Service Operations: Give specific users access to your existing tools, services, and scripts Saltstack, automate the management and configuration of any infrastructure or application at scale. Stackstorm, event-driven automation for auto-remediation, security responses, troubleshooting, deployments, and more Terraform, create, change, and improve infrastructure vSphere server virtualization software and the heart of a modern SDDC

https://bestpractices.coreinfrastructure.org/en