You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
2.7 KiB

  1. * 0k-charms
  2. This package provides charms, which are special system recipes, that are
  3. meant to be executable and mangled together to allow managing a wide set
  4. of services.
  5. Inspired by [[https://discourse.juju.is/t/introduction-to-juju-charms/1188][juju charms]], these are mostly bash scripts organized by
  6. service and meant to automate all administration tasks, from
  7. installation, to connection with other services, or any other task a
  8. service would need.
  9. Several tools are able to read the current state of this repository to
  10. effectively deploy full production grade services on different type of
  11. platform.
  12. The only real fully functional implementation is =0k-compose=. It will
  13. use these charms to drive, prepare, and build in =docker=, complete sets
  14. of services.
  15. Another old solution called =lxc-deploy= was used actively before to deploy
  16. services on LXC tool set until 2016 using these charms.
  17. Bare hosts can also replay some recipes to install services directly
  18. on them via the =0k-charm= project using the =charm apply=
  19. command. Note that actually, as most recipes are bash executable, it
  20. is still a viable option to copy-paste parts of source-code of these
  21. scripts. These last two options are still used very often to bootstrap
  22. installs of =docker-hosts= for instance.
  23. * Maturity
  24. Charms in these repository are in a wide set of maturity, from simple note
  25. taking of shell commands, not even executable, to full charm allowing to
  26. deploy services and manage the full life cycle of the service.
  27. The repository in a whole is thus NOT considered as mature at all, and will
  28. require some thorough cleaning and decisions to furthermore structure to reach
  29. a state where it'll make sense to go full public.
  30. * Usage
  31. ** TODO Through =compose= for full deployment of sets of services
  32. Requires =0k-compose= package that contains the =compose= command line tool.
  33. TBD
  34. ** TODO Through =lxc-deploy= for full install and deployment of services
  35. Requires =lxc-scripts= package that holds several tools for LXC
  36. management, amongst them is =lxc-deploy=.
  37. TBD
  38. ** TODO Through =docker-build-charm= for docker image creation
  39. Requires =0k-docker= package that holds several tools for docker
  40. management, amongst them is =docker-build-charm=.
  41. =docker-build-charm= will use the =install= recipes in a charm to
  42. basically mimic the =Dockerfile= purpose and create a docker image for
  43. a specific service.
  44. TBD
  45. ** TODO Through =0k-charm= for bare hosts installs
  46. Requires =0k-charm= package to get the =charm= command line util.
  47. TBD
  48. * Installation
  49. Most tools should check the =CHARM_STORE= bash environment variable
  50. that should be the path to reach the root of this repository. If not
  51. defined, most tools will look in =/srv/charm-store= by default.