Liking cljdoc? Tell your friends :D

monkey.ci.artifacts

Functionality for saving/restoring artifacts. This is similar to caches, but where caches are used between the same jobs in different builds, artifacts are used for different jobs in the same build. Artifacts can also be exposed to the outside world.

Functionality for saving/restoring artifacts.  This is similar to caches, but
where caches are used between the same jobs in different builds, artifacts are
used for different jobs in the same build.  Artifacts can also be exposed to
the outside world.
raw docstring

monkey.ci.blob

Blob storage functionality, used to store and restore large files or entire directories.

Blob storage functionality, used to store and restore large files
or entire directories.
raw docstring

monkey.ci.build.api-server

Functions for setting up a build script API. The build runner starts its own API server, which is only accessible by the build script and any containers it starts. This is for security reasons, since the build script is untrusted code. Restricting access to the API server is done on infra level, by setting up network security rules. Piping all traffic through the build runner also ensures that the global API will not be overloaded by malfunctioning (or misbehaving) builds.

Functions for setting up a build script API.  The build runner starts its own
API server, which is only accessible by the build script and any containers it
starts.  This is for security reasons, since the build script is untrusted code.
Restricting access to the API server is done on infra level, by setting up network
security rules.  Piping all traffic through the build runner also ensures that
the global API will not be overloaded by malfunctioning (or misbehaving) builds.
raw docstring

monkey.ci.build.archive

Functions for working with downloaded archives

Functions for working with downloaded archives
raw docstring

monkey.ci.build.container

Functions to configure container images on a build step

Functions to configure container images on a build step
raw docstring

monkey.ci.build.core

Core build script functionality. This is used by build scripts to create the configuration which is then executed by the configured runner. Which runner is configured or active depends on the configuration of the MonkeyCI application that executes the script.

Core build script functionality.  This is used by build scripts to create
the configuration which is then executed by the configured runner.  Which
runner is configured or active depends on the configuration of the MonkeyCI
application that executes the script.
raw docstring

monkey.ci.build.spec

No vars found in this namespace.

monkey.ci.build.v2

A group of functions written on top of the more low-level build functions, meant to improve writing build scripts. They should make the build scripts more intuitive, more readable. And, dare I say it, prettier?

The general intention is to provide functions for most purposes, without the user having to resort to using keywords and maps.

A group of functions written on top of the more low-level build functions, meant
to improve writing build scripts.  They should make the build scripts more intuitive,
more readable.  And, dare I say it, prettier?

The general intention is to provide functions for most purposes, without the user
having to resort to using keywords and maps.
raw docstring

monkey.ci.cache

Functionality for saving/restoring caches. This uses blobs.

Functionality for saving/restoring caches.  This uses blobs.
raw docstring

monkey.ci.common.preds

Common predicate functions

Common predicate functions
raw docstring

monkey.ci.config

Configuration functionality. This reads the application configuration from various sources, like environment vars or command-line args. The configuration is structured in a hierarchy and optionally some values are converted. Then this configuration is used to add any 'constructor functions', that are then used to create new functions to do some actual work. This allows us to change the behaviour of the application with configuration, but also makes it possible to inject dummy functions for testing purposes.

Configuration functionality.  This reads the application configuration from various
sources, like environment vars or command-line args.  The configuration is structured
in a hierarchy and optionally some values are converted.  Then this configuration is
used to add any 'constructor functions', that are then used to create new functions to
do some actual work.  This allows us to change the behaviour of the application with
configuration, but also makes it possible to inject dummy functions for testing 
purposes.
raw docstring

monkey.ci.config.script

Build script configuration functions, used by the process controller to create a valid configuration that can then be read by the build script runner.

Build script configuration functions, used by the process controller to 
create a valid configuration that can then be read by the build script runner.
raw docstring

monkey.ci.containers

Generic functionality for running containers

Generic functionality for running containers
raw docstring

monkey.ci.containers.build-api

Container runner that invokes an endpoint on the build api. This is meant to be used by child processes that do not have full infra permissions.

Container runner that invokes an endpoint on the build api.  This is meant to
be used by child processes that do not have full infra permissions.
raw docstring

monkey.ci.containers.podman

Functions for running containers using Podman. We don't use the api here, because it requires a socket, which is not always available. Instead, we invoke the podman command as a child process and communicate with it using the standard i/o streams.

Functions for running containers using Podman.  We don't use the api here, because
it requires a socket, which is not always available.  Instead, we invoke the podman
command as a child process and communicate with it using the standard i/o streams.
raw docstring

monkey.ci.containers.promtail

Functions for configuring promtail containers. This is not a container driver, but a utility namespace that is in turn used when pushing build logs to Loki.

Functions for configuring promtail containers.  This is not a container driver, but
a utility namespace that is in turn used when pushing build logs to Loki.
raw docstring

monkey.ci.core

Core namespace for the Monkey CI app. This contains the entrypoint which processes the configuration. This configuration determines whether the application runs as a server, execute a single script, which type of runner is enabled, etc...

Core namespace for the Monkey CI app.  This contains the entrypoint which
processes the configuration.  This configuration determines whether the
application runs as a server, execute a single script, which type of runner
is enabled, etc...
raw docstring

monkey.ci.cuid

Functions for working with cuids, which are like uuids but are a bit better to handle for humans.

Functions for working with cuids, which are like uuids but are a bit better
to handle for humans.
raw docstring

monkey.ci.edn

Functionality for serializing objects to edn and deserializing them back.

Functionality for serializing objects to edn and deserializing them back.
raw docstring

monkey.ci.entities.core

Core functionality for database entities. Allows to store/retrieve basic entities.

Core functionality for database entities.  Allows to store/retrieve basic entities.
raw docstring

monkey.ci.entities.customer

Customer specific query functions

Customer specific query functions
raw docstring

monkey.ci.entities.repo

Repository specific query functions

Repository specific query functions
raw docstring

monkey.ci.entities.types

Special type treatments for sql

Special type treatments for sql
raw docstring

monkey.ci.entities.webhook

Webhook related functionality

Webhook related functionality
raw docstring

monkey.ci.errors

Functions for working with errors and exceptions. This provides a uniform way to handle exceptions and convert them into a usable format for internal propagation and to give useful feedback to the user.

Functions for working with errors and exceptions.  This provides a uniform way
to handle exceptions and convert them into a usable format for internal 
propagation and to give useful feedback to the user.
raw docstring

monkey.ci.events.build-api

Events implementation that uses the build api to send events

Events implementation that uses the build api to send events
raw docstring

monkey.ci.events.http

Functions for doing events over http

Functions for doing events over http
raw docstring

monkey.ci.events.jms

Uses JMS to connect to an event broker. Can also starts its own broker server, although this is mostly meant for development and testing purposes.

Uses JMS to connect to an event broker.  Can also starts its own broker 
server, although this is mostly meant for development and testing purposes.
raw docstring

monkey.ci.events.manifold

Manifold-based implementation of event poster and receiver

Manifold-based implementation of event poster and receiver
raw docstring

monkey.ci.events.split

Events implementation that splits input and output. Events are read from one side, and posted to another.

Events implementation that splits input and output.  Events are read from one
side, and posted to another.
raw docstring

No vars found in this namespace.

monkey.ci.extensions

Functionality for working with script extensions. Extensions are a way for third party libraries to add functionality to scripts, that is easy to activate and can also be used in yaml-type scripts. You could of course also add regular functions to invoke, but this is not easy to use, especially when using container jobs. Extensions do this by registering themselves under a specific namespaced keyword. If this key is found in job properties, the associated extension code is executed. Extensions can be executed before or after a job (or both).

Functionality for working with script extensions.  Extensions are a way
for third party libraries to add functionality to scripts, that is easy
to activate and can also be used in yaml-type scripts.  You could of 
course also add regular functions to invoke, but this is not easy to
use, especially when using container jobs.  Extensions do this by registering
themselves under a specific namespaced keyword.  If this key is found in
job properties, the associated extension code is executed.  Extensions can
be executed before or after a job (or both).
raw docstring

monkey.ci.git

Clone and checkout git repos. This is mostly a wrapper for clj-jgit

Clone and checkout git repos.  This is mostly a wrapper for `clj-jgit`
raw docstring

monkey.ci.logging

Handles log configuration and how to process logs from a build script

Handles log configuration and how to process logs from a build script
raw docstring

monkey.ci.logging.loki

Logging implementation that sends to Loki. This is useful for the container implementation, where promtail is problematic because it never shuts down.

Logging implementation that sends to Loki.  This is useful for the container
implementation, where promtail is problematic because it never shuts down.
raw docstring

monkey.ci.process

Process execution functions. Executes build scripts in a separate process, using clojure cli tools.

Process execution functions.  Executes build scripts in a separate process,
using clojure cli tools.
raw docstring

monkey.ci.prometheus

Functionality to export metrics to prometheus format, or push them to a pushgateway. Originally we used micrometer-clj, but it's really old and incompatible with recent versions of the Prometheus libs. Since we're fixed on Prometheus (for now), it's not necessary to maintain all the other formats, so the micrometer layer was essentially ballast. This namespace accesses the Prometheus code directly.

Functionality to export metrics to prometheus format, or push them to a pushgateway.
Originally we used `micrometer-clj`, but it's really old and incompatible with recent
versions of the Prometheus libs.  Since we're fixed on Prometheus (for now), it's not
necessary to maintain all the other formats, so the micrometer layer was essentially
ballast.  This namespace accesses the Prometheus code directly.
raw docstring

monkey.ci.protocols

Contains all (or most of) the protocols used in the app. This is useful to avoid circular dependencies.

Contains all (or most of) the protocols used in the app.  This is useful
to avoid circular dependencies.
raw docstring

monkey.ci.reporting

Provides functions for reporting output. This can be logging, or printing to stdout, or formatting as json, etc...

Provides functions for reporting output.  This can be logging, or printing
to stdout, or formatting as json, etc...
raw docstring

monkey.ci.reporting.print

Reporter that prints to the console using coloring.

Reporter that prints to the console using coloring.
raw docstring

monkey.ci.runners

Defines runner functionality. These depend on the application configuration. A runner is able to execute a build script.

Defines runner functionality.  These depend on the application configuration.
A runner is able to execute a build script.
raw docstring

monkey.ci.runners.server

Runner that can be configured to run builds directly from the server.

Runner that can be configured to run builds directly from the server.
raw docstring

No vars found in this namespace.

monkey.ci.runtime

The runtime can be considered the 'live configuration'. It is created from the configuration, and is passed on to the application modules. The runtime provides the information (often in the form of functions) needed by the modules to perform work. This allows us to change application behaviour depending on configuration, but also when testing.

Thie namespace also provides some utility functions for working with the context. This is more stable than reading properties from the runtime directly.

The runtime can be considered the 'live configuration'.  It is created
from the configuration, and is passed on to the application modules.  The
runtime provides the information (often in the form of functions) needed
by the modules to perform work.  This allows us to change application 
behaviour depending on configuration, but also when testing.

Thie namespace also provides some utility functions for working with the
context.  This is more stable than reading properties from the runtime 
directly.
raw docstring

monkey.ci.runtime.app

Functions for setting up a runtime for application (cli or server)

Functions for setting up a runtime for application (cli or server)
raw docstring

monkey.ci.runtime.script

Functions for creating a runtime for build scripts

Functions for creating a runtime for build scripts
raw docstring

monkey.ci.runtime.sidecar

Functions for creating a runtime for a build-aware environment for the sidecar

Functions for creating a runtime for a build-aware environment for the sidecar
raw docstring

monkey.ci.sid

Functions for working with storage ids

Functions for working with storage ids
raw docstring

monkey.ci.sidecar

Sidecar specific functions

Sidecar specific functions
raw docstring

monkey.ci.spec.api-server

No vars found in this namespace.

monkey.ci.spec.app

No vars found in this namespace.

monkey.ci.spec.blob

No vars found in this namespace.

monkey.ci.spec.build

Spec definitions for build. The build object in the runtime and events that contain builds, scripts or jobs should conform to these specs.

Spec definitions for build.  The build object in the runtime and events that contain
builds, scripts or jobs should conform to these specs.
raw docstring

monkey.ci.spec.build-api

No vars found in this namespace.

monkey.ci.spec.config

Specs for app configurations

Specs for app configurations
raw docstring

No vars found in this namespace.

monkey.ci.spec.containers

Container related config and context specs

Container related config and context specs
raw docstring

No vars found in this namespace.

monkey.ci.spec.context

Job context spec

Job context spec
raw docstring

No vars found in this namespace.

monkey.ci.spec.db-entities

Spec for database entities. This can be useful to auto-generate database record entities for testing, but also to validate entities before persisting them.

Spec for database entities.  This can be useful to auto-generate database
record entities for testing, but also to validate entities before persisting 
them.
raw docstring

monkey.ci.spec.entities

Spec for application entities.

Spec for application entities.
raw docstring

monkey.ci.spec.events

Spec definitions for events

Spec definitions for events
raw docstring

monkey.ci.spec.extensions

No vars found in this namespace.

monkey.ci.spec.job-context

No vars found in this namespace.

monkey.ci.spec.runner

No vars found in this namespace.

monkey.ci.spec.script

No vars found in this namespace.

monkey.ci.spec.sidecar

Specs for sidecar configuration

Specs for sidecar configuration
raw docstring

No vars found in this namespace.

monkey.ci.storage

Data storage functionality. Next to basic storage implementations, this ns also contains a lot of functions for working with storage entities. Many of these are overridden by implementation-specific functions, and so implementations here don't focus on efficiency. They are merely used in tests.

Data storage functionality.  Next to basic storage implementations, this ns also contains
a lot of functions for working with storage entities.  Many of these are overridden by
implementation-specific functions, and so implementations here don't focus on efficiency.
They are merely used in tests.
raw docstring

monkey.ci.storage.cached

Cached storage implementation. It wraps another storage and adds caching to it. This currently is a very naive implementation. It should be expanded with event processing, in case there are multiple replicas. Or we should replace it with a 'real' database.

Cached storage implementation.  It wraps another storage and adds caching to it.
This currently is a very naive implementation.  It should be expanded with event processing,
in case there are multiple replicas.  Or we should replace it with a 'real' database.
raw docstring

No vars found in this namespace.

monkey.ci.storage.file

File storage implementation. Useful for local or develop runs. It stores all information in local .edn files.

File storage implementation.  Useful for local or develop runs.  It stores all
information in local .edn files.
raw docstring

monkey.ci.storage.sql

Storage implementation that uses an SQL database for persistence. This namespace provides a layer on top of the entities namespace to perform the required queries whenever a document is saved or loaded.

Storage implementation that uses an SQL database for persistence.  This namespace provides
a layer on top of the entities namespace to perform the required queries whenever a 
document is saved or loaded.
raw docstring

monkey.ci.time

Time related utility functions

Time related utility functions
raw docstring

monkey.ci.web.admin

API Route definitions for administrative purposes. These are not available in the general api and are meant to be used by system administrators or system processes only.

API Route definitions for administrative purposes.  These are not available
in the general api and are meant to be used by system administrators or
system processes only.
raw docstring

monkey.ci.web.api.params

Api functions for managing build parameters

Api functions for managing build parameters
raw docstring

monkey.ci.web.bitbucket

Bitbucket specific endpoints, mainly for authentication or push callbacks.

Bitbucket specific endpoints, mainly for authentication or push callbacks.
raw docstring

monkey.ci.web.oauth2

OAuth2 flow support handlers

OAuth2 flow support handlers
raw docstring

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close