Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] changelog & doc update #300

Merged
merged 4 commits into from
Oct 10, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
88 changes: 86 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,91 @@
# Changelog

## 0.1.1 (2016-09-26)
## 0.1.1 (2016-10-10)

Alpha-Release

## 0.1.0 (2016-10-10)
### Client

* Add Stack list support + Stack management by Id & Name [#206](https://github.com/appcelerator/amp/pull/206)
* Add Stack restart by Id & Name command [#209](https://github.com/appcelerator/amp/pull/209)
* Client template standardization [#210](https://github.com/appcelerator/amp/issues/210)
* Add `amp stats [serviceName/serviceId]` support [#217](https://github.com/appcelerator/amp/pull/217)
* Add `amp logs [serviceName]` support [#222](https://github.com/appcelerator/amp/pull/222)
* Add stack state to `amp stack ls` [#223](https://github.com/appcelerator/amp/pull/223)
* Fix stack rollback [#226](https://github.com/appcelerator/amp/pull/226)
* Add quiet mode for stack ls `amp stack ls -q` [#230](https://github.com/appcelerator/amp/pull/230)
* Add Logs by stack [#242](https://github.com/appcelerator/amp/pull/242)
* Add service rm support [#253](https://github.com/appcelerator/amp/pull/253)
* Add registry ls and auto tag [#292](https://github.com/appcelerator/amp/pull/292)

### Documentation

* Documentation Update [#207](https://github.com/appcelerator/amp/pull/207)

### Runtime

* Etcd ListRaw & Watch feature addition [#213](https://github.com/appcelerator/amp/pull/213)
* Fix HAproxy [#231](https://github.com/appcelerator/amp/pull/231)
* Add stack-id and stack-name as labels in containers [#237](https://github.com/appcelerator/amp/pull/237)
* Add service labels [#249](https://github.com/appcelerator/amp/pull/249)
* Add env support to service [#244](https://github.com/appcelerator/amp/pull/244)
* Add replicated/global mode support for Service [#256](https://github.com/appcelerator/amp/pull/256)
* Fix `~/registry/data` automated creation [#285](https://github.com/appcelerator/amp/pull/285)

### Networking

* Networking basis enhancement - all services attached to amp-public by default [#204](https://github.com/appcelerator/amp/pull/204)
* Add Service network attachment [#266](https://github.com/appcelerator/amp/pull/266)

### Swarm

* AMP Swarm stop also removes user services [#234](https://github.com/appcelerator/amp/pull/234)

### Vendoring

* Fix broken glide install #296 (https://github.com/appcelerator/amp/pull/296)


## 0.1.0 (2016-09-23)

Limited Preview

### Build

* Add a shrink script to reduce image size [#156](https://github.com/appcelerator/amp/pull/156)

### Client

* Add Log support [#11](https://github.com/appcelerator/amp/issues/11)
* Log Streaming support [#66](https://github.com/appcelerator/amp/pull/66)
* Log Filtering support [#67](https://github.com/appcelerator/amp/pull/67)
* Add Stats support [#68](https://github.com/appcelerator/amp/pull/68)
* Streaming & Filtering support [#89](https://github.com/appcelerator/amp/pull/89)
* Add Registry Management features
* Push images [#155](https://github.com/appcelerator/amp/pull/155)
* Add Stack support [#160](https://github.com/appcelerator/amp/pull/160)
* Yaml parser support [#163](https://github.com/appcelerator/amp/pull/163)
* Stop/Remove stack [#196](https://github.com/appcelerator/amp/pull/196)
* Add Service support [#177](https://github.com/appcelerator/amp/pull/177)
* Service publication options [#197](https://github.com/appcelerator/amp/pull/197)
* Helpers integration [#200](https://github.com/appcelerator/amp/pull/200)

### Runtime

* HAproxy integration [#100](https://github.com/appcelerator/amp/pull/100)
* Etcd integration [#2](https://github.com/appcelerator/amp/pull/2)
* Kafka integration [#52](https://github.com/appcelerator/amp/pull/52)
* Registry integration [#155](https://github.com/appcelerator/amp/pull/155)
* ElasticSearch integrationo [#4](https://github.com/appcelerator/amp/pull/4)
* Telegraf/InfluxDB/Grafana/Kibana - TIGK stack integration for observability [#74](https://github.com/appcelerator/amp/pull/74)
* Zookeeper integration [#294](https://github.com/appcelerator/amp/pull/294)

### Swarm

* Swarm start/stop options [#16](https://github.com/appcelerator/amp/pull/16)
* Swarm monitor option [#33](https://github.com/appcelerator/amp/pull/33)

### Vendoring

* Glide update [#37](https://github.com/appcelerator/amp/pull/37)
* Add fixed dependencies support [#47](https://github.com/appcelerator/amp/pull/47)
6 changes: 0 additions & 6 deletions docs/README.md

This file was deleted.

Binary file removed docs/amp-demo.mp4
Binary file not shown.
194 changes: 194 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,194 @@
AMP: A... Microservices Platform ![WIP](./static_files/amp--docs-WIP-yellow.svg)
============================

AMP is currently under development and this section is here to help you get started based on latest stable tagged version of the project. If you're here, then you **ARE** pioneering with us and we encourage you to [get in touch](#Contribute) !


Prerequisites
===============

All of the infrastructure services and almost all tooling is completely
containerized:

* [Docker](https://www.docker.com/products/docker) - the container engine
* [Go](https://golang.org/) - Binary distribution for Go programming language
* [Glide](https://glide.sh/) - Package Management for Go
* `make` (almost all the Makefile rules execute in containers now)

AMP - Getting Started
==============

AMP can be installed either on your computer for building solutions or on servers for running them. To get started, [check out the installation instructions in the documentation](./installation/index.md)

AMP Usage
==============

AMP comes with a complete toolbox to help you manage & operate your solutions. Find below AMP client sample usage:

Swarm
--------------

Use the `swarm` shell script to launch amp cluster services. Available commands are:

* pull
* start
* ls
* restart
* stop
* monitor

The usual workflow looks like this:

$ ./swarm pull
$ sudo ./swarm start --min
$ ./swarm monitor
$ sudo ./swarm restart --min (equivalent to stop, pull, start)
$ sudo ./swarm stop

AMP Client
--------------

AMP currently uses GitHub authentication for logging in. The CLI command `amp login` will use your GitHub credentials to authenticate
you via GitHub. You need to be a member of the AMP team in the Appcelerator organization to be authorized. For the GitHub OAuth flow
to work, you need to start `amplifier` with a client ID and secret before you can run the `amp login` command. Follow these instructions
for now:

* [Create](https://github.com/settings/applications/new) an OAuth application (to simulate the amp backend)
* Note the `Client ID` and `Client Secret`
* Start `amplifier` with the following flags:
$ amplifier --clientid <Client ID> --clientsecret <Client Secret> &
* Use the CLI to login
$ amp login
* When prompted, enter username, password, and two-factor auth code

### Logs

The `amp logs` command is used to query or stream logs. It provides useful filtering options to manage what is presented.

$ amp logs --help

Search through all the logs of the system and fetch entries matching provided criteria.

Usage:
amp logs [flags]

Flags:
--container string Filter by the given container id
-f, --follow Follow log output
--from string Fetch from the given index (default "-1")
--message string Filter the message content by the given pattern
-m, --meta Display entry metadata
--node string Filter by the given node id
-n, --number string Number of results (default "100")
--service-id string Filter by the given service id
--service-name string Filter by the given service name

Global Flags:
--Config string Config file (default is $HOME/.amp.yaml)
--server string Server address (default "localhost:50101")
--target string target environment ("local"|"virtualbox"|"aws") (default "local")
-v, --verbose verbose output


A few useful examples:

* To fetch and follow all the logs from the platform:
```
$ amp logs -f
```

* To fetch and follow the logs for a specific service, with the message content only:
```
$ amp logs -f --service_name etcd
```

### Stats

The `amp stats` command provides useful information about resource consumption. There is a comprensive set of options
to query and monitor specfic metrics that complements and extends what is visible in the web dashboard (http://localhost:6001).

$ amp stats --help

Get statistics on containers, services, nodes about cpu, memory, io, net.

Usage:
amp stats [flags]

Flags:
--container display stats on containers
--container-id string filter on container id
--container-name string filter on container name
--cpu display cpu stats
--datacenter string filter on datacenter
-f, --follow Follow stat output
--host string filter on host
--image string filter on container image name
--io display disk io stats
--mem display memory stats
--net display net rx/tx stats
--node display stats on nodes
--node-id string filter on node id
--period string historic period of metrics extraction, duration + time-group as 1m, 10m, 4h, see time-group
--service displat stats on services
--service-id string filter on service id
--service-name string filter on service name
--since string date defining when begin the historic metrics extraction, format: YYYY-MM-DD HH:MM:SS.mmm
--task display stats on tasks
--task-id string filter on task id
--task-name string filter on task name
--time-group string historic extraction group can be: s:seconds, m:minutes, h:hours, d:days, w:weeks
--until string date defining when stop the historic metrics extraction, format: YYYY-MM-DD HH:MM:SS.mmm

Global Flags:
--Config string Config file (default is $HOME/.amp.yaml)
--target string target environment ("local"|"virtualbox"|"aws") (default "local")
-v, --verbose verbose output

A few useful examples:

* To display list of services with cpu, mem, io, net metrics and follow them
```
$ amp stats --service -f
```

* To display last 10 minutes of historic of the containers of service kafka with cpu, mem, io, net metrics and follow them:
```
$ amp stats --container --service-name=kafka --period=10m -f
```

* To display list of tasks with only cpu and mem metrics
```
$ amp stats --task --cpu --mem
```


<a name="Contribute"></a>Contributing to AMP ![WIP](static_files/amp--docs-WIP-yellow.svg)
======================

Want to hack on AMP? Awesome! We have [instructions to help you get
started contributing code or documentation is on the way](misc/who-written-for.md).

These instructions are probably not perfect, please let us know if anything
feels wrong or incomplete. Better yet, submit a PR and improve them yourself.


### Talking to other AMP users and contributors

<table class="tg">
<col width="45%">
<col width="65%">
<tr>
<td>Gitter&nbsp;Chat&nbsp;</td>
<td>
<p>
<a href="https://gitter.im/appcelerator/amp" target="_blank">our chat room</a>.
</p>
</td>
</tr>
<tr>
<td>AMP Slack Channel</td>
<td>
Come join us on the #amp-community channel.
</td>
</tr>
</table>
52 changes: 52 additions & 0 deletions docs/installation/binaries.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Installation from binaries

**This instruction set is meant for hackers who want to try out AMP
on a variety of environments.**

Before following these directions, you should really check if a packaged
version of AMP is already available for your distribution. We have
packages for many distributions, and more keep showing up all the time!

## Check runtime dependencies


## Check kernel dependencies


> **Warning**:
> Installing custom kernels and kernel packages is probably not
> supported by your Linux distribution's vendor. Please make sure to
> ask your vendor about Docker support first before attempting to
> install custom kernels on your distribution.

> **Warning**:
> Installing a newer kernel might not be enough for some distributions
> which provide packages which are too old or incompatible with
> newer kernels.

Note that AMP also has a client mode, which can run on virtually any
Linux kernel (it even builds on OS X!).

## Enable AppArmor and SELinux when possible


## Get the AMP binaries

### Get the Linux binaries

#### Install the Linux binaries

#### Run AMP on Linux

### Get the Mac OS X binary

### Get the Windows binary


## Giving non-root access


## Upgrade AMP


## Next steps
Loading