antikythera v0.2.0 API Reference

Modules

Definition of macro to make mapping of asset URLs from their file paths

Antikythera’s “async job” functionality allows gears to run their code in background

Utilities involving Code module, used for metaprogramming

Definition of Antikythera.Conn struct, which represents a client-server connection

Definition of Antikythera.Context struct which represents a context for an execution of gear code

Helper module to bulk-import many controller-related modules

Macro definition for plug DSL

Calculate time schedules based on cron format strings

Easy to use data encryption/decryption utilities

Domain name format, originally defined in RFC1034

Email address format, defined in RFC5321, and RFC5322. There are some differences from original RFCs for simplicity

Utility functions to work with enumerables

Module to provide helpers to access environment variables defined by antikythera

Type module for error that describes what went wrong during a process execution

Template for gear application module

Helper module to define interface module for alerting

Helper module to define getter functions of gear configs

Helper module for gear’s custom error handler

Helper module to define each gear’s G2g module that contains interface for gear-to-gear communication

Helper module to define each gear’s Logger module

Helper module to define interface module to submit custom metrics data

Type module to represent gear names as atoms

A thin wrapper around Gettext.__using__/1 to forward error logs to each gear’s logger

HTTP headers as a map

HTTP client library

Just wrapping Httpc without any modification. Can be mocked with :meck.expect(Httpc.Mockable, :request, ...) without interfering other Httpc action

Type for Antikythera.Httpc’s request body

A struct to represent an HTTP response

An IMF-fixdate format of date/time. Used in HTTP headers. Only ‘GMT’ is allowed as timezone string

Functions to parse/compare IP addresses

A strict subset of ISO8601 format of timestamp

ISO8601 basic format

Utilities to manipulate Elixir AST

Utility functions to work with maps

Helper functions for making mix tasks in gears

Utility functions to work with nested maps

A type module to represent URI-encoded segment of URL path

Plug to restrict access to controller action by basic authentication

Plug to automatically load flash messages from session

Plug to restrict access to controller action only from within specified IP ranges

Plug to set a fixed value of cache-control response header in order to disable client side caching

Plug to automatically load/store session information using a specific session store. Uses cookie store by default

A global (cluster-wide) process registry for implementing publisher-subscriber communication pattern

A global (cluster-wide) process registry to implement 1-to-1 process communications

Defines the antikythera routing DSL

Internal functions to implement request routing

Internal helper functions for macros in Antikythera.Router, to generate/implement reverse routing functions

Definition of data structure to work with session

Implementation of Antikythera.Session.Store that stores session info in cookie

Behaviour of session store

Definition of macro to precompile HAML templates

Helpers for tests that target async jobs

Helpers to be used in each gear’s test/test_helper.exs

Helper functions to construct Antikythera.Conn object, to be used within tests

Helper functions to set gear configs from within gears’ test code

Helpers to work with gear logs within tests

Helper functions to be used within tests for GenServers

Helper functions to work with processes in test code

Websocket client for gear tests

Data structure to represent date and time in milli-seconds resolution

URL format, originally defined in RFC1738, and updated in RFC3986 as a subset of URI

Format of versions of antikythera instances and gears

Functions to convert numeric values into human-readable strings

Behaviour module for websocket handlers

Simplified data type for websocket frames

Convenient XML parser module wrapping fast_xml

:gen_event callback module that reports number of errors to AntikytheraCore.ErrorCountsAccumulator process

Behaviour module for alert handlers

Alert handler implementation with email backend. This is considered ‘default’ alert backend and used for testing of AntikytheraCore.Alert.Manager

Type module for map of configurations for a single alert handler

Type module for map of all alert configurations for a single OTP application (antikythera or a gear)

Backend handler for Logger, which notifies AntikytheraCore.Alert.Manager of error events

A queue-like data structure, replicated using RaftedValue, to store AntikytheraCore.AsyncJob structs

ID of instance that is visible to gear developers

A GenServer that periodically fetches current members of the cluster (all existing hostnames and their lifecycle states) from underlying infrastructure

A GenServer that tries to keep connections to other known nodes

Utility functions to handle secret key which is used to encrypt/decrypt config files

Periodically polls antikythera’s config file and apply changes to the cache (in ETS table)

Translator for Logger, installed via config

A GenServer to hold number of errors reported to each OTP application’s alert manager process (implemented by AntikytheraCore.Alert.Manager)

A GenServer (whose lifecycle is managed by PoolSup.Multi) that executes gears’ controller actions

A broker that finds a pair of “a runnable job in job queue” and “an available AsyncJobRunner process in worker pool”

An ephemeral GenServer process under PoolSup that manages an execution of an async job

A GenServer to periodically send command to the leader process of the corresponding async job queue

A GenServer that periodically fetches usage of executor pool and submits it

A GenServer to count number of websocket connections that belong to the executor pool

Periodically polls changes in gear configs

Periodically polls gears’ executor pool settings and apply changes

Helpers to get/set context ID

A GenServer that writes log messages from each gear’s Logger process into a gzipped file

A GenServer to keep track of names of currently running gears

A much simplified version of Task module defined in the elixir standard library

Defines (1) a behaviour to compute metrics results from raw metrics data and (2) some implementations of the behaviour. “Raw metrics data” is values reported from other components (e.g. response time values). “Metrics results” are values that summarize characteristics of “raw metrics data” (e.g. average response time)

Aggregate strategy that calculates the average value of incoming raw metrics data

Aggregate strategy that simply takes the last value within each time window

Aggregate strategy for request counts. This calculates the following values from HTTP status codes of responses within a time window

Aggregate strategy that computes the sum of all values generated within each time window

Aggregate strategy for time distribution (such as response times). This calculates the following values from time durations generated within a time window

A bin-like data structure to hold per-minute, per-epool metrics data

Data structure to represent metrics results computed from raw metrics data. Results are map of metrics data by minute-epool

A GenServer which buffers metrics data and periodically flushes the aggregated results to stable storage

A GenServer that periodically removes extra nodes from mnesia schema

Generates a .appup file for the given application, start version, and upgrade version

A GenServer which periodically removes already unused artifact files for running gears

Manages progress of startup procedure of antikythera

A GenServer that periodically submit metrics about the ErlangVM

This is an implementation of EEx.Engine that auto-escape dynamic parts within HAML templates

A GenServer that caches tenant settings and apply changes to tenant executor pools

A GenServer that periodically checks the status of Node.self/0

A GenServer that keeps track of user pids of temporary directories

Functions to get information from “history” files

A GenServer which periodically polls deployable versions of antikythera instance and gears

A GenServer to serialize tasks to “upgrade of antikythera instance” and “installation or upgrade of gears”

Interface to mailer backend for Core/Gear alerts

Interface to work with storage of asset files

Interface to work with storage of log files

Interface to storage for metrics data. The storage is sliced per day

Mix Tasks

Generates a mix project for a new gear application

Prepares static assets for your gear

Deletes obsolete asset files in asset storage

Generates an appup file using the previous version located at the specified directory

Generates a new release tarball for antikythera instance using relx

Uploads assets to asset storage so that they can be delivered via CDN

Runs tests to ensure that antikythera’s upgrade doesn’t break backward-compatibility

Ensures only gear applications are specifed in gear_deps/0

Statically checks issues in gear’s source code

Touches source files that need to be recompiled