system optimized for cloud-native applications. Multi-Protocol Support: Compatible with S3, POSIX, and HDFS access protocols. CNCF Graduated Project: Achieved graduated status within the Cloud Native Computing Foundation as of December 2024.
that provides comprehensive security coverage, from left to right across the entire development and deployment lifecycle. It offers hardening, posture management, and runtime security capabilities to ensure robust protection for Kubernetes environments. It saves Kubernetes users and admins precious time, effort, and resources.
combines stateful workflow coordination with advanced Agentic AI features. Dapr Agents is the best way to build systems of agents fit for enterprise use cases.
creation of immutable, bootable Linux images for edge devices, supporting various distributions and integrating with Kubernetes distributions like k3s. k0s: A lightweight, single-binary Kubernetes distribution designed for simplicity and flexibility, suitable for deployment on various infrastructures including bare-metal, edge, and IoT environments. Secure Edge Images: Pre-hardened, minimal operating system images tailored for running container workloads at the edge, often incorporating security features like Trusted Platform Module (TPM) support and Secure Boot to ensure system integrity. https://kairos.io/ READ THE CNCF BLOG
custom developer portals. • Unified Interface: Access tools, services, and docs in one place. • CNCF Incubation: Part of the Cloud Native Computing Foundation. Key Features: • Software Catalog: Manage all software assets centrally. • Software Templates: Quickly set up projects with standardized tooling. • TechDocs: Simplify documentation with "docs like code." • Plugins: To further expand Backstage’s customizability and functionality!
learning the contributing process. • Gained experience with PR submission and review workflow. • Familiarized myself with GOVERNANCE and CONTRIBUTING docs. • Link to PR: https://github.com/backstage/community- plugins/pull/497
npm releases to specific Git commits for better traceability. • Challenge 1: Unfamiliarity with GitHub workflows; required on-the-fly learning. • Challenge 2: Difficulty testing workflow changes and verifying script functionality. • Solution: Sought help from maintainers, who suggested adding log statements for debugging. • Discovered valuable community resources, including the Backstage Discord and SIG (Special Interest Group) meetings, for future support.
/validate-entity weren’t protected by permissions. Solution: Implemented permission checks to restrict access. Challenges: Understanding the Permissions Framework in Backstage – relied on Discord community and documentation for guidance.
use attribute names that are different from the hardcoded one, breaking user-group mappings. Solution: Made dnAttributeName and uuidAttributeName (important for user-group mappings) configurable to support different LDAP schemas. Challenges: No local LDAP setup—community testing was key.
vulnerable jsonpath-plus dependency via @kubernetes/client-node. • Removed the vulnerable dependency from ~8 plugins, proactively safeguarding the repository. • Implemented Knip reports to identify unused dependencies. • Developed a script to generate reports for all plugins. • Evaluating reports for potential inclusion in PR workflows.
and constructive PR reviews. • Guiding contributors to good first issues. • Discussing implementation options and best practices. Enhancing Community Processes • Improving issue triage for faster response times. • Setting clear expectations for plugin maintainers. Community Engagement • Facilitating productive discussions during the Community Plugins SIG meetings. • Helping out by answering questions on Discord
collaboration KEY TAKEAWAYS hands-on experimentation is key Dive into the code and experiment. growth happens outside your comfort zone Embrace challenges to learn and grow.
memorize to pass the PCA (there’s quite a bit) This is... • A demo of the concepts and tools the PCA covers (so you know what it is you’ll be memorizing) About my talk 61
2. Query the metrics with PromQL 3. Visualize the metrics with Grafana 4. Use Alert Manager to notify us when something goes wrong = “This will be on the exam” 63
requests Description # TYPE http_requests_total counter Type http_requests_total{code="200",method="get"} 36 # HELP version Version information about this binary # TYPE version gauge version{version="v1.0.1"} 1 64 http://my-website.com/metrics Labels Value Name
general - for graphing the distribution of numerical data. Metrics Types (continued) 66 https://dyladan.me/histograms/2023/05/03/histograms-vs-summaries/
set of time series containing a single sample for each time series, all sharing the same timestamp Set of time series containing a range of data points over time for each time series Simple numeric floating point value http_requests_total{code="200"} http_requests_total{code="200"}[5m] 5
instant vector, resulting in a new vector of fewer elements with aggregated values. PromQL 71 sum count topk calculate sum over dimensions Count number of elements in the vector Largest k elements by sample value sum( prometheus_http_requests_total ) count( prometheus_http_requests_total ) topk( 5, Prometheus_http_requests_total )
clamp(v instant-vector, min scalar, max scalar) Calculates the per-second average rate of increase of the time series in the range vector. Calculates the per-second instant rate of increase of the time series in the range vector. This is based on the last two data points. Returns the increase in the time series in the range vector. Clamps the sample values of all elements in v to have a lower limit of min and an upper limit of max. rate(http_requests_total{c ode="200"}[5m]) irate(http_requests_total{ code="200"}[5m]) increase(http_requests_tot al{code="200"}[5m]) clamp(http_requests_total{ code="200”}, 30,100)