antikythera
  • API Reference
    • Modules
    • Mix Tasks
  • Antikythera Framework
    • Features
    • Basic architecture
    • Getting Started
    • Documentation
    • Contributing
    • Copyright and License
  • Antikythera Style Guide
    • Guidelines
    • Typespec
    • Module names
    • Order of module aliases
    • Do not abuse import
    • Function calling syntax
    • Using |> operator
  • Contributing Guide
    • Surveying and Discussions
    • Contributing to the antikythera code
  • Basics
  • Getting Started
  • Development Environment
    • Install Compilers and Build Tools
    • Prepare for Domain-based Routing
    • Environment variables to tweak behavior of antikythera
  • Dependency Management
    • Libraries available from gears
    • Specifying other gears as dependencies
    • Tools
  • Gear Development
  • For Gear Developers
    • Getting Started Guide
    • Setting up your development environment
    • Library dependencies
    • Automatic deployment
    • Web request routing
    • Gear to gear communication
    • Implementing controller action
    • Dynamic HTML generation using templates
    • Implementing websocket server
    • Asynchronous jobs
    • Executor pool for controlling computing resources
    • Logging
    • Metrics Reporting
    • Alerting
    • Gear config
    • Internationalization
    • Testing
    • What gear implementations must not do
    • Limitations
  • Deployment to Antikythera Instance
    • Antikythera's deployment policy
    • Gear's git repository
    • Deployment flow
    • About jenkins job settings
    • Tests executed by jenkins during deploy jobs
    • Troubleshoot errors during deploy
  • Web Requests Routing
    • Domain-based routing to a specific gear
    • Path-based routing to a specific controller action
  • Gear-to-Gear (g2g) Communication
    • Avoiding unnecessary body decoding/encoding
  • Implementing Controller
    • Handling errors
    • Response headers
  • Templates for Dynamic HTML
  • Websocket
    • Implementing websocket-enabled gear
    • Websocket connection process
  • Asynchronous Jobs
    • Usage example
  • “Executor Pool” for Resource Management
    • Purpose
    • How to choose target executor pool for the given task
    • Associations between gears and tenant executor pools
    • Managing capacity of executor pools
    • Limits for gear processes
  • Logging
    • Auto-generated log messages
    • Obtaining log files
  • Metrics Reporting
    • Auto-collected metrics
    • Custom metrics
    • Metrics search and visualization
  • Alerting
    • Alert behavior and configurations
  • Gear Config
    • Getting gear config
    • Setting gear config
  • Internationalization
    • Preparing translations
    • Workflow using Gettext mix tasks and macros
    • Setting locale for each web request
  • Testing
    • Libraries
    • Whitebox/blackbox testing and test modes
    • Secret in testing
  • What Gears Must Not Do
  • Limitations
  • Antikythera.Asset
    • Sections
      • Usage
      • Asset URLs during development
      • Retention/cleanup policy for asset files
    • Summary
    • Functions
      • list_asset_file_paths/0
      • retention_days/0
  • Antikythera.AsyncJob
    • Sections
      • Usage
    • Summary
    • Types
      • option/0
    • Callbacks
      • abandon/3
      • inspect_payload/1
      • run/3
    • Functions
      • cancel/3
      • list/1
      • status/2
  • Antikythera.AsyncJob.Attempts
    • Summary
    • Types
      • t/0
    • Functions
      • default/0
      • max/0
      • min/0
      • valid?/1
  • Antikythera.AsyncJob.Id
    • Summary
    • Types
      • t/0
    • Functions
      • generate/0
      • pattern/0
      • valid?/1
  • Antikythera.AsyncJob.MaxDuration
    • Summary
    • Types
      • t/0
    • Functions
      • default/0
      • max/0
      • min/0
      • valid?/1
  • Antikythera.AsyncJob.Metadata
    • Summary
    • Types
      • t/0
    • Functions
      • attempts/1
      • attempts/2
      • id/1
      • id/2
      • max_duration/1
      • max_duration/2
      • new/1
      • new!/1
      • remaining_attempts/1
      • remaining_attempts/2
      • retry_interval/1
      • retry_interval/2
      • run_at/1
      • run_at/2
      • update/2
      • update!/2
      • valid?/1
  • Antikythera.AsyncJob.RetryInterval
    • Summary
    • Types
      • t/0
    • Functions
      • default/0
      • interval/2
      • valid?/1
  • Antikythera.AsyncJob.RetryInterval.Base
    • Summary
    • Types
      • t/0
    • Functions
      • default/0
      • max/0
      • min/0
      • valid?/1
  • Antikythera.AsyncJob.RetryInterval.Factor
    • Summary
    • Types
      • t/0
    • Functions
      • default/0
      • max/0
      • min/0
      • valid?/1
  • Antikythera.AsyncJob.Schedule
    • Summary
    • Types
      • t/0
    • Functions
      • valid?/1
  • Antikythera.AsyncJob.StateLabel
    • Summary
    • Types
      • t/0
    • Functions
      • new/1
      • new!/1
      • valid?/1
      • values/0
  • Antikythera.AsyncJob.Status
    • Summary
    • Types
      • t/0
    • Functions
      • attempts/1
      • attempts/2
      • gear_name/1
      • gear_name/2
      • id/1
      • id/2
      • max_duration/1
      • max_duration/2
      • module/1
      • module/2
      • new/1
      • new!/1
      • payload/1
      • payload/2
      • remaining_attempts/1
      • remaining_attempts/2
      • retry_interval/1
      • retry_interval/2
      • schedule/1
      • schedule/2
      • start_time/1
      • start_time/2
      • state/1
      • state/2
      • update/2
      • update!/2
      • valid?/1
  • Antikythera.Aws.CloudfrontSignedUrl
    • Summary
    • Functions
      • generate_signed_url/5
      • generate_signed_url_using_custom_policy/6
  • Antikythera.CodeUtil
    • Summary
    • Functions
      • doc_by_mfa!/3
  • Antikythera.Conn
    • Summary
    • Types
      • t/0
    • Functions
      • assign/3
      • assigns/1
      • assigns/2
      • before_send/1
      • before_send/2
      • clear_session/1
      • context/1
      • context/2
      • delete_session/2
      • destroy_session/1
      • get_flash/2
      • get_req_cookie/2
      • get_req_cookies/1
      • get_req_header/2
      • get_req_query/2
      • get_session/2
      • json/3
      • new/1
      • new!/1
      • no_cache/1
      • put_flash/3
      • put_resp_body/2
      • put_resp_cookie/4
      • put_resp_cookie_to_revoke/2
      • put_resp_header/3
      • put_resp_headers/2
      • put_session/3
      • put_status/2
      • redirect/3
      • register_before_send/2
      • render/5
      • renew_session/1
      • request/1
      • request/2
      • resp_body/1
      • resp_body/2
      • resp_cookies/1
      • resp_cookies/2
      • resp_headers/1
      • resp_headers/2
      • send_priv_file/3
      • status/1
      • status/2
      • update/2
      • update!/2
      • valid?/1
  • Antikythera.Conn.Assigns
    • Summary
    • Types
      • t/0
    • Functions
      • default/0
      • valid?/1
  • Antikythera.Conn.BeforeSend
    • Summary
    • Types
      • t/0
    • Functions
      • default/0
      • valid?/1
  • Antikythera.Context
    • Summary
    • Types
      • t/0
    • Functions
      • context_id/1
      • context_id/2
      • executor_pool_id/1
      • executor_pool_id/2
      • gear_entry_point/1
      • gear_entry_point/2
      • gear_name/1
      • gear_name/2
      • new/1
      • new!/1
      • start_time/1
      • start_time/2
      • update/2
      • update!/2
      • valid?/1
  • Antikythera.Context.GearEntryPoint
    • Summary
    • Types
      • t/0
    • Functions
      • valid?/1
  • Antikythera.ContextId
    • Summary
    • Types
      • t/0
    • Functions
      • pattern/0
      • system_context/0
      • valid?/1
  • Antikythera.Controller
  • Antikythera.Controller.Plug
    • Sections
      • Usage
    • Summary
    • Functions
      • plug/4
  • Antikythera.CowboyWildcardSubdomain
    • Summary
    • Types
      • t/0
    • Functions
      • pattern/0
      • valid?/1
  • Antikythera.Cron
    • Sections
      • Schedule format
    • Summary
    • Types
      • t/0
    • Functions
      • day_of_month/1
      • day_of_month/2
      • day_of_week/1
      • day_of_week/2
      • hour/1
      • hour/2
      • minute/1
      • minute/2
      • month/1
      • month/2
      • new/1
      • new!/1
      • next/2
      • next_in_epoch_milliseconds/2
      • parse/1
      • parse!/1
      • source/1
      • source/2
      • update/2
      • update!/2
      • valid?/1
  • Antikythera.Cron.DayOfMonth
    • Summary
    • Types
      • t/0
    • Functions
      • max/0
      • min/0
      • valid?/1
  • Antikythera.Cron.DayOfMonth.Int
    • Summary
    • Types
      • t/0
    • Functions
      • max/0
      • min/0
      • valid?/1
  • Antikythera.Cron.DayOfWeek
    • Summary
    • Types
      • t/0
    • Functions
      • max/0
      • min/0
      • valid?/1
  • Antikythera.Cron.DayOfWeek.Int
    • Summary
    • Types
      • t/0
    • Functions
      • max/0
      • min/0
      • valid?/1
  • Antikythera.Cron.Hour
    • Summary
    • Types
      • t/0
    • Functions
      • max/0
      • min/0
      • valid?/1
  • Antikythera.Cron.Hour.Int
    • Summary
    • Types
      • t/0
    • Functions
      • max/0
      • min/0
      • valid?/1
  • Antikythera.Cron.Minute
    • Summary
    • Types
      • t/0
    • Functions
      • max/0
      • min/0
      • valid?/1
  • Antikythera.Cron.Minute.Int
    • Summary
    • Types
      • t/0
    • Functions
      • max/0
      • min/0
      • valid?/1
  • Antikythera.Cron.Month
    • Summary
    • Types
      • t/0
    • Functions
      • max/0
      • min/0
      • valid?/1
  • Antikythera.Cron.Month.Int
    • Summary
    • Types
      • t/0
    • Functions
      • max/0
      • min/0
      • valid?/1
  • Antikythera.Crypto
    • Summary
    • Functions
      • secure_compare/2
  • Antikythera.Crypto.Aes
    • Sections
      • Deriving an AES key from given password
      • Transparent handling of initialization vector
      • Associated Authenticated Data (AAD) for GCM
    • Summary
    • Types
      • key128/0
    • Functions
      • ctr128_decrypt/3
      • ctr128_encrypt/3
      • gcm128_decrypt/4
      • gcm128_encrypt/4
  • Antikythera.Domain
    • Summary
    • Types
      • t/0
    • Functions
      • pattern/0
      • pattern_body/0
      • valid?/1
  • Antikythera.DomainList
    • Summary
    • Types
      • t/0
    • Functions
      • max_length/0
      • valid?/1
  • Antikythera.Email
    • Summary
    • Types
      • t/0
    • Functions
      • pattern/0
      • valid?/1
  • Antikythera.EncodedPath
    • Summary
    • Types
      • t/0
    • Functions
      • pattern/0
      • valid?/1
  • Antikythera.EnumUtil
    • Summary
    • Types
      • context/0
      • element/0
    • Functions
      • find!/2
      • find_value!/2
      • map_with_context/3
  • Antikythera.Env
    • Sections
      • Environments and deployments
    • Summary
    • Types
      • t/0
    • Functions
      • antikythera_instance_name/0
      • asset_base_url/1
      • base_url/1
      • compile_env/0
      • compiling_for_cloud?/0
      • compiling_for_mix_task?/0
      • compiling_for_release?/0
      • default_base_url/2
      • gear_action_timeout/0
      • new/1
      • new!/1
      • no_listen?/0
      • port_to_listen/0
      • running_in_cloud?/0
      • running_on_mix_task?/0
      • running_with_release?/0
      • runtime_env/0
      • valid?/1
      • values/0
  • Antikythera.Env.Mapping
    • Summary
    • Functions
      • cloud?/1
      • env_var_to_atom/1
  • Antikythera.ErrorReason
    • Summary
    • Types
      • gear_action_error_reason/0
      • stack_item/0
      • stacktrace/0
      • t/0
    • Functions
      • format/2
      • valid?/1
  • Antikythera.ExecutorPool.BadIdReason
    • Summary
    • Types
      • t/0
    • Functions
      • valid?/1
  • Antikythera.ExecutorPool.Id
    • Summary
    • Types
      • nopool_t/0
      • t/0
    • Functions
      • nopool/0
      • to_string/1
      • valid?/1
  • Antikythera.FastJasonEncoder
    • Summary
    • Functions
      • encode/1
      • encode/2
      • encode!/1
  • Antikythera.FastJasonEncoder.Wrapper
  • Antikythera.G2gRequest
    • Summary
    • Types
      • t/0
    • Functions
      • body/1
      • body/2
      • cookies/1
      • cookies/2
      • from_web_request/1
      • headers/1
      • headers/2
      • method/1
      • method/2
      • new/1
      • new!/1
      • path/1
      • path/2
      • query_params/1
      • query_params/2
      • update/2
      • update!/2
      • valid?/1
  • Antikythera.G2gResponse
    • Summary
    • Types
      • t/0
    • Functions
      • body/1
      • body/2
      • cookies/1
      • cookies/2
      • decode_body/1
      • headers/1
      • headers/2
      • new/1
      • new!/1
      • status/1
      • status/2
      • update/2
      • update!/2
      • valid?/1
  • Antikythera.GearActionTimeout
    • Summary
    • Types
      • t/0
    • Functions
      • default/0
      • max/0
      • min/0
      • valid?/1
  • Antikythera.GearApplication
    • Summary
    • Types
      • child_spec/0
    • Callbacks
      • children/0
      • executor_pool_for_web_request/1
  • Antikythera.GearApplication.AlertManager
  • Antikythera.GearApplication.ConfigGetter
    • Summary
    • Functions
      • cleanup_configs_in_process_dictionary/0
  • Antikythera.GearApplication.ErrorHandler
  • Antikythera.GearApplication.G2g
  • Antikythera.GearApplication.Logger
  • Antikythera.GearApplication.MetricsUploader
  • Antikythera.GearName
    • Summary
    • Types
      • t/0
    • Functions
      • valid?/1
  • Antikythera.GearNameStr
    • Summary
    • Types
      • t/0
    • Functions
      • pattern/0
      • valid?/1
  • Antikythera.Gettext
  • Antikythera.Http
  • Antikythera.Http.Body
    • Summary
    • Types
      • t/0
    • Functions
      • default/0
      • valid?/1
  • Antikythera.Http.Headers
    • Summary
    • Types
      • t/0
    • Functions
      • default/0
      • valid?/1
  • Antikythera.Http.Method
    • Summary
    • Types
      • t/0
    • Functions
      • all/0
      • from_string/1
      • new/1
      • new!/1
      • to_string/1
      • valid?/1
      • values/0
  • Antikythera.Http.QueryParams
    • Summary
    • Types
      • t/0
    • Functions
      • default/0
      • valid?/1
  • Antikythera.Http.RawBody
    • Summary
    • Types
      • t/0
    • Functions
      • default/0
      • valid?/1
  • Antikythera.Http.ReqCookiesMap
    • Summary
    • Types
      • t/0
    • Functions
      • default/0
      • valid?/1
  • Antikythera.Http.SetCookie
    • Summary
    • Types
      • options_t/0
      • t/0
    • Functions
      • domain/1
      • domain/2
      • http_only/1
      • http_only/2
      • max_age/1
      • max_age/2
      • new/1
      • new!/1
      • parse!/1
      • path/1
      • path/2
      • secure/1
      • secure/2
      • update/2
      • update!/2
      • valid?/1
      • value/1
      • value/2
  • Antikythera.Http.SetCookiesMap
    • Summary
    • Types
      • t/0
    • Functions
      • default/0
      • new/1
      • new!/1
      • valid?/1
  • Antikythera.Http.Status
    • Summary
    • Types
      • t/0
    • Functions
      • code/1
      • valid?/1
  • Antikythera.Http.Status.Atom
    • Summary
    • Types
      • t/0
    • Functions
      • new/1
      • new!/1
      • valid?/1
      • values/0
  • Antikythera.Http.Status.Int
    • Summary
    • Types
      • t/0
    • Functions
      • max/0
      • min/0
      • valid?/1
  • Antikythera.Httpc
    • Sections
      • Body format
      • Options
    • Summary
    • Functions
      • default_max_body/0
      • delete/3
      • delete!/3
      • get/3
      • get!/3
      • head/3
      • head!/3
      • maximum_max_body/0
      • options/3
      • options!/3
      • patch/4
      • patch!/4
      • post/4
      • post!/4
      • put/4
      • put!/4
      • request/5
      • request!/5
  • Antikythera.Httpc.Mockable
    • Summary
    • Functions
      • delete/3
      • delete!/3
      • get/3
      • get!/3
      • head/3
      • head!/3
      • options/3
      • options!/3
      • patch/4
      • patch!/4
      • post/4
      • post!/4
      • put/4
      • put!/4
      • request/5
      • request!/5
  • Antikythera.Httpc.ReqBody
    • Summary
    • Types
      • json_obj/0
      • t/0
    • Functions
      • convert_body_and_headers_by_body_type/2
      • valid?/1
  • Antikythera.Httpc.Response
    • Summary
    • Types
      • t/0
    • Functions
      • body/1
      • body/2
      • cookies/1
      • cookies/2
      • headers/1
      • headers/2
      • new/1
      • new!/1
      • status/1
      • status/2
      • update/2
      • update!/2
      • valid?/1
  • Antikythera.ImfFixdate
    • Summary
    • Types
      • t/0
    • Functions
      • pattern/0
      • valid?/1
  • Antikythera.IpAddress
  • Antikythera.IpAddress.V4
    • Summary
    • Types
      • range/0
      • u32/0
    • Functions
      • parse/1
      • parse!/1
      • parse_range!/1
      • range_include?/2
  • Antikythera.IpAddress.V6
  • Antikythera.IsoTimestamp
    • Summary
    • Types
      • t/0
    • Functions
      • valid?/1
  • Antikythera.IsoTimestamp.Basic
    • Summary
    • Types
      • t/0
    • Functions
      • valid?/1
  • Antikythera.MacroUtil
    • Summary
    • Functions
      • prewalk_accumulate/3
  • Antikythera.MapUtil
    • Summary
    • Functions
      • difference/2
      • map_values/2
      • update_existing/3
  • Antikythera.Memcache
    • Sections
      • Usage
      • Limits
      • Lifetime of records
      • Mechanism of Expiration
    • Summary
    • Functions
      • read/2
      • read_or_else_write/5
      • write/5
  • Antikythera.Memcache.Key
    • Summary
    • Types
      • t/0
    • Functions
      • max_size/0
      • valid?/1
  • Antikythera.Memcache.NormalizedFloat
    • Summary
    • Types
      • t/0
    • Functions
      • max/0
      • min/0
      • valid?/1
  • Antikythera.Memcache.Value
    • Summary
    • Types
      • t/0
    • Functions
      • max_size/0
      • valid?/1
  • Antikythera.Metrics.Data
    • Summary
    • Types
      • t/0
    • Functions
      • valid?/1
  • Antikythera.Metrics.DataList
    • Summary
    • Types
      • t/0
    • Functions
      • min_length/0
      • valid?/1
  • Antikythera.MilliSecondsInGregorian
    • Summary
    • Types
      • t/0
    • Functions
      • min/0
      • time_epoch_offset_milliseconds/0
      • valid?/1
  • Antikythera.MilliSecondsSinceEpoch
    • Summary
    • Types
      • t/0
    • Functions
      • min/0
      • valid?/1
  • Antikythera.Mix.Task
    • Summary
    • Functions
      • prepare_antikythera_instance/0
      • set_node_id_to_gear_log_context/1
  • Antikythera.NestedMap
    • Summary
    • Functions
      • deep_merge/2
      • force_update/3
      • update_existing_in/3
  • Antikythera.NodeId
    • Summary
    • Types
      • t/0
    • Functions
      • pattern/0
      • pattern_string/0
      • valid?/1
  • Antikythera.PathInfo
    • Summary
    • Types
      • t/0
    • Functions
      • valid?/1
  • Antikythera.PathSegment
    • Summary
    • Types
      • t/0
    • Functions
      • charclass/0
      • pattern/0
      • valid?/1
  • Antikythera.Plug.BasicAuthentication
    • Sections
      • Usage
    • Summary
    • Functions
      • check_with_config/2
      • check_with_fun/2
  • Antikythera.Plug.ContentDecoding
    • Sections
      • Usage
    • Summary
    • Functions
      • decode/2
  • Antikythera.Plug.Flash
    • Sections
      • Usage
    • Summary
    • Functions
      • load/2
  • Antikythera.Plug.IpFiltering
    • Sections
      • Usage
      • gear-to-gear requests
    • Summary
    • Types
      • arg_gear_config/0
      • arg_static/0
    • Functions
      • check_by_gear_config/2
      • check_by_static_ranges/2
      • run_check_on_cloud/3
  • Antikythera.Plug.NoCache
    • Sections
      • Usage
    • Summary
    • Functions
      • header_value/0
      • put_resp_header/2
  • Antikythera.Plug.Session
    • Sections
      • Usage
    • Summary
    • Types
      • load_option_t/0
    • Functions
      • load/2
  • Antikythera.Registry
    • Summary
    • Types
      • name/0
  • Antikythera.Registry.Group
    • Summary
    • Functions
      • join/2
      • leave/2
      • publish/3
  • Antikythera.Registry.Unique
    • Summary
    • Functions
      • register/2
      • send_message/3
  • Antikythera.Request
    • Summary
    • Types
      • t/0
    • Functions
      • body/1
      • body/2
      • cookies/1
      • cookies/2
      • headers/1
      • headers/2
      • method/1
      • method/2
      • new/1
      • new!/1
      • path_info/1
      • path_info/2
      • path_matches/1
      • path_matches/2
      • query_params/1
      • query_params/2
      • raw_body/1
      • raw_body/2
      • sender/1
      • sender/2
      • update/2
      • update!/2
      • valid?/1
  • Antikythera.Request.PathMatches
    • Summary
    • Types
      • t/0
    • Functions
      • valid?/1
  • Antikythera.Request.Sender
    • Summary
    • Types
      • sender_ip/0
      • t/0
    • Functions
      • valid?/1
  • Antikythera.Router
    • Sections
      • Routing macros
      • Example
      • Websocket endpoint
      • Static file serving
      • Web requests and gear-to-gear (g2g) requests
      • Reverse routing
      • Per-API timeout
    • Summary
    • Functions
      • connect/4
      • delete/4
      • fully_qualified_controller_module/3
      • get/4
      • head/4
      • only_from_gear/1
      • only_from_web/1
      • options/4
      • patch/4
      • post/4
      • put/4
      • static_prefix/1
      • trace/4
      • websocket/2
  • Antikythera.Router.Impl
    • Summary
    • Functions
      • check_path_pattern/1
      • generate_route_function_clauses/3
      • route_clause_body/5
  • Antikythera.Router.Reverse
    • Summary
    • Functions
      • define_path_helper/2
      • make_path/3
  • Antikythera.SecondsSinceEpoch
    • Summary
    • Types
      • t/0
    • Functions
      • min/0
      • valid?/1
  • Antikythera.Session
    • Summary
    • Types
      • t/0
    • Functions
      • clear/1
      • data/1
      • data/2
      • delete/2
      • destroy/1
      • get/2
      • id/1
      • id/2
      • new/1
      • new!/1
      • put/3
      • renew/1
      • state/1
      • state/2
      • update/2
      • update!/2
      • valid?/1
  • Antikythera.Session.Cookie
  • Antikythera.Session.State
    • Summary
    • Types
      • t/0
    • Functions
      • new/1
      • new!/1
      • valid?/1
      • values/0
  • Antikythera.Session.Store
    • Summary
    • Types
      • session_id/0
      • session_kv/0
    • Callbacks
      • delete/1
      • load/1
      • save/2
  • Antikythera.StringFormat
    • Summary
    • Functions
      • pad2/1
      • pad3/1
  • Antikythera.TemplatePrecompiler
  • Antikythera.TemplateSanitizer
    • Summary
    • Types
      • safe/0
    • Functions
      • html_escape/1
      • raw/1
  • Antikythera.TenantId
    • Summary
    • Types
      • t/0
    • Functions
      • notenant/0
      • pattern/0
      • valid?/1
  • Antikythera.TermUtil
    • Summary
    • Functions
      • size/1
      • size_smaller_or_equal?/2
  • Antikythera.Test.AsyncJobHelper
    • Summary
    • Functions
      • reset_rate_limit_status/1
  • Antikythera.Test.Config
    • Summary
    • Functions
      • base_url/0
      • blackbox_test?/0
      • blackbox_test_secret/0
      • init/0
      • test_mode/0
      • whitebox_test_secret/0
  • Antikythera.Test.ConnHelper
    • Summary
    • Functions
      • make_conn/1
  • Antikythera.Test.GearConfigHelper
    • Summary
    • Functions
      • set_config/2
  • Antikythera.Test.GearLogHelper
    • Summary
    • Functions
      • set_context_id/1
  • Antikythera.Test.GenServerHelper
    • Summary
    • Functions
      • receive_cast_message/0
      • send_message_and_wait/2
  • Antikythera.Test.HttpClient
  • Antikythera.Test.ProcessHelper
    • Summary
    • Functions
      • flush/0
      • monitor_wait/1
  • Antikythera.Test.WebsocketClient
  • Antikythera.Time
    • Summary
    • Types
      • t/0
    • Functions
      • diff_milliseconds/2
      • from_epoch_milliseconds/1
      • from_gregorian_milliseconds/1
      • from_http_date/1
      • from_http_date!/1
      • from_iso_basic/1
      • from_iso_basic!/1
      • from_iso_timestamp/1
      • from_iso_timestamp!/1
      • new/1
      • now/0
      • shift_days/2
      • shift_hours/2
      • shift_milliseconds/2
      • shift_minutes/2
      • shift_seconds/2
      • to_epoch_milliseconds/1
      • to_gregorian_milliseconds/1
      • to_http_date/1
      • to_iso_basic/1
      • to_iso_timestamp/1
      • truncate_to_day/1
      • truncate_to_hour/1
      • truncate_to_minute/1
      • truncate_to_second/1
      • valid?/1
  • Antikythera.Tmpdir
    • Summary
    • Functions
      • make/2
  • Antikythera.TokenBucket
    • Summary
    • Functions
      • take/5
  • Antikythera.UnencodedPath
    • Summary
    • Types
      • t/0
    • Functions
      • pattern/0
      • segment_charclass/0
      • valid?/1
  • Antikythera.Url
    • Summary
    • Types
      • t/0
    • Functions
      • pattern/0
      • valid?/1
  • Antikythera.VersionStr
    • Summary
    • Types
      • t/0
    • Functions
      • pattern/0
      • valid?/1
  • Antikythera.View.Unit
    • Summary
    • Functions
      • bytes/1
  • Antikythera.Websocket
    • Sections
      • Example
      • Name registration
    • Summary
    • Types
      • callback_result/0
      • state/0
      • terminate_reason/0
    • Callbacks
      • connect/1
      • handle_client_message/3
      • handle_server_message/3
      • init/1
      • terminate/3
  • Antikythera.Websocket.Frame
    • Summary
    • Types
      • close_code/0
      • close_payload/0
      • t/0
    • Functions
      • valid?/1
  • Antikythera.Websocket.FrameList
    • Summary
    • Types
      • t/0
    • Functions
      • valid?/1
  • Antikythera.Xml
    • Sections
      • Access behaviour
    • Summary
    • Types
      • decode_option/0
      • encode_option/0
    • Functions
      • decode/2
      • decode!/1
      • decode!/2
      • encode/2
  • Antikythera.Xml.Content
    • Summary
    • Types
      • t/0
    • Functions
      • new/1
      • valid?/1
  • Antikythera.Xml.Element
    • Summary
    • Types
      • t/0
    • Functions
      • attributes/1
      • attributes/2
      • children/1
      • children/2
      • name/1
      • name/2
      • new/1
      • new!/1
      • update/2
      • update!/2
      • valid?/1
  • AntikytheraCore
    • Summary
    • Functions
      • add_translator_to_logger/0
      • start/2
  • AntikytheraCore.Alert.ErrorCountReporter
  • AntikytheraCore.Alert.Handler
    • Sections
      • Customization and installation of handlers
    • Summary
    • Callbacks
      • send_alerts/3
      • validate_config/1
  • AntikytheraCore.Alert.Handler.Email
    • Sections
      • Handler config
  • AntikytheraCore.Alert.HandlerConfig
    • Summary
    • Types
      • t/0
    • Functions
      • get/2
      • valid?/1
  • AntikytheraCore.Alert.HandlerConfigsMap
    • Summary
    • Types
      • t/0
    • Functions
      • get/1
      • valid?/1
  • AntikytheraCore.Alert.HandlerState
    • Summary
    • Types
      • t/0
    • Functions
      • busy?/1
      • busy?/2
      • handler_module/1
      • handler_module/2
      • message_buffer/1
      • message_buffer/2
      • new/1
      • new!/1
      • otp_app_name/1
      • otp_app_name/2
      • update/2
      • update!/2
      • valid?/1
  • AntikytheraCore.Alert.LoggerBackend
  • AntikytheraCore.Alert.Manager
    • Summary
    • Functions
      • child_spec/1
      • notify/3
      • schedule_handler_timeout/2
      • start_link/1
      • update_handler_installations/2
  • AntikytheraCore.Alert.Message
    • Summary
    • Types
      • t/0
    • Functions
      • new/1
      • new!/1
      • valid?/1
  • AntikytheraCore.AsyncJob
    • Summary
    • Types
      • t/0
    • Functions
      • attempts/1
      • attempts/2
      • compute_retry_interval/1
      • gear_name/1
      • gear_name/2
      • max_duration/1
      • max_duration/2
      • max_start_time_from_now/0
      • module/1
      • module/2
      • new/1
      • new!/1
      • payload/1
      • payload/2
      • register/5
      • remaining_attempts/1
      • remaining_attempts/2
      • retry_interval/1
      • retry_interval/2
      • schedule/1
      • schedule/2
      • update/2
      • update!/2
      • valid?/1
  • AntikytheraCore.AsyncJob.Queue
    • Summary
    • Types
      • t/0
    • Functions
      • abandoned_jobs/1
      • abandoned_jobs/2
      • add_job/5
      • brokers_to_notify/1
      • brokers_to_notify/2
      • brokers_waiting/1
      • brokers_waiting/2
      • cancel/2
      • fetch_job/1
      • index_runnable/1
      • index_runnable/2
      • index_running/1
      • index_running/2
      • index_waiting/1
      • index_waiting/2
      • jobs/1
      • jobs/2
      • list/1
      • make_rv_config/1
      • max_jobs/0
      • new/1
      • new!/1
      • remove_broker_from_waiting_list/1
      • remove_locked_job/2
      • start_jobs_and_get_metrics/1
      • status/2
      • unlock_job_for_retry/2
      • update/2
      • update!/2
      • valid?/1
  • AntikytheraCore.AsyncJob.Queue.Hook
  • AntikytheraCore.AsyncJob.Queue.IdJobPair
    • Summary
    • Types
      • t/0
    • Functions
      • new/1
      • new!/1
      • valid?/1
  • AntikytheraCore.AsyncJob.Queue.JobKey
    • Summary
    • Types
      • t/0
    • Functions
      • valid?/1
  • AntikytheraCore.AsyncJob.Queue.JobsMap
    • Summary
    • Types
      • t/0
    • Functions
      • new/1
      • new!/1
      • valid?/1
  • AntikytheraCore.AsyncJob.Queue.JobsMap.Triplet
    • Summary
    • Types
      • t/0
    • Functions
      • new/1
      • new!/1
      • valid?/1
  • AntikytheraCore.AsyncJob.Queue.SecondaryIndex
    • Summary
    • Types
      • t/0
    • Functions
      • valid?/1
  • AntikytheraCore.AsyncJob.RaftPerMemberOptionsMaker
  • AntikytheraCore.AsyncJob.RaftedValueConfigMaker
    • Summary
    • Functions
      • options/0
  • AntikytheraCore.AsyncJob.RateLimit
    • Summary
    • Functions
      • check_for_command/1
      • check_with_retry_for_query/3
      • max_tokens/0
      • milliseconds_per_token/0
      • tokens_per_command/0
  • AntikytheraCore.Cluster
    • Summary
    • Functions
      • connect_to_other_nodes/1
      • connect_to_other_nodes_on_start/0
      • node_to_host/1
  • AntikytheraCore.Cluster.NodeId
    • Summary
    • Functions
      • get/0
      • init/0
  • AntikytheraCore.ClusterHostsPoller
    • Summary
    • Functions
      • child_spec/1
      • current_hosts/0
      • start_link/1
  • AntikytheraCore.ClusterHostsPoller.Fetcher
    • Summary
    • Functions
      • run/0
  • AntikytheraCore.ClusterNodesConnector
    • Summary
    • Functions
      • child_spec/1
      • start_link/1
  • AntikytheraCore.Cmd
    • Summary
    • Functions
      • hostname/0
  • AntikytheraCore.Config.Core
    • Summary
    • Functions
      • dump_from_env_to_file/0
      • load/1
      • write/1
  • AntikytheraCore.Config.EncryptionKey
    • Summary
    • Types
      • t/0
    • Functions
      • get/0
      • init/0
  • AntikytheraCore.Config.Gear
    • Summary
    • Types
      • t/0
    • Functions
      • alerts/1
      • alerts/2
      • default/0
      • domains/1
      • domains/2
      • dump_all_from_env_to_file/0
      • ensure_loaded/1
      • internal_kv/1
      • internal_kv/2
      • kv/1
      • kv/2
      • load_all/1
      • log_level/1
      • log_level/2
      • new/1
      • new!/1
      • read/1
      • read_all/0
      • update/2
      • update!/2
      • valid?/1
      • write/2
  • AntikytheraCore.Config.Gear.CustomDomainList
    • Summary
    • Types
      • t/0
    • Functions
      • max_length/0
      • new/1
      • new!/1
      • valid?/1
  • AntikytheraCore.Conn
    • Summary
    • Functions
      • gear_name/1
      • make_from_cowboy_req/4
      • make_from_g2g_req_and_context/6
      • reply_as_cowboy_res/2
      • reply_as_g2g_res/1
      • request_info/1
      • run_before_send/2
      • validate/1
  • AntikytheraCore.Context
    • Summary
    • Functions
      • make/4
      • make_context_id/1
      • make_context_id/2
  • AntikytheraCore.Cookies
    • Summary
    • Functions
      • make_from_cowboy_req/1
      • merge_cookies_to_cowboy_req/2
  • AntikytheraCore.CoreConfigPoller
    • Summary
    • Functions
      • child_spec/1
      • start_link/1
  • AntikytheraCore.ErlangLogTranslator
    • Summary
    • Functions
      • translate/4
  • AntikytheraCore.ErrorCountsAccumulator
    • Summary
    • Types
      • results/0
    • Functions
      • child_spec/1
      • get/1
      • get_total/0
      • start_link/1
      • submit/2
  • AntikytheraCore.ErrorCountsAccumulator.State
    • Summary
    • Types
      • results/0
      • t/0
    • Functions
      • add/3
      • advance_to_next_minute/2
      • counts/1
      • counts/2
      • get/2
      • get_total/1
      • new/1
      • new!/1
      • now_minute/1
      • now_minute/2
      • update/2
      • update!/2
      • valid?/1
  • AntikytheraCore.ErrorCountsAccumulator.State.CountByMinute
    • Summary
    • Types
      • t/0
    • Functions
      • new/1
      • new!/1
      • valid?/1
  • AntikytheraCore.ErrorCountsAccumulator.State.CountByMinuteByApp
    • Summary
    • Types
      • t/0
    • Functions
      • new/1
      • new!/1
      • valid?/1
  • AntikytheraCore.Ets
    • Summary
    • Functions
      • create_read_optimized_table/1
      • init_all/0
  • AntikytheraCore.Ets.ConfigCache
    • Summary
    • Functions
      • init/0
      • table_name/0
  • AntikytheraCore.Ets.ConfigCache.Core
    • Summary
    • Functions
      • read/0
      • write/1
  • AntikytheraCore.Ets.ConfigCache.Gear
    • Summary
    • Functions
      • read/1
      • write/2
  • AntikytheraCore.Ets.GearActionRunnerPools
    • Summary
    • Functions
      • init/0
      • table_name/0
  • AntikytheraCore.Ets.Memcache
    • Summary
    • Functions
      • delete/2
      • init/0
      • read/2
      • table_name/0
      • write/5
  • AntikytheraCore.Ets.SystemCache
    • Summary
    • Functions
      • init/0
      • table_name/0
  • AntikytheraCore.Ets.TenantToGearsMapping
    • Summary
    • Functions
      • associated?/2
      • init/0
      • set/2
      • table_name/0
      • unset/1
  • AntikytheraCore.ExecutorPool
    • Summary
    • Functions
      • apply_setting/2
      • child_spec/1
      • kill_executor_pool/1
      • start_executor_pool/2
      • start_link/3
      • start_per_gear_executor_pool/1
  • AntikytheraCore.ExecutorPool.ActionRunner
    • Summary
    • Functions
      • child_spec/1
      • run/4
      • start_link/1
  • AntikytheraCore.ExecutorPool.AsyncJobBroker
    • Summary
    • Functions
      • child_spec/1
      • deactivate/1
      • notify_job_registered/1
      • notify_pool_capacity_may_have_changed/1
      • start_link/1
  • AntikytheraCore.ExecutorPool.AsyncJobBroker.Phase
    • Summary
    • Types
      • t/0
    • Functions
      • new/1
      • new!/1
      • valid?/1
      • values/0
  • AntikytheraCore.ExecutorPool.AsyncJobBroker.State
    • Summary
    • Types
      • t/0
    • Functions
      • new/1
      • new!/1
      • phase/1
      • phase/2
      • pool_name/1
      • pool_name/2
      • queue_name/1
      • queue_name/2
      • update/2
      • update!/2
      • valid?/1
  • AntikytheraCore.ExecutorPool.AsyncJobLog.Writer
    • Summary
    • Functions
      • child_spec/1
      • info/1
      • start_link/1
  • AntikytheraCore.ExecutorPool.AsyncJobRunner
    • Summary
    • Functions
      • abandon_callback_max_duration/0
      • child_spec/1
      • do_abandon/4
      • do_run/4
      • run/4
      • start_link/1
  • AntikytheraCore.ExecutorPool.Id
    • Summary
    • Functions
      • validate_association/2
  • AntikytheraCore.ExecutorPool.MemcacheWriter
    • Summary
    • Functions
      • child_spec/1
      • max_records/0
      • start_link/1
      • write/5
  • AntikytheraCore.ExecutorPool.RegisteredName
    • Summary
    • Functions
      • action_runner_pool_multi/1
      • action_runner_pool_multi_unsafe/1
      • async_job_broker/1
      • async_job_broker_unsafe/1
      • async_job_queue/1
      • async_job_queue_unsafe/1
      • async_job_runner_pool/1
      • async_job_runner_pool_unsafe/1
      • memcache_writer/1
      • memcache_writer_unsafe/1
      • supervisor/1
      • supervisor_unsafe/1
      • websocket_connections_counter/1
      • websocket_connections_counter_unsafe/1
  • AntikytheraCore.ExecutorPool.Setting
    • Summary
    • Types
      • t/0
    • Functions
      • all/0
      • default/0
      • n_pools_a/1
      • n_pools_a/2
      • new/1
      • new!/1
      • of_gear/1
      • pool_size_a/1
      • pool_size_a/2
      • pool_size_j/1
      • pool_size_j/2
      • update/2
      • update!/2
      • valid?/1
      • ws_max_connections/1
      • ws_max_connections/2
  • AntikytheraCore.ExecutorPool.Sup
    • Summary
    • Functions
      • child_spec/1
      • start_link/1
  • AntikytheraCore.ExecutorPool.TenantSetting
    • Summary
    • Types
      • t/0
    • Functions
      • associate_with_gear/2
      • default/0
      • disassociate_from_gear/2
      • fetch_all_modified/1
      • gears/1
      • gears/2
      • n_pools_a/1
      • n_pools_a/2
      • new/1
      • new!/1
      • persist_new_tenant_and_broadcast/2
      • pool_size_a/1
      • pool_size_a/2
      • pool_size_j/1
      • pool_size_j/2
      • update/2
      • update!/2
      • valid?/1
      • ws_max_connections/1
      • ws_max_connections/2
  • AntikytheraCore.ExecutorPool.TimedJobStarter
    • Summary
    • Functions
      • child_spec/1
      • start_link/1
  • AntikytheraCore.ExecutorPool.UsageReporter
    • Summary
    • Functions
      • child_spec/1
      • start_link/1
  • AntikytheraCore.ExecutorPool.WebsocketConnectionsCounter
    • Summary
    • Functions
      • child_spec/1
      • gradually_terminate_all_ws_connections/0
      • increment/2
      • set_max/2
      • start_link/1
      • start_terminating_all_ws_connections/0
      • stats/1
  • AntikytheraCore.ExecutorPool.WsConnectionsCapping
    • Summary
    • Functions
      • cap_based_on_available_memory/1
  • AntikytheraCore.FileSetup
    • Summary
    • Functions
      • setup_files_and_ets_tables/0
      • write_initial_antikythera_instance_version_to_history_if_non_cloud/1
  • AntikytheraCore.FileUtil
  • AntikytheraCore.GearConfigPoller
    • Summary
    • Functions
      • child_spec/1
      • start_link/1
  • AntikytheraCore.GearExecutorPoolsManager
    • Summary
    • Functions
      • child_spec/1
      • start_link/1
  • AntikytheraCore.GearLog.ContextHelper
    • Summary
    • Functions
      • get!/0
      • set/1
  • AntikytheraCore.GearLog.FileHandle
    • Summary
    • Types
      • t/0
    • Functions
      • close/1
      • open/2
      • restore_write_to_terminal/1
      • rotate/1
      • set_write_to_terminal/2
      • write/2
  • AntikytheraCore.GearLog.FileHandle.SizeCheck
    • Summary
    • Functions
      • check_now?/2
      • exceeds_limit?/1
  • AntikytheraCore.GearLog.Level
    • Summary
    • Types
      • t/0
    • Functions
      • default/0
      • from_string/1
      • new/1
      • new!/1
      • valid?/1
      • values/0
      • write_to_log?/2
  • AntikytheraCore.GearLog.LogRotation
    • Summary
    • Functions
      • init/3
      • restore_write_to_terminal/1
      • rotate/1
      • set_write_to_terminal/2
      • terminate/1
      • write_log/2
  • AntikytheraCore.GearLog.LogRotation.State
    • Summary
    • Types
      • t/0
    • Functions
      • empty?/1
      • empty?/2
      • file_handle/1
      • file_handle/2
      • interval/1
      • interval/2
      • new/1
      • new!/1
      • timer/1
      • timer/2
      • update/2
      • update!/2
      • valid?/1
  • AntikytheraCore.GearLog.Message
    • Summary
    • Types
      • t/0
  • AntikytheraCore.GearLog.Writer
    • Summary
    • Functions
      • child_spec/1
      • debug/2
      • debug/4
      • error/2
      • error/4
      • info/2
      • info/4
      • restore_write_to_terminal/1
      • rotate/1
      • rotate_and_start_upload_in_all_nodes/1
      • set_min_level/2
      • set_write_to_terminal/2
      • start_link/1
  • AntikytheraCore.GearLog.Writer.State
    • Summary
    • Types
      • t/0
    • Functions
      • log_state/1
      • log_state/2
      • min_level/1
      • min_level/2
      • new/1
      • new!/1
      • update/2
      • update!/2
      • uploader/1
      • uploader/2
      • valid?/1
  • AntikytheraCore.GearManager
    • Summary
    • Functions
      • child_spec/1
      • gear_started/1
      • gear_stopped/1
      • running_gear_names/0
      • start_link/1
  • AntikytheraCore.GearModule
    • Summary
    • Functions
      • alert_manager/1
      • alert_manager_unsafe/1
      • error_handler/1
      • error_handler_unsafe/1
      • logger/1
      • logger_unsafe/1
      • metrics_uploader/1
      • metrics_uploader_unsafe/1
      • request_helper_modules/1
      • root_supervisor/1
      • root_supervisor_unsafe/1
      • router/1
      • router_unsafe/1
      • template_module_from_context/1
      • top/1
  • AntikytheraCore.GearProcess
    • Summary
    • Functions
      • max_heap_size/0
      • set_max_heap_size/0
      • spawn_monitor/3
  • AntikytheraCore.GearTask
    • Summary
    • Types
      • mod_fun_args/0
    • Functions
      • exec_wait/4
  • AntikytheraCore.Handler.BodyParser
    • Summary
    • Functions
      • parse/1
  • AntikytheraCore.Handler.CowboyReq
    • Summary
    • Types
      • result/1
      • routing_info/0
    • Functions
      • method/1
      • path_info/1
      • query_params/2
      • request_body_pair/4
      • with_conn/5
  • AntikytheraCore.Handler.CowboyRouting
    • Summary
    • Functions
      • compiled_routes/2
      • conflicts_with_default_domain?/2
      • default_domain/2
      • update_routing/2
  • AntikytheraCore.Handler.ExecutorPoolHelper
    • Summary
    • Functions
      • increment_ws_count/4
      • with_executor/4
  • AntikytheraCore.Handler.GearAction
    • Summary
    • Functions
      • split_path_to_segments/1
      • with_logging_and_metrics_reporting/3
  • AntikytheraCore.Handler.GearAction.G2g
    • Summary
    • Functions
      • handle/3
  • AntikytheraCore.Handler.GearAction.Web
    • Summary
    • Types
      • http_reply/0
      • ws_upgrade/0
  • AntikytheraCore.Handler.GearError
    • Summary
    • Functions
      • bad_executor_pool_id/2
      • bad_request/1
      • error/3
      • internal_error_body/3
      • no_route/1
      • ws_too_many_connections/1
  • AntikytheraCore.Handler.Healthcheck
  • AntikytheraCore.Handler.Healthcheck.Initialized
  • AntikytheraCore.Handler.Healthcheck.Uninitialized
  • AntikytheraCore.Handler.HelperModules
    • Summary
    • Types
      • t/0
    • Functions
      • logger/1
      • logger/2
      • metrics_uploader/1
      • metrics_uploader/2
      • new/1
      • new!/1
      • router/1
      • router/2
      • top/1
      • top/2
      • update/2
      • update!/2
      • valid?/1
  • AntikytheraCore.Handler.SystemInfoExporter
  • AntikytheraCore.Handler.SystemInfoExporter.AccessToken
    • Summary
    • Functions
      • get/0
      • init/0
      • with_valid_token/2
  • AntikytheraCore.Handler.SystemInfoExporter.ErrorCount
  • AntikytheraCore.Handler.SystemInfoExporter.Upgradability
  • AntikytheraCore.Handler.SystemInfoExporter.Versions
  • AntikytheraCore.Handler.WebsocketState
    • Summary
    • Types
      • callback_result/0
      • cowboy_ws_terminate_reason/0
      • t/0
    • Functions
      • conn/1
      • conn/2
      • error_reason/1
      • error_reason/2
      • frames_received/1
      • frames_received/2
      • frames_sent/1
      • frames_sent/2
      • gear_impl_state/1
      • gear_impl_state/2
      • handle_client_message/2
      • handle_server_message/2
      • helper_modules/1
      • helper_modules/2
      • init/1
      • make/3
      • new/1
      • new!/1
      • terminate/2
      • update/2
      • update!/2
      • valid?/1
      • ws_module/1
      • ws_module/2
  • AntikytheraCore.Logger
    • Summary
    • Functions
      • error/1
      • info/1
  • AntikytheraCore.Metrics.AggregateStrategy
    • Summary
    • Types
      • data_t/0
      • results_t/0
      • t/0
    • Functions
      • name_to_module/1
      • new/1
      • new!/1
      • valid?/1
      • values/0
  • AntikytheraCore.Metrics.AggregateStrategy.Average
  • AntikytheraCore.Metrics.AggregateStrategy.Behaviour
    • Summary
    • Callbacks
      • init/1
      • merge/2
      • results/1
  • AntikytheraCore.Metrics.AggregateStrategy.Gauge
  • AntikytheraCore.Metrics.AggregateStrategy.Name
    • Summary
    • Types
      • t/0
    • Functions
      • new/1
      • new!/1
      • valid?/1
      • values/0
  • AntikytheraCore.Metrics.AggregateStrategy.RequestCount
  • AntikytheraCore.Metrics.AggregateStrategy.Sum
  • AntikytheraCore.Metrics.AggregateStrategy.TimeDistribution
  • AntikytheraCore.Metrics.Buffer
    • Summary
    • Types
      • epool_id/0
      • metrics_data_map/0
      • metrics_type/0
      • metrics_unit/0
      • metrics_value/0
      • minute/0
      • t/0
    • Functions
      • add/4
      • new/0
      • partition_ongoing_and_past/2
  • AntikytheraCore.Metrics.Results
    • Summary
    • Types
      • metrics_label/0
      • per_unit_results_map/0
      • t/0
    • Functions
      • compute_results/1
      • merge/2
      • new/0
  • AntikytheraCore.MetricsUploader
    • Summary
    • Functions
      • child_spec/1
      • start_link/1
      • submit/3
      • submit_custom_metrics/3
      • submit_with_time/4
  • AntikytheraCore.Mix.AssetList
    • Summary
    • Functions
      • load_all/2
      • write!/2
  • AntikytheraCore.MnesiaNodesCleaner
    • Summary
    • Functions
      • child_spec/1
      • start_link/1
  • AntikytheraCore.OsUtil
    • Summary
    • Functions
      • init/0
      • total_memory_size_in_bytes/0
  • AntikytheraCore.Path
    • Summary
    • Functions
      • antikythera_root_dir/0
      • atomic_write!/2
      • changed?/2
      • compiled_core_dir/0
      • compiled_gears_dir/0
      • config_encryption_key_path/0
      • core_config_file_path/0
      • core_log_file_path/1
      • gear_config_dir/0
      • gear_config_file_path/1
      • gear_log_dir/1
      • gear_log_file_path/1
      • gear_tmp_dir/0
      • history_dir/0
      • list_modified_files/2
      • raft_persistence_dir_parent/0
      • system_info_access_token_path/0
      • tenant_ids_file_path/0
      • tenant_setting_dir/0
      • tenant_setting_file_path/1
  • AntikytheraCore.PeriodicLog.MessageBuilder
    • Summary
    • Functions
      • build_log/1
      • init/0
  • AntikytheraCore.PeriodicLog.ReductionBuilder
    • Summary
    • Functions
      • build_log/1
      • init/0
  • AntikytheraCore.PeriodicLog.Writer
    • Summary
    • Functions
      • child_spec/1
      • start_link/1
  • AntikytheraCore.PeriodicLog.Writer.State
    • Summary
    • Types
      • t/0
    • Functions
      • build_mod/1
      • build_mod/2
      • build_state/1
      • build_state/2
      • log_state/1
      • log_state/2
      • new/1
      • new!/1
      • update/2
      • update!/2
      • valid?/1
  • AntikytheraCore.Release.Appup
    • Sections
      • Parameters for make/5
    • Summary
    • Functions
      • make/5
  • AntikytheraCore.Request
    • Summary
    • Functions
      • make_from_cowboy_req/6
  • AntikytheraCore.StaleGearArtifactCleaner
    • Summary
    • Functions
      • child_spec/1
      • start_link/1
  • AntikytheraCore.StartupManager
    • Summary
    • Functions
      • all_gears_installed/0
      • child_spec/1
      • initialized?/0
      • start_link/1
      • update_routing/1
  • AntikytheraCore.SystemMetricsReporter
    • Summary
    • Functions
      • child_spec/1
      • start_link/1
  • AntikytheraCore.TemplateEngine
    • Summary
    • Functions
      • to_safe_iodata/1
  • AntikytheraCore.TenantExecutorPoolsManager
    • Summary
    • Functions
      • all/0
      • child_spec/1
      • polling_interval/0
      • start_link/1
  • AntikytheraCore.TenantExecutorPoolsManager.OneOffFetcher
    • Summary
    • Functions
      • run/1
  • AntikytheraCore.TerminationManager
    • Summary
    • Functions
      • child_spec/1
      • register_broker/0
      • start_link/1
  • AntikytheraCore.TerminationManager.State
    • Summary
    • Types
      • t/0
    • Functions
      • brokers/1
      • brokers/2
      • in_service?/1
      • in_service?/2
      • log_flushed?/1
      • log_flushed?/2
      • new/0
      • new/1
      • new!/1
      • next/2
      • not_in_service_count/1
      • not_in_service_count/2
      • update/2
      • update!/2
      • valid?/1
  • AntikytheraCore.TmpdirTracker
    • Summary
    • Functions
      • child_spec/1
      • finished/0
      • get/1
      • request/1
      • start_link/1
  • AntikytheraCore.TmpdirTracker.State
    • Summary
    • Types
      • t/0
    • Functions
      • gear_tmp_dir/1
      • gear_tmp_dir/2
      • map/1
      • map/2
      • new/1
      • new!/1
      • update/2
      • update!/2
      • valid?/1
  • AntikytheraCore.TmpdirTracker.State.Map
    • Summary
    • Types
      • t/0
    • Functions
      • valid?/1
  • AntikytheraCore.Version
    • Summary
    • Functions
      • current_version/1
      • read_from_app_file/2
  • AntikytheraCore.Version.Artifact
    • Summary
    • Functions
      • copy_core_release_tgz/1
      • gears_dir/0
      • unpack_gear_tgz/2
  • AntikytheraCore.Version.Core
    • Summary
    • Functions
      • upgrade_to_next_version/0
  • AntikytheraCore.Version.Gear
    • Summary
    • Functions
      • gear_dependencies_from_app_file/2
      • install_gears_at_startup/1
      • install_gears_whose_deps_met/4
      • install_or_upgrade_to_next_version/1
  • AntikytheraCore.Version.History
    • Summary
    • Functions
      • all_deployable_gear_names/0
      • find_all_modified_history_files/1
      • latest_installable_gear_version/1
      • next_upgradable_version/2
  • AntikytheraCore.Version.History.Entry
    • Summary
    • Types
      • t/0
    • Functions
      • canary?/1
      • canary_target_hosts/1
      • canary_target_hosts/2
      • from_line/1
      • installable?/1
      • installable_until/1
      • installable_until/2
      • new/1
      • new!/1
      • noupgrade/1
      • noupgrade/2
      • update/2
      • update!/2
      • upgradable?/1
      • valid?/1
      • version/1
      • version/2
  • AntikytheraCore.VersionSynchronizer
    • Summary
    • Functions
      • child_spec/1
      • start_link/1
  • AntikytheraCore.VersionUpgradeTaskQueue
    • Summary
    • Functions
      • child_spec/1
      • core_updated/0
      • disable/0
      • enable/0
      • gear_updated/1
      • start_link/1
  • AntikytheraCore.Vm
    • Summary
    • Functions
      • count_messages_in_all_mailboxes/0
  • AntikytheraEal
    • Sections
      • Module naming scheme for each interface
  • AntikytheraEal.AlertMailer
  • AntikytheraEal.AlertMailer.Behaviour
    • Summary
    • Callbacks
      • deliver/1
  • AntikytheraEal.AlertMailer.Mail
    • Summary
    • Types
      • t/0
    • Functions
      • body/1
      • body/2
      • from/1
      • from/2
      • new/1
      • new!/1
      • subject/1
      • subject/2
      • to/1
      • to/2
      • update/2
      • update!/2
      • valid?/1
  • AntikytheraEal.AlertMailer.MemoryInbox
    • Summary
    • Functions
      • clean/0
      • get/0
  • AntikytheraEal.AssetStorage
  • AntikytheraEal.AssetStorage.Behaviour
    • Summary
    • Callbacks
      • delete/1
      • list/1
      • list_toplevel_prefixes/0
      • upload/4
  • AntikytheraEal.AssetStorage.NoOp
  • AntikytheraEal.ClusterConfiguration
  • AntikytheraEal.ClusterConfiguration.Behaviour
    • Summary
    • Callbacks
      • health_check_grace_period_in_seconds/0
      • running_hosts/0
      • zone_of_this_host/0
  • AntikytheraEal.ClusterConfiguration.StandAlone
  • AntikytheraEal.ImplChooser
    • Summary
    • Functions
      • extract_impl_module/1
      • make_vars/2
  • AntikytheraEal.LogStorage
  • AntikytheraEal.LogStorage.Behaviour
    • Summary
    • Callbacks
      • download_urls/1
      • list/2
      • upload_rotated_logs/1
  • AntikytheraEal.LogStorage.FileSystem
  • AntikytheraEal.MetricsStorage
    • Summary
    • Types
      • metrics_per_unit/0
    • Functions
      • save/2
  • AntikytheraEal.MetricsStorage.Behaviour
    • Summary
    • Callbacks
      • upload/3
  • AntikytheraEal.MetricsStorage.Memory
    • Summary
    • Functions
      • download/4
  • AntikytheraLocal.Cmd
    • Summary
    • Functions
      • exec_and_output_log!/3
  • AntikytheraLocal.NodeName
    • Summary
    • Functions
      • get/0
  • AntikytheraLocal.RunningEnvironment
    • Summary
    • Functions
      • currently_running_os_process_ids/0
      • prepare_new_version_of_core/1
      • prepare_new_version_of_gear/2
      • setup/1
      • teardown/0
      • unpacked_gears_dir/0
      • wait_until_upgrade_applied/2
  • AntikytheraLocal.StartScript
    • Summary
    • Functions
      • run/2
  • mix antikythera.gear.new
    • Sections
      • Usage
      • Symbolic links to files in your antikythera instance
    • Summary
    • Functions
      • run/1
  • mix antikythera.prepare_assets
    • Sections
      • Supported Asset Preparation Method
    • Summary
    • Functions
      • dump_asset_file_paths/0
      • run_command/3
      • run_command!/3
  • mix antikythera.print_version
    • Summary
    • Functions
      • run/1
  • mix antikythera_core.delete_obsolete_assets
    • Summary
    • Functions
      • run/1
  • mix antikythera_core.generate_appup
    • Summary
    • Functions
      • run/1
  • mix antikythera_core.generate_release
    • Summary
    • Functions
      • config_for_mix_release/0
  • mix antikythera_core.upload_new_asset_versions
    • Summary
    • Functions
      • run/1
  • mix antikythera_local.prepare_core
    • Summary
    • Functions
      • run/1
  • mix antikythera_local.prepare_gear
    • Summary
    • Functions
      • run/1
  • mix antikythera_local.start
    • Summary
    • Functions
      • run/1
  • mix antikythera_local.stop
    • Summary
    • Functions
      • run/1
  • mix antikythera_local.upgrade_compatibility_test
    • Sections
      • Usage
    • Summary
    • Functions
      • run/1
  • mix antikythera_local.upgrade_compatibility_test.ws
    • Summary
    • Functions
      • send_loop/0
  • mix antikythera_local.version_upgrade_test
    • Summary
    • Functions
      • check_application_configs/0
      • check_healthcheck_and_gear_endpoints/0
      • check_new_version_is_applied/4
      • check_new_version_with_noupgrade_is_not_applied/4
      • check_repository_is_clean/1
      • check_testgear_artifact_dirs/1
      • check_version/2
      • run/1
  • mix compile.ensure_gear_dependencies
  • mix compile.gear_static_analysis
    • Summary
    • Functions
      • run/1
  • mix compile.propagate_file_modifications
    • Summary
    • Functions
      • run/1

View Source For Gear Developers

Getting Started Guide

Setting up your development environment

Library dependencies

Automatic deployment

Web request routing

Gear to gear communication

Implementing controller action

Dynamic HTML generation using templates

Implementing websocket server

Asynchronous jobs

Executor pool for controlling computing resources

Logging

Metrics Reporting

Alerting

Gear config

Internationalization

Testing

What gear implementations must not do

Limitations

← Previous Page Dependency Management
Next Page → Deployment to Antikythera Instance

Hex Package Hex Preview (current file) Download ePub version

Built using ExDoc (v0.30.9) for the Elixir programming language