bin | ||
cloudapi-graphql | ||
control-tower | ||
design | ||
docker-graphql | ||
docs | ||
frontend | ||
nginx | ||
portal-api | ||
portal-data | ||
spikes | ||
ui | ||
.gitattributes | ||
.gitignore | ||
circle.yml | ||
CONTRIBUTING.md | ||
docker-compose.yml | ||
licence.js | ||
LICENSE | ||
local-compose.yml | ||
Makefile | ||
package.json | ||
README.md | ||
yarn.lock |
Prototype Triton Portal
This is a prototype project intended to explore some ideas that might contribute to new capabilities and a new user experience for managing applications on Joyent's Triton.
This is not intended for general use and is completely unsupported.
Our Principles
We have designed this product with these principles in mind (to be completed).
Our Design Library
We use inVision craft for our design components, you can downoad this library here and submit proposed changes to our Sketch wireframes here.
Documentation
Our workshop meeting notes are kept in this Google Drive folder. Our meeting notes are kept in this Google Drive folder.
Development
If you would like to contribute to the project, the recommended way to setup is to insure that you have docker installed, and optionally have a triton account and profile setup using the triton tool.
Currently requires yarn for installing dependencies,
as well as docker
and docker-compose
are installed correctly, this can be done by
running make
, make continues without any errors, then you are good to go. node-triton
is also needed if deployment to Triton is required.
make && make install
Then to run each individual component locally (subject to change).
Setup
make
Run services
To run the stack locally:
docker-compose -f local-compose.yml up -d
This will run the front-end at http://127.0.0.1:8000, the UI framework at http://127.0.0.1:8001,
Project Management
This project is using Github Projects for organisation and development of the Joyent Dashboard.
Repository Layout
Currently we are using this repository as a monolithic catch-all for all project communication, development and designs. We will also include multiple PoC's of various bits of functionality from UI's prototypes to API development.
.
├── cloudapi-graphql
├── docs
├── frontend
├── nginx
├── ui
└── spikes
cloudapi-graphql
An implementation of the Joyent CloudAPI in GraphQL.
Docs
Documentation about the project, mainly focused on information for the technical runnings of this project. Can be view online at the documentation website
frontend
The client side code with a dev-server, this also includes the production server for the meantime, however we are looking at moving towards a deployment of the build artifacts to manta, and another server to host these assets.
nginx
Nginx will be sitting in-front of the ui
service, allowing the ui
to scale out.
ui
Code for the reusable UI framework.
spikes
Implementation examples from spikes, this directory is experimental and is likely broken.
Git LFS
- We are using Git LFS to track large files, such as design files in Sketch.
- Make sure you have this downloaded locally
brew install git-lfs
Helpful tips
- If there is an error cloning to a new machine, or there is an error cloning in the Circle CI process run
git lfs push origin master --all
from a machine that has it already checked out.
Sketch Pre Commit
A pre-commit hook has been added to generate a PNG shot of each .sketch file "page".
To use, make sure the following are installed:
Then add following to your .git/config
[diff "sketchtool"]
textconv = "sketchtool dump"
cachetextconv = true