Tent is a content management system that leverages a Github Repository to store its content and its history. That allows Tent to use the Content as code standard.
Some steps are required for using tent.
Create the repository that will store your content, by using this page.
Once it's created go into project Settings in the Webhooks menu.
Here you can create a new hook with the following URL
https://YourAppPublicDomain/api/repo/update
and default settings.
Tent needs an OAuth application configured in order to work. The application can be bound to an user (using this form) or an organization (https://github.com/organizations/YourOrg/settings/applications/new).
Once it's created client id and client secret will be available.
You can also change several other parameters including Authorization callback URL:
this should be set as https://YourAppPublicDomain/auth/callback
.
Download the latest version of the binary or build it from source.
In order to do so install latest version of Go
then execute go get github.com/securityfirst/tent/tent
.
This will install it in your $GOPATH
(that should be ~/go/bin
)
Now you create a configuration file named .tent.yaml
in your $HOME
folder using the following contents as example.
Github:
Handler: "awesomeorg"
Project: "myawesomeproject"
Branch: "master"
Config:
Id: "YOUR_CLIENT_ID"
Secret: "YOUR_CLIENT_SECRET"
OAuthHost: "https://YourAppPublicDomain"
Login:
Endpoint: "/auth/login"
Logout:
Endpoint: "/auth/logout"
Callback:
Endpoint: "/auth/callback"
RandomString: "whatever"
Port: 80
Transifex:
Project: "project-name"
Username: "user"
Password: "password"
Once everything is ready you can start the app using tent.exe run
.
This a sample repo used by tent in the Umbrella App: https://github.com/securityfirst/tent-content
You can work on a specific branch of your content project, this is very usefull for testing purpose (i.e. a big update on content).