instio

module
v0.0.0-...-4de3c4e Latest Latest
Warning

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

Go to latest
Published: Mar 13, 2022 License: Apache-2.0

README

instio

Instantly generate Golang CMS framework components, paired with an easy to use API.

Usage
Local Development

Run local version:

$ bazel run --run_under "cd $PWD && " //cmd/instio:instio -- --hostname 0.0.0.0 run

Update go dependencies:

$ go mod tidy

Update dependencies from go.mod:

$ bazel run //:gazelle -- update-repos -from_file=go.mod -to_macro=DEPS.bzl%go_deps
Inspiration

Heavily inspired by ponzu.

Directories

Path Synopsis
cmd
instio
Package main is located in the cmd/instio directory and contains the code to build and operate the command line interface (CLI) to manage Instio systems.
Package main is located in the cmd/instio directory and contains the code to build and operate the command line interface (CLI) to manage Instio systems.
pkg
content
Package content contains all user-supplied content which the system is to manage.
Package content contains all user-supplied content which the system is to manage.
management/editor
Package editor enables users to create edit views from their content structs so that admins can manage content
Package editor enables users to create edit views from their content structs so that admins can manage content
management/format
Package format provides interfaces to format content into various kinds of data
Package format provides interfaces to format content into various kinds of data
management/manager
Package manager contains the admin UI to the CMS which wraps all content editor interfaces to manage the create/edit/delete capabilities of Instio content.
Package manager contains the admin UI to the CMS which wraps all content editor interfaces to manage the create/edit/delete capabilities of Instio content.
reference
Package reference is a Ponzu addon to enable content editors to create references to other content types which are stored as query strings within the referencer's content DB
Package reference is a Ponzu addon to enable content editors to create references to other content types which are stored as query strings within the referencer's content DB
system
Package system contains a collection of packages that make up the internal Instio system, which handles addons, administration, the Admin server, the API server, analytics, databases, search, TLS, and various internal types.
Package system contains a collection of packages that make up the internal Instio system, which handles addons, administration, the Admin server, the API server, analytics, databases, search, TLS, and various internal types.
system/addon
Package addon provides an API for Instio addons to interface with the system
Package addon provides an API for Instio addons to interface with the system
system/admin
Package admin desrcibes the admin view containing references to various managers and editors
Package admin desrcibes the admin view containing references to various managers and editors
system/admin/config
Package config provides a content type to manage the Instio system's configuration settings for things such as its name, domain, HTTP(s) port, email, server defaults and backups.
Package config provides a content type to manage the Instio system's configuration settings for things such as its name, domain, HTTP(s) port, email, server defaults and backups.
system/admin/upload
Package upload provides a re-usable file upload and storage utility for Instio systems to handle multipart form data.
Package upload provides a re-usable file upload and storage utility for Instio systems to handle multipart form data.
system/admin/user
Package user contains the basic admin user creation and authentication code, specific to Instio systems.
Package user contains the basic admin user creation and authentication code, specific to Instio systems.
system/api
Package api sets the various API handlers which provide an HTTP interface to Instio content, and include the types and interfaces to enable client-side interactivity with the system.
Package api sets the various API handlers which provide an HTTP interface to Instio content, and include the types and interfaces to enable client-side interactivity with the system.
system/api/analytics
Package analytics provides the methods to run an analytics reporting system for API requests which may be useful to users for measuring access and possibly identifying bad actors abusing requests.
Package analytics provides the methods to run an analytics reporting system for API requests which may be useful to users for measuring access and possibly identifying bad actors abusing requests.
system/db
Package db contains all interfaces to the databases used by Instio, including exported functions to easily manage addons, users, indices, search, content, and configuration.
Package db contains all interfaces to the databases used by Instio, including exported functions to easily manage addons, users, indices, search, content, and configuration.
system/item
Package item provides the default functionality to Instio's content/data types, how they interact with the API, and how to override or enhance their abilities using various interfaces.
Package item provides the default functionality to Instio's content/data types, how they interact with the API, and how to override or enhance their abilities using various interfaces.
system/search
Package search is a wrapper around the blevesearch/bleve search indexing and query package, and provides interfaces to extend Instio items with rich, full-text search capability.
Package search is a wrapper around the blevesearch/bleve search indexing and query package, and provides interfaces to extend Instio items with rich, full-text search capability.
system/tls
Package tls provides the functionality to Instio systems to encrypt HTTP traffic through the ability to generate self-signed certificates for local development and fetch/update production certificates from Let's Encrypt.
Package tls provides the functionality to Instio systems to encrypt HTTP traffic through the ability to generate self-signed certificates for local development and fetch/update production certificates from Let's Encrypt.

Jump to

Keyboard shortcuts

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