Project Description
Our SUSE Support knowledge base sucks. It has a clunky UI, only has a What you see is what you (don't) get editor, doesn't show version history. I hate it, you hate it, and our customers hate using it and would rather pick up the phone and bother us.
This project's aim is to move away from Salesforce Knowledgebase to a FLOSS solution that allows:
- versioning and diffs
- defined formatting
- better text search
- tag and category organization (let's at least try to match wiki functionality)
- reverse link search and link validation (I don't know exactly what it's called, but the thing in wikimedia that allows us to see what links to what so we don't create orphan links)
- prettiness
What I'm envisioning is a repository of asciidoc markdown files in GitLab that are turned into XML Docbook articles, and we can apply the standard SUSE product documentation style sheet to create documents in a pdf and html format. You want a .pdf to send to the customer? No sweat. You want .html for the website? Easy.
How beautiful and consistent! How easy to use and learn!
Versioning and standard git best practice allow the review and quality control that's needed. Changes made by contributors would be tracked and approved by editors with privileges and responsibilities to publish by pulling into the master branch. From that, the KB article would be regenerated. Documentation as code.
DAPS written by Frank Sundermeyer et al. from Documentation is likely the best solution for this.
Goal for this Hackweek
I would like to have a prototype to show support management to convince them that it would be possible and desirable to migrate away from Salesforce knowledge base.
We'd build a tool chain that would flow asciidoc from a SUSE GitLab repo into XML Docbook and generate a downloadable pdf and an html file. Or even epub. You laugh, but having reference documentation on an ebook reader is a great help in the datacenter.
Since we don't want to lose all the work we've done, the real challenge is to come up with a migration tool chain as well. It seems as though it is possible to pull XML from Salesforce (whether DocBook valid remains to be seen) as well as some metadata.
We'd need to validate and tweak the result by hand in Support, but I hope we will do this once, and we'll be FREE from proprietary nonsense and join the GNU generation.
Resources
GitLab/GitHub repo soon.
I'm looking for buddies who have XML docbook pipeline experience, knowledge management experience, good ideas on how to make this idea into a better design that's easy to maintain, and are willing to lend a hand. :)
Particularly useful would be input and experience from the Product Documentation team, which operate the XML docbook templates on which we would like to piggyback.
Looking for hackers with the skills:
This project is part of:
No hackweek.
Activity
Comments
Similar Projects
Uyuni developer-centric documentation by deneb_alpha
Description
While we currently have extensive documentation on user-oriented tasks such as adding minions, patching, fine-tuning, etc, there is a notable gap when it comes to centralizing and documenting core functionalities for developers.
The number of functionalities and side tools we have in Uyuni can be overwhelming. It would be nice to have a centralized place with descriptive list of main/core functionalities.
Goals
Create, aggregate and review on the Uyuni wiki a set of resources, focused on developers, that include also some known common problems/troubleshooting.
The documentation will be helpful not only for everyone who is trying to learn the functionalities with all their inner processes like newcomer developers or community enthusiasts, but also for anyone who need a refresh.
Resources
The resources are currently aggregated here: https://github.com/uyuni-project/uyuni/wiki
Testing and adding GNU/Linux distributions on Uyuni by juliogonzalezgil
Join the Gitter channel! https://gitter.im/uyuni-project/hackweek
Uyuni is a configuration and infrastructure management tool that saves you time and headaches when you have to manage and update tens, hundreds or even thousands of machines. It also manages configuration, can run audits, build image containers, monitor and much more!
Currently there are a few distributions that are completely untested on Uyuni or SUSE Manager (AFAIK) or just not tested since a long time, and could be interesting knowing how hard would be working with them and, if possible, fix whatever is broken.
For newcomers, the easiest distributions are those based on DEB or RPM packages. Distributions with other package formats are doable, but will require adapting the Python and Java code to be able to sync and analyze such packages (and if salt does not support those packages, it will need changes as well). So if you want a distribution with other packages, make sure you are comfortable handling such changes.
No developer experience? No worries! We had non-developers contributors in the past, and we are ready to help as long as you are willing to learn. If you don't want to code at all, you can also help us preparing the documentation after someone else has the initial code ready, or you could also help with testing :-)
The idea is testing Salt and Salt-ssh clients, but NOT traditional clients, which are deprecated.
To consider that a distribution has basic support, we should cover at least (points 3-6 are to be tested for both salt minions and salt ssh minions):
- Reposync (this will require using spacewalk-common-channels and adding channels to the .ini file)
- Onboarding (salt minion from UI, salt minion from bootstrap scritp, and salt-ssh minion) (this will probably require adding OS to the bootstrap repository creator)
- Package management (install, remove, update...)
- Patching
- Applying any basic salt state (including a formula)
- Salt remote commands
- Bonus point: Java part for product identification, and monitoring enablement
- Bonus point: sumaform enablement (https://github.com/uyuni-project/sumaform)
- Bonus point: Documentation (https://github.com/uyuni-project/uyuni-docs)
- Bonus point: testsuite enablement (https://github.com/uyuni-project/uyuni/tree/master/testsuite)
If something is breaking: we can try to fix it, but the main idea is research how supported it is right now. Beyond that it's up to each project member how much to hack :-)
- If you don't have knowledge about some of the steps: ask the team
- If you still don't know what to do: switch to another distribution and keep testing.
This card is for EVERYONE, not just developers. Seriously! We had people from other teams helping that were not developers, and added support for Debian and new SUSE Linux Enterprise and openSUSE Leap versions :-)
Pending
FUSS
FUSS is a complete GNU/Linux solution (server, client and desktop/standalone) based on Debian for managing an educational network.
https://fuss.bz.it/
Seems to be a Debian 12 derivative, so adding it could be quite easy.
[W]
Reposync (this will require using spacewalk-common-channels and adding channels to the .ini file)[W]
Onboarding (salt minion from UI, salt minion from bootstrap script, and salt-ssh minion) (this will probably require adding OS to the bootstrap repository creator) --> Working for all 3 options (salt minion UI, salt minion bootstrap script and salt-ssh minion from the UI).[W]
Package management (install, remove, update...) --> Installing a new package works, needs to test the rest.[I]
Patching (if patch information is available, could require writing some code to parse it, but IIRC we have support for Ubuntu already). No patches detected. Do we support patches for Debian at all?[W]
Applying any basic salt state (including a formula)[W]
Salt remote commands[ ]
Bonus point: Java part for product identification, and monitoring enablement
ddflare: (Dynamic)DNS management via Cloudflare API in Kubernetes by fgiudici
Description
ddflare is a project started a couple of weeks ago to provide DDNS management using v4 Cloudflare APIs: Cloudflare offers management via APIs and access tokens, so it is possible to register a domain and implement a DynDNS client without any other external service but their API.
Since ddflare allows to set any IP to any domain name, one could manage multiple A and ALIAS domain records. Wouldn't be cool to allow full DNS control from the project and integrate it with your Kubernetes cluster?
Goals
Main goals are:
- add containerized image for ddflare
- extend ddflare to be able to add and remove DNS records (and not just update existing ones)
- add documentation, covering also a sample pod deployment for Kubernetes
- write a ddflare Kubernetes operator to enable domain management via Kubernetes resources (using kubebuilder)
Available tasks and improvements tracked on ddflare github.
Resources
- https://github.com/fgiudici/ddflare
- https://developers.cloudflare.com/api/
- https://book.kubebuilder.io