Skip to main content

fixworker

Fix worker daemon

Table of contents

Overview

fixworker does all the collection and cleanup work in Fix. It is connected to fixcore over a websocket connection and waits for instructions. By default it subscribes to the collect and cleanup actions as well as tag tasks.

fixworker loads collector plugins like AWS, GCP, Slack, Onelogin, etc. Only those plugins have knowledge about how to communicate with each cloud. How to collect resources and how to clean them up.

There can be one or more instances of fixworker in a Fix deployment. A single fixworker can collect many clouds or you could have multiple fixworker collecting one cloud or even one account in one cloud each.

More information can be found below and in the docs.

Usage

fixworker uses the following commandline arguments:

  --subscriber-id SUBSCRIBER_ID
                        Unique subscriber ID (default: fix.worker)
  --psk PSK             Pre-shared key
  --verbose, -v         Verbose logging
  --quiet               Only log errors
  --fixcore-uri FIXCORE_URI
                        fixcore URI (default: https://localhost:8900)
  --override CONFIG_OVERRIDE [CONFIG_OVERRIDE ...]
                        Override config attribute(s)
  --ca-cert CA_CERT     Path to custom CA certificate file
  --cert CERT           Path to custom certificate file
  --cert-key CERT_KEY   Path to custom certificate key file
  --cert-key-pass CERT_KEY_PASS
                        Passphrase for certificate key file
  --no-verify-certs     Turn off certificate verification

ENV Prefix: FIXWORKER_ Every CLI arg can also be specified using ENV variables.

For instance the boolean --fork would become FIXWORKER_FORK=true.

Details

Once fixworker is started you do not have to interact with it at all. It will just sit there, wait for work and do its job. The following are details on how fixworker works internally and how it integrates with fixcore.

Actions and Tasks

Think of actions and tasks like topics and queues in a messaging system. Actions are broadcast to everyone subscribed for that action. A task is always given to exactly one worker that knows how to handle it.

Actions

When the collect workflow within fixcore is triggered (by either an event or a schedule or because the user manually triggered it), fixcore will broadcast a "start collecting all the cloud accounts you know about" message to all the subscribed workers. Once all the workers finish collecting and sent their graph to the core, the workflow will proceed to the next step which would be plan_cleanup. This one tells anyone interested to start planing their cleanup based on the just collected graph data. Once everyone has planed their cleanup and flagged resources that should get cleaned up with the desired.clean = true flag, the workflow proceeds to the cleanup step which again notifies anyone subscribed to now perform cleanup of those flagged resources. Because the cleaner within fixworker has knowledge of all dependencies in the graph, it will ensure that resources are cleaned up in the right order.

Tasks

When a plugin or a user decides that a resource tag should be added, changed or removed, e.g. by running

search id = i-039e06bb2539e5484 | tag update owner lukas

fixcore will put this tagging task onto a task queue. This task is then consumed by a fixworker that knows how to perform tagging for that particular resource and its particular cloud and account. In our example above where we are setting the tag owner: lukas for an AWS EC2 instance with ID i-039e06bb2539e5484 the task would be given to a fixworker that knows how to update AWS EC2 instance tags in that resources account.

Contact

If you have any questions feel free to join our Discord or open a GitHub issue.

License

See LICENSE for details.

Metadata

Release files for fixinventoryworker 4.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fixinventoryworker 4.2.0
File Size Uploaded Provenance Actions
fixinventoryworker-4.2.0.tar.gz 18.3 kB Without provenance Details for fixinventoryworker-4.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for fixinventoryworker 4.2.0
File Interpreter ABI Platform Actions
fixinventoryworker-4.2.0-py3-none-any.whl Python 3 none any Details for fixinventoryworker-4.2.0-py3-none-any.whl

Total release size: 41.6 kB

Release files / fixinventoryworker-4.2.0.tar.gz

Download URL fixinventoryworker-4.2.0.tar.gz
Size 18.3 kB
Tags Source
SHA-256 checksum
How to use checksums
556dda848b3298416a90510f34173ccfb41ff253b2e51f7b3d10ba6a20b9de42
BLAKE2b-256 checksum
How to use checksums
db367856e6006003f6f31618c16ebb517671d0869dfc2f79a04d86e22bd92b5e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / fixinventoryworker-4.2.0-py3-none-any.whl

Download URL fixinventoryworker-4.2.0-py3-none-any.whl
Size 23.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2b21bd93595ea23b7aa35bb294795e91a59fdf68d45101370957a6da7bd9630e
BLAKE2b-256 checksum
How to use checksums
5442bf91559f29b65d534ef2905a45bdef6b4f4e6ab548e6163d2fef9c966507
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Security for fixinventoryworker 4.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page