-
Notifications
You must be signed in to change notification settings - Fork 51
Ansible playbooks to manage Redpanda Connect #239
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Ansible playbooks to manage Redpanda Connect #239
Conversation
hcoyote
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
overall, like the idea. This probably needs to go into redpanda-ansible-collection instead of here. Let's discuss with @gene-redpanda in slack.
ansible/stage-rpcn-ent.yml
Outdated
| - name: Build download URL for rpk zip | ||
| set_fact: | ||
| rpk_zip_url: "https://github.com/redpanda-data/redpanda/releases/latest/download/rpk-linux-{{ rpk_arch }}.zip" | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We've got deb/rpm packages for rpk, can we use those instead? This significantly simplifies deployment work and aligns with how we generally deploy on bare-os.
ansible/stage-rpcn-ent.yml
Outdated
| # --- Ensure target directory exists before unarchive --- | ||
| - name: Ensure /opt exists | ||
| file: | ||
| path: /opt | ||
| state: directory | ||
| mode: "0755" | ||
|
|
||
| - name: Ensure target directory exists | ||
| file: | ||
| path: "{{ rpcn_dir }}" | ||
| state: directory | ||
| owner: root | ||
| group: root | ||
| mode: "0755" | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This whole section would go away with the os packages for rpk I think
| @@ -0,0 +1 @@ | |||
| #Paste license key here | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We probably should follow the same license install pattern that's used in redpanda-ansible-collection
ansible/rpcn_files/rpcn-ent.service
Outdated
| After=network.target | ||
|
|
||
| [Service] | ||
| ExecStart=/opt/rpcn/rpk connect run /opt/rpcn/pipeline.yaml |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this be templated so you can run more than one rpcn pipeline per node?
ansible/rpcn_files/rpcn.service
Outdated
| After=network.target | ||
|
|
||
| [Service] | ||
| ExecStart=/opt/rpcn/rpk connect run /opt/rpcn/pipeline.yaml |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same comment here about templating to run more than one pipeline per node
We don't have much tooling to operate a fleet of self-managed Redpanda Connect nodes, so I created three simple Ansible playbooks to 1.) stage RPCN as a systemd service, 2.) update a pipeline config and restart the service and 3. )stop the service. I've included versions of each playbook for CE and Enterprise. The main difference with Enterprise is it allows you stage a redpanda.license file.