autokitteh

module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 17, 2024 License: Apache-2.0

README

autokitteh

autokitteh is an open-source platform that lets you develop and manage automated workflows with simple tools and familiar languages, no matter how complex your needs are.

autokitteh takes care of the toil and provides advanced engineering out-of-the-box:

  • Secure, seamless, bidirectional API integration
  • User-friendly monitoring and debugging
  • Standalone and distributed system reliability
  • Automated recovery without state loss
  • Built-in durability for long-running workflows
  • Readiness for world-class scalability needs
  • Versatile deployment strategies

autokitteh promotes a developer-first approach, catering to both inexperienced beginners and busy experts. Its versatility accommodates a wide array of use-cases, including:

  • CI/CD and DevOps processes
  • Infrastructure orchestration
  • Ops and cybersecurity runbooks
  • Cross-system syncs and integrations
  • Sales, marketing, and other corp automations

Build From Source

$ git clone https://github.com/autokitteh/autokitteh.git
$ cd autokitteh
$ make ak
$ ./bin/ak version

Build Requirements (Full Builds Only)

  • buf
  • docker
  • go >= 1.22
  • golangci-lint (auto-downloaded during builds if missing)
  • shellcheck (auto-pulled via docker during builds if missing)
  • gofumpt
  • gotestsum (used by Makefile intead of "go test" if detected)
  • jq (for advanced output formatting)

Contact Us

Directories

Path Synopsis
backend
apply
Helper functions to resolve human parsable strings to concrete IDs.
Helper functions to resolve human parsable strings to concrete IDs.
config
Package config manages autokitteh's configuration and data directories, which are used to store optional files such as ".env", "config.yaml" (see the CLI command "ak config"), "fake_secrets_manager.json" (if you opt-out of using a real secrets manager), SaaS client credentials, etc.
Package config manages autokitteh's configuration and data directories, which are used to store optional files such as ".env", "config.yaml" (see the CLI command "ak config"), "fake_secrets_manager.json" (if you opt-out of using a real secrets manager), SaaS client credentials, etc.
gormkitteh
TODO: Make public?
TODO: Make public?
internal/akmodules/time
This closely follows https://github.com/google/starlark-go/tree/master/lib/time.
This closely follows https://github.com/google/starlark-go/tree/master/lib/time.
internal/secrets
Package secrets is a lightweight wrapper over a third-party secrets management service, to enforce security and privacy best practices when mapping bidirectionally between autokitteh connections and third-party service details and authentication tokens.
Package secrets is a lightweight wrapper over a third-party secrets management service, to enforce security and privacy best practices when mapping bidirectionally between autokitteh connections and third-party service details and authentication tokens.
internal/sessions/sessioncalls
Adapted from https://github.com/dynajoe/temporal-terraform-demo/blob/main/heartbeat/heartbeat.go.
Adapted from https://github.com/dynajoe/temporal-terraform-demo/blob/main/heartbeat/heartbeat.go.
svc
cmd
ak
AK is the autokitteh command-line interface and local server.
AK is the autokitteh command-line interface and local server.
docgen
DocGen is an internal tool that exports metadata about the autokitteh CLI tool's commands, and the server's integration APIs, as Docusaurus markdown files for autokitteh's documentation website.
DocGen is an internal tool that exports metadata about the autokitteh CLI tool's commands, and the server's integration APIs, as Docusaurus markdown files for autokitteh's documentation website.
integrations
aws
http
Adapted from https://github.com/qri-io/starlib/blob/master/http/http.go
Adapted from https://github.com/qri-io/starlib/blob/master/http/http.go
internal/extrazap
Package extrazap provides helper functions for initializing Zap loggers, as well as associating and extracting them with/from context objects.
Package extrazap provides helper functions for initializing Zap loggers, as well as associating and extracting them with/from context objects.
slack/api/auth
Package auth is a lightweight wrapper over the "auth" methods in Slack's Web API: https://api.slack.com/methods?filter=auth.
Package auth is a lightweight wrapper over the "auth" methods in Slack's Web API: https://api.slack.com/methods?filter=auth.
slack/api/bookmarks
Package bookmarks is a lightweight wrapper over the "bookmarks" methods in Slack's Web API: https://api.slack.com/methods?filter=bookmarks.
Package bookmarks is a lightweight wrapper over the "bookmarks" methods in Slack's Web API: https://api.slack.com/methods?filter=bookmarks.
slack/api/chat
Package chat is a lightweight wrapper over the "chat" methods in Slack's Web API: https://api.slack.com/methods?filter=chat.
Package chat is a lightweight wrapper over the "chat" methods in Slack's Web API: https://api.slack.com/methods?filter=chat.
slack/api/conversations
Package conversations is a lightweight wrapper over the "conversations" methods in Slack's Web API: https://api.slack.com/methods?filter=conversations.
Package conversations is a lightweight wrapper over the "conversations" methods in Slack's Web API: https://api.slack.com/methods?filter=conversations.
slack/api/reactions
Package reactions is a lightweight wrapper over the "reactions" methods in Slack's Web API: https://api.slack.com/methods?filter=reactions.
Package reactions is a lightweight wrapper over the "reactions" methods in Slack's Web API: https://api.slack.com/methods?filter=reactions.
slack/api/users
Package users is a lightweight wrapper over the "users" methods in Slack's Web API: https://api.slack.com/methods?filter=users.
Package users is a lightweight wrapper over the "users" methods in Slack's Web API: https://api.slack.com/methods?filter=users.
slack/events
Package events implements handlers for Slack's Events API: see https://api.slack.com/apis/connections/events-api and https://api.slack.com/events?ref=apis&filter=Events.
Package events implements handlers for Slack's Events API: see https://api.slack.com/apis/connections/events-api and https://api.slack.com/events?ref=apis&filter=Events.
internal
resolver
Package resolver contains functions that resolve names and ID strings of autokitteh entities to their concrete SDK types.
Package resolver contains functions that resolve names and ID strings of autokitteh entities to their concrete SDK types.
runtimes
sdk
sdktypes
Exposes types that are used in the SDK.
Exposes types that are used in the SDK.
web

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL