
Research
/Security News
9 Malicious NuGet Packages Deliver Time-Delayed Destructive Payloads
Socket researchers discovered nine malicious NuGet packages that use time-delayed payloads to crash applications and corrupt industrial control systems.
@pulumi/aws-miniflux
Advanced tools
A multi-language [Pulumi](https://pulumi.com) component builder for [Miniflux](https://miniflux.app/), the excellent open-source RSS server.
A multi-language Pulumi component builder for Miniflux, the excellent open-source RSS server.
I use this repository to build and publish a Pulumi package that deploys a Miniflux server on AWS. The package wraps a component written in Go that handles declaring all of the AWS infrastructure, network rules, policies, etc., to deploy a container on AWS Fargate and a managed PostgreSQL database on Amazon RDS in an easy-to-use API that you can consume in any language Pulumi supports. Just configure the passwords (as encrypted Pulumi secrets) that you want to use for your Miniflux admin and PostgreSQL users, then run pulumi up and let Pulumi handle the rest.

Components are published to the usual package managers:
const config = new pulumi.Config();
const adminPassword = config.requireSecret("adminPassword");
const dbPassword = config.requireSecret("adminPassword");
const service = new miniflux.MinifluxService("service", {
adminPassword,
dbPassword,
});
config = pulumi.Config();
admin_password = config.get_secret("adminPassword")
db_password = config.get_secret("dbPassword")
service = miniflux_service.MinifluxService("service",
admin_password = admin_password,
db_password = db_password
)
conf := config.New(ctx, "")
adminPassword := conf.RequireSecret("adminPassword")
dbPassword := conf.RequireSecret("dbPassword")
service, err := miniflux.NewMinifluxService(ctx, "service", &miniflux.MinifluxServiceArgs{
AdminPassword: adminPassword,
DbPassword: dbPassword,
})
var config = new Pulumi.Config();
var adminPassword = config.RequireSecret("adminPassword");
var dbPassword = config.RequireSecret("dbPassword");
var service = new Pulumi.Miniflux.MinifluxService("service", new Pulumi.Miniflux.MinifluxServiceArgs{
AdminPassword = adminPassword,
DbPassword = dbPassword,
});
See below for more detailed instructions. Complete programs are available at ./examples.
All components require Pulumi, of course. Then, assuming you've configured Pulumi and AWS, you can follow the instructions below to use the component in your language of choice.
On the command line:
$ pulumi new typescript
$ npm install --save @pulumi/aws-miniflux
$ pulumi config set --secret adminPassword "some-secret-password"
$ pulumi config set --secret dbPassword "some-other-secret-password"
In index.ts:
import * as pulumi from "@pulumi/pulumi";
import * as miniflux from "@pulumi/aws-miniflux";
const config = new pulumi.Config();
const adminPassword = config.requireSecret("adminPassword");
const dbPassword = config.requireSecret("adminPassword");
// Create a new Miniflux service.
const service = new miniflux.MinifluxService("service", {
adminPassword,
dbPassword,
});
// Export the URL of the service.
export const endpoint = pulumi.interpolate`http://${service.endpoint}`;
On the command line:
$ pulumi new python
$ pip install pulumi_miniflux
$ pulumi config set --secret adminPassword "some-secret-password"
$ pulumi config set --secret dbPassword "some-other-secret-password"
In __main.py__:
import pulumi
from pulumi_aws import s3
from pulumi_aws_miniflux import miniflux_service
config = pulumi.Config();
admin_password = config.get_secret("adminPassword")
db_password = config.get_secret("dbPassword")
# Create a new Miniflux service.
service = miniflux_service.MinifluxService("service",
admin_password = admin_password,
db_password = db_password
)
# Export the URL of the service.
pulumi.export("endpoint", service.endpoint)
On the command line:
$ pulumi new go
$ go get github.com/pulumi/pulumi-aws-miniflux/sdk/go/miniflux
$ pulumi config set --secret adminPassword "some-secret-password"
$ pulumi config set --secret dbPassword "some-other-secret-password"
In main.go:
package main
import (
"github.com/pulumi/pulumi-aws-miniflux/sdk/go/miniflux"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
conf := config.New(ctx, "")
adminPassword := conf.RequireSecret("adminPassword")
dbPassword := conf.RequireSecret("dbPassword")
// Create a new Miniflux service.
service, err := miniflux.NewMinifluxService(ctx, "service", &miniflux.MinifluxServiceArgs{
AdminPassword: adminPassword,
DbPassword: dbPassword,
})
if err != nil {
return nil
}
// Export the URL of the service.
ctx.Export("endpoint", pulumi.Sprintf("http://%s", service.Endpoint))
return nil
})
}
On the command line:
$ pulumi new csharp
$ dotnet add package Pulumi.AwsMiniflux
$ pulumi config set --secret adminPassword "some-secret-password"
$ pulumi config set --secret dbPassword "some-other-secret-password"
In MyStack.cs:
using Pulumi;
using Pulumi.Aws.S3;
using Pulumi.AwsMiniflux;
class MyStack : Stack
{
public MyStack()
{
var config = new Pulumi.Config();
var adminPassword = config.RequireSecret("adminPassword");
var dbPassword = config.RequireSecret("dbPassword");
// Create a new Miniflux service.
var service = new Pulumi.AwsMiniflux.MinifluxService("service", new Pulumi.AwsMiniflux.MinifluxServiceArgs{
AdminPassword = adminPassword,
DbPassword = dbPassword,
});
// Export the URL of the service.
this.Endpoint = Output.Format($"http://{service.Endpoint}");
}
[Output]
public Output<string> Endpoint { get; set; }
}
FAQs
A multi-language [Pulumi](https://pulumi.com) component builder for [Miniflux](https://miniflux.app/), the excellent open-source RSS server.
The npm package @pulumi/aws-miniflux receives a total of 0 weekly downloads. As such, @pulumi/aws-miniflux popularity was classified as not popular.
We found that @pulumi/aws-miniflux demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
Socket researchers discovered nine malicious NuGet packages that use time-delayed payloads to crash applications and corrupt industrial control systems.

Security News
Socket CTO Ahmad Nassri discusses why supply chain attacks now target developer machines and what AI means for the future of enterprise security.

Security News
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.