Identification of the provisioned instance
| Parameter | Meaning |
|---|---|
| Release version | 2.0.3 |
| Full source commit | 399717d1ed4c0e83e00150912a2a029eae |
| Supply channel | stable |
| Instance variant | demo |
| Complete set name | cshark-2.0.3-demo-ubuntu-24.04- |
| SHA-256 full set | ccb36a121bf8e1b756f1190f9369e49058 |
| SHA-256 public key | 0908f56ddcd6cd13fe95d81faae6543b9c |
1. Purpose of the document
The document describes the processes for developing, delivering, maintaining, troubleshooting and improving CShark software, as well as the personnel competencies required to carry out these processes.
1.1. Organizational details
| Parameter | Meaning |
|---|---|
| Organization | LLC "KOMPETENTSIA" |
| Development infrastructure address | 115280, Moscow, st. Leninskaya Sloboda, 21, building 1 |
| Developer's workplace address | 115280, Moscow, st. Leninskaya Sloboda, 21, building 1 |
| Technical support address | 115280, Moscow, st. Leninskaya Sloboda, 21, building 1 |
| Technical support service operating hours | Monday–Friday, 09:00–18:00 Moscow time |
| Technical support phone number | +7 495 532-61-18 |
| Responsible for support | LLC "KOMPETENTSIA" |
The functions of development, testing, DevOps and system administration, as well as technical support are performed by specialists from COMPETENCE LLC. The combination of functions is taken into account when planning work and separating development, verification and release operations in time.
2. Life cycle stages
Life cycle includes:
- collection and analysis of requirements;
- change design;
- code development and review;
- version generation;
- assembly and control of the delivery set;
- installation or update;
- operational monitoring;
- processing requests and defects;
- release of fixes and improvements;
- discontinuation of version support and migration.
Each change must have an identifier, a description of its purpose, acceptance criteria, and a link to the delivery version.
3. Requirements and change management
Sources of requirements include contractual obligations, operational requests, safety requirements, test results and product plan.
Change before implementation:
- described as a specific testable result;
- classified by priority and risk;
- tested for compatibility with current data and integrations;
- receives acceptance criteria;
- included in the version plan.
4. Development
The source code is stored in a version control system. Development is carried out in isolated changes with mandatory analysis of the affected components.
For changes use:
- static analysis and formatting;
- unit tests;
- integration tests with real PostgreSQL and NATS;
- contract API and event tests;
- checking database migrations;
- interface tests;
- backup and recovery scenarios;
- checking the installation kit.
A change is not considered complete just by running it locally; reproducible checks are required to match its risk.
5. Quality control
Before releasing a version, the following is performed:
- checking a full set of automated tests;
- checking the assembly of container images;
- checking OpenAPI and the generated client;
- scanning for secret leaks;
- checking migrations on a clean and existing database;
- Quick testing of a deployed instance;
- visual inspection of modified user scripts;
- checking the delivery archive and checksums;
- updating documentation.
A blocking defect found stops the release until a fix or a formal decision to port with a fixed limitation is made.
6. Versioning and delivery set
Version links:
- source code identifier;
- versions of container images;
- database schema revision;
- archive manifest;
- checksums;
- installer;
- documentation and list of changes.
For a closed loop, an offline kit is created with local Docker images and APT dependencies. The kit is tested on a clean Ubuntu Server 24.04 LTS AMD64 without access to external repositories.
7. Delivery and installation
Delivery is carried out through a secure server or by transferring an offline archive. SHA-256 is checked before unpacking. The installer re-validates the internal manifest, installs dependencies, applies migrations, and performs quick testing.
Installation results and logs are saved for diagnostic purposes. If an error occurs, the containers stop and the data is not automatically deleted.
8. System update
The current update process is a controlled administrative operation:
- commit installed version;
- check free space and system status;
- create and check a backup copy;
- obtain an identified set of the new version;
- check checksums and release notes;
- check data schema compatibility;
- apply migrations in a separate step;
- switch containers to a new version;
- perform health-check and smoke-test;
- record the result of the update.
Automatic updating from the user interface is a promising feature. Before its release, the update is performed by the system administrator according to approved instructions.
9. Managing migrations and rollbacks
Core runs only with a compatible database schema. If the schema is behind the application version, startup is blocked until the migrations are applied.
Before updating, the possibility of a reversible rollback is determined. For expand-narrow changes (compatible migrations), the previous version may temporarily run on the new schema. For an incompatible change, rollback is performed only using a separate plan, restoring a verified backup.
10. Operation monitoring
The system state is monitored by:
/api/health;- container statuses;
- publishing and event processing metrics;
- Gateway queue depth;
- NATS state;
- Availability of PostgreSQL and S3;
- Core, Gateway and Infrastructure magazines;
- free disk space;
- device status.
Threshold values and alert routing are set in the operational regulations of a specific facility.
11. Registration and classification of requests
The hit should include time, version, user role, sequence of actions, actual and expected results, logs and screenshots if necessary.
| Priority | Example | Purpose of processing |
|---|---|---|
| Critical | system unavailable or data loss | immediate diagnosis and recovery |
| High | The main operator function does not work | workaround or fix in priority release |
| Medium | partial defect without stopping work | fix in planned release |
| Low | improving usability or documentation | inclusion in the product plan |
Specific time frames for response and recovery are established by the support agreement.
12. Troubleshooting
The elimination process includes:
- registration of appeal;
- saving the original state and logs;
- influence classification;
- playback on a safe stand;
- localization of the cause;
- preparing a fix;
- regression tests;
- release of a revised version;
- installation according to an agreed window;
- confirmation of the result by the user;
- updating the knowledge base.
Manual changes to data are allowed only according to an agreed procedure with a backup copy, command log and subsequent verification.
13. Backup and restore
Business data includes a PostgreSQL database and media in S3-compatible storage.
Recommended baseline schedule:
- database - daily;
- full copy of media - weekly;
- test restoration - after changing the procedure and periodically according to operational regulations.
The copy is considered verified only after restoration to a temporary environment and verification of control counters. Media is verified against SHA-256 and the final manifest digest.
14. Security management
The support process includes:
- updating base images and dependencies;
- vulnerability analysis;
- rotation of secrets;
- checking user rights;
- audit of administrative actions;
- control of data storage periods;
- exclusion of secrets and personal data from public reports;
- documenting security patches.
Critical security updates may be released outside of the scheduled cycle.
15. Software improvements
Improvements are generated from user requests, observability results, interface and product plan audits. For each improvement, the user's problem, target result, limitations, and verification method are recorded.
Future development areas include automated updates, development of home screen templates, additional integrations, charging infrastructure and commercial modules. They are not considered features of the current version until a separate release.
16. Documentation
When behavior changes, the following are updated:
- installation instructions;
- description of functional characteristics;
- instruction manual;
- runbook for administrators;
- OpenAPI and event contracts;
- release notes;
- backup and restore instructions.
The documentation stores the current date and the version identifier to which it refers.
17. Personnel required for escort
| Role | Core competencies | Typical tasks |
|---|---|---|
| System Administrator | Ubuntu, Docker Compose, network, TLS, backups | installation, update, monitoring, recovery |
| CShark Administrator | roles, topology, devices, settings | configuration and user support |
| Support Specialist | Web/API diagnostics, log collection, communication | registration and initial processing of requests |
| Backend developer | Python, FastAPI, PostgreSQL, NATS, migrations | fixing business logic and integrations |
| Frontend developer | TypeScript, React, Web interfaces | correction and development of user scripts |
| Quality Engineer | test design, API/UI and regression checks | confirmation of fixes and releases |
| DevOps Engineer | CI/CD, images, observability, supply chain | assembly and reproducibility of delivery |
| Information Security Specialist | vulnerability management, auditing, data protection | risk assessment and control of protective measures |
| Analyst or Product Owner | requirements and acceptance | prioritization and control of results |
In a small team, one specialist can combine roles if he has the necessary competencies. For normal operation of the object, a system administrator and a CShark administrator are minimally required; developers and a quality engineer are involved in fixing and releasing new versions.
18. Version deprecation
Before support is discontinued, users are provided with information about the latest supported version, known limitations, and migration path. Before the instance is deleted, the required data is exported, backups are performed, and integration keys are revoked. Support and notification periods are determined by the contract and release policy.