Skip to content

redpanda-data/redpanda-ansible-collection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

194 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ansible Collection for Redpanda

Redpanda Ansible Collection that enables provisioning and managing a Redpanda cluster.

Usage

Required Steps: Deploying Redpanda

More information on consuming this collection is available here in our official documentation.

You can also see some example playbooks in our deployment-automation repository.

Creating and Publishing the Collection

To build the collection you first need to bump the version number listed in ansible/redpanda/cluster/galaxy.yml

You will probably need appropriate permissions on the namespace for this to work.

Once that's all sorted, run the following shell script with an API key from Ansible Galaxy

ansible-galaxy collection build
ansible-galaxy collection publish redpanda-cluster-*.tar.gz --token <YOUR_API_KEY> -s https://galaxy.ansible.com/api/

SASL Authentication

kafka_enable_authorization: true
sasl_superuser_username: "admin"
sasl_superuser_password: "secure-password"

schema_registry_service_user: "schema_registry_client"
schema_registry_service_password: "secure-password"
pandaproxy_service_user: "pandaproxy_client"
pandaproxy_service_password: "secure-password"

Mixed authentication (internal no-auth, external SASL):

redpanda_kafka_listeners:
  - address: "{{ private_ip }}"
    port: 9092
    name: "internal"
    authentication_method: "none"
  - address: "0.0.0.0"
    port: 9093
    name: "external"
    authentication_method: "sasl"

Enterprise features (requires license):

schema_registry_enable_authorization: true
redpanda_license_file: "{{ playbook_dir }}/redpanda.license"
admin_api_require_auth: true

See user_management role for managing users and ACLs.

Troubleshooting

On Mac OS X, Python unable to fork workers

If you see something like this:

ok: [34.209.26.177] => {“changed”: false, “stat”: {“exists”: false}}
objc[57889]: +[__NSCFConstantString initialize] may have been in progress in another thread when fork() was called.
objc[57889]: +[__NSCFConstantString initialize] may have been in progress in another thread when fork() was called. We cannot safely call it or ignore it in the fork() child process. Crashing instead. Set a breakpoint on objc_initializeAfterForkError to debug.
ERROR! A worker was found in a dead state

You might try resolving by setting an environment variable: export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES

See: https://stackoverflow.com/questions/50168647/multiprocessing-causes-python-to-crash-and-gives-an-error-may-have-been-in-progr

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors