with RabbitMQ and Docker Hub?
import amqp from "amqplib";
export default defineComponent({
props: {
rabbitmq: {
type: "app",
app: "rabbitmq",
}
},
async run({ steps, $ }) {
const url = `amqp://${this.rabbitmq.$auth.username}:${this.rabbitmq.$auth.password}@${this.rabbitmq.$auth.host}:${this.rabbitmq.$auth.port}`;
const connection = await amqp.connect(url);
const channel = await connection.createChannel();
const queue = 'Sample Queue';
await channel.assertQueue(queue, { durable: true });
const message = 'Welcome RabbitMQ + Pipedream users! ' + new Date().toISOString()
channel.sendToQueue(queue, Buffer.from(message), { persistent: true });
console.log(`Sent: ${message}`);
const queueInfo = await channel.checkQueue(queue);
return queueInfo;
},
})
The Docker Hub API allows for programmatic interaction with Docker Hub, enabling you to manage repositories, automate image builds, and work with webhooks and user accounts. On Pipedream, you can harness this API to create workflows that simplify and automate tasks like monitoring repository changes, triggering actions on image pushes, and orchestrating multi-service deployments.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
docker_hub: {
type: "app",
app: "docker_hub",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://hub.docker.com/v2/repositories/${this.docker_hub.$auth.username}`,
headers: {
Authorization: `Bearer ${this.docker_hub.$auth.oauth_access_token}`,
},
})
},
})