{"id":13463748,"url":"https://github.com/tactful-ai/on-prem","last_synced_at":"2025-04-23T23:58:43.510Z","repository":{"id":188881633,"uuid":"679256612","full_name":"tactful-ai/on-prem","owner":"tactful-ai","description":null,"archived":false,"fork":false,"pushed_at":"2023-09-23T18:57:18.000Z","size":515,"stargazers_count":1,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-23T23:58:39.337Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tactful-ai.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-08-16T12:44:27.000Z","updated_at":"2023-12-06T17:12:55.000Z","dependencies_parsed_at":"2024-01-13T17:54:44.772Z","dependency_job_id":"f3665bf2-198c-4daa-a83d-b0293afa2c0e","html_url":"https://github.com/tactful-ai/on-prem","commit_stats":null,"previous_names":["tactful-ai/on-prem"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tactful-ai%2Fon-prem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tactful-ai%2Fon-prem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tactful-ai%2Fon-prem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tactful-ai%2Fon-prem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tactful-ai","download_url":"https://codeload.github.com/tactful-ai/on-prem/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250535029,"owners_count":21446506,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T14:00:27.900Z","updated_at":"2025-04-23T23:58:43.486Z","avatar_url":"https://github.com/tactful-ai.png","language":"Shell","funding_links":[],"categories":["Projects"],"sub_categories":["Devops"],"readme":"# Dstny engage On-Prem Quick Start Guide\n\nThis guide will help you quickly set up and run Your On-Prem Cluster. Follow the steps below to get started.\n\n## Prerequisites\n\n- **Jump Server**: You will need an Ubuntu 20.04 machine to serve as the jump server. This server will act as a central point for managing and configuring other machines in your environment.\n\n- **Additional VMs**: You should have at least two additional Virtual Machines (VMs), each running Ubuntu 20.04. These VMs should have a minimum of 2 vCPUs and 4GB of RAM to ensure smooth operation of the Dstny engage On-Prem solution.\n\n\n## Clone the Repository\n\nFirst, clone this repository to your local machine:\n\n```bash\ngit clone https://github.com/tactful-ai/on-prem.git\n```\n\n## Navigate to the Repository\n\nChange your current directory to the cloned repository:\n\n```bash\ncd on-prem\n```\n\n### Switch to Root User (sudo -i)\n\nTo ensure proper permissions for the setup, become the root user using `sudo -i`:\n\n```bash\nsudo -i\n```\nmake sure that you are root for all of the next steps.\n\n### Copy SSH Key\n\nCopy the SSH key for the specified machines to your `~/.ssh/key.pem`. Make sure to adjust the file path and permissions:\n\n```bash\ncp path/to/your/ssh_key.pem ~/.ssh/key.pem\nchmod 400 ~/.ssh/key.pem\n```\n\n## Configure User Information\n\nEdit the `user_fill.sh` file to add information about your machines. You can specify your machine details using one of the following formats:\n\n- Password-based authentication:\n  ```shell\n  node_info[0]=\"ip_address|password|user|node_name\"\n  ```\n\n- SSH key-based authentication:\n  ```shell\n  node_info[0]=\"ip_address|ssh_key_path|user|node_name\"\n  ```\n\nExample:\n\n```shell\nnode_info[0]=\"xxx.xx.xx.xx|password|remote_machine_username|node_name\"\n```\n\n\n\n### Run the Setup Script\n\nNow, you're ready to start the setup process. Run the following command:\n\n```bash\nbash dstny.sh\n```\n\nWatch the magic ✨✨✨.\n\n\n## Dstny engage On-Prem  Available Services\n\nDstny engage On-Prem offers a selection of services and components that you can choose to install based on your specific requirements. Below are the available services and systems:\n\n### Storage System\n\nYou can choose the storage system you want to install:\n\n- **Longhorn**: A distributed block storage system for Kubernetes.\n\n- **None**: If you don't want to install any storage system, select \"None.\"\n\n```shell\nSTORAGE_SYSTEM=\"longhorn\"\n```\n\n### Load Balancer System\n\nYou can choose the load balancer system you want to install:\n\n- **MetalLB**: A load balancer implementation for bare-metal Kubernetes clusters.\n\n- **None**: If you don't want to install any load balancer system, select \"None.\"\n\n```shell\nLOAD_BALANCER=\"metallb\"\n```\n\n### Monitoring System\n\nYou can choose the monitoring system you want to install:\n\n- **Prometheus**: An open-source monitoring and alerting toolkit designed for reliability and scalability. Note: Grafana is installed along with Prometheus.\n\n- **None**: If you don't want to install any monitoring system, select \"None.\"\n\n```shell\nMONITORING_SYSTEM=\"prometheus\"\n```\n\n### Redis\n\nYou can choose whether or not to install Redis. If you want to install Redis, set the following option to \"yes.\"\n\n```shell\nINSTALL_REDIS=\"yes\"\n```\n\nChoose the services and systems that align with your deployment needs and set the corresponding options in your configuration before running the setup script.\n\n# Dstny engage On-Prem Configuration Guide\n\nThe `config.sh` file allows you to configure various aspects of the Dstny engage On-Prem solution to match your specific requirements. This guide provides an overview of each section in the configuration file and what you can customize within them.\n\n## Main Machine Info Section\n\nIn this section, you can customize basic information related to your main machine and the Ansible inventory.\n\n- `ANSIBLE_INVENTORY_FILE`: Specify the path to the Ansible inventory file.\n\n## RKE Section\n\nThis section is responsible for configuring the Rancher Kubernetes Engine (RKE).\n\n- `CLUSTER_FILES_LOCATION`: Specify the location for the generated cluster configuration files.\n\n- `CLUSTER_NAME`: Define the name for your Kubernetes cluster.\n\n- `KUBERNETES_VERSION`: Set the desired Kubernetes version.\n\n- `DOCKER_PATH`: Specify the path to the Docker socket.\n\n- `NETWORK_PLUGIN`: Choose a network plugin (e.g., \"canal\").\n\n- `SSH_KEY_PATH`: Define the path to your SSH key.\n\n- `SSH_AGENT_AUTH`: Enable or disable SSH agent authentication.\n\n- `RKE_VERSION`: Set the RKE version.\n\n- `CLUSTER_CIDR`: Configure the cluster CIDR.\n\n- `SERVICE_CLUSTER_IP_RANGE`: Define the service cluster IP range.\n\n- `CLUSTER_DNS_SERVER`: Specify the DNS server for the cluster.\n\n- `METALLB_IP_RANGES`: Configure MetalLB IP ranges (if using).\n\n- `IP_ADDRESSES_POOL_LOCATION`: Set the location for MetalLB IP address pool configuration.\n\n- `RKE_ADDONS_INCLUDE`: Specify URLs for RKE addons.\n\n- `INGRESS_PROVIDER`: Choose the Ingress controller provider (e.g., \"nginx\").\n\n- `INGRESS_NETWORK_MODE`: Configure the Ingress network mode.\n\n- `ADDONS_DIRECTORY`: Define the directory for addons.\n\n## Longhorn Section\n\nThis section is related to configuring Longhorn, a distributed block storage system for Kubernetes.\n\n- `LONGHORN_FILES_LOCATION`: Specify the location for Longhorn files.\n\n- `LONGHORN_STORAGE_CLASS_NAME`: Set the Longhorn storage class name.\n\n## MetalLB Section\n\nHere, you can configure MetalLB, a load balancer implementation for bare-metal Kubernetes clusters.\n\n- `METALLB_FILES_LOCATION`: Specify the location for MetalLB files.\n\n## Prometheus and Grafana Section\n\nThis section allows you to customize settings related to Prometheus and Grafana.\n\n- `PROMETHEUS_GRAFANA_FILES_LOCATION`: Set the location for Prometheus and Grafana files.\n\n- `K8s_VERSION`: Automatically derived from `KUBERNETES_VERSION`.\n\n- `DASHBOARDS_DIRECTORY`: Specify the directory for Grafana dashboards.\n\n- `MONITOR_NAMESPACE`: Set the monitoring namespace.\n\n- `GRFANA_SVC`: Define the Grafana service type.\n\n- `GRAFANA_ADMIN_PASSWORD`: Set the Grafana admin password.\n\n- `GRAFANA_CONFIG_MAPS_DIRECTORY`: Specify the directory for Grafana config maps.\n\n\nBy customizing these sections, you can tailor the Dstny engage On-Prem solution to meet your specific infrastructure and configuration preferences.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftactful-ai%2Fon-prem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftactful-ai%2Fon-prem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftactful-ai%2Fon-prem/lists"}