Yet another Ansible playbook for local development environment automation.
⚠️ This project is currently in development and is not yet production-ready. It is a work in progress, and there may be incomplete features or known issues. Use it at your own risk.
As a developer, I enjoy a smooth local development environment. That's why I'm currently exploring this devbox.
- Custom System Dependencies: Automatic setup of essential development tools
- HTTP
- apache2
- nginx
- with SSL support
- Code
- PHP (5.6 - 8.3)
- XDebug support
- Composer
- JavaScript
- Node.js (via nvm)
- Deno (via dvm)
- npm (via nvm)
- yarn
- Go
- Java
- Gradle
- Ivy
- Maven
- Python
- PHP (5.6 - 8.3)
- Database
- MySQL
- MariaDB
- PostgreSQL
- SQLite
- CouchDB
- MongoDB
- Redis
- Memcached
- InfluxDB
- Messaging
- Kafka
- RabbitMQ
- Gearman
- ELK-Stack
- Elasticsearch
- Logstash
- Kibana
- Beats
- Virtualization
- containerd
- Docker
- Kubernetes
- via k0s
- optional k0sctl
- Persistent storage via OpenEBS
- via k3s
- via kind
- via kubeadm
- via minikube
- Podman
- kubectl
- kubectx
- Helm
- MetalLB (Load Balancer)
- NGINX Ingress
- k9s
- via k0s
- Others
- Apache Solr
- Blackfire
- Git
- pre-commit
- Grafana
- Meilisearch
- Minio
- Prometheus
- Image Optimizers
- PDF Generation
- Conftest
- gcloud SDK
- Mailpit
- LDAP
- HTTP
- Consider (ADR) splitting groups into devmachine, devcontroller:
- The machine would be the current webserver stuff (virtual machine managed via vagrant).
- The controller would be the host. So stuff like PHPStorm, browsers and so could be installed.
- k0s:
- Update kubectl auth when installing k0s.
- Consider (ADR) extracting deployments into separate roles, maybe per use case e.g. one for ingress-nginx, another one for metallb, another one for k0sctl.
- bash completions: Add a role which lets us add bash completions and computes enabled CLI's into that one.
- Support self-signed apache2 vhosts
- Fix apache2, php, user permissions
- Context: Currently we rewrite apache, php user to vagrant:vagrant.
This is considered a bad practice, that's why we should do something else (TBD).
- Context: Currently we rewrite apache, php user to vagrant:vagrant.
- Maintenance Tasks
- Check stuff
- Check for apt updates
- Check for pip updates
- Check for composer upgrades
- Check for current used npm/node updates
- Do stuff
- Upgrade apt packages
- Upgrade pip packages
- Upgrade composer
- Upgrade for current used npm/node
- Check stuff
TBD
TBD
Contributions are one thing that make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
- Fork the Project
- Create your Feature Branch (git checkout -b feature/AmazingFeature)
- Commit your Changes (git commit -m 'Add some AmazingFeature')
- Push to the Branch (git push origin feature/AmazingFeature)
- Open a Pull Request
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.