{"id":16583217,"url":"https://github.com/wivik/devops-solutions-map","last_synced_at":"2025-04-03T03:10:54.363Z","repository":{"id":154204068,"uuid":"631341767","full_name":"Wivik/devops-solutions-map","owner":"Wivik","description":"A tool displaying your DevOps solution map and their adoption for each step of the loop. Demo available on GitHub Page !","archived":false,"fork":false,"pushed_at":"2024-06-24T05:38:56.000Z","size":808,"stargazers_count":178,"open_issues_count":9,"forks_count":19,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-10-12T22:35:13.145Z","etag":null,"topics":["chart","devops","docker","flask","map","python","solutions","tools"],"latest_commit_sha":null,"homepage":"https://wivik.github.io/devops-solutions-map/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Wivik.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"Wivik","liberapay":"Wivik"}},"created_at":"2023-04-22T18:04:36.000Z","updated_at":"2024-08-06T10:50:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"bd8dcb85-13f1-4007-a4e3-d0c30493ab25","html_url":"https://github.com/Wivik/devops-solutions-map","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wivik%2Fdevops-solutions-map","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wivik%2Fdevops-solutions-map/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wivik%2Fdevops-solutions-map/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wivik%2Fdevops-solutions-map/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Wivik","download_url":"https://codeload.github.com/Wivik/devops-solutions-map/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246927835,"owners_count":20856198,"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":["chart","devops","docker","flask","map","python","solutions","tools"],"created_at":"2024-10-11T22:35:11.222Z","updated_at":"2025-04-03T03:10:54.339Z","avatar_url":"https://github.com/Wivik.png","language":"Python","readme":"# DevOps Solutions Map\n\nDevOps Solutions Map is a Python-based application that helps you to produce a DevOps tool chain map according to their position in the delivery loop and their use case.\n\nThis tool has been inspired by the various tech radar approach.\n\n![DevOps Solutions Map](screenshot.png)\n\nInstead of focusing on tools, this chart displays at first the DevOps delivery steps and the various use-cases and processes you may have for each step. For each use-case, you will find the tool covering it.\n\nFor more information about why I prefer a view displaying the use cases instead of a tools-oriented tech radar, you can read this article I've wrote on my blog [The importance of the methodology over the tools](https://blog.zedas.fr/posts/the-importance-of-the-methodology/).\n\n## Usage\n\nThis tool can be used in two different ways.\n\nFor both ways, the data displayed is formatted using a YAML file that will be rendered by the web application. The content is rendered using the file items order.\n\nPlease refer the [Data format](docs/data-format.md) documentation for more details.\n\n### Command-line arguments\n\nBy default, running the container or the `app.py` script (see below) will start the Flask server on localhost and serve the application on port 5000. Some options are available.\n\n| Argument | Mandatory | Default | Description |\n| ----------- | ----------- | --------- | ------------- |\n| `-d` \u003cbr /\u003e  `--debug` | No | `False` | Enable Flask's debug mode |\n| `-f` \u003cbr /\u003e `--freeze` | No | ` False` | Run the application as a static website generator instead of serving it. See [Static site mode](#static-website-generator-mode) for mode details. |\n| `--freezer-base-url` | No | `None` | Related to `--freeze`.\u003cbr\u003eUse this option if the website is not at the root of the domain name.\u003cbr\u003e\u003cbr\u003eExample for GitHub Pages :\u003cbr\u003e`--freezer-base-url \"https://username.github.io/my-website\"` |\n| `--host` | No | `127.0.0.1` | Use this option to expose the webserver outside localhost.\u003cbr\u003e\u003cbr\u003eNote : The Container runs the application with `--host \"0.0.0.0\"` |\n| `-p`\u003cbr\u003e`--port` | No | `5000` | Change the listen port to the provided value.\u003cbr\u003eBy default, the container will set this option to `5000` |\n\n### Run from sources\n\n1. Clone the repository\n\n```bash\nhttps://github.com/Wivik/devops-solutions-map.git\n```\n\n2. Start a Python virtualenv\n\n```bash\nvirtualenv devopsmap\n\nsource devopsmap/bin/activate\n```\n\n3. Install the requirements\n\n```bash\npip install -r requirements.txt\n```\n\n4. Run the main app script\n\n```bash\npython app.py\n```\n\n\n### Run with a Container (Podman, Docker)\n\nThe application is available as a container image you may host and run in any Docker-compatible runtime.\n\n#### Basic container with volume run\n\nBasic run example, where `version` is the latest [available version](https://github.com/users/Wivik/packages/container/package/devops-solutions-map), using a volume bind on the host to provide the `solutions.yaml` file, exposing port 5000 :\n\n```bash\npodman run -v ./data:/data:Z -p 5000:5000 ghcr.io/wivik/devops-solutions-map:(version)\n\n```\n\nNote : you may also use Docker instead of Podman, of course.\n\nSince the `/devops-map/data` path in the container is the data source, you can use any available binding to feed the content : a mounted storage, a volume, whatever. Please refer to your hosting solution documentation for the recommended architecture.\n\n#### Container run with built-in assets\n\nYou can use your company brand logo instead of the project's by replacing the `static/img/logo.png` file in the image's content. Also the `solutions.yaml` file can be integrated in this way too.\n\nBasic Containerfile example :\n\n```Dockerfile\nFROM ghcr.io/wivik/devops-solutions-map:(version)\n\nCOPY mylogo.png /devops-map/static/img/logo.png\nCOPY solutions.yaml /devops-map/data/solutions.yaml\n\n```\n\nThen, run the container in the same way.\n\n### Static website generator mode\n\nInstead of starting a web server, DevOps Solutions Map can also produce static HTML files you can host on any web hosting service.\n\n⚠️ Limitations about the static mode :\n\n- \"Open all boxes\" link won't work\n- The search engine feature is disabled in static mode\n\n#### Generate static website using the sources\n\nSetup the virtualenv and the dependencies with the same method as described in [run from the sources](#run-from-sources)\n\nAdd the following arguments to the startup command.\n\n```bash\npython app.py --freeze [--freezer-base-url http://mywebsite/folder]\n```\n\n`--freeze` will produce a static website available in the `build` folder.\n\n**Warning** : The `build` folder will be systematically erased and recreated by the `--freeze` option since Flask Freezer considers this folder its own.\n\nIf your website is not at the root of the domain name (ex : `https://mywebsite/devopsmap/`), you need to provide the argument `--freezer-base-url` with the complete website base URL.\n\nYou can test the static website by using Python's built-in webserver : \n\n```bash\ncd build\n\npython -m http.server 8080\n```\n\nThen, go to `http://localhost:8080` to check the result.\n\n## Data file format\n\nPlease refer to the [dedicated documentation](docs/data-format.md).\n\n## Customize\n\nPlease refer to the [customize documentation](docs/customize.md).\n\n## Contribute\n\nFork the project, create a branch, open a Pull Request.\n\nPlease ensure you're using the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) specification for changelog generation.\n\n## License\n\nThis project is licensed under MIT.\n\nThe mascot is licensed under CreativeCommons CC-BY-SA 4.0.\n","funding_links":["https://ko-fi.com/Wivik","https://liberapay.com/Wivik"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwivik%2Fdevops-solutions-map","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwivik%2Fdevops-solutions-map","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwivik%2Fdevops-solutions-map/lists"}