kahinah

command module
v0.0.0-...-079d604 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 20, 2016 License: MIT Imports: 27 Imported by: 0

README

Kahinah

Kahinah is a QA system. Upon receiving notification of a built package, it runs a set of tasks (usually determined from where it came from) and then displays it for users to upvote or downvote until it can be published or rejected.

Requirements

  • Git
  • mktemp -d
  • Go 1.5+
  • sqlite3 or mysql

Setup

  1. Configure your application in app.toml (see app.toml.example for details).
  2. Configure news.md.example.
  3. Make sure your databases are created, if needed.
  4. Run it.

Tips

  • Make sure to run go clean -i -r -x before every build.
    • Clear out old libraries.
  • Update the source every time with go get -u.
    • If you get errors, the above cleaning command helps.

Administration

To be able to control users and permissions, you need to have an admin account.

  1. Login with your account to Persona. This will create an account in the database.
  2. Add your email address to adminwhitelist (you may add several emails, seperated by semicolons)
  3. Restart Kahinah and navigate to /admin. Add the kahinah.admin permission to your users.

It's recommended that you remove your email addresses from adminwhitelist afterwards, and replace them with impossible ones (e.g. 1y8oehowhfoinwdaf).

Whitelist

Kahinah, by default, allows everyone to vote up/down builds. This may have unintended effects.

Currently, there is a whitelist system embedded - set "whitelist" in app.conf to true to use it.

This allows only users in the whitelist to vote. It also adds a permanent notice to the front page that indicates that it is only available for whitelisted users.

Administrators should use the above administration tool to add the "kahinah.whitelist" permission to users that should be allowed to vote.

Database

db_type is either sqlite3 or mysql. For sqlite3, the db_name is the filename of the database.

The rest should be self-explainatory. Hopefully.

No major database changes are expected, I think. Maybe we'll introduce migrations with hood or goose when the time comes to change the database schema, but I don't anticipate major changes anytime soon.

News

Markdown.

License

As of v4, MIT licensed. See the LICENSE file for more information.

Previous versions were licensed under the AGPLv3.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
common
mtmbool
Package mtmbool presents a threaded map[uint]bool instance, allowing for a system of atomic reads and writes where reads will always occur after all pending writes have finished
Package mtmbool presents a threaded map[uint]bool instance, allowing for a system of atomic reads and writes where reads will always occur after all pending writes have finished
set

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL