forked from LaconicNetwork/kompose
Add new examples to kompose (#1803)
#### What type of PR is this? <!-- Add one of the following kinds: /kind bug /kind documentation /kind feature --> /kind cleanup #### What this PR does / why we need it: Fixes the current broken examples by: * Removing all the old incompatible ones (we do not really support v3 anymore or v2... since switching libraries) * Uses quay.io/kompose/web as our front end example which is a fork of the guestbook-go kubernetes examples #### Which issue(s) this PR fixes: <!-- *Automatically closes linked issue when PR is merged. Usage: `Fixes #<issue number>`, or `Fixes (paste link of issue)`. --> Closes https://github.com/kubernetes/kompose/issues/1757 #### Special notes for your reviewer: Test using docker-compose (you'll see it come up!), then try with kompose :) Signed-off-by: Charlie Drage <charlie@charliedrage.com>
This commit is contained in:
+161
@@ -0,0 +1,161 @@
|
||||
// Package pinterface provides interface types for the xyproto/simple* and xyproto/permission* packages
|
||||
package pinterface
|
||||
|
||||
import "net/http"
|
||||
|
||||
// Version is the API version. The API is stable within the same major version number
|
||||
const Version = 5.3
|
||||
|
||||
// Database interfaces
|
||||
|
||||
type IList interface {
|
||||
Add(value string) error
|
||||
All() ([]string, error)
|
||||
Clear() error
|
||||
LastN(n int) ([]string, error)
|
||||
Last() (string, error)
|
||||
Remove() error
|
||||
}
|
||||
|
||||
type ISet interface {
|
||||
Add(value string) error
|
||||
All() ([]string, error)
|
||||
Clear() error
|
||||
Del(value string) error
|
||||
Has(value string) (bool, error)
|
||||
Remove() error
|
||||
}
|
||||
|
||||
type IHashMap interface {
|
||||
All() ([]string, error)
|
||||
Clear() error
|
||||
DelKey(owner, key string) error
|
||||
Del(key string) error
|
||||
Exists(owner string) (bool, error)
|
||||
Get(owner, key string) (string, error)
|
||||
Has(owner, key string) (bool, error)
|
||||
Keys(owner string) ([]string, error)
|
||||
Remove() error
|
||||
Set(owner, key, value string) error
|
||||
}
|
||||
|
||||
type IHashMap2 interface {
|
||||
All() ([]string, error)
|
||||
AllWhere(key, value string) ([]string, error)
|
||||
Clear() error
|
||||
Count() (int64, error)
|
||||
DelKey(owner, key string) error
|
||||
Del(key string) error
|
||||
Empty() (bool, error)
|
||||
Exists(owner string) (bool, error)
|
||||
GetMap(owner string, keys []string) (map[string]string, error)
|
||||
Get(owner, key string) (string, error)
|
||||
Has(owner, key string) (bool, error)
|
||||
Keys(owner string) ([]string, error)
|
||||
Remove() error
|
||||
SetLargeMap(all map[string]map[string]string) error
|
||||
SetMap(owner string, m map[string]string) error
|
||||
Set(owner, key, value string) error
|
||||
}
|
||||
|
||||
type IKeyValue interface {
|
||||
Clear() error
|
||||
Del(key string) error
|
||||
Get(key string) (string, error)
|
||||
Inc(key string) (string, error)
|
||||
Remove() error
|
||||
Set(key, value string) error
|
||||
}
|
||||
|
||||
// Interface for making it possible to depend on different versions of the permission package,
|
||||
// or other packages that implement userstates.
|
||||
type IUserState interface {
|
||||
AddUnconfirmed(username, confirmationCode string)
|
||||
AddUser(username, password, email string)
|
||||
AdminRights(req *http.Request) bool
|
||||
AllUnconfirmedUsernames() ([]string, error)
|
||||
AllUsernames() ([]string, error)
|
||||
AlreadyHasConfirmationCode(confirmationCode string) bool
|
||||
BooleanField(username, fieldname string) bool
|
||||
ClearCookie(w http.ResponseWriter)
|
||||
ConfirmationCode(username string) (string, error)
|
||||
ConfirmUserByConfirmationCode(confirmationcode string) error
|
||||
Confirm(username string)
|
||||
CookieSecret() string
|
||||
CookieTimeout(username string) int64
|
||||
CorrectPassword(username, password string) bool
|
||||
Email(username string) (string, error)
|
||||
FindUserByConfirmationCode(confirmationcode string) (string, error)
|
||||
GenerateUniqueConfirmationCode() (string, error)
|
||||
HashPassword(username, password string) string
|
||||
HasUser(username string) bool
|
||||
IsAdmin(username string) bool
|
||||
IsConfirmed(username string) bool
|
||||
IsLoggedIn(username string) bool
|
||||
Login(w http.ResponseWriter, username string) error
|
||||
Logout(username string)
|
||||
MarkConfirmed(username string)
|
||||
PasswordAlgo() string
|
||||
PasswordHash(username string) (string, error)
|
||||
RemoveAdminStatus(username string)
|
||||
RemoveUnconfirmed(username string)
|
||||
RemoveUser(username string)
|
||||
SetAdminStatus(username string)
|
||||
SetBooleanField(username, fieldname string, val bool)
|
||||
SetCookieSecret(cookieSecret string)
|
||||
SetCookieTimeout(cookieTime int64)
|
||||
SetLoggedIn(username string)
|
||||
SetLoggedOut(username string)
|
||||
SetMinimumConfirmationCodeLength(length int)
|
||||
SetPasswordAlgo(algorithm string) error
|
||||
SetPassword(username, password string)
|
||||
SetUsernameCookie(w http.ResponseWriter, username string) error
|
||||
UsernameCookie(req *http.Request) (string, error)
|
||||
Username(req *http.Request) string
|
||||
UserRights(req *http.Request) bool
|
||||
|
||||
Creator() ICreator
|
||||
Host() IHost
|
||||
Users() IHashMap
|
||||
}
|
||||
|
||||
// Data structure creator
|
||||
type ICreator interface {
|
||||
NewHashMap(id string) (IHashMap, error)
|
||||
NewKeyValue(id string) (IKeyValue, error)
|
||||
NewList(id string) (IList, error)
|
||||
NewSet(id string) (ISet, error)
|
||||
}
|
||||
|
||||
// Database host (or file)
|
||||
type IHost interface {
|
||||
Close()
|
||||
Ping() error
|
||||
}
|
||||
|
||||
// Redis host (implemented structures can also be an IHost, of course)
|
||||
type IRedisHost interface {
|
||||
DatabaseIndex()
|
||||
Pool()
|
||||
}
|
||||
|
||||
// Redis data structure creator
|
||||
type IRedisCreator interface {
|
||||
SelectDatabase(dbindex int)
|
||||
}
|
||||
|
||||
// Middleware for permissions
|
||||
type IPermissions interface {
|
||||
AddAdminPath(prefix string)
|
||||
AddPublicPath(prefix string)
|
||||
AddUserPath(prefix string)
|
||||
Clear()
|
||||
DenyFunction() http.HandlerFunc
|
||||
Rejected(w http.ResponseWriter, req *http.Request) bool
|
||||
ServeHTTP(w http.ResponseWriter, req *http.Request, next http.HandlerFunc)
|
||||
SetAdminPath(pathPrefixes []string)
|
||||
SetDenyFunction(f http.HandlerFunc)
|
||||
SetPublicPath(pathPrefixes []string)
|
||||
SetUserPath(pathPrefixes []string)
|
||||
UserState() IUserState
|
||||
}
|
||||
Reference in New Issue
Block a user