crossplane
Redis
crossplane | Redis | |
---|---|---|
60 | 32 | |
8,805 | 19,322 | |
2.3% | 0.9% | |
9.9 | 8.8 | |
1 day ago | 7 days ago | |
Go | Go | |
Apache License 2.0 | BSD 2-clause "Simplified" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
crossplane
-
Rethinking Infrastructure as Code from Scratch
did anyone adopt in production https://crossplane.io ?
-
Understanding Crossplane is being hard
- https://github.com/crossplane/crossplane/blob/master/design/one-pager-composition-environment.md
-
Automated provisioning for data resources
In the overall scheme of things , look at services like backstage.io , crossplane.io and opslevel.com to get ideas. This is not necessarily an endorsement of the services. If all you want is to handle cloud resources and that's it, Terraform can be enough with what ever flavor of web technologies you and your team are comfortable with and can support it along the way. Doesn't take much to create a js based website to collect data from a form, or use other means to collecting data as long as its recorded and transparent for accountability.
- What are some Terraform automation tools you want to exist?
-
Crossplane: Unifying platform engineering based on Kubernetes API
XRs are written in a fully declarative manner. And when I am building my XR from underlying managed resources provided by some crossplane provider I need to parametrize resources, use conditionals and create arrays of resuorces The issues of declarativeness in the world of automation are well known- we typically resort to some form of templating and we invent some imperative expressions into that templating language/format. This is currently not very well supported with Crossplane however Crossplane team realizes this issue and they are conteptualizing solution here
- Anyway to automate the AKS cluster creation using Yaml?
-
What options are available for using internal code from a fully open source project?
I have an idea for a project that would interface with Crossplane. The project has some code that would save tons of time if I could use it directly in my project, but it is located in the internal directory. I can't import the modules directly, but the project is open sourced under an Apache 2.0 license, so the code itself is available for use under that license.
-
Azure vs AWS
There are always new projects like crossplane that sit on top on architecture systems like terraform, vagrant. The pressure to abstract away any sort of resources is mounting, companies can save a lot by for example by alt hosting S3 endpoints. The train is going the direction not to tie anything to a specific platform implementation if its not a must. Most of the companies I work with use AWS as a hosting provider, but Microsoft for github and related CI matters. As I learned, AWS quality is very dependent on location, eu-central-1 is dead stable for our use cases serving about millions requests a day.
- Crossplane on Amazon EKS with IRSA
-
One multi-container deployment vs. a separate deployment for each image?
Practically, you'll be replacing stock k8s resources (deployments) with custom ones like Argo Rollouts with Keda autoscaling, so you have to plan the respective Gitops CD pipeline (fluxcd/argocd with some crossplane), as well.
Redis
-
Using IAM authentication for Redis on AWS
MemoryDB documentation has an example for a Java application with the Lettuce client. The process is similar for other languages, but you still need to implement it. So, let's learn how to do it for a Go application with the widely used go-redis client.
-
Unexpected behavior from Redis cluster client - Keys not being found even if they exist in the cluster
We have setup a redis cluster with 3 master, and 3 slave nodes using redis-go package (https://github.com/redis/go-redis).
-
Building RESTful API with Hexagonal Architecture in Go
For building the RESTful Point of Sale service API, I've considered and selected a combination of technologies that would work seamlessly together. For handling HTTP requests and responses, using the Gin HTTP web framework would make sense because I think it seems complete and popular among Go community too. To ensure data integrity and persistence, I'm using PostgreSQL database with pgx as the database driver, the reason I choose PostgreSQL because it is the most popular relational database to use in production and offers efficient Go integration. I'm also implementing caching using Redis with go-redis client library, which provides powerful in-memory data storage capabilities.
-
Authentication system using Golang and Sveltekit - Initialization and setup
Following the completion of the series — Secure and performant full-stack authentication system using rust (actix-web) and sveltekit and Secure and performant full-stack authentication system using Python (Django) and SvelteKit — I felt I should keep the streak by building an equivalent system in PURE go with very minimal external dependencies. We won't use any fancy web framework apart from httprouter and other basic dependencies including a database driver (pq), and redis client. As usual, we'll be using SvelteKit at the front end, favouring JSDoc instead of TypeScript. The combination is ecstatic!
- Go linter and helper for the OpenTelemetry SDK
- Redis with golang
-
Tools besides Go for a newbie
IDE: use whatever make you productive. I personally use vscode. VCS: git, as golang communities use github heavily as base for many libraries. AFAIK Linter: use staticcheck for linting as it looks like mostly used linting tool in go, supported by many also. In Vscode it will be recommended once you install go plugin. Libraries/Framework: actually the standard libraries already included many things you need, decent enough for your day-to-day development cycles(e.g. `net/http`). But here are things for extra: - Struct fields validator: validator - Http server lib: chi router , httprouter , fasthttp (for non standard http implementations, but fast) - Web Framework: echo , gin , fiber , beego , etc - Http client lib: most already covered by stdlib(net/http), so you rarely need extra lib for this, but if you really need some are: resty - CLI: cobra - Config: godotenv , viper - DB Drivers: sqlx , postgre , sqlite , mysql - nosql: redis , mongodb , elasticsearch - ORM: gorm , entgo , sqlc(codegen) - JS Transpiler: gopherjs - GUI: fyne - grpc: grpc - logging: zerolog - test: testify , gomock , dockertest - and many others you can find here
-
Should I reuse the connection on Redis or close it after every use?
Asynq uses https://github.com/go-redis/redis in order to connect to Redis. Whenever you create a client using go-redis, the client internally manages a connection pool, so when you need to execute a command in Redis the client just retrieves a connection from the pool and uses it. After using it, the connection is released and it goes back to the pool (no need to say that the Redis client is thread-safe).
-
a tool for quickly creating web and microservice code
Caching component go-redis ristretto
-
Storage Layer 📦
First thing first, we will install Redis client for Golang
What are some alternatives?
kubevela - The Modern Application Platform.
redigo - Go client for Redis
Pulumi - Pulumi - Infrastructure as Code in any programming language. Build infrastructure intuitively on any cloud using familiar languages 🚀
riot - Go Open Source, Distributed, Simple and efficient Search Engine; Warning: This is V1 and beta version, because of big memory consume, and the V2 will be rewrite all code.
terraform - Terraform enables you to safely and predictably create, change, and improve infrastructure. It is a source-available tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.
Hiredis - Minimalistic C client for Redis >= 1.2
terraform-cdk - Define infrastructure resources using programming constructs and provision them using HashiCorp Terraform
mongo-go-driver - The Official Golang driver for MongoDB
helm - The Kubernetes Package Manager
Go-NATS-Streaming-gRPC-PostgreSQL - Go Nats Streaming gRPC PostgerSQL emails microservice
external-dns - Configure external DNS servers (AWS Route53, Google CloudDNS and others) for Kubernetes Ingresses and Services
mgo - Go Doc Dot Org